summaryrefslogtreecommitdiff
path: root/libs/assimp/scripts
diff options
context:
space:
mode:
authorsanine <sanine.not@pm.me>2023-02-12 23:53:22 -0600
committersanine <sanine.not@pm.me>2023-02-12 23:53:22 -0600
commitf1fe73d1909a2448a004a88362a1a532d0d4f7c3 (patch)
treeab37ae3837e2f858de2932bcee9f26e69fab3db1 /libs/assimp/scripts
parentf567ea1e2798fd3156a416e61f083ea3e6b95719 (diff)
switch to tinyobj and nanovg from assimp and cairo
Diffstat (limited to 'libs/assimp/scripts')
-rw-r--r--libs/assimp/scripts/BlenderImporter/BlenderScene.cpp.template56
-rw-r--r--libs/assimp/scripts/BlenderImporter/BlenderSceneGen.h.template55
-rw-r--r--libs/assimp/scripts/BlenderImporter/genblenddna.py299
-rw-r--r--libs/assimp/scripts/OgreImporter/assimp.tpl10
-rw-r--r--libs/assimp/scripts/StepImporter/CppGenerator.py304
-rw-r--r--libs/assimp/scripts/StepImporter/ExpressReader.py123
-rw-r--r--libs/assimp/scripts/StepImporter/IFCReaderGen.cpp.template78
-rw-r--r--libs/assimp/scripts/StepImporter/IFCReaderGen.h.template91
-rw-r--r--libs/assimp/scripts/StepImporter/StepReaderGen.cpp.template78
-rw-r--r--libs/assimp/scripts/StepImporter/StepReaderGen.h.template90
-rw-r--r--libs/assimp/scripts/StepImporter/extract_step_token.py64
-rw-r--r--libs/assimp/scripts/StepImporter/genentitylist.sh3
-rw-r--r--libs/assimp/scripts/StepImporter/ifc_entitylist.txt111
-rw-r--r--libs/assimp/scripts/StepImporter/part403ts_wg3n2635mim_lf.exp16378
-rw-r--r--libs/assimp/scripts/StepImporter/schema_ap203e2_mim_lf.exp16378
-rw-r--r--libs/assimp/scripts/StepImporter/schema_ifc2x3.exp9571
-rw-r--r--libs/assimp/scripts/StepImporter/step_entitylist.txt1015
-rw-r--r--libs/assimp/scripts/adjust_header_paths.sh38
-rw-r--r--libs/assimp/scripts/android_crosscompile/make_android.bat28
19 files changed, 0 insertions, 44770 deletions
diff --git a/libs/assimp/scripts/BlenderImporter/BlenderScene.cpp.template b/libs/assimp/scripts/BlenderImporter/BlenderScene.cpp.template
deleted file mode 100644
index 3915281..0000000
--- a/libs/assimp/scripts/BlenderImporter/BlenderScene.cpp.template
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
-Open Asset Import Library (ASSIMP)
-----------------------------------------------------------------------
-
-Copyright (c) 2006-2020, ASSIMP Development Team
-All rights reserved.
-
-Redistribution and use of this software 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 ASSIMP team, nor the names of its
- contributors may be used to endorse or promote products
- derived from this software without specific prior
- written permission of the ASSIMP Development Team.
-
-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
-OWNER 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.
-
-----------------------------------------------------------------------
-*/
-
-/** @file BlenderScene.cpp
- * @brief MACHINE GENERATED BY ./scripts/BlenderImporter/genblenddna.py
- */
-#include "AssimpPCH.h"
-#ifndef AI_BUILD_NO_BLEND_IMPORTER
-
-#include "BlenderDNA.h"
-#include "BlenderScene.h"
-#include "BlenderSceneGen.h"
-
-using namespace Assimp;
-using namespace Assimp::Blender;
-
-<HERE>
-
-#endif
diff --git a/libs/assimp/scripts/BlenderImporter/BlenderSceneGen.h.template b/libs/assimp/scripts/BlenderImporter/BlenderSceneGen.h.template
deleted file mode 100644
index f5b71c4..0000000
--- a/libs/assimp/scripts/BlenderImporter/BlenderSceneGen.h.template
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
-Open Asset Import Library (ASSIMP)
-----------------------------------------------------------------------
-
-Copyright (c) 2006-2020, ASSIMP Development Team
-All rights reserved.
-
-Redistribution and use of this software 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 ASSIMP team, nor the names of its
- contributors may be used to endorse or promote products
- derived from this software without specific prior
- written permission of the ASSIMP Development Team.
-
-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
-OWNER 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.
-
-----------------------------------------------------------------------
-*/
-
-/** @file BlenderSceneGen.h
- * @brief MACHINE GENERATED BY ./scripts/BlenderImporter/genblenddna.py
- */
-#ifndef INCLUDED_AI_BLEND_SCENEGEN_H
-#define INCLUDED_AI_BLEND_SCENEGEN_H
-
-namespace Assimp {
- namespace Blender {
-
-<HERE>
-
- }
-}
-
-#endif
diff --git a/libs/assimp/scripts/BlenderImporter/genblenddna.py b/libs/assimp/scripts/BlenderImporter/genblenddna.py
deleted file mode 100644
index 56e1b98..0000000
--- a/libs/assimp/scripts/BlenderImporter/genblenddna.py
+++ /dev/null
@@ -1,299 +0,0 @@
-#!/usr/bin/env python3
-# -*- Coding: UTF-8 -*-
-
-# ---------------------------------------------------------------------------
-# Open Asset Import Library (ASSIMP)
-# ---------------------------------------------------------------------------
-#
-# Copyright (c) 2006-2020, ASSIMP Development Team
-#
-# All rights reserved.
-#
-# Redistribution and use of this software 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 ASSIMP team, nor the names of its
-# contributors may be used to endorse or promote products
-# derived from this software without specific prior
-# written permission of the ASSIMP Development Team.
-#
-# 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
-# OWNER 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.
-# ---------------------------------------------------------------------------
-
-"""Generate BlenderSceneGen.h and BlenderScene.cpp from the
-data structures in BlenderScene.h to map from *any* DNA to
-*our* DNA"""
-
-import sys
-import os
-import re
-
-inputfile = os.path.join("..","..","code","BlenderScene.h")
-outputfile_gen = os.path.join("..","..","code","BlenderSceneGen.h")
-outputfile_src = os.path.join("..","..","code","BlenderScene.cpp")
-
-template_gen = "BlenderSceneGen.h.template"
-template_src = "BlenderScene.cpp.template"
-
-# workaround for stackoverflowing when reading the linked list of scene objects
-# with the usual approach. See embedded notes for details.
-Structure_Convert_Base_fullcode = """
-template <> void Structure::Convert<Base>( Base& dest, const FileDatabase& db ) const {
- // note: as per https://github.com/assimp/assimp/issues/128,
- // reading the Object linked list recursively is prone to stack overflow.
- // This structure converter is therefore an hand-written exception that
- // does it iteratively.
-
- const int initial_pos = db.reader->GetCurrentPos();
- std::pair<Base*, int> todo = std::make_pair(&dest, initial_pos);
- Base* saved_prev = NULL;
- while(true) {
- Base& cur_dest = *todo.first;
- db.reader->SetCurrentPos(todo.second);
-
- // we know that this is a double-linked, circular list which we never
- // traverse backwards, so don't bother resolving the back links.
- cur_dest.prev = NULL;
-
- ReadFieldPtr<ErrorPolicy_Warn>(cur_dest.object,"*object",db);
-
- // just record the offset of the blob data and allocate storage.
- // Does _not_ invoke Convert() recursively.
- const int old = db.reader->GetCurrentPos();
-
- // the return value of ReadFieldPtr indicates whether the object
- // was already cached. In this case, we don't need to resolve
- // it again.
- if(!ReadFieldPtr<ErrorPolicy_Warn>(cur_dest.next,"*next",db, true) && cur_dest.next) {
- todo = std::make_pair(&*cur_dest.next, db.reader->GetCurrentPos());
- continue;
- }
- break;
- }
-
- db.reader->SetCurrentPos(initial_pos + size);
-}
-
-"""
-
-
-Structure_Convert_decl = """
-template <> void Structure :: Convert<{a}> (
- {a}& dest,
- const FileDatabase& db
- ) const
-"""
-
-
-Structure_Convert_ptrdecl = """
- ReadFieldPtr<{policy}>({destcast}dest.{name_canonical},"{name_dna}",db);"""
-
-Structure_Convert_rawptrdecl = """
- {{
- boost::shared_ptr<{type}> {name_canonical};
- ReadFieldPtr<{policy}>({destcast}{name_canonical},"{name_dna}",db);
- dest.{name_canonical} = {name_canonical}.get();
- }}"""
-
-Structure_Convert_arraydecl = """
- ReadFieldArray<{policy}>({destcast}dest.{name_canonical},"{name_dna}",db);"""
-
-Structure_Convert_arraydecl2d = """
- ReadFieldArray2<{policy}>({destcast}dest.{name_canonical},"{name_dna}",db);"""
-
-Structure_Convert_normal = """
- ReadField<{policy}>({destcast}dest.{name_canonical},"{name_dna}",db);"""
-
-
-DNA_RegisterConverters_decl = """
-void DNA::RegisterConverters() """
-
-DNA_RegisterConverters_add = """
- converters["{a}"] = DNA::FactoryPair( &Structure::Allocate<{a}>, &Structure::Convert<{a}> );"""
-
-
-map_policy = {
- "" : "ErrorPolicy_Igno"
- ,"IGNO" : "ErrorPolicy_Igno"
- ,"WARN" : "ErrorPolicy_Warn"
- ,"FAIL" : "ErrorPolicy_Fail"
-}
-
-#
-def main():
-
- # -----------------------------------------------------------------------
- # Parse structure definitions from BlenderScene.h
- input = open(inputfile,"rt").read()
-
- #flags = re.ASCII|re.DOTALL|re.MULTILINE
- flags = re.DOTALL|re.MULTILINE
- #stripcoms = re.compile(r"/\*(.*?)*\/",flags)
- getstruct = re.compile(r"struct\s+(\w+?)\s*(:\s*ElemBase)?\s*\{(.*?)^\}\s*;",flags)
- getsmartx = re.compile(r"(std\s*::\s*)?(vector)\s*<\s*(boost\s*::\s*)?shared_(ptr)\s*<\s*(\w+)\s*>\s*>\s*",flags)
- getsmartp = re.compile(r"(boost\s*::\s*)?shared_(ptr)\s*<\s*(\w+)\s*>\s*",flags)
- getrawp = re.compile(r"(\w+)\s*\*\s*",flags)
- getsmarta = re.compile(r"(std\s*::\s*)?(vector)\s*<\s*(\w+)\s*>\s*",flags)
- getpolicy = re.compile(r"\s*(WARN|FAIL|IGNO)",flags)
- stripenum = re.compile(r"enum\s+(\w+)\s*{.*?\}\s*;",flags)
-
- assert getsmartx and getsmartp and getsmarta and getrawp and getpolicy and stripenum
-
- enums = set()
- #re.sub(stripcoms," ",input)
- #print(input)
-
- hits = {}
- while 1:
- match = re.search(getstruct,input)
- if match is None:
- break
-
- tmp = match.groups()[2]
- while 1:
- match2 = re.search(stripenum,tmp)
- if match2 is None:
- break
- tmp = tmp[match2.end():]
- enums.add(match2.groups()[0])
-
- hits[match.groups()[0]] = list(
- filter(lambda x:x[:2] != "//" and len(x),
- map(str.strip,
- re.sub(stripenum," ",match.groups()[2]).split(";")
- )))
-
- input = input[match.end():]
-
- for e in enums:
- print("Enum: "+e)
- for k,v in hits.items():
- out = []
- for line in v:
-
- policy = "IGNO"
- py = re.search(getpolicy,line)
- if not py is None:
- policy = py.groups()[0]
- line = re.sub(getpolicy,"",line)
-
- ty = re.match(getsmartx,line) or re.match(getsmartp,line) or\
- re.match(getsmarta,line) or re.match(getrawp,line)
-
- if ty is None:
- ty = line.split(None,1)[0]
- else:
- if len(ty.groups()) == 1:
- ty = ty.groups()[-1] + "$"
- elif ty.groups()[1] == "ptr":
- ty = ty.groups()[2] + "*"
- elif ty.groups()[1] == "vector":
- ty = ty.groups()[-1] + ("*" if len(ty.groups()) == 3 else "**")
- else:
- assert False
-
- #print(line)
- sp = line.split(',')
- out.append((ty,sp[0].split(None)[-1].strip(),policy))
- for m in sp[1:]:
- out.append((ty,m.strip(),policy))
-
- v[:] = out
- print("Structure {0}".format(k))
- for elem in out:
- print("\t"+"\t".join(elem))
- print("")
-
-
- output = open(outputfile_gen,"wt")
- templt = open(template_gen,"rt").read()
- s = ""
-
- # -----------------------------------------------------------------------
- # Structure::Convert<T> declarations for all supported structures
- for k,v in hits.items():
- s += Structure_Convert_decl.format(a=k)+";\n";
- output.write(templt.replace("<HERE>",s))
-
- output = open(outputfile_src,"wt")
- templt = open(template_src,"rt").read()
- s = ""
-
- # -----------------------------------------------------------------------
- # Structure::Convert<T> definitions for all supported structures
- for k,v in hits.items():
- s += "//" + "-"*80
- if k == 'Base':
- s += Structure_Convert_Base_fullcode
- continue
- s += Structure_Convert_decl.format(a=k)+ "{ \n";
-
- for type, name, policy in v:
- splits = name.split("[",1)
- name_canonical = splits[0]
- #array_part = "" if len(splits)==1 else "["+splits[1]
- is_raw_ptr = not not type.count("$")
- ptr_decl = "*"*(type.count("*") + (1 if is_raw_ptr else 0))
-
- name_dna = ptr_decl+name_canonical #+array_part
-
- #required = "false"
- policy = map_policy[policy]
- destcast = "(int&)" if type in enums else ""
-
- # POINTER
- if is_raw_ptr:
- type = type.replace('$','')
- s += Structure_Convert_rawptrdecl.format(**locals())
- elif ptr_decl:
- s += Structure_Convert_ptrdecl.format(**locals())
- # ARRAY MEMBER
- elif name.count('[')==1:
- s += Structure_Convert_arraydecl.format(**locals())
- elif name.count('[')==2:
- s += Structure_Convert_arraydecl2d.format(**locals())
- # NORMAL MEMBER
- else:
- s += Structure_Convert_normal.format(**locals())
-
- s += "\n\n\tdb.reader->IncPtr(size);\n}\n\n"
-
-
- # -----------------------------------------------------------------------
- # DNA::RegisterConverters - collect all available converter functions
- # in a std::map<name,converter_proc>
- #s += "#if 0\n"
- s += "//" + "-"*80 + DNA_RegisterConverters_decl + "{\n"
- for k,v in hits.items():
- s += DNA_RegisterConverters_add.format(a=k)
-
- s += "\n}\n"
- #s += "#endif\n"
-
- output.write(templt.replace("<HERE>",s))
-
- # we got here, so no error
- return 0
-
-if __name__ == "__main__":
- sys.exit(main())
diff --git a/libs/assimp/scripts/OgreImporter/assimp.tpl b/libs/assimp/scripts/OgreImporter/assimp.tpl
deleted file mode 100644
index a7954c7..0000000
--- a/libs/assimp/scripts/OgreImporter/assimp.tpl
+++ /dev/null
@@ -1,10 +0,0 @@
-
-material %_materialName
-{
- set $specular %_specular
- set $diffuse %_diffuse
- set $ambient %_ambient
-
- set $colormap %color._texture
- set $normalmap %normal._texture
-}
diff --git a/libs/assimp/scripts/StepImporter/CppGenerator.py b/libs/assimp/scripts/StepImporter/CppGenerator.py
deleted file mode 100644
index b6c8ed5..0000000
--- a/libs/assimp/scripts/StepImporter/CppGenerator.py
+++ /dev/null
@@ -1,304 +0,0 @@
-#!/usr/bin/env python3
-# -*- Coding: UTF-8 -*-
-
-# ---------------------------------------------------------------------------
-# Open Asset Import Library (ASSIMP)
-# ---------------------------------------------------------------------------
-#
-# Copyright (c) 2006-2020, ASSIMP Development Team
-#
-# All rights reserved.
-#
-# Redistribution and use of this software 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 ASSIMP team, nor the names of its
-# contributors may be used to endorse or promote products
-# derived from this software without specific prior
-# written permission of the ASSIMP Development Team.
-#
-# 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
-# OWNER 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.
-# ---------------------------------------------------------------------------
-
-"""Generate the C++ glue code needed to map EXPRESS to C++"""
-
-import sys, os, re
-
-if sys.version_info < (3, 0):
- print("must use python 3.0 or greater")
- sys.exit(-2)
-
-use_ifc_template = False
-
-input_step_template_h = 'StepReaderGen.h.template'
-input_step_template_cpp = 'StepReaderGen.cpp.template'
-input_ifc_template_h = 'IFCReaderGen.h.template'
-input_ifc_template_cpp = 'IFCReaderGen.cpp.template'
-
-cpp_keywords = "class"
-
-output_file_h = ""
-output_file_cpp = ""
-if (use_ifc_template ):
- input_template_h = input_ifc_template_h
- input_template_cpp = input_ifc_template_cpp
- output_file_h = os.path.join('..','..','code','IFCReaderGen.h')
- output_file_cpp = os.path.join('..','..','code','IFCReaderGen.cpp')
-else:
- input_template_h = input_step_template_h
- input_template_cpp = input_step_template_cpp
- output_file_h = os.path.join('..','..','code/Importer/StepFile','StepReaderGen.h')
- output_file_cpp = os.path.join('..','..','code/Importer/StepFile','StepReaderGen.cpp')
-
-template_entity_predef = '\tstruct {entity};\n'
-template_entity_predef_ni = '\ttypedef NotImplemented {entity}; // (not currently used by Assimp)\n'
-template_entity = r"""
-
- // C++ wrapper for {entity}
- struct {entity} : {parent} ObjectHelper<{entity},{argcnt}> {{ {entity}() : Object("{entity}") {{}}
-{fields}
- }};"""
-
-template_entity_ni = ''
-
-template_type = r"""
- // C++ wrapper type for {type}
- typedef {real_type} {type};"""
-
-template_stub_decl = '\tDECL_CONV_STUB({type});\n'
-template_schema = '\t\tSchemaEntry("{normalized_name}",&STEP::ObjectHelper<{type},{argcnt}>::Construct )\n'
-template_schema_type = '\t\tSchemaEntry("{normalized_name}",nullptr )\n'
-template_converter = r"""
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<{type}>(const DB& db, const LIST& params, {type}* in)
-{{
-{contents}
-}}"""
-
-template_converter_prologue_a = '\tsize_t base = GenericFill(db,params,static_cast<{parent}*>(in));\n'
-template_converter_prologue_b = '\tsize_t base = 0;\n'
-template_converter_check_argcnt = '\tif (params.GetSize() < {max_arg}) {{ throw STEP::TypeError("expected {max_arg} arguments to {name}"); }}'
-template_converter_code_per_field = r""" do {{ // convert the '{fieldname}' argument
- std::shared_ptr<const DataType> arg = params[base++];{handle_unset}{convert}
- }} while(0);
-"""
-template_allow_optional = r"""
- if (dynamic_cast<const UNSET*>(&*arg)) break;"""
-template_allow_derived = r"""
- if (dynamic_cast<const ISDERIVED*>(&*arg)) {{ in->ObjectHelper<Assimp::IFC::{type},{argcnt}>::aux_is_derived[{argnum}]=true; break; }}"""
-template_convert_single = r"""
- try {{ GenericConvert( in->{name}, arg, db ); break; }}
- catch (const TypeError& t) {{ throw TypeError(t.what() + std::string(" - expected argument {argnum} to {classname} to be a `{full_type}`")); }}"""
-
-template_converter_omitted = '// this data structure is not used yet, so there is no code generated to fill its members\n'
-template_converter_epilogue = '\treturn base;'
-
-import ExpressReader
-
-def get_list_bounds(collection_spec):
- start,end = [(int(n) if n!='?' else 0) for n in re.findall(r'(\d+|\?)',collection_spec)]
- return start,end
-
-def get_cpp_type(field,schema):
- isobjref = field.type in schema.entities
- base = field.type
- if isobjref:
- base = 'Lazy< '+(base if base in schema.whitelist else 'NotImplemented')+' >'
- if field.collection:
- start,end = get_list_bounds(field.collection)
- base = 'ListOf< {0}, {1}, {2} >'.format(base,start,end)
- if not isobjref:
- base += '::Out'
- if field.optional:
- base = 'Maybe< '+base+' >'
-
- return base
-
-def generate_fields(entity,schema):
- fields = []
- for e in entity.members:
- fields.append('\t\t{type} {name};'.format(type=get_cpp_type(e,schema),name=e.name))
- return '\n'.join(fields)
-
-def handle_unset_args(field,entity,schema,argnum):
- n = ''
- # if someone derives from this class, check for derived fields.
- if any(entity.name==e.parent for e in schema.entities.values()):
- n += template_allow_derived.format(type=entity.name,argcnt=len(entity.members),argnum=argnum)
-
- if not field.optional:
- return n+''
- return n+template_allow_optional.format()
-
-def get_single_conversion(field,schema,argnum=0,classname='?'):
- name = field.name
- return template_convert_single.format(name=name,argnum=argnum,classname=classname,full_type=field.fullspec)
-
-def count_args_up(entity,schema):
- return len(entity.members) + (count_args_up(schema.entities[entity.parent],schema) if entity.parent else 0)
-
-def resolve_base_type(base,schema):
- if base in ('INTEGER','REAL','STRING','ENUMERATION','BOOLEAN','NUMBER', 'SELECT','LOGICAL'):
- return base
- if base in schema.types:
- return resolve_base_type(schema.types[base].equals,schema)
- print(base)
- return None
-
-def gen_type_struct(typen,schema):
- base = resolve_base_type(typen.equals,schema)
- if not base:
- return ''
-
- if typen.aggregate:
- start,end = get_list_bounds(typen.aggregate)
- base = 'ListOf< {0}, {1}, {2} >'.format(base,start,end)
-
- return template_type.format(type=typen.name,real_type=base)
-
-def gen_converter(entity,schema):
- max_arg = count_args_up(entity,schema)
- arg_idx = arg_idx_ofs = max_arg - len(entity.members)
-
- code = template_converter_prologue_a.format(parent=entity.parent) if entity.parent else template_converter_prologue_b
- if entity.name in schema.blacklist_partial:
- return code+template_converter_omitted+template_converter_epilogue;
-
- if max_arg > 0:
- code +=template_converter_check_argcnt.format(max_arg=max_arg,name=entity.name)
-
- for field in entity.members:
- code += template_converter_code_per_field.format(fieldname=field.name,
- handle_unset=handle_unset_args(field,entity,schema,arg_idx-arg_idx_ofs),
- convert=get_single_conversion(field,schema,arg_idx,entity.name))
-
- arg_idx += 1
- return code+template_converter_epilogue
-
-def get_base_classes(e,schema):
- def addit(e,out):
- if e.parent:
- out.append(e.parent)
- addit(schema.entities[e.parent],out)
- res = []
- addit(e,res)
- return list(reversed(res))
-
-def get_derived(e,schema):
- def get_deriv(e,out): # bit slow, but doesn't matter here
- s = [ee for ee in schema.entities.values() if ee.parent == e.name]
- for sel in s:
- out.append(sel.name)
- get_deriv(sel,out)
- res = []
- get_deriv(e,res)
- return res
-
-def get_hierarchy(e,schema):
- return get_derived(e, schema)+[e.name]+get_base_classes(e,schema)
-
-def sort_entity_list(schema):
- deps = []
- entities = schema.entities
- for e in entities.values():
- deps += get_base_classes(e,schema)+[e.name]
-
- checked = []
- for e in deps:
- if e not in checked:
- checked.append(e)
- return [entities[e] for e in checked]
-
-def work(filename):
- schema = ExpressReader.read(filename,silent=True)
- entities, stub_decls, schema_table, converters, typedefs, predefs = '','',[],'','',''
-
- entitylist = 'ifc_entitylist.txt'
- if not use_ifc_template:
- entitylist = 'step_entitylist.txt'
- whitelist = []
- with open(entitylist, 'rt') as inp:
- whitelist = [n.strip() for n in inp.read().split('\n') if n[:1]!='#' and n.strip()]
-
- schema.whitelist = set()
- schema.blacklist_partial = set()
- for ename in whitelist:
- try:
- e = schema.entities[ename]
- except KeyError:
- # type, not entity
- continue
- for base in [e.name]+get_base_classes(e,schema):
- schema.whitelist.add(base)
- for base in get_derived(e,schema):
- schema.blacklist_partial.add(base)
-
- schema.blacklist_partial -= schema.whitelist
- schema.whitelist |= schema.blacklist_partial
-
- # Generate list with reserved keywords from c++
- cpp_types = cpp_keywords.split(',')
-
- # uncomment this to disable automatic code reduction based on whitelisting all used entities
- # (blacklisted entities are those who are in the whitelist and may be instanced, but will
- # only be accessed through a pointer to a base-class.
- #schema.whitelist = set(schema.entities.keys())
- #schema.blacklist_partial = set()
- for ntype in schema.types.values():
- typedefs += gen_type_struct(ntype,schema)
- schema_table.append(template_schema_type.format(normalized_name=ntype.name.lower()))
-
- sorted_entities = sort_entity_list(schema)
- for entity in sorted_entities:
- parent = entity.parent+',' if entity.parent else ''
-
- if ( entity.name in cpp_types ):
- entity.name = entity.name + "_t"
- print( "renaming " + entity.name)
- if entity.name in schema.whitelist:
- converters += template_converter.format(type=entity.name,contents=gen_converter(entity,schema))
- schema_table.append(template_schema.format(type=entity.name,normalized_name=entity.name.lower(),argcnt=len(entity.members)))
- entities += template_entity.format(entity=entity.name,argcnt=len(entity.members),parent=parent,fields=generate_fields(entity,schema))
- predefs += template_entity_predef.format(entity=entity.name)
- stub_decls += template_stub_decl.format(type=entity.name)
- else:
- entities += template_entity_ni.format(entity=entity.name)
- predefs += template_entity_predef_ni.format(entity=entity.name)
- schema_table.append(template_schema.format(type="NotImplemented",normalized_name=entity.name.lower(),argcnt=0))
-
- schema_table = ','.join(schema_table)
-
- with open(input_template_h,'rt') as inp:
- with open(output_file_h,'wt') as outp:
- # can't use format() here since the C++ code templates contain single, unescaped curly brackets
- outp.write(inp.read().replace('{predefs}',predefs).replace('{types}',typedefs).replace('{entities}',entities).replace('{converter-decl}',stub_decls))
-
- with open(input_template_cpp,'rt') as inp:
- with open(output_file_cpp,'wt') as outp:
- outp.write(inp.read().replace('{schema-static-table}',schema_table).replace('{converter-impl}',converters))
-
- # Finished without error, so return 0
- return 0
-
-if __name__ == "__main__":
- sys.exit(work(sys.argv[1] if len(sys.argv)>1 else 'schema.exp'))
diff --git a/libs/assimp/scripts/StepImporter/ExpressReader.py b/libs/assimp/scripts/StepImporter/ExpressReader.py
deleted file mode 100644
index 9cb3b72..0000000
--- a/libs/assimp/scripts/StepImporter/ExpressReader.py
+++ /dev/null
@@ -1,123 +0,0 @@
-#!/usr/bin/env python3
-# -*- Coding: UTF-8 -*-
-
-# ---------------------------------------------------------------------------
-# Open Asset Import Library (ASSIMP)
-# ---------------------------------------------------------------------------
-#
-# Copyright (c) 2006-2020, ASSIMP Development Team
-#
-# All rights reserved.
-#
-# Redistribution and use of this software 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 ASSIMP team, nor the names of its
-# contributors may be used to endorse or promote products
-# derived from this software without specific prior
-# written permission of the ASSIMP Development Team.
-#
-# 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
-# OWNER 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.
-# ---------------------------------------------------------------------------
-
-"""Parse an EXPRESS file and extract basic information on all
-entities and data types contained"""
-
-import sys
-import re
-from collections import OrderedDict
-
-re_match_entity = re.compile(r"""
-ENTITY\s+(\w+)\s* # 'ENTITY foo'
-.*? # skip SUPERTYPE-of
-(?:SUBTYPE\s+OF\s+\((\w+)\))?; # 'SUBTYPE OF (bar);' or simply ';'
-(.*?) # 'a : atype;' (0 or more lines like this)
-(?:(?:INVERSE|UNIQUE|WHERE)\s*$.*?)? # skip the INVERSE, UNIQUE, WHERE clauses and everything behind
-END_ENTITY;
-""",re.VERBOSE|re.DOTALL|re.MULTILINE)
-
-re_match_type = re.compile(r"""
-TYPE\s+(\w+?)\s*=\s*((?:LIST|SET)\s*\[\d+:[\d?]+\]\s*OF)?(?:\s*UNIQUE)?\s*(\w+) # TYPE foo = LIST[1:2] of blub
-(?:(?<=ENUMERATION)\s*OF\s*\((.*?)\))?
-.*? # skip the WHERE clause
-END_TYPE;
-""",re.VERBOSE|re.DOTALL)
-
-re_match_field = re.compile(r"""
-\s+(\w+?)\s*:\s*(OPTIONAL)?\s*((?:LIST|SET)\s*\[\d+:[\d?]+\]\s*OF)?(?:\s*UNIQUE)?\s*(\w+?);
-""",re.VERBOSE|re.DOTALL)
-
-
-class Schema:
- def __init__(self):
- self.entities = OrderedDict()
- self.types = OrderedDict()
-
-class Entity:
- def __init__(self,name,parent,members):
- self.name = name
- self.parent = parent
- self.members = members
-
-class Field:
- def __init__(self,name,type,optional,collection):
- self.name = name
- self.type = type
- self.optional = optional
- self.collection = collection
- self.fullspec = (self.collection+' ' if self.collection else '') + self.type
-
-class Type:
- def __init__(self,name,aggregate,equals,enums):
- self.name = name
- self.aggregate = aggregate
- self.equals = equals
- self.enums = enums
-
-
-def read(filename, silent=False):
- schema = Schema()
- print( "Try to read EXPRESS schema file" + filename)
- with open(filename,'rt') as inp:
- contents = inp.read()
- types = re.findall(re_match_type,contents)
- for name,aggregate,equals,enums in types:
- schema.types[name] = Type(name,aggregate,equals,enums)
-
- entities = re.findall(re_match_entity,contents)
- for name,parent,fields_raw in entities:
- print('process entity {0}, parent is {1}'.format(name,parent)) if not silent else None
- fields = re.findall(re_match_field,fields_raw)
- members = [Field(name,type,opt,coll) for name, opt, coll, type in fields]
- print(' got {0} fields'.format(len(members))) if not silent else None
-
- schema.entities[name] = Entity(name,parent,members)
- return schema
-
-if __name__ == "__main__":
- sys.exit(read(sys.argv[1] if len(sys.argv)>1 else 'schema.exp'))
-
-
-
-
-
diff --git a/libs/assimp/scripts/StepImporter/IFCReaderGen.cpp.template b/libs/assimp/scripts/StepImporter/IFCReaderGen.cpp.template
deleted file mode 100644
index de1063d..0000000
--- a/libs/assimp/scripts/StepImporter/IFCReaderGen.cpp.template
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
-Open Asset Import Library (ASSIMP)
-----------------------------------------------------------------------
-
-Copyright (c) 2006-2020, ASSIMP Development Team
-All rights reserved.
-
-Redistribution and use of this software 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 ASSIMP team, nor the names of its
- contributors may be used to endorse or promote products
- derived from this software without specific prior
- written permission of the ASSIMP Development Team.
-
-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
-OWNER 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.
-
-----------------------------------------------------------------------
-*/
-
-/** MACHINE-GENERATED by scripts/ICFImporter/CppGenerator.py */
-
-#ifndef ASSIMP_BUILD_NO_IFC_IMPORTER
-
-#include "IFCReaderGen.h"
-
-namespace Assimp {
-using namespace IFC;
-
-namespace {
-
- typedef EXPRESS::ConversionSchema::SchemaEntry SchemaEntry;
- const SchemaEntry schema_raw[] = {
-{schema-static-table}
- };
-}
-
-// -----------------------------------------------------------------------------------------------------------
-void IFC::GetSchema(EXPRESS::ConversionSchema& out)
-{
- out = EXPRESS::ConversionSchema(schema_raw);
-}
-
-namespace STEP {
-
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<NotImplemented>(const STEP::DB& db, const LIST& params, NotImplemented* in)
-{
- return 0;
-}
-
-
-{converter-impl}
-
-} // ! STEP
-} // ! Assimp
-
-#endif
diff --git a/libs/assimp/scripts/StepImporter/IFCReaderGen.h.template b/libs/assimp/scripts/StepImporter/IFCReaderGen.h.template
deleted file mode 100644
index 2cad154..0000000
--- a/libs/assimp/scripts/StepImporter/IFCReaderGen.h.template
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
-Open Asset Import Library (ASSIMP)
-----------------------------------------------------------------------
-
-Copyright (c) 2006-2020, ASSIMP Development Team
-All rights reserved.
-
-Redistribution and use of this software 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 ASSIMP team, nor the names of its
- contributors may be used to endorse or promote products
- derived from this software without specific prior
- written permission of the ASSIMP Development Team.
-
-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
-OWNER 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.
-
-----------------------------------------------------------------------
-*/
-
-/** MACHINE-GENERATED by scripts/ICFImporter/CppGenerator.py */
-
-#ifndef INCLUDED_IFC_READER_GEN_H
-#define INCLUDED_IFC_READER_GEN_H
-
-#include "STEPFile.h"
-
-namespace Assimp {
-namespace IFC {
- using namespace STEP;
- using namespace STEP::EXPRESS;
-
-
- struct NotImplemented : public ObjectHelper<NotImplemented,0> {
-
- };
-
-
- // ******************************************************************************
- // IFC Custom data types
- // ******************************************************************************
-
-{types}
-
-
- // ******************************************************************************
- // IFC Entities
- // ******************************************************************************
-
-{predefs}
-{entities}
-
- void GetSchema(EXPRESS::ConversionSchema& out);
-
-} //! IFC
-namespace STEP {
-
- // ******************************************************************************
- // Converter stubs
- // ******************************************************************************
-
-#define DECL_CONV_STUB(type) template <> size_t GenericFill<IFC::type>(const STEP::DB& db, const EXPRESS::LIST& params, IFC::type* in)
-
-{converter-decl}
-
-#undef DECL_CONV_STUB
-
-} //! STEP
-} //! Assimp
-
-#endif // INCLUDED_IFC_READER_GEN_H
diff --git a/libs/assimp/scripts/StepImporter/StepReaderGen.cpp.template b/libs/assimp/scripts/StepImporter/StepReaderGen.cpp.template
deleted file mode 100644
index 5bb9bb9..0000000
--- a/libs/assimp/scripts/StepImporter/StepReaderGen.cpp.template
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
-Open Asset Import Library (ASSIMP)
-----------------------------------------------------------------------
-
-Copyright (c) 2006-2020, ASSIMP Development Team
-All rights reserved.
-
-Redistribution and use of this software 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 ASSIMP team, nor the names of its
- contributors may be used to endorse or promote products
- derived from this software without specific prior
- written permission of the ASSIMP Development Team.
-
-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
-OWNER 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.
-
-----------------------------------------------------------------------
-*/
-
-/** MACHINE-GENERATED by scripts/ICFImporter/CppGenerator.py */
-
-#ifndef ASSIMP_BUILD_NO_STEP_IMPORTER
-
-#include "code/Importer/StepFile/StepReaderGen.h"
-
-namespace Assimp {
-using namespace StepFile;
-
-namespace {
-
- typedef EXPRESS::ConversionSchema::SchemaEntry SchemaEntry;
- const SchemaEntry schema_raw[] = {
-{schema-static-table}
- };
-}
-
-// -----------------------------------------------------------------------------------------------------------
-void StepFile::GetSchema(EXPRESS::ConversionSchema& out)
-{
- out = EXPRESS::ConversionSchema(schema_raw);
-}
-
-namespace STEP {
-
-// -----------------------------------------------------------------------------------------------------------
-template <> size_t GenericFill<NotImplemented>(const STEP::DB& db, const LIST& params, NotImplemented* in)
-{
- return 0u;
-}
-
-
-{converter-impl}
-
-} // ! STEP
-} // ! Assimp
-
-#endif
diff --git a/libs/assimp/scripts/StepImporter/StepReaderGen.h.template b/libs/assimp/scripts/StepImporter/StepReaderGen.h.template
deleted file mode 100644
index 51ba550..0000000
--- a/libs/assimp/scripts/StepImporter/StepReaderGen.h.template
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
-Open Asset Import Library (ASSIMP)
-----------------------------------------------------------------------
-
-Copyright (c) 2006-2020, ASSIMP Development Team
-All rights reserved.
-
-Redistribution and use of this software 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 ASSIMP team, nor the names of its
- contributors may be used to endorse or promote products
- derived from this software without specific prior
- written permission of the ASSIMP Development Team.
-
-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
-OWNER 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.
-
-----------------------------------------------------------------------
-*/
-
-/** MACHINE-GENERATED by scripts/ICFImporter/CppGenerator.py */
-
-#ifndef INCLUDED_STEPFILE_READER_GEN_H
-#define INCLUDED_STEPFILE_READER_GEN_H
-
-#include "code/STEPFile.h"
-
-namespace Assimp {
-namespace StepFile {
-
-using namespace STEP;
-using namespace STEP::EXPRESS;
-
-struct NotImplemented : public ObjectHelper<NotImplemented,0> {
-
-};
-
-// ******************************************************************************
-// StepFile Custom data types
-// ******************************************************************************
-
-{types}
-
-// ******************************************************************************
-// StepFile Entities
-// ******************************************************************************
-
-{predefs}
-{entities}
-
- void GetSchema(EXPRESS::ConversionSchema& out);
-
-} //! StepFile
-
-namespace STEP {
-
-// ******************************************************************************
-// Converter stubs
-// ******************************************************************************
-
-#define DECL_CONV_STUB(type) template <> size_t GenericFill<IFC::type>(const STEP::DB& db, const EXPRESS::LIST& params, IFC::type* in)
-
-{converter-decl}
-
-#undef DECL_CONV_STUB
-
-} //! STEP
-} //! Assimp
-
-#endif // INCLUDED_STEPFILE_READER_GEN_H
diff --git a/libs/assimp/scripts/StepImporter/extract_step_token.py b/libs/assimp/scripts/StepImporter/extract_step_token.py
deleted file mode 100644
index 106cf58..0000000
--- a/libs/assimp/scripts/StepImporter/extract_step_token.py
+++ /dev/null
@@ -1,64 +0,0 @@
-#!/usr/bin/env python3
-# -*- Coding: UTF-8 -*-
-
-# ---------------------------------------------------------------------------
-# Open Asset Import Library (ASSIMP)
-# ---------------------------------------------------------------------------
-#
-# Copyright (c) 2006-2020, ASSIMP Development Team
-#
-# All rights reserved.
-#
-# Redistribution and use of this software 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 ASSIMP team, nor the names of its
-# contributors may be used to endorse or promote products
-# derived from this software without specific prior
-# written permission of the ASSIMP Development Team.
-#
-# 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
-# OWNER 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 sys
-
-Entity_token = "ENTITY"
-Type_token = "TYPE"
-token = []
-file = open(sys.argv[1])
-output = open("step_entitylist.txt", "a")
-lines = file.readlines()
-for line in lines:
- pos = line.find(Entity_token)
- if pos != -1:
- token = line.split(" ")
- if len(token) > 1:
- name = token[1]
- print( "Writing entity " + name)
- output.write(name)
-
-output.close()
-file.close()
-
-
-
diff --git a/libs/assimp/scripts/StepImporter/genentitylist.sh b/libs/assimp/scripts/StepImporter/genentitylist.sh
deleted file mode 100644
index e51959d..0000000
--- a/libs/assimp/scripts/StepImporter/genentitylist.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-cd ../../code
-grep -E 'Ifc([A-Z][a-z]*)+' -o IFCLoader.cpp IFCGeometry.cpp IFCCurve.cpp IFCProfile.cpp IFCMaterial.cpp | uniq | sed s/.*:// > ../scripts/IFCImporter/output.txt
diff --git a/libs/assimp/scripts/StepImporter/ifc_entitylist.txt b/libs/assimp/scripts/StepImporter/ifc_entitylist.txt
deleted file mode 100644
index 14b05ca..0000000
--- a/libs/assimp/scripts/StepImporter/ifc_entitylist.txt
+++ /dev/null
@@ -1,111 +0,0 @@
-# ==============================================================================
-# List of IFC structures needed by Assimp
-# ==============================================================================
-# use genentitylist.sh to update this list
-
-# This machine-generated list is not complete, it lacks many intermediate
-# classes in the inheritance hierarchy. Those are magically augmented by the
-# code generator. Also, the names of all used entities need to be present
-# in the source code for this to work.
-
-IfcAnnotation
-IfcArbitraryClosedProfileDef
-IfcArbitraryOpenProfileDef
-IfcArbitraryProfileDefWithVoids
-IfcAxis1Placement
-IfcAxis2Placement
-IfcAxis2Placement2D
-IfcAxis2Placement3D
-IfcBooleanClippingResult
-IfcBooleanResult
-IfcBoundedCurve
-IfcBoundingBox
-IfcBSplineCurve
-IfcBuilding
-IfcCartesianPoint
-IfcCartesianTransformationOperator
-IfcCartesianTransformationOperator3D
-IfcCartesianTransformationOperator3DnonUniform
-IfcCircle
-IfcCircleHollowProfileDef
-IfcCircleProfileDef
-IfcClosedShell
-IfcColourOrFactor
-IfcColourRgb
-IfcCompositeCurve
-IfcCompositeCurveSegment
-IfcConic
-IfcConnectedFaceSet
-IfcConversionBasedUnit
-IfcCurve
-IfcDirection
-IfcDoor
-IfcEllipse
-IfcExtrudedAreaSolid
-IfcFace
-IfcFaceBasedSurfaceModel
-IfcFaceBound
-IfcFaceOuterBound
-IfcFeatureElementSubtraction
-IfcGeometricRepresentationContext
-IfcGeometricRepresentationItem
-IfcHalfSpaceSolid
-IfcLine
-IfcLocalPlacement
-IfcManifoldSolidBrep
-IfcMappedItem
-IfcMeasureWithUnit
-IfcNamedUnit
-IfcObjectDefinition
-IfcObjectPlacement
-IfcOpeningElement
-IfcParameterizedProfileDef
-IfcPlane
-IfcPolygonalBoundedHalfSpace
-IfcPolyline
-IfcPolyLoop
-IfcPresentationStyleAssignment
-IfcPresentationStyleSelect
-IfcProduct
-IfcProductRepresentation
-IfcProfileDef
-IfcProject
-IfcRectangleProfileDef
-IfcRelAggregates
-IfcRelContainedInSpatialStructure
-IfcRelFillsElement
-IfcRelVoidsElement
-IfcRepresentation
-IfcRepresentationContext
-IfcRepresentationItem
-IfcRepresentationMap
-IfcRevolvedAreaSolid
-IfcShell
-IfcShellBasedSurfaceModel
-IfcSite
-IfcSIUnit
-IfcSomething
-IfcSpace
-IfcSpatialStructureElement
-IfcSpatialStructureElements
-IfcStyledItem
-IfcSurfaceStyle
-IfcSurfaceStyleElementSelect
-IfcSurfaceStyleRendering
-IfcSurfaceStyleShading
-IfcSurfaceStyleWithTextures
-IfcSweptAreaSolid
-IfcSweptDiskSolid
-IfcTopologicalRepresentationItem
-IfcTrimmedCurve
-IfcUnit
-IfcUnitAssignment
-IfcVector
-IfcIShapeProfileDef
-IfcPropertyListValue
-IfcRelDefinesByProperties
-IfcPropertySet
-IfcPropertySingleValue
-IfcProperty
-IfcComplexProperty
-IfcElementQuantity
diff --git a/libs/assimp/scripts/StepImporter/part403ts_wg3n2635mim_lf.exp b/libs/assimp/scripts/StepImporter/part403ts_wg3n2635mim_lf.exp
deleted file mode 100644
index 7935304..0000000
--- a/libs/assimp/scripts/StepImporter/part403ts_wg3n2635mim_lf.exp
+++ /dev/null
@@ -1,16378 +0,0 @@
-(*
- $Id: mim_lf.exp,v 1.43 2009/09/10 20:08:09 darla Exp $
- ISO TC184/SC4/WG3 N2635 - ISO/TS 10303-403 AP203 configuration controlled 3d design of mechanical parts and assemblies - EXPRESS MIM Long form
- Supersedes ISO TC184/SC4/WG3 N2464
-*)
-
-SCHEMA Ap203_configuration_controlled_3d_design_of_mechanical_parts_and_assemblies_mim_lf;
-
-
-CONSTANT
- deprecated_constructed_data_types : SET [0:?] 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 [0:?] 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',
- 'start_request',
- 'start_work',
- 'supplied_part_relationship'];
-
-
- deprecated_interfaced_data_types : SET [0:?] 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'];
-
-
-
-END_CONSTANT;
-
-TYPE absorbed_dose_measure = REAL;
-END_TYPE;
-
-TYPE acceleration_measure = REAL;
-END_TYPE;
-
-TYPE action_items = SELECT (
- action_directive,
- certification_item,
- characterized_object,
- classification_item,
- configuration_effectivity,
- document_reference_item,
- identification_item,
- organization,
- person_and_organization,
- product_definition,
- product_definition_formation,
- product_definition_formation_relationship,
- product_definition_relationship,
- requirement_assigned_item);
-END_TYPE;
-
-TYPE action_method_items = SELECT (
- product,
- product_definition_formation);
-END_TYPE;
-
-TYPE action_request_item = SELECT (
- product_definition,
- product_definition_formation,
- product_definition_formation_relationship,
- product_definition_relationship,
- property_definition,
- versioned_action_request);
-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 (
- 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,
- composite_text);
-END_TYPE;
-
-TYPE approval_item = SELECT (
- action,
- action_directive,
- alternate_product_relationship,
- applied_action_assignment,
- applied_usage_right,
- assembly_component_usage_substitute,
- certification,
- configuration_effectivity,
- configuration_item,
- contract,
- date,
- directed_action,
- document,
- document_file,
- effectivity,
- executed_action,
- general_property_relationship,
- group,
- group_relationship,
- information_usage_right,
- product,
- product_definition,
- product_definition_formation,
- product_definition_formation_relationship,
- product_definition_relationship,
- representation,
- requirement_assignment,
- security_classification,
- shape_aspect_relationship,
- 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 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_language_item = SELECT (
- 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,
- date_role,
- date_time_role,
- descriptive_representation_item,
- document_relationship,
- document_usage_role,
- effectivity,
- effectivity_relationship,
- event_occurrence,
- external_source,
- general_property,
- general_property_relationship,
- geometric_representation_item,
- geometric_tolerance,
- identification_role,
- information_right,
- information_usage_right,
- make_from_usage_option,
- mapped_item,
- multi_language_attribute_assignment,
- object_role,
- organization_relationship,
- organization_role,
- organizational_project,
- organizational_project_relationship,
- organizational_project_role,
- person_and_organization,
- person_and_organization_role,
- product,
- product_concept,
- product_concept_relationship,
- product_definition,
- product_definition_context,
- product_definition_formation,
- product_definition_formation_relationship,
- product_definition_relationship,
- product_definition_shape,
- product_related_product_category,
- property_definition,
- representation,
- security_classification,
- security_classification_assignment,
- shape_aspect,
- shape_aspect_relationship,
- shape_representation,
- time_interval_role,
- topological_representation_item,
- uncertainty_measure_with_unit,
- uncertainty_qualifier,
- usage_association);
-END_TYPE;
-
-TYPE attribute_type = SELECT (
- label,
- text);
-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_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('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (
- solid_model,
- half_space_solid,
- csg_primitive,
- boolean_result);
-END_TYPE;
-
-TYPE boolean_operator = ENUMERATION OF (
- union,
- intersection,
- difference );
-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_formation,
- product_definition_formation_relationship);
-END_TYPE;
-
-TYPE certified_item = SELECT (
- supplied_part_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 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,
- effectivity,
- event_occurrence,
- executed_action,
- general_property,
- general_property_relationship,
- group,
- identification_assignment,
- information_right,
- information_usage_right,
- language,
- 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,
- product,
- product_concept,
- 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,
- security_classification,
- uncertainty_measure_with_unit,
- usage_association,
- versioned_action_request);
-END_TYPE;
-
-TYPE classified_item = SELECT (
- product,
- product_definition,
- product_definition_formation);
-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 (
- product_definition);
-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,
- 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_primitive = SELECT (
- sphere,
- block,
- right_angular_wedge,
- torus,
- right_circular_cone,
- right_circular_cylinder);
-END_TYPE;
-
-TYPE csg_select = SELECT (
- boolean_result,
- csg_primitive);
-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 (
- pcurve,
- surface_curve,
- composite_curve_on_surface);
-END_TYPE;
-
-TYPE curve_or_annotation_curve_occurrence = SELECT (
- curve,
- annotation_curve_occurrence);
-END_TYPE;
-
-TYPE curve_or_render = SELECT (
- curve_style,
- curve_style_rendering);
-END_TYPE;
-
-TYPE curve_style_font_select = SELECT (
- curve_style_font,
- pre_defined_curve_font,
- externally_defined_curve_font);
-END_TYPE;
-
-TYPE date_and_time_item = SELECT (
- action,
- action_directive,
- applied_action_assignment,
- applied_organization_assignment,
- applied_person_and_organization_assignment,
- applied_security_classification_assignment,
- approval_person_organization,
- certification,
- contract,
- directed_action,
- document,
- document_file,
- event_occurrence,
- executed_action,
- information_usage_right,
- organizational_project,
- product_definition,
- product_definition_formation,
- product_definition_relationship,
- rule_action,
- security_classification,
- versioned_action_request);
-END_TYPE;
-
-TYPE date_item = SELECT (
- action,
- action_directive,
- applied_action_assignment,
- applied_organization_assignment,
- applied_person_and_organization_assignment,
- applied_security_classification_assignment,
- approval_person_organization,
- certification,
- contract,
- directed_action,
- document,
- document_file,
- event_occurrence,
- executed_action,
- information_usage_right,
- organizational_project,
- product_definition,
- product_definition_formation,
- product_definition_relationship,
- security_classification,
- 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 day_in_month_number = INTEGER;
-WHERE
- WR1 : {1 <= SELF <= 31};
-END_TYPE;
-
-TYPE day_in_week_number = INTEGER;
-WHERE
- WR1 : { 1 <= SELF <= 7 };
-END_TYPE;
-
-TYPE day_in_year_number = INTEGER;
-WHERE
- WR1 : {1 <= SELF <= 366};
-END_TYPE;
-
-TYPE defined_symbol_select = SELECT (
- pre_defined_symbol,
- externally_defined_symbol);
-END_TYPE;
-
-TYPE derived_property_select = SELECT (
- property_definition,
- action_property);
-END_TYPE;
-
-TYPE description_attribute_select = SELECT (
- action_request_solution,
- application_context,
- approval_role,
- configuration_design,
- date_role,
- date_time_role,
- context_dependent_shape_representation,
- effectivity,
- external_source,
- organization_role,
- person_and_organization_role,
- person_and_organization,
- property_definition_representation,
- representation);
-END_TYPE;
-
-TYPE descriptive_measure = STRING;
-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_method,
- applied_external_identification_assignment,
- assembly_component_usage,
- characterized_class,
- characterized_object,
- configuration_item,
- descriptive_representation_item,
- dimensional_size,
- executed_action,
- externally_defined_dimension_definition,
- externally_defined_item,
- group,
- group_relationship,
- information_right,
- information_usage_right,
- material_designation,
- measure_representation_item,
- product,
- product_category,
- product_definition,
- product_definition_formation,
- product_definition_formation_relationship,
- product_definition_relationship,
- property_definition,
- representation,
- representation_item,
- rule_set,
- 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_text_occurrence,
- annotation_symbol_occurrence,
- annotation_curve_occurrence);
-END_TYPE;
-
-TYPE draughting_model_item_association_select = SELECT (
- annotation_occurrence,
- draughting_callout);
-END_TYPE;
-
-TYPE draughting_model_item_select = SELECT (
- mapped_item,
- styled_item,
- axis2_placement,
- camera_model,
- draughting_callout);
-END_TYPE;
-
-TYPE draughting_titled_item = SELECT (
- drawing_revision,
- drawing_sheet_revision);
-END_TYPE;
-
-TYPE effectivity_item = SELECT (
- assembly_component_usage_substitute,
- product,
- product_definition,
- product_definition_formation,
- product_definition_relationship,
- product_definition_substitute);
-END_TYPE;
-
-TYPE electric_charge_measure = REAL;
-END_TYPE;
-
-TYPE electric_current_measure = REAL;
-END_TYPE;
-
-TYPE electric_potential_measure = REAL;
-END_TYPE;
-
-TYPE energy_measure = REAL;
-END_TYPE;
-
-TYPE event_occurrence_item = SELECT (
- organizational_project);
-END_TYPE;
-
-TYPE external_identification_item = SELECT (
- action_relationship,
- action_request_status,
- applied_organization_assignment,
- applied_person_and_organization_assignment,
- approval,
- approval_status,
- 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,
- organizational_address,
- product_definition,
- security_classification,
- trimmed_curve,
- versioned_action_request);
-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_item_specific_usage_select = SELECT (
- shape_aspect,
- shape_aspect_relationship);
-END_TYPE;
-
-TYPE geometric_set_select = SELECT (
- point,
- curve,
- surface);
-END_TYPE;
-
-TYPE groupable_item = SELECT (
- 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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GROUP' IN TYPEOF(SELF));
-END_TYPE;
-
-TYPE hour_in_day = INTEGER;
-WHERE
- WR1 : { 0 <= SELF < 24 };
-END_TYPE;
-
-TYPE id_attribute_select = SELECT (
- action,
- address,
- product_category,
- property_definition,
- shape_aspect,
- shape_aspect_relationship,
- application_context,
- group,
- organizational_project,
- representation);
-END_TYPE;
-
-TYPE identification_item = SELECT (
- approval_status,
- characterized_class,
- class,
- configuration_item,
- contract,
- dimensional_size,
- document_file,
- general_property,
- group,
- group_relationship,
- information_right,
- information_usage_right,
- material_designation,
- organization,
- person_and_organization,
- product,
- product_category,
- product_class,
- product_concept,
- product_concept_feature,
- product_definition,
- product_definition_formation,
- product_identification,
- representation,
- rule_set,
- security_classification,
- security_classification_level,
- shape_aspect_relationship,
- shape_representation,
- usage_association);
-END_TYPE;
-
-TYPE identifier = STRING;
-END_TYPE;
-
-TYPE illuminance_measure = REAL;
-END_TYPE;
-
-TYPE inductance_measure = REAL;
-END_TYPE;
-
-TYPE instance_usage_context_select = SELECT (
- product_definition_relationship,
- product_definition_usage);
-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;
-WHERE
- wr1 : NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONFIGURATION_EFFECTIVITY' IN TYPEOF(SELF));
-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 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 luminous_flux_measure = REAL;
-END_TYPE;
-
-TYPE luminous_intensity_measure = REAL;
-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 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 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 message = STRING;
-END_TYPE;
-
-TYPE minute_in_hour = INTEGER;
-WHERE
- WR1 : { 0 <= SELF <= 59 };
-END_TYPE;
-
-TYPE month_in_year_number = INTEGER;
-WHERE
- WR1 : { 1 <= SELF <= 12 };
-END_TYPE;
-
-TYPE multi_language_attribute_item = SELECT (
- 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,
- date_role,
- date_time_role,
- descriptive_representation_item,
- document_relationship,
- document_usage_role,
- effectivity,
- effectivity_relationship,
- event_occurrence,
- external_source,
- general_property,
- general_property_relationship,
- geometric_representation_item,
- geometric_tolerance,
- identification_role,
- information_right,
- information_usage_right,
- make_from_usage_option,
- mapped_item,
- object_role,
- organization_relationship,
- organization_role,
- organizational_project,
- organizational_project_relationship,
- organizational_project_role,
- person_and_organization,
- person_and_organization_role,
- product,
- product_concept,
- product_concept_relationship,
- product_definition,
- product_definition_context,
- product_definition_formation,
- product_definition_formation_relationship,
- product_definition_relationship,
- product_definition_shape,
- product_related_product_category,
- property_definition,
- representation,
- representation_relationship,
- security_classification,
- security_classification_assignment,
- shape_aspect,
- shape_aspect_relationship,
- shape_representation,
- time_interval_role,
- topological_representation_item,
- uncertainty_measure_with_unit,
- usage_association);
-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.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 organization_item = SELECT (
- action,
- action_directive,
- alternate_product_relationship,
- applied_action_assignment,
- applied_classification_assignment,
- applied_identification_assignment,
- applied_security_classification_assignment,
- approval,
- assembly_component_usage_substitute,
- certification,
- class,
- configuration_item,
- contract,
- document_file,
- executed_action,
- general_property,
- information_usage_right,
- organizational_project,
- product,
- product_definition,
- product_definition_formation,
- product_definition_formation_relationship,
- property_definition,
- rule_action,
- security_classification,
- shape_representation,
- versioned_action_request);
-END_TYPE;
-
-TYPE orientation_basis_select = SELECT (
- axis2_placement_3d,
- min_and_major_ply_orientation_basis);
-END_TYPE;
-
-TYPE parameter_value = REAL;
-END_TYPE;
-
-TYPE pcurve_or_surface = SELECT (
- pcurve,
- surface);
-END_TYPE;
-
-TYPE person_and_organization_item = SELECT (
- action,
- action_directive,
- alternate_product_relationship,
- applied_action_assignment,
- applied_classification_assignment,
- applied_identification_assignment,
- applied_security_classification_assignment,
- approval,
- assembly_component_usage_substitute,
- certification,
- configuration_item,
- contract,
- document_file,
- executed_action,
- general_property,
- information_usage_right,
- organizational_project,
- person_and_organization,
- product,
- product_definition,
- product_definition_formation,
- product_definition_formation_relationship,
- property_definition,
- rule_action,
- security_classification,
- 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 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_path_members = LIST [1:?] OF point_and_vector;
-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.0;
-END_TYPE;
-
-TYPE positive_plane_angle_measure = plane_angle_measure;
-WHERE
- WR1 : SELF > 0.0;
-END_TYPE;
-
-TYPE positive_ratio_measure = ratio_measure;
-WHERE
- WR1 : SELF > 0.0;
-END_TYPE;
-
-TYPE power_measure = REAL;
-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,
- 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 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_or_formation_or_definition = SELECT (
- product,
- product_definition_formation,
- product_definition);
-END_TYPE;
-
-TYPE project_item = SELECT (
- executed_action,
- product_concept);
-END_TYPE;
-
-TYPE radioactivity_measure = REAL;
-END_TYPE;
-
-TYPE ratio_measure = REAL;
-END_TYPE;
-
-TYPE rendering_properties_select = SELECT (
- surface_style_reflectance_ambient,
- surface_style_transparent);
-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 (
- 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 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 <= 60.0 };
-END_TYPE;
-
-TYPE security_classification_item = SELECT (
- assembly_component_usage,
- document,
- document_file,
- make_from_usage_option,
- product,
- product_definition,
- product_definition_formation,
- product_definition_usage);
-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_definition = SELECT (
- product_definition_shape,
- shape_aspect,
- shape_aspect_relationship);
-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 size_select = SELECT (
- positive_length_measure,
- measure_with_unit,
- descriptive_measure);
-END_TYPE;
-
-TYPE sketch_basis_select = SELECT (
- curve_bounded_surface,
- face_surface);
-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 start_request_item = SELECT (
- product_definition_formation);
-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 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 symbol_style_select = SELECT (
- symbol_colour);
-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,
- 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,
- composite_text,
- axis2_placement);
-END_TYPE;
-
-TYPE thermodynamic_temperature_measure = REAL;
-END_TYPE;
-
-TYPE time_interval_item = SELECT (
- action,
- time_interval_based_effectivity);
-END_TYPE;
-
-TYPE time_measure = REAL;
-END_TYPE;
-
-TYPE tolerance_method_definition = SELECT (
- tolerance_value,
- limits_and_fits);
-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 u_direction_count = INTEGER;
-WHERE
- WR1 : SELF > 1;
-END_TYPE;
-
-TYPE unit = SELECT (
- derived_unit,
- named_unit);
-END_TYPE;
-
-TYPE v_direction_count = INTEGER;
-WHERE
- WR1 : SELF > 1;
-END_TYPE;
-
-TYPE value_qualifier = SELECT (
- precision_qualifier,
- type_qualifier,
- uncertainty_qualifier);
-END_TYPE;
-
-TYPE vector_or_direction = SELECT (
- vector,
- direction);
-END_TYPE;
-
-TYPE velocity_measure = REAL;
-END_TYPE;
-
-TYPE volume_measure = REAL;
-END_TYPE;
-
-TYPE week_in_year_number = INTEGER;
-WHERE
- WR1 : { 1 <= SELF <= 53 };
-END_TYPE;
-
-TYPE work_item = SELECT (
- product_definition_formation);
-END_TYPE;
-
-TYPE year_number = INTEGER;
-END_TYPE;
-
-ENTITY absorbed_dose_measure_with_unit
- SUBTYPE OF (measure_with_unit);
-WHERE
- WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 acceleration_measure_with_unit
- SUBTYPE OF (measure_with_unit);
-WHERE
- WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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, 0.0, -2.0, 0.0, 0.0, 0.0, 0.0 );
-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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1;
- WR2 : SIZEOF(USEDIN(SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1;
-END_ENTITY;
-
-
-ENTITY action_request_status;
- status : label;
- assigned_request : versioned_action_request;
-END_ENTITY;
-
-
-ENTITY action_status;
- status : label;
- assigned_action : executed_action;
-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 ([ 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MANIFOLD_SOLID_BREP', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FACETED_BREP', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT_3D' ] * TYPEOF (it)) = 1) )) = 0;
- WR2 : SIZEOF (
-QUERY ( it <* SELF.items| ( SIZEOF ([ 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MANIFOLD_SOLID_BREP', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' ] * TYPEOF (it)) = 1) )) > 0;
- WR3 : SIZEOF (
-QUERY ( msb <*
-QUERY ( it <* SELF.items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ADVANCED_FACE' IN TYPEOF (fcs)) )) = 0) )) = 0) )) = 0;
- WR4 : SIZEOF (
-QUERY ( msb <*
-QUERY ( it <* items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF (it)) )| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ORIENTED_CLOSED_SHELL' IN TYPEOF (msb\manifold_solid_brep.outer)) )) = 0;
- WR5 : SIZEOF (
-QUERY ( brv <*
-QUERY ( it <* items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' IN TYPEOF (it)) )| NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ([ 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ELEMENTARY_SURFACE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.B_SPLINE_SURFACE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SWEPT_SURFACE' ] * TYPEOF (face_geometry)) = 1;
- WR2 : SIZEOF (
-QUERY ( elp_fbnds <*
-QUERY ( bnds <* bounds| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) )| NOT ( SIZEOF (
-QUERY ( oe <* elp_fbnds.bound\path.edge_list| NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_CURVE' IN TYPEOF (oe\oriented_edge.edge_element)) )) = 0) )) = 0;
- WR3 : SIZEOF (
-QUERY ( elp_fbnds <*
-QUERY ( bnds <* bounds| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) )| NOT ( SIZEOF (
-QUERY ( oe <* elp_fbnds.bound\path.edge_list| NOT ( SIZEOF ([ 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LINE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONIC', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POLYLINE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_CURVE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.B_SPLINE_CURVE' ] * TYPEOF (oe.edge_element\edge_curve.edge_geometry)) = 1) )) = 0) )) = 0;
- WR4 : SIZEOF (
-QUERY ( elp_fbnds <*
-QUERY ( bnds <* bounds| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) )| NOT ( SIZEOF (
-QUERY ( oe <* elp_fbnds.bound\path.edge_list| NOT ((('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_POINT' IN TYPEOF (oe\edge.edge_start)) AND ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CARTESIAN_POINT' IN TYPEOF (oe\edge.edge_start\vertex_point.vertex_geometry))) AND (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_POINT' IN TYPEOF (oe\edge.edge_end)) AND ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CARTESIAN_POINT' IN TYPEOF (oe\edge.edge_end\vertex_point.vertex_geometry)))) )) = 0) )) = 0;
- WR5 : SIZEOF (
-QUERY ( elp_fbnds <*
-QUERY ( bnds <* bounds| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) )| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ORIENTED_PATH' IN TYPEOF (elp_fbnds.bound)) )) = 0;
- WR6 : NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SWEPT_SURFACE' IN TYPEOF (face_geometry)) OR ( SIZEOF ([ 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LINE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONIC', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POLYLINE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.B_SPLINE_CURVE' ] * TYPEOF (face_geometry\swept_surface.swept_curve)) = 1);
- WR7 : SIZEOF (
-QUERY ( vlp_fbnds <*
-QUERY ( bnds <* bounds| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_LOOP' IN TYPEOF (bnds.bound)) )| NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_POINT' IN TYPEOF (vlp_fbnds\face_bound.bound\vertex_loop.loop_vertex)) AND ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ([ 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_LOOP' ] * TYPEOF (bnd.bound)) = 1) )) = 0;
- WR9 : SIZEOF (
-QUERY ( elp_fbnds <*
-QUERY ( bnds <* bounds| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) )| NOT ( SIZEOF (
-QUERY ( oe <* elp_fbnds.bound\path.edge_list| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PCURVE' IN TYPEOF (sc_ag)) )) = 0) )) = 0) )) = 0;
- WR10 : (NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SWEPT_SURFACE' IN TYPEOF (face_geometry)) OR (NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) )| NOT ( SIZEOF (
-QUERY ( oe <* elp_fbnds.bound\path.edge_list| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 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 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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.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;
-
-
-ENTITY angle_direction_reference
- SUBTYPE OF (representation_item_relationship, geometric_representation_item);
- SELF\representation_item_relationship.related_representation_item : angle_direction_reference_select;
- SELF\representation_item_relationship.relating_representation_item : orientation_basis_select;
-WHERE
- WR1 : ((('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT_PATH' IN TYPEOF(related_representation_item)) AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MIN_AND_MAJOR_PLY_ORIENTATION_BASIS' IN TYPEOF(relating_representation_item)))
- OR
- (NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT_PATH' IN TYPEOF(related_representation_item)) AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT_3D' IN TYPEOF(relating_representation_item))));
-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);
-WHERE
- WR1 : SIZEOF (SELF\geometric_tolerance_with_datum_reference.datum_system) < 3;
-END_ENTITY;
-
-
-ENTITY annotation_curve_occurrence
- SUBTYPE OF (annotation_occurrence);
- SELF\styled_item.item : curve;
-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 (
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CIRCLE' IN TYPEOF (curve)) OR
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ELLIPSE' IN TYPEOF (curve)) OR
- ( ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.B_SPLINE_CURVE' IN TYPEOF (curve))
- AND (curve\b_spline_curve.closed_curve = TRUE) ) OR
- ( ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COMPOSITE_CURVE' IN TYPEOF (curve))
- AND (curve\composite_curve.closed_curve = TRUE) ) OR
- ( ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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))
- SUBTYPE OF (styled_item);
-WHERE
- WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN
- TYPEOF (SELF);
- WR2 : SIZEOF (QUERY (reps <* using_representations(SELF) |
- NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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) *
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_FILL_AREA_OCCURRENCE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PROJECTION_CURVE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'PLANAR_BOX' IN TYPEOF(SELF\styled_item.item)) OR
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'AXIS2_PLACEMENT_3D' IN TYPEOF(SELF\styled_item.item\planar_box.placement));
- WR3 : (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'PLANAR_BOX' IN TYPEOF(SELF\styled_item.item)) AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'CURVE_STYLE' IN TYPEOF(SELF\styled_item.styles[1]\presentation_style_assignment.styles[1]))) OR
- (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'PLANE' IN TYPEOF(SELF\styled_item.item)) AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.NULL_STYLE'
- IN TYPEOF (sty.styles[1])) ))=0;
- WR3 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_SYMBOL'
- IN TYPEOF (SELF.item));
- WR4 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.TEXT_STRING_REPRESENTATION' IN
- TYPEOF( SELF\mapped_item.mapping_source.mapped_representation);
- WR2 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CHARACTER_GLYPH_SYMBOL' IN
- TYPEOF (SELF\mapped_item.mapping_source.mapped_representation);
- WR2 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1;
- WR2 : SIZEOF(USEDIN(SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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_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_attribute_classification_assignment
- SUBTYPE OF (attribute_classification_assignment);
- items : SET [1:?] OF attribute_classification_item;
- SELF\attribute_classification_assignment.assigned_class : class;
-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_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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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.0, 0.0, 0.0, 0.0 );
-END_ENTITY;
-
-
-ENTITY assembly_component_usage
- SUPERTYPE OF (ONEOF (next_assembly_usage_occurrence, specified_higher_usage_occurrence, promissory_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 assigned_requirement
- SUBTYPE OF (group_assignment);
- items : SET [1:1] OF product_definition;
- SELF\group_assignment.assigned_group : requirement_assignment;
-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);
- items : SET [1:?] OF attribute_language_item;
- SELF\attribute_classification_assignment.assigned_class : language;
-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,0.0,1.0]));
-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.0);
-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
- control_points : ARRAY [0:upper_index_on_control_points] OF cartesian_point := list_to_array(control_points_list,0,
- upper_index_on_control_points);
- upper_index_on_control_points : INTEGER := (SIZEOF(control_points_list) - 1);
-WHERE
- WR1 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.UNIFORM_CURVE' IN TYPEOF(self)) OR
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.QUASI_UNIFORM_CURVE' IN TYPEOF(self)) OR
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.BEZIER_CURVE' IN TYPEOF(self)) OR
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.B_SPLINE_CURVE_WITH_KNOTS' IN TYPEOF(self));
-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_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
- 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);
- u_upper : INTEGER := SIZEOF(control_points_list) - 1;
- v_upper : INTEGER := SIZEOF(control_points_list[1]) - 1;
-WHERE
- WR1 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.UNIFORM_SURFACE' IN TYPEOF(SELF)) OR
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.QUASI_UNIFORM_SURFACE' IN TYPEOF(SELF)) OR
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.BEZIER_SURFACE' IN TYPEOF(SELF)) OR
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.B_SPLINE_SURFACE_WITH_KNOTS' IN TYPEOF(SELF));
-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 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_generic_expression
- ABSTRACT SUPERTYPE
- SUBTYPE OF (generic_expression);
- operands : LIST [2:2] OF generic_expression;
-END_ENTITY;
-
-
-ENTITY binary_numeric_expression
- ABSTRACT SUPERTYPE
- 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_expression
- ABSTRACT SUPERTYPE OF (ONEOF (simple_boolean_expression, multiple_arity_boolean_expression, comparison_expression, interval_expression))
- 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 boundary_curve
- SUBTYPE OF (composite_curve_on_surface);
-WHERE
- WR1 : SELF\composite_curve.closed_curve;
-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 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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);
- items : SET [1:1] OF product_definition_or_breakdown_element_usage;
- SELF\group_assignment.assigned_group : product_definition_element_relationship;
-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
- SUBTYPE OF (mapped_item);
- SELF\mapped_item.mapping_source : camera_usage;
- SELF\mapped_item.mapping_target : planar_box;
-WHERE
- WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM'
- IN TYPEOF (SELF);
-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 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'AXIS2_PLACEMENT_2D' IN TYPEOF (SELF\mapped_item.
- mapping_target\planar_box.placement))
- AND NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'AXIS2_PLACEMENT_3D' IN TYPEOF (SELF\mapped_item.
- mapping_target\planar_box.placement));
-END_ENTITY;
-
-
-ENTITY camera_model
- ABSTRACT SUPERTYPE
- SUBTYPE OF (geometric_representation_item);
-WHERE
- WR1 : (SIZEOF (USEDIN (SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'ITEM_DEFINED_TRANSFORMATION.' +
- 'TRANSFORM_ITEM_1')) +
- SIZEOF (USEDIN (SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'REPRESENTATION_MAP.MAPPING_ORIGIN'))
- ) > 0;
- WR2 : SIZEOF(USEDIN(SELF,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'STYLED_ITEM.ITEM')) = 0;
-END_ENTITY;
-
-
-ENTITY camera_model_d3
- SUBTYPE OF (camera_model);
- view_reference_system : axis2_placement_3d;
- perspective_of_volume : view_volume;
-WHERE
- WR1 : (dot_product (SELF.view_reference_system.p[3],
- SELF.perspective_of_volume.view_window.placement.p[3]) = 1.0)
- AND
- (SELF.view_reference_system.location.coordinates[3] =
- SELF.perspective_of_volume.view_window.
- placement.location.coordinates[3]);
- WR2 : 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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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_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.0);
-WHERE
- WR1 : scl > 0.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 celsius_temperature_measure_with_unit
- SUBTYPE OF (measure_with_unit);
-WHERE
- WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.THERMODYNAMIC_TEMPERATURE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component);
-END_ENTITY;
-
-
-ENTITY centre_of_symmetry
- SUBTYPE OF (derived_shape_aspect);
-WHERE
- WR1 : SIZEOF
- (QUERY(sadr<*SELF\derived_shape_aspect.deriving_relationships|
- NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SYMMETRIC_SHAPE_ASPECT'
- IN TYPEOF
- (sadr\shape_aspect_relationship.related_shape_aspect))))=0;
-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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1;
-END_ENTITY;
-
-
-ENTITY certification_type;
- description : label;
-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 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.0 <= baseline_ratio <= 1.0};
- WR2 : item_in_context(SELF.character_box,
- SELF\representation.context_of_items);
- WR3 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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_class
- SUBTYPE OF (characterized_object, class);
-END_ENTITY;
-
-
-ENTITY characterized_object;
- name : label;
- description : OPTIONAL text;
-END_ENTITY;
-
-
-ENTITY circle
- SUBTYPE OF (conic);
- radius : positive_length_measure;
-END_ENTITY;
-
-
-ENTITY circular_runout_tolerance
- SUBTYPE OF (geometric_tolerance_with_datum_reference);
-WHERE
- WR1 : SIZEOF (SELF\geometric_tolerance_with_datum_reference.datum_system) <= 2;
-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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF(i)) )) = 0;
- WR3 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 closed_shell
- SUBTYPE OF (connected_face_set);
-END_ENTITY;
-
-
-ENTITY coaxiality_tolerance
- SUBTYPE OF (geometric_tolerance_with_datum_reference);
-WHERE
- WR1 : SIZEOF (SELF\geometric_tolerance_with_datum_reference.datum_system) <= 2;
-END_ENTITY;
-
-
-ENTITY colour;
-END_ENTITY;
-
-
-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;
-
-
-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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DATUM' IN TYPEOF (sar.related_shape_aspect)) AND
- NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COMMON_DATUM' IN TYPEOF (sar.related_shape_aspect))) )) = 0;
-END_ENTITY;
-
-
-ENTITY comparison_expression
- ABSTRACT SUPERTYPE
- SUBTYPE OF (boolean_expression, binary_generic_expression);
- SELF\binary_generic_expression.operands : LIST [2:2] OF expression;
-WHERE
- WR1 : (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.NUMERIC_EXPRESSION'
-IN TYPEOF(SELF\binary_generic_expression.operands[1]))
- AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.NUMERIC_EXPRESSION'
-IN TYPEOF(SELF\binary_generic_expression.operands[2])))
-OR
- (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.BOOLEAN_EXPRESSION'
-IN TYPEOF(SELF\binary_generic_expression.operands[1]))
- AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.BOOLEAN_EXPRESSION'
- IN TYPEOF(SELF\binary_generic_expression.operands[2])))
-OR
-(('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STRING_EXPRESSION'
-IN TYPEOF(SELF\binary_generic_expression.operands[1]))
- AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STRING_EXPRESSION'
-IN TYPEOF(SELF\binary_generic_expression.operands[2])));
-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_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 composite_assembly_definition
- SUBTYPE OF (product_definition);
-WHERE
- WR1 : SIZEOF (QUERY (pdr <* USEDIN (SELF,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'PRODUCT_DEFINITION_RELATIONSHIP.' +
- 'RELATING_PRODUCT_DEFINITION') |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'NEXT_ASSEMBLY_USAGE_OCCURRENCE' IN
- TYPEOF (pdr))) = 1;
-END_ENTITY;
-
-
-ENTITY composite_assembly_sequence_definition
- SUBTYPE OF (product_definition);
-WHERE
- WR1 : SIZEOF (QUERY (pdr <* USEDIN (SELF,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'PRODUCT_DEFINITION_RELATIONSHIP.' +
- 'RELATING_PRODUCT_DEFINITION') |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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
- closed_curve : LOGICAL := segments[n_segments].transition <> discontinuous;
- n_segments : INTEGER := SIZEOF(segments);
-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 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.BOUNDED_CURVE' IN TYPEOF(parent_curve));
-END_ENTITY;
-
-
-ENTITY composite_material_designation
- SUBTYPE OF (material_designation);
-END_ENTITY;
-
-
-ENTITY composite_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 (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'GEOMETRICALLY_BOUNDED_SURFACE_SHAPE_REPRESENTATION',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 compound_representation_item
- SUPERTYPE OF (ONEOF (point_and_vector, point_path, 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 : ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'EDGE_BASED_WIREFRAME_MODEL' ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'FACE_BASED_SURFACE_MODEL' ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'MAPPED_ITEM' , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'AXIS2_PLACEMENT_3D']* TYPEOF ( cbsr_i ) ) <>1 ) ) =0;
- WR3 : SIZEOF ( QUERY ( cbsr_i <* SELF.items | SIZEOF (
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'EDGE_BASED_WIREFRAME_MODEL' ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'FACE_BASED_SURFACE_MODEL' ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'MAPPED_ITEM']* TYPEOF ( cbsr_i ) ) =1 ) ) >0;
- WR4 : SIZEOF ( QUERY ( cbsr_i <* SELF.items | (
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'MAPPED_ITEM' IN TYPEOF ( cbsr_i ) )
- AND ( SIZEOF ( ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'COMPOUND_SHAPE_REPRESENTATION' , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'EDGE_BASED_WIREFRAME_SHAPE_REPRESENTATION' ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'NON_MANIFOLD_SURFACE_SHAPE_REPRESENTATION']* TYPEOF (
- cbsr_i\ mapped_item.mapping_source ) ) <>1 ) ) ) =0;
-END_ENTITY;
-
-
-ENTITY concentricity_tolerance
- SUBTYPE OF (geometric_tolerance_with_datum_reference);
-WHERE
- WR1 : SIZEOF (SELF\geometric_tolerance_with_datum_reference.datum_system) = 1;
-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 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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
- description : text := get_description_value (SELF);
- name : label := get_name_value (SELF);
-UNIQUE
- UR1 : configuration, design;
-WHERE
- WR1 : SIZEOF (USEDIN (SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1;
- WR2 : SIZEOF (USEDIN (SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 | ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 | ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'EFFECTIVITY_CONTEXT_ASSIGNMENT.ASSIGNED_EFFECTIVITY_ASSIGNMENT') | 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONFIGURED_EFFECTIVITY_CONTEXT_ASSIGNMENT' IN TYPEOF(x) )) = 1;
-END_ENTITY;
-
-
-ENTITY configured_effectivity_context_assignment
- SUBTYPE OF (effectivity_context_assignment);
- items : SET [1:?] OF configured_effectivity_context_item;
- SELF\effectivity_context_assignment.assigned_effectivity_assignment : configured_effectivity_assignment;
-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.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 constructive_geometry_representation
- SUBTYPE OF (representation);
-WHERE
- WR1 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PLACEMENT', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FACE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FACE_SURFACE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_POINT'] * TYPEOF(cgr_i)) <> 1 )) = 0;
- WR3 : SIZEOF( USEDIN( SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'REPRESENTATION_RELATIONSHIP.REP_2') ) > 0;
- WR4 : SIZEOF( USEDIN( SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_REPRESENTATION_CONTEXT' IN TYPEOF(SELF.rep_1.context_of_items));
- WR2 : NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ( ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'MEASURE_REPRESENTATION_ITEM' , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'VALUE_RANGE']* TYPEOF ( i ) ) =1 ) AND ( i.name =
- 'ratio value' ) ) ) =1 );
- WR2 : ( SIZEOF ( QUERY ( pdr <* USEDIN ( SELF ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+
- 'USED_REPRESENTATION' ) | pdr. name =
- 'contact ratio reference' ) ) =1 ) AND ( SIZEOF ( QUERY (
- pdr <* USEDIN ( SELF ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+
- 'USED_REPRESENTATION' ) | ( pdr. name =
- 'contact ratio reference' ) AND ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'PRODUCT_DEFINITION' IN TYPEOF ( pdr.
- definition.definition ) ) ) ) =1 );
- WR3 : ( SIZEOF ( USEDIN ( SELF ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+
- 'USED_REPRESENTATION' ) ) =1 ) AND ( SIZEOF ( QUERY ( pdr
- <* USEDIN ( SELF ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+
- 'USED_REPRESENTATION' ) | SIZEOF ( QUERY ( gpa <* USEDIN (
- pdr. definition ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'GENERAL_PROPERTY_ASSOCIATION.'+
- 'DERIVED_DEFINITION' ) | ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'GENERAL_PROPERTY' IN TYPEOF ( gpa. base_definition ) ) AND
- ( gpa. base_definition.name ='surface_condition' ) ) ) =1 )
- ) =1 );
-END_ENTITY;
-
-
-ENTITY context_dependent_invisibility
- SUBTYPE OF (invisibility);
- presentation_context : invisibility_context;
-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 | 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.REPRESENTATION_ITEM' IN TYPEOF(sc)))= 1) OR
-(SIZEOF(QUERY(sc <* SELF.style_context |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' IN TYPEOF(sc))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT_DEFINITION_RELATIONSHIP' IN TYPEOF(SELF.represented_product_relation.definition);
- WR2 : SIZEOF(USEDIN(SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1;
- WR3 : SIZEOF(USEDIN(SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1;
-END_ENTITY;
-
-
-ENTITY context_dependent_unit
- SUBTYPE OF (named_unit);
- name : label;
-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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 < 24 };
- WR2 : { 0 <= actual_minute_offset <= 59 };
- WR3 : NOT (((hour_offset <> 0) OR (actual_minute_offset <>0)) AND (sense = exact));
-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 ([ 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CSG_SOLID', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT_3D', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SOLID_REPLICA', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.REVOLVED_FACE_SOLID', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EXTRUDED_FACE_SOLID' ] * TYPEOF (it)) <> 1) )) = 0;
- WR3 : SIZEOF (
-QUERY ( mi <*
-QUERY ( it <* SELF.items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' IN TYPEOF (it)) )| NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CSG_SHAPE_REPRESENTATION' IN TYPEOF (mi\mapped_item.mapping_source.mapped_representation)) )) = 0;
- WR4 : SIZEOF (
-QUERY ( sr <*
-QUERY ( it <* SELF.items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SOLID_REPLICA' IN TYPEOF (it)) )| ( SIZEOF ([ 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CSG_SOLID', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.REVOLVED_FACE_SOLID', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EXTRUDED_FACE_SOLID' ] * TYPEOF (sr\solid_replica.parent_solid)) = 0) )) = 0;
- WR5 : SIZEOF (
-QUERY ( it <* SELF.items| NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 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;
-
-
-ENTITY currency_measure_with_unit
- SUBTYPE OF (measure_with_unit);
- SELF\measure_with_unit.unit_component : currency;
-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_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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.OUTER_BOUNDARY_CURVE' IN TYPEOF(temp))) = 0);
- WR2 : (NOT(implicit_outer)) OR
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.BOUNDED_SURFACE' IN TYPEOF(basis_surface));
- WR3 : SIZEOF(QUERY(temp <* boundaries |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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_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_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;
-
-
-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_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 (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SWEPT_AREA_SOLID',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SWEPT_DISK_SOLID',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT_3D'] *
- TYPEOF(it)) = 1))) = 0;
- WR2 : SIZEOF (QUERY (it <* SELF.items |
- SIZEOF(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SWEPT_AREA_SOLID',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SWEPT_DISK_SOLID',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM'] * TYPEOF(it)) =1 )) > 0;
- WR3 : SIZEOF (QUERY (mi <* QUERY (it <* items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' IN TYPEOF(it)) |
- NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_CURVE_SWEPT_AREA_SOLID' IN
- TYPEOF(it)) |
- NOT(('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_CURVE' IN
- TYPEOF(scsas\surface_curve_swept_area_solid.directrix)) OR
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PCURVE' IN
- TYPEOF(scsas\surface_curve_swept_area_solid.directrix))))) = 0;
-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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 : date_time_or_event_occurrence;
-END_ENTITY;
-
-
-ENTITY datum
- SUBTYPE OF (shape_aspect);
- identification : identifier;
-INVERSE
- established_by_relationships: SET [1:?] OF shape_aspect_relationship FOR related_shape_aspect;
-WHERE
- WR1 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COMMON_DATUM' IN TYPEOF(SELF)) XOR
- ((SIZEOF(QUERY(x <* SELF\datum.established_by_relationships |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DATUM_FEATURE' IN TYPEOF(x\shape_aspect_relationship.relating_shape_aspect)))) = 1) XOR
- (SIZEOF(QUERY(x <* SELF\datum.established_by_relationships |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DATUM_TARGET' IN TYPEOF(x\shape_aspect_relationship.relating_shape_aspect)))) >= 1));
-END_ENTITY;
-
-
-ENTITY 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
- | ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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_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
- | ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DEFAULT_TOLERANCE_TABLE_CELL' IN TYPEOF(i)) )) = 0;
- WR2 : (SIZEOF( QUERY( rr <* USEDIN(SELF,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'REPRESENTATION_RELATIONSHIP.REP_1') | rr.name < 'general tolerance definition' )) = 0) AND (SIZEOF( QUERY( rr <* USEDIN(SELF,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'REPRESENTATION_RELATIONSHIP.REP_1') | (rr.name = 'general tolerance definition') AND (rr.rep_2.name < 'default tolerance') )) = 0) AND (SIZEOF( USEDIN(SELF,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'REPRESENTATION.ITEMS') | 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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_symbol
- SUBTYPE OF (geometric_representation_item);
- definition : defined_symbol_select;
- target : symbol_target;
-END_ENTITY;
-
-
-ENTITY definitional_representation
- SUBTYPE OF (representation);
-WHERE
- WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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],
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 derived_shape_aspect
- SUPERTYPE OF (ONEOF (apex, centre_of_symmetry, geometric_alignment, geometric_intersection, parallel_offset, perpendicular_to, extension, tangent))
- SUBTYPE OF (shape_aspect);
-INVERSE
- deriving_relationships: SET [1:?] OF shape_aspect_relationship FOR relating_shape_aspect;
-WHERE
- WR1 : SIZEOF (QUERY (dr <*
- SELF\derived_shape_aspect.deriving_relationships |
- NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'SHAPE_ASPECT_DERIVING_RELATIONSHIP'
- IN TYPEOF (dr)))) = 0;
-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.0));
- WR2 : SIZEOF(USEDIN(SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 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 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LEADER_DIRECTED_CALLOUT'
- IN (TYPEOF (SELF))) XOR
- (SIZEOF (QUERY(dce_1 <* SELF\draughting_callout.contents |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LEADER_CURVE'
- IN (TYPEOF(dce_1))))) = 0);
- WR2 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PROJECTION_DIRECTED_CALLOUT'
- IN (TYPEOF (SELF))) XOR
- (SIZEOF (QUERY(dce_1 <* SELF\draughting_callout.contents |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PROJECTION_CURVE'
- IN (TYPEOF(dce_1))))) = 0);
- WR3 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DIMENSION_CURVE_DIRECTED_CALLOUT'
- IN (TYPEOF (SELF))) XOR
- (SIZEOF (QUERY(dce_1 <* SELF\draughting_callout.contents |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STRUCTURED_DIMENSION_CALLOUT'
- IN TYPEOF (SELF.relating_draughting_callout);
- WR3 : SIZEOF (TYPEOF (SELF.related_draughting_callout) *
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LEADER_DIRECTED_CALLOUT',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PROJECTION_DIRECTED_CALLOUT',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DIMENSION_CURVE_DIRECTED_CALLOUT',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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) *
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANGULAR_DIMENSION',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_DIMENSION',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DIAMETER_DIMENSION',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LEADER_DIRECTED_DIMENSION',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LINEAR_DIMENSION',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ORDINATE_DIMENSION',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.RADIUS_DIMENSION'])>=1;
- WR3 : SIZEOF (TYPEOF (SELF.related_draughting_callout) *
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DIMENSION_CURVE_DIRECTED_CALLOUT',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PROJECTION_DIRECTED_CALLOUT',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'TERMINATOR_SYMBOL.ANNOTATED_CURVE')
- | (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'DIMENSION_CURVE_TERMINATOR' IN TYPEOF(dct))
- ))
- ) <= 2);
- WR2 : SIZEOF(
- QUERY( dcdc <* USEDIN(SELF,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'DRAUGHTING_CALLOUT.CONTENTS') |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'DIMENSION_CURVE_DIRECTED_CALLOUT' IN TYPEOF(dcdc)))
- )>= 1;
- WR3 : (SIZEOF(
- QUERY(dct1 <* USEDIN(SELF,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'TERMINATOR_SYMBOL.ANNOTATED_CURVE')
- | (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'TERMINATOR_SYMBOL.ANNOTATED_CURVE')
- | (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DIMENSION_CURVE' IN (TYPEOF(d_c))))=1;
- WR2 : SIZEOF(SELF\draughting_callout.contents) >= 2;
-END_ENTITY;
-
-
-ENTITY dimension_curve_terminator
- SUBTYPE OF (terminator_symbol);
- role : dimension_extent_usage;
-WHERE
- WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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.related_annotation_occurrence : projection_curve;
- SELF\annotation_occurrence_relationship.relating_annotation_occurrence : dimension_curve_terminator;
-END_ENTITY;
-
-
-ENTITY dimension_pair
- SUBTYPE OF (draughting_callout_relationship);
-WHERE
- WR1 : SELF.name IN ['chained', 'parallel'];
- WR2 : SIZEOF (TYPEOF (SELF.relating_draughting_callout) *
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANGULAR_DIMENSION',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_DIMENSION',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DIAMETER_DIMENSION',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LINEAR_DIMENSION',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ORDINATE_DIMENSION',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.RADIUS_DIMENSION'])=1;
- WR3 : SIZEOF (TYPEOF (SELF.related_draughting_callout) *
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANGULAR_DIMENSION',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_DIMENSION',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DIAMETER_DIMENSION',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LINEAR_DIMENSION',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ORDINATE_DIMENSION',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHAPE_DIMENSION_REPRESENTATION'
- IN TYPEOF (SELF\mapped_item.
- mapping_source.mapped_representation));
- WR2 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DRAUGHTING_CALLOUT'
- IN TYPEOF (SELF\mapped_item.mapping_target));
- WR3 : SIZEOF (QUERY (ato <* QUERY (si <*
- USEDIN (SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM.ITEM') |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_TEXT_OCCURRENCE'
- IN TYPEOF(si))) |
- NOT (SIZEOF( QUERY (dc <*
- USEDIN (ato, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'DRAUGHTING_CALLOUT.CONTENTS') |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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);
-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;
-WHERE
- WR1 : applies_to.product_definitional = TRUE;
-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_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)) > 0;
-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);
- items : SET [1:?] OF document_identifier_assigned_item;
- SELF\group_assignment.assigned_group : document_identifier;
-END_ENTITY;
-
-
-ENTITY document_product_association;
- 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('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') | prpc.name = 'document' )) = 1));
- WR3 : NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') | prpc.name = 'document')) = 1));
- WR4 : NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_CURVE_OCCURRENCE'
- IN TYPEOF (SELF))) OR
- (SIZEOF (QUERY (sty <* SELF.styles |
- NOT ((SIZEOF (sty.styles) = 1)
- AND ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE'
- IN TYPEOF (sty.styles[1]))) )) = 0);
- WR2 : (NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_FILL_AREA_OCCURRENCE'
- IN TYPEOF (SELF))) OR (SIZEOF (QUERY (sty <* SELF.styles |
- NOT ((SIZEOF (sty.styles) = 1)
- AND ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FILL_AREA_STYLE'
- IN TYPEOF (sty.styles[1]))) )) = 0);
- WR3 : (NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'STYLED_ITEM.ITEM') |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'ANNOTATION_CURVE_OCCURRENCE' IN TYPEOF (si)))) > 0))) = 0);
- WR4 : (NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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]) *
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SYMBOL_STYLE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.NULL_STYLE']) = 1)) )) = 0);
- WR5 : (NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_SYMBOL_OCCURRENCE'
- IN TYPEOF (SELF)) AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_SYMBOL'
- IN TYPEOF(SELF.item)))) OR
- (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'DRAUGHTING_SYMBOL_REPRESENTATION',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'DRAUGHTING_SUBFIGURE_REPRESENTATION'] *
- TYPEOF (SELF.item\mapped_item.mapping_source.
- mapped_representation)) = 1);
- WR6 : (NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_TEXT_OCCURRENCE'
- IN TYPEOF (SELF))) OR
- (SIZEOF (QUERY (sty <* SELF.styles |
- NOT ((SIZEOF (sty.styles) = 1)
- AND ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.TEXT_STYLE'
- IN TYPEOF (sty.styles[1]))) )) = 0);
- WR7 : (NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_TEXT_OCCURRENCE'
- IN TYPEOF (SELF))) OR
- (SIZEOF (TYPEOF(SELF.item) *
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COMPOSITE_TEXT',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.TEXT_LITERAL']) = 1);
- WR8 : (NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_TEXT_OCCURRENCE'
- IN TYPEOF (SELF)) AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COMPOSITE_TEXT'
- IN TYPEOF (SELF.item)))) OR (SIZEOF (QUERY (tl <*
- SELF.item\composite_text.collected_text |
- NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.TEXT_LITERAL'
- IN TYPEOF (tl)) )) = 0);
- WR9 : (NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_TEXT_OCCURRENCE'
- IN TYPEOF (SELF)) AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.TEXT_LITERAL'
- IN TYPEOF (SELF.item)))) OR (SELF.item\text_literal.alignment
- IN ['baseline left', 'baseline centre', 'baseline right']);
- WR10 : (NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_TEXT_OCCURRENCE'
- IN TYPEOF (SELF)) AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COMPOSITE_TEXT'
- IN TYPEOF (SELF.item)))) OR
- (SIZEOF (QUERY (tl <* QUERY (text <* SELF.
- item\composite_text.collected_text
- |('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.TEXT_LITERAL' IN TYPEOF(text))) |
- NOT (tl\text_literal.alignment IN
- ['baseline left', 'baseline centre', 'baseline right']) )) = 0);
- WR11 : NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_TEXT_OCCURRENCE'
- IN TYPEOF(SELF)) AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COMPOSITE_TEXT'
- IN TYPEOF (SELF.item))) OR check_text_alignment(SELF.item);
- WR12 : NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_TEXT_OCCURRENCE'
- IN TYPEOF(SELF)) AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COMPOSITE_TEXT'
- IN TYPEOF (SELF.item))) OR check_text_font(SELF.item);
- WR13 : (NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_TEXT_OCCURRENCE'
- IN TYPEOF(SELF)) AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COMPOSITE_TEXT'
- IN TYPEOF (SELF.item)))) OR
- (SIZEOF (QUERY (tl <* QUERY (text <*
- SELF.item\composite_text.collected_text |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.TEXT_LITERAL' IN TYPEOF (text))) |
- NOT (SIZEOF (TYPEOF(tl) *
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'TEXT_LITERAL_WITH_BLANKING_BOX',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'TEXT_LITERAL_WITH_ASSOCIATED_CURVES']) = 0) )) = 0);
- WR14 : (NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_TEXT_OCCURRENCE'
- IN TYPEOF (SELF)) AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM.ITEM') |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_CURVE_OCCURRENCE'
- IN TYPEOF (si)) )) > 0) )) = 0);
- WR15 : (NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_TEXT_OCCURRENCE'
- IN TYPEOF (SELF)) AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM.ITEM') |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_CURVE_OCCURRENCE'
- IN TYPEOF (si)) )) > 0) )) = 0);
- WR16 : SIZEOF (QUERY (cs <* QUERY (sty <* SELF.styles |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE' IN TYPEOF (sty.styles[1])))
- | NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LENGTH_MEASURE_WITH_UNIT'
- IN TYPEOF (cs.styles[1]\curve_style.curve_width)) AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FILL_AREA_STYLE'
- IN TYPEOF (sty.styles[1]))) |
- NOT ((SIZEOF (QUERY (fs <* fas.styles[1]\fill_area_style.fill_styles
- | ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FILL_AREA_STYLE_TILES'
- IN TYPEOF (fs)))) <= 1)
- AND (SIZEOF (QUERY (fst <* QUERY (fs <*
- fas.styles[1]\fill_area_style.fill_styles |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FILL_AREA_STYLE'
- IN TYPEOF (sty.styles[1]))) |
- NOT (SIZEOF (QUERY (fsh <* QUERY (fs <*
- fas.styles[1]\fill_area_style.fill_styles |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.TEXT_STYLE'
- IN TYPEOF(sty.styles[1]))) |
- NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'TEXT_STYLE_WITH_BOX_CHARACTERISTICS'
- IN TYPEOF (ts.styles[1])))) = 0;
- WR20 : SIZEOF (QUERY (ts <* QUERY (sty <* SELF.styles |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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
- SUPERTYPE OF ((ONEOF (datum_feature_callout, datum_target_callout, dimension_curve_directed_callout, draughting_elements, geometrical_tolerance_callout, leader_directed_callout, projection_directed_callout, structured_dimension_callout) ANDOR surface_condition_callout))
- SUBTYPE OF (geometric_representation_item);
- contents : SET [1:?] OF draughting_callout_element;
-WHERE
- WR1 : (SIZEOF (QUERY (l_1 <* SELF\draughting_callout.contents |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LEADER_CURVE' IN (TYPEOF(l_1)))) = 0) OR
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LEADER_DIRECTED_CALLOUT' IN (TYPEOF(SELF))) AND
- (SIZEOF (QUERY (l_1 <* SELF\draughting_callout.contents |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PROJECTION_CURVE' IN (TYPEOF(l_1)))) = 0) OR
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PROJECTION_DIRECTED_CALLOUT' IN (TYPEOF(SELF))) AND
- (SIZEOF (QUERY (l_1 <* SELF\draughting_callout.contents |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DIMENSION_CURVE' IN (TYPEOF(l_1)))) = 0) OR
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LEADER_CURVE' IN TYPEOF(con))) |
- NOT (SIZEOF (QUERY (ldc <* USEDIN (l_c,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'DRAUGHTING_CALLOUT.CONTENTS') |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LEADER_DIRECTED_CALLOUT'
- IN TYPEOF (ldc)))) <= 1)))=0;
- WR2 : NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DIMENSION_CURVE_DIRECTED_CALLOUT'
- IN TYPEOF(SELF)) OR
- (SIZEOF (QUERY (con <* SELF.contents |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PROJECTION_CURVE' IN
- TYPEOF (con)))) <= 2);
- WR3 : SIZEOF (QUERY (rc <* USEDIN (SELF,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DRAUGHTING_CALLOUT_' +
- 'RELATIONSHIP.RELATING_DRAUGHTING_CALLOUT') |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'DIMENSION_CALLOUT_RELATIONSHIP' IN TYPEOF (rc)) AND
- (rc.name = 'primary') )) <= 1;
- WR4 : SIZEOF (QUERY (rc <* USEDIN (SELF,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DRAUGHTING_CALLOUT_' +
- 'RELATIONSHIP.RELATING_DRAUGHTING_CALLOUT') |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'DIMENSION_CALLOUT_RELATIONSHIP' IN TYPEOF (rc)) AND
- (rc.name = 'secondary') )) <= 1;
- WR5 : SIZEOF (QUERY (sec <* QUERY (rc <* USEDIN (SELF,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DRAUGHTING_CALLOUT_' +
- 'RELATIONSHIP.RELATING_DRAUGHTING_CALLOUT') |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'DIMENSION_CALLOUT_RELATIONSHIP' IN TYPEOF (rc)) AND
- (rc.name = 'secondary') ) |
- NOT (SIZEOF (QUERY (prim <* USEDIN (SELF,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DRAUGHTING_CALLOUT_' +
- 'RELATIONSHIP.RELATING_DRAUGHTING_CALLOUT') |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' IN TYPEOF(it))) |
- NOT (
- SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHAPE_REPRESENTATION',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DRAUGHTING_MODEL'] *
- TYPEOF (mi\mapped_item.mapping_source.
- mapped_representation)) = 1
- ))) = 0;
- WR2 : SIZEOF (QUERY (smi <* QUERY (si <* QUERY (it <* SELF.items |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM' IN TYPEOF(it))) |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' IN
- TYPEOF(si\styled_item.item))) |
- (NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 : shape_definition;
- SELF\item_identified_representation_usage.identified_item : draughting_model_item_association_select;
- SELF\item_identified_representation_usage.used_representation : draughting_model;
-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);
-WHERE
- WR1 : SIZEOF (QUERY (item <* SELF\representation.items |
- NOT (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_OCCURRENCE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DRAUGHTING_CALLOUT',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT']
- * TYPEOF (item)) = 1))) = 0;
- WR2 : SIZEOF (QUERY (item <* SELF\representation.items |
- SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_OCCURRENCE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DRAUGHTING_CALLOUT'] *
- TYPEOF (item)) = 1)) >= 1;
- WR3 : SIZEOF (QUERY (srm <* QUERY (rm <*
- USEDIN (SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'REPRESENTATION_MAP.MAPPED_REPRESENTATION') |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SYMBOL_REPRESENTATION_MAP'
- IN TYPEOF(rm))) |
- NOT (SIZEOF (QUERY (a_s <* QUERY (mi <* srm.map_usage |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_SYMBOL' IN TYPEOF(mi)))
- | NOT (SIZEOF (QUERY (aso <*
- USEDIN (a_s, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'STYLED_ITEM.ITEM') |
- NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_SUBFIGURE_OCCURRENCE'
- IN TYPEOF(aso)))) = 0))) = 0))) > 0;
- WR4 : NOT (acyclic_mapped_item_usage (SELF));
- WR5 : SIZEOF (SELF.context_of_items.representations_in_context) = 1;
-END_ENTITY;
-
-
-ENTITY draughting_symbol_representation
- SUBTYPE OF (symbol_representation);
-UNIQUE
- UR1: SELF\representation.name;
-WHERE
- WR1 : SIZEOF (QUERY (item <* SELF\representation.items |
- NOT (SIZEOF (TYPEOF (item) *
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_CURVE_OCCURRENCE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_SYMBOL_OCCURRENCE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_FILL_AREA_OCCURRENCE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_TEXT_OCCURRENCE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT']) = 1)
- )) = 0;
- WR2 : SIZEOF (QUERY (item <* SELF\representation.items |
- (SIZEOF (TYPEOF (item) *
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_CURVE_OCCURRENCE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_SYMBOL_OCCURRENCE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_FILL_AREA_OCCURRENCE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_TEXT_OCCURRENCE']) = 1)
- )) >= 1;
- WR3 : SIZEOF (QUERY (item <* SELF\representation.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_SUBFIGURE_OCCURRENCE'
- IN TYPEOF (item))) = 0;
- WR4 : SIZEOF (QUERY (srm <* QUERY (rm <*
- USEDIN (SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'REPRESENTATION_MAP.MAPPED_REPRESENTATION') |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SYMBOL_REPRESENTATION_MAP'
- IN TYPEOF(rm))) |
- (SIZEOF (QUERY (a_s <* QUERY (mi <* srm.map_usage |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_SYMBOL' IN TYPEOF(mi))) |
- NOT (SIZEOF (QUERY(aso <*
- USEDIN(a_s, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'STYLED_ITEM.ITEM') |
- NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_SYMBOL_OCCURRENCE'
- IN TYPEOF(aso))
- )) = 0) )) = 0) )) > 0;
- WR5 : NOT (acyclic_mapped_item_usage (SELF));
- WR6 : 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_revision
- SUBTYPE OF (presentation_area);
- revision_identifier : identifier;
-WHERE
- WR1 : SIZEOF( QUERY(item <* SELF\representation.items |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' IN (TYPEOF(item)))
- AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DRAWING_SHEET_REVISION'
- IN TYPEOF (SELF\representation_relationship.rep_1);
- WR3 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DRAWING_SHEET_REVISION' IN
- TYPEOF(SELF\area_in_set.area))
- AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ([ 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_BASED_WIREFRAME_MODEL', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT_3D' ] * TYPEOF (it)) = 1) )) = 0;
- WR2 : SIZEOF (
-QUERY ( it <* SELF.items| ( SIZEOF ([ 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_BASED_WIREFRAME_MODEL', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' ] * TYPEOF (it)) = 1) )) >= 1;
- WR3 : SIZEOF (
-QUERY ( ebwm <*
-QUERY ( it <* SELF.items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_CURVE' IN TYPEOF (edges)) )) = 0) )) = 0) )) = 0;
- WR4 : SIZEOF (
-QUERY ( ebwm <*
-QUERY ( it <* SELF.items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_POINT' IN TYPEOF (edges.edge_start)) AND ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_POINT' IN TYPEOF (edges.edge_end))) )) = 0) )) = 0) )) = 0;
- WR6 : SIZEOF (
-QUERY ( ebwm <*
-QUERY ( it <* SELF.items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' IN TYPEOF (it)) )| NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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_variable_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 effectivity
- SUPERTYPE OF (ONEOF (serial_numbered_effectivity, dated_effectivity, lot_effectivity, time_interval_based_effectivity));
- id : identifier;
-DERIVE
- description : text := get_description_value(SELF);
- name : label := get_name_value(SELF);
-WHERE
- WR1 : SIZEOF(USEDIN(SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1;
- WR2 : SIZEOF(USEDIN(SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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.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;
-
-
-ENTITY electric_potential_measure_with_unit
- SUBTYPE OF (measure_with_unit);
-WHERE
- WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MANIFOLD_SOLID_BREP',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FACETED_BREP',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT_3D'] *
- TYPEOF(it)) = 1))) = 0;
- WR2 : SIZEOF (QUERY (it <* SELF.items |
- SIZEOF(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MANIFOLD_SOLID_BREP',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM'] * TYPEOF(it)) =1 )) > 0;
- WR3 : SIZEOF (QUERY (msb <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF(it)) |
- NOT (SIZEOF (QUERY (csh <* msb_shells(msb) |
- NOT (SIZEOF (QUERY(fcs <* csh.cfs_faces |
- NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FACE_SURFACE' IN TYPEOF(fcs)))) = 0
- ))) = 0
- ))) = 0;
- WR4 : SIZEOF (QUERY (msb <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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(('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ELEMENTARY_SURFACE' IN
- TYPEOF(fcs\face_surface.face_geometry))
- ))) = 0
- ))) = 0
- ))) = 0;
- WR5 : SIZEOF (QUERY (msb <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF(bnds.bound)) |
- NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edge_list |
- NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_CURVE' IN
- TYPEOF(oe.edge_element)))) = 0
- ))) = 0
- ))) = 0
- ))) = 0
- ))) = 0;
- WR6 : SIZEOF (QUERY (msb <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF(bnds.bound)) |
- NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edge_list |
- NOT (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LINE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONIC',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF(bnds.bound)) |
- NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edge_list |
- NOT(('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_POINT' IN TYPEOF(oe.edge_start))
- AND ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_POINT' IN
- TYPEOF(oe.edge_end))
- ))) = 0
- ))) = 0
- ))) = 0
- ))) = 0
- ))) = 0;
- WR8 : SIZEOF (QUERY (msb <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF(bnds.bound)) |
- NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edge_list |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF(it)) |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ORIENTED_CLOSED_SHELL' IN TYPEOF
- (msb\manifold_solid_brep.outer)))
- = 0;
- WR10 : SIZEOF (QUERY (brv <* QUERY (it <* items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' IN TYPEOF(it)) |
- NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ELEMENTARY_BREP_SHAPE_REPRESENTATION' IN
- TYPEOF(mi\mapped_item.mapping_source.
- mapped_representation)))) = 0;
- WR12 : SIZEOF (QUERY (msb <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_LOOP' IN TYPEOF(bnds.bound)) |
- NOT(('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_POINT' IN
- TYPEOF(vlp_fbnds\face_bound.bound\vertex_loop.loop_vertex)) AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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_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 energy_measure_with_unit
- SUBTYPE OF (measure_with_unit);
-WHERE
- WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 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 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_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 exclusive_product_concept_feature_category
- SUBTYPE OF (product_concept_feature_category);
-END_ENTITY;
-
-
-ENTITY executed_action
- SUBTYPE OF (action);
-END_ENTITY;
-
-
-ENTITY expanded_uncertainty
- SUBTYPE OF (standard_uncertainty);
- coverage_factor : REAL;
-END_ENTITY;
-
-
-ENTITY explicit_procedural_geometric_representation_item_relationship
- SUBTYPE OF (explicit_procedural_representation_item_relationship);
- SELF\representation_item_relationship.related_representation_item : geometric_representation_item;
- SELF\representation_item_relationship.relating_representation_item : procedural_shape_representation_sequence;
-WHERE
- WR1 : NOT (
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PROCEDURAL_REPRESENTATION'
- IN TYPEOF(SELF\representation_relationship.rep_2))) AND
- (NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 expression
- ABSTRACT SUPERTYPE OF (ONEOF (numeric_expression, boolean_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 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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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_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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.APPLIED_DOCUMENT_REFERENCE.ITEMS')| (adr.assigned_document.description = 'external size dimension specification') ));
-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_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_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_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 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;
-
-
-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;
-
-
-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(('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PLANE_ANGLE_MEASURE'
- IN TYPEOF(first_trim_condition)) OR
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PLANE_ANGLE_MEASURE'
- IN TYPEOF(second_trim_condition)));
- WR2 : NOT ((('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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
- (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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((('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LENGTH_MEASURE'
- IN TYPEOF(first_trim_condition)) AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 | 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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_surface
- SUBTYPE OF (face, geometric_representation_item);
- face_geometry : surface;
- same_sense : BOOLEAN;
-WHERE
- WR1 : NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ORIENTED_SURFACE' IN TYPEOF(face_geometry));
-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 ([ 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FACETED_BREP', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT_3D' ] * TYPEOF (it)) = 1) )) = 0;
- WR2 : SIZEOF (
-QUERY ( it <* items| ( SIZEOF ([ 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FACETED_BREP', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' ] * TYPEOF (it)) = 1) )) > 0;
- WR3 : SIZEOF (
-QUERY ( fbrep <*
-QUERY ( it <* items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FACE_SURFACE' IN TYPEOF (fcs)) AND (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PLANE' IN TYPEOF (fcs\face_surface.face_geometry)) AND ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FACE_OUTER_BOUND' IN TYPEOF (bnds)) )) = 1) )) = 0) )) = 0) )) = 0;
- WR5 : SIZEOF (
-QUERY ( msb <*
-QUERY ( it <* items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF (it)) )| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ORIENTED_CLOSED_SHELL' IN TYPEOF (msb\manifold_solid_brep.outer)) )) = 0;
- WR6 : SIZEOF (
-QUERY ( brv <*
-QUERY ( it <* items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' IN TYPEOF (it)) )| NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE' IN TYPEOF (closed_curve))) OR
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CIRCLE' IN TYPEOF (closed_curve)) OR
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ELLIPSE' IN TYPEOF (closed_curve)) OR
- ( ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.B_SPLINE_CURVE' IN TYPEOF (closed_curve))
- AND (closed_curve\b_spline_curve.closed_curve = TRUE) ) OR
- ( ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COMPOSITE_CURVE' IN TYPEOF (closed_curve))
- AND (closed_curve\composite_curve.closed_curve = TRUE) ) OR
- ( ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 flat_pattern_ply_representation_relationship
- SUBTYPE OF (shape_representation_relationship);
-WHERE
- WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE' IN TYPEOF (SELF));
-END_ENTITY;
-
-
-ENTITY force_measure_with_unit
- SUBTYPE OF (measure_with_unit);
-WHERE
- WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 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 (character_glyph_style_outline, character_glyph_style_stroke, curve_style, curve_style_font, curve_style_font_and_scaling, curve_style_font_pattern, 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 frequency_measure_with_unit
- SUBTYPE OF (measure_with_unit);
-WHERE
- WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 func
- SUBTYPE OF (compound_representation_item);
-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 general_material_property
- SUBTYPE OF (general_property);
-WHERE
- WR1 : SIZEOF( QUERY( gpa <* USEDIN(SELF,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GENERAL_PROPERTY_ASSOCIATION.BASE_DEFINITION') |
- NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MATERIAL_PROPERTY' IN TYPEOF(gpa.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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 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_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_curve_set
- SUBTYPE OF (geometric_set);
-WHERE
- WR1 : SIZEOF(QUERY(temp <* SELF\geometric_set.elements |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE' IN TYPEOF(temp))) = 0;
-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.identified_item : geometric_representation_item;
- SELF\item_identified_representation_usage.used_representation : shape_representation;
-END_ENTITY;
-
-
-ENTITY geometric_model_element_relationship
- SUBTYPE OF (geometric_representation_item, representation_item_relationship);
- SELF\representation_item_relationship.related_representation_item : geometric_representation_item;
- SELF\representation_item_relationship.relating_representation_item : geometric_representation_item;
-UNIQUE
- UR1 : relating_representation_item, 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
- SUBTYPE OF (representation_context);
- coordinate_space_dimension : dimension_count;
-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, right_angular_wedge, half_space_solid, shell_based_surface_model, face_based_surface_model, shell_based_wireframe_model, edge_based_wireframe_model, geometric_set, camera_model, camera_model_d3_multi_clipping_intersection, camera_model_d3_multi_clipping_union, light_source))
- SUBTYPE OF (representation_item);
-DERIVE
- dim : dimension_count := dimension_of(SELF);
-WHERE
- WR1 : SIZEOF (QUERY (using_rep <* using_representations (SELF) |
- NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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;
- name : label;
- description : text;
- magnitude : measure_with_unit;
- toleranced_shape_aspect : shape_aspect;
-WHERE
- WR1 : ('NUMBER' IN TYPEOF
- (magnitude\measure_with_unit.value_component)) AND
- (magnitude\measure_with_unit.value_component >= 0.0);
-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
- SUBTYPE OF (geometric_tolerance);
- datum_system : SET [1:?] OF datum_reference;
-END_ENTITY;
-
-
-ENTITY geometric_tolerance_with_defined_unit
- SUBTYPE OF (geometric_tolerance);
- unit_size : 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;
-
-
-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) *
-['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_CURVE_SET',
-'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT_2D',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM']) = 1)
- )) = 0;
- WR3 : SIZEOF (QUERY (item <* SELF.items |
- SIZEOF (TYPEOF (item) *
-['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_CURVE_SET',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM']) = 1
- )) >= 1;
- WR4 : SIZEOF (QUERY (mi <* QUERY (item <* SELF.items |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM'
- IN TYPEOF (item))) |
- NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_CURVE_SET'
- IN TYPEOF (item))) |
- NOT (SIZEOF (QUERY (elem <* gcs\geometric_set.elements |
- NOT (SIZEOF (TYPEOF (elem) *
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.B_SPLINE_CURVE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CIRCLE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COMPOSITE_CURVE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ELLIPSE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.OFFSET_CURVE_2D',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POLYLINE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.TRIMMED_CURVE']) =
- 1)
- )) = 0)
- )) = 0;
- WR6 : SIZEOF (QUERY (gcs <* QUERY (item <* SELF.items |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_CURVE_SET'
- IN TYPEOF (item))) |
- NOT (SIZEOF (QUERY (crv <*
- QUERY (elem <* gcs\geometric_set.elements |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE'
- IN TYPEOF (elem))) |
- NOT (valid_basis_curve_in_2d_wireframe
- (crv))
- )) = 0)
- )) = 0;
- WR7 : SIZEOF (QUERY (gcs <* QUERY (item <* SELF.items |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_CURVE_SET'
- IN TYPEOF (item))) |
- NOT (SIZEOF (QUERY (pnt <*
- QUERY (elem <* gcs\geometric_set.elements |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT'
- IN TYPEOF(elem))) |
- NOT (SIZEOF (TYPEOF (pnt) *
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CARTESIAN_POINT',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_SET', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT_3D'] * TYPEOF(it)) = 1))) = 0;
- WR2 : SIZEOF(QUERY(it <* SELF.items | SIZEOF(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_SET', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM'] * TYPEOF(it)) = 1)) > 0;
- WR3 : SIZEOF(QUERY(mi <* QUERY(it <* SELF.items | 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' IN TYPEOF(it)) | NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 | ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_SET' IN TYPEOF(mr_it)))) > 0)))) = 0;
- WR4 : SIZEOF(QUERY(gs <* QUERY(it <* SELF.items | 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_SET' IN TYPEOF(it)) | NOT (SIZEOF(QUERY(pnt <* QUERY(gsel <* gs\geometric_set.elements | 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT' IN TYPEOF(gsel)) | NOT (gbsf_check_point(pnt)))) = 0))) = 0;
- WR5 : SIZEOF(QUERY(gs <* QUERY(it <* SELF.items | 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_SET' IN TYPEOF(it)) | NOT (SIZEOF(QUERY(cv <* QUERY(gsel <* gs\geometric_set.elements | 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE' IN TYPEOF(gsel)) | NOT (gbsf_check_curve(cv)))) = 0))) = 0;
- WR6 : SIZEOF(QUERY(gs <* QUERY(it <* SELF.items | 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_SET' IN TYPEOF(it)) | NOT (SIZEOF(QUERY(sf <* QUERY(gsel <* gs\geometric_set.elements | 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE' IN TYPEOF(gsel)) | NOT (gbsf_check_surface(sf)))) = 0))) = 0;
- WR7 : SIZEOF(QUERY(gs <* QUERY(it <* SELF.items | 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_SET' IN TYPEOF(it)) | SIZEOF(QUERY(gsel <* gs\geometric_set.elements | 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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) * [ 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_CURVE_SET', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT_3D', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' ]) = 1) )) = 0;
- WR2 : SIZEOF (
-QUERY ( it <* SELF.items| ( SIZEOF ( TYPEOF (it) * [ 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_CURVE_SET', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' ]) = 1) )) >= 1;
- WR3 : SIZEOF (
-QUERY ( gcs <*
-QUERY ( it <* SELF.items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_CURVE_SET' IN TYPEOF (it)) )| NOT ( SIZEOF (
-QUERY ( crv <*
-QUERY ( elem <* gcs\geometric_set.elements| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE' IN TYPEOF (elem)) )| NOT valid_geometrically_bounded_wf_curve(crv) )) = 0) )) = 0;
- WR4 : SIZEOF (
-QUERY ( gcs <*
-QUERY ( it <* SELF.items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_CURVE_SET' IN TYPEOF (it)) )| NOT ( SIZEOF (
-QUERY ( pnts <*
-QUERY ( elem <* gcs\geometric_set.elements| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT' IN TYPEOF (elem)) )| NOT valid_geometrically_bounded_wf_point(pnts) )) = 0) )) = 0;
- WR5 : SIZEOF (
-QUERY ( gcs <*
-QUERY ( it <* SELF.items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_CURVE_SET' IN TYPEOF (it)) )| NOT ( SIZEOF (
-QUERY ( cnc <*
-QUERY ( elem <* gcs\geometric_set.elements| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONIC' IN TYPEOF (elem)) )| NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT_3D' IN TYPEOF (cnc\conic.position)) )) = 0) )) = 0;
- WR6 : SIZEOF (
-QUERY ( gcs <*
-QUERY ( it <* SELF.items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_CURVE_SET' IN TYPEOF (it)) )| NOT ( SIZEOF (
-QUERY ( pline <*
-QUERY ( elem <* gcs\geometric_set.elements| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POLYLINE' IN TYPEOF (elem)) )| NOT ( SIZEOF (pline\polyline.points) > 2) )) = 0) )) = 0;
- WR7 : SIZEOF (
-QUERY ( mi <*
-QUERY ( it <* SELF.items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' IN TYPEOF (it)) )| NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'GEOMETRICALLY_BOUNDED_WIREFRAME_SHAPE_REPRESENTATION' IN TYPEOF (mi\mapped_item.mapping_source.mapped_representation)) )) = 0;
-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;
- name : label;
- description : OPTIONAL text;
-DERIVE
- id : identifier := get_id_value(SELF);
-WHERE
- WR1 : SIZEOF(USEDIN(SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1;
-END_ENTITY;
-
-
-ENTITY group_assignment
- ABSTRACT SUPERTYPE;
- assigned_group : group;
-DERIVE
- role : object_role := get_role(SELF);
-WHERE
- WR1 : SIZEOF(USEDIN(SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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_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 ) <=4} ) AND ( SIZEOF ( QUERY (
- i <* items | ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF ( i ) ) AND (
- i.name IN [ 'measuring method' , 'measuring position' ] ) )
- ) + SIZEOF ( QUERY ( i <* items | ( SIZEOF (
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'MEASURE_REPRESENTATION_ITEM' ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+
- 'USED_REPRESENTATION' ) ) =1 ) AND ( SIZEOF ( QUERY ( pdr
- <* USEDIN ( SELF ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+
- 'USED_REPRESENTATION' ) | SIZEOF ( QUERY ( gpa <* USEDIN (
- pdr. definition ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'GENERAL_PROPERTY_ASSOCIATION.'+
- 'DERIVED_DEFINITION' ) | ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'GENERAL_PROPERTY' IN TYPEOF ( gpa. base_definition ) ) AND
- ( gpa. base_definition.name ='surface_condition' ) ) ) =1 )
- ) =1 );
-END_ENTITY;
-
-
-ENTITY hidden_element_over_riding_styled_item
- SUBTYPE OF (context_dependent_over_riding_styled_item);
- SELF\styled_item.item : camera_image;
- SELF\context_dependent_over_riding_styled_item.style_context : LIST [1:1] OF presentation_view;
-INVERSE
- container: SET [1:?] OF presentation_view FOR items;
-WHERE
- WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CAMERA_MODEL_D3_WITH_HLHSR' IN TYPEOF
- (SELF.item\mapped_item.mapping_source.mapping_origin);
-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 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 included_text_block
- SUBTYPE OF (mapped_item);
-WHERE
- WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'PACKAGE_PRODUCT_CONCEPT_FEATURE' IN TYPEOF ( SELF ) );
- WR2 : SIZEOF (QUERY
- ( cfr <* USEDIN
- ( SELF ,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'CONCEPT_FEATURE_RELATIONSHIP.RELATING_PRODUCT_CONCEPT_FEATURE' )
- |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'CONCEPT_FEATURE_RELATIONSHIP_WITH_CONDITION' IN TYPEOF( cfr )
- )
- ) +
- SIZEOF(QUERY
- ( cfr <* USEDIN
- (SELF , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'CONCEPT_FEATURE_RELATIONSHIP.RELATED_PRODUCT_CONCEPT_FEATURE' )
- |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'CONCEPT_FEATURE_RELATIONSHIP_WITH_CONDITION' IN TYPEOF(cfr)
- )
- )= 0;
- WR3 : SELF.condition.conditional_operator.name = 'implication';
-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);
-WHERE
- WR1 : SIZEOF(QUERY(q <*
- SELF\indirectly_selected_elements.indirectly_picked_items
- | NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHAPE_REPRESENTATION_ITEM'
- IN TYPEOF(q)))) = 0;
-END_ENTITY;
-
-
-ENTITY inductance_measure_with_unit
- SUBTYPE OF (measure_with_unit);
-WHERE
- WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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_usage_context_assignment
- SUBTYPE OF (product_definition_context);
- items : SET [1:?] OF instance_usage_context_select;
-END_ENTITY;
-
-
-ENTITY instanced_feature
- SUBTYPE OF (shape_aspect, shape_feature_definition);
-WHERE
- WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT_DEFINITION' IN
- TYPEOF(SELF\shape_aspect.of_shape.definition);
- WR2 : SELF\shape_aspect.product_definitional;
-END_ENTITY;
-
-
-ENTITY int_literal
- SUBTYPE OF (literal_number);
- SELF\literal_number.the_value : INTEGER;
-END_ENTITY;
-
-
-ENTITY integer_representation_item
- SUBTYPE OF (representation_item, int_literal);
-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_high : generic_expression := SELF\multiple_arity_generic_expression.operands[3];
- interval_item : generic_expression := SELF\multiple_arity_generic_expression.operands[2];
- interval_low : generic_expression := SELF\multiple_arity_generic_expression.operands[1];
-WHERE
- WR1 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EXPRESSION'
- IN TYPEOF(interval_low))
- AND ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EXPRESSION'
- IN TYPEOF(interval_item) )
- AND ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EXPRESSION'
- IN TYPEOF(interval_high));
- WR2 : (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STRING_EXPRESSION'
- IN TYPEOF (SELF.interval_low))
- AND ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STRING_EXPRESSION'
- IN TYPEOF (SELF.interval_high))
- AND ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STRING_EXPRESSION'
- IN TYPEOF (SELF.interval_item)))
- OR
- (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STRING_EXPRESSION'
- IN TYPEOF(SELF.interval_low))
- AND ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.NUMERIC_EXPRESSION'
- IN TYPEOF(SELF.interval_item))
- AND ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 : represented_definition;
- used_representation : representation;
- identified_item : representation_item;
-WHERE
- WR1 : SELF.used_representation IN using_representations(SELF.identified_item);
-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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'DRAUGHTING_CALLOUT.CONTENTS')
- | 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LEADER_CURVE' IN TYPEOF (con)))=1;
-END_ENTITY;
-
-
-ENTITY leader_terminator
- SUBTYPE OF (terminator_symbol);
-WHERE
- WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LEADER_CURVE' IN TYPEOF
- (SELF\terminator_symbol.annotated_curve);
-END_ENTITY;
-
-
-ENTITY length_measure_with_unit
- SUBTYPE OF (measure_with_unit);
-WHERE
- WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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.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;
-
-
-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,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 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);
-WHERE
- WR1 : NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE' IN TYPEOF (SELF)) OR ( SIZEOF (SELF\geometric_tolerance_with_datum_reference.datum_system) <= 3);
- WR2 : SIZEOF (
-QUERY ( sar <* USEDIN (SELF\geometric_tolerance.toleranced_shape_aspect, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT')| (sar.name IN [ 'affected plane association', 'resulting intersection curve association' ]) )) = 1;
-END_ENTITY;
-
-
-ENTITY linear_dimension
- SUBTYPE OF (dimension_curve_directed_callout);
-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 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 luminous_flux_measure_with_unit
- SUBTYPE OF (measure_with_unit);
-WHERE
- WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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.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;
-
-
-ENTITY magnetic_flux_density_measure_with_unit
- SUBTYPE OF (measure_with_unit);
-WHERE
- WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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_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 (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONNECTED_FACE_SUB_SET',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT_3D'] *
- TYPEOF(it)) = 1))) = 0;
- WR2 : SIZEOF (QUERY (it <* SELF.items |
- SIZEOF(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONNECTED_FACE_SUB_SET',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM'] * TYPEOF(it)) =1 )) > 0;
- WR3 : SIZEOF (QUERY (mi <* QUERY (it <* items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' IN TYPEOF(it)) |
- NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MANIFOLD_SUBSURFACE_SHAPE_REPRESENTATION' IN
- TYPEOF(mi\mapped_item.mapping_source.
- mapped_representation)))) = 0;
- WR4 : SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) |
- NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.OPEN_SHELL' IN TYPEOF(cfss)))) = 0;
- WR5 : SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) |
- NOT( (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ADVANCED_FACE' IN TYPEOF(fac)))) = 0)
- ))) = 0;
- WR6 : SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) |
- NOT (SIZEOF (QUERY(fcs <* cfss\connected_face_set.cfs_faces |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SUBFACE' IN TYPEOF(fcs)) AND
- NOT (SIZEOF(QUERY (elp_fbnds <* QUERY (bnds <* fcs.bounds |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF(bnds.bound)) |
- NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edge_list |
- NOT(('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_CURVE' IN
- TYPEOF(oe.edge_element)) OR
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SUBEDGE' IN
- TYPEOF(oe.edge_element)) ))) = 0
- ))) = 0
- ))) = 0
- ))) = 0;
- WR8 : SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) |
- NOT (SIZEOF (QUERY(fcs <* cfss\connected_face_set.cfs_faces |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SUBFACE' IN TYPEOF(fcs)) AND
- NOT (SIZEOF(QUERY (elp_fbnds <* QUERY (bnds <* fcs.bounds |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF(bnds.bound)) |
- NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edge_list |
- NOT(('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_POINT' IN TYPEOF(oe.edge_start))
- AND ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_POINT' IN
- TYPEOF(oe.edge_end))
- ))) = 0
- ))) = 0
- ))) = 0
- ))) = 0;
- WR9 : SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) |
- NOT (SIZEOF (QUERY(fcs <* cfss\connected_face_set.cfs_faces |
- ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SUBFACE' IN TYPEOF(fcs)) AND
- ( NOT (SIZEOF(QUERY (bnds <* fcs.bounds |
- NOT (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_LOOP'] *
- TYPEOF(bnds.bound)) = 1 )
- )) = 0)
- ))) = 0
- ))) = 0;
- WR10 : SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) |
- NOT (SIZEOF (QUERY(fcs <* cfss\connected_face_set.cfs_faces |
- ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SUBFACE' IN TYPEOF(fcs)) AND
- ( NOT (SIZEOF(QUERY (elp_fbnds <* QUERY (bnds <* fcs.bounds |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF(bnds.bound)) |
- NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edge_list |
- NOT (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LINE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONIC',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POLYLINE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_CURVE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) |
- NOT (SIZEOF (QUERY(fcs <* cfss\connected_face_set.cfs_faces |
- ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SUBFACE' IN TYPEOF(fcs)) AND
- (NOT (SIZEOF(QUERY (elp_fbnds <* QUERY (bnds <* fcs.bounds |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF(bnds.bound)) |
- NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edge_list |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PCURVE' IN
- TYPEOF(sc_ag)))) = 0)))
- )) = 0
- ))) = 0
- )))) = 0
- ))) = 0;
- WR12 : SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) |
- NOT (SIZEOF (QUERY(fcs <* cfss\connected_face_set.cfs_faces |
- ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SUBFACE' IN TYPEOF(fcs)) AND
- (NOT (SIZEOF(QUERY (elp_fbnds <* QUERY (bnds <* fcs.bounds |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF(bnds.bound)) |
- NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edge_list |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHELL_BASED_SURFACE_MODEL',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT_3D'] * TYPEOF (it)) = 1))) = 0;
- WR2 : SIZEOF (QUERY (it <* SELF.items |
- SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHELL_BASED_SURFACE_MODEL',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM'] * TYPEOF (it)) = 1)) > 0;
- WR3 : SIZEOF (QUERY (mi <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' IN TYPEOF (it)) |
- NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHELL_BASED_SURFACE_MODEL'
- IN TYPEOF (mr_it)))) > 0 )))) = 0;
- WR4 : SIZEOF (QUERY (sbsm <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHELL_BASED_SURFACE_MODEL' IN TYPEOF (it)) |
- NOT (SIZEOF (QUERY (sh <*
- sbsm\shell_based_surface_model.sbsm_boundary |
- NOT (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.OPEN_SHELL',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ORIENTED_CLOSED_SHELL',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CLOSED_SHELL']
- * TYPEOF (sh)) = 1))) = 0))) = 0;
- WR5 : SIZEOF (QUERY (sbsm <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FACE_SURFACE' IN TYPEOF (fa)) )) = 0)))
- = 0))) = 0;
- WR6 : SIZEOF (QUERY (sbsm <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa))
- OR
- (SIZEOF (QUERY (bnds <* fa.bounds |
- NOT (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_LOOP']
- * TYPEOF (bnds.bound)) = 1))) = 0)))) = 0))) = 0))) = 0;
- WR8 : SIZEOF (QUERY (sbsm <* QUERY (it <* SELF.items|
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa))
- OR
- (SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) |
- NOT (SIZEOF (QUERY (oe <* elp_fbnds\path.edge_list |
- NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_CURVE' IN TYPEOF
- (oe.edge_element)))) = 0))) = 0)))) = 0))) = 0))) = 0;
- WR9 : SIZEOF (QUERY (sbsm <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa))
- OR
- (SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) |
- NOT (SIZEOF (QUERY (oe_cv <* QUERY (oe <*
- elp_fbnds\path.edge_list |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_CURVE' IN TYPEOF (oe.edge_element)) |
- NOT (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.B_SPLINE_CURVE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONIC',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_REPLICA',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LINE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.OFFSET_CURVE_3D',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PCURVE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POLYLINE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa))
- OR
- (SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa))
- OR
- (SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) |
- NOT (SIZEOF (QUERY (oe <* elp_fbnds\path.edge_list|
- NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_POINT' IN TYPEOF
- (oe.edge_element.edge_start))
- AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_POINT' IN
- TYPEOF (oe.edge_element.edge_end)))))
- = 0))) = 0)))) = 0))) = 0))) = 0;
- WR12 : SIZEOF (QUERY (sbsm <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa))
- OR
- (SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) |
- NOT (SIZEOF (QUERY (oe <* elp_fbnds\path.edge_list |
- NOT ((SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CARTESIAN_POINT',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DEGENERATE_PCURVE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT_ON_CURVE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT_ON_SURFACE'] * TYPEOF
- (oe.edge_element.edge_start\vertex_point.vertex_geometry)) = 1)
- AND
- (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CARTESIAN_POINT',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DEGENERATE_PCURVE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT_ON_CURVE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa))
- OR
- (SIZEOF (QUERY (vlp_fbnds <* QUERY (bnds <* fa.bounds |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_LOOP' IN TYPEOF (bnds.bound)) |
- NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_POINT' IN TYPEOF
- (vlp_fbnds\vertex_loop.loop_vertex)))) = 0)))) = 0)))
- = 0))) = 0;
- WR14 : SIZEOF (QUERY (sbsm <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa))
- OR
- (SIZEOF (QUERY (vlp_fbnds <* QUERY (bnds <* fa.bounds |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_LOOP' IN TYPEOF (bnds.bound)) |
- NOT (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CARTESIAN_POINT',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DEGENERATE_PCURVE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT_ON_CURVE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 mass_measure_with_unit
- SUBTYPE OF (measure_with_unit);
-WHERE
- WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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.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;
-
-
-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 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CHARACTERIZED_OBJECT' IN
- TYPEOF(SELF\property_definition.definition)) OR
- (SIZEOF(bag_to_set(USEDIN(SELF ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION')) -
- QUERY(temp <* bag_to_set(USEDIN(SELF ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION')) |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 measure_qualification;
- name : label;
- description : text;
- qualified_measure : measure_with_unit;
- qualifiers : SET [1:?] OF value_qualifier;
-WHERE
- WR1 : SIZEOF(QUERY(temp <* qualifiers |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRECISION_QUALIFIER'
- IN TYPEOF(temp))) < 2;
- WR2 : NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'DRAUGHTING_MODEL' IN TYPEOF(rep_2)) OR
- (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'DRAUGHTING_MODEL' IN TYPEOF(rep_1)) OR
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'SHAPE_REPRESENTATION' IN TYPEOF(rep_1)));
- WR2 : NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION' IN TYPEOF(rep_2)) OR
- (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION' IN TYPEOF(rep_1)) OR
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'SHAPE_REPRESENTATION' IN TYPEOF(rep_1)));
- WR3 : NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'MECHANICAL_DESIGN_SHADED_PRESENTATION_REPRESENTATION' IN TYPEOF(rep_2)) OR
- (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'MECHANICAL_DESIGN_SHADED_PRESENTATION_REPRESENTATION' IN TYPEOF(rep_1)) OR
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM'
- IN TYPEOF(it1))
- OR
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRESENTATION_VIEW'
- IN TYPEOF
- (it1\mapped_item.mapping_source.mapped_representation)))) = 0;
- WR2 : SIZEOF(QUERY(pv <* QUERY(mi1 <* QUERY(it1 <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM'
- IN TYPEOF(it1)) |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT'
- IN TYPEOF(it2))
- OR
- (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM'
- IN TYPEOF(it2)) AND NOT
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'CAMERA_IMAGE_3D_WITH_SCALE' IN TYPEOF(it2))) AND NOT (
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRESENTATION_VIEW'
- IN TYPEOF
- (it2\mapped_item.mapping_source.mapped_representation)))
- OR
- (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'CAMERA_IMAGE_3D_WITH_SCALE' IN TYPEOF(it2))
- AND NOT (
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION'
- IN TYPEOF (it2\mapped_item.mapping_source.mapped_representation) ))
- ))) = 0))) = 0;
- WR3 : (SIZEOF(QUERY(ps <* USEDIN (SELF,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'PRESENTATION_SIZE.UNIT') | ((ps.size\planar_extent.size_in_x <= 0)
- OR
- (ps.size\planar_extent.size_in_y <= 0)))) = 0)
- AND
- (SIZEOF(QUERY(ais <* USEDIN (SELF,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'AREA_IN_SET.AREA') |
- (SIZEOF(QUERY(ps <* USEDIN (ais,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'PRESENTATION_SIZE.UNIT') |
- ((ps.size\planar_extent.size_in_x <= 0)
- OR
- (ps.size\planar_extent.size_in_y <= 0)))) > 0))) = 0);
- WR4 : (SIZEOF(QUERY(ps <* USEDIN (SELF,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'PRESENTATION_SIZE.UNIT') |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'AXIS2_PLACEMENT_2D' IN TYPEOF (ps.size.placement)))) = 1)
- AND
- (SIZEOF(QUERY(ps <* USEDIN (SELF,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'PRESENTATION_SIZE.UNIT') |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'AXIS2_PLACEMENT_3D' IN TYPEOF (ps.size.placement)))) = 0)
- OR
- ((SIZEOF(QUERY(ais <* USEDIN (SELF,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'AREA_IN_SET.AREA') |
- (SIZEOF(QUERY(ps <* USEDIN (ais,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'PRESENTATION_SIZE.UNIT') |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'AXIS2_PLACEMENT_2D' IN TYPEOF (ps.size.placement)))) = 1))) = 1)
- AND
- (SIZEOF(QUERY(ais <* USEDIN (SELF,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'AREA_IN_SET.AREA') |
- (SIZEOF(QUERY(ps <* USEDIN (ais,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'PRESENTATION_SIZE.UNIT') |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM'
- IN TYPEOF(it))) | NOT (SIZEOF(
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'SHAPE_REPRESENTATION',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
- IN TYPEOF(it))) |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM'
- IN TYPEOF(si\styled_item.item))) | NOT (
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
- IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\styled_item.styles |
- NOT (SIZEOF(QUERY(pss <* psa.styles | NOT (SIZEOF(
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT_STYLE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_STYLE_USAGE']
- * TYPEOF(pss)) = 1))) = 0))) = 0))) = 0;
- WR4 : SIZEOF(QUERY(si <* QUERY(it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
- IN TYPEOF(it)) |
- NOT (SIZEOF(QUERY(psbc <* QUERY(psa <* si\styled_item.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'PRESENTATION_STYLE_BY_CONTEXT' IN TYPEOF(psa)) | NOT (SIZEOF(
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'REPRESENTATION_ITEM',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.REPRESENTATION']
- * TYPEOF(psbc\presentation_style_by_context.style_context))
- = 1))) = 0))) = 0;
- WR5 : SIZEOF(QUERY(si <* QUERY(it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
- IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\styled_item.styles |
- NOT (SIZEOF(QUERY(ps <* QUERY(pss <* psa.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT_STYLE'
- IN TYPEOF(pss)) | NOT
- (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'POSITIVE_LENGTH_MEASURE' IN TYPEOF (ps\point_style.marker_size))
- AND (SIZEOF(
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COLOUR_RGB',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'DRAUGHTING_PRE_DEFINED_COLOUR']
- * TYPEOF(ps\point_style.marker_colour))
- = 1)))) = 0))) = 0))) = 0;
- WR6 : SIZEOF(QUERY(si <* QUERY(it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
- IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\styled_item.styles |
- NOT (SIZEOF(QUERY(cs <* QUERY(pss <* psa.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE'
- IN TYPEOF(pss)) | NOT((SIZEOF(
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COLOUR_RGB',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'DRAUGHTING_PRE_DEFINED_COLOUR']
- * TYPEOF(cs\curve_style.curve_colour)) = 1)
- AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'POSITIVE_LENGTH_MEASURE' IN TYPEOF (cs\curve_style.curve_width))
- AND (SIZEOF(
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE_FONT',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
- IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\styled_item.styles |
- NOT (SIZEOF(QUERY(ssu <* QUERY(pss <* psa.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_STYLE_USAGE'
- IN TYPEOF(pss)) |
- NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'SURFACE_SIDE_STYLE' IN TYPEOF
- (ssu\surface_style_usage.style)))) = 0))) = 0))) = 0;
- WR8 : SIZEOF(QUERY(si <* QUERY(it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
- IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\styled_item.styles |
- NOT (SIZEOF(QUERY(ssu <* QUERY(pss <* psa.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_STYLE_USAGE'
- IN TYPEOF(pss)) | NOT (SIZEOF(QUERY(sses <*
- ssu\surface_style_usage.style\surface_side_style.styles |
- NOT (SIZEOF(
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'SURFACE_STYLE_PARAMETER_LINE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'SURFACE_STYLE_CONTROL_GRID',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'SURFACE_STYLE_SILHOUETTE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'SURFACE_STYLE_SEGMENTATION_CURVE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'SURFACE_STYLE_FILL_AREA',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'SURFACE_STYLE_BOUNDARY']
- * TYPEOF(sses)) = 1))) = 0))) = 0))) = 0))) = 0;
- WR9 : SIZEOF(QUERY(si <* QUERY(it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
- IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\styled_item.styles |
- NOT (SIZEOF(QUERY(ssu <* QUERY(pss <* psa.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_STYLE_USAGE'
- IN TYPEOF(pss)) | NOT (SIZEOF(QUERY(sspl <* QUERY(sses <*
- ssu\surface_style_usage.style\surface_side_style.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'SURFACE_STYLE_PARAMETER_LINE' IN TYPEOF(sses)) |
- NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE'
- IN TYPEOF
- (sspl\surface_style_parameter_line.style_of_parameter_lines))
- AND (SIZEOF(
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COLOUR_RGB',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'DRAUGHTING_PRE_DEFINED_COLOUR']
- * TYPEOF(sspl\surface_style_parameter_line.
- style_of_parameter_lines\curve_style.curve_colour)) = 1)
- AND (
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'POSITIVE_LENGTH_MEASURE' IN TYPEOF
- (sspl\surface_style_parameter_line.
- style_of_parameter_lines\curve_style.curve_width))
- AND (SIZEOF(
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE_FONT',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
- IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\styled_item.styles |
- NOT (SIZEOF(QUERY(ssu <* QUERY(pss <* psa.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_STYLE_USAGE'
- IN TYPEOF(pss)) | NOT (SIZEOF(QUERY(sscg <* QUERY(sses <*
- ssu\surface_style_usage.style\surface_side_style.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'SURFACE_STYLE_CONTROL_GRID' IN TYPEOF(sses)) |
- NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE'
- IN TYPEOF (sscg\surface_style_control_grid.style_of_control_grid))
- AND (SIZEOF(
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COLOUR_RGB',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'DRAUGHTING_PRE_DEFINED_COLOUR']
- * TYPEOF(sscg\surface_style_control_grid.
- style_of_control_grid\curve_style.curve_colour)) = 1)
- AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'POSITIVE_LENGTH_MEASURE' IN TYPEOF
- (sscg\surface_style_control_grid.
- style_of_control_grid\curve_style.curve_width))
- AND (SIZEOF(
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE_FONT',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
- IN TYPEOF(it)) |
- NOT (SIZEOF(QUERY(psa <* si\styled_item.styles |
- NOT (SIZEOF(QUERY(ssu <* QUERY(pss <* psa.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_STYLE_USAGE'
- IN TYPEOF(pss)) | NOT (SIZEOF(QUERY(sssh <* QUERY(sses <*
- ssu\surface_style_usage.style\surface_side_style.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'SURFACE_STYLE_SILHOUETTE' IN TYPEOF(sses)) |
- NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE'
- IN TYPEOF (sssh\surface_style_silhouette.style_of_silhouette))
- AND (SIZEOF(
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COLOUR_RGB',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'DRAUGHTING_PRE_DEFINED_COLOUR']
- * TYPEOF(sssh\surface_style_silhouette.
- style_of_silhouette\curve_style.curve_colour)) = 1)
- AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'POSITIVE_LENGTH_MEASURE' IN TYPEOF
- (sssh\surface_style_silhouette.style_of_silhouette\curve_style.
- curve_width))
- AND (SIZEOF(
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE_FONT',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
- IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\styled_item.styles |
- NOT (SIZEOF(QUERY(ssu <* QUERY(pss <* psa.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_STYLE_USAGE'
- IN TYPEOF(pss)) | NOT (SIZEOF(QUERY(sssc <* QUERY(sses <*
- ssu\surface_style_usage.style\surface_side_style.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'SURFACE_STYLE_SEGMENTATION_CURVE' IN TYPEOF(sses)) |
- NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE'
- IN TYPEOF
- (sssc\surface_style_segmentation_curve.style_of_segmentation_curve))
- AND (SIZEOF(
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COLOUR_RGB',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'DRAUGHTING_PRE_DEFINED_COLOUR']
- * TYPEOF(sssc\surface_style_segmentation_curve.
- style_of_segmentation_curve\curve_style.curve_colour)) = 1)
- AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'POSITIVE_LENGTH_MEASURE' IN TYPEOF
- (sssc\surface_style_segmentation_curve.
- style_of_segmentation_curve\curve_style.curve_width))
- AND (SIZEOF(
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE_FONT',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
- IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\styled_item.styles |
- NOT (SIZEOF(QUERY(ssu <* QUERY(pss <* psa.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_STYLE_USAGE'
- IN TYPEOF(pss)) | NOT (SIZEOF(QUERY(ssbd <* QUERY(sses <*
- ssu\surface_style_usage.style\surface_side_style.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'SURFACE_STYLE_BOUNDARY' IN TYPEOF(sses)) |
- NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE'
- IN TYPEOF (ssbd\surface_style_boundary.style_of_boundary))
- AND (SIZEOF(
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COLOUR_RGB',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'DRAUGHTING_PRE_DEFINED_COLOUR']
- * TYPEOF(ssbd\surface_style_boundary.
- style_of_boundary\curve_style.curve_colour)) = 1)
- AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'POSITIVE_LENGTH_MEASURE' IN TYPEOF (ssbd\surface_style_boundary.
- style_of_boundary\curve_style.curve_width))
- AND (SIZEOF(
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE_FONT',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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);
-WHERE
- WR1 : SIZEOF (QUERY (it1 <* SELF.items |
- NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT'
- IN TYPEOF (it1))
- OR
- (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM'
- IN TYPEOF (it1)) AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRESENTATION_VIEW'
- IN TYPEOF
- (it1\mapped_item.mapping_source.mapped_representation)))))) = 0;
- WR2 : SIZEOF (QUERY (pv <* QUERY (mi1 <* QUERY (it1 <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM'
- IN TYPEOF (it1)) |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT'
- IN TYPEOF(it2))
- OR
- (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM'
- IN TYPEOF(it2)) AND NOT
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'CAMERA_IMAGE_3D_WITH_SCALE' IN TYPEOF(it2))) AND NOT (
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRESENTATION_VIEW'
- IN TYPEOF
- (it2\mapped_item.mapping_source.mapped_representation)))
- OR
- (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'CAMERA_IMAGE_3D_WITH_SCALE' IN TYPEOF(it2))
- AND NOT (
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'MECHANICAL_DESIGN_SHADED_PRESENTATION_REPRESENTATION'
- IN TYPEOF (it2\mapped_item.mapping_source.mapped_representation) ))
- ))) = 0))) = 0;
- WR3 : (SIZEOF (QUERY(ps <* USEDIN (SELF,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'PRESENTATION_SIZE.UNIT') |
- NOT ((ps.size\planar_extent.size_in_x > 0)
- AND (ps.size\planar_extent.size_in_y > 0)) )) = 0)
- AND
- (* check secondly for presentation_set, via area_in_set *)
- (SIZEOF (QUERY(pset <* QUERY(ais <*
- USEDIN (SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'AREA_IN_SET.AREA')
- | 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'PRESENTATION_SET' IN TYPEOF (ais.in_set)) |
- (* after having collected all presentation_set, check their sizes *)
- SIZEOF (QUERY(psize <* USEDIN(pset,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'PRESENTATION_SIZE.UNIT')
- | NOT ((psize.size\planar_extent.size_in_x > 0)
- AND (psize.size\planar_extent.size_in_y > 0)) )) = 0)) = 0);
- WR4 : (SIZEOF(QUERY( psize <* USEDIN (SELF,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'PRESENTATION_SIZE.UNIT')
- | 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'AREA_IN_SET.AREA')
- | 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'PRESENTATION_SET' IN TYPEOF (ais.in_set)) |
- (* after having collected all presentation_set, check their
- dimension *)
- SIZEOF (QUERY(psize <* USEDIN(pset,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'PRESENTATION_SIZE.UNIT')
- | NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'AXIS2_PLACEMENT_2D'
- IN TYPEOF (psize.size.placement)) )) = 0)) = 0);
- WR5 : SIZEOF (QUERY (pv <* QUERY (mi1 <* QUERY (it1 <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM'
- IN TYPEOF (it1)) |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'CAMERA_IMAGE_3D_WITH_SCALE' IN TYPEOF(ci))
- AND
- (SIZEOF(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'CAMERA_MODEL_D3',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'CAMERA_MODEL_D3_WITH_HLHSR',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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);
-WHERE
- WR1 : SIZEOF(QUERY(it <* SELF.items |
- NOT (SIZEOF(
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CAMERA_MODEL_D3']
- * TYPEOF(it)) = 1))) = 0;
- WR2 : SIZEOF(QUERY(mi <* QUERY(it <* SELF.items |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM'
- IN TYPEOF(it))) | NOT (SIZEOF(
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'SHAPE_REPRESENTATION',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'MECHANICAL_DESIGN_SHADED_PRESENTATION_REPRESENTATION']
- * TYPEOF(mi\mapped_item.mapping_source.mapped_representation))
- = 1))) = 0;
- WR3 : SIZEOF(QUERY(smi <* QUERY(si <* QUERY(it <* SELF.items |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
- IN TYPEOF(it))) |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM'
- IN TYPEOF(si\styled_item.item))) | NOT (
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'SHAPE_REPRESENTATION' IN TYPEOF (smi\styled_item.
- item\mapped_item.mapping_source.mapped_representation))) )) = 0;
- WR4 : SIZEOF (QUERY (si <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
- IN TYPEOF (it)) |
- NOT (SIZEOF (QUERY (psa <* si\styled_item.styles |
- NOT (SIZEOF (QUERY (pss <* psa.styles |
- NOT (SIZEOF (
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT_STYLE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_STYLE_USAGE']
- * TYPEOF (pss)) = 1))) = 0))) = 0))) = 0;
- WR5 : SIZEOF (QUERY (si <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
- IN TYPEOF (it)) |
- NOT (SIZEOF (QUERY (psbc <* QUERY (psa <* si\styled_item.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'PRESENTATION_STYLE_BY_CONTEXT' IN TYPEOF (psa)) |
- NOT (SIZEOF (
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.REPRESENTATION_ITEM',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.REPRESENTATION']
- * TYPEOF (psbc\presentation_style_by_context.style_context)) = 1)))
- = 0))) = 0;
- WR6 : SIZEOF (QUERY (si <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
- IN TYPEOF (it)) |
- NOT (SIZEOF (QUERY (psa <* si\styled_item.styles |
- NOT (SIZEOF (QUERY (ps <* QUERY (pss <* psa.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT_STYLE'
- IN TYPEOF (pss)) |
- NOT (
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MARKER_TYPE'
- IN TYPEOF (ps\point_style.marker))
- AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF
- (ps\point_style.marker_size))
- AND
- (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COLOUR_RGB',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF
- (ps\point_style.marker_colour)) = 1)))) = 0))) = 0))) = 0;
- WR7 : SIZEOF (QUERY (si <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
- IN TYPEOF (it)) |
- NOT (SIZEOF (QUERY (psa <* si\styled_item.styles |
- NOT (SIZEOF (QUERY (cs <* QUERY (pss <* psa.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE'
- IN TYPEOF (pss)) |
- NOT (
- (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COLOUR_RGB',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF
- (cs\curve_style.curve_colour)) = 1)
- AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF
- (cs\curve_style.curve_width))
- AND
- (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'CURVE_STYLE_FONT', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF
- (cs\curve_style.curve_font)) = 1)))) = 0))) = 0))) = 0;
- WR8 : SIZEOF (QUERY (si <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
- IN TYPEOF (it)) |
- NOT (SIZEOF (QUERY (psa <* si\styled_item.styles |
- NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_STYLE_USAGE'
- IN TYPEOF (pss)) |
- NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_SIDE_STYLE'
- IN TYPEOF (ssu\surface_style_usage.style)) )) = 0))) = 0 ))) = 0;
- WR9 : SIZEOF (QUERY (si <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
- IN TYPEOF (it)) |
- NOT (SIZEOF (QUERY (psa <* si\styled_item.styles |
- NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_STYLE_USAGE'
- IN TYPEOF (pss)) |
- NOT (SIZEOF (QUERY (sses <*
- ssu\surface_style_usage.style\surface_side_style.styles |
- NOT (SIZEOF (
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'SURFACE_STYLE_PARAMETER_LINE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'SURFACE_STYLE_CONTROL_GRID',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'SURFACE_STYLE_SILHOUETTE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'SURFACE_STYLE_SEGMENTATION_CURVE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'SURFACE_STYLE_BOUNDARY',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'SURFACE_STYLE_FILL_AREA',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'SURFACE_STYLE_RENDERING'] * TYPEOF (sses)) = 1))) = 0))) = 0)))
- = 0))) = 0;
- WR10 : SIZEOF (QUERY (si <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
- IN TYPEOF (it)) |
- NOT (SIZEOF (QUERY (psa <* si\styled_item.styles |
- NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_STYLE_USAGE'
- IN TYPEOF (pss)) |
- NOT (SIZEOF (QUERY (ssfa <* QUERY (sses <*
- ssu\surface_style_usage.style\surface_side_style.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_STYLE_FILL_AREA'
- IN TYPEOF (sses)) |
- NOT (SIZEOF (QUERY (fss <*
- ssfa\surface_style_fill_area.fill_area.fill_styles |
- NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'FILL_AREA_STYLE_COLOUR' IN TYPEOF (fss))
- AND
- (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COLOUR_RGB',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF
- (fss\fill_area_style_colour.fill_colour)) = 1)))) = 0))) = 0)))
- = 0))) = 0))) = 0;
- WR11 : SIZEOF (QUERY (si <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
- IN TYPEOF (it)) |
- NOT (SIZEOF (QUERY (psa <* si\styled_item.styles |
- NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_STYLE_USAGE'
- IN TYPEOF (pss)) |
- NOT (SIZEOF (QUERY (sspl <* QUERY (sses <*
- ssu\surface_style_usage.style\surface_side_style.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'SURFACE_STYLE_PARAMETER_LINE' IN TYPEOF (sses)) |
- NOT ((
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE' IN TYPEOF
- (sspl\surface_style_parameter_line.style_of_parameter_lines))
- AND
- (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COLOUR_RGB',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF
- (sspl\surface_style_parameter_line.
- style_of_parameter_lines\curve_style.curve_colour)) = 1)
- AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF
- (sspl\surface_style_parameter_line.
- style_of_parameter_lines\curve_style.curve_width))
- AND
- (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'CURVE_STYLE_FONT', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF
- (sspl\surface_style_parameter_line.
- style_of_parameter_lines\curve_style.curve_font)) = 1))
- OR
- (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE_RENDERING'
- IN TYPEOF
- (sspl\surface_style_parameter_line.style_of_parameter_lines))
- AND
- (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COLOUR_RGB',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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;
- WR12 : SIZEOF (QUERY (si <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
- IN TYPEOF (it)) |
- NOT (SIZEOF (QUERY (psa <* si\styled_item.styles |
- NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_STYLE_USAGE'
- IN TYPEOF (pss)) |
- NOT (SIZEOF (QUERY (sscg <* QUERY (sses <*
- ssu\surface_style_usage.style\surface_side_style.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'SURFACE_STYLE_CONTROL_GRID' IN TYPEOF (sses)) |
- NOT ((
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE'
- IN TYPEOF (sscg\surface_style_control_grid.style_of_control_grid))
- AND
- (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COLOUR_RGB',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF
- (sscg\surface_style_control_grid.
- style_of_control_grid\curve_style.curve_colour)) = 1)
- AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF
- (sscg\surface_style_control_grid.
- style_of_control_grid\curve_style.curve_width))
- AND
- (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'CURVE_STYLE_FONT', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF
- (sscg\surface_style_control_grid.
- style_of_control_grid\curve_style.curve_font)) = 1))
- OR
- (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE_RENDERING'
- IN TYPEOF (sscg\surface_style_control_grid.style_of_control_grid))
- AND
- (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COLOUR_RGB',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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;
- WR13 : SIZEOF (QUERY (si <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
- IN TYPEOF (it)) |
- NOT (SIZEOF (QUERY (psa <* si\styled_item.styles |
- NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_STYLE_USAGE'
- IN TYPEOF (pss)) |
- NOT (SIZEOF (QUERY (sssh <* QUERY (sses <*
- ssu\surface_style_usage.style\surface_side_style.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'SURFACE_STYLE_SILHOUETTE' IN TYPEOF (sses)) |
- NOT ((
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE'
- IN TYPEOF (sssh\surface_style_silhouette.style_of_silhouette))
- AND
- (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COLOUR_RGB',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF
- (sssh\surface_style_silhouette.
- style_of_silhouette\curve_style.curve_colour)) = 1)
- AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF
- (sssh\surface_style_silhouette.
- style_of_silhouette\curve_style.curve_width))
- AND
- (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'CURVE_STYLE_FONT', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF
- (sssh\surface_style_silhouette.
- style_of_silhouette\curve_style.curve_font)) = 1))
- OR
- (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE_RENDERING'
- IN TYPEOF (sssh\surface_style_silhouette.style_of_silhouette))
- AND
- (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COLOUR_RGB',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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;
- WR14 : SIZEOF (QUERY (si <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
- IN TYPEOF (it)) |
- NOT (SIZEOF (QUERY (psa <* si\styled_item.styles |
- NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_STYLE_USAGE'
- IN TYPEOF (pss)) |
- NOT (SIZEOF (QUERY (sssc <* QUERY (sses <*
- ssu\surface_style_usage.style\surface_side_style.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'SURFACE_STYLE_SEGMENTATION_CURVE' IN TYPEOF (sses)) |
- NOT ((
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE'
- IN TYPEOF
- (sssc\surface_style_segmentation_curve.style_of_segmentation_curve))
- AND
- (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COLOUR_RGB',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF
- (sssc\surface_style_segmentation_curve.
- style_of_segmentation_curve\curve_style.curve_colour)) = 1)
- AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF
- (sssc\surface_style_segmentation_curve.
- style_of_segmentation_curve\curve_style.curve_width))
- AND
- (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'CURVE_STYLE_FONT', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF
- (sssc\surface_style_segmentation_curve.
- style_of_segmentation_curve\curve_style.curve_font)) = 1))
- OR
- (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE_RENDERING'
- IN TYPEOF (sssc\surface_style_segmentation_curve.
- style_of_segmentation_curve))
- AND
- (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COLOUR_RGB',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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;
- WR15 : SIZEOF (QUERY (si <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
- IN TYPEOF (it)) |
- NOT (SIZEOF (QUERY (psa <* si\styled_item.styles |
- NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_STYLE_USAGE'
- IN TYPEOF (pss)) |
- NOT (SIZEOF (QUERY (ssbd <* QUERY (sses <*
- ssu\surface_style_usage.style\surface_side_style.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'SURFACE_STYLE_BOUNDARY' IN TYPEOF (sses)) |
- NOT ((
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE'
- IN TYPEOF (ssbd\surface_style_boundary.style_of_boundary))
- AND
- (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COLOUR_RGB',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF
- (ssbd\surface_style_boundary.
- style_of_boundary\curve_style.curve_colour)) = 1)
- AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF
- (ssbd\surface_style_boundary.
- style_of_boundary\curve_style.curve_width))
- AND
- (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'CURVE_STYLE_FONT', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF
- (ssbd\surface_style_boundary.
- style_of_boundary\curve_style.curve_font)) = 1))
- OR
- (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE_RENDERING'
- IN TYPEOF (ssbd\surface_style_boundary.style_of_boundary))
- AND
- (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COLOUR_RGB',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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;
- WR16 : SIZEOF (QUERY (si <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
- IN TYPEOF (it)) |
- NOT (SIZEOF (QUERY (psa <* si\styled_item.styles |
- NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_STYLE_USAGE'
- IN TYPEOF (pss)) |
- NOT (SIZEOF (QUERY (ssre <* QUERY (sses <*
- ssu\surface_style_usage.style\surface_side_style.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'SURFACE_STYLE_RENDERING' IN TYPEOF (sses)) |
- NOT
- (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COLOUR_RGB',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF
- (ssre\surface_style_rendering.surface_colour)) = 1)))
- = 0))) = 0))) = 0))) = 0;
-END_ENTITY;
-
-
-ENTITY min_and_major_ply_orientation_basis
- SUBTYPE OF (representation_item_relationship, geometric_representation_item);
- SELF\representation_item_relationship.related_representation_item : axis2_placement_3d;
- SELF\representation_item_relationship.relating_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 modified_geometric_tolerance
- SUBTYPE OF (geometric_tolerance);
- modifier : limit_condition;
-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 moments_of_inertia_representation
- SUBTYPE OF (representation);
-WHERE
- WR1 : (SIZEOF(SELF.items) = 1) AND
- (SIZEOF( QUERY( i <* SELF.items | ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'COMPOUND_REPRESENTATION_ITEM' IN TYPEOF(i)) AND
- (i.name = 'moments of inertia matrix') )) = 1);
- WR2 : SIZEOF( QUERY( i <* SELF.items | ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'COMPOUND_REPRESENTATION_ITEM' IN TYPEOF(i)) AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 multiple_arity_boolean_expression
- ABSTRACT SUPERTYPE
- SUBTYPE OF (boolean_expression, multiple_arity_generic_expression);
- SELF\multiple_arity_generic_expression.operands : LIST [2:?] OF boolean_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
- SUBTYPE OF (numeric_expression, multiple_arity_generic_expression);
- SELF\multiple_arity_generic_expression.operands : LIST [2:?] OF numeric_expression;
-END_ENTITY;
-
-
-ENTITY name_assignment
- ABSTRACT SUPERTYPE;
- assigned_name : label;
-DERIVE
- role : object_role := get_role(SELF);
-WHERE
- WR1 : SIZEOF(USEDIN(SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 next_assembly_usage_occurrence
- SUBTYPE OF (assembly_component_usage);
-END_ENTITY;
-
-
-ENTITY non_manifold_surface_shape_representation
- SUBTYPE OF (shape_representation);
-WHERE
- WR1 : SIZEOF (QUERY (it <* SELF.items |
- NOT (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FACE_BASED_SURFACE_MODEL',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT_3D'] * TYPEOF (it)) = 1)))
- = 0;
- WR2 : SIZEOF (QUERY (it <* SELF.items |
- SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FACE_BASED_SURFACE_MODEL',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM'] * TYPEOF (it)) = 1)) > 0;
- WR3 : SIZEOF (QUERY (mi <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' IN TYPEOF (it)) |
- NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FACE_BASED_SURFACE_MODEL'
- IN TYPEOF (mr_it)))) > 0 )))) = 0;
- WR4 : SIZEOF (QUERY (fbsm <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FACE_SURFACE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ORIENTED_FACE'] * TYPEOF (fa)) = 1)))
- = 0))) = 0))) = 0;
- WR5 : SIZEOF (QUERY (fbsm <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FACE_SURFACE' IN TYPEOF (fa))) |
- NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ORIENTED_FACE' IN TYPEOF (fa))) |
- NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa))
- OR
- (SIZEOF (QUERY (bnds <* fa.bounds |
- NOT (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_LOOP']
- * TYPEOF (bnds.bound)) = 1))) = 0)))) = 0))) = 0))) = 0;
- WR8 : SIZEOF (QUERY (fbsm <* QUERY (it <* SELF.items|
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa))
- OR
- (SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) |
- NOT (SIZEOF (QUERY (oe <* elp_fbnds\path.edge_list |
- NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_CURVE' IN TYPEOF
- (oe.edge_element)))) = 0))) = 0)))) = 0))) = 0))) = 0;
- WR9 : SIZEOF (QUERY (fbsm <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa))
- OR
- (SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) |
- NOT (SIZEOF (QUERY (oe_cv <* QUERY (oe <*
- elp_fbnds\path.edge_list |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_CURVE' IN TYPEOF (oe.edge_element)) |
- NOT (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.B_SPLINE_CURVE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONIC',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_REPLICA',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LINE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.OFFSET_CURVE_3D',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PCURVE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POLYLINE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa))
- OR
- (SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa))
- OR
- (SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) |
- NOT (SIZEOF (QUERY (oe <* elp_fbnds\path.edge_list|
- NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_POINT' IN TYPEOF
- (oe.edge_element.edge_start))
- AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_POINT' IN
- TYPEOF (oe.edge_element.edge_end)))))
- = 0))) = 0)))) = 0))) = 0))) = 0;
- WR12 : SIZEOF (QUERY (fbsm <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa))
- OR
- (SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) |
- NOT (SIZEOF (QUERY (oe <* elp_fbnds\path.edge_list |
- NOT ((SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CARTESIAN_POINT',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DEGENERATE_PCURVE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT_ON_CURVE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT_ON_SURFACE'] * TYPEOF
- (oe.edge_element.edge_start\vertex_point.vertex_geometry)) = 1)
- AND
- (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CARTESIAN_POINT',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DEGENERATE_PCURVE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT_ON_CURVE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa))
- OR
- (SIZEOF (QUERY (vlp_fbnds <* QUERY (bnds <* fa.bounds |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_LOOP' IN TYPEOF (bnds.bound)) |
- NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_POINT' IN TYPEOF
- (vlp_fbnds\vertex_loop.loop_vertex)))) = 0)))) = 0)))
- = 0))) = 0;
- WR14 : SIZEOF (QUERY (fbsm <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa))
- OR
- (SIZEOF (QUERY (vlp_fbnds <* QUERY (bnds <* fa.bounds |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_LOOP' IN TYPEOF (bnds.bound)) |
- NOT (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CARTESIAN_POINT',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DEGENERATE_PCURVE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT_ON_CURVE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT_ON_SURFACE'] * TYPEOF
- (vlp_fbnds\vertex_loop.loop_vertex\vertex_point.vertex_geometry))
- = 1))) = 0)))) = 0))) = 0))) = 0;
-END_ENTITY;
-
-
-ENTITY null_representation_item
- SUBTYPE OF (representation_item);
-END_ENTITY;
-
-
-ENTITY numeric_expression
- ABSTRACT SUPERTYPE OF (ONEOF (simple_numeric_expression, unary_numeric_expression, binary_numeric_expression, multiple_arity_numeric_expression))
- SUBTYPE OF (expression);
-DERIVE
- is_int : LOGICAL := is_int_expr (SELF);
- sql_mappable : LOGICAL := is_SQL_mappable (SELF);
-END_ENTITY;
-
-
-ENTITY object_role;
- name : label;
- description : OPTIONAL text;
-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_shell
- SUBTYPE OF (connected_face_set);
-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 <= 365 }) OR (leap_year(SELF.year_component) AND { 1 <= 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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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_end : vertex := boolean_choose (SELF.orientation,
- SELF.edge_element.edge_end,
- SELF.edge_element.edge_start);
- SELF\edge.edge_start : vertex := boolean_choose (SELF.orientation,
- SELF.edge_element.edge_start,
- SELF.edge_element.edge_end);
-WHERE
- WR1 : NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ORIENTED_FACE' IN TYPEOF (SELF.face_element));
-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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 over_riding_styled_item
- SUBTYPE OF (styled_item);
- over_ridden_style : styled_item;
-END_ENTITY;
-
-
-ENTITY package_product_concept_feature
- SUBTYPE OF (product_concept_feature);
-WHERE
- WR1 : NOT ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'CONDITIONAL_CONCEPT_FEATURE' IN TYPEOF ( SELF ) );
- WR2 : SIZEOF ( QUERY
- (
- cfr <* USEDIN ( SELF , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'CONCEPT_FEATURE_RELATIONSHIP.' +'RELATING_PRODUCT_CONCEPT_FEATURE' )
- |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'CONCEPT_FEATURE_RELATIONSHIP_WITH_CONDITION' IN TYPEOF (cfr ) )
- AND
- ( SIZEOF ( QUERY
- (
- ipcf <* USEDIN ( cfr , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'CONDITIONAL_CONCEPT_FEATURE.' + 'CONDITION' )
- |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'INCLUSION_PRODUCT_CONCEPT_FEATURE' IN TYPEOF ( ipcf )
- )
- )= 1
- )
- )
- )>0;
-END_ENTITY;
-
-
-ENTITY parabola
- SUBTYPE OF (conic);
- focal_dist : length_measure;
-WHERE
- WR1 : focal_dist <> 0.0;
-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 parallelism_tolerance
- SUBTYPE OF (geometric_tolerance_with_datum_reference);
-WHERE
- WR1 : SIZEOF (SELF\geometric_tolerance_with_datum_reference.datum_system) < 3;
-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_document_with_structured_text_representation_assignment
- SUBTYPE OF (applied_document_usage_constraint_assignment, characterized_object);
-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 pcurve
- SUBTYPE OF (curve);
- basis_surface : surface;
- reference_to_curve : definitional_representation;
-WHERE
- WR1 : SIZEOF(reference_to_curve\representation.items) = 1;
- WR2 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 percentage_laminate_definition
- SUBTYPE OF (product_definition);
-WHERE
- WR1 : SIZEOF (QUERY (pdr <* USEDIN (SELF,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'PRODUCT_DEFINITION_RELATIONSHIP.' +
- 'RELATING_PRODUCT_DEFINITION') |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'NEXT_ASSEMBLY_USAGE_OCCURRENCE' IN
- TYPEOF (pdr))) > 0;
-END_ENTITY;
-
-
-ENTITY percentage_laminate_table
- SUBTYPE OF (zone_structural_makeup);
-END_ENTITY;
-
-
-ENTITY percentage_ply_definition
- SUBTYPE OF (product_definition);
-WHERE
- WR1 : SIZEOF (QUERY (pdr <* USEDIN (SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'PRODUCT_DEFINITION_RELATIONSHIP.RELATING_PRODUCT_DEFINITION') |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PERCENTAGE_LAMINATE_DEFINITION'
- IN TYPEOF (pdr.related_product_definition)) AND
- (pdr.name = 'makeup and properties'))) = 0;
-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);
-WHERE
- WR1 : SIZEOF (SELF\geometric_tolerance_with_datum_reference.datum_system) <= 3;
-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
- description : text := get_description_value(SELF);
- name : label := get_name_value(SELF);
-WHERE
- WR1 : SIZEOF(USEDIN(SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1;
- WR2 : SIZEOF(USEDIN(SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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], 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 physical_breakdown_context
- SUBTYPE OF (breakdown_context);
-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 | 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM' IN TYPEOF(item))) = 1;
- WR2: SIZEOF (QUERY (se <* QUERY (item <* SELF.items | ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM' IN TYPEOF (item)))
- | NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 line'];
- WR2 : SIZEOF (QUERY (pdr <* representation_associations | 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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_extent
- SUBTYPE OF (geometric_representation_item);
- size_in_x : length_measure;
- size_in_y : length_measure;
-END_ENTITY;
-
-
-ENTITY plane
- SUBTYPE OF (elementary_surface);
-END_ENTITY;
-
-
-ENTITY plane_angle_measure_with_unit
- SUBTYPE OF (measure_with_unit);
-WHERE
- WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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.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;
-
-
-ENTITY plus_minus_tolerance;
- range : tolerance_method_definition;
- toleranced_dimension : dimensional_characteristic;
-UNIQUE
- UR1 : toleranced_dimension;
-END_ENTITY;
-
-
-ENTITY ply_laminate_definition
- SUBTYPE OF (product_definition);
-WHERE
- WR1 : SIZEOF (QUERY (pdr <* USEDIN (SELF,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'PRODUCT_DEFINITION_RELATIONSHIP.' +
- 'RELATING_PRODUCT_DEFINITION') |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'NEXT_ASSEMBLY_USAGE_OCCURRENCE' IN
- TYPEOF (pdr))) = 1;
-END_ENTITY;
-
-
-ENTITY ply_laminate_sequence_definition
- SUBTYPE OF (product_definition);
-WHERE
- WR1 : SIZEOF (QUERY (pdr <* USEDIN (SELF,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'PRODUCT_DEFINITION_RELATIONSHIP.' +
- 'RELATING_PRODUCT_DEFINITION') |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'NEXT_ASSEMBLY_USAGE_OCCURRENCE' IN
- TYPEOF (pdr))) > 0;
-END_ENTITY;
-
-
-ENTITY ply_laminate_table
- SUBTYPE OF (part_laminate_table);
-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_on_curve
- SUBTYPE OF (point);
- basis_curve : curve;
- point_parameter : parameter_value;
-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_path
- SUBTYPE OF (compound_representation_item, geometric_representation_item);
- SELF\compound_representation_item.item_element : point_path_members;
-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 polar_complex_number_literal
- SUBTYPE OF (generic_literal);
- radius : REAL;
- angle : REAL;
-WHERE
- WR1 : radius >= 0;
- WR2 : { 0 <= angle < 2*PI };
-END_ENTITY;
-
-
-ENTITY poly_loop
- SUBTYPE OF (loop, geometric_representation_item);
- polygon : 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);
-WHERE
- WR1 : NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE' IN TYPEOF (SELF)) OR ( SIZEOF (SELF\geometric_tolerance_with_datum_reference.datum_system) <= 3);
-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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_BOUNDED_SURFACE' IN
- TYPEOF(sketch_basis)) AND NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PLANE' IN
- TYPEOF(sketch_basis\curve_bounded_surface.basis_surface)));
- WR2 : NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FACE_SURFACE' IN TYPEOF(sketch_basis)) AND
- NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PLANE' IN TYPEOF(sketch_basis\face_surface.face_geometry)));
- WR3 : SIZEOF(QUERY(q <* auxiliary_elements | (SIZEOF(TYPEOF(q) *
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT','AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE']) = 0))) = 0;
- WR4 : SIZEOF(QUERY(q <* auxiliary_elements |
- q\geometric_representation_item.dim <> 3)) = 0;
-END_ENTITY;
-
-
-ENTITY power_measure_with_unit
- SUBTYPE OF (measure_with_unit);
-WHERE
- WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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_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 presentation_area
- SUBTYPE OF (presentation_representation);
-WHERE
- WR1 : ((SIZEOF (QUERY (ais <* USEDIN (SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'AREA_IN_SET.AREA') |
- SIZEOF (USEDIN (ais, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'PRESENTATION_SIZE.UNIT')) =1)) > 0) OR
- (SIZEOF (USEDIN (SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRESENTATION_AREA' IN TYPEOF (SELF))
- OR
- (SIZEOF (QUERY (prr <* USEDIN (SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'REPRESENTATION_RELATIONSHIP.REP_2') |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRESENTATION_REPRESENTATION' IN
- TYPEOF (prr\representation_relationship.rep_1))) > 0)
- OR
- (SIZEOF(QUERY( rm <* USEDIN(SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'REPRESENTATION_MAP.'+
- 'MAPPED_REPRESENTATION') |
- SIZEOF(QUERY( mi <* USEDIN(rm, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'MAPPED_ITEM.'+
- 'MAPPING_SOURCE') |
- SIZEOF(QUERY( rep <* using_representations (mi) |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 : (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRESENTATION_REPRESENTATION'
- IN TYPEOF (SELF.unit)) AND
- item_in_context (SELF.size,
- SELF.unit\representation.context_of_items)
- )
- OR
- (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'SURFACE_STYLE_USAGE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'EXTERNALLY_DEFINED_STYLE'] *
- TYPEOF (style1)) = 1)
- ))) = 0
- ))) = 0;
- WR2 : SIZEOF (QUERY (style1 <* SELF.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_STYLE_USAGE' IN
- TYPEOF(style1)
- )) <= 2;
- WR3 : SIZEOF (QUERY (style1 <* SELF.styles |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_STYLE_USAGE' IN TYPEOF (style1)) AND
- (SIZEOF (QUERY (style2 <* (SELF.styles - style1) |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 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);
-WHERE
- WR1 : SIZEOF(QUERY(q <* SELF\procedural_representation_sequence.elements
- | NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHAPE_REPRESENTATION_ITEM'
- IN TYPEOF(q)))) = 0;
-END_ENTITY;
-
-
-ENTITY product;
- id : identifier;
- name : label;
- description : OPTIONAL text;
- frame_of_reference : SET [1:?] OF product_context;
-END_ENTITY;
-
-
-ENTITY product_category;
- name : label;
- description : OPTIONAL text;
-DERIVE
- id : identifier := get_id_value(SELF);
-WHERE
- WR1 : SIZEOF(USEDIN(SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1;
-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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'GROUP_ASSIGNMENT.ASSIGNED_GROUP' )
- |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'APPLIED_GROUP_ASSIGNMENT' IN TYPEOF(aga))
- AND
- (
- ( aga.role.name <> 'specification category member' )
- OR
- ( SIZEOF(QUERY
- (
- i <* aga.items
- |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'PRODUCT_CONCEPT_FEATURE' IN TYPEOF ( i ) )
- AND
- NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'CONDITIONAL_CONCEPT_FEATURE' IN TYPEOF (i))
- )
- ) <> SIZEOF (aga.items)
- )
- )
- )
- ) =0;
-END_ENTITY;
-
-
-ENTITY product_concept_feature_category_usage
- SUBTYPE OF (group_assignment);
- items : SET [1:?] OF category_usage_item;
- SELF\group_assignment.assigned_group : product_concept_feature_category;
-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_definition
- SUPERTYPE OF (ONEOF (composite_assembly_definition, composite_assembly_sequence_definition, laminate_table, percentage_laminate_definition, percentage_ply_definition, ply_laminate_definition, ply_laminate_sequence_definition, thickness_laminate_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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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);
- items : SET [1:1] OF product_definition_or_product_definition_relationship;
- SELF\group_assignment.assigned_group : product_definition_element_relationship;
-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_relationship;
- id : identifier;
- name : label;
- description : OPTIONAL text;
- relating_product_definition : product_definition;
- related_product_definition : product_definition;
-END_ENTITY;
-
-
-ENTITY product_definition_shape
- SUBTYPE OF (property_definition);
-UNIQUE
- UR1: SELF\property_definition.definition;
-WHERE
- WR1 : SIZEOF(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CHARACTERIZED_PRODUCT_DEFINITION', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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],
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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_identification
- SUBTYPE OF (configuration_item, characterized_object);
- SELF\configuration_item.item_concept : product_class;
-WHERE
- WR1 : SIZEOF(QUERY
- ( cd <* USEDIN ( SELF ,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONFIGURATION_DESIGN.CONFIGURATION' )
- |
- ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'PRODUCT_DEFINITION_FORMATION' IN TYPEOF ( cd. design ) )
- AND
- ( SIZEOF ( QUERY
- (
- prpc <* USEDIN ( cd. design\product_definition_formation.of_product , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS')
- |
- prpc. name IN ['part' , 'raw material' , 'tool'] ) ) >0
- )
- )
- ) <=1;
- WR2 : NOT ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'CONFIGURABLE_ITEM' IN TYPEOF( SELF ) )
- XOR ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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_related_product_category
- SUBTYPE OF (product_category);
- products : SET [1:?] OF product;
-END_ENTITY;
-
-
-ENTITY product_specification
- SUBTYPE OF (product_identification, configurable_item);
-END_ENTITY;
-
-
-ENTITY projected_zone_definition
- SUBTYPE OF (tolerance_zone_definition);
- projection_end : shape_aspect;
- projected_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;
-
-
-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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PROJECTION_CURVE' IN (TYPEOF(p_1))))=1;
- WR2 : SIZEOF(SELF\draughting_callout.contents) >=2;
-END_ENTITY;
-
-
-ENTITY promissory_usage_occurrence
- SUBTYPE OF (assembly_component_usage);
-END_ENTITY;
-
-
-ENTITY property_definition;
- name : label;
- description : OPTIONAL text;
- definition : characterized_definition;
-DERIVE
- id : identifier := get_id_value(SELF);
-WHERE
- WR1 : SIZEOF(USEDIN(SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1;
- WR2 : SIZEOF(USEDIN(SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1;
-END_ENTITY;
-
-
-ENTITY qualified_representation_item
- SUBTYPE OF (representation_item);
- qualifiers : SET [1:?] OF value_qualifier;
-WHERE
- WR1 : SIZEOF(QUERY(temp <* qualifiers |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 quasi_uniform_curve
- SUBTYPE OF (b_spline_curve);
-END_ENTITY;
-
-
-ENTITY quasi_uniform_surface
- SUBTYPE OF (b_spline_surface);
-END_ENTITY;
-
-
-ENTITY radioactivity_measure_with_unit
- SUBTYPE OF (measure_with_unit);
-WHERE
- WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PROJECTION_CURVE' IN TYPEOF (con)))<=1;
-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 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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.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;
-
-
-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('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.INT_LITERAL' IN TYPEOF(operand)))) = 0;
-END_ENTITY;
-
-
-ENTITY real_literal
- SUBTYPE OF (literal_number);
- SELF\literal_number.the_value : REAL;
-END_ENTITY;
-
-
-ENTITY real_representation_item
- SUBTYPE OF (representation_item, real_literal);
-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_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 : (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ELEMENTARY_SURFACE' IN TYPEOF(basis_surface))
- AND (NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PLANE' IN TYPEOF(basis_surface)))) OR
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_OF_REVOLUTION' IN TYPEOF(basis_surface))
- OR (usense = (u2 > u1));
- WR4 : (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SPHERICAL_SURFACE' IN TYPEOF(basis_surface))
- OR
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 relative_event_occurrence
- SUBTYPE OF (event_occurrence);
- base_event : event_occurrence;
- offset : time_measure_with_unit;
-END_ENTITY;
-
-
-ENTITY rep_item_group
- SUBTYPE OF (group, representation_item);
-WHERE
- WR1 : SIZEOF(USEDIN(SELF,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'PRESENTATION_LAYER_ASSIGNMENT.' + 'ASSIGNED_ITEMS')) > 0;
- WR2 : SIZEOF(QUERY(r <* USEDIN(SELF,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'REPRESENTATION.' + 'ITEMS') | r.name = 'group representation')) > 0;
- WR3 : SIZEOF(QUERY(ga <* USEDIN(SELF,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'GROUP_ASSIGNMENT.' + 'ASSIGNED_GROUP') | ga.role.name <> 'group membership')) = 0;
- WR4 : SIZEOF(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'GEOMETRIC_REPRESENTATION_ITEM', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'TOPOLOGICAL_REPRESENTATION_ITEM', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'MAPPED_ITEM','AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'STYLED_ITEM'] * TYPEOF(SELF)) = 1;
-END_ENTITY;
-
-
-ENTITY reparametrised_composite_curve_segment
- SUBTYPE OF (composite_curve_segment);
- param_length : parameter_value;
-WHERE
- WR1 : param_length > 0.0;
-END_ENTITY;
-
-
-ENTITY representation;
- name : label;
- items : SET [1:?] OF representation_item;
- context_of_items : representation_context;
-DERIVE
- description : text := get_description_value (SELF);
- id : identifier := get_id_value (SELF);
-WHERE
- WR1 : SIZEOF (USEDIN (SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'ID_ATTRIBUTE.IDENTIFIED_ITEM'))
- <= 1;
- WR2 : SIZEOF (USEDIN (SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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, mapped_item, styled_item, 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_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 requirement_assigned_object
- SUBTYPE OF (group_assignment);
- items : SET [1:1] OF requirement_assigned_item;
- SELF\group_assignment.assigned_group : requirement_assignment;
-END_ENTITY;
-
-
-ENTITY requirement_assignment
- SUBTYPE OF (characterized_object, group);
-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 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 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;
-
-
-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;
-
-
-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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LENGTH_MEASURE'
- IN TYPEOF(first_trim_condition))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LENGTH_MEASURE'
- IN TYPEOF(second_trim_condition)));
- WR2 : NOT((('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PLANE_ANGLE_MEASURE'
- IN TYPEOF(first_trim_condition)) AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PLANE_ANGLE_MEASURE'
- IN TYPEOF(second_trim_condition))) AND
- (first_trim_condition = second_trim_condition));
-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.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.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.related_method : information_right;
- SELF\action_method_relationship.relating_method : information_usage_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 role_association;
- role : object_role;
- item_with_role : role_select;
-END_ENTITY;
-
-
-ENTITY roundness_tolerance
- SUBTYPE OF (geometric_tolerance);
-WHERE
- WR1 : NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.B_SPLINE_SURFACE' IN TYPEOF(SELF.reference_surface)) AND
- (SELF.reference_surface\b_spline_surface.u_degree = 1);
- WR2 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PCURVE' IN TYPEOF(SELF.directrix)) OR
- (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 : 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);
- items : SET [1:1] OF product_definition;
- SELF\group_assignment.assigned_group : satisfies_requirement;
-END_ENTITY;
-
-
-ENTITY satisfies_requirement
- SUBTYPE OF (group);
-END_ENTITY;
-
-
-ENTITY satisfying_item
- SUBTYPE OF (group_assignment);
- items : SET [1:1] OF requirement_satisfaction_item;
- SELF\group_assignment.assigned_group : satisfies_requirement;
-END_ENTITY;
-
-
-ENTITY scalar_variable
- SUBTYPE OF (abstract_variable);
-END_ENTITY;
-
-
-ENTITY scattering_parameter
- SUBTYPE OF (polar_complex_number_literal);
-WHERE
- WR1 : SIZEOF(TYPEOF(SELF) - (TYPEOF(SELF\polar_complex_number_literal ||
- SELF\scattering_parameter))) = 0;
-END_ENTITY;
-
-
-ENTITY sculptured_solid
- SUBTYPE OF (modified_solid);
- sculpturing_element : generalized_surface_select;
- positive_side : BOOLEAN;
-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 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PCURVE' IN
- TYPEOF(SELF\surface_curve.associated_geometry[1]);
- WR4 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1;
-END_ENTITY;
-
-
-ENTITY security_classification_level;
- name : label;
-END_ENTITY;
-
-
-ENTITY serial_numbered_effectivity
- SUBTYPE OF (effectivity);
- effectivity_start_id : identifier;
- effectivity_end_id : OPTIONAL identifier;
-END_ENTITY;
-
-
-ENTITY shape_aspect;
- name : label;
- description : OPTIONAL text;
- of_shape : product_definition_shape;
- product_definitional : LOGICAL;
-DERIVE
- id : identifier := get_id_value(SELF);
-WHERE
- WR1 : SIZEOF(USEDIN(SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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);
-WHERE
- WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DERIVED_SHAPE_ASPECT' IN
-TYPEOF
- (SELF\SHAPE_ASPECT_RELATIONSHIP.RELATING_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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1;
-END_ENTITY;
-
-
-ENTITY shape_definition_representation
- SUBTYPE OF (property_definition_representation);
-WHERE
- WR1 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF(SELF.definition)) OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHAPE_DEFINITION' IN TYPEOF(SELF.definition.definition));
- WR2 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHAPE_REPRESENTATION' IN TYPEOF(SELF.used_representation);
-END_ENTITY;
-
-
-ENTITY shape_dimension_representation
- SUBTYPE OF (shape_representation);
-WHERE
- WR1 : SIZEOF (QUERY (temp <* SELF\representation.items |
- NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MEASURE_REPRESENTATION_ITEM'
- IN TYPEOF (temp)))) = 0;
- WR2 : SIZEOF (SELF\representation.items) <= 3;
- WR3 : SIZEOF (QUERY (pos_mri <* QUERY (real_mri <*
- SELF\representation.items | 'REAL' IN TYPEOF
- (real_mri\measure_with_unit.value_component) ) |
- NOT (pos_mri\measure_with_unit.value_component > 0.0 ))) = 0;
-END_ENTITY;
-
-
-ENTITY shape_feature_definition
- SUBTYPE OF (characterized_object);
-END_ENTITY;
-
-
-ENTITY shape_representation
- SUBTYPE OF (representation);
-END_ENTITY;
-
-
-ENTITY shape_representation_relationship
- SUBTYPE OF (representation_relationship);
-WHERE
- WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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);
-WHERE
- WR1 : SIZEOF( QUERY( i <* SELF.items | SIZEOF(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PLACEMENT', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MEASURE_REPRESENTATION_ITEM', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM'] * TYPEOF(i)) = 1 )) = SIZEOF(SELF.items);
-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 ([ 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHELL_BASED_WIREFRAME_MODEL', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT_3D' ] * TYPEOF (it)) = 1) )) = 0;
- WR2 : SIZEOF (
-QUERY ( it <* SELF.items| ( SIZEOF ([ 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHELL_BASED_WIREFRAME_MODEL', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' ] * TYPEOF (it)) = 1) )) >= 1;
- WR3 : SIZEOF (
-QUERY ( sbwm <*
-QUERY ( it <* SELF.items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF (
-QUERY ( ws <*
-QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.WIRE_SHELL' IN TYPEOF (sb)) )| NOT ( SIZEOF (
-QUERY ( eloop <*
-QUERY ( wsb <* ws\wire_shell.wire_shell_extent| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF (wsb)) )| NOT ( SIZEOF (
-QUERY ( el <* eloop\path.edge_list| NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_CURVE' IN TYPEOF (el.edge_element)) )) = 0) )) = 0) )) = 0) )) = 0;
- WR4 : SIZEOF (
-QUERY ( sbwm <*
-QUERY ( it <* SELF.items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF (
-QUERY ( ws <*
-QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.WIRE_SHELL' IN TYPEOF (sb)) )| NOT ( SIZEOF (
-QUERY ( eloop <*
-QUERY ( wsb <* ws\wire_shell.wire_shell_extent| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF (wsb)) )| NOT ( SIZEOF (
-QUERY ( pline_el <*
-QUERY ( el <* eloop\path.edge_list| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF (
-QUERY ( ws <*
-QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.WIRE_SHELL' IN TYPEOF (sb)) )| NOT ( SIZEOF (
-QUERY ( eloop <*
-QUERY ( wsb <* ws\wire_shell.wire_shell_extent| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF (
-QUERY ( ws <*
-QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.WIRE_SHELL' IN TYPEOF (sb)) )| NOT ( SIZEOF (
-QUERY ( eloop <*
-QUERY ( wsb <* ws\wire_shell.wire_shell_extent| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF (wsb)) )| NOT ( SIZEOF (
-QUERY ( el <* eloop\path.edge_list| NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_POINT' IN TYPEOF (el.edge_element.edge_start)) AND ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_POINT' IN TYPEOF (el.edge_element.edge_end))) )) = 0) )) = 0) )) = 0) )) = 0;
- WR7 : SIZEOF (
-QUERY ( sbwm <*
-QUERY ( it <* SELF.items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF (
-QUERY ( ws <*
-QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.WIRE_SHELL' IN TYPEOF (sb)) )| NOT ( SIZEOF (
-QUERY ( eloop <*
-QUERY ( wsb <* ws\wire_shell.wire_shell_extent| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF (
-QUERY ( ws <*
-QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.WIRE_SHELL' IN TYPEOF (sb)) )| NOT ( SIZEOF (
-QUERY ( vloop <*
-QUERY ( wsb <* ws\wire_shell.wire_shell_extent| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_LOOP' IN TYPEOF (wsb)) )| NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_POINT' IN TYPEOF (vloop\vertex_loop.loop_vertex)) )) = 0) )) = 0) )) = 0;
- WR9 : SIZEOF (
-QUERY ( sbwm <*
-QUERY ( it <* SELF.items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF (
-QUERY ( ws <*
-QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.WIRE_SHELL' IN TYPEOF (sb)) )| NOT ( SIZEOF (
-QUERY ( vloop <*
-QUERY ( wsb <* ws\wire_shell.wire_shell_extent| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF (
-QUERY ( vs <*
-QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_SHELL' IN TYPEOF (sb)) )| NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_POINT' IN TYPEOF (vs\vertex_shell.vertex_shell_extent.loop_vertex)) )) = 0) )) = 0;
- WR11 : SIZEOF (
-QUERY ( sbwm <*
-QUERY ( it <* SELF.items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF (
-QUERY ( vs <*
-QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' IN TYPEOF (it)) )| NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 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(('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MASS_UNIT' IN TYPEOF(SELF)) AND
- (SIZEOF(USEDIN(SELF,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DERIVED_UNIT_ELEMENT.UNIT')) > 0)) OR
- (prefix = si_prefix.kilo);
-END_ENTITY;
-
-
-ENTITY simple_boolean_expression
- ABSTRACT SUPERTYPE
- 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
- SUBTYPE OF (numeric_expression, simple_generic_expression);
-END_ENTITY;
-
-
-ENTITY slash_expression
- SUBTYPE OF (binary_numeric_expression);
-END_ENTITY;
-
-
-ENTITY smeared_material_definition
- SUBTYPE OF (zone_structural_makeup);
-END_ENTITY;
-
-
-ENTITY solid_angle_measure_with_unit
- SUBTYPE OF (measure_with_unit);
-WHERE
- WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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.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;
-
-
-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_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(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_BOUNDED_SURFACE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_BOUNDED_SURFACE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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(('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SOLID_WITH_THROUGH_DEPRESSION'
- IN TYPEOF(SELF)) AND (SIZEOF(TYPEOF(SELF) *
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SOLID_WITH_FLAT_BOTTOM_ROUND_HOLE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SOLID_WITH_SPHERICAL_BOTTOM_ROUND_HOLE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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) *
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SOLID_WITH_HOLE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SOLID_WITH_POCKET',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (edge_blended_solid, 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 source_for_requirement
- SUBTYPE OF (group_assignment);
- items : SET [1:1] OF requirement_source_item;
- SELF\group_assignment.assigned_group : requirement_source;
-END_ENTITY;
-
-
-ENTITY sourced_requirement
- SUBTYPE OF (group_assignment);
- items : SET [1:1] OF product_definition;
- SELF\group_assignment.assigned_group : requirement_source;
-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,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT_DEFINITION_RELATIONSHIP.' +
- 'RELATED_PRODUCT_DEFINITION') |
- pdr.relating_product_definition :=:
- next_usage.relating_product_definition)) = 1);
- WR5 : SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.NEXT_ASSEMBLY_USAGE_OCCURRENCE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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_surface
- SUBTYPE OF (elementary_surface);
- radius : positive_length_measure;
-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 straightness_tolerance
- SUBTYPE OF (geometric_tolerance);
-WHERE
- WR1 : NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE' IN TYPEOF (SELF));
-END_ENTITY;
-
-
-ENTITY structured_dimension_callout
- SUBTYPE OF (draughting_callout);
-WHERE
- WR1 : SIZEOF (TYPEOF (SELF) *
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DATUM_FEATURE_CALLOUT',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DATUM_TARGET_CALLOUT',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRICAL_TOLERANCE_CALLOUT',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LEADER_DIRECTED_CALLOUT',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PROJECTION_DIRECTED_CALLOUT',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DIMENSION_CURVE_DIRECTED_CALLOUT']) = 0;
- WR2 : SIZEOF (QUERY (ato <* QUERY (con <* SELF.contents |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_TEXT_OCCURRENCE'
- IN TYPEOF (con))) |
- (ato.name = 'dimension value')
- )) >= 1;
- WR4 : SIZEOF (QUERY (dcr <* USEDIN (SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'DRAUGHTING_CALLOUT_RELATIONSHIP.' +
- 'RELATING_DRAUGHTING_CALLOUT') |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'DIMENSION_CALLOUT_COMPONENT_RELATIONSHIP' IN TYPEOF (dcr)) AND
- (dcr.name = 'prefix') )) <= 1;
- WR5 : SIZEOF (QUERY (dcr <* USEDIN (SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'DRAUGHTING_CALLOUT_RELATIONSHIP.' +
- 'RELATING_DRAUGHTING_CALLOUT') |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'DIMENSION_CALLOUT_COMPONENT_RELATIONSHIP' IN TYPEOF (dcr)) AND
- (dcr.name = 'suffix') )) <= 1;
- WR6 : NOT((SIZEOF (QUERY (ato <* QUERY (con <* SELF.contents |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_TEXT_OCCURRENCE'
- IN TYPEOF(con)) ) |
- (ato.name = 'prefix text')
- )) > 0)) OR
- (SIZEOF (QUERY (dcr <* USEDIN (SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'DRAUGHTING_CALLOUT_RELATIONSHIP.' +
- 'RELATING_DRAUGHTING_CALLOUT') |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'DIMENSION_CALLOUT_COMPONENT_RELATIONSHIP' IN TYPEOF (dcr)) AND
- (dcr.name = 'prefix') )) = 1);
- WR7 : NOT(SIZEOF (QUERY (ato <* QUERY (con <* SELF.contents |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_TEXT_OCCURRENCE'
- IN TYPEOF(con))) |
- (ato.name = 'suffix text')
- )) > 0) OR
- (SIZEOF (QUERY (dcr <* USEDIN (SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'DRAUGHTING_CALLOUT_RELATIONSHIP.' +
- 'RELATING_DRAUGHTING_CALLOUT') |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 : representation_item;
-WHERE
- WR1 : (SIZEOF(SELF.styles) = 1)
- XOR
- (SIZEOF(QUERY(pres_style <* SELF.styles |
- NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'PRESENTATION_STYLE_BY_CONTEXT' IN
- TYPEOF(pres_style))
- )) = 0);
-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 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 (
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'ANNOTATION_CURVE_OCCURRENCE' ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'ANNOTATION_SYMBOL_OCCURRENCE' ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PCURVE' IN TYPEOF(associated_geometry[1])) OR
- (master_representation <> pcurve_s1);
- WR3 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PCURVE' IN TYPEOF(associated_geometry[2])) OR
- (master_representation <> pcurve_s2);
- WR4 : NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_CURVE' IN TYPEOF(directrix))) OR
- (reference_surface IN (directrix\surface_curve.basis_surface));
-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.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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_BOUNDED_SURFACE'
- IN TYPEOF(parent_surface)));
-END_ENTITY;
-
-
-ENTITY surface_profile_tolerance
- SUBTYPE OF (geometric_tolerance);
-WHERE
- WR1 : NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE' IN TYPEOF (SELF)) OR ( SIZEOF (SELF\geometric_tolerance_with_datum_reference.datum_system) <= 3);
-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_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.0 <= transparency <= 1.0};
-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 (
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'MEASURE_REPRESENTATION_ITEM' ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'VALUE_RANGE' , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'DESCRIPTIVE_REPRESENTATION_ITEM']* TYPEOF ( i ) ) <>1 ) )
- =0;
- WR2 : ( SIZEOF ( QUERY ( i <* SELF.items | 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF ( i ) ) ) =1 )
- AND ( SIZEOF ( QUERY ( i <* SELF.items | (
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'DESCRIPTIVE_REPRESENTATION_ITEM' IN
- TYPEOF ( i ) ) AND ( i.name = 'measuring method' ) ) ) =1 );
- WR3 : SIZEOF ( QUERY ( i <* SELF.items | SIZEOF (
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'MEASURE_REPRESENTATION_ITEM' ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'VALUE_RANGE']* TYPEOF ( i ) ) =1 ) )
- >0;
- WR4 : ( SIZEOF ( USEDIN ( SELF ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'REPRESENTATION_RELATIONSHIP.'+
- 'REP_1' ) ) <=1 ) AND ( SIZEOF ( USEDIN ( SELF ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'REPRESENTATION_RELATIONSHIP.'+
- 'REP_2' ) ) =0 ) AND ( SIZEOF ( QUERY ( rr <* USEDIN ( SELF
- , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'REPRESENTATION_RELATIONSHIP.'+
- 'REP_1' ) | rr. rep_2.name = 'measuring direction' ) ) =
- SIZEOF ( USEDIN ( SELF ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'REPRESENTATION_RELATIONSHIP.'+
- 'REP_1' ) ) );
- WR5 : ( SIZEOF ( USEDIN ( SELF ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+
- 'USED_REPRESENTATION' ) ) =1 ) AND ( SIZEOF ( QUERY ( pdr
- <* USEDIN ( SELF ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+
- 'USED_REPRESENTATION' ) | SIZEOF ( QUERY ( gpa <* USEDIN (
- pdr. definition ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'GENERAL_PROPERTY_ASSOCIATION.'+
- 'DERIVED_DEFINITION' ) | ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'GENERAL_PROPERTY' IN TYPEOF ( gpa. base_definition ) ) AND
- ( gpa. base_definition.name ='surface_condition' ) ) ) =1 )
- ) =1 );
-END_ENTITY;
-
-
-ENTITY surfaced_open_shell
- SUBTYPE OF (open_shell);
-WHERE
- WR1 : SIZEOF(QUERY(q <* SELF\connected_face_set.cfs_faces |
- NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PLANE' IN TYPEOF(swept_area.basis_surface);
-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 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PLANE' IN TYPEOF(swept_face.face_geometry);
-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;
-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_relationship FOR relating_shape_aspect;
-WHERE
- WR1 : SIZEOF (QUERY (x<*SELF\symmetric_shape_aspect.basis_relationships |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CENTRE_OF_SYMMETRY' IN TYPEOF
- (x\shape_aspect_relationship.related_shape_aspect)))>=1;
-END_ENTITY;
-
-
-ENTITY symmetry_tolerance
- SUBTYPE OF (geometric_tolerance_with_datum_reference);
-WHERE
- WR1 : SIZEOF (SELF\geometric_tolerance_with_datum_reference.datum_system) <= 3;
-END_ENTITY;
-
-
-ENTITY table_representation_item
- SUBTYPE OF (compound_representation_item);
-WHERE
- WR1 : SIZEOF(QUERY(itet <* SELF\compound_representation_item.item_element |
- NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'MEASURE_REPRESENTATION_ITEM' ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'VALUE_RANGE']* TYPEOF ( i ) ) <>1 )) =0;
- WR2 : SIZEOF ( QUERY ( i <* SELF.items | name ='depth' ) ) <=1;
- WR3 : ( SIZEOF ( USEDIN ( SELF ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+
- 'USED_REPRESENTATION' ) ) =1 ) AND ( SIZEOF ( QUERY ( pdr
- <* USEDIN ( SELF ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+
- 'USED_REPRESENTATION' ) | SIZEOF ( QUERY ( gpa <* USEDIN (
- pdr. definition ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'GENERAL_PROPERTY_ASSOCIATION.'+
- 'DERIVED_DEFINITION' ) | ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'GENERAL_PROPERTY' IN TYPEOF ( gpa. base_definition ) ) AND
- ( gpa. base_definition.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 tangent
- SUBTYPE OF (derived_shape_aspect);
-WHERE
- WR1 : SIZEOF (SELF\derived_shape_aspect.deriving_relationships)= 1;
-END_ENTITY;
-
-
-ENTITY terminator_symbol
- SUBTYPE OF (annotation_symbol_occurrence);
- annotated_curve : annotation_curve_occurrence;
-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 (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.TEXT_LITERAL',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_TEXT',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_TEXT_CHARACTER',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DEFINED_CHARACTER_GLYPH',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COMPOSITE_TEXT'] *
- TYPEOF (item)) = 0)
- )) >= 1;
- WR2 : SIZEOF (
- QUERY (a2p <*
- QUERY (item <* SELF\representation.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT' IN TYPEOF (item)) |
- NOT ((SIZEOF (
- QUERY (at <*
- QUERY (item <* SELF\representation.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'ANNOTATION_TEXT' IN TYPEOF (item)) |
- (at\mapped_item.mapping_target :=: a2p))) >= 1) OR
- (SIZEOF (
- QUERY (atc <*
- QUERY (item <* SELF\representation.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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_resistance_measure_with_unit
- SUBTYPE OF (measure_with_unit);
-WHERE
- WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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.0, -1.0, -3.0, 0.0, 1.0, 0.0, 0.0 );
-END_ENTITY;
-
-
-ENTITY thermodynamic_temperature_measure_with_unit
- SUBTYPE OF (measure_with_unit);
-WHERE
- WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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.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;
-
-
-ENTITY thickened_face_solid
- SUBTYPE OF (solid_model);
- base_element : generalized_surface_select;
- offset1 : length_measure;
- offset2 : length_measure;
-WHERE
- WR1 : NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE' IN TYPEOF(base_element)) AND
- (NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.BOUNDED_SURFACE' IN TYPEOF(base_element))));
- WR2 : offset1 <> offset2;
-END_ENTITY;
-
-
-ENTITY thickness_laminate_definition
- SUBTYPE OF (product_definition);
-WHERE
- WR1 : SIZEOF (QUERY (pdr <* USEDIN (SELF,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'PRODUCT_DEFINITION_RELATIONSHIP.' +
- 'RELATING_PRODUCT_DEFINITION') |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'NEXT_ASSEMBLY_USAGE_OCCURRENCE' IN
- TYPEOF (pdr))) = 1;
-END_ENTITY;
-
-
-ENTITY thickness_laminate_table
- SUBTYPE OF (zone_structural_makeup);
-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 : NOT (EXISTS(secondary_bound) AND EXISTS(duration));
- WR2 : EXISTS(primary_bound) OR EXISTS(secondary_bound);
-END_ENTITY;
-
-
-ENTITY time_measure_with_unit
- SUBTYPE OF (measure_with_unit);
-WHERE
- WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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.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;
-
-
-ENTITY tolerance_value;
- lower_bound : measure_with_unit;
- upper_bound : measure_with_unit;
-DERIVE
- lbvc : REAL := lower_bound\measure_with_unit.value_component;
- ubvc : REAL := upper_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 geometric_tolerance;
- form : tolerance_zone_form;
-END_ENTITY;
-
-
-ENTITY tolerance_zone_definition
- SUPERTYPE OF (ONEOF (projected_zone_definition, runout_zone_definition));
- zone : tolerance_zone;
- boundaries : SET [1:?] 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 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);
-WHERE
- WR1 : SIZEOF (SELF\geometric_tolerance_with_datum_reference.datum_system) <= 2;
-END_ENTITY;
-
-
-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;
-
-
-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) *
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SOLID_WITH_CONSTANT_RADIUS_EDGE_BLEND',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SOLID_WITH_VARIABLE_RADIUS_EDGE_BLEND',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SOLID_WITH_CHAMFERED_EDGES']) = 1;
- WR2 : NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX' IN TYPEOF(end_conditions[1]))
- AND ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX' IN TYPEOF(end_conditions[2])));
- WR3 : NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 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 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_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 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 uniform_curve
- SUBTYPE OF (b_spline_curve);
-END_ENTITY;
-
-
-ENTITY uniform_resource_identifier
- SUBTYPE OF (descriptive_representation_item);
-END_ENTITY;
-
-
-ENTITY uniform_surface
- SUBTYPE OF (b_spline_surface);
-END_ENTITY;
-
-
-ENTITY usage_association
- SUBTYPE OF (action_method_relationship);
- SELF\action_method_relationship.related_method : information_usage_right;
- SELF\action_method_relationship.relating_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);
-WHERE
- WR1 : SIZEOF(QUERY(q <*
- SELF\user_selected_elements.picked_items | NOT
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHAPE_REPRESENTATION_ITEM'
- IN TYPEOF(q)))) = 0;
-END_ENTITY;
-
-
-ENTITY value_range
- SUBTYPE OF (compound_representation_item);
-WHERE
- WR1 : ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GLOBAL_UNIT_ASSIGNED_CONTEXT'
- IN TYPEOF (rep.context_of_items)
- ))) = 0;
-END_ENTITY;
-
-
-ENTITY variable_semantics
- ABSTRACT SUPERTYPE;
-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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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.0;
-END_ENTITY;
-
-
-ENTITY vector_style
- SUBTYPE OF (curve_style, pre_defined_terminator_symbol);
-END_ENTITY;
-
-
-ENTITY velocity_measure_with_unit
- SUBTYPE OF (measure_with_unit);
-WHERE
- WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0 );
-END_ENTITY;
-
-
-ENTITY versioned_action_request;
- id : identifier;
- version : label;
- purpose : text;
- description : OPTIONAL text;
-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;
-END_ENTITY;
-
-
-ENTITY visual_appearance_representation
- SUBTYPE OF (representation);
-WHERE
- WR1 : ( {3<= SIZEOF ( SELF.items ) <=9} ) AND ( SIZEOF ( QUERY (
- i <* items | ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'MEASURE_REPRESENTATION_ITEM' ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'VALUE_RANGE']* TYPEOF ( i ) ) =1 )
- AND ( i.name IN ['refraction index' , 'opacity'] ) )
- ) + SIZEOF ( QUERY ( i <* items | (
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+
- 'USED_REPRESENTATION' ) ) =1 ) AND ( SIZEOF ( QUERY ( pdr
- <* USEDIN ( SELF ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+
- 'USED_REPRESENTATION' ) | SIZEOF ( QUERY ( gpa <* USEDIN (
- pdr. definition ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'GENERAL_PROPERTY_ASSOCIATION.'+
- 'DERIVED_DEFINITION' ) | ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'GENERAL_PROPERTY' IN TYPEOF ( gpa. base_definition ) ) AND
- ( gpa. base_definition.name ='surface_condition' ) ) ) =1 )) =1 );
-END_ENTITY;
-
-
-ENTITY volume_measure_with_unit
- SUBTYPE OF (measure_with_unit);
-WHERE
- WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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.0, 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;
-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 year_month
- SUBTYPE OF (date);
- month_component : month_in_year_number;
-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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF' + '.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') |
- prpc.name = 'alternative solution')) = 1);
-WHERE
- WR1 : SIZEOF( QUERY( pdf <* solution_versions |
- SIZEOF( QUERY( pd <* USEDIN(pdf, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.APPLICATION_PROTOCOL_DEFINITION.APPLICATION') |
- apd.application_interpreted_model_schema_name = 'ap203_configuration_controlled_3d_design_of_mechanical_parts_and_assemblies'
- )) > 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 ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) |
- prpc.name = 'functionality' ) ) = 1 ) AND
- ( SIZEOF ( QUERY ( pd <* USEDIN ( pdf ,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) |
- prpc.name = 'conceptual design' ) ) = 1 ) AND
- ( SIZEOF (QUERY ( pd <* USEDIN ( pdf , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT_DEFINITION.FORMATION' ) |
- pd.frame_of_reference.name = 'conceptual definition' ) ) <1) ) ) = 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,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;
-
-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 |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF' + '.UNCERTAINTY_QUALIFIER' IN TYPEOF ( u1 ) ) AND
- ( SIZEOF ( QUERY ( u2 <* qri.qualifiers |
- ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) |
- prpc.name = 'requirement' ) ) >0 ) AND
- ( SIZEOF ( QUERY ( pd <* USEDIN ( pdf , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT_DEFINITION.FORMATION') |
- pd.frame_of_reference.name = 'design constraint definition' ) ) <1 ) ) ) = 0;
-END_RULE;
-
-RULE draughting_model_items_constraint FOR (draughting_model);
-
-WHERE
- WR1 : SIZEOF(QUERY(dm <* draughting_model |
- NOT(SIZEOF(QUERY(it1 <* dm\representation.items |
- (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_OCCURRENCE' IN TYPEOF(it1))
- AND
- NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'DRAUGHTING_ANNOTATION_OCCURRENCE' IN TYPEOF(it1)))
- )) = 0)
- )) = 0;
- WR2 : SIZEOF(QUERY(dm <* draughting_model |
- NOT(SIZEOF(QUERY(it1 <* dm\representation.items |
- (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DRAUGHTING_CALLOUT' IN TYPEOF(it1))
- AND
- NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DRAUGHTING_ELEMENTS' IN TYPEOF(it1)))
- )) = 0)
- )) = 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 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 , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'KNOWN_SOURCE' IN TYPEOF(edc.source) );
-WHERE
- WR1 : SIZEOF ( QUERY ( edgp <* known_sourced_properties |
- ( SIZEOF ( QUERY ( edir <* USEDIN ( edgp, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'EXTERNALLY_DEFINED_ITEM_RELATIONSHIP.RELATING_ITEM' )|
- ( edir.name = 'name scope' ) AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'EXTERNALLY_DEFINED_CLASS' IN TYPEOF ( edir.related_item ) ) AND
- ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'KNOWN_SOURCE' IN TYPEOF ( edgp.source ) ) AND
- ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'KNOWN_SOURCE' + '.NAME' = 'ISO 13584 library' ) );
-WHERE
- WR1 : SIZEOF( QUERY( edgp <* plib_properties |
- (SIZEOF( QUERY( edir <* USEDIN(edgp, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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,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;
-
-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;
-
-RULE product_concept_feature_requires_category FOR (product_concept_feature);
-
-WHERE
- WR1 : SIZEOF ( QUERY ( pcf <* product_concept_feature |
-(SIZEOF(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'INCLUSION_PRODUCT_CONCEPT_FEATURE',
-'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'CONDITIONAL_CONCEPT_FEATURE'] * TYPEOF(pcf)) = 0) AND
-(SIZEOF ( QUERY ( aga <* USEDIN ( pcf , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'APPLIED_GROUP_ASSIGNMENT.' + 'ITEMS' ) |
-( aga.role.name = 'specification category member' ) AND
-('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'CONCEPT_FEATURE_RELATIONSHIP_WITH_CONDITION.' +
- 'CONDITIONAL_OPERATOR' ) |
- SIZEOF ( QUERY ( ccf <* USEDIN( cfrwc , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'CONDITIONAL_CONCEPT_FEATURE.CONDITION' ) |
- NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CLASS' IN TYPEOF(gr\group_relationship.related_group)) OR
- NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT_CONCEPT_FEATURE_CATEGORY' IN TYPEOF(gr.related_group))
- OR NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'PRODUCT_DEFINITION_RELATIONSHIP.RELATED_PRODUCT_DEFINITION' ) |
- pdr.name = 'definition usage' ) ) <>1 ) AND
- ( SIZEOF ( QUERY ( cd <* USEDIN ( pd , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'CONFIGURATION_DESIGN.DESIGN' ) |
- ( cd.name = 'occurrence usage definition' ) AND
- ( NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'PRODUCT_IDENTIFICATION' IN TYPEOF( cd.configuration ) ) ) ) ) <>1 ) ) ) = 0;
- WR3 : SIZEOF ( QUERY ( pd <* part_occurrences |
- (SIZEOF ( QUERY ( cd <* USEDIN ( pd , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'PRODUCT_DEFINITION_RELATIONSHIP.RELATED_PRODUCT_DEFINITION' ) |
- ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +'PRODUCT_DEFINITION_USAGE' IN TYPEOF ( cd ) ) ) ) = 0 )AND
- ( SIZEOF ( USEDIN ( pd , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +'PROPERTY_DEFINITION.DEFINITION' ) |
- ( ppd.name ='occurrence quantity' ) AND
- ( SIZEOF ( QUERY ( pdr <*USEDIN ( ppd , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +'PRODUCT_DEFINITION_OCCURRENCE_RELATIONSHIP.OCCURRENCE' ) |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF' + '.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') |
- prpc.name = 'alternative solution')) = 0 ) )) = 0;
-END_RULE;
-
-RULE stock_material_reference FOR (percentage_ply_definition, make_from_usage_option, product_related_product_category);
- LOCAL
- i,j,k : INTEGER;
- dkuhr : LOGICAL;
- nmfuo : INTEGER;
- nprpc : INTEGER;
- rp : product;
- END_LOCAL;
- dkuhr := TRUE;
- REPEAT i:= LOINDEX (percentage_ply_definition) TO
- HIINDEX (percentage_ply_definition);
- nmfuo := 0;
- REPEAT j:= LOINDEX (make_from_usage_option) TO
- HIINDEX (make_from_usage_option);
- IF (percentage_ply_definition[i] =
- make_from_usage_option[j].relating_product_definition) THEN
- rp := make_from_usage_option[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
- ['anisotropic material', 'isotropic material', 'stock core',
- '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 = 0) THEN
- dkuhr := FALSE;
- ESCAPE;
- END_IF;
- END_REPEAT;
-WHERE
- WR1 : dkuhr;
-END_RULE;
-
-RULE styled_curve FOR (styled_item);
-
-WHERE
- WR1 : SIZEOF( QUERY( si <* styled_item | ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE' IN TYPEOF (si.item)) AND (SIZEOF (QUERY (psa <* si.styles | (SIZEOF (QUERY (cs <* psa.styles | ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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, ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANGULARITY_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CIRCULAR_RUNOUT_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COAXIALITY_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONCENTRICITY_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CYLINDRICITY_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FLATNESS_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LINE_PROFILE_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PARALLELISM_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PERPENDICULARITY_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POSITION_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ROUNDNESS_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STRAIGHTNESS_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_PROFILE_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SYMMETRY_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.TOTAL_RUNOUT_TOLERANCE'] , 3)))) = 0;
-END_RULE;
-
-RULE subtype_exclusiveness_representation_item FOR (representation_item);
-
-WHERE
- WR1 : SIZEOF(QUERY (cri <* representation_item |
- NOT (type_check_function(cri,['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MEASURE_REPRESENTATION_ITEM',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VALUE_REPRESENTATION_ITEM',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COMPOUND_REPRESENTATION_ITEM'] , 3)))) = 0;
-END_RULE;
-
-RULE subtype_mandatory_geometric_tolerance FOR (geometric_tolerance);
-
-WHERE
- WR1 : SIZEOF(QUERY (gt <* geometric_tolerance | NOT (type_check_function(gt, ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANGULARITY_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CIRCULAR_RUNOUT_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COAXIALITY_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONCENTRICITY_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CYLINDRICITY_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FLATNESS_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LINE_PROFILE_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PARALLELISM_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PERPENDICULARITY_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POSITION_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ROUNDNESS_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STRAIGHTNESS_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_PROFILE_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SYMMETRY_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.TOTAL_RUNOUT_TOLERANCE'] , 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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.TEXT_LITERAL.FONT')) = 0 )) = 0;
- WR2 : SIZEOF (QUERY (edtf <* externally_defined_text_font | SIZEOF (USEDIN (edtf, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.TEXT_LITERAL.FONT')) = 0 )) = 0;
-END_RULE;
-
-RULE thickness_laminate_table_component_select FOR (thickness_laminate_definition, next_assembly_usage_occurrence, product_related_product_category);
- LOCAL
- i,j,k : INTEGER;
- dkuhr : LOGICAL;
- nnauo : INTEGER;
- nprpc : INTEGER;
- rp : product;
- END_LOCAL;
- dkuhr := TRUE;
- REPEAT i:= LOINDEX (thickness_laminate_definition) TO
- HIINDEX (thickness_laminate_definition);
- nnauo := 0;
- REPEAT j:= LOINDEX (next_assembly_usage_occurrence) TO
- HIINDEX (next_assembly_usage_occurrence);
- IF (thickness_laminate_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', 'filament laminate', 'processed core'])) 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 <> 1) THEN
- dkuhr := FALSE;
- ESCAPE;
- END_IF;
- END_REPEAT;
-WHERE
- WR1 : dkuhr;
-END_RULE;
-
-RULE validate_dependently_instantiable_entity_data_types FOR (action_method_role, annotation_text, attribute_value_role, auxiliary_geometric_representation_item, binary_numeric_expression, boolean_expression, bounded_curve, bounded_surface, cartesian_transformation_operator, comparison_expression, concept_feature_relationship, concept_feature_relationship_with_condition, connected_edge_set, document_usage_constraint, edge_blended_solid, effectivity_context_role, event_occurrence_role, explicit_procedural_representation_item_relationship, expression, founded_item, generic_expression, generic_variable, indirectly_selected_elements, interval_expression, literal_number, local_time, loop, modified_solid_with_placed_configuration, multiple_arity_boolean_expression, multiple_arity_generic_expression, multiple_arity_numeric_expression, numeric_expression, one_direction_repeat_factor, oriented_open_shell, oriented_path, positioned_sketch, procedural_representation, procedural_representation_sequence, product_definition_context_role, product_definition_effectivity, runout_zone_orientation, simple_boolean_expression, simple_generic_expression, simple_numeric_expression, 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, tolerance_zone_form, two_direction_repeat_factor, unary_generic_expression, unary_numeric_expression, user_selected_elements, variational_representation_item, view_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 + annotation_text + attribute_value_role + auxiliary_geometric_representation_item + binary_numeric_expression + boolean_expression + bounded_curve + bounded_surface + cartesian_transformation_operator + comparison_expression + concept_feature_relationship + concept_feature_relationship_with_condition + connected_edge_set + document_usage_constraint + edge_blended_solid + effectivity_context_role + event_occurrence_role + explicit_procedural_representation_item_relationship + expression + founded_item + generic_expression + generic_variable + indirectly_selected_elements + interval_expression + literal_number + local_time + loop + modified_solid_with_placed_configuration + multiple_arity_boolean_expression + multiple_arity_generic_expression + multiple_arity_numeric_expression + numeric_expression + one_direction_repeat_factor + oriented_open_shell + oriented_path + positioned_sketch + procedural_representation + procedural_representation_sequence + product_definition_context_role + product_definition_effectivity + runout_zone_orientation + simple_boolean_expression + simple_generic_expression + simple_numeric_expression + 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 + tolerance_zone_form + two_direction_repeat_factor + unary_generic_expression + unary_numeric_expression + user_selected_elements + variational_representation_item + view_volume;--<make a union of all implicit populations of the FOR-clause>
-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 acyclic
- (arg1: generic_expression; arg2: SET [0:?] OF generic_expression) : BOOLEAN;
-LOCAL
- result: BOOLEAN := TRUE;
-END_LOCAL;
-
-IF ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SIMPLE_GENERIC_EXPRESSION'
- IN TYPEOF (arg1))
-THEN
- RETURN (TRUE);
-END_IF;
-
-IF arg1 IN arg2
-THEN
- RETURN (FALSE);
-END_IF;
-
-IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.UNARY_GENERIC_EXPRESSION'
- IN TYPEOF (arg1)
-THEN
- RETURN
- (acyclic(arg1\unary_generic_expression.operand,arg2+[arg1]));
-END_IF;
-
-IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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
-'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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;
-
-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 |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_TEXT',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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;
-
-FUNCTION acyclic_mapped_item_usage
- (rep: representation) : BOOLEAN;
- LOCAL
- items : SET OF representation_item;
- END_LOCAL;
-
- items := QUERY (item <* rep.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' IN TYPEOF (item));
- IF SIZEOF (items) = 0
- THEN
- RETURN (FALSE);
- ELSE
- REPEAT i := 1 TO HIINDEX (items);
- IF items[i]\mapped_item.mapping_source.mapped_representation :=: rep
- THEN
- RETURN (TRUE);
- ELSE
- RETURN (acyclic_mapped_item_usage(items[i]\
- mapped_item.mapping_source.mapped_representation));
- END_IF;
- END_REPEAT;
- RETURN (FALSE);
- END_IF;
-END_FUNCTION;
-
-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], 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.REPRESENTATION_MAP.MAPPED_REPRESENTATION'));
- IF SIZEOF(rms) > 0 THEN
- REPEAT j := 1 TO HIINDEX(rms);
- mis := bag_to_set(USEDIN(rms[i], 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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;
-
-FUNCTION acyclic_point_replica
- (rep: point_replica; parent: point) : BOOLEAN;
-IF NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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;
-
-FUNCTION acyclic_product_definition_relationship
- (relation: product_definition_relationship; relatives: SET [1:?] OF product_definition; 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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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;
-
-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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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;
-
-FUNCTION acyclic_solid_replica
- (rep: solid_replica; parent: solid_model) : BOOLEAN;
-IF NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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;
-
-FUNCTION acyclic_surface_replica
- (rep: surface_replica; parent: surface) : BOOLEAN;
-IF NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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;
-
-FUNCTION advanced_face_properties
- (testface: face) : BOOLEAN;
-IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SUBFACE' IN TYPEOF(testface)) THEN
- RETURN(advanced_face_properties(testface\subface.parent_face));
- ELSE RETURN (FALSE);
-END_IF;
-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 associated_surface
- (arg: pcurve_or_surface) : surface;
- LOCAL
- surf : surface;
- END_LOCAL;
-
- IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PCURVE' IN TYPEOF(arg) THEN
- surf := arg\pcurve.basis_surface;
- ELSE
- surf := arg;
- END_IF;
- RETURN(surf);
-END_FUNCTION;
-
-FUNCTION bag_to_set
- (the_bag: BAG [0:?] OF GENERIC: intype) : SET [0:?] 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;
-
-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;
-
-FUNCTION boolean_choose
- (b: BOOLEAN; choice1: GENERIC: item; 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,0.0]));
- END_LOCAL;
-
- RETURN([d, orthogonal_complement(d)]);
-END_FUNCTION;
-
-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;
-
-FUNCTION categories_of_product
- (obj: product) : SET [0:?] OF STRING;
-LOCAL
- category_assignments: BAG OF product_category;
- categories: SET OF STRING:=[];
-END_LOCAL;
-category_assignments := USEDIN(obj, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'CHANGE_REQUEST',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'START_REQUEST'] *
- TYPEOF (x)) = 1))
- THEN RETURN(FALSE);
- END_IF;
- 'initiator' : IF SIZEOF (e.items) <>
- SIZEOF (QUERY (x <* e.items |
- SIZEOF(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'CHANGE_REQUEST',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'START_REQUEST',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'START_WORK',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'CHANGE'] *
- TYPEOF (x)) = 1))
- THEN RETURN(FALSE);
- END_IF;
- 'creator' : IF SIZEOF (e.items) <>
- SIZEOF (QUERY (x <* e.items |
- SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'PRODUCT_DEFINITION_FORMATION',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'PRODUCT_DEFINITION'] *
- TYPEOF (x)) = 1))
- THEN RETURN (FALSE);
- END_IF;
- 'part_supplier' : IF SIZEOF (e.items) <>
- SIZEOF (QUERY (x <* e.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'PRODUCT_DEFINITION_FORMATION'
- IN TYPEOF (x)))
- THEN RETURN(FALSE);
- END_IF;
- 'design_supplier' : IF SIZEOF (e.items) <>
- SIZEOF (QUERY (x <* e.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'PRODUCT_DEFINITION_FORMATION'
- IN TYPEOF (x)))
- THEN RETURN(FALSE);
- END_IF;
- 'design_owner' : IF SIZEOF (e.items) <>
- SIZEOF (QUERY (x <* e.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT'
- IN TYPEOF (x)))
- THEN RETURN(FALSE);
- END_IF;
- 'configuration_manager' : IF SIZEOF (e.items) <>
- SIZEOF (QUERY (x <* e.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'CONFIGURATION_ITEM'
- IN TYPEOF (x)))
- THEN RETURN(FALSE);
- END_IF;
- 'contractor' : IF SIZEOF (e.items) <>
- SIZEOF (QUERY (x <* e.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONTRACT'
- IN TYPEOF (x)))
- THEN RETURN(FALSE);
- END_IF;
- 'classification_officer' : IF SIZEOF (e.items) <>
- SIZEOF (QUERY (x <* e.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 [0:?] 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);
-END_FUNCTION;
-
-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;
-
-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;
-
-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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'CLASS_SYSTEM_ITEM'] * 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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT_DEFINITION_FORMATION', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 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;
-
-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;
- IF (NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PCURVE' IN
- TYPEOF(c\composite_curve.segments[k].parent_curve))) AND
- (NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_CURVE' IN
- TYPEOF(c\composite_curve.segments[k].parent_curve))) AND
- (NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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);
- IF (NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.OPEN_SHELL' IN
- TYPEOF(m.sbsm_boundary[j])) AND
- (NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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;
-
-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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.WIRE_SHELL' IN
- TYPEOF(m.sbwm_boundary[j])) AND
- (NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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;
-
-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;
-
-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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.B_SPLINE_SURFACE' IN TYPEOF
- (s.segments[i][j].parent_surface)) OR
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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;
-
-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;
-
-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;
-
-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;
-
-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 | (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i))
- AND (i\representation_item.name = 'significant number of digits')) )) = 1) OR
-((SIZEOF(QUERY ( i <* agg | (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND
- (i\representation_item.name = 'lower limit')) )) = 1) AND
-(SIZEOF( QUERY ( i <* agg | (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 | (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND
- (i\representation_item.name = 'plus minus tolerance value')) )) = 1) OR
-((SIZEOF(QUERY ( i <* agg | (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND (
- i\representation_item.name = 'lower tolerance value')) )) = 1) AND
-(SIZEOF( QUERY ( i <* agg | (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 | ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(i)) )) <= 1) AND
-(SIZEOF(QUERY ( i <* agg | ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(i)) )) =
- SIZEOF(QUERY ( i <* agg | (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 dependently_instantiated
- (set_of_input_instances: SET [0:?] OF GENERIC: igen; set_of_input_types: SET [0:?] OF STRING; previous_in_chain: LIST [0:?] 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);
- (* 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;
-
-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;
-
-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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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;
-
-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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CARTESIAN_POINT' IN TYPEOF(item) THEN
- dim := SIZEOF(item\cartesian_point.coordinates);
- RETURN(dim);
- END_IF;
- IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DIRECTION' IN TYPEOF(item) THEN
- dim := SIZEOF(item\direction.direction_ratios);
- RETURN(dim);
- END_IF;
- IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 since this is required by WR1 of
- -- representation_item.
- y := x[1].context_of_items;
- dim := y\geometric_representation_context.coordinate_space_dimension;
- RETURN (dim);
-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.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, 1.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;
-
-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;
-
-FUNCTION edge_reversed
- (an_edge: edge) : oriented_edge;
- LOCAL
- the_reverse : oriented_edge;
- END_LOCAL;
-
- IF ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 external_version_assignment_is_valid
- (aia: applied_external_identification_assignment) : BOOLEAN;
- LOCAL
- item: identification_item;
- role: identification_role;
- END_LOCAL;
- role:= aia.role;
- IF role.name='version' THEN
- REPEAT i:=LOINDEX(aia.items) TO HIINDEX(aia.items);
- item:= aia.items[i];
- IF (SIZEOF(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'EXTERNALLY_VERSIONED_ITEM']*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;
-
-FUNCTION face_bound_reversed
- (a_face_bound: face_bound) : face_bound;
- LOCAL
- the_reverse : face_bound ;
- END_LOCAL;
- IF ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 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;
-
-FUNCTION gbsf_check_curve
- (cv: representation_item) : BOOLEAN;
-IF SIZEOF(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.BOUNDED_CURVE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONIC', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_REPLICA', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LINE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.OFFSET_CURVE_3D'] * TYPEOF(cv)) > 1 THEN
- RETURN (FALSE);
- END_IF;
- IF SIZEOF(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CIRCLE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ELLIPSE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.TRIMMED_CURVE'] * TYPEOF(cv)) = 1 THEN
- RETURN (TRUE);
- ELSE
- IF (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_REPLICA' IN TYPEOF(cv) THEN
- RETURN (gbsf_check_curve(cv\curve_replica.parent_curve));
- ELSE
- IF (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POLYLINE' IN TYPEOF(cv\offset_curve_3d.basis_curve)))) THEN
- RETURN (gbsf_check_curve(cv\offset_curve_3d.basis_curve));
- ELSE
- IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POLYLINE' IN TYPEOF(cv) THEN
- IF (SIZEOF(cv\polyline.points) >= 3) THEN
- RETURN (TRUE);
- END_IF;
- ELSE
- IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CARTESIAN_POINT' IN TYPEOF(pnt) THEN
- RETURN (TRUE);
- ELSE
- IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT_ON_CURVE' IN TYPEOF(pnt) THEN
- RETURN (gbsf_check_curve(pnt\point_on_curve.basis_curve));
- ELSE
- IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT_ON_SURFACE' IN TYPEOF(pnt) THEN
- RETURN (gbsf_check_surface(pnt\point_on_surface.basis_surface));
- ELSE
- IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SPHERICAL_SURFACE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.TOROIDAL_SURFACE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_BOUNDED_SURFACE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.RECTANGULAR_TRIMMED_SURFACE'] * TYPEOF(sf)) = 1 THEN
- RETURN (TRUE);
- ELSE
- IF (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_REPLICA' IN TYPEOF(sf) THEN
- RETURN (gbsf_check_surface(sf\surface_replica.parent_surface));
- ELSE
- IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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_basis_surface
- (c: curve_on_surface) : SET [0:2] OF surface;
- LOCAL
- surfs : SET[0:2] OF surface;
- n : INTEGER;
- END_LOCAL;
- surfs := [];
- IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PCURVE' IN TYPEOF (c) THEN
- surfs := [c\pcurve.basis_surface];
- ELSE
- IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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;
-
-FUNCTION get_description_value
- (obj: description_attribute_select) : text;
- LOCAL
- description_bag : BAG OF description_attribute := (USEDIN(obj, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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_id_value
- (obj: id_attribute_select) : identifier;
- LOCAL
- id_bag : BAG OF id_attribute := (USEDIN(obj, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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_name_value
- (obj: name_attribute_select) : label;
- LOCAL
- name_bag : BAG OF name_attribute := (USEDIN(obj, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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_role
- (obj: role_select) : object_role;
- LOCAL
- role_bag : BAG OF role_association := (USEDIN(obj, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 [0:?] 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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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], 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'PROPERTY_DEFINITION_REPRESENTATION.' + 'DEFINITION') |
-'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHAPE_DEFINITION_REPRESENTATION' IN TYPEOF(pdr)));
-END_REPEAT;
-RETURN (pdr_set);
-END_FUNCTION;
-
-FUNCTION is_acyclic
- (arg: generic_expression) : BOOLEAN;
-RETURN (acyclic (arg, []));
-END_FUNCTION;
-
-FUNCTION is_int_expr
- (arg: numeric_expression) : LOGICAL;
-LOCAL
- i: INTEGER := 0;
-END_LOCAL;
-
-IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.INT_LITERAL' IN TYPEOF(arg)
-THEN
- RETURN (TRUE);
-END_IF;
-IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.REAL_LITERAL' IN TYPEOF(arg)
-THEN
- RETURN (FALSE);
-END_IF;
-IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.INT_NUMERIC_VARIABLE' IN TYPEOF(arg)
-THEN
- RETURN (TRUE);
-END_IF;
-IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.REAL_NUMERIC_VARIABLE' IN TYPEOF(arg)
-THEN
- RETURN (FALSE);
-END_IF;
-IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ABS_FUNCTION' IN TYPEOF(arg)
-THEN
- RETURN (is_int_expr(arg\unary_numeric_expression.operand));
-END_IF;
-IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MINUS_FUNCTION' IN TYPEOF(arg)
-THEN
- RETURN (is_int_expr(arg\unary_numeric_expression.operand));
-END_IF;
-IF ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SIN_FUNCTION' IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COS_FUNCTION' IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.TAN_FUNCTION' IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ASIN_FUNCTION' IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ACOS_FUNCTION' IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ATAN_FUNCTION' IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EXP_FUNCTION' IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LOG_FUNCTION' IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LOG2_FUNCTION' IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LOG10_FUNCTION' IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SQUARE_ROOT_FUNCTION'
- IN TYPEOF(arg))
-THEN
- RETURN (FALSE);
-END_IF;
-IF ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PLUS_EXPRESSION' IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MULT_EXPRESSION'
- IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAXIMUM_FUNCTION'
- IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MINUS_EXPRESSION' IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DIV_EXPRESSION' IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MOD_EXPRESSION' IN TYPEOF(arg))
-THEN
- RETURN(TRUE);
-END_IF;
-IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SLASH_EXPRESSION' IN TYPEOF(arg)
-THEN
- RETURN (FALSE);
-END_IF;
-IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LENGTH_FUNCTION' IN TYPEOF(arg)
-THEN
- RETURN (TRUE);
-END_IF;
-IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VALUE_FUNCTION' IN TYPEOF(arg)
-THEN
- IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.INT_VALUE_FUNCTION'
- IN TYPEOF(arg)
- THEN
- RETURN (TRUE);
- ELSE
- RETURN (FALSE);
- END_IF;
-END_IF;
-IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.INTEGER_DEFINED_FUNCTION'
- IN TYPEOF(arg)
-THEN
- RETURN(TRUE) ;
-END_IF;
-IF'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.REAL_DEFINED_FUNCTION' IN TYPEOF(arg)
-THEN
- RETURN(FALSE) ;
-END_IF ;
-IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.BOOLEAN_DEFINED_FUNCTION'
- IN TYPEOF(arg)
-THEN
- RETURN(FALSE) ;
-END_IF ;
-IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STRING_DEFINED_FUNCTION'
- IN TYPEOF(arg)
-THEN
- RETURN (FALSE) ;
-END_IF ;
-
-RETURN (FALSE);
-END_FUNCTION;
-
-FUNCTION is_SQL_mappable
- (arg: expression) : LOGICAL;
-LOCAL
- i: INTEGER;
-END_LOCAL;
-
-IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SIMPLE_NUMERIC_EXPRESSION'
- IN TYPEOF (arg)
-THEN
- RETURN (TRUE);
-END_IF;
-IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SQL_MAPPABLE_DEFINED_FUNCTION'
- IN TYPEOF (arg)
-THEN
- RETURN (TRUE);
-END_IF;
-IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MINUS_FUNCTION' IN TYPEOF(arg)
-THEN
- RETURN (is_SQL_mappable(arg\unary_numeric_expression.operand));
-END_IF;
-IF ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ABS_FUNCTION' IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SIN_FUNCTION' IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COS_FUNCTION' IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.TAN_FUNCTION' IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ASIN_FUNCTION' IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ACOS_FUNCTION' IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ATAN_FUNCTION' IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EXP_FUNCTION' IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LOG_FUNCTION' IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LOG2_FUNCTION' IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LOG10_FUNCTION' IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SQUARE_ROOT_FUNCTION'
- IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VALUE_FUNCTION' IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LENGTH_FUNCTION'
- IN TYPEOF(arg))
-THEN
- RETURN (FALSE);
-END_IF;
-IF ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PLUS_EXPRESSION' IN TYPEOF(arg))
- OR('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MULT_EXPRESSION' IN TYPEOF(arg))
- OR('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAXIMUM_FUNCTION'
- IN TYPEOF(arg))
- OR('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MINUS_EXPRESSION' IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DIV_EXPRESSION' IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MOD_EXPRESSION' IN TYPEOF(arg))
- OR('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POWER_EXPRESSION'
- IN TYPEOF(arg))
-THEN
- RETURN (FALSE);
-END_IF;
-IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SIMPLE_BOOLEAN_EXPRESSION'
- IN TYPEOF (arg)
-THEN
- RETURN (TRUE);
-END_IF;
-IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.NOT_EXPRESSION' IN TYPEOF (arg)
-THEN
- RETURN (is_SQL_mappable (arg\UNARY_GENERIC_EXPRESSION.OPERAND));
-END_IF;
-IF ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ODD_FUNCTION'IN TYPEOF (arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.XOR_EXPRESSION'
- IN TYPEOF (arg))
-THEN
- RETURN (FALSE);
-END_IF;
-IF ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AND_EXPRESSION' IN TYPEOF (arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COMPARISON_EQUAL' IN TYPEOF (arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COMPARISON_GREATER'
- IN TYPEOF (arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COMPARISON_GREATER_EQUAL'
- IN TYPEOF (arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COMPARISON_LESS'
- IN TYPEOF (arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COMPARISON_LESS_EQUAL'
- IN TYPEOF (arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COMPARISON_NOT_EQUAL'
- IN TYPEOF (arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.NUMERIC_DEFINED_FUNCTION'
- IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.BOOLEAN_DEFINED_FUNCTION'
- IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STRING_DEFINED_FUNCTION'
- IN TYPEOF(arg))
-THEN
- RETURN (FALSE) ;
-END_IF;
-
-IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SIMPLE_STRING_EXPRESSION'
- IN TYPEOF(ARG)
-THEN
- RETURN (TRUE);
-END_IF;
-IF ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.INDEX_EXPRESSION' IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SUBSTRING_EXPRESSION'
- IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONCAT_EXPRESSION'
- IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 there is one or more representation using both the item
- -- and cntxt return true.
- IF SIZEOF(USEDIN(item,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 , '') |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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;
-
-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);
- 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);
- the_reverse := topology_reversed (a_list [i]) + the_reverse;
- END_REPEAT;
-
- RETURN (the_reverse);
-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] : n];
- REPEAT i := 2 TO n;
- 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 [0:?] 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;
-
-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;
-
-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 := ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POLY_LOOP' IN TYPEOF(l[1]));
- REPEAT i := 2 TO SIZEOF(l);
- IF(('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.BOUNDED_CURVE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONIC',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_REPLICA', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LINE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.OFFSET_CURVE_3D'] * TYPEOF(cv)) > 1 THEN
- RETURN(FALSE);
-END_IF;
-
-(* b_spline_curves shall not self-intersect
- *)
-IF (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONIC', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LINE']
- * TYPEOF (cv)) = 1 THEN
- RETURN(TRUE);
- ELSE
-
- (* a curve_replica shall reference a valid curve
- *)
- IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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;
-
-FUNCTION msf_surface_check
- (surf: surface) : BOOLEAN;
-IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ELEMENTARY_SURFACE' IN TYPEOF(surf) THEN
- RETURN(TRUE);
- ELSE
-
- (* a swept_surface shall have a valid sweeping curve
- *)
- IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.BOUNDED_CURVE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONIC',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_REPLICA',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LINE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.OFFSET_CURVE_3D'] * TYPEOF(cv)) > 1
- THEN RETURN(FALSE);
- ELSE
-
- (* b_spline_curves shall not self-intersect
- *)
- IF (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONIC',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LINE'] * TYPEOF (cv)) = 1 THEN
- RETURN(TRUE);
- ELSE
-
- (* a curve_replica shall reference a valid curve
- *)
- IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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;
-
-FUNCTION nmsf_surface_check
- (surf: surface) : BOOLEAN;
-IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ELEMENTARY_SURFACE' IN TYPEOF(surf) THEN
- RETURN(TRUE);
- ELSE
-
- (* a swept_surface shall have a valid sweeping curve
- *)
- IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 normalise
- (arg: vector_or_direction) : vector_or_direction;
- LOCAL
- ndim : INTEGER;
- v : direction;
- result : vector_or_direction;
- vec : vector;
- 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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VECTOR' IN TYPEOF(arg) THEN
- BEGIN
- v := dummy_gri || direction(arg\vector.orientation.direction_ratios);
- IF arg.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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 open_shell_reversed
- (a_shell: open_shell) : oriented_open_shell;
- LOCAL
- the_reverse : oriented_open_shell;
- END_LOCAL;
- IF ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 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;
-
-FUNCTION path_reversed
- (a_path: path) : oriented_path;
- LOCAL
- the_reverse : oriented_path ;
- END_LOCAL;
- IF ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VECTOR' IN TYPEOF (vec) THEN
- v := dummy_gri || direction(vec\vector.orientation.direction_ratios);
- mag := scalar * vec.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;
-
-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;
-
-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;
-
-FUNCTION shell_reversed
- (a_shell: shell) : shell;
-IF ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.OPEN_SHELL' IN TYPEOF (a_shell) ) THEN
- RETURN (open_shell_reversed (a_shell));
- ELSE
- IF ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CLOSED_SHELL' IN TYPEOF (a_shell) ) THEN
- RETURN (closed_shell_reversed (a_shell));
- ELSE
- RETURN (?);
- END_IF;
- END_IF;
-END_FUNCTION;
-
-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;
-
-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;
-
-FUNCTION topology_reversed
- (an_item: reversible_topology) : reversible_topology;
-IF ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE' IN TYPEOF (an_item)) THEN
- RETURN (edge_reversed (an_item));
- END_IF;
-
- IF ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PATH' IN TYPEOF (an_item)) THEN
- RETURN (path_reversed (an_item));
- END_IF;
-
- IF ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FACE_BOUND' IN TYPEOF (an_item)) THEN
- RETURN (face_bound_reversed (an_item));
- END_IF;
-
- IF ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FACE' IN TYPEOF (an_item)) THEN
- RETURN (face_reversed (an_item));
- END_IF;
-
- IF ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 [0:?] OF STRING; criterion: INTEGER) : LOGICAL;
-IF ((NOT EXISTS(the_type)) OR (NOT ({0 <= criterion <= 3})) 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);
- END_CASE;
- END_IF;
-END_FUNCTION;
-
-FUNCTION using_items
- (item: founded_item_select; checked_items: SET [0:?] OF founded_item_select) : SET [0:?] 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 , '')) |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.REPRESENTATION_ITEM' IN TYPEOF(z)) OR
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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;
-
-FUNCTION using_representations
- (item: founded_item_select) : SET [0:?] 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,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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],
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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;
-
-FUNCTION valid_basis_curve_in_2d_wireframe
- (crv: curve) : BOOLEAN;
-IF SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POLYLINE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.B_SPLINE_CURVE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ELLIPSE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CIRCLE'] *
- TYPEOF (crv)) = 1
- THEN RETURN (TRUE);
- ELSE
- -- if the curve is a trimmed_curve
- IF (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.TRIMMED_CURVE')
- IN TYPEOF (crv)) THEN
- -- if a line, parabola, or hyperbola is being trimmed, then valid
- IF SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LINE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PARABOLA',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 <= 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;
-
-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 |
-('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN
-TYPEOF(rep)));
-
-
-IF (SIZEOF( QUERY( srwp <* parameter_representations |
- (SIZEOF( QUERY( i <* srwp.items |
- (i.name='orientation') AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MEASURE_REPRESENTATION_ITEM',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MEASURE_REPRESENTATION_ITEM',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MEASURE_REPRESENTATION_ITEM',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MEASURE_REPRESENTATION_ITEM',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ([ 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POLYLINE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.B_SPLINE_CURVE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ELLIPSE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CIRCLE' ] * TYPEOF (crv)) = 1 THEN
- RETURN (TRUE);
- ELSE
- IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.TRIMMED_CURVE' IN TYPEOF (crv) THEN
- IF SIZEOF ([ 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LINE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PARABOLA', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.OFFSET_CURVE_3D' IN TYPEOF (crv) THEN
- RETURN (valid_geometrically_bounded_wf_curve(crv\offset_curve_3d.basis_curve));
- ELSE
- IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_REPLICA' IN TYPEOF (crv) THEN
- RETURN (valid_geometrically_bounded_wf_curve(crv\curve_replica.parent_curve));
- ELSE
- IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CARTESIAN_POINT' IN TYPEOF (pnt) THEN
- RETURN (TRUE);
- ELSE
- IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT_ON_CURVE' IN TYPEOF (pnt) THEN
- RETURN (valid_geometrically_bounded_wf_curve(pnt\point_on_curve.basis_curve));
- ELSE
- IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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.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 ,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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] , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MEASURE_REPRESENTATION_ITEM' ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.QUALIFIED_REPRESENTATION_ITEM' ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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, 1.0, 0.0, 0.0, 0.0 ) THEN
- RETURN (FALSE);
- END_IF;
- END_IF;
- IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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;
-
-FUNCTION valid_wireframe_edge_curve
- (crv: curve) : BOOLEAN;
-IF SIZEOF ([ 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LINE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONIC', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.B_SPLINE_CURVE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POLYLINE' ] * TYPEOF (crv)) = 1 THEN
- RETURN (TRUE);
- ELSE
- IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_REPLICA' IN TYPEOF (crv) THEN
- RETURN (valid_wireframe_edge_curve(crv\curve_replica.parent_curve));
- ELSE
- IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CARTESIAN_POINT' IN TYPEOF (pnt) THEN
- RETURN (TRUE);
- ELSE
- IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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_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;
-
-FUNCTION value_range_aggregate_rep_item
- (agg: AGGREGATE OF representation_item) : BOOLEAN;
-BEGIN
- IF (SIZEOF(QUERY(i1 <* agg | ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 | (
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF
- (i1)))) = 2) OR
- (SIZEOF(QUERY (i2 <* agg | (
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF (i1)) AND
- (SIZEOF (QUERY (i2 <* agg |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VECTOR' IN TYPEOF(arg1) THEN
- mag1 := arg1.magnitude;
- vec1 := arg1\vector.orientation;
- ELSE
- mag1 := 1.0;
- vec1 := arg1;
- END_IF;
- IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VECTOR' IN TYPEOF(arg2) THEN
- mag2 := arg2.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;
-
-END_SCHEMA;
-
diff --git a/libs/assimp/scripts/StepImporter/schema_ap203e2_mim_lf.exp b/libs/assimp/scripts/StepImporter/schema_ap203e2_mim_lf.exp
deleted file mode 100644
index 7935304..0000000
--- a/libs/assimp/scripts/StepImporter/schema_ap203e2_mim_lf.exp
+++ /dev/null
@@ -1,16378 +0,0 @@
-(*
- $Id: mim_lf.exp,v 1.43 2009/09/10 20:08:09 darla Exp $
- ISO TC184/SC4/WG3 N2635 - ISO/TS 10303-403 AP203 configuration controlled 3d design of mechanical parts and assemblies - EXPRESS MIM Long form
- Supersedes ISO TC184/SC4/WG3 N2464
-*)
-
-SCHEMA Ap203_configuration_controlled_3d_design_of_mechanical_parts_and_assemblies_mim_lf;
-
-
-CONSTANT
- deprecated_constructed_data_types : SET [0:?] 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 [0:?] 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',
- 'start_request',
- 'start_work',
- 'supplied_part_relationship'];
-
-
- deprecated_interfaced_data_types : SET [0:?] 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'];
-
-
-
-END_CONSTANT;
-
-TYPE absorbed_dose_measure = REAL;
-END_TYPE;
-
-TYPE acceleration_measure = REAL;
-END_TYPE;
-
-TYPE action_items = SELECT (
- action_directive,
- certification_item,
- characterized_object,
- classification_item,
- configuration_effectivity,
- document_reference_item,
- identification_item,
- organization,
- person_and_organization,
- product_definition,
- product_definition_formation,
- product_definition_formation_relationship,
- product_definition_relationship,
- requirement_assigned_item);
-END_TYPE;
-
-TYPE action_method_items = SELECT (
- product,
- product_definition_formation);
-END_TYPE;
-
-TYPE action_request_item = SELECT (
- product_definition,
- product_definition_formation,
- product_definition_formation_relationship,
- product_definition_relationship,
- property_definition,
- versioned_action_request);
-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 (
- 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,
- composite_text);
-END_TYPE;
-
-TYPE approval_item = SELECT (
- action,
- action_directive,
- alternate_product_relationship,
- applied_action_assignment,
- applied_usage_right,
- assembly_component_usage_substitute,
- certification,
- configuration_effectivity,
- configuration_item,
- contract,
- date,
- directed_action,
- document,
- document_file,
- effectivity,
- executed_action,
- general_property_relationship,
- group,
- group_relationship,
- information_usage_right,
- product,
- product_definition,
- product_definition_formation,
- product_definition_formation_relationship,
- product_definition_relationship,
- representation,
- requirement_assignment,
- security_classification,
- shape_aspect_relationship,
- 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 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_language_item = SELECT (
- 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,
- date_role,
- date_time_role,
- descriptive_representation_item,
- document_relationship,
- document_usage_role,
- effectivity,
- effectivity_relationship,
- event_occurrence,
- external_source,
- general_property,
- general_property_relationship,
- geometric_representation_item,
- geometric_tolerance,
- identification_role,
- information_right,
- information_usage_right,
- make_from_usage_option,
- mapped_item,
- multi_language_attribute_assignment,
- object_role,
- organization_relationship,
- organization_role,
- organizational_project,
- organizational_project_relationship,
- organizational_project_role,
- person_and_organization,
- person_and_organization_role,
- product,
- product_concept,
- product_concept_relationship,
- product_definition,
- product_definition_context,
- product_definition_formation,
- product_definition_formation_relationship,
- product_definition_relationship,
- product_definition_shape,
- product_related_product_category,
- property_definition,
- representation,
- security_classification,
- security_classification_assignment,
- shape_aspect,
- shape_aspect_relationship,
- shape_representation,
- time_interval_role,
- topological_representation_item,
- uncertainty_measure_with_unit,
- uncertainty_qualifier,
- usage_association);
-END_TYPE;
-
-TYPE attribute_type = SELECT (
- label,
- text);
-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_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('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (
- solid_model,
- half_space_solid,
- csg_primitive,
- boolean_result);
-END_TYPE;
-
-TYPE boolean_operator = ENUMERATION OF (
- union,
- intersection,
- difference );
-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_formation,
- product_definition_formation_relationship);
-END_TYPE;
-
-TYPE certified_item = SELECT (
- supplied_part_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 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,
- effectivity,
- event_occurrence,
- executed_action,
- general_property,
- general_property_relationship,
- group,
- identification_assignment,
- information_right,
- information_usage_right,
- language,
- 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,
- product,
- product_concept,
- 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,
- security_classification,
- uncertainty_measure_with_unit,
- usage_association,
- versioned_action_request);
-END_TYPE;
-
-TYPE classified_item = SELECT (
- product,
- product_definition,
- product_definition_formation);
-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 (
- product_definition);
-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,
- 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_primitive = SELECT (
- sphere,
- block,
- right_angular_wedge,
- torus,
- right_circular_cone,
- right_circular_cylinder);
-END_TYPE;
-
-TYPE csg_select = SELECT (
- boolean_result,
- csg_primitive);
-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 (
- pcurve,
- surface_curve,
- composite_curve_on_surface);
-END_TYPE;
-
-TYPE curve_or_annotation_curve_occurrence = SELECT (
- curve,
- annotation_curve_occurrence);
-END_TYPE;
-
-TYPE curve_or_render = SELECT (
- curve_style,
- curve_style_rendering);
-END_TYPE;
-
-TYPE curve_style_font_select = SELECT (
- curve_style_font,
- pre_defined_curve_font,
- externally_defined_curve_font);
-END_TYPE;
-
-TYPE date_and_time_item = SELECT (
- action,
- action_directive,
- applied_action_assignment,
- applied_organization_assignment,
- applied_person_and_organization_assignment,
- applied_security_classification_assignment,
- approval_person_organization,
- certification,
- contract,
- directed_action,
- document,
- document_file,
- event_occurrence,
- executed_action,
- information_usage_right,
- organizational_project,
- product_definition,
- product_definition_formation,
- product_definition_relationship,
- rule_action,
- security_classification,
- versioned_action_request);
-END_TYPE;
-
-TYPE date_item = SELECT (
- action,
- action_directive,
- applied_action_assignment,
- applied_organization_assignment,
- applied_person_and_organization_assignment,
- applied_security_classification_assignment,
- approval_person_organization,
- certification,
- contract,
- directed_action,
- document,
- document_file,
- event_occurrence,
- executed_action,
- information_usage_right,
- organizational_project,
- product_definition,
- product_definition_formation,
- product_definition_relationship,
- security_classification,
- 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 day_in_month_number = INTEGER;
-WHERE
- WR1 : {1 <= SELF <= 31};
-END_TYPE;
-
-TYPE day_in_week_number = INTEGER;
-WHERE
- WR1 : { 1 <= SELF <= 7 };
-END_TYPE;
-
-TYPE day_in_year_number = INTEGER;
-WHERE
- WR1 : {1 <= SELF <= 366};
-END_TYPE;
-
-TYPE defined_symbol_select = SELECT (
- pre_defined_symbol,
- externally_defined_symbol);
-END_TYPE;
-
-TYPE derived_property_select = SELECT (
- property_definition,
- action_property);
-END_TYPE;
-
-TYPE description_attribute_select = SELECT (
- action_request_solution,
- application_context,
- approval_role,
- configuration_design,
- date_role,
- date_time_role,
- context_dependent_shape_representation,
- effectivity,
- external_source,
- organization_role,
- person_and_organization_role,
- person_and_organization,
- property_definition_representation,
- representation);
-END_TYPE;
-
-TYPE descriptive_measure = STRING;
-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_method,
- applied_external_identification_assignment,
- assembly_component_usage,
- characterized_class,
- characterized_object,
- configuration_item,
- descriptive_representation_item,
- dimensional_size,
- executed_action,
- externally_defined_dimension_definition,
- externally_defined_item,
- group,
- group_relationship,
- information_right,
- information_usage_right,
- material_designation,
- measure_representation_item,
- product,
- product_category,
- product_definition,
- product_definition_formation,
- product_definition_formation_relationship,
- product_definition_relationship,
- property_definition,
- representation,
- representation_item,
- rule_set,
- 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_text_occurrence,
- annotation_symbol_occurrence,
- annotation_curve_occurrence);
-END_TYPE;
-
-TYPE draughting_model_item_association_select = SELECT (
- annotation_occurrence,
- draughting_callout);
-END_TYPE;
-
-TYPE draughting_model_item_select = SELECT (
- mapped_item,
- styled_item,
- axis2_placement,
- camera_model,
- draughting_callout);
-END_TYPE;
-
-TYPE draughting_titled_item = SELECT (
- drawing_revision,
- drawing_sheet_revision);
-END_TYPE;
-
-TYPE effectivity_item = SELECT (
- assembly_component_usage_substitute,
- product,
- product_definition,
- product_definition_formation,
- product_definition_relationship,
- product_definition_substitute);
-END_TYPE;
-
-TYPE electric_charge_measure = REAL;
-END_TYPE;
-
-TYPE electric_current_measure = REAL;
-END_TYPE;
-
-TYPE electric_potential_measure = REAL;
-END_TYPE;
-
-TYPE energy_measure = REAL;
-END_TYPE;
-
-TYPE event_occurrence_item = SELECT (
- organizational_project);
-END_TYPE;
-
-TYPE external_identification_item = SELECT (
- action_relationship,
- action_request_status,
- applied_organization_assignment,
- applied_person_and_organization_assignment,
- approval,
- approval_status,
- 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,
- organizational_address,
- product_definition,
- security_classification,
- trimmed_curve,
- versioned_action_request);
-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_item_specific_usage_select = SELECT (
- shape_aspect,
- shape_aspect_relationship);
-END_TYPE;
-
-TYPE geometric_set_select = SELECT (
- point,
- curve,
- surface);
-END_TYPE;
-
-TYPE groupable_item = SELECT (
- 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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GROUP' IN TYPEOF(SELF));
-END_TYPE;
-
-TYPE hour_in_day = INTEGER;
-WHERE
- WR1 : { 0 <= SELF < 24 };
-END_TYPE;
-
-TYPE id_attribute_select = SELECT (
- action,
- address,
- product_category,
- property_definition,
- shape_aspect,
- shape_aspect_relationship,
- application_context,
- group,
- organizational_project,
- representation);
-END_TYPE;
-
-TYPE identification_item = SELECT (
- approval_status,
- characterized_class,
- class,
- configuration_item,
- contract,
- dimensional_size,
- document_file,
- general_property,
- group,
- group_relationship,
- information_right,
- information_usage_right,
- material_designation,
- organization,
- person_and_organization,
- product,
- product_category,
- product_class,
- product_concept,
- product_concept_feature,
- product_definition,
- product_definition_formation,
- product_identification,
- representation,
- rule_set,
- security_classification,
- security_classification_level,
- shape_aspect_relationship,
- shape_representation,
- usage_association);
-END_TYPE;
-
-TYPE identifier = STRING;
-END_TYPE;
-
-TYPE illuminance_measure = REAL;
-END_TYPE;
-
-TYPE inductance_measure = REAL;
-END_TYPE;
-
-TYPE instance_usage_context_select = SELECT (
- product_definition_relationship,
- product_definition_usage);
-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;
-WHERE
- wr1 : NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONFIGURATION_EFFECTIVITY' IN TYPEOF(SELF));
-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 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 luminous_flux_measure = REAL;
-END_TYPE;
-
-TYPE luminous_intensity_measure = REAL;
-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 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 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 message = STRING;
-END_TYPE;
-
-TYPE minute_in_hour = INTEGER;
-WHERE
- WR1 : { 0 <= SELF <= 59 };
-END_TYPE;
-
-TYPE month_in_year_number = INTEGER;
-WHERE
- WR1 : { 1 <= SELF <= 12 };
-END_TYPE;
-
-TYPE multi_language_attribute_item = SELECT (
- 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,
- date_role,
- date_time_role,
- descriptive_representation_item,
- document_relationship,
- document_usage_role,
- effectivity,
- effectivity_relationship,
- event_occurrence,
- external_source,
- general_property,
- general_property_relationship,
- geometric_representation_item,
- geometric_tolerance,
- identification_role,
- information_right,
- information_usage_right,
- make_from_usage_option,
- mapped_item,
- object_role,
- organization_relationship,
- organization_role,
- organizational_project,
- organizational_project_relationship,
- organizational_project_role,
- person_and_organization,
- person_and_organization_role,
- product,
- product_concept,
- product_concept_relationship,
- product_definition,
- product_definition_context,
- product_definition_formation,
- product_definition_formation_relationship,
- product_definition_relationship,
- product_definition_shape,
- product_related_product_category,
- property_definition,
- representation,
- representation_relationship,
- security_classification,
- security_classification_assignment,
- shape_aspect,
- shape_aspect_relationship,
- shape_representation,
- time_interval_role,
- topological_representation_item,
- uncertainty_measure_with_unit,
- usage_association);
-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.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 organization_item = SELECT (
- action,
- action_directive,
- alternate_product_relationship,
- applied_action_assignment,
- applied_classification_assignment,
- applied_identification_assignment,
- applied_security_classification_assignment,
- approval,
- assembly_component_usage_substitute,
- certification,
- class,
- configuration_item,
- contract,
- document_file,
- executed_action,
- general_property,
- information_usage_right,
- organizational_project,
- product,
- product_definition,
- product_definition_formation,
- product_definition_formation_relationship,
- property_definition,
- rule_action,
- security_classification,
- shape_representation,
- versioned_action_request);
-END_TYPE;
-
-TYPE orientation_basis_select = SELECT (
- axis2_placement_3d,
- min_and_major_ply_orientation_basis);
-END_TYPE;
-
-TYPE parameter_value = REAL;
-END_TYPE;
-
-TYPE pcurve_or_surface = SELECT (
- pcurve,
- surface);
-END_TYPE;
-
-TYPE person_and_organization_item = SELECT (
- action,
- action_directive,
- alternate_product_relationship,
- applied_action_assignment,
- applied_classification_assignment,
- applied_identification_assignment,
- applied_security_classification_assignment,
- approval,
- assembly_component_usage_substitute,
- certification,
- configuration_item,
- contract,
- document_file,
- executed_action,
- general_property,
- information_usage_right,
- organizational_project,
- person_and_organization,
- product,
- product_definition,
- product_definition_formation,
- product_definition_formation_relationship,
- property_definition,
- rule_action,
- security_classification,
- 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 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_path_members = LIST [1:?] OF point_and_vector;
-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.0;
-END_TYPE;
-
-TYPE positive_plane_angle_measure = plane_angle_measure;
-WHERE
- WR1 : SELF > 0.0;
-END_TYPE;
-
-TYPE positive_ratio_measure = ratio_measure;
-WHERE
- WR1 : SELF > 0.0;
-END_TYPE;
-
-TYPE power_measure = REAL;
-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,
- 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 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_or_formation_or_definition = SELECT (
- product,
- product_definition_formation,
- product_definition);
-END_TYPE;
-
-TYPE project_item = SELECT (
- executed_action,
- product_concept);
-END_TYPE;
-
-TYPE radioactivity_measure = REAL;
-END_TYPE;
-
-TYPE ratio_measure = REAL;
-END_TYPE;
-
-TYPE rendering_properties_select = SELECT (
- surface_style_reflectance_ambient,
- surface_style_transparent);
-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 (
- 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 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 <= 60.0 };
-END_TYPE;
-
-TYPE security_classification_item = SELECT (
- assembly_component_usage,
- document,
- document_file,
- make_from_usage_option,
- product,
- product_definition,
- product_definition_formation,
- product_definition_usage);
-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_definition = SELECT (
- product_definition_shape,
- shape_aspect,
- shape_aspect_relationship);
-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 size_select = SELECT (
- positive_length_measure,
- measure_with_unit,
- descriptive_measure);
-END_TYPE;
-
-TYPE sketch_basis_select = SELECT (
- curve_bounded_surface,
- face_surface);
-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 start_request_item = SELECT (
- product_definition_formation);
-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 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 symbol_style_select = SELECT (
- symbol_colour);
-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,
- 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,
- composite_text,
- axis2_placement);
-END_TYPE;
-
-TYPE thermodynamic_temperature_measure = REAL;
-END_TYPE;
-
-TYPE time_interval_item = SELECT (
- action,
- time_interval_based_effectivity);
-END_TYPE;
-
-TYPE time_measure = REAL;
-END_TYPE;
-
-TYPE tolerance_method_definition = SELECT (
- tolerance_value,
- limits_and_fits);
-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 u_direction_count = INTEGER;
-WHERE
- WR1 : SELF > 1;
-END_TYPE;
-
-TYPE unit = SELECT (
- derived_unit,
- named_unit);
-END_TYPE;
-
-TYPE v_direction_count = INTEGER;
-WHERE
- WR1 : SELF > 1;
-END_TYPE;
-
-TYPE value_qualifier = SELECT (
- precision_qualifier,
- type_qualifier,
- uncertainty_qualifier);
-END_TYPE;
-
-TYPE vector_or_direction = SELECT (
- vector,
- direction);
-END_TYPE;
-
-TYPE velocity_measure = REAL;
-END_TYPE;
-
-TYPE volume_measure = REAL;
-END_TYPE;
-
-TYPE week_in_year_number = INTEGER;
-WHERE
- WR1 : { 1 <= SELF <= 53 };
-END_TYPE;
-
-TYPE work_item = SELECT (
- product_definition_formation);
-END_TYPE;
-
-TYPE year_number = INTEGER;
-END_TYPE;
-
-ENTITY absorbed_dose_measure_with_unit
- SUBTYPE OF (measure_with_unit);
-WHERE
- WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 acceleration_measure_with_unit
- SUBTYPE OF (measure_with_unit);
-WHERE
- WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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, 0.0, -2.0, 0.0, 0.0, 0.0, 0.0 );
-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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1;
- WR2 : SIZEOF(USEDIN(SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1;
-END_ENTITY;
-
-
-ENTITY action_request_status;
- status : label;
- assigned_request : versioned_action_request;
-END_ENTITY;
-
-
-ENTITY action_status;
- status : label;
- assigned_action : executed_action;
-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 ([ 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MANIFOLD_SOLID_BREP', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FACETED_BREP', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT_3D' ] * TYPEOF (it)) = 1) )) = 0;
- WR2 : SIZEOF (
-QUERY ( it <* SELF.items| ( SIZEOF ([ 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MANIFOLD_SOLID_BREP', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' ] * TYPEOF (it)) = 1) )) > 0;
- WR3 : SIZEOF (
-QUERY ( msb <*
-QUERY ( it <* SELF.items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ADVANCED_FACE' IN TYPEOF (fcs)) )) = 0) )) = 0) )) = 0;
- WR4 : SIZEOF (
-QUERY ( msb <*
-QUERY ( it <* items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF (it)) )| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ORIENTED_CLOSED_SHELL' IN TYPEOF (msb\manifold_solid_brep.outer)) )) = 0;
- WR5 : SIZEOF (
-QUERY ( brv <*
-QUERY ( it <* items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' IN TYPEOF (it)) )| NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ([ 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ELEMENTARY_SURFACE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.B_SPLINE_SURFACE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SWEPT_SURFACE' ] * TYPEOF (face_geometry)) = 1;
- WR2 : SIZEOF (
-QUERY ( elp_fbnds <*
-QUERY ( bnds <* bounds| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) )| NOT ( SIZEOF (
-QUERY ( oe <* elp_fbnds.bound\path.edge_list| NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_CURVE' IN TYPEOF (oe\oriented_edge.edge_element)) )) = 0) )) = 0;
- WR3 : SIZEOF (
-QUERY ( elp_fbnds <*
-QUERY ( bnds <* bounds| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) )| NOT ( SIZEOF (
-QUERY ( oe <* elp_fbnds.bound\path.edge_list| NOT ( SIZEOF ([ 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LINE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONIC', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POLYLINE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_CURVE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.B_SPLINE_CURVE' ] * TYPEOF (oe.edge_element\edge_curve.edge_geometry)) = 1) )) = 0) )) = 0;
- WR4 : SIZEOF (
-QUERY ( elp_fbnds <*
-QUERY ( bnds <* bounds| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) )| NOT ( SIZEOF (
-QUERY ( oe <* elp_fbnds.bound\path.edge_list| NOT ((('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_POINT' IN TYPEOF (oe\edge.edge_start)) AND ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CARTESIAN_POINT' IN TYPEOF (oe\edge.edge_start\vertex_point.vertex_geometry))) AND (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_POINT' IN TYPEOF (oe\edge.edge_end)) AND ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CARTESIAN_POINT' IN TYPEOF (oe\edge.edge_end\vertex_point.vertex_geometry)))) )) = 0) )) = 0;
- WR5 : SIZEOF (
-QUERY ( elp_fbnds <*
-QUERY ( bnds <* bounds| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) )| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ORIENTED_PATH' IN TYPEOF (elp_fbnds.bound)) )) = 0;
- WR6 : NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SWEPT_SURFACE' IN TYPEOF (face_geometry)) OR ( SIZEOF ([ 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LINE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONIC', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POLYLINE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.B_SPLINE_CURVE' ] * TYPEOF (face_geometry\swept_surface.swept_curve)) = 1);
- WR7 : SIZEOF (
-QUERY ( vlp_fbnds <*
-QUERY ( bnds <* bounds| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_LOOP' IN TYPEOF (bnds.bound)) )| NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_POINT' IN TYPEOF (vlp_fbnds\face_bound.bound\vertex_loop.loop_vertex)) AND ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ([ 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_LOOP' ] * TYPEOF (bnd.bound)) = 1) )) = 0;
- WR9 : SIZEOF (
-QUERY ( elp_fbnds <*
-QUERY ( bnds <* bounds| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) )| NOT ( SIZEOF (
-QUERY ( oe <* elp_fbnds.bound\path.edge_list| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PCURVE' IN TYPEOF (sc_ag)) )) = 0) )) = 0) )) = 0;
- WR10 : (NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SWEPT_SURFACE' IN TYPEOF (face_geometry)) OR (NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) )| NOT ( SIZEOF (
-QUERY ( oe <* elp_fbnds.bound\path.edge_list| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 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 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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.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;
-
-
-ENTITY angle_direction_reference
- SUBTYPE OF (representation_item_relationship, geometric_representation_item);
- SELF\representation_item_relationship.related_representation_item : angle_direction_reference_select;
- SELF\representation_item_relationship.relating_representation_item : orientation_basis_select;
-WHERE
- WR1 : ((('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT_PATH' IN TYPEOF(related_representation_item)) AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MIN_AND_MAJOR_PLY_ORIENTATION_BASIS' IN TYPEOF(relating_representation_item)))
- OR
- (NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT_PATH' IN TYPEOF(related_representation_item)) AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT_3D' IN TYPEOF(relating_representation_item))));
-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);
-WHERE
- WR1 : SIZEOF (SELF\geometric_tolerance_with_datum_reference.datum_system) < 3;
-END_ENTITY;
-
-
-ENTITY annotation_curve_occurrence
- SUBTYPE OF (annotation_occurrence);
- SELF\styled_item.item : curve;
-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 (
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CIRCLE' IN TYPEOF (curve)) OR
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ELLIPSE' IN TYPEOF (curve)) OR
- ( ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.B_SPLINE_CURVE' IN TYPEOF (curve))
- AND (curve\b_spline_curve.closed_curve = TRUE) ) OR
- ( ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COMPOSITE_CURVE' IN TYPEOF (curve))
- AND (curve\composite_curve.closed_curve = TRUE) ) OR
- ( ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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))
- SUBTYPE OF (styled_item);
-WHERE
- WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN
- TYPEOF (SELF);
- WR2 : SIZEOF (QUERY (reps <* using_representations(SELF) |
- NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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) *
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_FILL_AREA_OCCURRENCE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PROJECTION_CURVE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'PLANAR_BOX' IN TYPEOF(SELF\styled_item.item)) OR
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'AXIS2_PLACEMENT_3D' IN TYPEOF(SELF\styled_item.item\planar_box.placement));
- WR3 : (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'PLANAR_BOX' IN TYPEOF(SELF\styled_item.item)) AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'CURVE_STYLE' IN TYPEOF(SELF\styled_item.styles[1]\presentation_style_assignment.styles[1]))) OR
- (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'PLANE' IN TYPEOF(SELF\styled_item.item)) AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.NULL_STYLE'
- IN TYPEOF (sty.styles[1])) ))=0;
- WR3 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_SYMBOL'
- IN TYPEOF (SELF.item));
- WR4 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.TEXT_STRING_REPRESENTATION' IN
- TYPEOF( SELF\mapped_item.mapping_source.mapped_representation);
- WR2 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CHARACTER_GLYPH_SYMBOL' IN
- TYPEOF (SELF\mapped_item.mapping_source.mapped_representation);
- WR2 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1;
- WR2 : SIZEOF(USEDIN(SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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_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_attribute_classification_assignment
- SUBTYPE OF (attribute_classification_assignment);
- items : SET [1:?] OF attribute_classification_item;
- SELF\attribute_classification_assignment.assigned_class : class;
-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_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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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.0, 0.0, 0.0, 0.0 );
-END_ENTITY;
-
-
-ENTITY assembly_component_usage
- SUPERTYPE OF (ONEOF (next_assembly_usage_occurrence, specified_higher_usage_occurrence, promissory_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 assigned_requirement
- SUBTYPE OF (group_assignment);
- items : SET [1:1] OF product_definition;
- SELF\group_assignment.assigned_group : requirement_assignment;
-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);
- items : SET [1:?] OF attribute_language_item;
- SELF\attribute_classification_assignment.assigned_class : language;
-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,0.0,1.0]));
-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.0);
-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
- control_points : ARRAY [0:upper_index_on_control_points] OF cartesian_point := list_to_array(control_points_list,0,
- upper_index_on_control_points);
- upper_index_on_control_points : INTEGER := (SIZEOF(control_points_list) - 1);
-WHERE
- WR1 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.UNIFORM_CURVE' IN TYPEOF(self)) OR
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.QUASI_UNIFORM_CURVE' IN TYPEOF(self)) OR
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.BEZIER_CURVE' IN TYPEOF(self)) OR
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.B_SPLINE_CURVE_WITH_KNOTS' IN TYPEOF(self));
-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_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
- 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);
- u_upper : INTEGER := SIZEOF(control_points_list) - 1;
- v_upper : INTEGER := SIZEOF(control_points_list[1]) - 1;
-WHERE
- WR1 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.UNIFORM_SURFACE' IN TYPEOF(SELF)) OR
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.QUASI_UNIFORM_SURFACE' IN TYPEOF(SELF)) OR
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.BEZIER_SURFACE' IN TYPEOF(SELF)) OR
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.B_SPLINE_SURFACE_WITH_KNOTS' IN TYPEOF(SELF));
-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 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_generic_expression
- ABSTRACT SUPERTYPE
- SUBTYPE OF (generic_expression);
- operands : LIST [2:2] OF generic_expression;
-END_ENTITY;
-
-
-ENTITY binary_numeric_expression
- ABSTRACT SUPERTYPE
- 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_expression
- ABSTRACT SUPERTYPE OF (ONEOF (simple_boolean_expression, multiple_arity_boolean_expression, comparison_expression, interval_expression))
- 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 boundary_curve
- SUBTYPE OF (composite_curve_on_surface);
-WHERE
- WR1 : SELF\composite_curve.closed_curve;
-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 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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);
- items : SET [1:1] OF product_definition_or_breakdown_element_usage;
- SELF\group_assignment.assigned_group : product_definition_element_relationship;
-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
- SUBTYPE OF (mapped_item);
- SELF\mapped_item.mapping_source : camera_usage;
- SELF\mapped_item.mapping_target : planar_box;
-WHERE
- WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM'
- IN TYPEOF (SELF);
-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 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'AXIS2_PLACEMENT_2D' IN TYPEOF (SELF\mapped_item.
- mapping_target\planar_box.placement))
- AND NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'AXIS2_PLACEMENT_3D' IN TYPEOF (SELF\mapped_item.
- mapping_target\planar_box.placement));
-END_ENTITY;
-
-
-ENTITY camera_model
- ABSTRACT SUPERTYPE
- SUBTYPE OF (geometric_representation_item);
-WHERE
- WR1 : (SIZEOF (USEDIN (SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'ITEM_DEFINED_TRANSFORMATION.' +
- 'TRANSFORM_ITEM_1')) +
- SIZEOF (USEDIN (SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'REPRESENTATION_MAP.MAPPING_ORIGIN'))
- ) > 0;
- WR2 : SIZEOF(USEDIN(SELF,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'STYLED_ITEM.ITEM')) = 0;
-END_ENTITY;
-
-
-ENTITY camera_model_d3
- SUBTYPE OF (camera_model);
- view_reference_system : axis2_placement_3d;
- perspective_of_volume : view_volume;
-WHERE
- WR1 : (dot_product (SELF.view_reference_system.p[3],
- SELF.perspective_of_volume.view_window.placement.p[3]) = 1.0)
- AND
- (SELF.view_reference_system.location.coordinates[3] =
- SELF.perspective_of_volume.view_window.
- placement.location.coordinates[3]);
- WR2 : 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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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_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.0);
-WHERE
- WR1 : scl > 0.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 celsius_temperature_measure_with_unit
- SUBTYPE OF (measure_with_unit);
-WHERE
- WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.THERMODYNAMIC_TEMPERATURE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component);
-END_ENTITY;
-
-
-ENTITY centre_of_symmetry
- SUBTYPE OF (derived_shape_aspect);
-WHERE
- WR1 : SIZEOF
- (QUERY(sadr<*SELF\derived_shape_aspect.deriving_relationships|
- NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SYMMETRIC_SHAPE_ASPECT'
- IN TYPEOF
- (sadr\shape_aspect_relationship.related_shape_aspect))))=0;
-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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1;
-END_ENTITY;
-
-
-ENTITY certification_type;
- description : label;
-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 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.0 <= baseline_ratio <= 1.0};
- WR2 : item_in_context(SELF.character_box,
- SELF\representation.context_of_items);
- WR3 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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_class
- SUBTYPE OF (characterized_object, class);
-END_ENTITY;
-
-
-ENTITY characterized_object;
- name : label;
- description : OPTIONAL text;
-END_ENTITY;
-
-
-ENTITY circle
- SUBTYPE OF (conic);
- radius : positive_length_measure;
-END_ENTITY;
-
-
-ENTITY circular_runout_tolerance
- SUBTYPE OF (geometric_tolerance_with_datum_reference);
-WHERE
- WR1 : SIZEOF (SELF\geometric_tolerance_with_datum_reference.datum_system) <= 2;
-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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF(i)) )) = 0;
- WR3 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 closed_shell
- SUBTYPE OF (connected_face_set);
-END_ENTITY;
-
-
-ENTITY coaxiality_tolerance
- SUBTYPE OF (geometric_tolerance_with_datum_reference);
-WHERE
- WR1 : SIZEOF (SELF\geometric_tolerance_with_datum_reference.datum_system) <= 2;
-END_ENTITY;
-
-
-ENTITY colour;
-END_ENTITY;
-
-
-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;
-
-
-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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DATUM' IN TYPEOF (sar.related_shape_aspect)) AND
- NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COMMON_DATUM' IN TYPEOF (sar.related_shape_aspect))) )) = 0;
-END_ENTITY;
-
-
-ENTITY comparison_expression
- ABSTRACT SUPERTYPE
- SUBTYPE OF (boolean_expression, binary_generic_expression);
- SELF\binary_generic_expression.operands : LIST [2:2] OF expression;
-WHERE
- WR1 : (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.NUMERIC_EXPRESSION'
-IN TYPEOF(SELF\binary_generic_expression.operands[1]))
- AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.NUMERIC_EXPRESSION'
-IN TYPEOF(SELF\binary_generic_expression.operands[2])))
-OR
- (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.BOOLEAN_EXPRESSION'
-IN TYPEOF(SELF\binary_generic_expression.operands[1]))
- AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.BOOLEAN_EXPRESSION'
- IN TYPEOF(SELF\binary_generic_expression.operands[2])))
-OR
-(('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STRING_EXPRESSION'
-IN TYPEOF(SELF\binary_generic_expression.operands[1]))
- AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STRING_EXPRESSION'
-IN TYPEOF(SELF\binary_generic_expression.operands[2])));
-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_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 composite_assembly_definition
- SUBTYPE OF (product_definition);
-WHERE
- WR1 : SIZEOF (QUERY (pdr <* USEDIN (SELF,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'PRODUCT_DEFINITION_RELATIONSHIP.' +
- 'RELATING_PRODUCT_DEFINITION') |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'NEXT_ASSEMBLY_USAGE_OCCURRENCE' IN
- TYPEOF (pdr))) = 1;
-END_ENTITY;
-
-
-ENTITY composite_assembly_sequence_definition
- SUBTYPE OF (product_definition);
-WHERE
- WR1 : SIZEOF (QUERY (pdr <* USEDIN (SELF,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'PRODUCT_DEFINITION_RELATIONSHIP.' +
- 'RELATING_PRODUCT_DEFINITION') |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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
- closed_curve : LOGICAL := segments[n_segments].transition <> discontinuous;
- n_segments : INTEGER := SIZEOF(segments);
-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 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.BOUNDED_CURVE' IN TYPEOF(parent_curve));
-END_ENTITY;
-
-
-ENTITY composite_material_designation
- SUBTYPE OF (material_designation);
-END_ENTITY;
-
-
-ENTITY composite_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 (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'GEOMETRICALLY_BOUNDED_SURFACE_SHAPE_REPRESENTATION',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 compound_representation_item
- SUPERTYPE OF (ONEOF (point_and_vector, point_path, 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 : ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'EDGE_BASED_WIREFRAME_MODEL' ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'FACE_BASED_SURFACE_MODEL' ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'MAPPED_ITEM' , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'AXIS2_PLACEMENT_3D']* TYPEOF ( cbsr_i ) ) <>1 ) ) =0;
- WR3 : SIZEOF ( QUERY ( cbsr_i <* SELF.items | SIZEOF (
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'EDGE_BASED_WIREFRAME_MODEL' ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'FACE_BASED_SURFACE_MODEL' ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'MAPPED_ITEM']* TYPEOF ( cbsr_i ) ) =1 ) ) >0;
- WR4 : SIZEOF ( QUERY ( cbsr_i <* SELF.items | (
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'MAPPED_ITEM' IN TYPEOF ( cbsr_i ) )
- AND ( SIZEOF ( ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'COMPOUND_SHAPE_REPRESENTATION' , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'EDGE_BASED_WIREFRAME_SHAPE_REPRESENTATION' ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'NON_MANIFOLD_SURFACE_SHAPE_REPRESENTATION']* TYPEOF (
- cbsr_i\ mapped_item.mapping_source ) ) <>1 ) ) ) =0;
-END_ENTITY;
-
-
-ENTITY concentricity_tolerance
- SUBTYPE OF (geometric_tolerance_with_datum_reference);
-WHERE
- WR1 : SIZEOF (SELF\geometric_tolerance_with_datum_reference.datum_system) = 1;
-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 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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
- description : text := get_description_value (SELF);
- name : label := get_name_value (SELF);
-UNIQUE
- UR1 : configuration, design;
-WHERE
- WR1 : SIZEOF (USEDIN (SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1;
- WR2 : SIZEOF (USEDIN (SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 | ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 | ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'EFFECTIVITY_CONTEXT_ASSIGNMENT.ASSIGNED_EFFECTIVITY_ASSIGNMENT') | 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONFIGURED_EFFECTIVITY_CONTEXT_ASSIGNMENT' IN TYPEOF(x) )) = 1;
-END_ENTITY;
-
-
-ENTITY configured_effectivity_context_assignment
- SUBTYPE OF (effectivity_context_assignment);
- items : SET [1:?] OF configured_effectivity_context_item;
- SELF\effectivity_context_assignment.assigned_effectivity_assignment : configured_effectivity_assignment;
-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.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 constructive_geometry_representation
- SUBTYPE OF (representation);
-WHERE
- WR1 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PLACEMENT', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FACE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FACE_SURFACE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_POINT'] * TYPEOF(cgr_i)) <> 1 )) = 0;
- WR3 : SIZEOF( USEDIN( SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'REPRESENTATION_RELATIONSHIP.REP_2') ) > 0;
- WR4 : SIZEOF( USEDIN( SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_REPRESENTATION_CONTEXT' IN TYPEOF(SELF.rep_1.context_of_items));
- WR2 : NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ( ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'MEASURE_REPRESENTATION_ITEM' , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'VALUE_RANGE']* TYPEOF ( i ) ) =1 ) AND ( i.name =
- 'ratio value' ) ) ) =1 );
- WR2 : ( SIZEOF ( QUERY ( pdr <* USEDIN ( SELF ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+
- 'USED_REPRESENTATION' ) | pdr. name =
- 'contact ratio reference' ) ) =1 ) AND ( SIZEOF ( QUERY (
- pdr <* USEDIN ( SELF ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+
- 'USED_REPRESENTATION' ) | ( pdr. name =
- 'contact ratio reference' ) AND ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'PRODUCT_DEFINITION' IN TYPEOF ( pdr.
- definition.definition ) ) ) ) =1 );
- WR3 : ( SIZEOF ( USEDIN ( SELF ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+
- 'USED_REPRESENTATION' ) ) =1 ) AND ( SIZEOF ( QUERY ( pdr
- <* USEDIN ( SELF ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+
- 'USED_REPRESENTATION' ) | SIZEOF ( QUERY ( gpa <* USEDIN (
- pdr. definition ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'GENERAL_PROPERTY_ASSOCIATION.'+
- 'DERIVED_DEFINITION' ) | ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'GENERAL_PROPERTY' IN TYPEOF ( gpa. base_definition ) ) AND
- ( gpa. base_definition.name ='surface_condition' ) ) ) =1 )
- ) =1 );
-END_ENTITY;
-
-
-ENTITY context_dependent_invisibility
- SUBTYPE OF (invisibility);
- presentation_context : invisibility_context;
-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 | 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.REPRESENTATION_ITEM' IN TYPEOF(sc)))= 1) OR
-(SIZEOF(QUERY(sc <* SELF.style_context |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' IN TYPEOF(sc))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT_DEFINITION_RELATIONSHIP' IN TYPEOF(SELF.represented_product_relation.definition);
- WR2 : SIZEOF(USEDIN(SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1;
- WR3 : SIZEOF(USEDIN(SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1;
-END_ENTITY;
-
-
-ENTITY context_dependent_unit
- SUBTYPE OF (named_unit);
- name : label;
-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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 < 24 };
- WR2 : { 0 <= actual_minute_offset <= 59 };
- WR3 : NOT (((hour_offset <> 0) OR (actual_minute_offset <>0)) AND (sense = exact));
-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 ([ 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CSG_SOLID', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT_3D', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SOLID_REPLICA', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.REVOLVED_FACE_SOLID', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EXTRUDED_FACE_SOLID' ] * TYPEOF (it)) <> 1) )) = 0;
- WR3 : SIZEOF (
-QUERY ( mi <*
-QUERY ( it <* SELF.items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' IN TYPEOF (it)) )| NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CSG_SHAPE_REPRESENTATION' IN TYPEOF (mi\mapped_item.mapping_source.mapped_representation)) )) = 0;
- WR4 : SIZEOF (
-QUERY ( sr <*
-QUERY ( it <* SELF.items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SOLID_REPLICA' IN TYPEOF (it)) )| ( SIZEOF ([ 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CSG_SOLID', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.REVOLVED_FACE_SOLID', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EXTRUDED_FACE_SOLID' ] * TYPEOF (sr\solid_replica.parent_solid)) = 0) )) = 0;
- WR5 : SIZEOF (
-QUERY ( it <* SELF.items| NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 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;
-
-
-ENTITY currency_measure_with_unit
- SUBTYPE OF (measure_with_unit);
- SELF\measure_with_unit.unit_component : currency;
-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_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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.OUTER_BOUNDARY_CURVE' IN TYPEOF(temp))) = 0);
- WR2 : (NOT(implicit_outer)) OR
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.BOUNDED_SURFACE' IN TYPEOF(basis_surface));
- WR3 : SIZEOF(QUERY(temp <* boundaries |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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_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_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;
-
-
-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_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 (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SWEPT_AREA_SOLID',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SWEPT_DISK_SOLID',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT_3D'] *
- TYPEOF(it)) = 1))) = 0;
- WR2 : SIZEOF (QUERY (it <* SELF.items |
- SIZEOF(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SWEPT_AREA_SOLID',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SWEPT_DISK_SOLID',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM'] * TYPEOF(it)) =1 )) > 0;
- WR3 : SIZEOF (QUERY (mi <* QUERY (it <* items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' IN TYPEOF(it)) |
- NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_CURVE_SWEPT_AREA_SOLID' IN
- TYPEOF(it)) |
- NOT(('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_CURVE' IN
- TYPEOF(scsas\surface_curve_swept_area_solid.directrix)) OR
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PCURVE' IN
- TYPEOF(scsas\surface_curve_swept_area_solid.directrix))))) = 0;
-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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 : date_time_or_event_occurrence;
-END_ENTITY;
-
-
-ENTITY datum
- SUBTYPE OF (shape_aspect);
- identification : identifier;
-INVERSE
- established_by_relationships: SET [1:?] OF shape_aspect_relationship FOR related_shape_aspect;
-WHERE
- WR1 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COMMON_DATUM' IN TYPEOF(SELF)) XOR
- ((SIZEOF(QUERY(x <* SELF\datum.established_by_relationships |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DATUM_FEATURE' IN TYPEOF(x\shape_aspect_relationship.relating_shape_aspect)))) = 1) XOR
- (SIZEOF(QUERY(x <* SELF\datum.established_by_relationships |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DATUM_TARGET' IN TYPEOF(x\shape_aspect_relationship.relating_shape_aspect)))) >= 1));
-END_ENTITY;
-
-
-ENTITY 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
- | ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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_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
- | ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DEFAULT_TOLERANCE_TABLE_CELL' IN TYPEOF(i)) )) = 0;
- WR2 : (SIZEOF( QUERY( rr <* USEDIN(SELF,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'REPRESENTATION_RELATIONSHIP.REP_1') | rr.name < 'general tolerance definition' )) = 0) AND (SIZEOF( QUERY( rr <* USEDIN(SELF,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'REPRESENTATION_RELATIONSHIP.REP_1') | (rr.name = 'general tolerance definition') AND (rr.rep_2.name < 'default tolerance') )) = 0) AND (SIZEOF( USEDIN(SELF,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'REPRESENTATION.ITEMS') | 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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_symbol
- SUBTYPE OF (geometric_representation_item);
- definition : defined_symbol_select;
- target : symbol_target;
-END_ENTITY;
-
-
-ENTITY definitional_representation
- SUBTYPE OF (representation);
-WHERE
- WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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],
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 derived_shape_aspect
- SUPERTYPE OF (ONEOF (apex, centre_of_symmetry, geometric_alignment, geometric_intersection, parallel_offset, perpendicular_to, extension, tangent))
- SUBTYPE OF (shape_aspect);
-INVERSE
- deriving_relationships: SET [1:?] OF shape_aspect_relationship FOR relating_shape_aspect;
-WHERE
- WR1 : SIZEOF (QUERY (dr <*
- SELF\derived_shape_aspect.deriving_relationships |
- NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'SHAPE_ASPECT_DERIVING_RELATIONSHIP'
- IN TYPEOF (dr)))) = 0;
-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.0));
- WR2 : SIZEOF(USEDIN(SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 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 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LEADER_DIRECTED_CALLOUT'
- IN (TYPEOF (SELF))) XOR
- (SIZEOF (QUERY(dce_1 <* SELF\draughting_callout.contents |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LEADER_CURVE'
- IN (TYPEOF(dce_1))))) = 0);
- WR2 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PROJECTION_DIRECTED_CALLOUT'
- IN (TYPEOF (SELF))) XOR
- (SIZEOF (QUERY(dce_1 <* SELF\draughting_callout.contents |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PROJECTION_CURVE'
- IN (TYPEOF(dce_1))))) = 0);
- WR3 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DIMENSION_CURVE_DIRECTED_CALLOUT'
- IN (TYPEOF (SELF))) XOR
- (SIZEOF (QUERY(dce_1 <* SELF\draughting_callout.contents |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STRUCTURED_DIMENSION_CALLOUT'
- IN TYPEOF (SELF.relating_draughting_callout);
- WR3 : SIZEOF (TYPEOF (SELF.related_draughting_callout) *
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LEADER_DIRECTED_CALLOUT',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PROJECTION_DIRECTED_CALLOUT',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DIMENSION_CURVE_DIRECTED_CALLOUT',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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) *
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANGULAR_DIMENSION',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_DIMENSION',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DIAMETER_DIMENSION',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LEADER_DIRECTED_DIMENSION',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LINEAR_DIMENSION',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ORDINATE_DIMENSION',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.RADIUS_DIMENSION'])>=1;
- WR3 : SIZEOF (TYPEOF (SELF.related_draughting_callout) *
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DIMENSION_CURVE_DIRECTED_CALLOUT',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PROJECTION_DIRECTED_CALLOUT',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'TERMINATOR_SYMBOL.ANNOTATED_CURVE')
- | (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'DIMENSION_CURVE_TERMINATOR' IN TYPEOF(dct))
- ))
- ) <= 2);
- WR2 : SIZEOF(
- QUERY( dcdc <* USEDIN(SELF,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'DRAUGHTING_CALLOUT.CONTENTS') |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'DIMENSION_CURVE_DIRECTED_CALLOUT' IN TYPEOF(dcdc)))
- )>= 1;
- WR3 : (SIZEOF(
- QUERY(dct1 <* USEDIN(SELF,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'TERMINATOR_SYMBOL.ANNOTATED_CURVE')
- | (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'TERMINATOR_SYMBOL.ANNOTATED_CURVE')
- | (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DIMENSION_CURVE' IN (TYPEOF(d_c))))=1;
- WR2 : SIZEOF(SELF\draughting_callout.contents) >= 2;
-END_ENTITY;
-
-
-ENTITY dimension_curve_terminator
- SUBTYPE OF (terminator_symbol);
- role : dimension_extent_usage;
-WHERE
- WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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.related_annotation_occurrence : projection_curve;
- SELF\annotation_occurrence_relationship.relating_annotation_occurrence : dimension_curve_terminator;
-END_ENTITY;
-
-
-ENTITY dimension_pair
- SUBTYPE OF (draughting_callout_relationship);
-WHERE
- WR1 : SELF.name IN ['chained', 'parallel'];
- WR2 : SIZEOF (TYPEOF (SELF.relating_draughting_callout) *
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANGULAR_DIMENSION',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_DIMENSION',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DIAMETER_DIMENSION',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LINEAR_DIMENSION',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ORDINATE_DIMENSION',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.RADIUS_DIMENSION'])=1;
- WR3 : SIZEOF (TYPEOF (SELF.related_draughting_callout) *
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANGULAR_DIMENSION',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_DIMENSION',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DIAMETER_DIMENSION',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LINEAR_DIMENSION',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ORDINATE_DIMENSION',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHAPE_DIMENSION_REPRESENTATION'
- IN TYPEOF (SELF\mapped_item.
- mapping_source.mapped_representation));
- WR2 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DRAUGHTING_CALLOUT'
- IN TYPEOF (SELF\mapped_item.mapping_target));
- WR3 : SIZEOF (QUERY (ato <* QUERY (si <*
- USEDIN (SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM.ITEM') |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_TEXT_OCCURRENCE'
- IN TYPEOF(si))) |
- NOT (SIZEOF( QUERY (dc <*
- USEDIN (ato, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'DRAUGHTING_CALLOUT.CONTENTS') |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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);
-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;
-WHERE
- WR1 : applies_to.product_definitional = TRUE;
-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_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)) > 0;
-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);
- items : SET [1:?] OF document_identifier_assigned_item;
- SELF\group_assignment.assigned_group : document_identifier;
-END_ENTITY;
-
-
-ENTITY document_product_association;
- 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('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') | prpc.name = 'document' )) = 1));
- WR3 : NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') | prpc.name = 'document')) = 1));
- WR4 : NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_CURVE_OCCURRENCE'
- IN TYPEOF (SELF))) OR
- (SIZEOF (QUERY (sty <* SELF.styles |
- NOT ((SIZEOF (sty.styles) = 1)
- AND ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE'
- IN TYPEOF (sty.styles[1]))) )) = 0);
- WR2 : (NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_FILL_AREA_OCCURRENCE'
- IN TYPEOF (SELF))) OR (SIZEOF (QUERY (sty <* SELF.styles |
- NOT ((SIZEOF (sty.styles) = 1)
- AND ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FILL_AREA_STYLE'
- IN TYPEOF (sty.styles[1]))) )) = 0);
- WR3 : (NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'STYLED_ITEM.ITEM') |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'ANNOTATION_CURVE_OCCURRENCE' IN TYPEOF (si)))) > 0))) = 0);
- WR4 : (NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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]) *
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SYMBOL_STYLE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.NULL_STYLE']) = 1)) )) = 0);
- WR5 : (NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_SYMBOL_OCCURRENCE'
- IN TYPEOF (SELF)) AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_SYMBOL'
- IN TYPEOF(SELF.item)))) OR
- (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'DRAUGHTING_SYMBOL_REPRESENTATION',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'DRAUGHTING_SUBFIGURE_REPRESENTATION'] *
- TYPEOF (SELF.item\mapped_item.mapping_source.
- mapped_representation)) = 1);
- WR6 : (NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_TEXT_OCCURRENCE'
- IN TYPEOF (SELF))) OR
- (SIZEOF (QUERY (sty <* SELF.styles |
- NOT ((SIZEOF (sty.styles) = 1)
- AND ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.TEXT_STYLE'
- IN TYPEOF (sty.styles[1]))) )) = 0);
- WR7 : (NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_TEXT_OCCURRENCE'
- IN TYPEOF (SELF))) OR
- (SIZEOF (TYPEOF(SELF.item) *
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COMPOSITE_TEXT',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.TEXT_LITERAL']) = 1);
- WR8 : (NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_TEXT_OCCURRENCE'
- IN TYPEOF (SELF)) AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COMPOSITE_TEXT'
- IN TYPEOF (SELF.item)))) OR (SIZEOF (QUERY (tl <*
- SELF.item\composite_text.collected_text |
- NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.TEXT_LITERAL'
- IN TYPEOF (tl)) )) = 0);
- WR9 : (NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_TEXT_OCCURRENCE'
- IN TYPEOF (SELF)) AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.TEXT_LITERAL'
- IN TYPEOF (SELF.item)))) OR (SELF.item\text_literal.alignment
- IN ['baseline left', 'baseline centre', 'baseline right']);
- WR10 : (NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_TEXT_OCCURRENCE'
- IN TYPEOF (SELF)) AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COMPOSITE_TEXT'
- IN TYPEOF (SELF.item)))) OR
- (SIZEOF (QUERY (tl <* QUERY (text <* SELF.
- item\composite_text.collected_text
- |('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.TEXT_LITERAL' IN TYPEOF(text))) |
- NOT (tl\text_literal.alignment IN
- ['baseline left', 'baseline centre', 'baseline right']) )) = 0);
- WR11 : NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_TEXT_OCCURRENCE'
- IN TYPEOF(SELF)) AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COMPOSITE_TEXT'
- IN TYPEOF (SELF.item))) OR check_text_alignment(SELF.item);
- WR12 : NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_TEXT_OCCURRENCE'
- IN TYPEOF(SELF)) AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COMPOSITE_TEXT'
- IN TYPEOF (SELF.item))) OR check_text_font(SELF.item);
- WR13 : (NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_TEXT_OCCURRENCE'
- IN TYPEOF(SELF)) AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COMPOSITE_TEXT'
- IN TYPEOF (SELF.item)))) OR
- (SIZEOF (QUERY (tl <* QUERY (text <*
- SELF.item\composite_text.collected_text |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.TEXT_LITERAL' IN TYPEOF (text))) |
- NOT (SIZEOF (TYPEOF(tl) *
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'TEXT_LITERAL_WITH_BLANKING_BOX',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'TEXT_LITERAL_WITH_ASSOCIATED_CURVES']) = 0) )) = 0);
- WR14 : (NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_TEXT_OCCURRENCE'
- IN TYPEOF (SELF)) AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM.ITEM') |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_CURVE_OCCURRENCE'
- IN TYPEOF (si)) )) > 0) )) = 0);
- WR15 : (NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_TEXT_OCCURRENCE'
- IN TYPEOF (SELF)) AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM.ITEM') |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_CURVE_OCCURRENCE'
- IN TYPEOF (si)) )) > 0) )) = 0);
- WR16 : SIZEOF (QUERY (cs <* QUERY (sty <* SELF.styles |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE' IN TYPEOF (sty.styles[1])))
- | NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LENGTH_MEASURE_WITH_UNIT'
- IN TYPEOF (cs.styles[1]\curve_style.curve_width)) AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FILL_AREA_STYLE'
- IN TYPEOF (sty.styles[1]))) |
- NOT ((SIZEOF (QUERY (fs <* fas.styles[1]\fill_area_style.fill_styles
- | ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FILL_AREA_STYLE_TILES'
- IN TYPEOF (fs)))) <= 1)
- AND (SIZEOF (QUERY (fst <* QUERY (fs <*
- fas.styles[1]\fill_area_style.fill_styles |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FILL_AREA_STYLE'
- IN TYPEOF (sty.styles[1]))) |
- NOT (SIZEOF (QUERY (fsh <* QUERY (fs <*
- fas.styles[1]\fill_area_style.fill_styles |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.TEXT_STYLE'
- IN TYPEOF(sty.styles[1]))) |
- NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'TEXT_STYLE_WITH_BOX_CHARACTERISTICS'
- IN TYPEOF (ts.styles[1])))) = 0;
- WR20 : SIZEOF (QUERY (ts <* QUERY (sty <* SELF.styles |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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
- SUPERTYPE OF ((ONEOF (datum_feature_callout, datum_target_callout, dimension_curve_directed_callout, draughting_elements, geometrical_tolerance_callout, leader_directed_callout, projection_directed_callout, structured_dimension_callout) ANDOR surface_condition_callout))
- SUBTYPE OF (geometric_representation_item);
- contents : SET [1:?] OF draughting_callout_element;
-WHERE
- WR1 : (SIZEOF (QUERY (l_1 <* SELF\draughting_callout.contents |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LEADER_CURVE' IN (TYPEOF(l_1)))) = 0) OR
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LEADER_DIRECTED_CALLOUT' IN (TYPEOF(SELF))) AND
- (SIZEOF (QUERY (l_1 <* SELF\draughting_callout.contents |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PROJECTION_CURVE' IN (TYPEOF(l_1)))) = 0) OR
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PROJECTION_DIRECTED_CALLOUT' IN (TYPEOF(SELF))) AND
- (SIZEOF (QUERY (l_1 <* SELF\draughting_callout.contents |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DIMENSION_CURVE' IN (TYPEOF(l_1)))) = 0) OR
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LEADER_CURVE' IN TYPEOF(con))) |
- NOT (SIZEOF (QUERY (ldc <* USEDIN (l_c,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'DRAUGHTING_CALLOUT.CONTENTS') |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LEADER_DIRECTED_CALLOUT'
- IN TYPEOF (ldc)))) <= 1)))=0;
- WR2 : NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DIMENSION_CURVE_DIRECTED_CALLOUT'
- IN TYPEOF(SELF)) OR
- (SIZEOF (QUERY (con <* SELF.contents |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PROJECTION_CURVE' IN
- TYPEOF (con)))) <= 2);
- WR3 : SIZEOF (QUERY (rc <* USEDIN (SELF,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DRAUGHTING_CALLOUT_' +
- 'RELATIONSHIP.RELATING_DRAUGHTING_CALLOUT') |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'DIMENSION_CALLOUT_RELATIONSHIP' IN TYPEOF (rc)) AND
- (rc.name = 'primary') )) <= 1;
- WR4 : SIZEOF (QUERY (rc <* USEDIN (SELF,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DRAUGHTING_CALLOUT_' +
- 'RELATIONSHIP.RELATING_DRAUGHTING_CALLOUT') |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'DIMENSION_CALLOUT_RELATIONSHIP' IN TYPEOF (rc)) AND
- (rc.name = 'secondary') )) <= 1;
- WR5 : SIZEOF (QUERY (sec <* QUERY (rc <* USEDIN (SELF,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DRAUGHTING_CALLOUT_' +
- 'RELATIONSHIP.RELATING_DRAUGHTING_CALLOUT') |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'DIMENSION_CALLOUT_RELATIONSHIP' IN TYPEOF (rc)) AND
- (rc.name = 'secondary') ) |
- NOT (SIZEOF (QUERY (prim <* USEDIN (SELF,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DRAUGHTING_CALLOUT_' +
- 'RELATIONSHIP.RELATING_DRAUGHTING_CALLOUT') |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' IN TYPEOF(it))) |
- NOT (
- SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHAPE_REPRESENTATION',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DRAUGHTING_MODEL'] *
- TYPEOF (mi\mapped_item.mapping_source.
- mapped_representation)) = 1
- ))) = 0;
- WR2 : SIZEOF (QUERY (smi <* QUERY (si <* QUERY (it <* SELF.items |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM' IN TYPEOF(it))) |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' IN
- TYPEOF(si\styled_item.item))) |
- (NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 : shape_definition;
- SELF\item_identified_representation_usage.identified_item : draughting_model_item_association_select;
- SELF\item_identified_representation_usage.used_representation : draughting_model;
-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);
-WHERE
- WR1 : SIZEOF (QUERY (item <* SELF\representation.items |
- NOT (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_OCCURRENCE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DRAUGHTING_CALLOUT',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT']
- * TYPEOF (item)) = 1))) = 0;
- WR2 : SIZEOF (QUERY (item <* SELF\representation.items |
- SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_OCCURRENCE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DRAUGHTING_CALLOUT'] *
- TYPEOF (item)) = 1)) >= 1;
- WR3 : SIZEOF (QUERY (srm <* QUERY (rm <*
- USEDIN (SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'REPRESENTATION_MAP.MAPPED_REPRESENTATION') |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SYMBOL_REPRESENTATION_MAP'
- IN TYPEOF(rm))) |
- NOT (SIZEOF (QUERY (a_s <* QUERY (mi <* srm.map_usage |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_SYMBOL' IN TYPEOF(mi)))
- | NOT (SIZEOF (QUERY (aso <*
- USEDIN (a_s, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'STYLED_ITEM.ITEM') |
- NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_SUBFIGURE_OCCURRENCE'
- IN TYPEOF(aso)))) = 0))) = 0))) > 0;
- WR4 : NOT (acyclic_mapped_item_usage (SELF));
- WR5 : SIZEOF (SELF.context_of_items.representations_in_context) = 1;
-END_ENTITY;
-
-
-ENTITY draughting_symbol_representation
- SUBTYPE OF (symbol_representation);
-UNIQUE
- UR1: SELF\representation.name;
-WHERE
- WR1 : SIZEOF (QUERY (item <* SELF\representation.items |
- NOT (SIZEOF (TYPEOF (item) *
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_CURVE_OCCURRENCE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_SYMBOL_OCCURRENCE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_FILL_AREA_OCCURRENCE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_TEXT_OCCURRENCE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT']) = 1)
- )) = 0;
- WR2 : SIZEOF (QUERY (item <* SELF\representation.items |
- (SIZEOF (TYPEOF (item) *
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_CURVE_OCCURRENCE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_SYMBOL_OCCURRENCE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_FILL_AREA_OCCURRENCE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_TEXT_OCCURRENCE']) = 1)
- )) >= 1;
- WR3 : SIZEOF (QUERY (item <* SELF\representation.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_SUBFIGURE_OCCURRENCE'
- IN TYPEOF (item))) = 0;
- WR4 : SIZEOF (QUERY (srm <* QUERY (rm <*
- USEDIN (SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'REPRESENTATION_MAP.MAPPED_REPRESENTATION') |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SYMBOL_REPRESENTATION_MAP'
- IN TYPEOF(rm))) |
- (SIZEOF (QUERY (a_s <* QUERY (mi <* srm.map_usage |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_SYMBOL' IN TYPEOF(mi))) |
- NOT (SIZEOF (QUERY(aso <*
- USEDIN(a_s, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'STYLED_ITEM.ITEM') |
- NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_SYMBOL_OCCURRENCE'
- IN TYPEOF(aso))
- )) = 0) )) = 0) )) > 0;
- WR5 : NOT (acyclic_mapped_item_usage (SELF));
- WR6 : 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_revision
- SUBTYPE OF (presentation_area);
- revision_identifier : identifier;
-WHERE
- WR1 : SIZEOF( QUERY(item <* SELF\representation.items |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' IN (TYPEOF(item)))
- AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DRAWING_SHEET_REVISION'
- IN TYPEOF (SELF\representation_relationship.rep_1);
- WR3 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DRAWING_SHEET_REVISION' IN
- TYPEOF(SELF\area_in_set.area))
- AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ([ 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_BASED_WIREFRAME_MODEL', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT_3D' ] * TYPEOF (it)) = 1) )) = 0;
- WR2 : SIZEOF (
-QUERY ( it <* SELF.items| ( SIZEOF ([ 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_BASED_WIREFRAME_MODEL', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' ] * TYPEOF (it)) = 1) )) >= 1;
- WR3 : SIZEOF (
-QUERY ( ebwm <*
-QUERY ( it <* SELF.items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_CURVE' IN TYPEOF (edges)) )) = 0) )) = 0) )) = 0;
- WR4 : SIZEOF (
-QUERY ( ebwm <*
-QUERY ( it <* SELF.items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_POINT' IN TYPEOF (edges.edge_start)) AND ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_POINT' IN TYPEOF (edges.edge_end))) )) = 0) )) = 0) )) = 0;
- WR6 : SIZEOF (
-QUERY ( ebwm <*
-QUERY ( it <* SELF.items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' IN TYPEOF (it)) )| NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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_variable_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 effectivity
- SUPERTYPE OF (ONEOF (serial_numbered_effectivity, dated_effectivity, lot_effectivity, time_interval_based_effectivity));
- id : identifier;
-DERIVE
- description : text := get_description_value(SELF);
- name : label := get_name_value(SELF);
-WHERE
- WR1 : SIZEOF(USEDIN(SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1;
- WR2 : SIZEOF(USEDIN(SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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.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;
-
-
-ENTITY electric_potential_measure_with_unit
- SUBTYPE OF (measure_with_unit);
-WHERE
- WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MANIFOLD_SOLID_BREP',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FACETED_BREP',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT_3D'] *
- TYPEOF(it)) = 1))) = 0;
- WR2 : SIZEOF (QUERY (it <* SELF.items |
- SIZEOF(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MANIFOLD_SOLID_BREP',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM'] * TYPEOF(it)) =1 )) > 0;
- WR3 : SIZEOF (QUERY (msb <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF(it)) |
- NOT (SIZEOF (QUERY (csh <* msb_shells(msb) |
- NOT (SIZEOF (QUERY(fcs <* csh.cfs_faces |
- NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FACE_SURFACE' IN TYPEOF(fcs)))) = 0
- ))) = 0
- ))) = 0;
- WR4 : SIZEOF (QUERY (msb <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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(('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ELEMENTARY_SURFACE' IN
- TYPEOF(fcs\face_surface.face_geometry))
- ))) = 0
- ))) = 0
- ))) = 0;
- WR5 : SIZEOF (QUERY (msb <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF(bnds.bound)) |
- NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edge_list |
- NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_CURVE' IN
- TYPEOF(oe.edge_element)))) = 0
- ))) = 0
- ))) = 0
- ))) = 0
- ))) = 0;
- WR6 : SIZEOF (QUERY (msb <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF(bnds.bound)) |
- NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edge_list |
- NOT (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LINE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONIC',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF(bnds.bound)) |
- NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edge_list |
- NOT(('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_POINT' IN TYPEOF(oe.edge_start))
- AND ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_POINT' IN
- TYPEOF(oe.edge_end))
- ))) = 0
- ))) = 0
- ))) = 0
- ))) = 0
- ))) = 0;
- WR8 : SIZEOF (QUERY (msb <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF(bnds.bound)) |
- NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edge_list |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF(it)) |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ORIENTED_CLOSED_SHELL' IN TYPEOF
- (msb\manifold_solid_brep.outer)))
- = 0;
- WR10 : SIZEOF (QUERY (brv <* QUERY (it <* items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' IN TYPEOF(it)) |
- NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ELEMENTARY_BREP_SHAPE_REPRESENTATION' IN
- TYPEOF(mi\mapped_item.mapping_source.
- mapped_representation)))) = 0;
- WR12 : SIZEOF (QUERY (msb <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_LOOP' IN TYPEOF(bnds.bound)) |
- NOT(('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_POINT' IN
- TYPEOF(vlp_fbnds\face_bound.bound\vertex_loop.loop_vertex)) AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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_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 energy_measure_with_unit
- SUBTYPE OF (measure_with_unit);
-WHERE
- WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 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 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_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 exclusive_product_concept_feature_category
- SUBTYPE OF (product_concept_feature_category);
-END_ENTITY;
-
-
-ENTITY executed_action
- SUBTYPE OF (action);
-END_ENTITY;
-
-
-ENTITY expanded_uncertainty
- SUBTYPE OF (standard_uncertainty);
- coverage_factor : REAL;
-END_ENTITY;
-
-
-ENTITY explicit_procedural_geometric_representation_item_relationship
- SUBTYPE OF (explicit_procedural_representation_item_relationship);
- SELF\representation_item_relationship.related_representation_item : geometric_representation_item;
- SELF\representation_item_relationship.relating_representation_item : procedural_shape_representation_sequence;
-WHERE
- WR1 : NOT (
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PROCEDURAL_REPRESENTATION'
- IN TYPEOF(SELF\representation_relationship.rep_2))) AND
- (NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 expression
- ABSTRACT SUPERTYPE OF (ONEOF (numeric_expression, boolean_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 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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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_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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.APPLIED_DOCUMENT_REFERENCE.ITEMS')| (adr.assigned_document.description = 'external size dimension specification') ));
-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_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_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_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 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;
-
-
-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;
-
-
-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(('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PLANE_ANGLE_MEASURE'
- IN TYPEOF(first_trim_condition)) OR
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PLANE_ANGLE_MEASURE'
- IN TYPEOF(second_trim_condition)));
- WR2 : NOT ((('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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
- (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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((('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LENGTH_MEASURE'
- IN TYPEOF(first_trim_condition)) AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 | 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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_surface
- SUBTYPE OF (face, geometric_representation_item);
- face_geometry : surface;
- same_sense : BOOLEAN;
-WHERE
- WR1 : NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ORIENTED_SURFACE' IN TYPEOF(face_geometry));
-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 ([ 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FACETED_BREP', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT_3D' ] * TYPEOF (it)) = 1) )) = 0;
- WR2 : SIZEOF (
-QUERY ( it <* items| ( SIZEOF ([ 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FACETED_BREP', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' ] * TYPEOF (it)) = 1) )) > 0;
- WR3 : SIZEOF (
-QUERY ( fbrep <*
-QUERY ( it <* items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FACE_SURFACE' IN TYPEOF (fcs)) AND (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PLANE' IN TYPEOF (fcs\face_surface.face_geometry)) AND ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FACE_OUTER_BOUND' IN TYPEOF (bnds)) )) = 1) )) = 0) )) = 0) )) = 0;
- WR5 : SIZEOF (
-QUERY ( msb <*
-QUERY ( it <* items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF (it)) )| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ORIENTED_CLOSED_SHELL' IN TYPEOF (msb\manifold_solid_brep.outer)) )) = 0;
- WR6 : SIZEOF (
-QUERY ( brv <*
-QUERY ( it <* items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' IN TYPEOF (it)) )| NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE' IN TYPEOF (closed_curve))) OR
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CIRCLE' IN TYPEOF (closed_curve)) OR
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ELLIPSE' IN TYPEOF (closed_curve)) OR
- ( ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.B_SPLINE_CURVE' IN TYPEOF (closed_curve))
- AND (closed_curve\b_spline_curve.closed_curve = TRUE) ) OR
- ( ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COMPOSITE_CURVE' IN TYPEOF (closed_curve))
- AND (closed_curve\composite_curve.closed_curve = TRUE) ) OR
- ( ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 flat_pattern_ply_representation_relationship
- SUBTYPE OF (shape_representation_relationship);
-WHERE
- WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE' IN TYPEOF (SELF));
-END_ENTITY;
-
-
-ENTITY force_measure_with_unit
- SUBTYPE OF (measure_with_unit);
-WHERE
- WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 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 (character_glyph_style_outline, character_glyph_style_stroke, curve_style, curve_style_font, curve_style_font_and_scaling, curve_style_font_pattern, 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 frequency_measure_with_unit
- SUBTYPE OF (measure_with_unit);
-WHERE
- WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 func
- SUBTYPE OF (compound_representation_item);
-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 general_material_property
- SUBTYPE OF (general_property);
-WHERE
- WR1 : SIZEOF( QUERY( gpa <* USEDIN(SELF,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GENERAL_PROPERTY_ASSOCIATION.BASE_DEFINITION') |
- NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MATERIAL_PROPERTY' IN TYPEOF(gpa.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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 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_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_curve_set
- SUBTYPE OF (geometric_set);
-WHERE
- WR1 : SIZEOF(QUERY(temp <* SELF\geometric_set.elements |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE' IN TYPEOF(temp))) = 0;
-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.identified_item : geometric_representation_item;
- SELF\item_identified_representation_usage.used_representation : shape_representation;
-END_ENTITY;
-
-
-ENTITY geometric_model_element_relationship
- SUBTYPE OF (geometric_representation_item, representation_item_relationship);
- SELF\representation_item_relationship.related_representation_item : geometric_representation_item;
- SELF\representation_item_relationship.relating_representation_item : geometric_representation_item;
-UNIQUE
- UR1 : relating_representation_item, 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
- SUBTYPE OF (representation_context);
- coordinate_space_dimension : dimension_count;
-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, right_angular_wedge, half_space_solid, shell_based_surface_model, face_based_surface_model, shell_based_wireframe_model, edge_based_wireframe_model, geometric_set, camera_model, camera_model_d3_multi_clipping_intersection, camera_model_d3_multi_clipping_union, light_source))
- SUBTYPE OF (representation_item);
-DERIVE
- dim : dimension_count := dimension_of(SELF);
-WHERE
- WR1 : SIZEOF (QUERY (using_rep <* using_representations (SELF) |
- NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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;
- name : label;
- description : text;
- magnitude : measure_with_unit;
- toleranced_shape_aspect : shape_aspect;
-WHERE
- WR1 : ('NUMBER' IN TYPEOF
- (magnitude\measure_with_unit.value_component)) AND
- (magnitude\measure_with_unit.value_component >= 0.0);
-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
- SUBTYPE OF (geometric_tolerance);
- datum_system : SET [1:?] OF datum_reference;
-END_ENTITY;
-
-
-ENTITY geometric_tolerance_with_defined_unit
- SUBTYPE OF (geometric_tolerance);
- unit_size : 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;
-
-
-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) *
-['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_CURVE_SET',
-'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT_2D',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM']) = 1)
- )) = 0;
- WR3 : SIZEOF (QUERY (item <* SELF.items |
- SIZEOF (TYPEOF (item) *
-['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_CURVE_SET',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM']) = 1
- )) >= 1;
- WR4 : SIZEOF (QUERY (mi <* QUERY (item <* SELF.items |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM'
- IN TYPEOF (item))) |
- NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_CURVE_SET'
- IN TYPEOF (item))) |
- NOT (SIZEOF (QUERY (elem <* gcs\geometric_set.elements |
- NOT (SIZEOF (TYPEOF (elem) *
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.B_SPLINE_CURVE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CIRCLE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COMPOSITE_CURVE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ELLIPSE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.OFFSET_CURVE_2D',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POLYLINE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.TRIMMED_CURVE']) =
- 1)
- )) = 0)
- )) = 0;
- WR6 : SIZEOF (QUERY (gcs <* QUERY (item <* SELF.items |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_CURVE_SET'
- IN TYPEOF (item))) |
- NOT (SIZEOF (QUERY (crv <*
- QUERY (elem <* gcs\geometric_set.elements |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE'
- IN TYPEOF (elem))) |
- NOT (valid_basis_curve_in_2d_wireframe
- (crv))
- )) = 0)
- )) = 0;
- WR7 : SIZEOF (QUERY (gcs <* QUERY (item <* SELF.items |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_CURVE_SET'
- IN TYPEOF (item))) |
- NOT (SIZEOF (QUERY (pnt <*
- QUERY (elem <* gcs\geometric_set.elements |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT'
- IN TYPEOF(elem))) |
- NOT (SIZEOF (TYPEOF (pnt) *
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CARTESIAN_POINT',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_SET', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT_3D'] * TYPEOF(it)) = 1))) = 0;
- WR2 : SIZEOF(QUERY(it <* SELF.items | SIZEOF(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_SET', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM'] * TYPEOF(it)) = 1)) > 0;
- WR3 : SIZEOF(QUERY(mi <* QUERY(it <* SELF.items | 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' IN TYPEOF(it)) | NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 | ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_SET' IN TYPEOF(mr_it)))) > 0)))) = 0;
- WR4 : SIZEOF(QUERY(gs <* QUERY(it <* SELF.items | 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_SET' IN TYPEOF(it)) | NOT (SIZEOF(QUERY(pnt <* QUERY(gsel <* gs\geometric_set.elements | 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT' IN TYPEOF(gsel)) | NOT (gbsf_check_point(pnt)))) = 0))) = 0;
- WR5 : SIZEOF(QUERY(gs <* QUERY(it <* SELF.items | 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_SET' IN TYPEOF(it)) | NOT (SIZEOF(QUERY(cv <* QUERY(gsel <* gs\geometric_set.elements | 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE' IN TYPEOF(gsel)) | NOT (gbsf_check_curve(cv)))) = 0))) = 0;
- WR6 : SIZEOF(QUERY(gs <* QUERY(it <* SELF.items | 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_SET' IN TYPEOF(it)) | NOT (SIZEOF(QUERY(sf <* QUERY(gsel <* gs\geometric_set.elements | 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE' IN TYPEOF(gsel)) | NOT (gbsf_check_surface(sf)))) = 0))) = 0;
- WR7 : SIZEOF(QUERY(gs <* QUERY(it <* SELF.items | 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_SET' IN TYPEOF(it)) | SIZEOF(QUERY(gsel <* gs\geometric_set.elements | 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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) * [ 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_CURVE_SET', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT_3D', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' ]) = 1) )) = 0;
- WR2 : SIZEOF (
-QUERY ( it <* SELF.items| ( SIZEOF ( TYPEOF (it) * [ 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_CURVE_SET', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' ]) = 1) )) >= 1;
- WR3 : SIZEOF (
-QUERY ( gcs <*
-QUERY ( it <* SELF.items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_CURVE_SET' IN TYPEOF (it)) )| NOT ( SIZEOF (
-QUERY ( crv <*
-QUERY ( elem <* gcs\geometric_set.elements| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE' IN TYPEOF (elem)) )| NOT valid_geometrically_bounded_wf_curve(crv) )) = 0) )) = 0;
- WR4 : SIZEOF (
-QUERY ( gcs <*
-QUERY ( it <* SELF.items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_CURVE_SET' IN TYPEOF (it)) )| NOT ( SIZEOF (
-QUERY ( pnts <*
-QUERY ( elem <* gcs\geometric_set.elements| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT' IN TYPEOF (elem)) )| NOT valid_geometrically_bounded_wf_point(pnts) )) = 0) )) = 0;
- WR5 : SIZEOF (
-QUERY ( gcs <*
-QUERY ( it <* SELF.items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_CURVE_SET' IN TYPEOF (it)) )| NOT ( SIZEOF (
-QUERY ( cnc <*
-QUERY ( elem <* gcs\geometric_set.elements| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONIC' IN TYPEOF (elem)) )| NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT_3D' IN TYPEOF (cnc\conic.position)) )) = 0) )) = 0;
- WR6 : SIZEOF (
-QUERY ( gcs <*
-QUERY ( it <* SELF.items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_CURVE_SET' IN TYPEOF (it)) )| NOT ( SIZEOF (
-QUERY ( pline <*
-QUERY ( elem <* gcs\geometric_set.elements| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POLYLINE' IN TYPEOF (elem)) )| NOT ( SIZEOF (pline\polyline.points) > 2) )) = 0) )) = 0;
- WR7 : SIZEOF (
-QUERY ( mi <*
-QUERY ( it <* SELF.items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' IN TYPEOF (it)) )| NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'GEOMETRICALLY_BOUNDED_WIREFRAME_SHAPE_REPRESENTATION' IN TYPEOF (mi\mapped_item.mapping_source.mapped_representation)) )) = 0;
-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;
- name : label;
- description : OPTIONAL text;
-DERIVE
- id : identifier := get_id_value(SELF);
-WHERE
- WR1 : SIZEOF(USEDIN(SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1;
-END_ENTITY;
-
-
-ENTITY group_assignment
- ABSTRACT SUPERTYPE;
- assigned_group : group;
-DERIVE
- role : object_role := get_role(SELF);
-WHERE
- WR1 : SIZEOF(USEDIN(SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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_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 ) <=4} ) AND ( SIZEOF ( QUERY (
- i <* items | ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF ( i ) ) AND (
- i.name IN [ 'measuring method' , 'measuring position' ] ) )
- ) + SIZEOF ( QUERY ( i <* items | ( SIZEOF (
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'MEASURE_REPRESENTATION_ITEM' ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+
- 'USED_REPRESENTATION' ) ) =1 ) AND ( SIZEOF ( QUERY ( pdr
- <* USEDIN ( SELF ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+
- 'USED_REPRESENTATION' ) | SIZEOF ( QUERY ( gpa <* USEDIN (
- pdr. definition ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'GENERAL_PROPERTY_ASSOCIATION.'+
- 'DERIVED_DEFINITION' ) | ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'GENERAL_PROPERTY' IN TYPEOF ( gpa. base_definition ) ) AND
- ( gpa. base_definition.name ='surface_condition' ) ) ) =1 )
- ) =1 );
-END_ENTITY;
-
-
-ENTITY hidden_element_over_riding_styled_item
- SUBTYPE OF (context_dependent_over_riding_styled_item);
- SELF\styled_item.item : camera_image;
- SELF\context_dependent_over_riding_styled_item.style_context : LIST [1:1] OF presentation_view;
-INVERSE
- container: SET [1:?] OF presentation_view FOR items;
-WHERE
- WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CAMERA_MODEL_D3_WITH_HLHSR' IN TYPEOF
- (SELF.item\mapped_item.mapping_source.mapping_origin);
-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 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 included_text_block
- SUBTYPE OF (mapped_item);
-WHERE
- WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'PACKAGE_PRODUCT_CONCEPT_FEATURE' IN TYPEOF ( SELF ) );
- WR2 : SIZEOF (QUERY
- ( cfr <* USEDIN
- ( SELF ,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'CONCEPT_FEATURE_RELATIONSHIP.RELATING_PRODUCT_CONCEPT_FEATURE' )
- |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'CONCEPT_FEATURE_RELATIONSHIP_WITH_CONDITION' IN TYPEOF( cfr )
- )
- ) +
- SIZEOF(QUERY
- ( cfr <* USEDIN
- (SELF , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'CONCEPT_FEATURE_RELATIONSHIP.RELATED_PRODUCT_CONCEPT_FEATURE' )
- |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'CONCEPT_FEATURE_RELATIONSHIP_WITH_CONDITION' IN TYPEOF(cfr)
- )
- )= 0;
- WR3 : SELF.condition.conditional_operator.name = 'implication';
-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);
-WHERE
- WR1 : SIZEOF(QUERY(q <*
- SELF\indirectly_selected_elements.indirectly_picked_items
- | NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHAPE_REPRESENTATION_ITEM'
- IN TYPEOF(q)))) = 0;
-END_ENTITY;
-
-
-ENTITY inductance_measure_with_unit
- SUBTYPE OF (measure_with_unit);
-WHERE
- WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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_usage_context_assignment
- SUBTYPE OF (product_definition_context);
- items : SET [1:?] OF instance_usage_context_select;
-END_ENTITY;
-
-
-ENTITY instanced_feature
- SUBTYPE OF (shape_aspect, shape_feature_definition);
-WHERE
- WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT_DEFINITION' IN
- TYPEOF(SELF\shape_aspect.of_shape.definition);
- WR2 : SELF\shape_aspect.product_definitional;
-END_ENTITY;
-
-
-ENTITY int_literal
- SUBTYPE OF (literal_number);
- SELF\literal_number.the_value : INTEGER;
-END_ENTITY;
-
-
-ENTITY integer_representation_item
- SUBTYPE OF (representation_item, int_literal);
-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_high : generic_expression := SELF\multiple_arity_generic_expression.operands[3];
- interval_item : generic_expression := SELF\multiple_arity_generic_expression.operands[2];
- interval_low : generic_expression := SELF\multiple_arity_generic_expression.operands[1];
-WHERE
- WR1 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EXPRESSION'
- IN TYPEOF(interval_low))
- AND ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EXPRESSION'
- IN TYPEOF(interval_item) )
- AND ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EXPRESSION'
- IN TYPEOF(interval_high));
- WR2 : (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STRING_EXPRESSION'
- IN TYPEOF (SELF.interval_low))
- AND ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STRING_EXPRESSION'
- IN TYPEOF (SELF.interval_high))
- AND ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STRING_EXPRESSION'
- IN TYPEOF (SELF.interval_item)))
- OR
- (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STRING_EXPRESSION'
- IN TYPEOF(SELF.interval_low))
- AND ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.NUMERIC_EXPRESSION'
- IN TYPEOF(SELF.interval_item))
- AND ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 : represented_definition;
- used_representation : representation;
- identified_item : representation_item;
-WHERE
- WR1 : SELF.used_representation IN using_representations(SELF.identified_item);
-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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'DRAUGHTING_CALLOUT.CONTENTS')
- | 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LEADER_CURVE' IN TYPEOF (con)))=1;
-END_ENTITY;
-
-
-ENTITY leader_terminator
- SUBTYPE OF (terminator_symbol);
-WHERE
- WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LEADER_CURVE' IN TYPEOF
- (SELF\terminator_symbol.annotated_curve);
-END_ENTITY;
-
-
-ENTITY length_measure_with_unit
- SUBTYPE OF (measure_with_unit);
-WHERE
- WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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.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;
-
-
-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,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 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);
-WHERE
- WR1 : NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE' IN TYPEOF (SELF)) OR ( SIZEOF (SELF\geometric_tolerance_with_datum_reference.datum_system) <= 3);
- WR2 : SIZEOF (
-QUERY ( sar <* USEDIN (SELF\geometric_tolerance.toleranced_shape_aspect, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT')| (sar.name IN [ 'affected plane association', 'resulting intersection curve association' ]) )) = 1;
-END_ENTITY;
-
-
-ENTITY linear_dimension
- SUBTYPE OF (dimension_curve_directed_callout);
-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 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 luminous_flux_measure_with_unit
- SUBTYPE OF (measure_with_unit);
-WHERE
- WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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.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;
-
-
-ENTITY magnetic_flux_density_measure_with_unit
- SUBTYPE OF (measure_with_unit);
-WHERE
- WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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_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 (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONNECTED_FACE_SUB_SET',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT_3D'] *
- TYPEOF(it)) = 1))) = 0;
- WR2 : SIZEOF (QUERY (it <* SELF.items |
- SIZEOF(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONNECTED_FACE_SUB_SET',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM'] * TYPEOF(it)) =1 )) > 0;
- WR3 : SIZEOF (QUERY (mi <* QUERY (it <* items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' IN TYPEOF(it)) |
- NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MANIFOLD_SUBSURFACE_SHAPE_REPRESENTATION' IN
- TYPEOF(mi\mapped_item.mapping_source.
- mapped_representation)))) = 0;
- WR4 : SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) |
- NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.OPEN_SHELL' IN TYPEOF(cfss)))) = 0;
- WR5 : SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) |
- NOT( (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ADVANCED_FACE' IN TYPEOF(fac)))) = 0)
- ))) = 0;
- WR6 : SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) |
- NOT (SIZEOF (QUERY(fcs <* cfss\connected_face_set.cfs_faces |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SUBFACE' IN TYPEOF(fcs)) AND
- NOT (SIZEOF(QUERY (elp_fbnds <* QUERY (bnds <* fcs.bounds |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF(bnds.bound)) |
- NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edge_list |
- NOT(('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_CURVE' IN
- TYPEOF(oe.edge_element)) OR
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SUBEDGE' IN
- TYPEOF(oe.edge_element)) ))) = 0
- ))) = 0
- ))) = 0
- ))) = 0;
- WR8 : SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) |
- NOT (SIZEOF (QUERY(fcs <* cfss\connected_face_set.cfs_faces |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SUBFACE' IN TYPEOF(fcs)) AND
- NOT (SIZEOF(QUERY (elp_fbnds <* QUERY (bnds <* fcs.bounds |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF(bnds.bound)) |
- NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edge_list |
- NOT(('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_POINT' IN TYPEOF(oe.edge_start))
- AND ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_POINT' IN
- TYPEOF(oe.edge_end))
- ))) = 0
- ))) = 0
- ))) = 0
- ))) = 0;
- WR9 : SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) |
- NOT (SIZEOF (QUERY(fcs <* cfss\connected_face_set.cfs_faces |
- ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SUBFACE' IN TYPEOF(fcs)) AND
- ( NOT (SIZEOF(QUERY (bnds <* fcs.bounds |
- NOT (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_LOOP'] *
- TYPEOF(bnds.bound)) = 1 )
- )) = 0)
- ))) = 0
- ))) = 0;
- WR10 : SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) |
- NOT (SIZEOF (QUERY(fcs <* cfss\connected_face_set.cfs_faces |
- ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SUBFACE' IN TYPEOF(fcs)) AND
- ( NOT (SIZEOF(QUERY (elp_fbnds <* QUERY (bnds <* fcs.bounds |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF(bnds.bound)) |
- NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edge_list |
- NOT (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LINE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONIC',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POLYLINE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_CURVE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) |
- NOT (SIZEOF (QUERY(fcs <* cfss\connected_face_set.cfs_faces |
- ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SUBFACE' IN TYPEOF(fcs)) AND
- (NOT (SIZEOF(QUERY (elp_fbnds <* QUERY (bnds <* fcs.bounds |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF(bnds.bound)) |
- NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edge_list |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PCURVE' IN
- TYPEOF(sc_ag)))) = 0)))
- )) = 0
- ))) = 0
- )))) = 0
- ))) = 0;
- WR12 : SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) |
- NOT (SIZEOF (QUERY(fcs <* cfss\connected_face_set.cfs_faces |
- ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SUBFACE' IN TYPEOF(fcs)) AND
- (NOT (SIZEOF(QUERY (elp_fbnds <* QUERY (bnds <* fcs.bounds |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF(bnds.bound)) |
- NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edge_list |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHELL_BASED_SURFACE_MODEL',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT_3D'] * TYPEOF (it)) = 1))) = 0;
- WR2 : SIZEOF (QUERY (it <* SELF.items |
- SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHELL_BASED_SURFACE_MODEL',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM'] * TYPEOF (it)) = 1)) > 0;
- WR3 : SIZEOF (QUERY (mi <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' IN TYPEOF (it)) |
- NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHELL_BASED_SURFACE_MODEL'
- IN TYPEOF (mr_it)))) > 0 )))) = 0;
- WR4 : SIZEOF (QUERY (sbsm <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHELL_BASED_SURFACE_MODEL' IN TYPEOF (it)) |
- NOT (SIZEOF (QUERY (sh <*
- sbsm\shell_based_surface_model.sbsm_boundary |
- NOT (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.OPEN_SHELL',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ORIENTED_CLOSED_SHELL',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CLOSED_SHELL']
- * TYPEOF (sh)) = 1))) = 0))) = 0;
- WR5 : SIZEOF (QUERY (sbsm <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FACE_SURFACE' IN TYPEOF (fa)) )) = 0)))
- = 0))) = 0;
- WR6 : SIZEOF (QUERY (sbsm <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa))
- OR
- (SIZEOF (QUERY (bnds <* fa.bounds |
- NOT (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_LOOP']
- * TYPEOF (bnds.bound)) = 1))) = 0)))) = 0))) = 0))) = 0;
- WR8 : SIZEOF (QUERY (sbsm <* QUERY (it <* SELF.items|
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa))
- OR
- (SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) |
- NOT (SIZEOF (QUERY (oe <* elp_fbnds\path.edge_list |
- NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_CURVE' IN TYPEOF
- (oe.edge_element)))) = 0))) = 0)))) = 0))) = 0))) = 0;
- WR9 : SIZEOF (QUERY (sbsm <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa))
- OR
- (SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) |
- NOT (SIZEOF (QUERY (oe_cv <* QUERY (oe <*
- elp_fbnds\path.edge_list |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_CURVE' IN TYPEOF (oe.edge_element)) |
- NOT (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.B_SPLINE_CURVE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONIC',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_REPLICA',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LINE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.OFFSET_CURVE_3D',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PCURVE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POLYLINE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa))
- OR
- (SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa))
- OR
- (SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) |
- NOT (SIZEOF (QUERY (oe <* elp_fbnds\path.edge_list|
- NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_POINT' IN TYPEOF
- (oe.edge_element.edge_start))
- AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_POINT' IN
- TYPEOF (oe.edge_element.edge_end)))))
- = 0))) = 0)))) = 0))) = 0))) = 0;
- WR12 : SIZEOF (QUERY (sbsm <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa))
- OR
- (SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) |
- NOT (SIZEOF (QUERY (oe <* elp_fbnds\path.edge_list |
- NOT ((SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CARTESIAN_POINT',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DEGENERATE_PCURVE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT_ON_CURVE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT_ON_SURFACE'] * TYPEOF
- (oe.edge_element.edge_start\vertex_point.vertex_geometry)) = 1)
- AND
- (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CARTESIAN_POINT',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DEGENERATE_PCURVE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT_ON_CURVE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa))
- OR
- (SIZEOF (QUERY (vlp_fbnds <* QUERY (bnds <* fa.bounds |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_LOOP' IN TYPEOF (bnds.bound)) |
- NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_POINT' IN TYPEOF
- (vlp_fbnds\vertex_loop.loop_vertex)))) = 0)))) = 0)))
- = 0))) = 0;
- WR14 : SIZEOF (QUERY (sbsm <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa))
- OR
- (SIZEOF (QUERY (vlp_fbnds <* QUERY (bnds <* fa.bounds |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_LOOP' IN TYPEOF (bnds.bound)) |
- NOT (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CARTESIAN_POINT',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DEGENERATE_PCURVE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT_ON_CURVE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 mass_measure_with_unit
- SUBTYPE OF (measure_with_unit);
-WHERE
- WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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.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;
-
-
-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 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CHARACTERIZED_OBJECT' IN
- TYPEOF(SELF\property_definition.definition)) OR
- (SIZEOF(bag_to_set(USEDIN(SELF ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION')) -
- QUERY(temp <* bag_to_set(USEDIN(SELF ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION')) |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 measure_qualification;
- name : label;
- description : text;
- qualified_measure : measure_with_unit;
- qualifiers : SET [1:?] OF value_qualifier;
-WHERE
- WR1 : SIZEOF(QUERY(temp <* qualifiers |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRECISION_QUALIFIER'
- IN TYPEOF(temp))) < 2;
- WR2 : NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'DRAUGHTING_MODEL' IN TYPEOF(rep_2)) OR
- (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'DRAUGHTING_MODEL' IN TYPEOF(rep_1)) OR
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'SHAPE_REPRESENTATION' IN TYPEOF(rep_1)));
- WR2 : NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION' IN TYPEOF(rep_2)) OR
- (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION' IN TYPEOF(rep_1)) OR
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'SHAPE_REPRESENTATION' IN TYPEOF(rep_1)));
- WR3 : NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'MECHANICAL_DESIGN_SHADED_PRESENTATION_REPRESENTATION' IN TYPEOF(rep_2)) OR
- (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'MECHANICAL_DESIGN_SHADED_PRESENTATION_REPRESENTATION' IN TYPEOF(rep_1)) OR
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM'
- IN TYPEOF(it1))
- OR
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRESENTATION_VIEW'
- IN TYPEOF
- (it1\mapped_item.mapping_source.mapped_representation)))) = 0;
- WR2 : SIZEOF(QUERY(pv <* QUERY(mi1 <* QUERY(it1 <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM'
- IN TYPEOF(it1)) |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT'
- IN TYPEOF(it2))
- OR
- (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM'
- IN TYPEOF(it2)) AND NOT
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'CAMERA_IMAGE_3D_WITH_SCALE' IN TYPEOF(it2))) AND NOT (
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRESENTATION_VIEW'
- IN TYPEOF
- (it2\mapped_item.mapping_source.mapped_representation)))
- OR
- (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'CAMERA_IMAGE_3D_WITH_SCALE' IN TYPEOF(it2))
- AND NOT (
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION'
- IN TYPEOF (it2\mapped_item.mapping_source.mapped_representation) ))
- ))) = 0))) = 0;
- WR3 : (SIZEOF(QUERY(ps <* USEDIN (SELF,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'PRESENTATION_SIZE.UNIT') | ((ps.size\planar_extent.size_in_x <= 0)
- OR
- (ps.size\planar_extent.size_in_y <= 0)))) = 0)
- AND
- (SIZEOF(QUERY(ais <* USEDIN (SELF,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'AREA_IN_SET.AREA') |
- (SIZEOF(QUERY(ps <* USEDIN (ais,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'PRESENTATION_SIZE.UNIT') |
- ((ps.size\planar_extent.size_in_x <= 0)
- OR
- (ps.size\planar_extent.size_in_y <= 0)))) > 0))) = 0);
- WR4 : (SIZEOF(QUERY(ps <* USEDIN (SELF,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'PRESENTATION_SIZE.UNIT') |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'AXIS2_PLACEMENT_2D' IN TYPEOF (ps.size.placement)))) = 1)
- AND
- (SIZEOF(QUERY(ps <* USEDIN (SELF,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'PRESENTATION_SIZE.UNIT') |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'AXIS2_PLACEMENT_3D' IN TYPEOF (ps.size.placement)))) = 0)
- OR
- ((SIZEOF(QUERY(ais <* USEDIN (SELF,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'AREA_IN_SET.AREA') |
- (SIZEOF(QUERY(ps <* USEDIN (ais,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'PRESENTATION_SIZE.UNIT') |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'AXIS2_PLACEMENT_2D' IN TYPEOF (ps.size.placement)))) = 1))) = 1)
- AND
- (SIZEOF(QUERY(ais <* USEDIN (SELF,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'AREA_IN_SET.AREA') |
- (SIZEOF(QUERY(ps <* USEDIN (ais,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'PRESENTATION_SIZE.UNIT') |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM'
- IN TYPEOF(it))) | NOT (SIZEOF(
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'SHAPE_REPRESENTATION',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
- IN TYPEOF(it))) |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM'
- IN TYPEOF(si\styled_item.item))) | NOT (
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
- IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\styled_item.styles |
- NOT (SIZEOF(QUERY(pss <* psa.styles | NOT (SIZEOF(
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT_STYLE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_STYLE_USAGE']
- * TYPEOF(pss)) = 1))) = 0))) = 0))) = 0;
- WR4 : SIZEOF(QUERY(si <* QUERY(it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
- IN TYPEOF(it)) |
- NOT (SIZEOF(QUERY(psbc <* QUERY(psa <* si\styled_item.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'PRESENTATION_STYLE_BY_CONTEXT' IN TYPEOF(psa)) | NOT (SIZEOF(
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'REPRESENTATION_ITEM',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.REPRESENTATION']
- * TYPEOF(psbc\presentation_style_by_context.style_context))
- = 1))) = 0))) = 0;
- WR5 : SIZEOF(QUERY(si <* QUERY(it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
- IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\styled_item.styles |
- NOT (SIZEOF(QUERY(ps <* QUERY(pss <* psa.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT_STYLE'
- IN TYPEOF(pss)) | NOT
- (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'POSITIVE_LENGTH_MEASURE' IN TYPEOF (ps\point_style.marker_size))
- AND (SIZEOF(
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COLOUR_RGB',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'DRAUGHTING_PRE_DEFINED_COLOUR']
- * TYPEOF(ps\point_style.marker_colour))
- = 1)))) = 0))) = 0))) = 0;
- WR6 : SIZEOF(QUERY(si <* QUERY(it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
- IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\styled_item.styles |
- NOT (SIZEOF(QUERY(cs <* QUERY(pss <* psa.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE'
- IN TYPEOF(pss)) | NOT((SIZEOF(
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COLOUR_RGB',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'DRAUGHTING_PRE_DEFINED_COLOUR']
- * TYPEOF(cs\curve_style.curve_colour)) = 1)
- AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'POSITIVE_LENGTH_MEASURE' IN TYPEOF (cs\curve_style.curve_width))
- AND (SIZEOF(
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE_FONT',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
- IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\styled_item.styles |
- NOT (SIZEOF(QUERY(ssu <* QUERY(pss <* psa.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_STYLE_USAGE'
- IN TYPEOF(pss)) |
- NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'SURFACE_SIDE_STYLE' IN TYPEOF
- (ssu\surface_style_usage.style)))) = 0))) = 0))) = 0;
- WR8 : SIZEOF(QUERY(si <* QUERY(it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
- IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\styled_item.styles |
- NOT (SIZEOF(QUERY(ssu <* QUERY(pss <* psa.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_STYLE_USAGE'
- IN TYPEOF(pss)) | NOT (SIZEOF(QUERY(sses <*
- ssu\surface_style_usage.style\surface_side_style.styles |
- NOT (SIZEOF(
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'SURFACE_STYLE_PARAMETER_LINE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'SURFACE_STYLE_CONTROL_GRID',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'SURFACE_STYLE_SILHOUETTE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'SURFACE_STYLE_SEGMENTATION_CURVE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'SURFACE_STYLE_FILL_AREA',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'SURFACE_STYLE_BOUNDARY']
- * TYPEOF(sses)) = 1))) = 0))) = 0))) = 0))) = 0;
- WR9 : SIZEOF(QUERY(si <* QUERY(it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
- IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\styled_item.styles |
- NOT (SIZEOF(QUERY(ssu <* QUERY(pss <* psa.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_STYLE_USAGE'
- IN TYPEOF(pss)) | NOT (SIZEOF(QUERY(sspl <* QUERY(sses <*
- ssu\surface_style_usage.style\surface_side_style.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'SURFACE_STYLE_PARAMETER_LINE' IN TYPEOF(sses)) |
- NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE'
- IN TYPEOF
- (sspl\surface_style_parameter_line.style_of_parameter_lines))
- AND (SIZEOF(
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COLOUR_RGB',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'DRAUGHTING_PRE_DEFINED_COLOUR']
- * TYPEOF(sspl\surface_style_parameter_line.
- style_of_parameter_lines\curve_style.curve_colour)) = 1)
- AND (
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'POSITIVE_LENGTH_MEASURE' IN TYPEOF
- (sspl\surface_style_parameter_line.
- style_of_parameter_lines\curve_style.curve_width))
- AND (SIZEOF(
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE_FONT',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
- IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\styled_item.styles |
- NOT (SIZEOF(QUERY(ssu <* QUERY(pss <* psa.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_STYLE_USAGE'
- IN TYPEOF(pss)) | NOT (SIZEOF(QUERY(sscg <* QUERY(sses <*
- ssu\surface_style_usage.style\surface_side_style.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'SURFACE_STYLE_CONTROL_GRID' IN TYPEOF(sses)) |
- NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE'
- IN TYPEOF (sscg\surface_style_control_grid.style_of_control_grid))
- AND (SIZEOF(
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COLOUR_RGB',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'DRAUGHTING_PRE_DEFINED_COLOUR']
- * TYPEOF(sscg\surface_style_control_grid.
- style_of_control_grid\curve_style.curve_colour)) = 1)
- AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'POSITIVE_LENGTH_MEASURE' IN TYPEOF
- (sscg\surface_style_control_grid.
- style_of_control_grid\curve_style.curve_width))
- AND (SIZEOF(
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE_FONT',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
- IN TYPEOF(it)) |
- NOT (SIZEOF(QUERY(psa <* si\styled_item.styles |
- NOT (SIZEOF(QUERY(ssu <* QUERY(pss <* psa.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_STYLE_USAGE'
- IN TYPEOF(pss)) | NOT (SIZEOF(QUERY(sssh <* QUERY(sses <*
- ssu\surface_style_usage.style\surface_side_style.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'SURFACE_STYLE_SILHOUETTE' IN TYPEOF(sses)) |
- NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE'
- IN TYPEOF (sssh\surface_style_silhouette.style_of_silhouette))
- AND (SIZEOF(
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COLOUR_RGB',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'DRAUGHTING_PRE_DEFINED_COLOUR']
- * TYPEOF(sssh\surface_style_silhouette.
- style_of_silhouette\curve_style.curve_colour)) = 1)
- AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'POSITIVE_LENGTH_MEASURE' IN TYPEOF
- (sssh\surface_style_silhouette.style_of_silhouette\curve_style.
- curve_width))
- AND (SIZEOF(
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE_FONT',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
- IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\styled_item.styles |
- NOT (SIZEOF(QUERY(ssu <* QUERY(pss <* psa.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_STYLE_USAGE'
- IN TYPEOF(pss)) | NOT (SIZEOF(QUERY(sssc <* QUERY(sses <*
- ssu\surface_style_usage.style\surface_side_style.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'SURFACE_STYLE_SEGMENTATION_CURVE' IN TYPEOF(sses)) |
- NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE'
- IN TYPEOF
- (sssc\surface_style_segmentation_curve.style_of_segmentation_curve))
- AND (SIZEOF(
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COLOUR_RGB',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'DRAUGHTING_PRE_DEFINED_COLOUR']
- * TYPEOF(sssc\surface_style_segmentation_curve.
- style_of_segmentation_curve\curve_style.curve_colour)) = 1)
- AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'POSITIVE_LENGTH_MEASURE' IN TYPEOF
- (sssc\surface_style_segmentation_curve.
- style_of_segmentation_curve\curve_style.curve_width))
- AND (SIZEOF(
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE_FONT',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
- IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\styled_item.styles |
- NOT (SIZEOF(QUERY(ssu <* QUERY(pss <* psa.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_STYLE_USAGE'
- IN TYPEOF(pss)) | NOT (SIZEOF(QUERY(ssbd <* QUERY(sses <*
- ssu\surface_style_usage.style\surface_side_style.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'SURFACE_STYLE_BOUNDARY' IN TYPEOF(sses)) |
- NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE'
- IN TYPEOF (ssbd\surface_style_boundary.style_of_boundary))
- AND (SIZEOF(
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COLOUR_RGB',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'DRAUGHTING_PRE_DEFINED_COLOUR']
- * TYPEOF(ssbd\surface_style_boundary.
- style_of_boundary\curve_style.curve_colour)) = 1)
- AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'POSITIVE_LENGTH_MEASURE' IN TYPEOF (ssbd\surface_style_boundary.
- style_of_boundary\curve_style.curve_width))
- AND (SIZEOF(
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE_FONT',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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);
-WHERE
- WR1 : SIZEOF (QUERY (it1 <* SELF.items |
- NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT'
- IN TYPEOF (it1))
- OR
- (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM'
- IN TYPEOF (it1)) AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRESENTATION_VIEW'
- IN TYPEOF
- (it1\mapped_item.mapping_source.mapped_representation)))))) = 0;
- WR2 : SIZEOF (QUERY (pv <* QUERY (mi1 <* QUERY (it1 <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM'
- IN TYPEOF (it1)) |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT'
- IN TYPEOF(it2))
- OR
- (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM'
- IN TYPEOF(it2)) AND NOT
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'CAMERA_IMAGE_3D_WITH_SCALE' IN TYPEOF(it2))) AND NOT (
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRESENTATION_VIEW'
- IN TYPEOF
- (it2\mapped_item.mapping_source.mapped_representation)))
- OR
- (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'CAMERA_IMAGE_3D_WITH_SCALE' IN TYPEOF(it2))
- AND NOT (
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'MECHANICAL_DESIGN_SHADED_PRESENTATION_REPRESENTATION'
- IN TYPEOF (it2\mapped_item.mapping_source.mapped_representation) ))
- ))) = 0))) = 0;
- WR3 : (SIZEOF (QUERY(ps <* USEDIN (SELF,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'PRESENTATION_SIZE.UNIT') |
- NOT ((ps.size\planar_extent.size_in_x > 0)
- AND (ps.size\planar_extent.size_in_y > 0)) )) = 0)
- AND
- (* check secondly for presentation_set, via area_in_set *)
- (SIZEOF (QUERY(pset <* QUERY(ais <*
- USEDIN (SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'AREA_IN_SET.AREA')
- | 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'PRESENTATION_SET' IN TYPEOF (ais.in_set)) |
- (* after having collected all presentation_set, check their sizes *)
- SIZEOF (QUERY(psize <* USEDIN(pset,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'PRESENTATION_SIZE.UNIT')
- | NOT ((psize.size\planar_extent.size_in_x > 0)
- AND (psize.size\planar_extent.size_in_y > 0)) )) = 0)) = 0);
- WR4 : (SIZEOF(QUERY( psize <* USEDIN (SELF,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'PRESENTATION_SIZE.UNIT')
- | 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'AREA_IN_SET.AREA')
- | 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'PRESENTATION_SET' IN TYPEOF (ais.in_set)) |
- (* after having collected all presentation_set, check their
- dimension *)
- SIZEOF (QUERY(psize <* USEDIN(pset,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'PRESENTATION_SIZE.UNIT')
- | NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'AXIS2_PLACEMENT_2D'
- IN TYPEOF (psize.size.placement)) )) = 0)) = 0);
- WR5 : SIZEOF (QUERY (pv <* QUERY (mi1 <* QUERY (it1 <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM'
- IN TYPEOF (it1)) |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'CAMERA_IMAGE_3D_WITH_SCALE' IN TYPEOF(ci))
- AND
- (SIZEOF(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'CAMERA_MODEL_D3',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'CAMERA_MODEL_D3_WITH_HLHSR',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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);
-WHERE
- WR1 : SIZEOF(QUERY(it <* SELF.items |
- NOT (SIZEOF(
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CAMERA_MODEL_D3']
- * TYPEOF(it)) = 1))) = 0;
- WR2 : SIZEOF(QUERY(mi <* QUERY(it <* SELF.items |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM'
- IN TYPEOF(it))) | NOT (SIZEOF(
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'SHAPE_REPRESENTATION',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'MECHANICAL_DESIGN_SHADED_PRESENTATION_REPRESENTATION']
- * TYPEOF(mi\mapped_item.mapping_source.mapped_representation))
- = 1))) = 0;
- WR3 : SIZEOF(QUERY(smi <* QUERY(si <* QUERY(it <* SELF.items |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
- IN TYPEOF(it))) |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM'
- IN TYPEOF(si\styled_item.item))) | NOT (
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'SHAPE_REPRESENTATION' IN TYPEOF (smi\styled_item.
- item\mapped_item.mapping_source.mapped_representation))) )) = 0;
- WR4 : SIZEOF (QUERY (si <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
- IN TYPEOF (it)) |
- NOT (SIZEOF (QUERY (psa <* si\styled_item.styles |
- NOT (SIZEOF (QUERY (pss <* psa.styles |
- NOT (SIZEOF (
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT_STYLE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_STYLE_USAGE']
- * TYPEOF (pss)) = 1))) = 0))) = 0))) = 0;
- WR5 : SIZEOF (QUERY (si <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
- IN TYPEOF (it)) |
- NOT (SIZEOF (QUERY (psbc <* QUERY (psa <* si\styled_item.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'PRESENTATION_STYLE_BY_CONTEXT' IN TYPEOF (psa)) |
- NOT (SIZEOF (
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.REPRESENTATION_ITEM',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.REPRESENTATION']
- * TYPEOF (psbc\presentation_style_by_context.style_context)) = 1)))
- = 0))) = 0;
- WR6 : SIZEOF (QUERY (si <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
- IN TYPEOF (it)) |
- NOT (SIZEOF (QUERY (psa <* si\styled_item.styles |
- NOT (SIZEOF (QUERY (ps <* QUERY (pss <* psa.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT_STYLE'
- IN TYPEOF (pss)) |
- NOT (
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MARKER_TYPE'
- IN TYPEOF (ps\point_style.marker))
- AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF
- (ps\point_style.marker_size))
- AND
- (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COLOUR_RGB',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF
- (ps\point_style.marker_colour)) = 1)))) = 0))) = 0))) = 0;
- WR7 : SIZEOF (QUERY (si <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
- IN TYPEOF (it)) |
- NOT (SIZEOF (QUERY (psa <* si\styled_item.styles |
- NOT (SIZEOF (QUERY (cs <* QUERY (pss <* psa.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE'
- IN TYPEOF (pss)) |
- NOT (
- (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COLOUR_RGB',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF
- (cs\curve_style.curve_colour)) = 1)
- AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF
- (cs\curve_style.curve_width))
- AND
- (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'CURVE_STYLE_FONT', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF
- (cs\curve_style.curve_font)) = 1)))) = 0))) = 0))) = 0;
- WR8 : SIZEOF (QUERY (si <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
- IN TYPEOF (it)) |
- NOT (SIZEOF (QUERY (psa <* si\styled_item.styles |
- NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_STYLE_USAGE'
- IN TYPEOF (pss)) |
- NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_SIDE_STYLE'
- IN TYPEOF (ssu\surface_style_usage.style)) )) = 0))) = 0 ))) = 0;
- WR9 : SIZEOF (QUERY (si <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
- IN TYPEOF (it)) |
- NOT (SIZEOF (QUERY (psa <* si\styled_item.styles |
- NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_STYLE_USAGE'
- IN TYPEOF (pss)) |
- NOT (SIZEOF (QUERY (sses <*
- ssu\surface_style_usage.style\surface_side_style.styles |
- NOT (SIZEOF (
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'SURFACE_STYLE_PARAMETER_LINE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'SURFACE_STYLE_CONTROL_GRID',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'SURFACE_STYLE_SILHOUETTE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'SURFACE_STYLE_SEGMENTATION_CURVE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'SURFACE_STYLE_BOUNDARY',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'SURFACE_STYLE_FILL_AREA',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'SURFACE_STYLE_RENDERING'] * TYPEOF (sses)) = 1))) = 0))) = 0)))
- = 0))) = 0;
- WR10 : SIZEOF (QUERY (si <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
- IN TYPEOF (it)) |
- NOT (SIZEOF (QUERY (psa <* si\styled_item.styles |
- NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_STYLE_USAGE'
- IN TYPEOF (pss)) |
- NOT (SIZEOF (QUERY (ssfa <* QUERY (sses <*
- ssu\surface_style_usage.style\surface_side_style.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_STYLE_FILL_AREA'
- IN TYPEOF (sses)) |
- NOT (SIZEOF (QUERY (fss <*
- ssfa\surface_style_fill_area.fill_area.fill_styles |
- NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'FILL_AREA_STYLE_COLOUR' IN TYPEOF (fss))
- AND
- (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COLOUR_RGB',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF
- (fss\fill_area_style_colour.fill_colour)) = 1)))) = 0))) = 0)))
- = 0))) = 0))) = 0;
- WR11 : SIZEOF (QUERY (si <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
- IN TYPEOF (it)) |
- NOT (SIZEOF (QUERY (psa <* si\styled_item.styles |
- NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_STYLE_USAGE'
- IN TYPEOF (pss)) |
- NOT (SIZEOF (QUERY (sspl <* QUERY (sses <*
- ssu\surface_style_usage.style\surface_side_style.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'SURFACE_STYLE_PARAMETER_LINE' IN TYPEOF (sses)) |
- NOT ((
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE' IN TYPEOF
- (sspl\surface_style_parameter_line.style_of_parameter_lines))
- AND
- (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COLOUR_RGB',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF
- (sspl\surface_style_parameter_line.
- style_of_parameter_lines\curve_style.curve_colour)) = 1)
- AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF
- (sspl\surface_style_parameter_line.
- style_of_parameter_lines\curve_style.curve_width))
- AND
- (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'CURVE_STYLE_FONT', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF
- (sspl\surface_style_parameter_line.
- style_of_parameter_lines\curve_style.curve_font)) = 1))
- OR
- (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE_RENDERING'
- IN TYPEOF
- (sspl\surface_style_parameter_line.style_of_parameter_lines))
- AND
- (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COLOUR_RGB',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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;
- WR12 : SIZEOF (QUERY (si <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
- IN TYPEOF (it)) |
- NOT (SIZEOF (QUERY (psa <* si\styled_item.styles |
- NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_STYLE_USAGE'
- IN TYPEOF (pss)) |
- NOT (SIZEOF (QUERY (sscg <* QUERY (sses <*
- ssu\surface_style_usage.style\surface_side_style.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'SURFACE_STYLE_CONTROL_GRID' IN TYPEOF (sses)) |
- NOT ((
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE'
- IN TYPEOF (sscg\surface_style_control_grid.style_of_control_grid))
- AND
- (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COLOUR_RGB',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF
- (sscg\surface_style_control_grid.
- style_of_control_grid\curve_style.curve_colour)) = 1)
- AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF
- (sscg\surface_style_control_grid.
- style_of_control_grid\curve_style.curve_width))
- AND
- (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'CURVE_STYLE_FONT', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF
- (sscg\surface_style_control_grid.
- style_of_control_grid\curve_style.curve_font)) = 1))
- OR
- (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE_RENDERING'
- IN TYPEOF (sscg\surface_style_control_grid.style_of_control_grid))
- AND
- (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COLOUR_RGB',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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;
- WR13 : SIZEOF (QUERY (si <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
- IN TYPEOF (it)) |
- NOT (SIZEOF (QUERY (psa <* si\styled_item.styles |
- NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_STYLE_USAGE'
- IN TYPEOF (pss)) |
- NOT (SIZEOF (QUERY (sssh <* QUERY (sses <*
- ssu\surface_style_usage.style\surface_side_style.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'SURFACE_STYLE_SILHOUETTE' IN TYPEOF (sses)) |
- NOT ((
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE'
- IN TYPEOF (sssh\surface_style_silhouette.style_of_silhouette))
- AND
- (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COLOUR_RGB',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF
- (sssh\surface_style_silhouette.
- style_of_silhouette\curve_style.curve_colour)) = 1)
- AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF
- (sssh\surface_style_silhouette.
- style_of_silhouette\curve_style.curve_width))
- AND
- (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'CURVE_STYLE_FONT', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF
- (sssh\surface_style_silhouette.
- style_of_silhouette\curve_style.curve_font)) = 1))
- OR
- (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE_RENDERING'
- IN TYPEOF (sssh\surface_style_silhouette.style_of_silhouette))
- AND
- (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COLOUR_RGB',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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;
- WR14 : SIZEOF (QUERY (si <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
- IN TYPEOF (it)) |
- NOT (SIZEOF (QUERY (psa <* si\styled_item.styles |
- NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_STYLE_USAGE'
- IN TYPEOF (pss)) |
- NOT (SIZEOF (QUERY (sssc <* QUERY (sses <*
- ssu\surface_style_usage.style\surface_side_style.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'SURFACE_STYLE_SEGMENTATION_CURVE' IN TYPEOF (sses)) |
- NOT ((
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE'
- IN TYPEOF
- (sssc\surface_style_segmentation_curve.style_of_segmentation_curve))
- AND
- (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COLOUR_RGB',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF
- (sssc\surface_style_segmentation_curve.
- style_of_segmentation_curve\curve_style.curve_colour)) = 1)
- AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF
- (sssc\surface_style_segmentation_curve.
- style_of_segmentation_curve\curve_style.curve_width))
- AND
- (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'CURVE_STYLE_FONT', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF
- (sssc\surface_style_segmentation_curve.
- style_of_segmentation_curve\curve_style.curve_font)) = 1))
- OR
- (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE_RENDERING'
- IN TYPEOF (sssc\surface_style_segmentation_curve.
- style_of_segmentation_curve))
- AND
- (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COLOUR_RGB',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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;
- WR15 : SIZEOF (QUERY (si <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
- IN TYPEOF (it)) |
- NOT (SIZEOF (QUERY (psa <* si\styled_item.styles |
- NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_STYLE_USAGE'
- IN TYPEOF (pss)) |
- NOT (SIZEOF (QUERY (ssbd <* QUERY (sses <*
- ssu\surface_style_usage.style\surface_side_style.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'SURFACE_STYLE_BOUNDARY' IN TYPEOF (sses)) |
- NOT ((
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE'
- IN TYPEOF (ssbd\surface_style_boundary.style_of_boundary))
- AND
- (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COLOUR_RGB',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF
- (ssbd\surface_style_boundary.
- style_of_boundary\curve_style.curve_colour)) = 1)
- AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF
- (ssbd\surface_style_boundary.
- style_of_boundary\curve_style.curve_width))
- AND
- (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'CURVE_STYLE_FONT', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF
- (ssbd\surface_style_boundary.
- style_of_boundary\curve_style.curve_font)) = 1))
- OR
- (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE_RENDERING'
- IN TYPEOF (ssbd\surface_style_boundary.style_of_boundary))
- AND
- (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COLOUR_RGB',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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;
- WR16 : SIZEOF (QUERY (si <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
- IN TYPEOF (it)) |
- NOT (SIZEOF (QUERY (psa <* si\styled_item.styles |
- NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_STYLE_USAGE'
- IN TYPEOF (pss)) |
- NOT (SIZEOF (QUERY (ssre <* QUERY (sses <*
- ssu\surface_style_usage.style\surface_side_style.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'SURFACE_STYLE_RENDERING' IN TYPEOF (sses)) |
- NOT
- (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COLOUR_RGB',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF
- (ssre\surface_style_rendering.surface_colour)) = 1)))
- = 0))) = 0))) = 0))) = 0;
-END_ENTITY;
-
-
-ENTITY min_and_major_ply_orientation_basis
- SUBTYPE OF (representation_item_relationship, geometric_representation_item);
- SELF\representation_item_relationship.related_representation_item : axis2_placement_3d;
- SELF\representation_item_relationship.relating_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 modified_geometric_tolerance
- SUBTYPE OF (geometric_tolerance);
- modifier : limit_condition;
-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 moments_of_inertia_representation
- SUBTYPE OF (representation);
-WHERE
- WR1 : (SIZEOF(SELF.items) = 1) AND
- (SIZEOF( QUERY( i <* SELF.items | ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'COMPOUND_REPRESENTATION_ITEM' IN TYPEOF(i)) AND
- (i.name = 'moments of inertia matrix') )) = 1);
- WR2 : SIZEOF( QUERY( i <* SELF.items | ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'COMPOUND_REPRESENTATION_ITEM' IN TYPEOF(i)) AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 multiple_arity_boolean_expression
- ABSTRACT SUPERTYPE
- SUBTYPE OF (boolean_expression, multiple_arity_generic_expression);
- SELF\multiple_arity_generic_expression.operands : LIST [2:?] OF boolean_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
- SUBTYPE OF (numeric_expression, multiple_arity_generic_expression);
- SELF\multiple_arity_generic_expression.operands : LIST [2:?] OF numeric_expression;
-END_ENTITY;
-
-
-ENTITY name_assignment
- ABSTRACT SUPERTYPE;
- assigned_name : label;
-DERIVE
- role : object_role := get_role(SELF);
-WHERE
- WR1 : SIZEOF(USEDIN(SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 next_assembly_usage_occurrence
- SUBTYPE OF (assembly_component_usage);
-END_ENTITY;
-
-
-ENTITY non_manifold_surface_shape_representation
- SUBTYPE OF (shape_representation);
-WHERE
- WR1 : SIZEOF (QUERY (it <* SELF.items |
- NOT (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FACE_BASED_SURFACE_MODEL',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT_3D'] * TYPEOF (it)) = 1)))
- = 0;
- WR2 : SIZEOF (QUERY (it <* SELF.items |
- SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FACE_BASED_SURFACE_MODEL',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM'] * TYPEOF (it)) = 1)) > 0;
- WR3 : SIZEOF (QUERY (mi <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' IN TYPEOF (it)) |
- NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FACE_BASED_SURFACE_MODEL'
- IN TYPEOF (mr_it)))) > 0 )))) = 0;
- WR4 : SIZEOF (QUERY (fbsm <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FACE_SURFACE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ORIENTED_FACE'] * TYPEOF (fa)) = 1)))
- = 0))) = 0))) = 0;
- WR5 : SIZEOF (QUERY (fbsm <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FACE_SURFACE' IN TYPEOF (fa))) |
- NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ORIENTED_FACE' IN TYPEOF (fa))) |
- NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa))
- OR
- (SIZEOF (QUERY (bnds <* fa.bounds |
- NOT (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_LOOP']
- * TYPEOF (bnds.bound)) = 1))) = 0)))) = 0))) = 0))) = 0;
- WR8 : SIZEOF (QUERY (fbsm <* QUERY (it <* SELF.items|
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa))
- OR
- (SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) |
- NOT (SIZEOF (QUERY (oe <* elp_fbnds\path.edge_list |
- NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_CURVE' IN TYPEOF
- (oe.edge_element)))) = 0))) = 0)))) = 0))) = 0))) = 0;
- WR9 : SIZEOF (QUERY (fbsm <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa))
- OR
- (SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) |
- NOT (SIZEOF (QUERY (oe_cv <* QUERY (oe <*
- elp_fbnds\path.edge_list |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_CURVE' IN TYPEOF (oe.edge_element)) |
- NOT (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.B_SPLINE_CURVE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONIC',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_REPLICA',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LINE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.OFFSET_CURVE_3D',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PCURVE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POLYLINE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa))
- OR
- (SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa))
- OR
- (SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) |
- NOT (SIZEOF (QUERY (oe <* elp_fbnds\path.edge_list|
- NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_POINT' IN TYPEOF
- (oe.edge_element.edge_start))
- AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_POINT' IN
- TYPEOF (oe.edge_element.edge_end)))))
- = 0))) = 0)))) = 0))) = 0))) = 0;
- WR12 : SIZEOF (QUERY (fbsm <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa))
- OR
- (SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) |
- NOT (SIZEOF (QUERY (oe <* elp_fbnds\path.edge_list |
- NOT ((SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CARTESIAN_POINT',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DEGENERATE_PCURVE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT_ON_CURVE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT_ON_SURFACE'] * TYPEOF
- (oe.edge_element.edge_start\vertex_point.vertex_geometry)) = 1)
- AND
- (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CARTESIAN_POINT',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DEGENERATE_PCURVE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT_ON_CURVE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa))
- OR
- (SIZEOF (QUERY (vlp_fbnds <* QUERY (bnds <* fa.bounds |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_LOOP' IN TYPEOF (bnds.bound)) |
- NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_POINT' IN TYPEOF
- (vlp_fbnds\vertex_loop.loop_vertex)))) = 0)))) = 0)))
- = 0))) = 0;
- WR14 : SIZEOF (QUERY (fbsm <* QUERY (it <* SELF.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa))
- OR
- (SIZEOF (QUERY (vlp_fbnds <* QUERY (bnds <* fa.bounds |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_LOOP' IN TYPEOF (bnds.bound)) |
- NOT (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CARTESIAN_POINT',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DEGENERATE_PCURVE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT_ON_CURVE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT_ON_SURFACE'] * TYPEOF
- (vlp_fbnds\vertex_loop.loop_vertex\vertex_point.vertex_geometry))
- = 1))) = 0)))) = 0))) = 0))) = 0;
-END_ENTITY;
-
-
-ENTITY null_representation_item
- SUBTYPE OF (representation_item);
-END_ENTITY;
-
-
-ENTITY numeric_expression
- ABSTRACT SUPERTYPE OF (ONEOF (simple_numeric_expression, unary_numeric_expression, binary_numeric_expression, multiple_arity_numeric_expression))
- SUBTYPE OF (expression);
-DERIVE
- is_int : LOGICAL := is_int_expr (SELF);
- sql_mappable : LOGICAL := is_SQL_mappable (SELF);
-END_ENTITY;
-
-
-ENTITY object_role;
- name : label;
- description : OPTIONAL text;
-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_shell
- SUBTYPE OF (connected_face_set);
-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 <= 365 }) OR (leap_year(SELF.year_component) AND { 1 <= 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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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_end : vertex := boolean_choose (SELF.orientation,
- SELF.edge_element.edge_end,
- SELF.edge_element.edge_start);
- SELF\edge.edge_start : vertex := boolean_choose (SELF.orientation,
- SELF.edge_element.edge_start,
- SELF.edge_element.edge_end);
-WHERE
- WR1 : NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ORIENTED_FACE' IN TYPEOF (SELF.face_element));
-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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 over_riding_styled_item
- SUBTYPE OF (styled_item);
- over_ridden_style : styled_item;
-END_ENTITY;
-
-
-ENTITY package_product_concept_feature
- SUBTYPE OF (product_concept_feature);
-WHERE
- WR1 : NOT ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'CONDITIONAL_CONCEPT_FEATURE' IN TYPEOF ( SELF ) );
- WR2 : SIZEOF ( QUERY
- (
- cfr <* USEDIN ( SELF , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'CONCEPT_FEATURE_RELATIONSHIP.' +'RELATING_PRODUCT_CONCEPT_FEATURE' )
- |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'CONCEPT_FEATURE_RELATIONSHIP_WITH_CONDITION' IN TYPEOF (cfr ) )
- AND
- ( SIZEOF ( QUERY
- (
- ipcf <* USEDIN ( cfr , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'CONDITIONAL_CONCEPT_FEATURE.' + 'CONDITION' )
- |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'INCLUSION_PRODUCT_CONCEPT_FEATURE' IN TYPEOF ( ipcf )
- )
- )= 1
- )
- )
- )>0;
-END_ENTITY;
-
-
-ENTITY parabola
- SUBTYPE OF (conic);
- focal_dist : length_measure;
-WHERE
- WR1 : focal_dist <> 0.0;
-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 parallelism_tolerance
- SUBTYPE OF (geometric_tolerance_with_datum_reference);
-WHERE
- WR1 : SIZEOF (SELF\geometric_tolerance_with_datum_reference.datum_system) < 3;
-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_document_with_structured_text_representation_assignment
- SUBTYPE OF (applied_document_usage_constraint_assignment, characterized_object);
-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 pcurve
- SUBTYPE OF (curve);
- basis_surface : surface;
- reference_to_curve : definitional_representation;
-WHERE
- WR1 : SIZEOF(reference_to_curve\representation.items) = 1;
- WR2 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 percentage_laminate_definition
- SUBTYPE OF (product_definition);
-WHERE
- WR1 : SIZEOF (QUERY (pdr <* USEDIN (SELF,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'PRODUCT_DEFINITION_RELATIONSHIP.' +
- 'RELATING_PRODUCT_DEFINITION') |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'NEXT_ASSEMBLY_USAGE_OCCURRENCE' IN
- TYPEOF (pdr))) > 0;
-END_ENTITY;
-
-
-ENTITY percentage_laminate_table
- SUBTYPE OF (zone_structural_makeup);
-END_ENTITY;
-
-
-ENTITY percentage_ply_definition
- SUBTYPE OF (product_definition);
-WHERE
- WR1 : SIZEOF (QUERY (pdr <* USEDIN (SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'PRODUCT_DEFINITION_RELATIONSHIP.RELATING_PRODUCT_DEFINITION') |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PERCENTAGE_LAMINATE_DEFINITION'
- IN TYPEOF (pdr.related_product_definition)) AND
- (pdr.name = 'makeup and properties'))) = 0;
-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);
-WHERE
- WR1 : SIZEOF (SELF\geometric_tolerance_with_datum_reference.datum_system) <= 3;
-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
- description : text := get_description_value(SELF);
- name : label := get_name_value(SELF);
-WHERE
- WR1 : SIZEOF(USEDIN(SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1;
- WR2 : SIZEOF(USEDIN(SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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], 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 physical_breakdown_context
- SUBTYPE OF (breakdown_context);
-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 | 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM' IN TYPEOF(item))) = 1;
- WR2: SIZEOF (QUERY (se <* QUERY (item <* SELF.items | ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM' IN TYPEOF (item)))
- | NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 line'];
- WR2 : SIZEOF (QUERY (pdr <* representation_associations | 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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_extent
- SUBTYPE OF (geometric_representation_item);
- size_in_x : length_measure;
- size_in_y : length_measure;
-END_ENTITY;
-
-
-ENTITY plane
- SUBTYPE OF (elementary_surface);
-END_ENTITY;
-
-
-ENTITY plane_angle_measure_with_unit
- SUBTYPE OF (measure_with_unit);
-WHERE
- WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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.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;
-
-
-ENTITY plus_minus_tolerance;
- range : tolerance_method_definition;
- toleranced_dimension : dimensional_characteristic;
-UNIQUE
- UR1 : toleranced_dimension;
-END_ENTITY;
-
-
-ENTITY ply_laminate_definition
- SUBTYPE OF (product_definition);
-WHERE
- WR1 : SIZEOF (QUERY (pdr <* USEDIN (SELF,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'PRODUCT_DEFINITION_RELATIONSHIP.' +
- 'RELATING_PRODUCT_DEFINITION') |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'NEXT_ASSEMBLY_USAGE_OCCURRENCE' IN
- TYPEOF (pdr))) = 1;
-END_ENTITY;
-
-
-ENTITY ply_laminate_sequence_definition
- SUBTYPE OF (product_definition);
-WHERE
- WR1 : SIZEOF (QUERY (pdr <* USEDIN (SELF,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'PRODUCT_DEFINITION_RELATIONSHIP.' +
- 'RELATING_PRODUCT_DEFINITION') |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'NEXT_ASSEMBLY_USAGE_OCCURRENCE' IN
- TYPEOF (pdr))) > 0;
-END_ENTITY;
-
-
-ENTITY ply_laminate_table
- SUBTYPE OF (part_laminate_table);
-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_on_curve
- SUBTYPE OF (point);
- basis_curve : curve;
- point_parameter : parameter_value;
-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_path
- SUBTYPE OF (compound_representation_item, geometric_representation_item);
- SELF\compound_representation_item.item_element : point_path_members;
-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 polar_complex_number_literal
- SUBTYPE OF (generic_literal);
- radius : REAL;
- angle : REAL;
-WHERE
- WR1 : radius >= 0;
- WR2 : { 0 <= angle < 2*PI };
-END_ENTITY;
-
-
-ENTITY poly_loop
- SUBTYPE OF (loop, geometric_representation_item);
- polygon : 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);
-WHERE
- WR1 : NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE' IN TYPEOF (SELF)) OR ( SIZEOF (SELF\geometric_tolerance_with_datum_reference.datum_system) <= 3);
-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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_BOUNDED_SURFACE' IN
- TYPEOF(sketch_basis)) AND NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PLANE' IN
- TYPEOF(sketch_basis\curve_bounded_surface.basis_surface)));
- WR2 : NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FACE_SURFACE' IN TYPEOF(sketch_basis)) AND
- NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PLANE' IN TYPEOF(sketch_basis\face_surface.face_geometry)));
- WR3 : SIZEOF(QUERY(q <* auxiliary_elements | (SIZEOF(TYPEOF(q) *
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT','AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE']) = 0))) = 0;
- WR4 : SIZEOF(QUERY(q <* auxiliary_elements |
- q\geometric_representation_item.dim <> 3)) = 0;
-END_ENTITY;
-
-
-ENTITY power_measure_with_unit
- SUBTYPE OF (measure_with_unit);
-WHERE
- WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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_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 presentation_area
- SUBTYPE OF (presentation_representation);
-WHERE
- WR1 : ((SIZEOF (QUERY (ais <* USEDIN (SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'AREA_IN_SET.AREA') |
- SIZEOF (USEDIN (ais, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'PRESENTATION_SIZE.UNIT')) =1)) > 0) OR
- (SIZEOF (USEDIN (SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRESENTATION_AREA' IN TYPEOF (SELF))
- OR
- (SIZEOF (QUERY (prr <* USEDIN (SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'REPRESENTATION_RELATIONSHIP.REP_2') |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRESENTATION_REPRESENTATION' IN
- TYPEOF (prr\representation_relationship.rep_1))) > 0)
- OR
- (SIZEOF(QUERY( rm <* USEDIN(SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'REPRESENTATION_MAP.'+
- 'MAPPED_REPRESENTATION') |
- SIZEOF(QUERY( mi <* USEDIN(rm, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'MAPPED_ITEM.'+
- 'MAPPING_SOURCE') |
- SIZEOF(QUERY( rep <* using_representations (mi) |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 : (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRESENTATION_REPRESENTATION'
- IN TYPEOF (SELF.unit)) AND
- item_in_context (SELF.size,
- SELF.unit\representation.context_of_items)
- )
- OR
- (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'SURFACE_STYLE_USAGE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'EXTERNALLY_DEFINED_STYLE'] *
- TYPEOF (style1)) = 1)
- ))) = 0
- ))) = 0;
- WR2 : SIZEOF (QUERY (style1 <* SELF.styles |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_STYLE_USAGE' IN
- TYPEOF(style1)
- )) <= 2;
- WR3 : SIZEOF (QUERY (style1 <* SELF.styles |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_STYLE_USAGE' IN TYPEOF (style1)) AND
- (SIZEOF (QUERY (style2 <* (SELF.styles - style1) |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 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);
-WHERE
- WR1 : SIZEOF(QUERY(q <* SELF\procedural_representation_sequence.elements
- | NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHAPE_REPRESENTATION_ITEM'
- IN TYPEOF(q)))) = 0;
-END_ENTITY;
-
-
-ENTITY product;
- id : identifier;
- name : label;
- description : OPTIONAL text;
- frame_of_reference : SET [1:?] OF product_context;
-END_ENTITY;
-
-
-ENTITY product_category;
- name : label;
- description : OPTIONAL text;
-DERIVE
- id : identifier := get_id_value(SELF);
-WHERE
- WR1 : SIZEOF(USEDIN(SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1;
-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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'GROUP_ASSIGNMENT.ASSIGNED_GROUP' )
- |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'APPLIED_GROUP_ASSIGNMENT' IN TYPEOF(aga))
- AND
- (
- ( aga.role.name <> 'specification category member' )
- OR
- ( SIZEOF(QUERY
- (
- i <* aga.items
- |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'PRODUCT_CONCEPT_FEATURE' IN TYPEOF ( i ) )
- AND
- NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'CONDITIONAL_CONCEPT_FEATURE' IN TYPEOF (i))
- )
- ) <> SIZEOF (aga.items)
- )
- )
- )
- ) =0;
-END_ENTITY;
-
-
-ENTITY product_concept_feature_category_usage
- SUBTYPE OF (group_assignment);
- items : SET [1:?] OF category_usage_item;
- SELF\group_assignment.assigned_group : product_concept_feature_category;
-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_definition
- SUPERTYPE OF (ONEOF (composite_assembly_definition, composite_assembly_sequence_definition, laminate_table, percentage_laminate_definition, percentage_ply_definition, ply_laminate_definition, ply_laminate_sequence_definition, thickness_laminate_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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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);
- items : SET [1:1] OF product_definition_or_product_definition_relationship;
- SELF\group_assignment.assigned_group : product_definition_element_relationship;
-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_relationship;
- id : identifier;
- name : label;
- description : OPTIONAL text;
- relating_product_definition : product_definition;
- related_product_definition : product_definition;
-END_ENTITY;
-
-
-ENTITY product_definition_shape
- SUBTYPE OF (property_definition);
-UNIQUE
- UR1: SELF\property_definition.definition;
-WHERE
- WR1 : SIZEOF(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CHARACTERIZED_PRODUCT_DEFINITION', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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],
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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_identification
- SUBTYPE OF (configuration_item, characterized_object);
- SELF\configuration_item.item_concept : product_class;
-WHERE
- WR1 : SIZEOF(QUERY
- ( cd <* USEDIN ( SELF ,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONFIGURATION_DESIGN.CONFIGURATION' )
- |
- ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'PRODUCT_DEFINITION_FORMATION' IN TYPEOF ( cd. design ) )
- AND
- ( SIZEOF ( QUERY
- (
- prpc <* USEDIN ( cd. design\product_definition_formation.of_product , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS')
- |
- prpc. name IN ['part' , 'raw material' , 'tool'] ) ) >0
- )
- )
- ) <=1;
- WR2 : NOT ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'CONFIGURABLE_ITEM' IN TYPEOF( SELF ) )
- XOR ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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_related_product_category
- SUBTYPE OF (product_category);
- products : SET [1:?] OF product;
-END_ENTITY;
-
-
-ENTITY product_specification
- SUBTYPE OF (product_identification, configurable_item);
-END_ENTITY;
-
-
-ENTITY projected_zone_definition
- SUBTYPE OF (tolerance_zone_definition);
- projection_end : shape_aspect;
- projected_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;
-
-
-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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PROJECTION_CURVE' IN (TYPEOF(p_1))))=1;
- WR2 : SIZEOF(SELF\draughting_callout.contents) >=2;
-END_ENTITY;
-
-
-ENTITY promissory_usage_occurrence
- SUBTYPE OF (assembly_component_usage);
-END_ENTITY;
-
-
-ENTITY property_definition;
- name : label;
- description : OPTIONAL text;
- definition : characterized_definition;
-DERIVE
- id : identifier := get_id_value(SELF);
-WHERE
- WR1 : SIZEOF(USEDIN(SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1;
- WR2 : SIZEOF(USEDIN(SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1;
-END_ENTITY;
-
-
-ENTITY qualified_representation_item
- SUBTYPE OF (representation_item);
- qualifiers : SET [1:?] OF value_qualifier;
-WHERE
- WR1 : SIZEOF(QUERY(temp <* qualifiers |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 quasi_uniform_curve
- SUBTYPE OF (b_spline_curve);
-END_ENTITY;
-
-
-ENTITY quasi_uniform_surface
- SUBTYPE OF (b_spline_surface);
-END_ENTITY;
-
-
-ENTITY radioactivity_measure_with_unit
- SUBTYPE OF (measure_with_unit);
-WHERE
- WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PROJECTION_CURVE' IN TYPEOF (con)))<=1;
-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 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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.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;
-
-
-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('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.INT_LITERAL' IN TYPEOF(operand)))) = 0;
-END_ENTITY;
-
-
-ENTITY real_literal
- SUBTYPE OF (literal_number);
- SELF\literal_number.the_value : REAL;
-END_ENTITY;
-
-
-ENTITY real_representation_item
- SUBTYPE OF (representation_item, real_literal);
-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_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 : (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ELEMENTARY_SURFACE' IN TYPEOF(basis_surface))
- AND (NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PLANE' IN TYPEOF(basis_surface)))) OR
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_OF_REVOLUTION' IN TYPEOF(basis_surface))
- OR (usense = (u2 > u1));
- WR4 : (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SPHERICAL_SURFACE' IN TYPEOF(basis_surface))
- OR
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 relative_event_occurrence
- SUBTYPE OF (event_occurrence);
- base_event : event_occurrence;
- offset : time_measure_with_unit;
-END_ENTITY;
-
-
-ENTITY rep_item_group
- SUBTYPE OF (group, representation_item);
-WHERE
- WR1 : SIZEOF(USEDIN(SELF,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'PRESENTATION_LAYER_ASSIGNMENT.' + 'ASSIGNED_ITEMS')) > 0;
- WR2 : SIZEOF(QUERY(r <* USEDIN(SELF,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'REPRESENTATION.' + 'ITEMS') | r.name = 'group representation')) > 0;
- WR3 : SIZEOF(QUERY(ga <* USEDIN(SELF,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'GROUP_ASSIGNMENT.' + 'ASSIGNED_GROUP') | ga.role.name <> 'group membership')) = 0;
- WR4 : SIZEOF(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'GEOMETRIC_REPRESENTATION_ITEM', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'TOPOLOGICAL_REPRESENTATION_ITEM', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'MAPPED_ITEM','AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'STYLED_ITEM'] * TYPEOF(SELF)) = 1;
-END_ENTITY;
-
-
-ENTITY reparametrised_composite_curve_segment
- SUBTYPE OF (composite_curve_segment);
- param_length : parameter_value;
-WHERE
- WR1 : param_length > 0.0;
-END_ENTITY;
-
-
-ENTITY representation;
- name : label;
- items : SET [1:?] OF representation_item;
- context_of_items : representation_context;
-DERIVE
- description : text := get_description_value (SELF);
- id : identifier := get_id_value (SELF);
-WHERE
- WR1 : SIZEOF (USEDIN (SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'ID_ATTRIBUTE.IDENTIFIED_ITEM'))
- <= 1;
- WR2 : SIZEOF (USEDIN (SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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, mapped_item, styled_item, 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_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 requirement_assigned_object
- SUBTYPE OF (group_assignment);
- items : SET [1:1] OF requirement_assigned_item;
- SELF\group_assignment.assigned_group : requirement_assignment;
-END_ENTITY;
-
-
-ENTITY requirement_assignment
- SUBTYPE OF (characterized_object, group);
-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 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 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;
-
-
-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;
-
-
-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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LENGTH_MEASURE'
- IN TYPEOF(first_trim_condition))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LENGTH_MEASURE'
- IN TYPEOF(second_trim_condition)));
- WR2 : NOT((('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PLANE_ANGLE_MEASURE'
- IN TYPEOF(first_trim_condition)) AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PLANE_ANGLE_MEASURE'
- IN TYPEOF(second_trim_condition))) AND
- (first_trim_condition = second_trim_condition));
-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.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.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.related_method : information_right;
- SELF\action_method_relationship.relating_method : information_usage_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 role_association;
- role : object_role;
- item_with_role : role_select;
-END_ENTITY;
-
-
-ENTITY roundness_tolerance
- SUBTYPE OF (geometric_tolerance);
-WHERE
- WR1 : NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.B_SPLINE_SURFACE' IN TYPEOF(SELF.reference_surface)) AND
- (SELF.reference_surface\b_spline_surface.u_degree = 1);
- WR2 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PCURVE' IN TYPEOF(SELF.directrix)) OR
- (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 : 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);
- items : SET [1:1] OF product_definition;
- SELF\group_assignment.assigned_group : satisfies_requirement;
-END_ENTITY;
-
-
-ENTITY satisfies_requirement
- SUBTYPE OF (group);
-END_ENTITY;
-
-
-ENTITY satisfying_item
- SUBTYPE OF (group_assignment);
- items : SET [1:1] OF requirement_satisfaction_item;
- SELF\group_assignment.assigned_group : satisfies_requirement;
-END_ENTITY;
-
-
-ENTITY scalar_variable
- SUBTYPE OF (abstract_variable);
-END_ENTITY;
-
-
-ENTITY scattering_parameter
- SUBTYPE OF (polar_complex_number_literal);
-WHERE
- WR1 : SIZEOF(TYPEOF(SELF) - (TYPEOF(SELF\polar_complex_number_literal ||
- SELF\scattering_parameter))) = 0;
-END_ENTITY;
-
-
-ENTITY sculptured_solid
- SUBTYPE OF (modified_solid);
- sculpturing_element : generalized_surface_select;
- positive_side : BOOLEAN;
-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 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PCURVE' IN
- TYPEOF(SELF\surface_curve.associated_geometry[1]);
- WR4 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1;
-END_ENTITY;
-
-
-ENTITY security_classification_level;
- name : label;
-END_ENTITY;
-
-
-ENTITY serial_numbered_effectivity
- SUBTYPE OF (effectivity);
- effectivity_start_id : identifier;
- effectivity_end_id : OPTIONAL identifier;
-END_ENTITY;
-
-
-ENTITY shape_aspect;
- name : label;
- description : OPTIONAL text;
- of_shape : product_definition_shape;
- product_definitional : LOGICAL;
-DERIVE
- id : identifier := get_id_value(SELF);
-WHERE
- WR1 : SIZEOF(USEDIN(SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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);
-WHERE
- WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DERIVED_SHAPE_ASPECT' IN
-TYPEOF
- (SELF\SHAPE_ASPECT_RELATIONSHIP.RELATING_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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1;
-END_ENTITY;
-
-
-ENTITY shape_definition_representation
- SUBTYPE OF (property_definition_representation);
-WHERE
- WR1 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF(SELF.definition)) OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHAPE_DEFINITION' IN TYPEOF(SELF.definition.definition));
- WR2 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHAPE_REPRESENTATION' IN TYPEOF(SELF.used_representation);
-END_ENTITY;
-
-
-ENTITY shape_dimension_representation
- SUBTYPE OF (shape_representation);
-WHERE
- WR1 : SIZEOF (QUERY (temp <* SELF\representation.items |
- NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MEASURE_REPRESENTATION_ITEM'
- IN TYPEOF (temp)))) = 0;
- WR2 : SIZEOF (SELF\representation.items) <= 3;
- WR3 : SIZEOF (QUERY (pos_mri <* QUERY (real_mri <*
- SELF\representation.items | 'REAL' IN TYPEOF
- (real_mri\measure_with_unit.value_component) ) |
- NOT (pos_mri\measure_with_unit.value_component > 0.0 ))) = 0;
-END_ENTITY;
-
-
-ENTITY shape_feature_definition
- SUBTYPE OF (characterized_object);
-END_ENTITY;
-
-
-ENTITY shape_representation
- SUBTYPE OF (representation);
-END_ENTITY;
-
-
-ENTITY shape_representation_relationship
- SUBTYPE OF (representation_relationship);
-WHERE
- WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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);
-WHERE
- WR1 : SIZEOF( QUERY( i <* SELF.items | SIZEOF(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PLACEMENT', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MEASURE_REPRESENTATION_ITEM', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM'] * TYPEOF(i)) = 1 )) = SIZEOF(SELF.items);
-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 ([ 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHELL_BASED_WIREFRAME_MODEL', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT_3D' ] * TYPEOF (it)) = 1) )) = 0;
- WR2 : SIZEOF (
-QUERY ( it <* SELF.items| ( SIZEOF ([ 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHELL_BASED_WIREFRAME_MODEL', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' ] * TYPEOF (it)) = 1) )) >= 1;
- WR3 : SIZEOF (
-QUERY ( sbwm <*
-QUERY ( it <* SELF.items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF (
-QUERY ( ws <*
-QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.WIRE_SHELL' IN TYPEOF (sb)) )| NOT ( SIZEOF (
-QUERY ( eloop <*
-QUERY ( wsb <* ws\wire_shell.wire_shell_extent| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF (wsb)) )| NOT ( SIZEOF (
-QUERY ( el <* eloop\path.edge_list| NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_CURVE' IN TYPEOF (el.edge_element)) )) = 0) )) = 0) )) = 0) )) = 0;
- WR4 : SIZEOF (
-QUERY ( sbwm <*
-QUERY ( it <* SELF.items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF (
-QUERY ( ws <*
-QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.WIRE_SHELL' IN TYPEOF (sb)) )| NOT ( SIZEOF (
-QUERY ( eloop <*
-QUERY ( wsb <* ws\wire_shell.wire_shell_extent| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF (wsb)) )| NOT ( SIZEOF (
-QUERY ( pline_el <*
-QUERY ( el <* eloop\path.edge_list| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF (
-QUERY ( ws <*
-QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.WIRE_SHELL' IN TYPEOF (sb)) )| NOT ( SIZEOF (
-QUERY ( eloop <*
-QUERY ( wsb <* ws\wire_shell.wire_shell_extent| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF (
-QUERY ( ws <*
-QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.WIRE_SHELL' IN TYPEOF (sb)) )| NOT ( SIZEOF (
-QUERY ( eloop <*
-QUERY ( wsb <* ws\wire_shell.wire_shell_extent| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF (wsb)) )| NOT ( SIZEOF (
-QUERY ( el <* eloop\path.edge_list| NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_POINT' IN TYPEOF (el.edge_element.edge_start)) AND ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_POINT' IN TYPEOF (el.edge_element.edge_end))) )) = 0) )) = 0) )) = 0) )) = 0;
- WR7 : SIZEOF (
-QUERY ( sbwm <*
-QUERY ( it <* SELF.items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF (
-QUERY ( ws <*
-QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.WIRE_SHELL' IN TYPEOF (sb)) )| NOT ( SIZEOF (
-QUERY ( eloop <*
-QUERY ( wsb <* ws\wire_shell.wire_shell_extent| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF (
-QUERY ( ws <*
-QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.WIRE_SHELL' IN TYPEOF (sb)) )| NOT ( SIZEOF (
-QUERY ( vloop <*
-QUERY ( wsb <* ws\wire_shell.wire_shell_extent| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_LOOP' IN TYPEOF (wsb)) )| NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_POINT' IN TYPEOF (vloop\vertex_loop.loop_vertex)) )) = 0) )) = 0) )) = 0;
- WR9 : SIZEOF (
-QUERY ( sbwm <*
-QUERY ( it <* SELF.items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF (
-QUERY ( ws <*
-QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.WIRE_SHELL' IN TYPEOF (sb)) )| NOT ( SIZEOF (
-QUERY ( vloop <*
-QUERY ( wsb <* ws\wire_shell.wire_shell_extent| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF (
-QUERY ( vs <*
-QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_SHELL' IN TYPEOF (sb)) )| NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_POINT' IN TYPEOF (vs\vertex_shell.vertex_shell_extent.loop_vertex)) )) = 0) )) = 0;
- WR11 : SIZEOF (
-QUERY ( sbwm <*
-QUERY ( it <* SELF.items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF (
-QUERY ( vs <*
-QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' IN TYPEOF (it)) )| NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 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(('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MASS_UNIT' IN TYPEOF(SELF)) AND
- (SIZEOF(USEDIN(SELF,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DERIVED_UNIT_ELEMENT.UNIT')) > 0)) OR
- (prefix = si_prefix.kilo);
-END_ENTITY;
-
-
-ENTITY simple_boolean_expression
- ABSTRACT SUPERTYPE
- 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
- SUBTYPE OF (numeric_expression, simple_generic_expression);
-END_ENTITY;
-
-
-ENTITY slash_expression
- SUBTYPE OF (binary_numeric_expression);
-END_ENTITY;
-
-
-ENTITY smeared_material_definition
- SUBTYPE OF (zone_structural_makeup);
-END_ENTITY;
-
-
-ENTITY solid_angle_measure_with_unit
- SUBTYPE OF (measure_with_unit);
-WHERE
- WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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.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;
-
-
-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_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(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_BOUNDED_SURFACE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_BOUNDED_SURFACE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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(('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SOLID_WITH_THROUGH_DEPRESSION'
- IN TYPEOF(SELF)) AND (SIZEOF(TYPEOF(SELF) *
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SOLID_WITH_FLAT_BOTTOM_ROUND_HOLE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SOLID_WITH_SPHERICAL_BOTTOM_ROUND_HOLE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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) *
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SOLID_WITH_HOLE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SOLID_WITH_POCKET',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (edge_blended_solid, 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 source_for_requirement
- SUBTYPE OF (group_assignment);
- items : SET [1:1] OF requirement_source_item;
- SELF\group_assignment.assigned_group : requirement_source;
-END_ENTITY;
-
-
-ENTITY sourced_requirement
- SUBTYPE OF (group_assignment);
- items : SET [1:1] OF product_definition;
- SELF\group_assignment.assigned_group : requirement_source;
-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,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT_DEFINITION_RELATIONSHIP.' +
- 'RELATED_PRODUCT_DEFINITION') |
- pdr.relating_product_definition :=:
- next_usage.relating_product_definition)) = 1);
- WR5 : SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.NEXT_ASSEMBLY_USAGE_OCCURRENCE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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_surface
- SUBTYPE OF (elementary_surface);
- radius : positive_length_measure;
-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 straightness_tolerance
- SUBTYPE OF (geometric_tolerance);
-WHERE
- WR1 : NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE' IN TYPEOF (SELF));
-END_ENTITY;
-
-
-ENTITY structured_dimension_callout
- SUBTYPE OF (draughting_callout);
-WHERE
- WR1 : SIZEOF (TYPEOF (SELF) *
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DATUM_FEATURE_CALLOUT',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DATUM_TARGET_CALLOUT',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRICAL_TOLERANCE_CALLOUT',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LEADER_DIRECTED_CALLOUT',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PROJECTION_DIRECTED_CALLOUT',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DIMENSION_CURVE_DIRECTED_CALLOUT']) = 0;
- WR2 : SIZEOF (QUERY (ato <* QUERY (con <* SELF.contents |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_TEXT_OCCURRENCE'
- IN TYPEOF (con))) |
- (ato.name = 'dimension value')
- )) >= 1;
- WR4 : SIZEOF (QUERY (dcr <* USEDIN (SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'DRAUGHTING_CALLOUT_RELATIONSHIP.' +
- 'RELATING_DRAUGHTING_CALLOUT') |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'DIMENSION_CALLOUT_COMPONENT_RELATIONSHIP' IN TYPEOF (dcr)) AND
- (dcr.name = 'prefix') )) <= 1;
- WR5 : SIZEOF (QUERY (dcr <* USEDIN (SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'DRAUGHTING_CALLOUT_RELATIONSHIP.' +
- 'RELATING_DRAUGHTING_CALLOUT') |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'DIMENSION_CALLOUT_COMPONENT_RELATIONSHIP' IN TYPEOF (dcr)) AND
- (dcr.name = 'suffix') )) <= 1;
- WR6 : NOT((SIZEOF (QUERY (ato <* QUERY (con <* SELF.contents |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_TEXT_OCCURRENCE'
- IN TYPEOF(con)) ) |
- (ato.name = 'prefix text')
- )) > 0)) OR
- (SIZEOF (QUERY (dcr <* USEDIN (SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'DRAUGHTING_CALLOUT_RELATIONSHIP.' +
- 'RELATING_DRAUGHTING_CALLOUT') |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'DIMENSION_CALLOUT_COMPONENT_RELATIONSHIP' IN TYPEOF (dcr)) AND
- (dcr.name = 'prefix') )) = 1);
- WR7 : NOT(SIZEOF (QUERY (ato <* QUERY (con <* SELF.contents |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_TEXT_OCCURRENCE'
- IN TYPEOF(con))) |
- (ato.name = 'suffix text')
- )) > 0) OR
- (SIZEOF (QUERY (dcr <* USEDIN (SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'DRAUGHTING_CALLOUT_RELATIONSHIP.' +
- 'RELATING_DRAUGHTING_CALLOUT') |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 : representation_item;
-WHERE
- WR1 : (SIZEOF(SELF.styles) = 1)
- XOR
- (SIZEOF(QUERY(pres_style <* SELF.styles |
- NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'PRESENTATION_STYLE_BY_CONTEXT' IN
- TYPEOF(pres_style))
- )) = 0);
-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 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 (
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'ANNOTATION_CURVE_OCCURRENCE' ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'ANNOTATION_SYMBOL_OCCURRENCE' ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PCURVE' IN TYPEOF(associated_geometry[1])) OR
- (master_representation <> pcurve_s1);
- WR3 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PCURVE' IN TYPEOF(associated_geometry[2])) OR
- (master_representation <> pcurve_s2);
- WR4 : NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_CURVE' IN TYPEOF(directrix))) OR
- (reference_surface IN (directrix\surface_curve.basis_surface));
-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.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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_BOUNDED_SURFACE'
- IN TYPEOF(parent_surface)));
-END_ENTITY;
-
-
-ENTITY surface_profile_tolerance
- SUBTYPE OF (geometric_tolerance);
-WHERE
- WR1 : NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE' IN TYPEOF (SELF)) OR ( SIZEOF (SELF\geometric_tolerance_with_datum_reference.datum_system) <= 3);
-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_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.0 <= transparency <= 1.0};
-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 (
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'MEASURE_REPRESENTATION_ITEM' ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'VALUE_RANGE' , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'DESCRIPTIVE_REPRESENTATION_ITEM']* TYPEOF ( i ) ) <>1 ) )
- =0;
- WR2 : ( SIZEOF ( QUERY ( i <* SELF.items | 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF ( i ) ) ) =1 )
- AND ( SIZEOF ( QUERY ( i <* SELF.items | (
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'DESCRIPTIVE_REPRESENTATION_ITEM' IN
- TYPEOF ( i ) ) AND ( i.name = 'measuring method' ) ) ) =1 );
- WR3 : SIZEOF ( QUERY ( i <* SELF.items | SIZEOF (
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'MEASURE_REPRESENTATION_ITEM' ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'VALUE_RANGE']* TYPEOF ( i ) ) =1 ) )
- >0;
- WR4 : ( SIZEOF ( USEDIN ( SELF ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'REPRESENTATION_RELATIONSHIP.'+
- 'REP_1' ) ) <=1 ) AND ( SIZEOF ( USEDIN ( SELF ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'REPRESENTATION_RELATIONSHIP.'+
- 'REP_2' ) ) =0 ) AND ( SIZEOF ( QUERY ( rr <* USEDIN ( SELF
- , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'REPRESENTATION_RELATIONSHIP.'+
- 'REP_1' ) | rr. rep_2.name = 'measuring direction' ) ) =
- SIZEOF ( USEDIN ( SELF ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'REPRESENTATION_RELATIONSHIP.'+
- 'REP_1' ) ) );
- WR5 : ( SIZEOF ( USEDIN ( SELF ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+
- 'USED_REPRESENTATION' ) ) =1 ) AND ( SIZEOF ( QUERY ( pdr
- <* USEDIN ( SELF ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+
- 'USED_REPRESENTATION' ) | SIZEOF ( QUERY ( gpa <* USEDIN (
- pdr. definition ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'GENERAL_PROPERTY_ASSOCIATION.'+
- 'DERIVED_DEFINITION' ) | ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'GENERAL_PROPERTY' IN TYPEOF ( gpa. base_definition ) ) AND
- ( gpa. base_definition.name ='surface_condition' ) ) ) =1 )
- ) =1 );
-END_ENTITY;
-
-
-ENTITY surfaced_open_shell
- SUBTYPE OF (open_shell);
-WHERE
- WR1 : SIZEOF(QUERY(q <* SELF\connected_face_set.cfs_faces |
- NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PLANE' IN TYPEOF(swept_area.basis_surface);
-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 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PLANE' IN TYPEOF(swept_face.face_geometry);
-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;
-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_relationship FOR relating_shape_aspect;
-WHERE
- WR1 : SIZEOF (QUERY (x<*SELF\symmetric_shape_aspect.basis_relationships |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CENTRE_OF_SYMMETRY' IN TYPEOF
- (x\shape_aspect_relationship.related_shape_aspect)))>=1;
-END_ENTITY;
-
-
-ENTITY symmetry_tolerance
- SUBTYPE OF (geometric_tolerance_with_datum_reference);
-WHERE
- WR1 : SIZEOF (SELF\geometric_tolerance_with_datum_reference.datum_system) <= 3;
-END_ENTITY;
-
-
-ENTITY table_representation_item
- SUBTYPE OF (compound_representation_item);
-WHERE
- WR1 : SIZEOF(QUERY(itet <* SELF\compound_representation_item.item_element |
- NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'MEASURE_REPRESENTATION_ITEM' ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'VALUE_RANGE']* TYPEOF ( i ) ) <>1 )) =0;
- WR2 : SIZEOF ( QUERY ( i <* SELF.items | name ='depth' ) ) <=1;
- WR3 : ( SIZEOF ( USEDIN ( SELF ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+
- 'USED_REPRESENTATION' ) ) =1 ) AND ( SIZEOF ( QUERY ( pdr
- <* USEDIN ( SELF ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+
- 'USED_REPRESENTATION' ) | SIZEOF ( QUERY ( gpa <* USEDIN (
- pdr. definition ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'GENERAL_PROPERTY_ASSOCIATION.'+
- 'DERIVED_DEFINITION' ) | ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'GENERAL_PROPERTY' IN TYPEOF ( gpa. base_definition ) ) AND
- ( gpa. base_definition.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 tangent
- SUBTYPE OF (derived_shape_aspect);
-WHERE
- WR1 : SIZEOF (SELF\derived_shape_aspect.deriving_relationships)= 1;
-END_ENTITY;
-
-
-ENTITY terminator_symbol
- SUBTYPE OF (annotation_symbol_occurrence);
- annotated_curve : annotation_curve_occurrence;
-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 (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.TEXT_LITERAL',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_TEXT',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_TEXT_CHARACTER',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DEFINED_CHARACTER_GLYPH',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COMPOSITE_TEXT'] *
- TYPEOF (item)) = 0)
- )) >= 1;
- WR2 : SIZEOF (
- QUERY (a2p <*
- QUERY (item <* SELF\representation.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT' IN TYPEOF (item)) |
- NOT ((SIZEOF (
- QUERY (at <*
- QUERY (item <* SELF\representation.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'ANNOTATION_TEXT' IN TYPEOF (item)) |
- (at\mapped_item.mapping_target :=: a2p))) >= 1) OR
- (SIZEOF (
- QUERY (atc <*
- QUERY (item <* SELF\representation.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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_resistance_measure_with_unit
- SUBTYPE OF (measure_with_unit);
-WHERE
- WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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.0, -1.0, -3.0, 0.0, 1.0, 0.0, 0.0 );
-END_ENTITY;
-
-
-ENTITY thermodynamic_temperature_measure_with_unit
- SUBTYPE OF (measure_with_unit);
-WHERE
- WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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.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;
-
-
-ENTITY thickened_face_solid
- SUBTYPE OF (solid_model);
- base_element : generalized_surface_select;
- offset1 : length_measure;
- offset2 : length_measure;
-WHERE
- WR1 : NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE' IN TYPEOF(base_element)) AND
- (NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.BOUNDED_SURFACE' IN TYPEOF(base_element))));
- WR2 : offset1 <> offset2;
-END_ENTITY;
-
-
-ENTITY thickness_laminate_definition
- SUBTYPE OF (product_definition);
-WHERE
- WR1 : SIZEOF (QUERY (pdr <* USEDIN (SELF,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'PRODUCT_DEFINITION_RELATIONSHIP.' +
- 'RELATING_PRODUCT_DEFINITION') |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'NEXT_ASSEMBLY_USAGE_OCCURRENCE' IN
- TYPEOF (pdr))) = 1;
-END_ENTITY;
-
-
-ENTITY thickness_laminate_table
- SUBTYPE OF (zone_structural_makeup);
-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 : NOT (EXISTS(secondary_bound) AND EXISTS(duration));
- WR2 : EXISTS(primary_bound) OR EXISTS(secondary_bound);
-END_ENTITY;
-
-
-ENTITY time_measure_with_unit
- SUBTYPE OF (measure_with_unit);
-WHERE
- WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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.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;
-
-
-ENTITY tolerance_value;
- lower_bound : measure_with_unit;
- upper_bound : measure_with_unit;
-DERIVE
- lbvc : REAL := lower_bound\measure_with_unit.value_component;
- ubvc : REAL := upper_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 geometric_tolerance;
- form : tolerance_zone_form;
-END_ENTITY;
-
-
-ENTITY tolerance_zone_definition
- SUPERTYPE OF (ONEOF (projected_zone_definition, runout_zone_definition));
- zone : tolerance_zone;
- boundaries : SET [1:?] 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 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);
-WHERE
- WR1 : SIZEOF (SELF\geometric_tolerance_with_datum_reference.datum_system) <= 2;
-END_ENTITY;
-
-
-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;
-
-
-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) *
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SOLID_WITH_CONSTANT_RADIUS_EDGE_BLEND',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SOLID_WITH_VARIABLE_RADIUS_EDGE_BLEND',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SOLID_WITH_CHAMFERED_EDGES']) = 1;
- WR2 : NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX' IN TYPEOF(end_conditions[1]))
- AND ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX' IN TYPEOF(end_conditions[2])));
- WR3 : NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 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 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_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 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 uniform_curve
- SUBTYPE OF (b_spline_curve);
-END_ENTITY;
-
-
-ENTITY uniform_resource_identifier
- SUBTYPE OF (descriptive_representation_item);
-END_ENTITY;
-
-
-ENTITY uniform_surface
- SUBTYPE OF (b_spline_surface);
-END_ENTITY;
-
-
-ENTITY usage_association
- SUBTYPE OF (action_method_relationship);
- SELF\action_method_relationship.related_method : information_usage_right;
- SELF\action_method_relationship.relating_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);
-WHERE
- WR1 : SIZEOF(QUERY(q <*
- SELF\user_selected_elements.picked_items | NOT
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHAPE_REPRESENTATION_ITEM'
- IN TYPEOF(q)))) = 0;
-END_ENTITY;
-
-
-ENTITY value_range
- SUBTYPE OF (compound_representation_item);
-WHERE
- WR1 : ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GLOBAL_UNIT_ASSIGNED_CONTEXT'
- IN TYPEOF (rep.context_of_items)
- ))) = 0;
-END_ENTITY;
-
-
-ENTITY variable_semantics
- ABSTRACT SUPERTYPE;
-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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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.0;
-END_ENTITY;
-
-
-ENTITY vector_style
- SUBTYPE OF (curve_style, pre_defined_terminator_symbol);
-END_ENTITY;
-
-
-ENTITY velocity_measure_with_unit
- SUBTYPE OF (measure_with_unit);
-WHERE
- WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0 );
-END_ENTITY;
-
-
-ENTITY versioned_action_request;
- id : identifier;
- version : label;
- purpose : text;
- description : OPTIONAL text;
-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;
-END_ENTITY;
-
-
-ENTITY visual_appearance_representation
- SUBTYPE OF (representation);
-WHERE
- WR1 : ( {3<= SIZEOF ( SELF.items ) <=9} ) AND ( SIZEOF ( QUERY (
- i <* items | ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (
- ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'MEASURE_REPRESENTATION_ITEM' ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'VALUE_RANGE']* TYPEOF ( i ) ) =1 )
- AND ( i.name IN ['refraction index' , 'opacity'] ) )
- ) + SIZEOF ( QUERY ( i <* items | (
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+
- 'USED_REPRESENTATION' ) ) =1 ) AND ( SIZEOF ( QUERY ( pdr
- <* USEDIN ( SELF ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+
- 'USED_REPRESENTATION' ) | SIZEOF ( QUERY ( gpa <* USEDIN (
- pdr. definition ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'GENERAL_PROPERTY_ASSOCIATION.'+
- 'DERIVED_DEFINITION' ) | ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
- 'GENERAL_PROPERTY' IN TYPEOF ( gpa. base_definition ) ) AND
- ( gpa. base_definition.name ='surface_condition' ) ) ) =1 )) =1 );
-END_ENTITY;
-
-
-ENTITY volume_measure_with_unit
- SUBTYPE OF (measure_with_unit);
-WHERE
- WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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.0, 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;
-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 year_month
- SUBTYPE OF (date);
- month_component : month_in_year_number;
-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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF' + '.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') |
- prpc.name = 'alternative solution')) = 1);
-WHERE
- WR1 : SIZEOF( QUERY( pdf <* solution_versions |
- SIZEOF( QUERY( pd <* USEDIN(pdf, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.APPLICATION_PROTOCOL_DEFINITION.APPLICATION') |
- apd.application_interpreted_model_schema_name = 'ap203_configuration_controlled_3d_design_of_mechanical_parts_and_assemblies'
- )) > 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 ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) |
- prpc.name = 'functionality' ) ) = 1 ) AND
- ( SIZEOF ( QUERY ( pd <* USEDIN ( pdf ,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) |
- prpc.name = 'conceptual design' ) ) = 1 ) AND
- ( SIZEOF (QUERY ( pd <* USEDIN ( pdf , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT_DEFINITION.FORMATION' ) |
- pd.frame_of_reference.name = 'conceptual definition' ) ) <1) ) ) = 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,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;
-
-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 |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF' + '.UNCERTAINTY_QUALIFIER' IN TYPEOF ( u1 ) ) AND
- ( SIZEOF ( QUERY ( u2 <* qri.qualifiers |
- ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) |
- prpc.name = 'requirement' ) ) >0 ) AND
- ( SIZEOF ( QUERY ( pd <* USEDIN ( pdf , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT_DEFINITION.FORMATION') |
- pd.frame_of_reference.name = 'design constraint definition' ) ) <1 ) ) ) = 0;
-END_RULE;
-
-RULE draughting_model_items_constraint FOR (draughting_model);
-
-WHERE
- WR1 : SIZEOF(QUERY(dm <* draughting_model |
- NOT(SIZEOF(QUERY(it1 <* dm\representation.items |
- (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_OCCURRENCE' IN TYPEOF(it1))
- AND
- NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'DRAUGHTING_ANNOTATION_OCCURRENCE' IN TYPEOF(it1)))
- )) = 0)
- )) = 0;
- WR2 : SIZEOF(QUERY(dm <* draughting_model |
- NOT(SIZEOF(QUERY(it1 <* dm\representation.items |
- (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DRAUGHTING_CALLOUT' IN TYPEOF(it1))
- AND
- NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DRAUGHTING_ELEMENTS' IN TYPEOF(it1)))
- )) = 0)
- )) = 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 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 , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'KNOWN_SOURCE' IN TYPEOF(edc.source) );
-WHERE
- WR1 : SIZEOF ( QUERY ( edgp <* known_sourced_properties |
- ( SIZEOF ( QUERY ( edir <* USEDIN ( edgp, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'EXTERNALLY_DEFINED_ITEM_RELATIONSHIP.RELATING_ITEM' )|
- ( edir.name = 'name scope' ) AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'EXTERNALLY_DEFINED_CLASS' IN TYPEOF ( edir.related_item ) ) AND
- ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'KNOWN_SOURCE' IN TYPEOF ( edgp.source ) ) AND
- ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'KNOWN_SOURCE' + '.NAME' = 'ISO 13584 library' ) );
-WHERE
- WR1 : SIZEOF( QUERY( edgp <* plib_properties |
- (SIZEOF( QUERY( edir <* USEDIN(edgp, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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,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;
-
-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;
-
-RULE product_concept_feature_requires_category FOR (product_concept_feature);
-
-WHERE
- WR1 : SIZEOF ( QUERY ( pcf <* product_concept_feature |
-(SIZEOF(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'INCLUSION_PRODUCT_CONCEPT_FEATURE',
-'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'CONDITIONAL_CONCEPT_FEATURE'] * TYPEOF(pcf)) = 0) AND
-(SIZEOF ( QUERY ( aga <* USEDIN ( pcf , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'APPLIED_GROUP_ASSIGNMENT.' + 'ITEMS' ) |
-( aga.role.name = 'specification category member' ) AND
-('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'CONCEPT_FEATURE_RELATIONSHIP_WITH_CONDITION.' +
- 'CONDITIONAL_OPERATOR' ) |
- SIZEOF ( QUERY ( ccf <* USEDIN( cfrwc , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'CONDITIONAL_CONCEPT_FEATURE.CONDITION' ) |
- NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CLASS' IN TYPEOF(gr\group_relationship.related_group)) OR
- NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT_CONCEPT_FEATURE_CATEGORY' IN TYPEOF(gr.related_group))
- OR NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'PRODUCT_DEFINITION_RELATIONSHIP.RELATED_PRODUCT_DEFINITION' ) |
- pdr.name = 'definition usage' ) ) <>1 ) AND
- ( SIZEOF ( QUERY ( cd <* USEDIN ( pd , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'CONFIGURATION_DESIGN.DESIGN' ) |
- ( cd.name = 'occurrence usage definition' ) AND
- ( NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'PRODUCT_IDENTIFICATION' IN TYPEOF( cd.configuration ) ) ) ) ) <>1 ) ) ) = 0;
- WR3 : SIZEOF ( QUERY ( pd <* part_occurrences |
- (SIZEOF ( QUERY ( cd <* USEDIN ( pd , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'PRODUCT_DEFINITION_RELATIONSHIP.RELATED_PRODUCT_DEFINITION' ) |
- ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +'PRODUCT_DEFINITION_USAGE' IN TYPEOF ( cd ) ) ) ) = 0 )AND
- ( SIZEOF ( USEDIN ( pd , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +'PROPERTY_DEFINITION.DEFINITION' ) |
- ( ppd.name ='occurrence quantity' ) AND
- ( SIZEOF ( QUERY ( pdr <*USEDIN ( ppd , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +'PRODUCT_DEFINITION_OCCURRENCE_RELATIONSHIP.OCCURRENCE' ) |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF' + '.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') |
- prpc.name = 'alternative solution')) = 0 ) )) = 0;
-END_RULE;
-
-RULE stock_material_reference FOR (percentage_ply_definition, make_from_usage_option, product_related_product_category);
- LOCAL
- i,j,k : INTEGER;
- dkuhr : LOGICAL;
- nmfuo : INTEGER;
- nprpc : INTEGER;
- rp : product;
- END_LOCAL;
- dkuhr := TRUE;
- REPEAT i:= LOINDEX (percentage_ply_definition) TO
- HIINDEX (percentage_ply_definition);
- nmfuo := 0;
- REPEAT j:= LOINDEX (make_from_usage_option) TO
- HIINDEX (make_from_usage_option);
- IF (percentage_ply_definition[i] =
- make_from_usage_option[j].relating_product_definition) THEN
- rp := make_from_usage_option[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
- ['anisotropic material', 'isotropic material', 'stock core',
- '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 = 0) THEN
- dkuhr := FALSE;
- ESCAPE;
- END_IF;
- END_REPEAT;
-WHERE
- WR1 : dkuhr;
-END_RULE;
-
-RULE styled_curve FOR (styled_item);
-
-WHERE
- WR1 : SIZEOF( QUERY( si <* styled_item | ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE' IN TYPEOF (si.item)) AND (SIZEOF (QUERY (psa <* si.styles | (SIZEOF (QUERY (cs <* psa.styles | ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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, ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANGULARITY_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CIRCULAR_RUNOUT_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COAXIALITY_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONCENTRICITY_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CYLINDRICITY_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FLATNESS_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LINE_PROFILE_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PARALLELISM_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PERPENDICULARITY_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POSITION_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ROUNDNESS_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STRAIGHTNESS_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_PROFILE_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SYMMETRY_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.TOTAL_RUNOUT_TOLERANCE'] , 3)))) = 0;
-END_RULE;
-
-RULE subtype_exclusiveness_representation_item FOR (representation_item);
-
-WHERE
- WR1 : SIZEOF(QUERY (cri <* representation_item |
- NOT (type_check_function(cri,['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MEASURE_REPRESENTATION_ITEM',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VALUE_REPRESENTATION_ITEM',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COMPOUND_REPRESENTATION_ITEM'] , 3)))) = 0;
-END_RULE;
-
-RULE subtype_mandatory_geometric_tolerance FOR (geometric_tolerance);
-
-WHERE
- WR1 : SIZEOF(QUERY (gt <* geometric_tolerance | NOT (type_check_function(gt, ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANGULARITY_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CIRCULAR_RUNOUT_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COAXIALITY_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONCENTRICITY_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CYLINDRICITY_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FLATNESS_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LINE_PROFILE_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PARALLELISM_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PERPENDICULARITY_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POSITION_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ROUNDNESS_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STRAIGHTNESS_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_PROFILE_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SYMMETRY_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.TOTAL_RUNOUT_TOLERANCE'] , 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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.TEXT_LITERAL.FONT')) = 0 )) = 0;
- WR2 : SIZEOF (QUERY (edtf <* externally_defined_text_font | SIZEOF (USEDIN (edtf, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.TEXT_LITERAL.FONT')) = 0 )) = 0;
-END_RULE;
-
-RULE thickness_laminate_table_component_select FOR (thickness_laminate_definition, next_assembly_usage_occurrence, product_related_product_category);
- LOCAL
- i,j,k : INTEGER;
- dkuhr : LOGICAL;
- nnauo : INTEGER;
- nprpc : INTEGER;
- rp : product;
- END_LOCAL;
- dkuhr := TRUE;
- REPEAT i:= LOINDEX (thickness_laminate_definition) TO
- HIINDEX (thickness_laminate_definition);
- nnauo := 0;
- REPEAT j:= LOINDEX (next_assembly_usage_occurrence) TO
- HIINDEX (next_assembly_usage_occurrence);
- IF (thickness_laminate_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', 'filament laminate', 'processed core'])) 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 <> 1) THEN
- dkuhr := FALSE;
- ESCAPE;
- END_IF;
- END_REPEAT;
-WHERE
- WR1 : dkuhr;
-END_RULE;
-
-RULE validate_dependently_instantiable_entity_data_types FOR (action_method_role, annotation_text, attribute_value_role, auxiliary_geometric_representation_item, binary_numeric_expression, boolean_expression, bounded_curve, bounded_surface, cartesian_transformation_operator, comparison_expression, concept_feature_relationship, concept_feature_relationship_with_condition, connected_edge_set, document_usage_constraint, edge_blended_solid, effectivity_context_role, event_occurrence_role, explicit_procedural_representation_item_relationship, expression, founded_item, generic_expression, generic_variable, indirectly_selected_elements, interval_expression, literal_number, local_time, loop, modified_solid_with_placed_configuration, multiple_arity_boolean_expression, multiple_arity_generic_expression, multiple_arity_numeric_expression, numeric_expression, one_direction_repeat_factor, oriented_open_shell, oriented_path, positioned_sketch, procedural_representation, procedural_representation_sequence, product_definition_context_role, product_definition_effectivity, runout_zone_orientation, simple_boolean_expression, simple_generic_expression, simple_numeric_expression, 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, tolerance_zone_form, two_direction_repeat_factor, unary_generic_expression, unary_numeric_expression, user_selected_elements, variational_representation_item, view_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 + annotation_text + attribute_value_role + auxiliary_geometric_representation_item + binary_numeric_expression + boolean_expression + bounded_curve + bounded_surface + cartesian_transformation_operator + comparison_expression + concept_feature_relationship + concept_feature_relationship_with_condition + connected_edge_set + document_usage_constraint + edge_blended_solid + effectivity_context_role + event_occurrence_role + explicit_procedural_representation_item_relationship + expression + founded_item + generic_expression + generic_variable + indirectly_selected_elements + interval_expression + literal_number + local_time + loop + modified_solid_with_placed_configuration + multiple_arity_boolean_expression + multiple_arity_generic_expression + multiple_arity_numeric_expression + numeric_expression + one_direction_repeat_factor + oriented_open_shell + oriented_path + positioned_sketch + procedural_representation + procedural_representation_sequence + product_definition_context_role + product_definition_effectivity + runout_zone_orientation + simple_boolean_expression + simple_generic_expression + simple_numeric_expression + 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 + tolerance_zone_form + two_direction_repeat_factor + unary_generic_expression + unary_numeric_expression + user_selected_elements + variational_representation_item + view_volume;--<make a union of all implicit populations of the FOR-clause>
-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 acyclic
- (arg1: generic_expression; arg2: SET [0:?] OF generic_expression) : BOOLEAN;
-LOCAL
- result: BOOLEAN := TRUE;
-END_LOCAL;
-
-IF ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SIMPLE_GENERIC_EXPRESSION'
- IN TYPEOF (arg1))
-THEN
- RETURN (TRUE);
-END_IF;
-
-IF arg1 IN arg2
-THEN
- RETURN (FALSE);
-END_IF;
-
-IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.UNARY_GENERIC_EXPRESSION'
- IN TYPEOF (arg1)
-THEN
- RETURN
- (acyclic(arg1\unary_generic_expression.operand,arg2+[arg1]));
-END_IF;
-
-IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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
-'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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;
-
-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 |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_TEXT',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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;
-
-FUNCTION acyclic_mapped_item_usage
- (rep: representation) : BOOLEAN;
- LOCAL
- items : SET OF representation_item;
- END_LOCAL;
-
- items := QUERY (item <* rep.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' IN TYPEOF (item));
- IF SIZEOF (items) = 0
- THEN
- RETURN (FALSE);
- ELSE
- REPEAT i := 1 TO HIINDEX (items);
- IF items[i]\mapped_item.mapping_source.mapped_representation :=: rep
- THEN
- RETURN (TRUE);
- ELSE
- RETURN (acyclic_mapped_item_usage(items[i]\
- mapped_item.mapping_source.mapped_representation));
- END_IF;
- END_REPEAT;
- RETURN (FALSE);
- END_IF;
-END_FUNCTION;
-
-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], 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.REPRESENTATION_MAP.MAPPED_REPRESENTATION'));
- IF SIZEOF(rms) > 0 THEN
- REPEAT j := 1 TO HIINDEX(rms);
- mis := bag_to_set(USEDIN(rms[i], 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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;
-
-FUNCTION acyclic_point_replica
- (rep: point_replica; parent: point) : BOOLEAN;
-IF NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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;
-
-FUNCTION acyclic_product_definition_relationship
- (relation: product_definition_relationship; relatives: SET [1:?] OF product_definition; 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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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;
-
-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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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;
-
-FUNCTION acyclic_solid_replica
- (rep: solid_replica; parent: solid_model) : BOOLEAN;
-IF NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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;
-
-FUNCTION acyclic_surface_replica
- (rep: surface_replica; parent: surface) : BOOLEAN;
-IF NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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;
-
-FUNCTION advanced_face_properties
- (testface: face) : BOOLEAN;
-IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SUBFACE' IN TYPEOF(testface)) THEN
- RETURN(advanced_face_properties(testface\subface.parent_face));
- ELSE RETURN (FALSE);
-END_IF;
-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 associated_surface
- (arg: pcurve_or_surface) : surface;
- LOCAL
- surf : surface;
- END_LOCAL;
-
- IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PCURVE' IN TYPEOF(arg) THEN
- surf := arg\pcurve.basis_surface;
- ELSE
- surf := arg;
- END_IF;
- RETURN(surf);
-END_FUNCTION;
-
-FUNCTION bag_to_set
- (the_bag: BAG [0:?] OF GENERIC: intype) : SET [0:?] 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;
-
-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;
-
-FUNCTION boolean_choose
- (b: BOOLEAN; choice1: GENERIC: item; 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,0.0]));
- END_LOCAL;
-
- RETURN([d, orthogonal_complement(d)]);
-END_FUNCTION;
-
-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;
-
-FUNCTION categories_of_product
- (obj: product) : SET [0:?] OF STRING;
-LOCAL
- category_assignments: BAG OF product_category;
- categories: SET OF STRING:=[];
-END_LOCAL;
-category_assignments := USEDIN(obj, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'CHANGE_REQUEST',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'START_REQUEST'] *
- TYPEOF (x)) = 1))
- THEN RETURN(FALSE);
- END_IF;
- 'initiator' : IF SIZEOF (e.items) <>
- SIZEOF (QUERY (x <* e.items |
- SIZEOF(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'CHANGE_REQUEST',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'START_REQUEST',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'START_WORK',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'CHANGE'] *
- TYPEOF (x)) = 1))
- THEN RETURN(FALSE);
- END_IF;
- 'creator' : IF SIZEOF (e.items) <>
- SIZEOF (QUERY (x <* e.items |
- SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'PRODUCT_DEFINITION_FORMATION',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'PRODUCT_DEFINITION'] *
- TYPEOF (x)) = 1))
- THEN RETURN (FALSE);
- END_IF;
- 'part_supplier' : IF SIZEOF (e.items) <>
- SIZEOF (QUERY (x <* e.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'PRODUCT_DEFINITION_FORMATION'
- IN TYPEOF (x)))
- THEN RETURN(FALSE);
- END_IF;
- 'design_supplier' : IF SIZEOF (e.items) <>
- SIZEOF (QUERY (x <* e.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'PRODUCT_DEFINITION_FORMATION'
- IN TYPEOF (x)))
- THEN RETURN(FALSE);
- END_IF;
- 'design_owner' : IF SIZEOF (e.items) <>
- SIZEOF (QUERY (x <* e.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT'
- IN TYPEOF (x)))
- THEN RETURN(FALSE);
- END_IF;
- 'configuration_manager' : IF SIZEOF (e.items) <>
- SIZEOF (QUERY (x <* e.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
- 'CONFIGURATION_ITEM'
- IN TYPEOF (x)))
- THEN RETURN(FALSE);
- END_IF;
- 'contractor' : IF SIZEOF (e.items) <>
- SIZEOF (QUERY (x <* e.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONTRACT'
- IN TYPEOF (x)))
- THEN RETURN(FALSE);
- END_IF;
- 'classification_officer' : IF SIZEOF (e.items) <>
- SIZEOF (QUERY (x <* e.items |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 [0:?] 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);
-END_FUNCTION;
-
-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;
-
-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;
-
-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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'CLASS_SYSTEM_ITEM'] * 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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT_DEFINITION_FORMATION', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 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;
-
-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;
- IF (NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PCURVE' IN
- TYPEOF(c\composite_curve.segments[k].parent_curve))) AND
- (NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_CURVE' IN
- TYPEOF(c\composite_curve.segments[k].parent_curve))) AND
- (NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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);
- IF (NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.OPEN_SHELL' IN
- TYPEOF(m.sbsm_boundary[j])) AND
- (NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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;
-
-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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.WIRE_SHELL' IN
- TYPEOF(m.sbwm_boundary[j])) AND
- (NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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;
-
-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;
-
-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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.B_SPLINE_SURFACE' IN TYPEOF
- (s.segments[i][j].parent_surface)) OR
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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;
-
-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;
-
-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;
-
-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;
-
-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 | (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i))
- AND (i\representation_item.name = 'significant number of digits')) )) = 1) OR
-((SIZEOF(QUERY ( i <* agg | (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND
- (i\representation_item.name = 'lower limit')) )) = 1) AND
-(SIZEOF( QUERY ( i <* agg | (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 | (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND
- (i\representation_item.name = 'plus minus tolerance value')) )) = 1) OR
-((SIZEOF(QUERY ( i <* agg | (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND (
- i\representation_item.name = 'lower tolerance value')) )) = 1) AND
-(SIZEOF( QUERY ( i <* agg | (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 | ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(i)) )) <= 1) AND
-(SIZEOF(QUERY ( i <* agg | ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(i)) )) =
- SIZEOF(QUERY ( i <* agg | (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 dependently_instantiated
- (set_of_input_instances: SET [0:?] OF GENERIC: igen; set_of_input_types: SET [0:?] OF STRING; previous_in_chain: LIST [0:?] 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);
- (* 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;
-
-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;
-
-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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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;
-
-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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CARTESIAN_POINT' IN TYPEOF(item) THEN
- dim := SIZEOF(item\cartesian_point.coordinates);
- RETURN(dim);
- END_IF;
- IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DIRECTION' IN TYPEOF(item) THEN
- dim := SIZEOF(item\direction.direction_ratios);
- RETURN(dim);
- END_IF;
- IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 since this is required by WR1 of
- -- representation_item.
- y := x[1].context_of_items;
- dim := y\geometric_representation_context.coordinate_space_dimension;
- RETURN (dim);
-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.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, 1.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;
-
-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;
-
-FUNCTION edge_reversed
- (an_edge: edge) : oriented_edge;
- LOCAL
- the_reverse : oriented_edge;
- END_LOCAL;
-
- IF ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 external_version_assignment_is_valid
- (aia: applied_external_identification_assignment) : BOOLEAN;
- LOCAL
- item: identification_item;
- role: identification_role;
- END_LOCAL;
- role:= aia.role;
- IF role.name='version' THEN
- REPEAT i:=LOINDEX(aia.items) TO HIINDEX(aia.items);
- item:= aia.items[i];
- IF (SIZEOF(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'EXTERNALLY_VERSIONED_ITEM']*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;
-
-FUNCTION face_bound_reversed
- (a_face_bound: face_bound) : face_bound;
- LOCAL
- the_reverse : face_bound ;
- END_LOCAL;
- IF ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 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;
-
-FUNCTION gbsf_check_curve
- (cv: representation_item) : BOOLEAN;
-IF SIZEOF(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.BOUNDED_CURVE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONIC', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_REPLICA', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LINE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.OFFSET_CURVE_3D'] * TYPEOF(cv)) > 1 THEN
- RETURN (FALSE);
- END_IF;
- IF SIZEOF(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CIRCLE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ELLIPSE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.TRIMMED_CURVE'] * TYPEOF(cv)) = 1 THEN
- RETURN (TRUE);
- ELSE
- IF (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_REPLICA' IN TYPEOF(cv) THEN
- RETURN (gbsf_check_curve(cv\curve_replica.parent_curve));
- ELSE
- IF (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POLYLINE' IN TYPEOF(cv\offset_curve_3d.basis_curve)))) THEN
- RETURN (gbsf_check_curve(cv\offset_curve_3d.basis_curve));
- ELSE
- IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POLYLINE' IN TYPEOF(cv) THEN
- IF (SIZEOF(cv\polyline.points) >= 3) THEN
- RETURN (TRUE);
- END_IF;
- ELSE
- IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CARTESIAN_POINT' IN TYPEOF(pnt) THEN
- RETURN (TRUE);
- ELSE
- IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT_ON_CURVE' IN TYPEOF(pnt) THEN
- RETURN (gbsf_check_curve(pnt\point_on_curve.basis_curve));
- ELSE
- IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT_ON_SURFACE' IN TYPEOF(pnt) THEN
- RETURN (gbsf_check_surface(pnt\point_on_surface.basis_surface));
- ELSE
- IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SPHERICAL_SURFACE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.TOROIDAL_SURFACE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_BOUNDED_SURFACE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.RECTANGULAR_TRIMMED_SURFACE'] * TYPEOF(sf)) = 1 THEN
- RETURN (TRUE);
- ELSE
- IF (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_REPLICA' IN TYPEOF(sf) THEN
- RETURN (gbsf_check_surface(sf\surface_replica.parent_surface));
- ELSE
- IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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_basis_surface
- (c: curve_on_surface) : SET [0:2] OF surface;
- LOCAL
- surfs : SET[0:2] OF surface;
- n : INTEGER;
- END_LOCAL;
- surfs := [];
- IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PCURVE' IN TYPEOF (c) THEN
- surfs := [c\pcurve.basis_surface];
- ELSE
- IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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;
-
-FUNCTION get_description_value
- (obj: description_attribute_select) : text;
- LOCAL
- description_bag : BAG OF description_attribute := (USEDIN(obj, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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_id_value
- (obj: id_attribute_select) : identifier;
- LOCAL
- id_bag : BAG OF id_attribute := (USEDIN(obj, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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_name_value
- (obj: name_attribute_select) : label;
- LOCAL
- name_bag : BAG OF name_attribute := (USEDIN(obj, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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_role
- (obj: role_select) : object_role;
- LOCAL
- role_bag : BAG OF role_association := (USEDIN(obj, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 [0:?] 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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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], 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'PROPERTY_DEFINITION_REPRESENTATION.' + 'DEFINITION') |
-'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHAPE_DEFINITION_REPRESENTATION' IN TYPEOF(pdr)));
-END_REPEAT;
-RETURN (pdr_set);
-END_FUNCTION;
-
-FUNCTION is_acyclic
- (arg: generic_expression) : BOOLEAN;
-RETURN (acyclic (arg, []));
-END_FUNCTION;
-
-FUNCTION is_int_expr
- (arg: numeric_expression) : LOGICAL;
-LOCAL
- i: INTEGER := 0;
-END_LOCAL;
-
-IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.INT_LITERAL' IN TYPEOF(arg)
-THEN
- RETURN (TRUE);
-END_IF;
-IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.REAL_LITERAL' IN TYPEOF(arg)
-THEN
- RETURN (FALSE);
-END_IF;
-IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.INT_NUMERIC_VARIABLE' IN TYPEOF(arg)
-THEN
- RETURN (TRUE);
-END_IF;
-IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.REAL_NUMERIC_VARIABLE' IN TYPEOF(arg)
-THEN
- RETURN (FALSE);
-END_IF;
-IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ABS_FUNCTION' IN TYPEOF(arg)
-THEN
- RETURN (is_int_expr(arg\unary_numeric_expression.operand));
-END_IF;
-IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MINUS_FUNCTION' IN TYPEOF(arg)
-THEN
- RETURN (is_int_expr(arg\unary_numeric_expression.operand));
-END_IF;
-IF ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SIN_FUNCTION' IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COS_FUNCTION' IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.TAN_FUNCTION' IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ASIN_FUNCTION' IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ACOS_FUNCTION' IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ATAN_FUNCTION' IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EXP_FUNCTION' IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LOG_FUNCTION' IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LOG2_FUNCTION' IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LOG10_FUNCTION' IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SQUARE_ROOT_FUNCTION'
- IN TYPEOF(arg))
-THEN
- RETURN (FALSE);
-END_IF;
-IF ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PLUS_EXPRESSION' IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MULT_EXPRESSION'
- IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAXIMUM_FUNCTION'
- IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MINUS_EXPRESSION' IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DIV_EXPRESSION' IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MOD_EXPRESSION' IN TYPEOF(arg))
-THEN
- RETURN(TRUE);
-END_IF;
-IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SLASH_EXPRESSION' IN TYPEOF(arg)
-THEN
- RETURN (FALSE);
-END_IF;
-IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LENGTH_FUNCTION' IN TYPEOF(arg)
-THEN
- RETURN (TRUE);
-END_IF;
-IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VALUE_FUNCTION' IN TYPEOF(arg)
-THEN
- IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.INT_VALUE_FUNCTION'
- IN TYPEOF(arg)
- THEN
- RETURN (TRUE);
- ELSE
- RETURN (FALSE);
- END_IF;
-END_IF;
-IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.INTEGER_DEFINED_FUNCTION'
- IN TYPEOF(arg)
-THEN
- RETURN(TRUE) ;
-END_IF;
-IF'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.REAL_DEFINED_FUNCTION' IN TYPEOF(arg)
-THEN
- RETURN(FALSE) ;
-END_IF ;
-IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.BOOLEAN_DEFINED_FUNCTION'
- IN TYPEOF(arg)
-THEN
- RETURN(FALSE) ;
-END_IF ;
-IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STRING_DEFINED_FUNCTION'
- IN TYPEOF(arg)
-THEN
- RETURN (FALSE) ;
-END_IF ;
-
-RETURN (FALSE);
-END_FUNCTION;
-
-FUNCTION is_SQL_mappable
- (arg: expression) : LOGICAL;
-LOCAL
- i: INTEGER;
-END_LOCAL;
-
-IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SIMPLE_NUMERIC_EXPRESSION'
- IN TYPEOF (arg)
-THEN
- RETURN (TRUE);
-END_IF;
-IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SQL_MAPPABLE_DEFINED_FUNCTION'
- IN TYPEOF (arg)
-THEN
- RETURN (TRUE);
-END_IF;
-IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MINUS_FUNCTION' IN TYPEOF(arg)
-THEN
- RETURN (is_SQL_mappable(arg\unary_numeric_expression.operand));
-END_IF;
-IF ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ABS_FUNCTION' IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SIN_FUNCTION' IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COS_FUNCTION' IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.TAN_FUNCTION' IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ASIN_FUNCTION' IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ACOS_FUNCTION' IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ATAN_FUNCTION' IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EXP_FUNCTION' IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LOG_FUNCTION' IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LOG2_FUNCTION' IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LOG10_FUNCTION' IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SQUARE_ROOT_FUNCTION'
- IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VALUE_FUNCTION' IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LENGTH_FUNCTION'
- IN TYPEOF(arg))
-THEN
- RETURN (FALSE);
-END_IF;
-IF ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PLUS_EXPRESSION' IN TYPEOF(arg))
- OR('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MULT_EXPRESSION' IN TYPEOF(arg))
- OR('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAXIMUM_FUNCTION'
- IN TYPEOF(arg))
- OR('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MINUS_EXPRESSION' IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DIV_EXPRESSION' IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MOD_EXPRESSION' IN TYPEOF(arg))
- OR('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POWER_EXPRESSION'
- IN TYPEOF(arg))
-THEN
- RETURN (FALSE);
-END_IF;
-IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SIMPLE_BOOLEAN_EXPRESSION'
- IN TYPEOF (arg)
-THEN
- RETURN (TRUE);
-END_IF;
-IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.NOT_EXPRESSION' IN TYPEOF (arg)
-THEN
- RETURN (is_SQL_mappable (arg\UNARY_GENERIC_EXPRESSION.OPERAND));
-END_IF;
-IF ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ODD_FUNCTION'IN TYPEOF (arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.XOR_EXPRESSION'
- IN TYPEOF (arg))
-THEN
- RETURN (FALSE);
-END_IF;
-IF ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AND_EXPRESSION' IN TYPEOF (arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COMPARISON_EQUAL' IN TYPEOF (arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COMPARISON_GREATER'
- IN TYPEOF (arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COMPARISON_GREATER_EQUAL'
- IN TYPEOF (arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COMPARISON_LESS'
- IN TYPEOF (arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COMPARISON_LESS_EQUAL'
- IN TYPEOF (arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COMPARISON_NOT_EQUAL'
- IN TYPEOF (arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.NUMERIC_DEFINED_FUNCTION'
- IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.BOOLEAN_DEFINED_FUNCTION'
- IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STRING_DEFINED_FUNCTION'
- IN TYPEOF(arg))
-THEN
- RETURN (FALSE) ;
-END_IF;
-
-IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SIMPLE_STRING_EXPRESSION'
- IN TYPEOF(ARG)
-THEN
- RETURN (TRUE);
-END_IF;
-IF ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.INDEX_EXPRESSION' IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SUBSTRING_EXPRESSION'
- IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONCAT_EXPRESSION'
- IN TYPEOF(arg))
- OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 there is one or more representation using both the item
- -- and cntxt return true.
- IF SIZEOF(USEDIN(item,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 , '') |
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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;
-
-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);
- 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);
- the_reverse := topology_reversed (a_list [i]) + the_reverse;
- END_REPEAT;
-
- RETURN (the_reverse);
-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] : n];
- REPEAT i := 2 TO n;
- 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 [0:?] 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;
-
-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;
-
-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 := ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POLY_LOOP' IN TYPEOF(l[1]));
- REPEAT i := 2 TO SIZEOF(l);
- IF(('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.BOUNDED_CURVE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONIC',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_REPLICA', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LINE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.OFFSET_CURVE_3D'] * TYPEOF(cv)) > 1 THEN
- RETURN(FALSE);
-END_IF;
-
-(* b_spline_curves shall not self-intersect
- *)
-IF (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONIC', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LINE']
- * TYPEOF (cv)) = 1 THEN
- RETURN(TRUE);
- ELSE
-
- (* a curve_replica shall reference a valid curve
- *)
- IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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;
-
-FUNCTION msf_surface_check
- (surf: surface) : BOOLEAN;
-IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ELEMENTARY_SURFACE' IN TYPEOF(surf) THEN
- RETURN(TRUE);
- ELSE
-
- (* a swept_surface shall have a valid sweeping curve
- *)
- IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.BOUNDED_CURVE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONIC',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_REPLICA',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LINE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.OFFSET_CURVE_3D'] * TYPEOF(cv)) > 1
- THEN RETURN(FALSE);
- ELSE
-
- (* b_spline_curves shall not self-intersect
- *)
- IF (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONIC',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LINE'] * TYPEOF (cv)) = 1 THEN
- RETURN(TRUE);
- ELSE
-
- (* a curve_replica shall reference a valid curve
- *)
- IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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;
-
-FUNCTION nmsf_surface_check
- (surf: surface) : BOOLEAN;
-IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ELEMENTARY_SURFACE' IN TYPEOF(surf) THEN
- RETURN(TRUE);
- ELSE
-
- (* a swept_surface shall have a valid sweeping curve
- *)
- IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 normalise
- (arg: vector_or_direction) : vector_or_direction;
- LOCAL
- ndim : INTEGER;
- v : direction;
- result : vector_or_direction;
- vec : vector;
- 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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VECTOR' IN TYPEOF(arg) THEN
- BEGIN
- v := dummy_gri || direction(arg\vector.orientation.direction_ratios);
- IF arg.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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 open_shell_reversed
- (a_shell: open_shell) : oriented_open_shell;
- LOCAL
- the_reverse : oriented_open_shell;
- END_LOCAL;
- IF ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 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;
-
-FUNCTION path_reversed
- (a_path: path) : oriented_path;
- LOCAL
- the_reverse : oriented_path ;
- END_LOCAL;
- IF ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VECTOR' IN TYPEOF (vec) THEN
- v := dummy_gri || direction(vec\vector.orientation.direction_ratios);
- mag := scalar * vec.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;
-
-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;
-
-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;
-
-FUNCTION shell_reversed
- (a_shell: shell) : shell;
-IF ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.OPEN_SHELL' IN TYPEOF (a_shell) ) THEN
- RETURN (open_shell_reversed (a_shell));
- ELSE
- IF ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CLOSED_SHELL' IN TYPEOF (a_shell) ) THEN
- RETURN (closed_shell_reversed (a_shell));
- ELSE
- RETURN (?);
- END_IF;
- END_IF;
-END_FUNCTION;
-
-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;
-
-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;
-
-FUNCTION topology_reversed
- (an_item: reversible_topology) : reversible_topology;
-IF ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE' IN TYPEOF (an_item)) THEN
- RETURN (edge_reversed (an_item));
- END_IF;
-
- IF ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PATH' IN TYPEOF (an_item)) THEN
- RETURN (path_reversed (an_item));
- END_IF;
-
- IF ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FACE_BOUND' IN TYPEOF (an_item)) THEN
- RETURN (face_bound_reversed (an_item));
- END_IF;
-
- IF ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FACE' IN TYPEOF (an_item)) THEN
- RETURN (face_reversed (an_item));
- END_IF;
-
- IF ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 [0:?] OF STRING; criterion: INTEGER) : LOGICAL;
-IF ((NOT EXISTS(the_type)) OR (NOT ({0 <= criterion <= 3})) 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);
- END_CASE;
- END_IF;
-END_FUNCTION;
-
-FUNCTION using_items
- (item: founded_item_select; checked_items: SET [0:?] OF founded_item_select) : SET [0:?] 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 , '')) |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.REPRESENTATION_ITEM' IN TYPEOF(z)) OR
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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;
-
-FUNCTION using_representations
- (item: founded_item_select) : SET [0:?] 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,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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],
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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;
-
-FUNCTION valid_basis_curve_in_2d_wireframe
- (crv: curve) : BOOLEAN;
-IF SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POLYLINE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.B_SPLINE_CURVE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ELLIPSE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CIRCLE'] *
- TYPEOF (crv)) = 1
- THEN RETURN (TRUE);
- ELSE
- -- if the curve is a trimmed_curve
- IF (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.TRIMMED_CURVE')
- IN TYPEOF (crv)) THEN
- -- if a line, parabola, or hyperbola is being trimmed, then valid
- IF SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LINE',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PARABOLA',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 <= 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;
-
-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 |
-('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN
-TYPEOF(rep)));
-
-
-IF (SIZEOF( QUERY( srwp <* parameter_representations |
- (SIZEOF( QUERY( i <* srwp.items |
- (i.name='orientation') AND
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MEASURE_REPRESENTATION_ITEM',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MEASURE_REPRESENTATION_ITEM',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MEASURE_REPRESENTATION_ITEM',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MEASURE_REPRESENTATION_ITEM',
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 ([ 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POLYLINE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.B_SPLINE_CURVE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ELLIPSE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CIRCLE' ] * TYPEOF (crv)) = 1 THEN
- RETURN (TRUE);
- ELSE
- IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.TRIMMED_CURVE' IN TYPEOF (crv) THEN
- IF SIZEOF ([ 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LINE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PARABOLA', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.OFFSET_CURVE_3D' IN TYPEOF (crv) THEN
- RETURN (valid_geometrically_bounded_wf_curve(crv\offset_curve_3d.basis_curve));
- ELSE
- IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_REPLICA' IN TYPEOF (crv) THEN
- RETURN (valid_geometrically_bounded_wf_curve(crv\curve_replica.parent_curve));
- ELSE
- IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CARTESIAN_POINT' IN TYPEOF (pnt) THEN
- RETURN (TRUE);
- ELSE
- IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT_ON_CURVE' IN TYPEOF (pnt) THEN
- RETURN (valid_geometrically_bounded_wf_curve(pnt\point_on_curve.basis_curve));
- ELSE
- IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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.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 ,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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] , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MEASURE_REPRESENTATION_ITEM' ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.QUALIFIED_REPRESENTATION_ITEM' ,
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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, 1.0, 0.0, 0.0, 0.0 ) THEN
- RETURN (FALSE);
- END_IF;
- END_IF;
- IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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;
-
-FUNCTION valid_wireframe_edge_curve
- (crv: curve) : BOOLEAN;
-IF SIZEOF ([ 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LINE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONIC', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.B_SPLINE_CURVE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POLYLINE' ] * TYPEOF (crv)) = 1 THEN
- RETURN (TRUE);
- ELSE
- IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_REPLICA' IN TYPEOF (crv) THEN
- RETURN (valid_wireframe_edge_curve(crv\curve_replica.parent_curve));
- ELSE
- IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CARTESIAN_POINT' IN TYPEOF (pnt) THEN
- RETURN (TRUE);
- ELSE
- IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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_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;
-
-FUNCTION value_range_aggregate_rep_item
- (agg: AGGREGATE OF representation_item) : BOOLEAN;
-BEGIN
- IF (SIZEOF(QUERY(i1 <* agg | ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 | (
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF
- (i1)))) = 2) OR
- (SIZEOF(QUERY (i2 <* agg | (
- 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF (i1)) AND
- (SIZEOF (QUERY (i2 <* agg |
- ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_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 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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VECTOR' IN TYPEOF(arg1) THEN
- mag1 := arg1.magnitude;
- vec1 := arg1\vector.orientation;
- ELSE
- mag1 := 1.0;
- vec1 := arg1;
- END_IF;
- IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VECTOR' IN TYPEOF(arg2) THEN
- mag2 := arg2.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;
-
-END_SCHEMA;
-
diff --git a/libs/assimp/scripts/StepImporter/schema_ifc2x3.exp b/libs/assimp/scripts/StepImporter/schema_ifc2x3.exp
deleted file mode 100644
index ae978a6..0000000
--- a/libs/assimp/scripts/StepImporter/schema_ifc2x3.exp
+++ /dev/null
@@ -1,9571 +0,0 @@
-(*
-Copyright by:
-International Alliance for Interoperability, 1996-2005
-
-All rights reserved. No part of this documentation may be
-reproduced, stored in a retrieval system, or transmitted
-in any form or by any means, without the prior written
-permission of the owner.
-
-Contents:
-full IFC object model EXPRESS definitions for the IFC2x Edition 3 final version
-
-
-- express longform distribution
-- compiled for EXPRESS version 1 technical corrigendum 2
-
-Issue date:
-December 15, 2005
-
-Development Team:
-Modeling Support Group of the
-International Alliance for Interoperability
-compiled by Thomas Liebich tl@aec3.com
-*)
-SCHEMA IFC2X3;
-
-TYPE IfcAbsorbedDoseMeasure = REAL;
-END_TYPE;
-
-TYPE IfcAccelerationMeasure = REAL;
-END_TYPE;
-
-TYPE IfcAmountOfSubstanceMeasure = REAL;
-END_TYPE;
-
-TYPE IfcAngularVelocityMeasure = REAL;
-END_TYPE;
-
-TYPE IfcAreaMeasure = REAL;
-END_TYPE;
-
-TYPE IfcBoolean = BOOLEAN;
-END_TYPE;
-
-TYPE IfcBoxAlignment = IfcLabel;
- WHERE
- WR1 : SELF IN ['top-left', 'top-middle', 'top-right', 'middle-left', 'center', 'middle-right', 'bottom-left', 'bottom-middle', 'bottom-right'];
-END_TYPE;
-
-TYPE IfcComplexNumber = ARRAY [1:2] OF REAL;
-END_TYPE;
-
-TYPE IfcCompoundPlaneAngleMeasure = LIST [3:3] OF INTEGER;
- WHERE
- WR1 : { -360 <= SELF[1] < 360 };
- WR2 : { -60 <= SELF[2] < 60 };
- WR3 : { -60 <= SELF[3] < 60 };
- WR4 : ((SELF[1] >= 0) AND (SELF[2] >= 0) AND (SELF[3] >= 0)) OR ((SELF[1] <= 0) AND (SELF[2] <= 0) AND (SELF[3] <= 0));
-END_TYPE;
-
-TYPE IfcContextDependentMeasure = REAL;
-END_TYPE;
-
-TYPE IfcCountMeasure = NUMBER;
-END_TYPE;
-
-TYPE IfcCurvatureMeasure = REAL;
-END_TYPE;
-
-TYPE IfcDayInMonthNumber = INTEGER;
-END_TYPE;
-
-TYPE IfcDaylightSavingHour = INTEGER;
- WHERE
- WR1 : { 0 <= SELF <= 2 };
-END_TYPE;
-
-TYPE IfcDescriptiveMeasure = STRING;
-END_TYPE;
-
-TYPE IfcDimensionCount = INTEGER;
- WHERE
- WR1 : { 0 < SELF <= 3 };
-END_TYPE;
-
-TYPE IfcDoseEquivalentMeasure = REAL;
-END_TYPE;
-
-TYPE IfcDynamicViscosityMeasure = REAL;
-END_TYPE;
-
-TYPE IfcElectricCapacitanceMeasure = REAL;
-END_TYPE;
-
-TYPE IfcElectricChargeMeasure = REAL;
-END_TYPE;
-
-TYPE IfcElectricConductanceMeasure = REAL;
-END_TYPE;
-
-TYPE IfcElectricCurrentMeasure = REAL;
-END_TYPE;
-
-TYPE IfcElectricResistanceMeasure = REAL;
-END_TYPE;
-
-TYPE IfcElectricVoltageMeasure = REAL;
-END_TYPE;
-
-TYPE IfcEnergyMeasure = REAL;
-END_TYPE;
-
-TYPE IfcFontStyle = STRING;
- WHERE
- WR1 : SELF IN ['normal','italic','oblique'];
-END_TYPE;
-
-TYPE IfcFontVariant = STRING;
- WHERE
- WR1 : SELF IN ['normal','small-caps'];
-END_TYPE;
-
-TYPE IfcFontWeight = STRING;
- WHERE
- WR1 : SELF IN ['normal','small-caps','100','200','300','400','500','600','700','800','900'];
-END_TYPE;
-
-TYPE IfcForceMeasure = REAL;
-END_TYPE;
-
-TYPE IfcFrequencyMeasure = REAL;
-END_TYPE;
-
-TYPE IfcGloballyUniqueId = STRING(22) FIXED;
-END_TYPE;
-
-TYPE IfcHeatFluxDensityMeasure = REAL;
-END_TYPE;
-
-TYPE IfcHeatingValueMeasure = REAL;
- WHERE
- WR1 : SELF > 0.;
-END_TYPE;
-
-TYPE IfcHourInDay = INTEGER;
- WHERE
- WR1 : { 0 <= SELF < 24 };
-END_TYPE;
-
-TYPE IfcIdentifier = STRING;
-END_TYPE;
-
-TYPE IfcIlluminanceMeasure = REAL;
-END_TYPE;
-
-TYPE IfcInductanceMeasure = REAL;
-END_TYPE;
-
-TYPE IfcInteger = INTEGER;
-END_TYPE;
-
-TYPE IfcIntegerCountRateMeasure = INTEGER;
-END_TYPE;
-
-TYPE IfcIonConcentrationMeasure = REAL;
-END_TYPE;
-
-TYPE IfcIsothermalMoistureCapacityMeasure = REAL;
-END_TYPE;
-
-TYPE IfcKinematicViscosityMeasure = REAL;
-END_TYPE;
-
-TYPE IfcLabel = STRING;
-END_TYPE;
-
-TYPE IfcLengthMeasure = REAL;
-END_TYPE;
-
-TYPE IfcLinearForceMeasure = REAL;
-END_TYPE;
-
-TYPE IfcLinearMomentMeasure = REAL;
-END_TYPE;
-
-TYPE IfcLinearStiffnessMeasure = REAL;
-END_TYPE;
-
-TYPE IfcLinearVelocityMeasure = REAL;
-END_TYPE;
-
-TYPE IfcLogical = LOGICAL;
-END_TYPE;
-
-TYPE IfcLuminousFluxMeasure = REAL;
-END_TYPE;
-
-TYPE IfcLuminousIntensityDistributionMeasure = REAL;
-END_TYPE;
-
-TYPE IfcLuminousIntensityMeasure = REAL;
-END_TYPE;
-
-TYPE IfcMagneticFluxDensityMeasure = REAL;
-END_TYPE;
-
-TYPE IfcMagneticFluxMeasure = REAL;
-END_TYPE;
-
-TYPE IfcMassDensityMeasure = REAL;
-END_TYPE;
-
-TYPE IfcMassFlowRateMeasure = REAL;
-END_TYPE;
-
-TYPE IfcMassMeasure = REAL;
-END_TYPE;
-
-TYPE IfcMassPerLengthMeasure = REAL;
-END_TYPE;
-
-TYPE IfcMinuteInHour = INTEGER;
- WHERE
- WR1 : {0 <= SELF <= 59 };
-END_TYPE;
-
-TYPE IfcModulusOfElasticityMeasure = REAL;
-END_TYPE;
-
-TYPE IfcModulusOfLinearSubgradeReactionMeasure = REAL;
-END_TYPE;
-
-TYPE IfcModulusOfRotationalSubgradeReactionMeasure = REAL;
-END_TYPE;
-
-TYPE IfcModulusOfSubgradeReactionMeasure = REAL;
-END_TYPE;
-
-TYPE IfcMoistureDiffusivityMeasure = REAL;
-END_TYPE;
-
-TYPE IfcMolecularWeightMeasure = REAL;
-END_TYPE;
-
-TYPE IfcMomentOfInertiaMeasure = REAL;
-END_TYPE;
-
-TYPE IfcMonetaryMeasure = REAL;
-END_TYPE;
-
-TYPE IfcMonthInYearNumber = INTEGER;
- WHERE
- WR1 : { 1<= SELF <= 12 };
-END_TYPE;
-
-TYPE IfcNormalisedRatioMeasure = IfcRatioMeasure;
- WHERE
- WR1 : {0.0 <= SELF <= 1.0};
-END_TYPE;
-
-TYPE IfcNumericMeasure = NUMBER;
-END_TYPE;
-
-TYPE IfcPHMeasure = REAL;
- WHERE
- WR21 : {0.0 <= SELF <= 14.0};
-END_TYPE;
-
-TYPE IfcParameterValue = REAL;
-END_TYPE;
-
-TYPE IfcPlanarForceMeasure = REAL;
-END_TYPE;
-
-TYPE IfcPlaneAngleMeasure = REAL;
-END_TYPE;
-
-TYPE IfcPositiveLengthMeasure = IfcLengthMeasure;
- WHERE
- WR1 : SELF > 0.;
-END_TYPE;
-
-TYPE IfcPositivePlaneAngleMeasure = IfcPlaneAngleMeasure;
- WHERE
- WR1 : SELF > 0.;
-END_TYPE;
-
-TYPE IfcPositiveRatioMeasure = IfcRatioMeasure;
- WHERE
- WR1 : SELF > 0.;
-END_TYPE;
-
-TYPE IfcPowerMeasure = REAL;
-END_TYPE;
-
-TYPE IfcPresentableText = STRING;
-END_TYPE;
-
-TYPE IfcPressureMeasure = REAL;
-END_TYPE;
-
-TYPE IfcRadioActivityMeasure = REAL;
-END_TYPE;
-
-TYPE IfcRatioMeasure = REAL;
-END_TYPE;
-
-TYPE IfcReal = REAL;
-END_TYPE;
-
-TYPE IfcRotationalFrequencyMeasure = REAL;
-END_TYPE;
-
-TYPE IfcRotationalMassMeasure = REAL;
-END_TYPE;
-
-TYPE IfcRotationalStiffnessMeasure = REAL;
-END_TYPE;
-
-TYPE IfcSecondInMinute = REAL;
- WHERE
- WR1 : { 0. <= SELF < 60. };
-END_TYPE;
-
-TYPE IfcSectionModulusMeasure = REAL;
-END_TYPE;
-
-TYPE IfcSectionalAreaIntegralMeasure = REAL;
-END_TYPE;
-
-TYPE IfcShearModulusMeasure = REAL;
-END_TYPE;
-
-TYPE IfcSolidAngleMeasure = REAL;
-END_TYPE;
-
-TYPE IfcSoundPowerMeasure = REAL;
-END_TYPE;
-
-TYPE IfcSoundPressureMeasure = REAL;
-END_TYPE;
-
-TYPE IfcSpecificHeatCapacityMeasure = REAL;
-END_TYPE;
-
-TYPE IfcSpecularExponent = REAL;
-END_TYPE;
-
-TYPE IfcSpecularRoughness = REAL;
- WHERE
- WR1 : {0.0 <= SELF <= 1.0};
-END_TYPE;
-
-TYPE IfcTemperatureGradientMeasure = REAL;
-END_TYPE;
-
-TYPE IfcText = STRING;
-END_TYPE;
-
-TYPE IfcTextAlignment = STRING;
- WHERE
- WR1 : SELF IN ['left', 'right', 'center', 'justify'];
-END_TYPE;
-
-TYPE IfcTextDecoration = STRING;
- WHERE
- WR1 : SELF IN ['none', 'underline', 'overline', 'line-through', 'blink'];
-END_TYPE;
-
-TYPE IfcTextFontName = STRING;
-END_TYPE;
-
-TYPE IfcTextTransformation = STRING;
- WHERE
- WR1 : SELF IN ['capitalize', 'uppercase', 'lowercase', 'none'];
-END_TYPE;
-
-TYPE IfcThermalAdmittanceMeasure = REAL;
-END_TYPE;
-
-TYPE IfcThermalConductivityMeasure = REAL;
-END_TYPE;
-
-TYPE IfcThermalExpansionCoefficientMeasure = REAL;
-END_TYPE;
-
-TYPE IfcThermalResistanceMeasure = REAL;
-END_TYPE;
-
-TYPE IfcThermalTransmittanceMeasure = REAL;
-END_TYPE;
-
-TYPE IfcThermodynamicTemperatureMeasure = REAL;
-END_TYPE;
-
-TYPE IfcTimeMeasure = REAL;
-END_TYPE;
-
-TYPE IfcTimeStamp = INTEGER;
-END_TYPE;
-
-TYPE IfcTorqueMeasure = REAL;
-END_TYPE;
-
-TYPE IfcVaporPermeabilityMeasure = REAL;
-END_TYPE;
-
-TYPE IfcVolumeMeasure = REAL;
-END_TYPE;
-
-TYPE IfcVolumetricFlowRateMeasure = REAL;
-END_TYPE;
-
-TYPE IfcWarpingConstantMeasure = REAL;
-END_TYPE;
-
-TYPE IfcWarpingMomentMeasure = REAL;
-END_TYPE;
-
-TYPE IfcYearNumber = INTEGER;
-END_TYPE;
-
-TYPE IfcActionSourceTypeEnum = ENUMERATION OF
- (DEAD_LOAD_G
- ,COMPLETION_G1
- ,LIVE_LOAD_Q
- ,SNOW_S
- ,WIND_W
- ,PRESTRESSING_P
- ,SETTLEMENT_U
- ,TEMPERATURE_T
- ,EARTHQUAKE_E
- ,FIRE
- ,IMPULSE
- ,IMPACT
- ,TRANSPORT
- ,ERECTION
- ,PROPPING
- ,SYSTEM_IMPERFECTION
- ,SHRINKAGE
- ,CREEP
- ,LACK_OF_FIT
- ,BUOYANCY
- ,ICE
- ,CURRENT
- ,WAVE
- ,RAIN
- ,BRAKES
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcActionTypeEnum = ENUMERATION OF
- (PERMANENT_G
- ,VARIABLE_Q
- ,EXTRAORDINARY_A
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcActuatorTypeEnum = ENUMERATION OF
- (ELECTRICACTUATOR
- ,HANDOPERATEDACTUATOR
- ,HYDRAULICACTUATOR
- ,PNEUMATICACTUATOR
- ,THERMOSTATICACTUATOR
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcAddressTypeEnum = ENUMERATION OF
- (OFFICE
- ,SITE
- ,HOME
- ,DISTRIBUTIONPOINT
- ,USERDEFINED);
-END_TYPE;
-
-TYPE IfcAheadOrBehind = ENUMERATION OF
- (AHEAD
- ,BEHIND);
-END_TYPE;
-
-TYPE IfcAirTerminalBoxTypeEnum = ENUMERATION OF
- (CONSTANTFLOW
- ,VARIABLEFLOWPRESSUREDEPENDANT
- ,VARIABLEFLOWPRESSUREINDEPENDANT
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcAirTerminalTypeEnum = ENUMERATION OF
- (GRILLE
- ,REGISTER
- ,DIFFUSER
- ,EYEBALL
- ,IRIS
- ,LINEARGRILLE
- ,LINEARDIFFUSER
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcAirToAirHeatRecoveryTypeEnum = ENUMERATION OF
- (FIXEDPLATECOUNTERFLOWEXCHANGER
- ,FIXEDPLATECROSSFLOWEXCHANGER
- ,FIXEDPLATEPARALLELFLOWEXCHANGER
- ,ROTARYWHEEL
- ,RUNAROUNDCOILLOOP
- ,HEATPIPE
- ,TWINTOWERENTHALPYRECOVERYLOOPS
- ,THERMOSIPHONSEALEDTUBEHEATEXCHANGERS
- ,THERMOSIPHONCOILTYPEHEATEXCHANGERS
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcAlarmTypeEnum = ENUMERATION OF
- (BELL
- ,BREAKGLASSBUTTON
- ,LIGHT
- ,MANUALPULLBOX
- ,SIREN
- ,WHISTLE
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcAnalysisModelTypeEnum = ENUMERATION OF
- (IN_PLANE_LOADING_2D
- ,OUT_PLANE_LOADING_2D
- ,LOADING_3D
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcAnalysisTheoryTypeEnum = ENUMERATION OF
- (FIRST_ORDER_THEORY
- ,SECOND_ORDER_THEORY
- ,THIRD_ORDER_THEORY
- ,FULL_NONLINEAR_THEORY
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcArithmeticOperatorEnum = ENUMERATION OF
- (ADD
- ,DIVIDE
- ,MULTIPLY
- ,SUBTRACT);
-END_TYPE;
-
-TYPE IfcAssemblyPlaceEnum = ENUMERATION OF
- (SITE
- ,FACTORY
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcBSplineCurveForm = ENUMERATION OF
- (POLYLINE_FORM
- ,CIRCULAR_ARC
- ,ELLIPTIC_ARC
- ,PARABOLIC_ARC
- ,HYPERBOLIC_ARC
- ,UNSPECIFIED);
-END_TYPE;
-
-TYPE IfcBeamTypeEnum = ENUMERATION OF
- (BEAM
- ,JOIST
- ,LINTEL
- ,T_BEAM
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcBenchmarkEnum = ENUMERATION OF
- (GREATERTHAN
- ,GREATERTHANOREQUALTO
- ,LESSTHAN
- ,LESSTHANOREQUALTO
- ,EQUALTO
- ,NOTEQUALTO);
-END_TYPE;
-
-TYPE IfcBoilerTypeEnum = ENUMERATION OF
- (WATER
- ,STEAM
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcBooleanOperator = ENUMERATION OF
- (UNION
- ,INTERSECTION
- ,DIFFERENCE);
-END_TYPE;
-
-TYPE IfcBuildingElementProxyTypeEnum = ENUMERATION OF
- (USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcCableCarrierFittingTypeEnum = ENUMERATION OF
- (BEND
- ,CROSS
- ,REDUCER
- ,TEE
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcCableCarrierSegmentTypeEnum = ENUMERATION OF
- (CABLELADDERSEGMENT
- ,CABLETRAYSEGMENT
- ,CABLETRUNKINGSEGMENT
- ,CONDUITSEGMENT
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcCableSegmentTypeEnum = ENUMERATION OF
- (CABLESEGMENT
- ,CONDUCTORSEGMENT
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcChangeActionEnum = ENUMERATION OF
- (NOCHANGE
- ,MODIFIED
- ,ADDED
- ,DELETED
- ,MODIFIEDADDED
- ,MODIFIEDDELETED);
-END_TYPE;
-
-TYPE IfcChillerTypeEnum = ENUMERATION OF
- (AIRCOOLED
- ,WATERCOOLED
- ,HEATRECOVERY
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcCoilTypeEnum = ENUMERATION OF
- (DXCOOLINGCOIL
- ,WATERCOOLINGCOIL
- ,STEAMHEATINGCOIL
- ,WATERHEATINGCOIL
- ,ELECTRICHEATINGCOIL
- ,GASHEATINGCOIL
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcColumnTypeEnum = ENUMERATION OF
- (COLUMN
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcCompressorTypeEnum = ENUMERATION OF
- (DYNAMIC
- ,RECIPROCATING
- ,ROTARY
- ,SCROLL
- ,TROCHOIDAL
- ,SINGLESTAGE
- ,BOOSTER
- ,OPENTYPE
- ,HERMETIC
- ,SEMIHERMETIC
- ,WELDEDSHELLHERMETIC
- ,ROLLINGPISTON
- ,ROTARYVANE
- ,SINGLESCREW
- ,TWINSCREW
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcCondenserTypeEnum = ENUMERATION OF
- (WATERCOOLEDSHELLTUBE
- ,WATERCOOLEDSHELLCOIL
- ,WATERCOOLEDTUBEINTUBE
- ,WATERCOOLEDBRAZEDPLATE
- ,AIRCOOLED
- ,EVAPORATIVECOOLED
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcConnectionTypeEnum = ENUMERATION OF
- (ATPATH
- ,ATSTART
- ,ATEND
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcConstraintEnum = ENUMERATION OF
- (HARD
- ,SOFT
- ,ADVISORY
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcControllerTypeEnum = ENUMERATION OF
- (FLOATING
- ,PROPORTIONAL
- ,PROPORTIONALINTEGRAL
- ,PROPORTIONALINTEGRALDERIVATIVE
- ,TIMEDTWOPOSITION
- ,TWOPOSITION
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcCooledBeamTypeEnum = ENUMERATION OF
- (ACTIVE
- ,PASSIVE
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcCoolingTowerTypeEnum = ENUMERATION OF
- (NATURALDRAFT
- ,MECHANICALINDUCEDDRAFT
- ,MECHANICALFORCEDDRAFT
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcCostScheduleTypeEnum = ENUMERATION OF
- (BUDGET
- ,COSTPLAN
- ,ESTIMATE
- ,TENDER
- ,PRICEDBILLOFQUANTITIES
- ,UNPRICEDBILLOFQUANTITIES
- ,SCHEDULEOFRATES
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcCoveringTypeEnum = ENUMERATION OF
- (CEILING
- ,FLOORING
- ,CLADDING
- ,ROOFING
- ,INSULATION
- ,MEMBRANE
- ,SLEEVING
- ,WRAPPING
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcCurrencyEnum = ENUMERATION OF
- (AED
- ,AES
- ,ATS
- ,AUD
- ,BBD
- ,BEG
- ,BGL
- ,BHD
- ,BMD
- ,BND
- ,BRL
- ,BSD
- ,BWP
- ,BZD
- ,CAD
- ,CBD
- ,CHF
- ,CLP
- ,CNY
- ,CYS
- ,CZK
- ,DDP
- ,DEM
- ,DKK
- ,EGL
- ,EST
- ,EUR
- ,FAK
- ,FIM
- ,FJD
- ,FKP
- ,FRF
- ,GBP
- ,GIP
- ,GMD
- ,GRX
- ,HKD
- ,HUF
- ,ICK
- ,IDR
- ,ILS
- ,INR
- ,IRP
- ,ITL
- ,JMD
- ,JOD
- ,JPY
- ,KES
- ,KRW
- ,KWD
- ,KYD
- ,LKR
- ,LUF
- ,MTL
- ,MUR
- ,MXN
- ,MYR
- ,NLG
- ,NZD
- ,OMR
- ,PGK
- ,PHP
- ,PKR
- ,PLN
- ,PTN
- ,QAR
- ,RUR
- ,SAR
- ,SCR
- ,SEK
- ,SGD
- ,SKP
- ,THB
- ,TRL
- ,TTD
- ,TWD
- ,USD
- ,VEB
- ,VND
- ,XEU
- ,ZAR
- ,ZWD
- ,NOK);
-END_TYPE;
-
-TYPE IfcCurtainWallTypeEnum = ENUMERATION OF
- (USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcDamperTypeEnum = ENUMERATION OF
- (CONTROLDAMPER
- ,FIREDAMPER
- ,SMOKEDAMPER
- ,FIRESMOKEDAMPER
- ,BACKDRAFTDAMPER
- ,RELIEFDAMPER
- ,BLASTDAMPER
- ,GRAVITYDAMPER
- ,GRAVITYRELIEFDAMPER
- ,BALANCINGDAMPER
- ,FUMEHOODEXHAUST
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcDataOriginEnum = ENUMERATION OF
- (MEASURED
- ,PREDICTED
- ,SIMULATED
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcDerivedUnitEnum = ENUMERATION OF
- (ANGULARVELOCITYUNIT
- ,COMPOUNDPLANEANGLEUNIT
- ,DYNAMICVISCOSITYUNIT
- ,HEATFLUXDENSITYUNIT
- ,INTEGERCOUNTRATEUNIT
- ,ISOTHERMALMOISTURECAPACITYUNIT
- ,KINEMATICVISCOSITYUNIT
- ,LINEARVELOCITYUNIT
- ,MASSDENSITYUNIT
- ,MASSFLOWRATEUNIT
- ,MOISTUREDIFFUSIVITYUNIT
- ,MOLECULARWEIGHTUNIT
- ,SPECIFICHEATCAPACITYUNIT
- ,THERMALADMITTANCEUNIT
- ,THERMALCONDUCTANCEUNIT
- ,THERMALRESISTANCEUNIT
- ,THERMALTRANSMITTANCEUNIT
- ,VAPORPERMEABILITYUNIT
- ,VOLUMETRICFLOWRATEUNIT
- ,ROTATIONALFREQUENCYUNIT
- ,TORQUEUNIT
- ,MOMENTOFINERTIAUNIT
- ,LINEARMOMENTUNIT
- ,LINEARFORCEUNIT
- ,PLANARFORCEUNIT
- ,MODULUSOFELASTICITYUNIT
- ,SHEARMODULUSUNIT
- ,LINEARSTIFFNESSUNIT
- ,ROTATIONALSTIFFNESSUNIT
- ,MODULUSOFSUBGRADEREACTIONUNIT
- ,ACCELERATIONUNIT
- ,CURVATUREUNIT
- ,HEATINGVALUEUNIT
- ,IONCONCENTRATIONUNIT
- ,LUMINOUSINTENSITYDISTRIBUTIONUNIT
- ,MASSPERLENGTHUNIT
- ,MODULUSOFLINEARSUBGRADEREACTIONUNIT
- ,MODULUSOFROTATIONALSUBGRADEREACTIONUNIT
- ,PHUNIT
- ,ROTATIONALMASSUNIT
- ,SECTIONAREAINTEGRALUNIT
- ,SECTIONMODULUSUNIT
- ,SOUNDPOWERUNIT
- ,SOUNDPRESSUREUNIT
- ,TEMPERATUREGRADIENTUNIT
- ,THERMALEXPANSIONCOEFFICIENTUNIT
- ,WARPINGCONSTANTUNIT
- ,WARPINGMOMENTUNIT
- ,USERDEFINED);
-END_TYPE;
-
-TYPE IfcDimensionExtentUsage = ENUMERATION OF
- (ORIGIN
- ,TARGET);
-END_TYPE;
-
-TYPE IfcDirectionSenseEnum = ENUMERATION OF
- (POSITIVE
- ,NEGATIVE);
-END_TYPE;
-
-TYPE IfcDistributionChamberElementTypeEnum = ENUMERATION OF
- (FORMEDDUCT
- ,INSPECTIONCHAMBER
- ,INSPECTIONPIT
- ,MANHOLE
- ,METERCHAMBER
- ,SUMP
- ,TRENCH
- ,VALVECHAMBER
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcDocumentConfidentialityEnum = ENUMERATION OF
- (PUBLIC
- ,RESTRICTED
- ,CONFIDENTIAL
- ,PERSONAL
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcDocumentStatusEnum = ENUMERATION OF
- (DRAFT
- ,FINALDRAFT
- ,FINAL
- ,REVISION
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcDoorPanelOperationEnum = ENUMERATION OF
- (SWINGING
- ,DOUBLE_ACTING
- ,SLIDING
- ,FOLDING
- ,REVOLVING
- ,ROLLINGUP
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcDoorPanelPositionEnum = ENUMERATION OF
- (LEFT
- ,MIDDLE
- ,RIGHT
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcDoorStyleConstructionEnum = ENUMERATION OF
- (ALUMINIUM
- ,HIGH_GRADE_STEEL
- ,STEEL
- ,WOOD
- ,ALUMINIUM_WOOD
- ,ALUMINIUM_PLASTIC
- ,PLASTIC
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcDoorStyleOperationEnum = ENUMERATION OF
- (SINGLE_SWING_LEFT
- ,SINGLE_SWING_RIGHT
- ,DOUBLE_DOOR_SINGLE_SWING
- ,DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT
- ,DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT
- ,DOUBLE_SWING_LEFT
- ,DOUBLE_SWING_RIGHT
- ,DOUBLE_DOOR_DOUBLE_SWING
- ,SLIDING_TO_LEFT
- ,SLIDING_TO_RIGHT
- ,DOUBLE_DOOR_SLIDING
- ,FOLDING_TO_LEFT
- ,FOLDING_TO_RIGHT
- ,DOUBLE_DOOR_FOLDING
- ,REVOLVING
- ,ROLLINGUP
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcDuctFittingTypeEnum = ENUMERATION OF
- (BEND
- ,CONNECTOR
- ,ENTRY
- ,EXIT
- ,JUNCTION
- ,OBSTRUCTION
- ,TRANSITION
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcDuctSegmentTypeEnum = ENUMERATION OF
- (RIGIDSEGMENT
- ,FLEXIBLESEGMENT
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcDuctSilencerTypeEnum = ENUMERATION OF
- (FLATOVAL
- ,RECTANGULAR
- ,ROUND
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcElectricApplianceTypeEnum = ENUMERATION OF
- (COMPUTER
- ,DIRECTWATERHEATER
- ,DISHWASHER
- ,ELECTRICCOOKER
- ,ELECTRICHEATER
- ,FACSIMILE
- ,FREESTANDINGFAN
- ,FREEZER
- ,FRIDGE_FREEZER
- ,HANDDRYER
- ,INDIRECTWATERHEATER
- ,MICROWAVE
- ,PHOTOCOPIER
- ,PRINTER
- ,REFRIGERATOR
- ,RADIANTHEATER
- ,SCANNER
- ,TELEPHONE
- ,TUMBLEDRYER
- ,TV
- ,VENDINGMACHINE
- ,WASHINGMACHINE
- ,WATERHEATER
- ,WATERCOOLER
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcElectricCurrentEnum = ENUMERATION OF
- (ALTERNATING
- ,DIRECT
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcElectricDistributionPointFunctionEnum = ENUMERATION OF
- (ALARMPANEL
- ,CONSUMERUNIT
- ,CONTROLPANEL
- ,DISTRIBUTIONBOARD
- ,GASDETECTORPANEL
- ,INDICATORPANEL
- ,MIMICPANEL
- ,MOTORCONTROLCENTRE
- ,SWITCHBOARD
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcElectricFlowStorageDeviceTypeEnum = ENUMERATION OF
- (BATTERY
- ,CAPACITORBANK
- ,HARMONICFILTER
- ,INDUCTORBANK
- ,UPS
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcElectricGeneratorTypeEnum = ENUMERATION OF
- (USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcElectricHeaterTypeEnum = ENUMERATION OF
- (ELECTRICPOINTHEATER
- ,ELECTRICCABLEHEATER
- ,ELECTRICMATHEATER
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcElectricMotorTypeEnum = ENUMERATION OF
- (DC
- ,INDUCTION
- ,POLYPHASE
- ,RELUCTANCESYNCHRONOUS
- ,SYNCHRONOUS
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcElectricTimeControlTypeEnum = ENUMERATION OF
- (TIMECLOCK
- ,TIMEDELAY
- ,RELAY
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcElementAssemblyTypeEnum = ENUMERATION OF
- (ACCESSORY_ASSEMBLY
- ,ARCH
- ,BEAM_GRID
- ,BRACED_FRAME
- ,GIRDER
- ,REINFORCEMENT_UNIT
- ,RIGID_FRAME
- ,SLAB_FIELD
- ,TRUSS
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcElementCompositionEnum = ENUMERATION OF
- (COMPLEX
- ,ELEMENT
- ,PARTIAL);
-END_TYPE;
-
-TYPE IfcEnergySequenceEnum = ENUMERATION OF
- (PRIMARY
- ,SECONDARY
- ,TERTIARY
- ,AUXILIARY
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcEnvironmentalImpactCategoryEnum = ENUMERATION OF
- (COMBINEDVALUE
- ,DISPOSAL
- ,EXTRACTION
- ,INSTALLATION
- ,MANUFACTURE
- ,TRANSPORTATION
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcEvaporativeCoolerTypeEnum = ENUMERATION OF
- (DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER
- ,DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER
- ,DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER
- ,DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER
- ,DIRECTEVAPORATIVEAIRWASHER
- ,INDIRECTEVAPORATIVEPACKAGEAIRCOOLER
- ,INDIRECTEVAPORATIVEWETCOIL
- ,INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER
- ,INDIRECTDIRECTCOMBINATION
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcEvaporatorTypeEnum = ENUMERATION OF
- (DIRECTEXPANSIONSHELLANDTUBE
- ,DIRECTEXPANSIONTUBEINTUBE
- ,DIRECTEXPANSIONBRAZEDPLATE
- ,FLOODEDSHELLANDTUBE
- ,SHELLANDCOIL
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcFanTypeEnum = ENUMERATION OF
- (CENTRIFUGALFORWARDCURVED
- ,CENTRIFUGALRADIAL
- ,CENTRIFUGALBACKWARDINCLINEDCURVED
- ,CENTRIFUGALAIRFOIL
- ,TUBEAXIAL
- ,VANEAXIAL
- ,PROPELLORAXIAL
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcFilterTypeEnum = ENUMERATION OF
- (AIRPARTICLEFILTER
- ,ODORFILTER
- ,OILFILTER
- ,STRAINER
- ,WATERFILTER
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcFireSuppressionTerminalTypeEnum = ENUMERATION OF
- (BREECHINGINLET
- ,FIREHYDRANT
- ,HOSEREEL
- ,SPRINKLER
- ,SPRINKLERDEFLECTOR
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcFlowDirectionEnum = ENUMERATION OF
- (SOURCE
- ,SINK
- ,SOURCEANDSINK
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcFlowInstrumentTypeEnum = ENUMERATION OF
- (PRESSUREGAUGE
- ,THERMOMETER
- ,AMMETER
- ,FREQUENCYMETER
- ,POWERFACTORMETER
- ,PHASEANGLEMETER
- ,VOLTMETER_PEAK
- ,VOLTMETER_RMS
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcFlowMeterTypeEnum = ENUMERATION OF
- (ELECTRICMETER
- ,ENERGYMETER
- ,FLOWMETER
- ,GASMETER
- ,OILMETER
- ,WATERMETER
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcFootingTypeEnum = ENUMERATION OF
- (FOOTING_BEAM
- ,PAD_FOOTING
- ,PILE_CAP
- ,STRIP_FOOTING
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcGasTerminalTypeEnum = ENUMERATION OF
- (GASAPPLIANCE
- ,GASBOOSTER
- ,GASBURNER
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcGeometricProjectionEnum = ENUMERATION OF
- (GRAPH_VIEW
- ,SKETCH_VIEW
- ,MODEL_VIEW
- ,PLAN_VIEW
- ,REFLECTED_PLAN_VIEW
- ,SECTION_VIEW
- ,ELEVATION_VIEW
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcGlobalOrLocalEnum = ENUMERATION OF
- (GLOBAL_COORDS
- ,LOCAL_COORDS);
-END_TYPE;
-
-TYPE IfcHeatExchangerTypeEnum = ENUMERATION OF
- (PLATE
- ,SHELLANDTUBE
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcHumidifierTypeEnum = ENUMERATION OF
- (STEAMINJECTION
- ,ADIABATICAIRWASHER
- ,ADIABATICPAN
- ,ADIABATICWETTEDELEMENT
- ,ADIABATICATOMIZING
- ,ADIABATICULTRASONIC
- ,ADIABATICRIGIDMEDIA
- ,ADIABATICCOMPRESSEDAIRNOZZLE
- ,ASSISTEDELECTRIC
- ,ASSISTEDNATURALGAS
- ,ASSISTEDPROPANE
- ,ASSISTEDBUTANE
- ,ASSISTEDSTEAM
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcInternalOrExternalEnum = ENUMERATION OF
- (INTERNAL
- ,EXTERNAL
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcInventoryTypeEnum = ENUMERATION OF
- (ASSETINVENTORY
- ,SPACEINVENTORY
- ,FURNITUREINVENTORY
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcJunctionBoxTypeEnum = ENUMERATION OF
- (USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcLampTypeEnum = ENUMERATION OF
- (COMPACTFLUORESCENT
- ,FLUORESCENT
- ,HIGHPRESSUREMERCURY
- ,HIGHPRESSURESODIUM
- ,METALHALIDE
- ,TUNGSTENFILAMENT
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcLayerSetDirectionEnum = ENUMERATION OF
- (AXIS1
- ,AXIS2
- ,AXIS3);
-END_TYPE;
-
-TYPE IfcLightDistributionCurveEnum = ENUMERATION OF
- (TYPE_A
- ,TYPE_B
- ,TYPE_C
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcLightEmissionSourceEnum = ENUMERATION OF
- (COMPACTFLUORESCENT
- ,FLUORESCENT
- ,HIGHPRESSUREMERCURY
- ,HIGHPRESSURESODIUM
- ,LIGHTEMITTINGDIODE
- ,LOWPRESSURESODIUM
- ,LOWVOLTAGEHALOGEN
- ,MAINVOLTAGEHALOGEN
- ,METALHALIDE
- ,TUNGSTENFILAMENT
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcLightFixtureTypeEnum = ENUMERATION OF
- (POINTSOURCE
- ,DIRECTIONSOURCE
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcLoadGroupTypeEnum = ENUMERATION OF
- (LOAD_GROUP
- ,LOAD_CASE
- ,LOAD_COMBINATION_GROUP
- ,LOAD_COMBINATION
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcLogicalOperatorEnum = ENUMERATION OF
- (LOGICALAND
- ,LOGICALOR);
-END_TYPE;
-
-TYPE IfcMemberTypeEnum = ENUMERATION OF
- (BRACE
- ,CHORD
- ,COLLAR
- ,MEMBER
- ,MULLION
- ,PLATE
- ,POST
- ,PURLIN
- ,RAFTER
- ,STRINGER
- ,STRUT
- ,STUD
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcMotorConnectionTypeEnum = ENUMERATION OF
- (BELTDRIVE
- ,COUPLING
- ,DIRECTDRIVE
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcNullStyle = ENUMERATION OF
- (NULL);
-END_TYPE;
-
-TYPE IfcObjectTypeEnum = ENUMERATION OF
- (PRODUCT
- ,PROCESS
- ,CONTROL
- ,RESOURCE
- ,ACTOR
- ,GROUP
- ,PROJECT
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcObjectiveEnum = ENUMERATION OF
- (CODECOMPLIANCE
- ,DESIGNINTENT
- ,HEALTHANDSAFETY
- ,REQUIREMENT
- ,SPECIFICATION
- ,TRIGGERCONDITION
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcOccupantTypeEnum = ENUMERATION OF
- (ASSIGNEE
- ,ASSIGNOR
- ,LESSEE
- ,LESSOR
- ,LETTINGAGENT
- ,OWNER
- ,TENANT
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcOutletTypeEnum = ENUMERATION OF
- (AUDIOVISUALOUTLET
- ,COMMUNICATIONSOUTLET
- ,POWEROUTLET
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcPermeableCoveringOperationEnum = ENUMERATION OF
- (GRILL
- ,LOUVER
- ,SCREEN
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcPhysicalOrVirtualEnum = ENUMERATION OF
- (PHYSICAL
- ,VIRTUAL
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcPileConstructionEnum = ENUMERATION OF
- (CAST_IN_PLACE
- ,COMPOSITE
- ,PRECAST_CONCRETE
- ,PREFAB_STEEL
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcPileTypeEnum = ENUMERATION OF
- (COHESION
- ,FRICTION
- ,SUPPORT
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcPipeFittingTypeEnum = ENUMERATION OF
- (BEND
- ,CONNECTOR
- ,ENTRY
- ,EXIT
- ,JUNCTION
- ,OBSTRUCTION
- ,TRANSITION
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcPipeSegmentTypeEnum = ENUMERATION OF
- (FLEXIBLESEGMENT
- ,RIGIDSEGMENT
- ,GUTTER
- ,SPOOL
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcPlateTypeEnum = ENUMERATION OF
- (CURTAIN_PANEL
- ,SHEET
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcProcedureTypeEnum = ENUMERATION OF
- (ADVICE_CAUTION
- ,ADVICE_NOTE
- ,ADVICE_WARNING
- ,CALIBRATION
- ,DIAGNOSTIC
- ,SHUTDOWN
- ,STARTUP
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcProfileTypeEnum = ENUMERATION OF
- (CURVE
- ,AREA);
-END_TYPE;
-
-TYPE IfcProjectOrderRecordTypeEnum = ENUMERATION OF
- (CHANGE
- ,MAINTENANCE
- ,MOVE
- ,PURCHASE
- ,WORK
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcProjectOrderTypeEnum = ENUMERATION OF
- (CHANGEORDER
- ,MAINTENANCEWORKORDER
- ,MOVEORDER
- ,PURCHASEORDER
- ,WORKORDER
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcProjectedOrTrueLengthEnum = ENUMERATION OF
- (PROJECTED_LENGTH
- ,TRUE_LENGTH);
-END_TYPE;
-
-TYPE IfcPropertySourceEnum = ENUMERATION OF
- (DESIGN
- ,DESIGNMAXIMUM
- ,DESIGNMINIMUM
- ,SIMULATED
- ,ASBUILT
- ,COMMISSIONING
- ,MEASURED
- ,USERDEFINED
- ,NOTKNOWN);
-END_TYPE;
-
-TYPE IfcProtectiveDeviceTypeEnum = ENUMERATION OF
- (FUSEDISCONNECTOR
- ,CIRCUITBREAKER
- ,EARTHFAILUREDEVICE
- ,RESIDUALCURRENTCIRCUITBREAKER
- ,RESIDUALCURRENTSWITCH
- ,VARISTOR
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcPumpTypeEnum = ENUMERATION OF
- (CIRCULATOR
- ,ENDSUCTION
- ,SPLITCASE
- ,VERTICALINLINE
- ,VERTICALTURBINE
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcRailingTypeEnum = ENUMERATION OF
- (HANDRAIL
- ,GUARDRAIL
- ,BALUSTRADE
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcRampFlightTypeEnum = ENUMERATION OF
- (STRAIGHT
- ,SPIRAL
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcRampTypeEnum = ENUMERATION OF
- (STRAIGHT_RUN_RAMP
- ,TWO_STRAIGHT_RUN_RAMP
- ,QUARTER_TURN_RAMP
- ,TWO_QUARTER_TURN_RAMP
- ,HALF_TURN_RAMP
- ,SPIRAL_RAMP
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcReflectanceMethodEnum = ENUMERATION OF
- (BLINN
- ,FLAT
- ,GLASS
- ,MATT
- ,METAL
- ,MIRROR
- ,PHONG
- ,PLASTIC
- ,STRAUSS
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcReinforcingBarRoleEnum = ENUMERATION OF
- (MAIN
- ,SHEAR
- ,LIGATURE
- ,STUD
- ,PUNCHING
- ,EDGE
- ,RING
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcReinforcingBarSurfaceEnum = ENUMERATION OF
- (PLAIN
- ,TEXTURED);
-END_TYPE;
-
-TYPE IfcResourceConsumptionEnum = ENUMERATION OF
- (CONSUMED
- ,PARTIALLYCONSUMED
- ,NOTCONSUMED
- ,OCCUPIED
- ,PARTIALLYOCCUPIED
- ,NOTOCCUPIED
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcRibPlateDirectionEnum = ENUMERATION OF
- (DIRECTION_X
- ,DIRECTION_Y);
-END_TYPE;
-
-TYPE IfcRoleEnum = ENUMERATION OF
- (SUPPLIER
- ,MANUFACTURER
- ,CONTRACTOR
- ,SUBCONTRACTOR
- ,ARCHITECT
- ,STRUCTURALENGINEER
- ,COSTENGINEER
- ,CLIENT
- ,BUILDINGOWNER
- ,BUILDINGOPERATOR
- ,MECHANICALENGINEER
- ,ELECTRICALENGINEER
- ,PROJECTMANAGER
- ,FACILITIESMANAGER
- ,CIVILENGINEER
- ,COMISSIONINGENGINEER
- ,ENGINEER
- ,OWNER
- ,CONSULTANT
- ,CONSTRUCTIONMANAGER
- ,FIELDCONSTRUCTIONMANAGER
- ,RESELLER
- ,USERDEFINED);
-END_TYPE;
-
-TYPE IfcRoofTypeEnum = ENUMERATION OF
- (FLAT_ROOF
- ,SHED_ROOF
- ,GABLE_ROOF
- ,HIP_ROOF
- ,HIPPED_GABLE_ROOF
- ,GAMBREL_ROOF
- ,MANSARD_ROOF
- ,BARREL_ROOF
- ,RAINBOW_ROOF
- ,BUTTERFLY_ROOF
- ,PAVILION_ROOF
- ,DOME_ROOF
- ,FREEFORM
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcSIPrefix = ENUMERATION OF
- (EXA
- ,PETA
- ,TERA
- ,GIGA
- ,MEGA
- ,KILO
- ,HECTO
- ,DECA
- ,DECI
- ,CENTI
- ,MILLI
- ,MICRO
- ,NANO
- ,PICO
- ,FEMTO
- ,ATTO);
-END_TYPE;
-
-TYPE IfcSIUnitName = ENUMERATION OF
- (AMPERE
- ,BECQUEREL
- ,CANDELA
- ,COULOMB
- ,CUBIC_METRE
- ,DEGREE_CELSIUS
- ,FARAD
- ,GRAM
- ,GRAY
- ,HENRY
- ,HERTZ
- ,JOULE
- ,KELVIN
- ,LUMEN
- ,LUX
- ,METRE
- ,MOLE
- ,NEWTON
- ,OHM
- ,PASCAL
- ,RADIAN
- ,SECOND
- ,SIEMENS
- ,SIEVERT
- ,SQUARE_METRE
- ,STERADIAN
- ,TESLA
- ,VOLT
- ,WATT
- ,WEBER);
-END_TYPE;
-
-TYPE IfcSanitaryTerminalTypeEnum = ENUMERATION OF
- (BATH
- ,BIDET
- ,CISTERN
- ,SHOWER
- ,SINK
- ,SANITARYFOUNTAIN
- ,TOILETPAN
- ,URINAL
- ,WASHHANDBASIN
- ,WCSEAT
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcSectionTypeEnum = ENUMERATION OF
- (UNIFORM
- ,TAPERED);
-END_TYPE;
-
-TYPE IfcSensorTypeEnum = ENUMERATION OF
- (CO2SENSOR
- ,FIRESENSOR
- ,FLOWSENSOR
- ,GASSENSOR
- ,HEATSENSOR
- ,HUMIDITYSENSOR
- ,LIGHTSENSOR
- ,MOISTURESENSOR
- ,MOVEMENTSENSOR
- ,PRESSURESENSOR
- ,SMOKESENSOR
- ,SOUNDSENSOR
- ,TEMPERATURESENSOR
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcSequenceEnum = ENUMERATION OF
- (START_START
- ,START_FINISH
- ,FINISH_START
- ,FINISH_FINISH
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcServiceLifeFactorTypeEnum = ENUMERATION OF
- (A_QUALITYOFCOMPONENTS
- ,B_DESIGNLEVEL
- ,C_WORKEXECUTIONLEVEL
- ,D_INDOORENVIRONMENT
- ,E_OUTDOORENVIRONMENT
- ,F_INUSECONDITIONS
- ,G_MAINTENANCELEVEL
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcServiceLifeTypeEnum = ENUMERATION OF
- (ACTUALSERVICELIFE
- ,EXPECTEDSERVICELIFE
- ,OPTIMISTICREFERENCESERVICELIFE
- ,PESSIMISTICREFERENCESERVICELIFE
- ,REFERENCESERVICELIFE);
-END_TYPE;
-
-TYPE IfcSlabTypeEnum = ENUMERATION OF
- (FLOOR
- ,ROOF
- ,LANDING
- ,BASESLAB
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcSoundScaleEnum = ENUMERATION OF
- (DBA
- ,DBB
- ,DBC
- ,NC
- ,NR
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcSpaceHeaterTypeEnum = ENUMERATION OF
- (SECTIONALRADIATOR
- ,PANELRADIATOR
- ,TUBULARRADIATOR
- ,CONVECTOR
- ,BASEBOARDHEATER
- ,FINNEDTUBEUNIT
- ,UNITHEATER
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcSpaceTypeEnum = ENUMERATION OF
- (USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcStackTerminalTypeEnum = ENUMERATION OF
- (BIRDCAGE
- ,COWL
- ,RAINWATERHOPPER
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcStairFlightTypeEnum = ENUMERATION OF
- (STRAIGHT
- ,WINDER
- ,SPIRAL
- ,CURVED
- ,FREEFORM
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcStairTypeEnum = ENUMERATION OF
- (STRAIGHT_RUN_STAIR
- ,TWO_STRAIGHT_RUN_STAIR
- ,QUARTER_WINDING_STAIR
- ,QUARTER_TURN_STAIR
- ,HALF_WINDING_STAIR
- ,HALF_TURN_STAIR
- ,TWO_QUARTER_WINDING_STAIR
- ,TWO_QUARTER_TURN_STAIR
- ,THREE_QUARTER_WINDING_STAIR
- ,THREE_QUARTER_TURN_STAIR
- ,SPIRAL_STAIR
- ,DOUBLE_RETURN_STAIR
- ,CURVED_RUN_STAIR
- ,TWO_CURVED_RUN_STAIR
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcStateEnum = ENUMERATION OF
- (READWRITE
- ,READONLY
- ,LOCKED
- ,READWRITELOCKED
- ,READONLYLOCKED);
-END_TYPE;
-
-TYPE IfcStructuralCurveTypeEnum = ENUMERATION OF
- (RIGID_JOINED_MEMBER
- ,PIN_JOINED_MEMBER
- ,CABLE
- ,TENSION_MEMBER
- ,COMPRESSION_MEMBER
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcStructuralSurfaceTypeEnum = ENUMERATION OF
- (BENDING_ELEMENT
- ,MEMBRANE_ELEMENT
- ,SHELL
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcSurfaceSide = ENUMERATION OF
- (POSITIVE
- ,NEGATIVE
- ,BOTH);
-END_TYPE;
-
-TYPE IfcSurfaceTextureEnum = ENUMERATION OF
- (BUMP
- ,OPACITY
- ,REFLECTION
- ,SELFILLUMINATION
- ,SHININESS
- ,SPECULAR
- ,TEXTURE
- ,TRANSPARENCYMAP
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcSwitchingDeviceTypeEnum = ENUMERATION OF
- (CONTACTOR
- ,EMERGENCYSTOP
- ,STARTER
- ,SWITCHDISCONNECTOR
- ,TOGGLESWITCH
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcTankTypeEnum = ENUMERATION OF
- (PREFORMED
- ,SECTIONAL
- ,EXPANSION
- ,PRESSUREVESSEL
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcTendonTypeEnum = ENUMERATION OF
- (STRAND
- ,WIRE
- ,BAR
- ,COATED
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcTextPath = ENUMERATION OF
- (LEFT
- ,RIGHT
- ,UP
- ,DOWN);
-END_TYPE;
-
-TYPE IfcThermalLoadSourceEnum = ENUMERATION OF
- (PEOPLE
- ,LIGHTING
- ,EQUIPMENT
- ,VENTILATIONINDOORAIR
- ,VENTILATIONOUTSIDEAIR
- ,RECIRCULATEDAIR
- ,EXHAUSTAIR
- ,AIREXCHANGERATE
- ,DRYBULBTEMPERATURE
- ,RELATIVEHUMIDITY
- ,INFILTRATION
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcThermalLoadTypeEnum = ENUMERATION OF
- (SENSIBLE
- ,LATENT
- ,RADIANT
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcTimeSeriesDataTypeEnum = ENUMERATION OF
- (CONTINUOUS
- ,DISCRETE
- ,DISCRETEBINARY
- ,PIECEWISEBINARY
- ,PIECEWISECONSTANT
- ,PIECEWISECONTINUOUS
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcTimeSeriesScheduleTypeEnum = ENUMERATION OF
- (ANNUAL
- ,MONTHLY
- ,WEEKLY
- ,DAILY
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcTransformerTypeEnum = ENUMERATION OF
- (CURRENT
- ,FREQUENCY
- ,VOLTAGE
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcTransitionCode = ENUMERATION OF
- (DISCONTINUOUS
- ,CONTINUOUS
- ,CONTSAMEGRADIENT
- ,CONTSAMEGRADIENTSAMECURVATURE);
-END_TYPE;
-
-TYPE IfcTransportElementTypeEnum = ENUMERATION OF
- (ELEVATOR
- ,ESCALATOR
- ,MOVINGWALKWAY
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcTrimmingPreference = ENUMERATION OF
- (CARTESIAN
- ,PARAMETER
- ,UNSPECIFIED);
-END_TYPE;
-
-TYPE IfcTubeBundleTypeEnum = ENUMERATION OF
- (FINNED
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcUnitEnum = ENUMERATION OF
- (ABSORBEDDOSEUNIT
- ,AMOUNTOFSUBSTANCEUNIT
- ,AREAUNIT
- ,DOSEEQUIVALENTUNIT
- ,ELECTRICCAPACITANCEUNIT
- ,ELECTRICCHARGEUNIT
- ,ELECTRICCONDUCTANCEUNIT
- ,ELECTRICCURRENTUNIT
- ,ELECTRICRESISTANCEUNIT
- ,ELECTRICVOLTAGEUNIT
- ,ENERGYUNIT
- ,FORCEUNIT
- ,FREQUENCYUNIT
- ,ILLUMINANCEUNIT
- ,INDUCTANCEUNIT
- ,LENGTHUNIT
- ,LUMINOUSFLUXUNIT
- ,LUMINOUSINTENSITYUNIT
- ,MAGNETICFLUXDENSITYUNIT
- ,MAGNETICFLUXUNIT
- ,MASSUNIT
- ,PLANEANGLEUNIT
- ,POWERUNIT
- ,PRESSUREUNIT
- ,RADIOACTIVITYUNIT
- ,SOLIDANGLEUNIT
- ,THERMODYNAMICTEMPERATUREUNIT
- ,TIMEUNIT
- ,VOLUMEUNIT
- ,USERDEFINED);
-END_TYPE;
-
-TYPE IfcUnitaryEquipmentTypeEnum = ENUMERATION OF
- (AIRHANDLER
- ,AIRCONDITIONINGUNIT
- ,SPLITSYSTEM
- ,ROOFTOPUNIT
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcValveTypeEnum = ENUMERATION OF
- (AIRRELEASE
- ,ANTIVACUUM
- ,CHANGEOVER
- ,CHECK
- ,COMMISSIONING
- ,DIVERTING
- ,DRAWOFFCOCK
- ,DOUBLECHECK
- ,DOUBLEREGULATING
- ,FAUCET
- ,FLUSHING
- ,GASCOCK
- ,GASTAP
- ,ISOLATING
- ,MIXING
- ,PRESSUREREDUCING
- ,PRESSURERELIEF
- ,REGULATING
- ,SAFETYCUTOFF
- ,STEAMTRAP
- ,STOPCOCK
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcVibrationIsolatorTypeEnum = ENUMERATION OF
- (COMPRESSION
- ,SPRING
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcWallTypeEnum = ENUMERATION OF
- (STANDARD
- ,POLYGONAL
- ,SHEAR
- ,ELEMENTEDWALL
- ,PLUMBINGWALL
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcWasteTerminalTypeEnum = ENUMERATION OF
- (FLOORTRAP
- ,FLOORWASTE
- ,GULLYSUMP
- ,GULLYTRAP
- ,GREASEINTERCEPTOR
- ,OILINTERCEPTOR
- ,PETROLINTERCEPTOR
- ,ROOFDRAIN
- ,WASTEDISPOSALUNIT
- ,WASTETRAP
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcWindowPanelOperationEnum = ENUMERATION OF
- (SIDEHUNGRIGHTHAND
- ,SIDEHUNGLEFTHAND
- ,TILTANDTURNRIGHTHAND
- ,TILTANDTURNLEFTHAND
- ,TOPHUNG
- ,BOTTOMHUNG
- ,PIVOTHORIZONTAL
- ,PIVOTVERTICAL
- ,SLIDINGHORIZONTAL
- ,SLIDINGVERTICAL
- ,REMOVABLECASEMENT
- ,FIXEDCASEMENT
- ,OTHEROPERATION
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcWindowPanelPositionEnum = ENUMERATION OF
- (LEFT
- ,MIDDLE
- ,RIGHT
- ,BOTTOM
- ,TOP
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcWindowStyleConstructionEnum = ENUMERATION OF
- (ALUMINIUM
- ,HIGH_GRADE_STEEL
- ,STEEL
- ,WOOD
- ,ALUMINIUM_WOOD
- ,PLASTIC
- ,OTHER_CONSTRUCTION
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcWindowStyleOperationEnum = ENUMERATION OF
- (SINGLE_PANEL
- ,DOUBLE_PANEL_VERTICAL
- ,DOUBLE_PANEL_HORIZONTAL
- ,TRIPLE_PANEL_VERTICAL
- ,TRIPLE_PANEL_BOTTOM
- ,TRIPLE_PANEL_TOP
- ,TRIPLE_PANEL_LEFT
- ,TRIPLE_PANEL_RIGHT
- ,TRIPLE_PANEL_HORIZONTAL
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcWorkControlTypeEnum = ENUMERATION OF
- (ACTUAL
- ,BASELINE
- ,PLANNED
- ,USERDEFINED
- ,NOTDEFINED);
-END_TYPE;
-
-TYPE IfcActorSelect = SELECT
- (IfcOrganization
- ,IfcPerson
- ,IfcPersonAndOrganization);
-END_TYPE;
-
-TYPE IfcAppliedValueSelect = SELECT
- (IfcRatioMeasure
- ,IfcMeasureWithUnit
- ,IfcMonetaryMeasure);
-END_TYPE;
-
-TYPE IfcAxis2Placement = SELECT
- (IfcAxis2Placement2D
- ,IfcAxis2Placement3D);
-END_TYPE;
-
-TYPE IfcBooleanOperand = SELECT
- (IfcSolidModel
- ,IfcHalfSpaceSolid
- ,IfcBooleanResult
- ,IfcCsgPrimitive3D);
-END_TYPE;
-
-TYPE IfcCharacterStyleSelect = SELECT
- (IfcTextStyleForDefinedFont);
-END_TYPE;
-
-TYPE IfcClassificationNotationSelect = SELECT
- (IfcClassificationNotation
- ,IfcClassificationReference);
-END_TYPE;
-
-TYPE IfcColour = SELECT
- (IfcColourSpecification
- ,IfcPreDefinedColour);
-END_TYPE;
-
-TYPE IfcColourOrFactor = SELECT
- (IfcColourRgb
- ,IfcNormalisedRatioMeasure);
-END_TYPE;
-
-TYPE IfcConditionCriterionSelect = SELECT
- (IfcLabel
- ,IfcMeasureWithUnit);
-END_TYPE;
-
-TYPE IfcCsgSelect = SELECT
- (IfcBooleanResult
- ,IfcCsgPrimitive3D);
-END_TYPE;
-
-TYPE IfcCurveFontOrScaledCurveFontSelect = SELECT
- (IfcCurveStyleFontSelect
- ,IfcCurveStyleFontAndScaling);
-END_TYPE;
-
-TYPE IfcCurveOrEdgeCurve = SELECT
- (IfcBoundedCurve
- ,IfcEdgeCurve);
-END_TYPE;
-
-TYPE IfcCurveStyleFontSelect = SELECT
- (IfcPreDefinedCurveFont
- ,IfcCurveStyleFont);
-END_TYPE;
-
-TYPE IfcDateTimeSelect = SELECT
- (IfcCalendarDate
- ,IfcLocalTime
- ,IfcDateAndTime);
-END_TYPE;
-
-TYPE IfcDefinedSymbolSelect = SELECT
- (IfcPreDefinedSymbol
- ,IfcExternallyDefinedSymbol);
-END_TYPE;
-
-TYPE IfcDerivedMeasureValue = SELECT
- (IfcVolumetricFlowRateMeasure
- ,IfcTimeStamp
- ,IfcThermalTransmittanceMeasure
- ,IfcThermalResistanceMeasure
- ,IfcThermalAdmittanceMeasure
- ,IfcPressureMeasure
- ,IfcPowerMeasure
- ,IfcMassFlowRateMeasure
- ,IfcMassDensityMeasure
- ,IfcLinearVelocityMeasure
- ,IfcKinematicViscosityMeasure
- ,IfcIntegerCountRateMeasure
- ,IfcHeatFluxDensityMeasure
- ,IfcFrequencyMeasure
- ,IfcEnergyMeasure
- ,IfcElectricVoltageMeasure
- ,IfcDynamicViscosityMeasure
- ,IfcCompoundPlaneAngleMeasure
- ,IfcAngularVelocityMeasure
- ,IfcThermalConductivityMeasure
- ,IfcMolecularWeightMeasure
- ,IfcVaporPermeabilityMeasure
- ,IfcMoistureDiffusivityMeasure
- ,IfcIsothermalMoistureCapacityMeasure
- ,IfcSpecificHeatCapacityMeasure
- ,IfcMonetaryMeasure
- ,IfcMagneticFluxDensityMeasure
- ,IfcMagneticFluxMeasure
- ,IfcLuminousFluxMeasure
- ,IfcForceMeasure
- ,IfcInductanceMeasure
- ,IfcIlluminanceMeasure
- ,IfcElectricResistanceMeasure
- ,IfcElectricConductanceMeasure
- ,IfcElectricChargeMeasure
- ,IfcDoseEquivalentMeasure
- ,IfcElectricCapacitanceMeasure
- ,IfcAbsorbedDoseMeasure
- ,IfcRadioActivityMeasure
- ,IfcRotationalFrequencyMeasure
- ,IfcTorqueMeasure
- ,IfcAccelerationMeasure
- ,IfcLinearForceMeasure
- ,IfcLinearStiffnessMeasure
- ,IfcModulusOfSubgradeReactionMeasure
- ,IfcModulusOfElasticityMeasure
- ,IfcMomentOfInertiaMeasure
- ,IfcPlanarForceMeasure
- ,IfcRotationalStiffnessMeasure
- ,IfcShearModulusMeasure
- ,IfcLinearMomentMeasure
- ,IfcLuminousIntensityDistributionMeasure
- ,IfcCurvatureMeasure
- ,IfcMassPerLengthMeasure
- ,IfcModulusOfLinearSubgradeReactionMeasure
- ,IfcModulusOfRotationalSubgradeReactionMeasure
- ,IfcRotationalMassMeasure
- ,IfcSectionalAreaIntegralMeasure
- ,IfcSectionModulusMeasure
- ,IfcTemperatureGradientMeasure
- ,IfcThermalExpansionCoefficientMeasure
- ,IfcWarpingConstantMeasure
- ,IfcWarpingMomentMeasure
- ,IfcSoundPowerMeasure
- ,IfcSoundPressureMeasure
- ,IfcHeatingValueMeasure
- ,IfcPHMeasure
- ,IfcIonConcentrationMeasure);
-END_TYPE;
-
-TYPE IfcDocumentSelect = SELECT
- (IfcDocumentReference
- ,IfcDocumentInformation);
-END_TYPE;
-
-TYPE IfcDraughtingCalloutElement = SELECT
- (IfcAnnotationCurveOccurrence
- ,IfcAnnotationTextOccurrence
- ,IfcAnnotationSymbolOccurrence);
-END_TYPE;
-
-TYPE IfcFillAreaStyleTileShapeSelect = SELECT
- (IfcFillAreaStyleTileSymbolWithStyle);
-END_TYPE;
-
-TYPE IfcFillStyleSelect = SELECT
- (IfcFillAreaStyleHatching
- ,IfcFillAreaStyleTiles
- ,IfcColour
- ,IfcExternallyDefinedHatchStyle);
-END_TYPE;
-
-TYPE IfcGeometricSetSelect = SELECT
- (IfcPoint
- ,IfcCurve
- ,IfcSurface);
-END_TYPE;
-
-TYPE IfcHatchLineDistanceSelect = SELECT
- (IfcOneDirectionRepeatFactor
- ,IfcPositiveLengthMeasure);
-END_TYPE;
-
-TYPE IfcLayeredItem = SELECT
- (IfcRepresentationItem
- ,IfcRepresentation);
-END_TYPE;
-
-TYPE IfcLibrarySelect = SELECT
- (IfcLibraryReference
- ,IfcLibraryInformation);
-END_TYPE;
-
-TYPE IfcLightDistributionDataSourceSelect = SELECT
- (IfcExternalReference
- ,IfcLightIntensityDistribution);
-END_TYPE;
-
-TYPE IfcMaterialSelect = SELECT
- (IfcMaterial
- ,IfcMaterialList
- ,IfcMaterialLayerSetUsage
- ,IfcMaterialLayerSet
- ,IfcMaterialLayer);
-END_TYPE;
-
-TYPE IfcMeasureValue = SELECT
- (IfcVolumeMeasure
- ,IfcTimeMeasure
- ,IfcThermodynamicTemperatureMeasure
- ,IfcSolidAngleMeasure
- ,IfcPositiveRatioMeasure
- ,IfcRatioMeasure
- ,IfcPositivePlaneAngleMeasure
- ,IfcPlaneAngleMeasure
- ,IfcParameterValue
- ,IfcNumericMeasure
- ,IfcMassMeasure
- ,IfcPositiveLengthMeasure
- ,IfcLengthMeasure
- ,IfcElectricCurrentMeasure
- ,IfcDescriptiveMeasure
- ,IfcCountMeasure
- ,IfcContextDependentMeasure
- ,IfcAreaMeasure
- ,IfcAmountOfSubstanceMeasure
- ,IfcLuminousIntensityMeasure
- ,IfcNormalisedRatioMeasure
- ,IfcComplexNumber);
-END_TYPE;
-
-TYPE IfcMetricValueSelect = SELECT
- (IfcDateTimeSelect
- ,IfcMeasureWithUnit
- ,IfcTable
- ,IfcText
- ,IfcTimeSeries
- ,IfcCostValue);
-END_TYPE;
-
-TYPE IfcObjectReferenceSelect = SELECT
- (IfcMaterial
- ,IfcPerson
- ,IfcDateAndTime
- ,IfcMaterialList
- ,IfcOrganization
- ,IfcCalendarDate
- ,IfcLocalTime
- ,IfcPersonAndOrganization
- ,IfcMaterialLayer
- ,IfcExternalReference
- ,IfcTimeSeries
- ,IfcAddress
- ,IfcAppliedValue);
-END_TYPE;
-
-TYPE IfcOrientationSelect = SELECT
- (IfcPlaneAngleMeasure
- ,IfcDirection);
-END_TYPE;
-
-TYPE IfcPointOrVertexPoint = SELECT
- (IfcPoint
- ,IfcVertexPoint);
-END_TYPE;
-
-TYPE IfcPresentationStyleSelect = SELECT
- (IfcNullStyle
- ,IfcCurveStyle
- ,IfcSymbolStyle
- ,IfcFillAreaStyle
- ,IfcTextStyle
- ,IfcSurfaceStyle);
-END_TYPE;
-
-TYPE IfcShell = SELECT
- (IfcClosedShell
- ,IfcOpenShell);
-END_TYPE;
-
-TYPE IfcSimpleValue = SELECT
- (IfcInteger
- ,IfcReal
- ,IfcBoolean
- ,IfcIdentifier
- ,IfcText
- ,IfcLabel
- ,IfcLogical);
-END_TYPE;
-
-TYPE IfcSizeSelect = SELECT
- (IfcRatioMeasure
- ,IfcLengthMeasure
- ,IfcDescriptiveMeasure
- ,IfcPositiveLengthMeasure
- ,IfcNormalisedRatioMeasure
- ,IfcPositiveRatioMeasure);
-END_TYPE;
-
-TYPE IfcSpecularHighlightSelect = SELECT
- (IfcSpecularExponent
- ,IfcSpecularRoughness);
-END_TYPE;
-
-TYPE IfcStructuralActivityAssignmentSelect = SELECT
- (IfcStructuralItem
- ,IfcElement);
-END_TYPE;
-
-TYPE IfcSurfaceOrFaceSurface = SELECT
- (IfcSurface
- ,IfcFaceSurface
- ,IfcFaceBasedSurfaceModel);
-END_TYPE;
-
-TYPE IfcSurfaceStyleElementSelect = SELECT
- (IfcSurfaceStyleShading
- ,IfcSurfaceStyleLighting
- ,IfcSurfaceStyleWithTextures
- ,IfcExternallyDefinedSurfaceStyle
- ,IfcSurfaceStyleRefraction);
-END_TYPE;
-
-TYPE IfcSymbolStyleSelect = SELECT
- (IfcColour);
-END_TYPE;
-
-TYPE IfcTextFontSelect = SELECT
- (IfcPreDefinedTextFont
- ,IfcExternallyDefinedTextFont);
-END_TYPE;
-
-TYPE IfcTextStyleSelect = SELECT
- (IfcTextStyleWithBoxCharacteristics
- ,IfcTextStyleTextModel);
-END_TYPE;
-
-TYPE IfcTrimmingSelect = SELECT
- (IfcCartesianPoint
- ,IfcParameterValue);
-END_TYPE;
-
-TYPE IfcUnit = SELECT
- (IfcDerivedUnit
- ,IfcNamedUnit
- ,IfcMonetaryUnit);
-END_TYPE;
-
-TYPE IfcValue = SELECT
- (IfcMeasureValue
- ,IfcSimpleValue
- ,IfcDerivedMeasureValue);
-END_TYPE;
-
-TYPE IfcVectorOrDirection = SELECT
- (IfcDirection
- ,IfcVector);
-END_TYPE;
-
-ENTITY Ifc2DCompositeCurve
- SUBTYPE OF (IfcCompositeCurve);
- WHERE
- WR1 : SELF\IfcCompositeCurve.ClosedCurve;
- WR2 : SELF\IfcCurve.Dim = 2;
-END_ENTITY;
-
-ENTITY IfcActionRequest
- SUBTYPE OF (IfcControl);
- RequestID : IfcIdentifier;
- UNIQUE
- UR2 : RequestID;
-END_ENTITY;
-
-ENTITY IfcActor
- SUPERTYPE OF (ONEOF
- (IfcOccupant))
- SUBTYPE OF (IfcObject);
- TheActor : IfcActorSelect;
- INVERSE
- IsActingUpon : SET [0:?] OF IfcRelAssignsToActor FOR RelatingActor;
-END_ENTITY;
-
-ENTITY IfcActorRole;
- Role : IfcRoleEnum;
- UserDefinedRole : OPTIONAL IfcLabel;
- Description : OPTIONAL IfcText;
- WHERE
- WR1 : (Role <> IfcRoleEnum.USERDEFINED) OR
- ((Role = IfcRoleEnum.USERDEFINED) AND
- EXISTS(SELF.UserDefinedRole));
-END_ENTITY;
-
-ENTITY IfcActuatorType
- SUBTYPE OF (IfcDistributionControlElementType);
- PredefinedType : IfcActuatorTypeEnum;
-END_ENTITY;
-
-ENTITY IfcAddress
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcPostalAddress
- ,IfcTelecomAddress));
- Purpose : OPTIONAL IfcAddressTypeEnum;
- Description : OPTIONAL IfcText;
- UserDefinedPurpose : OPTIONAL IfcLabel;
- INVERSE
- OfPerson : SET [0:?] OF IfcPerson FOR Addresses;
- OfOrganization : SET [0:?] OF IfcOrganization FOR Addresses;
- WHERE
- WR1 : (NOT(EXISTS(Purpose))) OR
- ((Purpose <> IfcAddressTypeEnum.USERDEFINED) OR
- ((Purpose = IfcAddressTypeEnum.USERDEFINED) AND
- EXISTS(SELF.UserDefinedPurpose)));
-END_ENTITY;
-
-ENTITY IfcAirTerminalBoxType
- SUBTYPE OF (IfcFlowControllerType);
- PredefinedType : IfcAirTerminalBoxTypeEnum;
- WHERE
- WR1 : (PredefinedType <> IfcAirTerminalBoxTypeEnum.USERDEFINED) OR
- ((PredefinedType = IfcAirTerminalBoxTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
-END_ENTITY;
-
-ENTITY IfcAirTerminalType
- SUBTYPE OF (IfcFlowTerminalType);
- PredefinedType : IfcAirTerminalTypeEnum;
- WHERE
- WR1 : (PredefinedType <> IfcAirTerminalTypeEnum.USERDEFINED) OR
- ((PredefinedType = IfcAirTerminalTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
-END_ENTITY;
-
-ENTITY IfcAirToAirHeatRecoveryType
- SUBTYPE OF (IfcEnergyConversionDeviceType);
- PredefinedType : IfcAirToAirHeatRecoveryTypeEnum;
- WHERE
- WR1 : (PredefinedType <> IfcAirToAirHeatRecoveryTypeEnum.USERDEFINED) OR
- ((PredefinedType = IfcAirToAirHeatRecoveryTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
-END_ENTITY;
-
-ENTITY IfcAlarmType
- SUBTYPE OF (IfcDistributionControlElementType);
- PredefinedType : IfcAlarmTypeEnum;
-END_ENTITY;
-
-ENTITY IfcAngularDimension
- SUBTYPE OF (IfcDimensionCurveDirectedCallout);
-END_ENTITY;
-
-ENTITY IfcAnnotation
- SUBTYPE OF (IfcProduct);
- INVERSE
- ContainedInStructure : SET [0:1] OF IfcRelContainedInSpatialStructure FOR RelatedElements;
-END_ENTITY;
-
-ENTITY IfcAnnotationCurveOccurrence
- SUPERTYPE OF (ONEOF
- (IfcDimensionCurve
- ,IfcProjectionCurve))
- SUBTYPE OF (IfcAnnotationOccurrence);
- WHERE
- WR31 : NOT(EXISTS(SELF\IfcStyledItem.Item)) OR
- ('IFC2X3.IFCCURVE' IN TYPEOF (SELF\IfcStyledItem.Item));
-END_ENTITY;
-
-ENTITY IfcAnnotationFillArea
- SUBTYPE OF (IfcGeometricRepresentationItem);
- OuterBoundary : IfcCurve;
- InnerBoundaries : OPTIONAL SET [1:?] OF IfcCurve;
-END_ENTITY;
-
-ENTITY IfcAnnotationFillAreaOccurrence
- SUBTYPE OF (IfcAnnotationOccurrence);
- FillStyleTarget : OPTIONAL IfcPoint;
- GlobalOrLocal : OPTIONAL IfcGlobalOrLocalEnum;
- WHERE
- WR31 : NOT(EXISTS(SELF\IfcStyledItem.Item)) OR
- ('IFC2X3.IFCANNOTATIONFILLAREA' IN TYPEOF (SELF\IfcStyledItem.Item));
-END_ENTITY;
-
-ENTITY IfcAnnotationOccurrence
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcAnnotationCurveOccurrence
- ,IfcAnnotationFillAreaOccurrence
- ,IfcAnnotationSurfaceOccurrence
- ,IfcAnnotationSymbolOccurrence
- ,IfcAnnotationTextOccurrence))
- SUBTYPE OF (IfcStyledItem);
-END_ENTITY;
-
-ENTITY IfcAnnotationSurface
- SUBTYPE OF (IfcGeometricRepresentationItem);
- Item : IfcGeometricRepresentationItem;
- TextureCoordinates : OPTIONAL IfcTextureCoordinate;
- WHERE
- WR01 : SIZEOF([
- 'IFC2X3.IFCSURFACE',
- 'IFC2X3.IFCSHELLBASEDSURFACEMODEL',
- 'IFC2X3.IFCFACEBASEDSURFACEMODEL',
- 'IFC2X3.IFCSOLIDMODEL',
- 'IFC2X3.IFCBOOLEANRESULT',
- 'IFC2X3.IFCCSGPRIMITIVE3D']
- * TYPEOF(Item)
- ) >= 1;
-END_ENTITY;
-
-ENTITY IfcAnnotationSurfaceOccurrence
- SUBTYPE OF (IfcAnnotationOccurrence);
- WHERE
- WR31 : NOT(EXISTS(SELF\IfcStyledItem.Item)) OR
- (SIZEOF(
- ['IFC2X3.IFCSURFACE',
- 'IFC2X3.IFCFACEBASEDSURFACEMODEL',
- 'IFC2X3.IFCSHELLBASEDSURFACEMODEL',
- 'IFC2X3.IFCSOLIDMODEL'] *
- TYPEOF(SELF\IfcStyledItem.Item)) > 0);
-END_ENTITY;
-
-ENTITY IfcAnnotationSymbolOccurrence
- SUPERTYPE OF (ONEOF
- (IfcTerminatorSymbol))
- SUBTYPE OF (IfcAnnotationOccurrence);
- WHERE
- WR31 : NOT(EXISTS(SELF\IfcStyledItem.Item)) OR
- ('IFC2X3.IFCDEFINEDSYMBOL' IN TYPEOF (SELF\IfcStyledItem.Item));
-END_ENTITY;
-
-ENTITY IfcAnnotationTextOccurrence
- SUBTYPE OF (IfcAnnotationOccurrence);
- WHERE
- WR31 : NOT(EXISTS(SELF\IfcStyledItem.Item)) OR
- ('IFC2X3.IFCTEXTLITERAL' IN TYPEOF (SELF\IfcStyledItem.Item));
-END_ENTITY;
-
-ENTITY IfcApplication;
- ApplicationDeveloper : IfcOrganization;
- Version : IfcLabel;
- ApplicationFullName : IfcLabel;
- ApplicationIdentifier : IfcIdentifier;
- UNIQUE
- UR1 : ApplicationIdentifier;
- UR2 : ApplicationFullName, Version;
-END_ENTITY;
-
-ENTITY IfcAppliedValue
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcCostValue
- ,IfcEnvironmentalImpactValue));
- Name : OPTIONAL IfcLabel;
- Description : OPTIONAL IfcText;
- AppliedValue : OPTIONAL IfcAppliedValueSelect;
- UnitBasis : OPTIONAL IfcMeasureWithUnit;
- ApplicableDate : OPTIONAL IfcDateTimeSelect;
- FixedUntilDate : OPTIONAL IfcDateTimeSelect;
- INVERSE
- ValuesReferenced : SET [0:?] OF IfcReferencesValueDocument FOR ReferencingValues;
- ValueOfComponents : SET [0:?] OF IfcAppliedValueRelationship FOR ComponentOfTotal;
- IsComponentIn : SET [0:?] OF IfcAppliedValueRelationship FOR Components;
- WHERE
- WR1 : EXISTS (AppliedValue) OR
- EXISTS (ValueOfComponents);
-END_ENTITY;
-
-ENTITY IfcAppliedValueRelationship;
- ComponentOfTotal : IfcAppliedValue;
- Components : SET [1:?] OF IfcAppliedValue;
- ArithmeticOperator : IfcArithmeticOperatorEnum;
- Name : OPTIONAL IfcLabel;
- Description : OPTIONAL IfcText;
-END_ENTITY;
-
-ENTITY IfcApproval;
- Description : OPTIONAL IfcText;
- ApprovalDateTime : IfcDateTimeSelect;
- ApprovalStatus : OPTIONAL IfcLabel;
- ApprovalLevel : OPTIONAL IfcLabel;
- ApprovalQualifier : OPTIONAL IfcText;
- Name : IfcLabel;
- Identifier : IfcIdentifier;
- INVERSE
- Actors : SET [0:?] OF IfcApprovalActorRelationship FOR Approval;
- IsRelatedWith : SET [0:?] OF IfcApprovalRelationship FOR RelatedApproval;
- Relates : SET [0:?] OF IfcApprovalRelationship FOR RelatingApproval;
-END_ENTITY;
-
-ENTITY IfcApprovalActorRelationship;
- Actor : IfcActorSelect;
- Approval : IfcApproval;
- Role : IfcActorRole;
-END_ENTITY;
-
-ENTITY IfcApprovalPropertyRelationship;
- ApprovedProperties : SET [1:?] OF IfcProperty;
- Approval : IfcApproval;
-END_ENTITY;
-
-ENTITY IfcApprovalRelationship;
- RelatedApproval : IfcApproval;
- RelatingApproval : IfcApproval;
- Description : OPTIONAL IfcText;
- Name : IfcLabel;
-END_ENTITY;
-
-ENTITY IfcArbitraryClosedProfileDef
- SUPERTYPE OF (ONEOF
- (IfcArbitraryProfileDefWithVoids))
- SUBTYPE OF (IfcProfileDef);
- OuterCurve : IfcCurve;
- WHERE
- WR1 : OuterCurve.Dim = 2;
- WR2 : NOT('IFC2X3.IFCLINE' IN TYPEOF(OuterCurve));
- WR3 : NOT('IFC2X3.IFCOFFSETCURVE2D' IN TYPEOF(OuterCurve));
-END_ENTITY;
-
-ENTITY IfcArbitraryOpenProfileDef
- SUPERTYPE OF (ONEOF
- (IfcCenterLineProfileDef))
- SUBTYPE OF (IfcProfileDef);
- Curve : IfcBoundedCurve;
- WHERE
- WR11 : ('IFC2X3.IFCCENTERLINEPROFILEDEF' IN TYPEOF(SELF)) OR
- (SELF\IfcProfileDef.ProfileType = IfcProfileTypeEnum.CURVE);
- WR12 : Curve.Dim = 2;
-END_ENTITY;
-
-ENTITY IfcArbitraryProfileDefWithVoids
- SUBTYPE OF (IfcArbitraryClosedProfileDef);
- InnerCurves : SET [1:?] OF IfcCurve;
- WHERE
- WR1 : SELF\IfcProfileDef.ProfileType = AREA;
- WR2 : SIZEOF(QUERY(temp <* InnerCurves | temp.Dim <> 2)) = 0;
- WR3 : SIZEOF(QUERY(temp <* InnerCurves | 'IFC2X3.IFCLINE' IN TYPEOF(temp))) = 0;
-END_ENTITY;
-
-ENTITY IfcAsset
- SUBTYPE OF (IfcGroup);
- AssetID : IfcIdentifier;
- OriginalValue : IfcCostValue;
- CurrentValue : IfcCostValue;
- TotalReplacementCost : IfcCostValue;
- Owner : IfcActorSelect;
- User : IfcActorSelect;
- ResponsiblePerson : IfcPerson;
- IncorporationDate : IfcCalendarDate;
- DepreciatedValue : IfcCostValue;
- WHERE
- WR1 : SIZEOF(QUERY(Temp <* SELF\IfcGroup.IsGroupedBy.RelatedObjects | NOT('IFC2X3.IFCELEMENT' IN TYPEOF(Temp)))) = 0;
-END_ENTITY;
-
-ENTITY IfcAsymmetricIShapeProfileDef
- SUBTYPE OF (IfcIShapeProfileDef);
- TopFlangeWidth : IfcPositiveLengthMeasure;
- TopFlangeThickness : OPTIONAL IfcPositiveLengthMeasure;
- TopFlangeFilletRadius : OPTIONAL IfcPositiveLengthMeasure;
- CentreOfGravityInY : OPTIONAL IfcPositiveLengthMeasure;
-END_ENTITY;
-
-ENTITY IfcAxis1Placement
- SUBTYPE OF (IfcPlacement);
- Axis : OPTIONAL IfcDirection;
- DERIVE
- Z : IfcDirection := NVL (IfcNormalise(Axis), IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcDirection([0.0,0.0,1.0]));
- WHERE
- WR1 : (NOT (EXISTS (Axis))) OR (Axis.Dim = 3);
- WR2 : SELF\IfcPlacement.Location.Dim = 3;
-END_ENTITY;
-
-ENTITY IfcAxis2Placement2D
- SUBTYPE OF (IfcPlacement);
- RefDirection : OPTIONAL IfcDirection;
- DERIVE
- P : LIST [2:2] OF IfcDirection := IfcBuild2Axes(RefDirection);
- WHERE
- WR1 : (NOT (EXISTS (RefDirection))) OR (RefDirection.Dim = 2);
- WR2 : SELF\IfcPlacement.Location.Dim = 2;
-END_ENTITY;
-
-ENTITY IfcAxis2Placement3D
- SUBTYPE OF (IfcPlacement);
- Axis : OPTIONAL IfcDirection;
- RefDirection : OPTIONAL IfcDirection;
- DERIVE
- P : LIST [3:3] OF IfcDirection := IfcBuildAxes(Axis, RefDirection);
- WHERE
- WR1 : SELF\IfcPlacement.Location.Dim = 3;
- WR2 : (NOT (EXISTS (Axis))) OR (Axis.Dim = 3);
- WR3 : (NOT (EXISTS (RefDirection))) OR (RefDirection.Dim = 3);
- WR4 : (NOT (EXISTS (Axis))) OR (NOT (EXISTS (RefDirection))) OR (IfcCrossProduct(Axis,RefDirection).Magnitude > 0.0);
- WR5 : NOT ((EXISTS (Axis)) XOR (EXISTS (RefDirection)));
-END_ENTITY;
-
-ENTITY IfcBSplineCurve
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcBezierCurve))
- SUBTYPE OF (IfcBoundedCurve);
- Degree : INTEGER;
- ControlPointsList : LIST [2:?] OF IfcCartesianPoint;
- CurveForm : IfcBSplineCurveForm;
- ClosedCurve : LOGICAL;
- SelfIntersect : LOGICAL;
- DERIVE
- ControlPoints : ARRAY [0:255] OF IfcCartesianPoint := IfcListToArray(ControlPointsList,0,UpperIndexOnControlPoints);
- UpperIndexOnControlPoints : INTEGER := (SIZEOF(ControlPointsList) - 1);
- WHERE
- WR41 : SIZEOF(QUERY(Temp <* ControlPointsList |
- Temp.Dim <> ControlPointsList[1].Dim))
- = 0;
-END_ENTITY;
-
-ENTITY IfcBeam
- SUBTYPE OF (IfcBuildingElement);
-END_ENTITY;
-
-ENTITY IfcBeamType
- SUBTYPE OF (IfcBuildingElementType);
- PredefinedType : IfcBeamTypeEnum;
-END_ENTITY;
-
-ENTITY IfcBezierCurve
- SUPERTYPE OF (ONEOF
- (IfcRationalBezierCurve))
- SUBTYPE OF (IfcBSplineCurve);
-END_ENTITY;
-
-ENTITY IfcBlobTexture
- SUBTYPE OF (IfcSurfaceTexture);
- RasterFormat : IfcIdentifier;
- RasterCode : BOOLEAN;
- WHERE
- WR11 : SELF.RasterFormat IN ['BMP', 'JPG', 'GIF', 'PNG'];
-END_ENTITY;
-
-ENTITY IfcBlock
- SUBTYPE OF (IfcCsgPrimitive3D);
- XLength : IfcPositiveLengthMeasure;
- YLength : IfcPositiveLengthMeasure;
- ZLength : IfcPositiveLengthMeasure;
-END_ENTITY;
-
-ENTITY IfcBoilerType
- SUBTYPE OF (IfcEnergyConversionDeviceType);
- PredefinedType : IfcBoilerTypeEnum;
- WHERE
- WR1 : (PredefinedType <> IfcBoilerTypeEnum.USERDEFINED) OR
- ((PredefinedType = IfcBoilerTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
-END_ENTITY;
-
-ENTITY IfcBooleanClippingResult
- SUBTYPE OF (IfcBooleanResult);
- WHERE
- WR1 : ('IFC2X3.IFCSWEPTAREASOLID' IN TYPEOF(FirstOperand)) OR ('IFC2X3.IFCBOOLEANCLIPPINGRESULT' IN TYPEOF(FirstOperand));
- WR2 : ('IFC2X3.IFCHALFSPACESOLID' IN TYPEOF(SecondOperand));
- WR3 : Operator = DIFFERENCE;
-END_ENTITY;
-
-ENTITY IfcBooleanResult
- SUPERTYPE OF (ONEOF
- (IfcBooleanClippingResult))
- SUBTYPE OF (IfcGeometricRepresentationItem);
- Operator : IfcBooleanOperator;
- FirstOperand : IfcBooleanOperand;
- SecondOperand : IfcBooleanOperand;
- DERIVE
- Dim : IfcDimensionCount := FirstOperand.Dim;
- WHERE
- WR1 : FirstOperand.Dim = SecondOperand.Dim;
-END_ENTITY;
-
-ENTITY IfcBoundaryCondition
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcBoundaryEdgeCondition
- ,IfcBoundaryFaceCondition
- ,IfcBoundaryNodeCondition));
- Name : OPTIONAL IfcLabel;
-END_ENTITY;
-
-ENTITY IfcBoundaryEdgeCondition
- SUBTYPE OF (IfcBoundaryCondition);
- LinearStiffnessByLengthX : OPTIONAL IfcModulusOfLinearSubgradeReactionMeasure;
- LinearStiffnessByLengthY : OPTIONAL IfcModulusOfLinearSubgradeReactionMeasure;
- LinearStiffnessByLengthZ : OPTIONAL IfcModulusOfLinearSubgradeReactionMeasure;
- RotationalStiffnessByLengthX : OPTIONAL IfcModulusOfRotationalSubgradeReactionMeasure;
- RotationalStiffnessByLengthY : OPTIONAL IfcModulusOfRotationalSubgradeReactionMeasure;
- RotationalStiffnessByLengthZ : OPTIONAL IfcModulusOfRotationalSubgradeReactionMeasure;
-END_ENTITY;
-
-ENTITY IfcBoundaryFaceCondition
- SUBTYPE OF (IfcBoundaryCondition);
- LinearStiffnessByAreaX : OPTIONAL IfcModulusOfSubgradeReactionMeasure;
- LinearStiffnessByAreaY : OPTIONAL IfcModulusOfSubgradeReactionMeasure;
- LinearStiffnessByAreaZ : OPTIONAL IfcModulusOfSubgradeReactionMeasure;
-END_ENTITY;
-
-ENTITY IfcBoundaryNodeCondition
- SUPERTYPE OF (ONEOF
- (IfcBoundaryNodeConditionWarping))
- SUBTYPE OF (IfcBoundaryCondition);
- LinearStiffnessX : OPTIONAL IfcLinearStiffnessMeasure;
- LinearStiffnessY : OPTIONAL IfcLinearStiffnessMeasure;
- LinearStiffnessZ : OPTIONAL IfcLinearStiffnessMeasure;
- RotationalStiffnessX : OPTIONAL IfcRotationalStiffnessMeasure;
- RotationalStiffnessY : OPTIONAL IfcRotationalStiffnessMeasure;
- RotationalStiffnessZ : OPTIONAL IfcRotationalStiffnessMeasure;
-END_ENTITY;
-
-ENTITY IfcBoundaryNodeConditionWarping
- SUBTYPE OF (IfcBoundaryNodeCondition);
- WarpingStiffness : OPTIONAL IfcWarpingMomentMeasure;
-END_ENTITY;
-
-ENTITY IfcBoundedCurve
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcBSplineCurve
- ,IfcCompositeCurve
- ,IfcPolyline
- ,IfcTrimmedCurve))
- SUBTYPE OF (IfcCurve);
-END_ENTITY;
-
-ENTITY IfcBoundedSurface
- SUPERTYPE OF (ONEOF
- (IfcCurveBoundedPlane
- ,IfcRectangularTrimmedSurface))
- SUBTYPE OF (IfcSurface);
-END_ENTITY;
-
-ENTITY IfcBoundingBox
- SUBTYPE OF (IfcGeometricRepresentationItem);
- Corner : IfcCartesianPoint;
- XDim : IfcPositiveLengthMeasure;
- YDim : IfcPositiveLengthMeasure;
- ZDim : IfcPositiveLengthMeasure;
- DERIVE
- Dim : IfcDimensionCount := 3;
-END_ENTITY;
-
-ENTITY IfcBoxedHalfSpace
- SUBTYPE OF (IfcHalfSpaceSolid);
- Enclosure : IfcBoundingBox;
- WHERE
- WR1 : NOT ('IFC2X3.IFCCURVEBOUNDEDPLANE' IN TYPEOF(SELF\IfcHalfSpaceSolid.BaseSurface));
-END_ENTITY;
-
-ENTITY IfcBuilding
- SUBTYPE OF (IfcSpatialStructureElement);
- ElevationOfRefHeight : OPTIONAL IfcLengthMeasure;
- ElevationOfTerrain : OPTIONAL IfcLengthMeasure;
- BuildingAddress : OPTIONAL IfcPostalAddress;
-END_ENTITY;
-
-ENTITY IfcBuildingElement
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcBeam
- ,IfcBuildingElementComponent
- ,IfcBuildingElementProxy
- ,IfcColumn
- ,IfcCovering
- ,IfcCurtainWall
- ,IfcDoor
- ,IfcFooting
- ,IfcMember
- ,IfcPile
- ,IfcPlate
- ,IfcRailing
- ,IfcRamp
- ,IfcRampFlight
- ,IfcRoof
- ,IfcSlab
- ,IfcStair
- ,IfcStairFlight
- ,IfcWall
- ,IfcWindow))
- SUBTYPE OF (IfcElement);
-END_ENTITY;
-
-ENTITY IfcBuildingElementComponent
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcBuildingElementPart
- ,IfcReinforcingElement))
- SUBTYPE OF (IfcBuildingElement);
-END_ENTITY;
-
-ENTITY IfcBuildingElementPart
- SUBTYPE OF (IfcBuildingElementComponent);
-END_ENTITY;
-
-ENTITY IfcBuildingElementProxy
- SUBTYPE OF (IfcBuildingElement);
- CompositionType : OPTIONAL IfcElementCompositionEnum;
- WHERE
- WR1 : EXISTS(SELF\IfcRoot.Name);
-END_ENTITY;
-
-ENTITY IfcBuildingElementProxyType
- SUBTYPE OF (IfcBuildingElementType);
- PredefinedType : IfcBuildingElementProxyTypeEnum;
-END_ENTITY;
-
-ENTITY IfcBuildingElementType
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcBeamType
- ,IfcBuildingElementProxyType
- ,IfcColumnType
- ,IfcCoveringType
- ,IfcCurtainWallType
- ,IfcMemberType
- ,IfcPlateType
- ,IfcRailingType
- ,IfcRampFlightType
- ,IfcSlabType
- ,IfcStairFlightType
- ,IfcWallType))
- SUBTYPE OF (IfcElementType);
-END_ENTITY;
-
-ENTITY IfcBuildingStorey
- SUBTYPE OF (IfcSpatialStructureElement);
- Elevation : OPTIONAL IfcLengthMeasure;
-END_ENTITY;
-
-ENTITY IfcCShapeProfileDef
- SUBTYPE OF (IfcParameterizedProfileDef);
- Depth : IfcPositiveLengthMeasure;
- Width : IfcPositiveLengthMeasure;
- WallThickness : IfcPositiveLengthMeasure;
- Girth : IfcPositiveLengthMeasure;
- InternalFilletRadius : OPTIONAL IfcPositiveLengthMeasure;
- CentreOfGravityInX : OPTIONAL IfcPositiveLengthMeasure;
- WHERE
- WR1 : Girth < (Depth / 2.);
- WR2 : NOT(EXISTS(InternalFilletRadius)) OR
- ((InternalFilletRadius <= Width/2.) AND (InternalFilletRadius <= Depth/2.));
- WR3 : (WallThickness < Width/2.) AND (WallThickness < Depth/2.);
-END_ENTITY;
-
-ENTITY IfcCableCarrierFittingType
- SUBTYPE OF (IfcFlowFittingType);
- PredefinedType : IfcCableCarrierFittingTypeEnum;
- WHERE
- WR1 : (PredefinedType <> IfcCableCarrierFittingTypeEnum.USERDEFINED) OR
- ((PredefinedType = IfcCableCarrierFittingTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
-END_ENTITY;
-
-ENTITY IfcCableCarrierSegmentType
- SUBTYPE OF (IfcFlowSegmentType);
- PredefinedType : IfcCableCarrierSegmentTypeEnum;
-END_ENTITY;
-
-ENTITY IfcCableSegmentType
- SUBTYPE OF (IfcFlowSegmentType);
- PredefinedType : IfcCableSegmentTypeEnum;
-END_ENTITY;
-
-ENTITY IfcCalendarDate;
- DayComponent : IfcDayInMonthNumber;
- MonthComponent : IfcMonthInYearNumber;
- YearComponent : IfcYearNumber;
- WHERE
- WR21 : IfcValidCalendarDate (SELF);
-END_ENTITY;
-
-ENTITY IfcCartesianPoint
- SUBTYPE OF (IfcPoint);
- Coordinates : LIST [1:3] OF IfcLengthMeasure;
- DERIVE
- Dim : IfcDimensionCount := HIINDEX(Coordinates);
- WHERE
- WR1 : HIINDEX(Coordinates) >= 2;
-END_ENTITY;
-
-ENTITY IfcCartesianTransformationOperator
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcCartesianTransformationOperator2D
- ,IfcCartesianTransformationOperator3D))
- SUBTYPE OF (IfcGeometricRepresentationItem);
- Axis1 : OPTIONAL IfcDirection;
- Axis2 : OPTIONAL IfcDirection;
- LocalOrigin : IfcCartesianPoint;
- Scale : OPTIONAL REAL;
- DERIVE
- Scl : REAL := NVL(Scale, 1.0);
- Dim : IfcDimensionCount := LocalOrigin.Dim;
- WHERE
- WR1 : Scl > 0.0;
-END_ENTITY;
-
-ENTITY IfcCartesianTransformationOperator2D
- SUPERTYPE OF (ONEOF
- (IfcCartesianTransformationOperator2DnonUniform))
- SUBTYPE OF (IfcCartesianTransformationOperator);
- DERIVE
- U : LIST [2:2] OF IfcDirection := IfcBaseAxis(2,SELF\IfcCartesianTransformationOperator.Axis1,
- SELF\IfcCartesianTransformationOperator.Axis2,?);
- WHERE
- WR1 : SELF\IfcCartesianTransformationOperator.Dim = 2;
- WR2 : NOT(EXISTS(SELF\IfcCartesianTransformationOperator.Axis1)) OR
- (SELF\IfcCartesianTransformationOperator.Axis1.Dim = 2);
- WR3 : NOT(EXISTS(SELF\IfcCartesianTransformationOperator.Axis2)) OR
- (SELF\IfcCartesianTransformationOperator.Axis2.Dim = 2);
-END_ENTITY;
-
-ENTITY IfcCartesianTransformationOperator2DnonUniform
- SUBTYPE OF (IfcCartesianTransformationOperator2D);
- Scale2 : OPTIONAL REAL;
- DERIVE
- Scl2 : REAL := NVL(Scale2, SELF\IfcCartesianTransformationOperator.Scl);
- WHERE
- WR1 : Scl2 > 0.0;
-END_ENTITY;
-
-ENTITY IfcCartesianTransformationOperator3D
- SUPERTYPE OF (ONEOF
- (IfcCartesianTransformationOperator3DnonUniform))
- SUBTYPE OF (IfcCartesianTransformationOperator);
- Axis3 : OPTIONAL IfcDirection;
- DERIVE
- U : LIST [3:3] OF IfcDirection := IfcBaseAxis(3,SELF\IfcCartesianTransformationOperator.Axis1,
- SELF\IfcCartesianTransformationOperator.Axis2,Axis3);
- WHERE
- WR1 : SELF\IfcCartesianTransformationOperator.Dim = 3;
- WR2 : NOT(EXISTS(SELF\IfcCartesianTransformationOperator.Axis1)) OR
- (SELF\IfcCartesianTransformationOperator.Axis1.Dim = 3);
- WR3 : NOT(EXISTS(SELF\IfcCartesianTransformationOperator.Axis2)) OR
- (SELF\IfcCartesianTransformationOperator.Axis2.Dim = 3);
- WR4 : NOT(EXISTS(Axis3)) OR (Axis3.Dim = 3);
-END_ENTITY;
-
-ENTITY IfcCartesianTransformationOperator3DnonUniform
- SUBTYPE OF (IfcCartesianTransformationOperator3D);
- Scale2 : OPTIONAL REAL;
- Scale3 : OPTIONAL REAL;
- DERIVE
- Scl2 : REAL := NVL(Scale2, SELF\IfcCartesianTransformationOperator.Scl);
- Scl3 : REAL := NVL(Scale3, SELF\IfcCartesianTransformationOperator.Scl);
- WHERE
- WR1 : Scl2 > 0.0;
- WR2 : Scl3 > 0.0;
-END_ENTITY;
-
-ENTITY IfcCenterLineProfileDef
- SUBTYPE OF (IfcArbitraryOpenProfileDef);
- Thickness : IfcPositiveLengthMeasure;
-END_ENTITY;
-
-ENTITY IfcChamferEdgeFeature
- SUBTYPE OF (IfcEdgeFeature);
- Width : OPTIONAL IfcPositiveLengthMeasure;
- Height : OPTIONAL IfcPositiveLengthMeasure;
-END_ENTITY;
-
-ENTITY IfcChillerType
- SUBTYPE OF (IfcEnergyConversionDeviceType);
- PredefinedType : IfcChillerTypeEnum;
- WHERE
- WR1 : (PredefinedType <> IfcChillerTypeEnum.USERDEFINED) OR
- ((PredefinedType = IfcChillerTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
-END_ENTITY;
-
-ENTITY IfcCircle
- SUBTYPE OF (IfcConic);
- Radius : IfcPositiveLengthMeasure;
-END_ENTITY;
-
-ENTITY IfcCircleHollowProfileDef
- SUBTYPE OF (IfcCircleProfileDef);
- WallThickness : IfcPositiveLengthMeasure;
- WHERE
- WR1 : WallThickness < SELF\IfcCircleProfileDef.Radius;
-END_ENTITY;
-
-ENTITY IfcCircleProfileDef
- SUPERTYPE OF (ONEOF
- (IfcCircleHollowProfileDef))
- SUBTYPE OF (IfcParameterizedProfileDef);
- Radius : IfcPositiveLengthMeasure;
-END_ENTITY;
-
-ENTITY IfcClassification;
- Source : IfcLabel;
- Edition : IfcLabel;
- EditionDate : OPTIONAL IfcCalendarDate;
- Name : IfcLabel;
- INVERSE
- Contains : SET [0:?] OF IfcClassificationItem FOR ItemOf;
-END_ENTITY;
-
-ENTITY IfcClassificationItem;
- Notation : IfcClassificationNotationFacet;
- ItemOf : OPTIONAL IfcClassification;
- Title : IfcLabel;
- INVERSE
- IsClassifiedItemIn : SET [0:1] OF IfcClassificationItemRelationship FOR RelatedItems;
- IsClassifyingItemIn : SET [0:1] OF IfcClassificationItemRelationship FOR RelatingItem;
-END_ENTITY;
-
-ENTITY IfcClassificationItemRelationship;
- RelatingItem : IfcClassificationItem;
- RelatedItems : SET [1:?] OF IfcClassificationItem;
-END_ENTITY;
-
-ENTITY IfcClassificationNotation;
- NotationFacets : SET [1:?] OF IfcClassificationNotationFacet;
-END_ENTITY;
-
-ENTITY IfcClassificationNotationFacet;
- NotationValue : IfcLabel;
-END_ENTITY;
-
-ENTITY IfcClassificationReference
- SUBTYPE OF (IfcExternalReference);
- ReferencedSource : OPTIONAL IfcClassification;
-END_ENTITY;
-
-ENTITY IfcClosedShell
- SUBTYPE OF (IfcConnectedFaceSet);
-END_ENTITY;
-
-ENTITY IfcCoilType
- SUBTYPE OF (IfcEnergyConversionDeviceType);
- PredefinedType : IfcCoilTypeEnum;
- WHERE
- WR1 : (PredefinedType <> IfcCoilTypeEnum.USERDEFINED) OR
- ((PredefinedType = IfcCoilTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
-END_ENTITY;
-
-ENTITY IfcColourRgb
- SUBTYPE OF (IfcColourSpecification);
- Red : IfcNormalisedRatioMeasure;
- Green : IfcNormalisedRatioMeasure;
- Blue : IfcNormalisedRatioMeasure;
-END_ENTITY;
-
-ENTITY IfcColourSpecification
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcColourRgb));
- Name : OPTIONAL IfcLabel;
-END_ENTITY;
-
-ENTITY IfcColumn
- SUBTYPE OF (IfcBuildingElement);
-END_ENTITY;
-
-ENTITY IfcColumnType
- SUBTYPE OF (IfcBuildingElementType);
- PredefinedType : IfcColumnTypeEnum;
-END_ENTITY;
-
-ENTITY IfcComplexProperty
- SUBTYPE OF (IfcProperty);
- UsageName : IfcIdentifier;
- HasProperties : SET [1:?] OF IfcProperty;
- WHERE
- WR21 : SIZEOF(QUERY(temp <* HasProperties | SELF :=: temp)) = 0;
- WR22 : IfcUniquePropertyName(HasProperties);
-END_ENTITY;
-
-ENTITY IfcCompositeCurve
- SUPERTYPE OF (ONEOF
- (Ifc2DCompositeCurve))
- SUBTYPE OF (IfcBoundedCurve);
- Segments : LIST [1:?] OF IfcCompositeCurveSegment;
- SelfIntersect : LOGICAL;
- DERIVE
- NSegments : INTEGER := SIZEOF(Segments);
- ClosedCurve : LOGICAL := Segments[NSegments].Transition <> Discontinuous;
- WHERE
- WR41 : ((NOT ClosedCurve) AND (SIZEOF(QUERY(Temp <* Segments | Temp.Transition = Discontinuous)) = 1)) OR ((ClosedCurve) AND (SIZEOF(QUERY(Temp <* Segments | Temp.Transition = Discontinuous)) = 0));
- WR42 : SIZEOF( QUERY( Temp <* Segments | Temp.Dim <> Segments[1].Dim)) = 0;
-END_ENTITY;
-
-ENTITY IfcCompositeCurveSegment
- SUBTYPE OF (IfcGeometricRepresentationItem);
- Transition : IfcTransitionCode;
- SameSense : BOOLEAN;
- ParentCurve : IfcCurve;
- DERIVE
- Dim : IfcDimensionCount := ParentCurve.Dim;
- INVERSE
- UsingCurves : SET [1:?] OF IfcCompositeCurve FOR Segments;
- WHERE
- WR1 : ('IFC2X3.IFCBOUNDEDCURVE' IN TYPEOF(ParentCurve));
-END_ENTITY;
-
-ENTITY IfcCompositeProfileDef
- SUBTYPE OF (IfcProfileDef);
- Profiles : SET [2:?] OF IfcProfileDef;
- Label : OPTIONAL IfcLabel;
- WHERE
- WR1 : SIZEOF(QUERY(temp <* Profiles | temp.ProfileType <> Profiles[1].ProfileType)) = 0;
- WR2 : SIZEOF(QUERY(temp <* Profiles | 'IFC2X3.IFCCOMPOSITEPROFILEDEF' IN TYPEOF(temp))) = 0;
-END_ENTITY;
-
-ENTITY IfcCompressorType
- SUBTYPE OF (IfcFlowMovingDeviceType);
- PredefinedType : IfcCompressorTypeEnum;
- WHERE
- WR1 : (PredefinedType <> IfcCompressorTypeEnum.USERDEFINED) OR
- ((PredefinedType = IfcCompressorTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
-END_ENTITY;
-
-ENTITY IfcCondenserType
- SUBTYPE OF (IfcEnergyConversionDeviceType);
- PredefinedType : IfcCondenserTypeEnum;
- WHERE
- WR1 : (PredefinedType <> IfcCondenserTypeEnum.USERDEFINED) OR
- ((PredefinedType = IfcCondenserTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
-END_ENTITY;
-
-ENTITY IfcCondition
- SUBTYPE OF (IfcGroup);
-END_ENTITY;
-
-ENTITY IfcConditionCriterion
- SUBTYPE OF (IfcControl);
- Criterion : IfcConditionCriterionSelect;
- CriterionDateTime : IfcDateTimeSelect;
- WHERE
- WR1 : EXISTS(SELF\IfcRoot.Name);
-END_ENTITY;
-
-ENTITY IfcConic
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcCircle
- ,IfcEllipse))
- SUBTYPE OF (IfcCurve);
- Position : IfcAxis2Placement;
-END_ENTITY;
-
-ENTITY IfcConnectedFaceSet
- SUPERTYPE OF (ONEOF
- (IfcClosedShell
- ,IfcOpenShell))
- SUBTYPE OF (IfcTopologicalRepresentationItem);
- CfsFaces : SET [1:?] OF IfcFace;
-END_ENTITY;
-
-ENTITY IfcConnectionCurveGeometry
- SUBTYPE OF (IfcConnectionGeometry);
- CurveOnRelatingElement : IfcCurveOrEdgeCurve;
- CurveOnRelatedElement : OPTIONAL IfcCurveOrEdgeCurve;
-END_ENTITY;
-
-ENTITY IfcConnectionGeometry
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcConnectionCurveGeometry
- ,IfcConnectionPointGeometry
- ,IfcConnectionPortGeometry
- ,IfcConnectionSurfaceGeometry));
-END_ENTITY;
-
-ENTITY IfcConnectionPointEccentricity
- SUBTYPE OF (IfcConnectionPointGeometry);
- EccentricityInX : OPTIONAL IfcLengthMeasure;
- EccentricityInY : OPTIONAL IfcLengthMeasure;
- EccentricityInZ : OPTIONAL IfcLengthMeasure;
-END_ENTITY;
-
-ENTITY IfcConnectionPointGeometry
- SUPERTYPE OF (ONEOF
- (IfcConnectionPointEccentricity))
- SUBTYPE OF (IfcConnectionGeometry);
- PointOnRelatingElement : IfcPointOrVertexPoint;
- PointOnRelatedElement : OPTIONAL IfcPointOrVertexPoint;
-END_ENTITY;
-
-ENTITY IfcConnectionPortGeometry
- SUBTYPE OF (IfcConnectionGeometry);
- LocationAtRelatingElement : IfcAxis2Placement;
- LocationAtRelatedElement : OPTIONAL IfcAxis2Placement;
- ProfileOfPort : IfcProfileDef;
-END_ENTITY;
-
-ENTITY IfcConnectionSurfaceGeometry
- SUBTYPE OF (IfcConnectionGeometry);
- SurfaceOnRelatingElement : IfcSurfaceOrFaceSurface;
- SurfaceOnRelatedElement : OPTIONAL IfcSurfaceOrFaceSurface;
-END_ENTITY;
-
-ENTITY IfcConstraint
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcMetric
- ,IfcObjective));
- Name : IfcLabel;
- Description : OPTIONAL IfcText;
- ConstraintGrade : IfcConstraintEnum;
- ConstraintSource : OPTIONAL IfcLabel;
- CreatingActor : OPTIONAL IfcActorSelect;
- CreationTime : OPTIONAL IfcDateTimeSelect;
- UserDefinedGrade : OPTIONAL IfcLabel;
- INVERSE
- ClassifiedAs : SET [0:?] OF IfcConstraintClassificationRelationship FOR ClassifiedConstraint;
- RelatesConstraints : SET [0:?] OF IfcConstraintRelationship FOR RelatingConstraint;
- IsRelatedWith : SET [0:?] OF IfcConstraintRelationship FOR RelatedConstraints;
- PropertiesForConstraint : SET [0:?] OF IfcPropertyConstraintRelationship FOR RelatingConstraint;
- Aggregates : SET [0:?] OF IfcConstraintAggregationRelationship FOR RelatingConstraint;
- IsAggregatedIn : SET [0:?] OF IfcConstraintAggregationRelationship FOR RelatedConstraints;
- WHERE
- WR11 : (ConstraintGrade <> IfcConstraintEnum.USERDEFINED) OR
- ((ConstraintGrade = IfcConstraintEnum.USERDEFINED) AND EXISTS(SELF\IfcConstraint.UserDefinedGrade));
-END_ENTITY;
-
-ENTITY IfcConstraintAggregationRelationship;
- Name : OPTIONAL IfcLabel;
- Description : OPTIONAL IfcText;
- RelatingConstraint : IfcConstraint;
- RelatedConstraints : LIST [1:?] OF UNIQUE IfcConstraint;
- LogicalAggregator : IfcLogicalOperatorEnum;
- WHERE
- WR11 : SIZEOF(QUERY(temp <* RelatedConstraints |
- temp :=: RelatingConstraint
- )) = 0;
-END_ENTITY;
-
-ENTITY IfcConstraintClassificationRelationship;
- ClassifiedConstraint : IfcConstraint;
- RelatedClassifications : SET [1:?] OF IfcClassificationNotationSelect;
-END_ENTITY;
-
-ENTITY IfcConstraintRelationship;
- Name : OPTIONAL IfcLabel;
- Description : OPTIONAL IfcText;
- RelatingConstraint : IfcConstraint;
- RelatedConstraints : SET [1:?] OF IfcConstraint;
- WHERE
- WR11 : SIZEOF(QUERY(temp <* RelatedConstraints | temp :=: RelatingConstraint )) = 0;
-END_ENTITY;
-
-ENTITY IfcConstructionEquipmentResource
- SUBTYPE OF (IfcConstructionResource);
-END_ENTITY;
-
-ENTITY IfcConstructionMaterialResource
- SUBTYPE OF (IfcConstructionResource);
- Suppliers : OPTIONAL SET [1:?] OF IfcActorSelect;
- UsageRatio : OPTIONAL IfcRatioMeasure;
- WHERE
- WR1 : SIZEOF(SELF\IfcResource.ResourceOf) <=1;
- WR2 : NOT(EXISTS(SELF\IfcResource.ResourceOf[1])) OR
- (SELF\IfcResource.ResourceOf[1].RelatedObjectsType = IfcObjectTypeEnum.PRODUCT);
-END_ENTITY;
-
-ENTITY IfcConstructionProductResource
- SUBTYPE OF (IfcConstructionResource);
- WHERE
- WR1 : SIZEOF(SELF\IfcResource.ResourceOf) <=1;
- WR2 : NOT(EXISTS(SELF\IfcResource.ResourceOf[1])) OR
- (SELF\IfcResource.ResourceOf[1].RelatedObjectsType = IfcObjectTypeEnum.PRODUCT);
-END_ENTITY;
-
-ENTITY IfcConstructionResource
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcConstructionEquipmentResource
- ,IfcConstructionMaterialResource
- ,IfcConstructionProductResource
- ,IfcCrewResource
- ,IfcLaborResource
- ,IfcSubContractResource))
- SUBTYPE OF (IfcResource);
- ResourceIdentifier : OPTIONAL IfcIdentifier;
- ResourceGroup : OPTIONAL IfcLabel;
- ResourceConsumption : OPTIONAL IfcResourceConsumptionEnum;
- BaseQuantity : OPTIONAL IfcMeasureWithUnit;
-END_ENTITY;
-
-ENTITY IfcContextDependentUnit
- SUBTYPE OF (IfcNamedUnit);
- Name : IfcLabel;
-END_ENTITY;
-
-ENTITY IfcControl
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcActionRequest
- ,IfcConditionCriterion
- ,IfcCostItem
- ,IfcCostSchedule
- ,IfcEquipmentStandard
- ,IfcFurnitureStandard
- ,IfcPerformanceHistory
- ,IfcPermit
- ,IfcProjectOrder
- ,IfcProjectOrderRecord
- ,IfcScheduleTimeControl
- ,IfcServiceLife
- ,IfcSpaceProgram
- ,IfcTimeSeriesSchedule
- ,IfcWorkControl))
- SUBTYPE OF (IfcObject);
- INVERSE
- Controls : SET [0:?] OF IfcRelAssignsToControl FOR RelatingControl;
-END_ENTITY;
-
-ENTITY IfcControllerType
- SUBTYPE OF (IfcDistributionControlElementType);
- PredefinedType : IfcControllerTypeEnum;
-END_ENTITY;
-
-ENTITY IfcConversionBasedUnit
- SUBTYPE OF (IfcNamedUnit);
- Name : IfcLabel;
- ConversionFactor : IfcMeasureWithUnit;
-END_ENTITY;
-
-ENTITY IfcCooledBeamType
- SUBTYPE OF (IfcEnergyConversionDeviceType);
- PredefinedType : IfcCooledBeamTypeEnum;
- WHERE
- WR1 : (PredefinedType <> IfcCooledBeamTypeEnum.USERDEFINED) OR
- ((PredefinedType = IfcCooledBeamTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
-END_ENTITY;
-
-ENTITY IfcCoolingTowerType
- SUBTYPE OF (IfcEnergyConversionDeviceType);
- PredefinedType : IfcCoolingTowerTypeEnum;
- WHERE
- WR1 : (PredefinedType <> IfcCoolingTowerTypeEnum.USERDEFINED) OR
- ((PredefinedType = IfcCoolingTowerTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
-END_ENTITY;
-
-ENTITY IfcCoordinatedUniversalTimeOffset;
- HourOffset : IfcHourInDay;
- MinuteOffset : OPTIONAL IfcMinuteInHour;
- Sense : IfcAheadOrBehind;
-END_ENTITY;
-
-ENTITY IfcCostItem
- SUBTYPE OF (IfcControl);
-END_ENTITY;
-
-ENTITY IfcCostSchedule
- SUBTYPE OF (IfcControl);
- SubmittedBy : OPTIONAL IfcActorSelect;
- PreparedBy : OPTIONAL IfcActorSelect;
- SubmittedOn : OPTIONAL IfcDateTimeSelect;
- Status : OPTIONAL IfcLabel;
- TargetUsers : OPTIONAL SET [1:?] OF IfcActorSelect;
- UpdateDate : OPTIONAL IfcDateTimeSelect;
- ID : IfcIdentifier;
- PredefinedType : IfcCostScheduleTypeEnum;
- UNIQUE
- UR2 : ID;
-END_ENTITY;
-
-ENTITY IfcCostValue
- SUBTYPE OF (IfcAppliedValue);
- CostType : IfcLabel;
- Condition : OPTIONAL IfcText;
-END_ENTITY;
-
-ENTITY IfcCovering
- SUBTYPE OF (IfcBuildingElement);
- PredefinedType : OPTIONAL IfcCoveringTypeEnum;
- INVERSE
- CoversSpaces : SET [0:1] OF IfcRelCoversSpaces FOR RelatedCoverings;
- Covers : SET [0:1] OF IfcRelCoversBldgElements FOR RelatedCoverings;
-END_ENTITY;
-
-ENTITY IfcCoveringType
- SUBTYPE OF (IfcBuildingElementType);
- PredefinedType : IfcCoveringTypeEnum;
-END_ENTITY;
-
-ENTITY IfcCraneRailAShapeProfileDef
- SUBTYPE OF (IfcParameterizedProfileDef);
- OverallHeight : IfcPositiveLengthMeasure;
- BaseWidth2 : IfcPositiveLengthMeasure;
- Radius : OPTIONAL IfcPositiveLengthMeasure;
- HeadWidth : IfcPositiveLengthMeasure;
- HeadDepth2 : IfcPositiveLengthMeasure;
- HeadDepth3 : IfcPositiveLengthMeasure;
- WebThickness : IfcPositiveLengthMeasure;
- BaseWidth4 : IfcPositiveLengthMeasure;
- BaseDepth1 : IfcPositiveLengthMeasure;
- BaseDepth2 : IfcPositiveLengthMeasure;
- BaseDepth3 : IfcPositiveLengthMeasure;
- CentreOfGravityInY : OPTIONAL IfcPositiveLengthMeasure;
-END_ENTITY;
-
-ENTITY IfcCraneRailFShapeProfileDef
- SUBTYPE OF (IfcParameterizedProfileDef);
- OverallHeight : IfcPositiveLengthMeasure;
- HeadWidth : IfcPositiveLengthMeasure;
- Radius : OPTIONAL IfcPositiveLengthMeasure;
- HeadDepth2 : IfcPositiveLengthMeasure;
- HeadDepth3 : IfcPositiveLengthMeasure;
- WebThickness : IfcPositiveLengthMeasure;
- BaseDepth1 : IfcPositiveLengthMeasure;
- BaseDepth2 : IfcPositiveLengthMeasure;
- CentreOfGravityInY : OPTIONAL IfcPositiveLengthMeasure;
-END_ENTITY;
-
-ENTITY IfcCrewResource
- SUBTYPE OF (IfcConstructionResource);
-END_ENTITY;
-
-ENTITY IfcCsgPrimitive3D
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcBlock
- ,IfcRectangularPyramid
- ,IfcRightCircularCone
- ,IfcRightCircularCylinder
- ,IfcSphere))
- SUBTYPE OF (IfcGeometricRepresentationItem);
- Position : IfcAxis2Placement3D;
- DERIVE
- Dim : IfcDimensionCount := 3;
-END_ENTITY;
-
-ENTITY IfcCsgSolid
- SUBTYPE OF (IfcSolidModel);
- TreeRootExpression : IfcCsgSelect;
-END_ENTITY;
-
-ENTITY IfcCurrencyRelationship;
- RelatingMonetaryUnit : IfcMonetaryUnit;
- RelatedMonetaryUnit : IfcMonetaryUnit;
- ExchangeRate : IfcPositiveRatioMeasure;
- RateDateTime : IfcDateAndTime;
- RateSource : OPTIONAL IfcLibraryInformation;
-END_ENTITY;
-
-ENTITY IfcCurtainWall
- SUBTYPE OF (IfcBuildingElement);
-END_ENTITY;
-
-ENTITY IfcCurtainWallType
- SUBTYPE OF (IfcBuildingElementType);
- PredefinedType : IfcCurtainWallTypeEnum;
-END_ENTITY;
-
-ENTITY IfcCurve
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcBoundedCurve
- ,IfcConic
- ,IfcLine
- ,IfcOffsetCurve2D
- ,IfcOffsetCurve3D))
- SUBTYPE OF (IfcGeometricRepresentationItem);
- DERIVE
- Dim : IfcDimensionCount := IfcCurveDim(SELF);
-END_ENTITY;
-
-ENTITY IfcCurveBoundedPlane
- SUBTYPE OF (IfcBoundedSurface);
- BasisSurface : IfcPlane;
- OuterBoundary : IfcCurve;
- InnerBoundaries : SET [0:?] OF IfcCurve;
- DERIVE
- Dim : IfcDimensionCount := BasisSurface.Dim;
-END_ENTITY;
-
-ENTITY IfcCurveStyle
- SUBTYPE OF (IfcPresentationStyle);
- CurveFont : OPTIONAL IfcCurveFontOrScaledCurveFontSelect;
- CurveWidth : OPTIONAL IfcSizeSelect;
- CurveColour : OPTIONAL IfcColour;
- WHERE
- WR11 : (NOT(EXISTS(CurveWidth))) OR
- ('IFC2X3.IFCPOSITIVELENGTHMEASURE' IN TYPEOF(CurveWidth)) OR
- (('IFC2X3.IFCDESCRIPTIVEMEASURE' IN TYPEOF(CurveWidth)) AND
- (CurveWidth = 'by layer'));
-END_ENTITY;
-
-ENTITY IfcCurveStyleFont;
- Name : OPTIONAL IfcLabel;
- PatternList : LIST [1:?] OF IfcCurveStyleFontPattern;
-END_ENTITY;
-
-ENTITY IfcCurveStyleFontAndScaling;
- Name : OPTIONAL IfcLabel;
- CurveFont : IfcCurveStyleFontSelect;
- CurveFontScaling : IfcPositiveRatioMeasure;
-END_ENTITY;
-
-ENTITY IfcCurveStyleFontPattern;
- VisibleSegmentLength : IfcLengthMeasure;
- InvisibleSegmentLength : IfcPositiveLengthMeasure;
- WHERE
- WR01 : VisibleSegmentLength >= 0.;
-END_ENTITY;
-
-ENTITY IfcDamperType
- SUBTYPE OF (IfcFlowControllerType);
- PredefinedType : IfcDamperTypeEnum;
- WHERE
- WR1 : (PredefinedType <> IfcDamperTypeEnum.USERDEFINED) OR
- ((PredefinedType = IfcDamperTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
-END_ENTITY;
-
-ENTITY IfcDateAndTime;
- DateComponent : IfcCalendarDate;
- TimeComponent : IfcLocalTime;
-END_ENTITY;
-
-ENTITY IfcDefinedSymbol
- SUBTYPE OF (IfcGeometricRepresentationItem);
- Definition : IfcDefinedSymbolSelect;
- Target : IfcCartesianTransformationOperator2D;
-END_ENTITY;
-
-ENTITY IfcDerivedProfileDef
- SUBTYPE OF (IfcProfileDef);
- ParentProfile : IfcProfileDef;
- Operator : IfcCartesianTransformationOperator2D;
- Label : OPTIONAL IfcLabel;
- WHERE
- WR1 : SELF\IfcProfileDef.ProfileType = ParentProfile.ProfileType;
-END_ENTITY;
-
-ENTITY IfcDerivedUnit;
- Elements : SET [1:?] OF IfcDerivedUnitElement;
- UnitType : IfcDerivedUnitEnum;
- UserDefinedType : OPTIONAL IfcLabel;
- DERIVE
- Dimensions : IfcDimensionalExponents := IfcDeriveDimensionalExponents(SELF);
- WHERE
- WR1 : (SIZEOF (Elements) > 1) OR ((SIZEOF (Elements) = 1) AND (Elements[1].Exponent <> 1 ));
- WR2 : (UnitType <> IfcDerivedUnitEnum.USERDEFINED) OR
- ((UnitType = IfcDerivedUnitEnum.USERDEFINED) AND
- (EXISTS(SELF.UserDefinedType)));
-END_ENTITY;
-
-ENTITY IfcDerivedUnitElement;
- Unit : IfcNamedUnit;
- Exponent : INTEGER;
-END_ENTITY;
-
-ENTITY IfcDiameterDimension
- SUBTYPE OF (IfcDimensionCurveDirectedCallout);
-END_ENTITY;
-
-ENTITY IfcDimensionCalloutRelationship
- SUBTYPE OF (IfcDraughtingCalloutRelationship);
- WHERE
- WR11 : SELF\IfcDraughtingCalloutRelationship.Name IN ['primary','secondary'];
- WR12 : SIZEOF(TYPEOF(SELF\IfcDraughtingCalloutRelationship.RelatingDraughtingCallout) * [
- 'IFC2X3.IFCANGULARDIMENSION',
- 'IFC2X3.IFCDIAMETERDIMENSION',
- 'IFC2X3.IFCLINEARDIMENSION',
- 'IFC2X3.IFCRADIUSDIMENSION']) = 1;
- WR13 : NOT ('IFC2X3.IFCDIMENSIONCURVEDIRECTEDCALLOUT'
- IN TYPEOF (SELF\IfcDraughtingCalloutRelationship.RelatedDraughtingCallout));
-END_ENTITY;
-
-ENTITY IfcDimensionCurve
- SUBTYPE OF (IfcAnnotationCurveOccurrence);
- INVERSE
- AnnotatedBySymbols : SET [0:2] OF IfcTerminatorSymbol FOR AnnotatedCurve;
- WHERE
- WR51 : SIZEOF(USEDIN(SELF,'IFC2X3.IFCDRAUGHTINGCALLOUT.CONTENTS'))
- >= 1;
- WR52 : (SIZEOF(QUERY (Dct1 <* USEDIN(SELF,'IFC2X3.' +
- 'IFCTERMINATORSYMBOL.ANNOTATEDCURVE') | (Dct1.Role = IfcDimensionExtentUsage.ORIGIN))) <= 1)
- AND
- (SIZEOF(QUERY (Dct2 <* USEDIN(SELF,'IFC2X3.' +
- 'IFCTERMINATORSYMBOL.ANNOTATEDCURVE') | (Dct2.Role = IfcDimensionExtentUsage.TARGET))) <= 1);
- WR53 : SIZEOF(QUERY (Dct <* AnnotatedBySymbols |
- NOT('IFC2X3.IFCDIMENSIONCURVETERMINATOR' IN TYPEOF(Dct))))
- = 0;
-END_ENTITY;
-
-ENTITY IfcDimensionCurveDirectedCallout
- SUPERTYPE OF (ONEOF
- (IfcAngularDimension
- ,IfcDiameterDimension
- ,IfcLinearDimension
- ,IfcRadiusDimension))
- SUBTYPE OF (IfcDraughtingCallout);
- WHERE
- WR41 : SIZEOF(QUERY (Dc <* SELF\IfcDraughtingCallout.Contents | (
- 'IFC2X3.IFCDIMENSIONCURVE' IN TYPEOF(Dc))))
- = 1;
- WR42 : SIZEOF (QUERY (Dc <* SELF.contents |
- ('IFC2X3.IFCPROJECTIONCURVE' IN
- TYPEOF (Dc)))) <= 2;
-END_ENTITY;
-
-ENTITY IfcDimensionCurveTerminator
- SUBTYPE OF (IfcTerminatorSymbol);
- Role : IfcDimensionExtentUsage;
- WHERE
- WR61 : 'IFC2X3.IFCDIMENSIONCURVE' IN TYPEOF
- (SELF\IfcTerminatorSymbol.AnnotatedCurve);
-END_ENTITY;
-
-ENTITY IfcDimensionPair
- SUBTYPE OF (IfcDraughtingCalloutRelationship);
- WHERE
- WR11 : SELF.Name IN ['chained','parallel'];
- WR12 : SIZEOF(TYPEOF(SELF.RelatingDraughtingCallout) * [
- 'IFC2X3.IFCANGULARDIMENSION',
- 'IFC2X3.IFCDIAMETERDIMENSION',
- 'IFC2X3.IFCLINEARDIMENSION',
- 'IFC2X3.IFCRADIUSDIMENSION']) = 1;
- WR13 : SIZEOF(TYPEOF(SELF.RelatedDraughtingCallout) * [
- 'IFC2X3.IFCANGULARDIMENSION',
- 'IFC2X3.IFCDIAMETERDIMENSION',
- 'IFC2X3.IFCLINEARDIMENSION',
- 'IFC2X3.IFCRADIUSDIMENSION']) = 1;
-END_ENTITY;
-
-ENTITY IfcDimensionalExponents;
- LengthExponent : INTEGER;
- MassExponent : INTEGER;
- TimeExponent : INTEGER;
- ElectricCurrentExponent : INTEGER;
- ThermodynamicTemperatureExponent : INTEGER;
- AmountOfSubstanceExponent : INTEGER;
- LuminousIntensityExponent : INTEGER;
-END_ENTITY;
-
-ENTITY IfcDirection
- SUBTYPE OF (IfcGeometricRepresentationItem);
- DirectionRatios : LIST [2:3] OF REAL;
- DERIVE
- Dim : IfcDimensionCount := HIINDEX(DirectionRatios);
-END_ENTITY;
-
-ENTITY IfcDiscreteAccessory
- SUBTYPE OF (IfcElementComponent);
-END_ENTITY;
-
-ENTITY IfcDiscreteAccessoryType
- SUPERTYPE OF (ONEOF
- (IfcVibrationIsolatorType))
- SUBTYPE OF (IfcElementComponentType);
-END_ENTITY;
-
-ENTITY IfcDistributionChamberElement
- SUBTYPE OF (IfcDistributionFlowElement);
-END_ENTITY;
-
-ENTITY IfcDistributionChamberElementType
- SUBTYPE OF (IfcDistributionFlowElementType);
- PredefinedType : IfcDistributionChamberElementTypeEnum;
-END_ENTITY;
-
-ENTITY IfcDistributionControlElement
- SUBTYPE OF (IfcDistributionElement);
- ControlElementId : OPTIONAL IfcIdentifier;
- INVERSE
- AssignedToFlowElement : SET [0:1] OF IfcRelFlowControlElements FOR RelatedControlElements;
-END_ENTITY;
-
-ENTITY IfcDistributionControlElementType
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcActuatorType
- ,IfcAlarmType
- ,IfcControllerType
- ,IfcFlowInstrumentType
- ,IfcSensorType))
- SUBTYPE OF (IfcDistributionElementType);
-END_ENTITY;
-
-ENTITY IfcDistributionElement
- SUPERTYPE OF (ONEOF
- (IfcDistributionControlElement
- ,IfcDistributionFlowElement))
- SUBTYPE OF (IfcElement);
-END_ENTITY;
-
-ENTITY IfcDistributionElementType
- SUPERTYPE OF (ONEOF
- (IfcDistributionControlElementType
- ,IfcDistributionFlowElementType))
- SUBTYPE OF (IfcElementType);
-END_ENTITY;
-
-ENTITY IfcDistributionFlowElement
- SUPERTYPE OF (ONEOF
- (IfcDistributionChamberElement
- ,IfcEnergyConversionDevice
- ,IfcFlowController
- ,IfcFlowFitting
- ,IfcFlowMovingDevice
- ,IfcFlowSegment
- ,IfcFlowStorageDevice
- ,IfcFlowTerminal
- ,IfcFlowTreatmentDevice))
- SUBTYPE OF (IfcDistributionElement);
- INVERSE
- HasControlElements : SET [0:1] OF IfcRelFlowControlElements FOR RelatingFlowElement;
-END_ENTITY;
-
-ENTITY IfcDistributionFlowElementType
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcDistributionChamberElementType
- ,IfcEnergyConversionDeviceType
- ,IfcFlowControllerType
- ,IfcFlowFittingType
- ,IfcFlowMovingDeviceType
- ,IfcFlowSegmentType
- ,IfcFlowStorageDeviceType
- ,IfcFlowTerminalType
- ,IfcFlowTreatmentDeviceType))
- SUBTYPE OF (IfcDistributionElementType);
-END_ENTITY;
-
-ENTITY IfcDistributionPort
- SUBTYPE OF (IfcPort);
- FlowDirection : OPTIONAL IfcFlowDirectionEnum;
-END_ENTITY;
-
-ENTITY IfcDocumentElectronicFormat;
- FileExtension : OPTIONAL IfcLabel;
- MimeContentType : OPTIONAL IfcLabel;
- MimeSubtype : OPTIONAL IfcLabel;
- WHERE
- WR1 : EXISTS(FileExtension) OR EXISTS(MimeContentType);
-END_ENTITY;
-
-ENTITY IfcDocumentInformation;
- DocumentId : IfcIdentifier;
- Name : IfcLabel;
- Description : OPTIONAL IfcText;
- DocumentReferences : OPTIONAL SET [1:?] OF IfcDocumentReference;
- Purpose : OPTIONAL IfcText;
- IntendedUse : OPTIONAL IfcText;
- Scope : OPTIONAL IfcText;
- Revision : OPTIONAL IfcLabel;
- DocumentOwner : OPTIONAL IfcActorSelect;
- Editors : OPTIONAL SET [1:?] OF IfcActorSelect;
- CreationTime : OPTIONAL IfcDateAndTime;
- LastRevisionTime : OPTIONAL IfcDateAndTime;
- ElectronicFormat : OPTIONAL IfcDocumentElectronicFormat;
- ValidFrom : OPTIONAL IfcCalendarDate;
- ValidUntil : OPTIONAL IfcCalendarDate;
- Confidentiality : OPTIONAL IfcDocumentConfidentialityEnum;
- Status : OPTIONAL IfcDocumentStatusEnum;
- INVERSE
- IsPointedTo : SET [0:?] OF IfcDocumentInformationRelationship FOR RelatedDocuments;
- IsPointer : SET [0:1] OF IfcDocumentInformationRelationship FOR RelatingDocument;
-END_ENTITY;
-
-ENTITY IfcDocumentInformationRelationship;
- RelatingDocument : IfcDocumentInformation;
- RelatedDocuments : SET [1:?] OF IfcDocumentInformation;
- RelationshipType : OPTIONAL IfcLabel;
-END_ENTITY;
-
-ENTITY IfcDocumentReference
- SUBTYPE OF (IfcExternalReference);
- INVERSE
- ReferenceToDocument : SET [0:1] OF IfcDocumentInformation FOR DocumentReferences;
- WHERE
- WR1 : EXISTS(Name) XOR EXISTS(ReferenceToDocument[1]);
-END_ENTITY;
-
-ENTITY IfcDoor
- SUBTYPE OF (IfcBuildingElement);
- OverallHeight : OPTIONAL IfcPositiveLengthMeasure;
- OverallWidth : OPTIONAL IfcPositiveLengthMeasure;
-END_ENTITY;
-
-ENTITY IfcDoorLiningProperties
- SUBTYPE OF (IfcPropertySetDefinition);
- LiningDepth : OPTIONAL IfcPositiveLengthMeasure;
- LiningThickness : OPTIONAL IfcPositiveLengthMeasure;
- ThresholdDepth : OPTIONAL IfcPositiveLengthMeasure;
- ThresholdThickness : OPTIONAL IfcPositiveLengthMeasure;
- TransomThickness : OPTIONAL IfcPositiveLengthMeasure;
- TransomOffset : OPTIONAL IfcLengthMeasure;
- LiningOffset : OPTIONAL IfcLengthMeasure;
- ThresholdOffset : OPTIONAL IfcLengthMeasure;
- CasingThickness : OPTIONAL IfcPositiveLengthMeasure;
- CasingDepth : OPTIONAL IfcPositiveLengthMeasure;
- ShapeAspectStyle : OPTIONAL IfcShapeAspect;
- WHERE
- WR31 : NOT(NOT(EXISTS(LiningDepth)) AND EXISTS(LiningThickness));
- WR32 : NOT(NOT(EXISTS(ThresholdDepth)) AND EXISTS(ThresholdThickness));
- WR33 : (EXISTS(TransomOffset) AND EXISTS(TransomThickness)) XOR
- (NOT(EXISTS(TransomOffset)) AND NOT(EXISTS(TransomThickness)));
- WR34 : (EXISTS(CasingDepth) AND EXISTS(CasingThickness)) XOR
- (NOT(EXISTS(CasingDepth)) AND NOT(EXISTS(CasingThickness)));
- WR35 : EXISTS(SELF\IfcPropertySetDefinition.DefinesType[1]) AND
- ('IFC2X3.IFCDOORSTYLE' IN TYPEOF(SELF\IfcPropertySetDefinition.DefinesType[1]));
-END_ENTITY;
-
-ENTITY IfcDoorPanelProperties
- SUBTYPE OF (IfcPropertySetDefinition);
- PanelDepth : OPTIONAL IfcPositiveLengthMeasure;
- PanelOperation : IfcDoorPanelOperationEnum;
- PanelWidth : OPTIONAL IfcNormalisedRatioMeasure;
- PanelPosition : IfcDoorPanelPositionEnum;
- ShapeAspectStyle : OPTIONAL IfcShapeAspect;
- WHERE
- WR31 : EXISTS(SELF\IfcPropertySetDefinition.DefinesType[1]) AND
- ('IFC2X3.IFCDOORSTYLE' IN TYPEOF(SELF\IfcPropertySetDefinition.DefinesType[1]));
-END_ENTITY;
-
-ENTITY IfcDoorStyle
- SUBTYPE OF (IfcTypeProduct);
- OperationType : IfcDoorStyleOperationEnum;
- ConstructionType : IfcDoorStyleConstructionEnum;
- ParameterTakesPrecedence : BOOLEAN;
- Sizeable : BOOLEAN;
-END_ENTITY;
-
-ENTITY IfcDraughtingCallout
- SUPERTYPE OF (ONEOF
- (IfcDimensionCurveDirectedCallout
- ,IfcStructuredDimensionCallout))
- SUBTYPE OF (IfcGeometricRepresentationItem);
- Contents : SET [1:?] OF IfcDraughtingCalloutElement;
- INVERSE
- IsRelatedFromCallout : SET [0:?] OF IfcDraughtingCalloutRelationship FOR RelatedDraughtingCallout;
- IsRelatedToCallout : SET [0:?] OF IfcDraughtingCalloutRelationship FOR RelatingDraughtingCallout;
-END_ENTITY;
-
-ENTITY IfcDraughtingCalloutRelationship
- SUPERTYPE OF (ONEOF
- (IfcDimensionCalloutRelationship
- ,IfcDimensionPair));
- Name : OPTIONAL IfcLabel;
- Description : OPTIONAL IfcText;
- RelatingDraughtingCallout : IfcDraughtingCallout;
- RelatedDraughtingCallout : IfcDraughtingCallout;
-END_ENTITY;
-
-ENTITY IfcDraughtingPreDefinedColour
- SUBTYPE OF (IfcPreDefinedColour);
- WHERE
- WR31 : SELF\IfcPreDefinedItem.Name IN ['black','red','green','blue','yellow',
- 'magenta','cyan','white','by layer'];
-END_ENTITY;
-
-ENTITY IfcDraughtingPreDefinedCurveFont
- SUBTYPE OF (IfcPreDefinedCurveFont);
- WHERE
- WR31 : SELF\IfcPredefinedItem.Name IN
- ['continuous',
- 'chain',
- 'chain double dash',
- 'dashed',
- 'dotted',
- 'by layer'];
-END_ENTITY;
-
-ENTITY IfcDraughtingPreDefinedTextFont
- SUBTYPE OF (IfcPreDefinedTextFont);
- WHERE
- WR31 : SELF\IfcPreDefinedItem.Name IN ['ISO 3098-1 font A','ISO 3098-1 font B'];
-END_ENTITY;
-
-ENTITY IfcDuctFittingType
- SUBTYPE OF (IfcFlowFittingType);
- PredefinedType : IfcDuctFittingTypeEnum;
- WHERE
- WR2 : (PredefinedType <> IfcDuctFittingTypeEnum.USERDEFINED) OR
- ((PredefinedType = IfcDuctFittingTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
-END_ENTITY;
-
-ENTITY IfcDuctSegmentType
- SUBTYPE OF (IfcFlowSegmentType);
- PredefinedType : IfcDuctSegmentTypeEnum;
- WHERE
- WR1 : (PredefinedType <> IfcDuctSegmentTypeEnum.USERDEFINED) OR
- ((PredefinedType = IfcDuctSegmentTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
-END_ENTITY;
-
-ENTITY IfcDuctSilencerType
- SUBTYPE OF (IfcFlowTreatmentDeviceType);
- PredefinedType : IfcDuctSilencerTypeEnum;
- WHERE
- WR1 : (PredefinedType <> IfcDuctSilencerTypeEnum.USERDEFINED) OR
- ((PredefinedType = IfcDuctSilencerTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
-END_ENTITY;
-
-ENTITY IfcEdge
- SUPERTYPE OF (ONEOF
- (IfcEdgeCurve
- ,IfcOrientedEdge
- ,IfcSubedge))
- SUBTYPE OF (IfcTopologicalRepresentationItem);
- EdgeStart : IfcVertex;
- EdgeEnd : IfcVertex;
-END_ENTITY;
-
-ENTITY IfcEdgeCurve
- SUBTYPE OF (IfcEdge);
- EdgeGeometry : IfcCurve;
- SameSense : BOOLEAN;
-END_ENTITY;
-
-ENTITY IfcEdgeFeature
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcChamferEdgeFeature
- ,IfcRoundedEdgeFeature))
- SUBTYPE OF (IfcFeatureElementSubtraction);
- FeatureLength : OPTIONAL IfcPositiveLengthMeasure;
-END_ENTITY;
-
-ENTITY IfcEdgeLoop
- SUBTYPE OF (IfcLoop);
- EdgeList : LIST [1:?] OF IfcOrientedEdge;
- DERIVE
- Ne : INTEGER := SIZEOF(EdgeList);
- WHERE
- WR1 : (EdgeList[1].EdgeStart) :=: (EdgeList[Ne].EdgeEnd);
- WR2 : IfcLoopHeadToTail(SELF);
-END_ENTITY;
-
-ENTITY IfcElectricApplianceType
- SUBTYPE OF (IfcFlowTerminalType);
- PredefinedType : IfcElectricApplianceTypeEnum;
-END_ENTITY;
-
-ENTITY IfcElectricDistributionPoint
- SUBTYPE OF (IfcFlowController);
- DistributionPointFunction : IfcElectricDistributionPointFunctionEnum;
- UserDefinedFunction : OPTIONAL IfcLabel;
- WHERE
- WR31 : (DistributionPointFunction <> IfcElectricDistributionPointFunctionEnum.USERDEFINED) OR
- ((DistributionPointFunction = IfcElectricDistributionPointFunctionEnum.USERDEFINED) AND EXISTS(SELF\IfcElectricDistributionPoint.UserDefinedFunction));
-END_ENTITY;
-
-ENTITY IfcElectricFlowStorageDeviceType
- SUBTYPE OF (IfcFlowStorageDeviceType);
- PredefinedType : IfcElectricFlowStorageDeviceTypeEnum;
-END_ENTITY;
-
-ENTITY IfcElectricGeneratorType
- SUBTYPE OF (IfcEnergyConversionDeviceType);
- PredefinedType : IfcElectricGeneratorTypeEnum;
-END_ENTITY;
-
-ENTITY IfcElectricHeaterType
- SUBTYPE OF (IfcFlowTerminalType);
- PredefinedType : IfcElectricHeaterTypeEnum;
-END_ENTITY;
-
-ENTITY IfcElectricMotorType
- SUBTYPE OF (IfcEnergyConversionDeviceType);
- PredefinedType : IfcElectricMotorTypeEnum;
-END_ENTITY;
-
-ENTITY IfcElectricTimeControlType
- SUBTYPE OF (IfcFlowControllerType);
- PredefinedType : IfcElectricTimeControlTypeEnum;
-END_ENTITY;
-
-ENTITY IfcElectricalBaseProperties
- SUBTYPE OF (IfcEnergyProperties);
- ElectricCurrentType : OPTIONAL IfcElectricCurrentEnum;
- InputVoltage : IfcElectricVoltageMeasure;
- InputFrequency : IfcFrequencyMeasure;
- FullLoadCurrent : OPTIONAL IfcElectricCurrentMeasure;
- MinimumCircuitCurrent : OPTIONAL IfcElectricCurrentMeasure;
- MaximumPowerInput : OPTIONAL IfcPowerMeasure;
- RatedPowerInput : OPTIONAL IfcPowerMeasure;
- InputPhase : INTEGER;
-END_ENTITY;
-
-ENTITY IfcElectricalCircuit
- SUBTYPE OF (IfcSystem);
-END_ENTITY;
-
-ENTITY IfcElectricalElement
- SUBTYPE OF (IfcElement);
-END_ENTITY;
-
-ENTITY IfcElement
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcBuildingElement
- ,IfcDistributionElement
- ,IfcElectricalElement
- ,IfcElementAssembly
- ,IfcElementComponent
- ,IfcEquipmentElement
- ,IfcFeatureElement
- ,IfcFurnishingElement
- ,IfcTransportElement
- ,IfcVirtualElement))
- SUBTYPE OF (IfcProduct);
- Tag : OPTIONAL IfcIdentifier;
- INVERSE
- FillsVoids : SET [0:1] OF IfcRelFillsElement FOR RelatedBuildingElement;
- ConnectedTo : SET [0:?] OF IfcRelConnectsElements FOR RelatingElement;
- HasCoverings : SET [0:?] OF IfcRelCoversBldgElements FOR RelatingBuildingElement;
- HasProjections : SET [0:?] OF IfcRelProjectsElement FOR RelatingElement;
- HasStructuralMember : SET [0:?] OF IfcRelConnectsStructuralElement FOR RelatingElement;
- ReferencedInStructures : SET [0:?] OF IfcRelReferencedInSpatialStructure FOR RelatedElements;
- HasPorts : SET [0:?] OF IfcRelConnectsPortToElement FOR RelatedElement;
- HasOpenings : SET [0:?] OF IfcRelVoidsElement FOR RelatingBuildingElement;
- IsConnectionRealization : SET [0:?] OF IfcRelConnectsWithRealizingElements FOR RealizingElements;
- ProvidesBoundaries : SET [0:?] OF IfcRelSpaceBoundary FOR RelatedBuildingElement;
- ConnectedFrom : SET [0:?] OF IfcRelConnectsElements FOR RelatedElement;
- ContainedInStructure : SET [0:1] OF IfcRelContainedInSpatialStructure FOR RelatedElements;
-END_ENTITY;
-
-ENTITY IfcElementAssembly
- SUBTYPE OF (IfcElement);
- AssemblyPlace : OPTIONAL IfcAssemblyPlaceEnum;
- PredefinedType : IfcElementAssemblyTypeEnum;
- WHERE
- WR1 : (PredefinedType <> IfcElementAssemblyTypeEnum.USERDEFINED) OR ((PredefinedType = IfcElementAssemblyTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcObject.ObjectType));
-END_ENTITY;
-
-ENTITY IfcElementComponent
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcDiscreteAccessory
- ,IfcFastener))
- SUBTYPE OF (IfcElement);
-END_ENTITY;
-
-ENTITY IfcElementComponentType
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcDiscreteAccessoryType
- ,IfcFastenerType))
- SUBTYPE OF (IfcElementType);
-END_ENTITY;
-
-ENTITY IfcElementQuantity
- SUBTYPE OF (IfcPropertySetDefinition);
- MethodOfMeasurement : OPTIONAL IfcLabel;
- Quantities : SET [1:?] OF IfcPhysicalQuantity;
-END_ENTITY;
-
-ENTITY IfcElementType
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcBuildingElementType
- ,IfcDistributionElementType
- ,IfcElementComponentType
- ,IfcFurnishingElementType
- ,IfcSpatialStructureElementType
- ,IfcTransportElementType))
- SUBTYPE OF (IfcTypeProduct);
- ElementType : OPTIONAL IfcLabel;
-END_ENTITY;
-
-ENTITY IfcElementarySurface
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcPlane))
- SUBTYPE OF (IfcSurface);
- Position : IfcAxis2Placement3D;
- DERIVE
- Dim : IfcDimensionCount := Position.Dim;
-END_ENTITY;
-
-ENTITY IfcEllipse
- SUBTYPE OF (IfcConic);
- SemiAxis1 : IfcPositiveLengthMeasure;
- SemiAxis2 : IfcPositiveLengthMeasure;
-END_ENTITY;
-
-ENTITY IfcEllipseProfileDef
- SUBTYPE OF (IfcParameterizedProfileDef);
- SemiAxis1 : IfcPositiveLengthMeasure;
- SemiAxis2 : IfcPositiveLengthMeasure;
-END_ENTITY;
-
-ENTITY IfcEnergyConversionDevice
- SUBTYPE OF (IfcDistributionFlowElement);
-END_ENTITY;
-
-ENTITY IfcEnergyConversionDeviceType
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcAirToAirHeatRecoveryType
- ,IfcBoilerType
- ,IfcChillerType
- ,IfcCoilType
- ,IfcCondenserType
- ,IfcCooledBeamType
- ,IfcCoolingTowerType
- ,IfcElectricGeneratorType
- ,IfcElectricMotorType
- ,IfcEvaporativeCoolerType
- ,IfcEvaporatorType
- ,IfcHeatExchangerType
- ,IfcHumidifierType
- ,IfcMotorConnectionType
- ,IfcSpaceHeaterType
- ,IfcTransformerType
- ,IfcTubeBundleType
- ,IfcUnitaryEquipmentType))
- SUBTYPE OF (IfcDistributionFlowElementType);
-END_ENTITY;
-
-ENTITY IfcEnergyProperties
- SUPERTYPE OF (ONEOF
- (IfcElectricalBaseProperties))
- SUBTYPE OF (IfcPropertySetDefinition);
- EnergySequence : OPTIONAL IfcEnergySequenceEnum;
- UserDefinedEnergySequence : OPTIONAL IfcLabel;
-END_ENTITY;
-
-ENTITY IfcEnvironmentalImpactValue
- SUBTYPE OF (IfcAppliedValue);
- ImpactType : IfcLabel;
- Category : IfcEnvironmentalImpactCategoryEnum;
- UserDefinedCategory : OPTIONAL IfcLabel;
- WHERE
- WR1 : (Category <> IfcEnvironmentalImpactCategoryEnum.USERDEFINED) OR
- ((Category = IfcEnvironmentalImpactCategoryEnum.USERDEFINED) AND EXISTS(SELF\IfcEnvironmentalImpactValue.UserDefinedCategory));
-END_ENTITY;
-
-ENTITY IfcEquipmentElement
- SUBTYPE OF (IfcElement);
-END_ENTITY;
-
-ENTITY IfcEquipmentStandard
- SUBTYPE OF (IfcControl);
-END_ENTITY;
-
-ENTITY IfcEvaporativeCoolerType
- SUBTYPE OF (IfcEnergyConversionDeviceType);
- PredefinedType : IfcEvaporativeCoolerTypeEnum;
- WHERE
- WR1 : (PredefinedType <> IfcEvaporativeCoolerTypeEnum.USERDEFINED) OR
- ((PredefinedType = IfcEvaporativeCoolerTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
-END_ENTITY;
-
-ENTITY IfcEvaporatorType
- SUBTYPE OF (IfcEnergyConversionDeviceType);
- PredefinedType : IfcEvaporatorTypeEnum;
- WHERE
- WR1 : (PredefinedType <> IfcEvaporatorTypeEnum.USERDEFINED) OR
- ((PredefinedType = IfcEvaporatorTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
-END_ENTITY;
-
-ENTITY IfcExtendedMaterialProperties
- SUBTYPE OF (IfcMaterialProperties);
- ExtendedProperties : SET [1:?] OF IfcProperty;
- Description : OPTIONAL IfcText;
- Name : IfcLabel;
-END_ENTITY;
-
-ENTITY IfcExternalReference
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcClassificationReference
- ,IfcDocumentReference
- ,IfcExternallyDefinedHatchStyle
- ,IfcExternallyDefinedSurfaceStyle
- ,IfcExternallyDefinedSymbol
- ,IfcExternallyDefinedTextFont
- ,IfcLibraryReference));
- Location : OPTIONAL IfcLabel;
- ItemReference : OPTIONAL IfcIdentifier;
- Name : OPTIONAL IfcLabel;
- WHERE
- WR1 : EXISTS(ItemReference) OR EXISTS(Location) OR EXISTS(Name);
-END_ENTITY;
-
-ENTITY IfcExternallyDefinedHatchStyle
- SUBTYPE OF (IfcExternalReference);
-END_ENTITY;
-
-ENTITY IfcExternallyDefinedSurfaceStyle
- SUBTYPE OF (IfcExternalReference);
-END_ENTITY;
-
-ENTITY IfcExternallyDefinedSymbol
- SUBTYPE OF (IfcExternalReference);
-END_ENTITY;
-
-ENTITY IfcExternallyDefinedTextFont
- SUBTYPE OF (IfcExternalReference);
-END_ENTITY;
-
-ENTITY IfcExtrudedAreaSolid
- SUBTYPE OF (IfcSweptAreaSolid);
- ExtrudedDirection : IfcDirection;
- Depth : IfcPositiveLengthMeasure;
- WHERE
- WR31 : IfcDotProduct(IfcRepresentationItem() || IfcGeometricRepresentationItem() || IfcDirection([0.0,0.0,1.0]), SELF.ExtrudedDirection) <> 0.0;
-END_ENTITY;
-
-ENTITY IfcFace
- SUPERTYPE OF (ONEOF
- (IfcFaceSurface))
- SUBTYPE OF (IfcTopologicalRepresentationItem);
- Bounds : SET [1:?] OF IfcFaceBound;
- WHERE
- WR1 : SIZEOF(QUERY(temp <* Bounds | 'IFC2X3.IFCFACEOUTERBOUND' IN TYPEOF(temp))) <= 1;
-END_ENTITY;
-
-ENTITY IfcFaceBasedSurfaceModel
- SUBTYPE OF (IfcGeometricRepresentationItem);
- FbsmFaces : SET [1:?] OF IfcConnectedFaceSet;
- DERIVE
- Dim : IfcDimensionCount := 3;
-END_ENTITY;
-
-ENTITY IfcFaceBound
- SUPERTYPE OF (ONEOF
- (IfcFaceOuterBound))
- SUBTYPE OF (IfcTopologicalRepresentationItem);
- Bound : IfcLoop;
- Orientation : BOOLEAN;
-END_ENTITY;
-
-ENTITY IfcFaceOuterBound
- SUBTYPE OF (IfcFaceBound);
-END_ENTITY;
-
-ENTITY IfcFaceSurface
- SUBTYPE OF (IfcFace);
- FaceSurface : IfcSurface;
- SameSense : BOOLEAN;
-END_ENTITY;
-
-ENTITY IfcFacetedBrep
- SUBTYPE OF (IfcManifoldSolidBrep);
-END_ENTITY;
-
-ENTITY IfcFacetedBrepWithVoids
- SUBTYPE OF (IfcManifoldSolidBrep);
- Voids : SET [1:?] OF IfcClosedShell;
-END_ENTITY;
-
-ENTITY IfcFailureConnectionCondition
- SUBTYPE OF (IfcStructuralConnectionCondition);
- TensionFailureX : OPTIONAL IfcForceMeasure;
- TensionFailureY : OPTIONAL IfcForceMeasure;
- TensionFailureZ : OPTIONAL IfcForceMeasure;
- CompressionFailureX : OPTIONAL IfcForceMeasure;
- CompressionFailureY : OPTIONAL IfcForceMeasure;
- CompressionFailureZ : OPTIONAL IfcForceMeasure;
-END_ENTITY;
-
-ENTITY IfcFanType
- SUBTYPE OF (IfcFlowMovingDeviceType);
- PredefinedType : IfcFanTypeEnum;
- WHERE
- WR1 : (PredefinedType <> IfcFanTypeEnum.USERDEFINED) OR
- ((PredefinedType = IfcFanTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
-END_ENTITY;
-
-ENTITY IfcFastener
- SUPERTYPE OF (ONEOF
- (IfcMechanicalFastener))
- SUBTYPE OF (IfcElementComponent);
-END_ENTITY;
-
-ENTITY IfcFastenerType
- SUPERTYPE OF (ONEOF
- (IfcMechanicalFastenerType))
- SUBTYPE OF (IfcElementComponentType);
-END_ENTITY;
-
-ENTITY IfcFeatureElement
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcFeatureElementAddition
- ,IfcFeatureElementSubtraction))
- SUBTYPE OF (IfcElement);
-END_ENTITY;
-
-ENTITY IfcFeatureElementAddition
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcProjectionElement))
- SUBTYPE OF (IfcFeatureElement);
- INVERSE
- ProjectsElements : IfcRelProjectsElement FOR RelatedFeatureElement;
-END_ENTITY;
-
-ENTITY IfcFeatureElementSubtraction
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcEdgeFeature
- ,IfcOpeningElement))
- SUBTYPE OF (IfcFeatureElement);
- INVERSE
- VoidsElements : IfcRelVoidsElement FOR RelatedOpeningElement;
-END_ENTITY;
-
-ENTITY IfcFillAreaStyle
- SUBTYPE OF (IfcPresentationStyle);
- FillStyles : SET [1:?] OF IfcFillStyleSelect;
- WHERE
- WR11 : SIZEOF(QUERY(Style <* SELF.FillStyles |
- 'IFC2X3.IFCCOLOUR' IN
- TYPEOF(Style)
- )) <= 1;
- WR12 : SIZEOF(QUERY(Style <* SELF.FillStyles |
- 'IFC2X3.IFCEXTERNALLYDEFINEDHATCHSTYLE' IN
- TYPEOF(Style)
- )) <= 1;
- WR13 : (SIZEOF(QUERY(Style <* SELF.FillStyles |
- 'IFC2X3.IFCEXTERNALLYDEFINEDHATCHSTYLE' IN
- TYPEOF(Style)
- )) >= 1)
- XOR
- (SIZEOF(QUERY(Style <* SELF.FillStyles |
- 'IFC2X3.IFCFILLAREASTYLEHATCHING' IN
- TYPEOF(Style)
- )) >= 1)
- XOR
- (SIZEOF(QUERY(Style <* SELF.FillStyles |
- 'IFC2X3.IFCFILLAREASTYLETILES' IN
- TYPEOF(Style)
- )) >= 1);
-END_ENTITY;
-
-ENTITY IfcFillAreaStyleHatching
- SUBTYPE OF (IfcGeometricRepresentationItem);
- HatchLineAppearance : IfcCurveStyle;
- StartOfNextHatchLine : IfcHatchLineDistanceSelect;
- PointOfReferenceHatchLine : OPTIONAL IfcCartesianPoint;
- PatternStart : OPTIONAL IfcCartesianPoint;
- HatchLineAngle : IfcPlaneAngleMeasure;
- WHERE
- WR21 : NOT(
- 'IFC2X3.IFCTWODIRECTIONREPEATFACTOR'
- IN TYPEOF(StartOfNextHatchLine)
- );
- WR22 : NOT(EXISTS(PatternStart))
- OR (PatternStart.Dim = 2);
- WR23 : NOT(EXISTS(PointOfReferenceHatchLine))
- OR (PointOfReferenceHatchLine.Dim = 2);
-END_ENTITY;
-
-ENTITY IfcFillAreaStyleTileSymbolWithStyle
- SUBTYPE OF (IfcGeometricRepresentationItem);
- Symbol : IfcAnnotationSymbolOccurrence;
-END_ENTITY;
-
-ENTITY IfcFillAreaStyleTiles
- SUBTYPE OF (IfcGeometricRepresentationItem);
- TilingPattern : IfcOneDirectionRepeatFactor;
- Tiles : SET [1:?] OF IfcFillAreaStyleTileShapeSelect;
- TilingScale : IfcPositiveRatioMeasure;
-END_ENTITY;
-
-ENTITY IfcFilterType
- SUBTYPE OF (IfcFlowTreatmentDeviceType);
- PredefinedType : IfcFilterTypeEnum;
- WHERE
- WR1 : (PredefinedType <> IfcFilterTypeEnum.USERDEFINED) OR
- ((PredefinedType = IfcFilterTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
-END_ENTITY;
-
-ENTITY IfcFireSuppressionTerminalType
- SUBTYPE OF (IfcFlowTerminalType);
- PredefinedType : IfcFireSuppressionTerminalTypeEnum;
-END_ENTITY;
-
-ENTITY IfcFlowController
- SUPERTYPE OF (ONEOF
- (IfcElectricDistributionPoint))
- SUBTYPE OF (IfcDistributionFlowElement);
-END_ENTITY;
-
-ENTITY IfcFlowControllerType
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcAirTerminalBoxType
- ,IfcDamperType
- ,IfcElectricTimeControlType
- ,IfcFlowMeterType
- ,IfcProtectiveDeviceType
- ,IfcSwitchingDeviceType
- ,IfcValveType))
- SUBTYPE OF (IfcDistributionFlowElementType);
-END_ENTITY;
-
-ENTITY IfcFlowFitting
- SUBTYPE OF (IfcDistributionFlowElement);
-END_ENTITY;
-
-ENTITY IfcFlowFittingType
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcCableCarrierFittingType
- ,IfcDuctFittingType
- ,IfcJunctionBoxType
- ,IfcPipeFittingType))
- SUBTYPE OF (IfcDistributionFlowElementType);
-END_ENTITY;
-
-ENTITY IfcFlowInstrumentType
- SUBTYPE OF (IfcDistributionControlElementType);
- PredefinedType : IfcFlowInstrumentTypeEnum;
-END_ENTITY;
-
-ENTITY IfcFlowMeterType
- SUBTYPE OF (IfcFlowControllerType);
- PredefinedType : IfcFlowMeterTypeEnum;
- WHERE
- WR1 : (PredefinedType <> IfcFlowMeterTypeEnum.USERDEFINED) OR
- ((PredefinedType = IfcFlowMeterTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
-END_ENTITY;
-
-ENTITY IfcFlowMovingDevice
- SUBTYPE OF (IfcDistributionFlowElement);
-END_ENTITY;
-
-ENTITY IfcFlowMovingDeviceType
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcCompressorType
- ,IfcFanType
- ,IfcPumpType))
- SUBTYPE OF (IfcDistributionFlowElementType);
-END_ENTITY;
-
-ENTITY IfcFlowSegment
- SUBTYPE OF (IfcDistributionFlowElement);
-END_ENTITY;
-
-ENTITY IfcFlowSegmentType
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcCableCarrierSegmentType
- ,IfcCableSegmentType
- ,IfcDuctSegmentType
- ,IfcPipeSegmentType))
- SUBTYPE OF (IfcDistributionFlowElementType);
-END_ENTITY;
-
-ENTITY IfcFlowStorageDevice
- SUBTYPE OF (IfcDistributionFlowElement);
-END_ENTITY;
-
-ENTITY IfcFlowStorageDeviceType
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcElectricFlowStorageDeviceType
- ,IfcTankType))
- SUBTYPE OF (IfcDistributionFlowElementType);
-END_ENTITY;
-
-ENTITY IfcFlowTerminal
- SUBTYPE OF (IfcDistributionFlowElement);
-END_ENTITY;
-
-ENTITY IfcFlowTerminalType
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcAirTerminalType
- ,IfcElectricApplianceType
- ,IfcElectricHeaterType
- ,IfcFireSuppressionTerminalType
- ,IfcGasTerminalType
- ,IfcLampType
- ,IfcLightFixtureType
- ,IfcOutletType
- ,IfcSanitaryTerminalType
- ,IfcStackTerminalType
- ,IfcWasteTerminalType))
- SUBTYPE OF (IfcDistributionFlowElementType);
-END_ENTITY;
-
-ENTITY IfcFlowTreatmentDevice
- SUBTYPE OF (IfcDistributionFlowElement);
-END_ENTITY;
-
-ENTITY IfcFlowTreatmentDeviceType
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcDuctSilencerType
- ,IfcFilterType))
- SUBTYPE OF (IfcDistributionFlowElementType);
-END_ENTITY;
-
-ENTITY IfcFluidFlowProperties
- SUBTYPE OF (IfcPropertySetDefinition);
- PropertySource : IfcPropertySourceEnum;
- FlowConditionTimeSeries : OPTIONAL IfcTimeSeries;
- VelocityTimeSeries : OPTIONAL IfcTimeSeries;
- FlowrateTimeSeries : OPTIONAL IfcTimeSeries;
- Fluid : IfcMaterial;
- PressureTimeSeries : OPTIONAL IfcTimeSeries;
- UserDefinedPropertySource : OPTIONAL IfcLabel;
- TemperatureSingleValue : OPTIONAL IfcThermodynamicTemperatureMeasure;
- WetBulbTemperatureSingleValue : OPTIONAL IfcThermodynamicTemperatureMeasure;
- WetBulbTemperatureTimeSeries : OPTIONAL IfcTimeSeries;
- TemperatureTimeSeries : OPTIONAL IfcTimeSeries;
- FlowrateSingleValue : OPTIONAL IfcDerivedMeasureValue;
- FlowConditionSingleValue : OPTIONAL IfcPositiveRatioMeasure;
- VelocitySingleValue : OPTIONAL IfcLinearVelocityMeasure;
- PressureSingleValue : OPTIONAL IfcPressureMeasure;
-END_ENTITY;
-
-ENTITY IfcFooting
- SUBTYPE OF (IfcBuildingElement);
- PredefinedType : IfcFootingTypeEnum;
- WHERE
- WR1 : (PredefinedType <> IfcFootingTypeEnum.USERDEFINED) OR ((PredefinedType = IfcFootingTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcObject.ObjectType));
-END_ENTITY;
-
-ENTITY IfcFuelProperties
- SUBTYPE OF (IfcMaterialProperties);
- CombustionTemperature : OPTIONAL IfcThermodynamicTemperatureMeasure;
- CarbonContent : OPTIONAL IfcPositiveRatioMeasure;
- LowerHeatingValue : OPTIONAL IfcHeatingValueMeasure;
- HigherHeatingValue : OPTIONAL IfcHeatingValueMeasure;
- UNIQUE
- UR11 : Material;
-END_ENTITY;
-
-ENTITY IfcFurnishingElement
- SUBTYPE OF (IfcElement);
-END_ENTITY;
-
-ENTITY IfcFurnishingElementType
- SUPERTYPE OF (ONEOF
- (IfcFurnitureType
- ,IfcSystemFurnitureElementType))
- SUBTYPE OF (IfcElementType);
-END_ENTITY;
-
-ENTITY IfcFurnitureStandard
- SUBTYPE OF (IfcControl);
-END_ENTITY;
-
-ENTITY IfcFurnitureType
- SUBTYPE OF (IfcFurnishingElementType);
- AssemblyPlace : IfcAssemblyPlaceEnum;
-END_ENTITY;
-
-ENTITY IfcGasTerminalType
- SUBTYPE OF (IfcFlowTerminalType);
- PredefinedType : IfcGasTerminalTypeEnum;
- WHERE
- WR1 : (PredefinedType <> IfcGasTerminalTypeEnum.USERDEFINED) OR
- ((PredefinedType = IfcGasTerminalTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
-END_ENTITY;
-
-ENTITY IfcGeneralMaterialProperties
- SUBTYPE OF (IfcMaterialProperties);
- MolecularWeight : OPTIONAL IfcMolecularWeightMeasure;
- Porosity : OPTIONAL IfcNormalisedRatioMeasure;
- MassDensity : OPTIONAL IfcMassDensityMeasure;
- UNIQUE
- UR11 : Material;
-END_ENTITY;
-
-ENTITY IfcGeneralProfileProperties
- SUPERTYPE OF (ONEOF
- (IfcStructuralProfileProperties))
- SUBTYPE OF (IfcProfileProperties);
- PhysicalWeight : OPTIONAL IfcMassPerLengthMeasure;
- Perimeter : OPTIONAL IfcPositiveLengthMeasure;
- MinimumPlateThickness : OPTIONAL IfcPositiveLengthMeasure;
- MaximumPlateThickness : OPTIONAL IfcPositiveLengthMeasure;
- CrossSectionArea : OPTIONAL IfcAreaMeasure;
- WHERE
- WR1 : NOT(EXISTS(CrossSectionArea)) OR (CrossSectionArea > 0.);
-END_ENTITY;
-
-ENTITY IfcGeometricCurveSet
- SUBTYPE OF (IfcGeometricSet);
- WHERE
- WR1 : SIZEOF(QUERY(Temp <* SELF\IfcGeometricSet.Elements |
- 'IFC2X3.IFCSURFACE' IN TYPEOF(Temp))) = 0;
-END_ENTITY;
-
-ENTITY IfcGeometricRepresentationContext
- SUPERTYPE OF (ONEOF
- (IfcGeometricRepresentationSubContext))
- SUBTYPE OF (IfcRepresentationContext);
- CoordinateSpaceDimension : IfcDimensionCount;
- Precision : OPTIONAL REAL;
- WorldCoordinateSystem : IfcAxis2Placement;
- TrueNorth : OPTIONAL IfcDirection;
- INVERSE
- HasSubContexts : SET [0:?] OF IfcGeometricRepresentationSubContext FOR ParentContext;
-END_ENTITY;
-
-ENTITY IfcGeometricRepresentationItem
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcAnnotationFillArea
- ,IfcAnnotationSurface
- ,IfcBooleanResult
- ,IfcBoundingBox
- ,IfcCartesianTransformationOperator
- ,IfcCompositeCurveSegment
- ,IfcCsgPrimitive3D
- ,IfcCurve
- ,IfcDefinedSymbol
- ,IfcDirection
- ,IfcDraughtingCallout
- ,IfcFaceBasedSurfaceModel
- ,IfcFillAreaStyleHatching
- ,IfcFillAreaStyleTileSymbolWithStyle
- ,IfcFillAreaStyleTiles
- ,IfcGeometricSet
- ,IfcHalfSpaceSolid
- ,IfcLightSource
- ,IfcOneDirectionRepeatFactor
- ,IfcPlacement
- ,IfcPlanarExtent
- ,IfcPoint
- ,IfcSectionedSpine
- ,IfcShellBasedSurfaceModel
- ,IfcSolidModel
- ,IfcSurface
- ,IfcTextLiteral
- ,IfcVector))
- SUBTYPE OF (IfcRepresentationItem);
-END_ENTITY;
-
-ENTITY IfcGeometricRepresentationSubContext
- SUBTYPE OF (IfcGeometricRepresentationContext);
- ParentContext : IfcGeometricRepresentationContext;
- TargetScale : OPTIONAL IfcPositiveRatioMeasure;
- TargetView : IfcGeometricProjectionEnum;
- UserDefinedTargetView : OPTIONAL IfcLabel;
- DERIVE
- SELF\IfcGeometricRepresentationContext.WorldCoordinateSystem : IfcAxis2Placement := ParentContext.WorldCoordinateSystem;
- SELF\IfcGeometricRepresentationContext.CoordinateSpaceDimension : IfcDimensionCount := ParentContext.CoordinateSpaceDimension;
- SELF\IfcGeometricRepresentationContext.TrueNorth : IfcDirection := NVL(ParentContext.TrueNorth,SELF.WorldCoordinateSystem.P[2]);
- SELF\IfcGeometricRepresentationContext.Precision : REAL := NVL(ParentContext.Precision,1.E-5);
- WHERE
- WR31 : NOT('IFC2X3.IFCGEOMETRICREPRESENTATIONSUBCONTEXT' IN TYPEOF(ParentContext));
- WR32 : (TargetView <> IfcGeometricProjectionEnum.USERDEFINED) OR
- ((TargetView = IfcGeometricProjectionEnum.USERDEFINED) AND
- EXISTS(UserDefinedTargetView));
-END_ENTITY;
-
-ENTITY IfcGeometricSet
- SUPERTYPE OF (ONEOF
- (IfcGeometricCurveSet))
- SUBTYPE OF (IfcGeometricRepresentationItem);
- Elements : SET [1:?] OF IfcGeometricSetSelect;
- DERIVE
- Dim : IfcDimensionCount := Elements[1].Dim;
- WHERE
- WR21 : SIZEOF(QUERY(Temp <* Elements |
- Temp.Dim <> Elements[1].Dim))
- = 0;
-END_ENTITY;
-
-ENTITY IfcGrid
- SUBTYPE OF (IfcProduct);
- UAxes : LIST [1:?] OF UNIQUE IfcGridAxis;
- VAxes : LIST [1:?] OF UNIQUE IfcGridAxis;
- WAxes : OPTIONAL LIST [1:?] OF UNIQUE IfcGridAxis;
- INVERSE
- ContainedInStructure : SET [0:1] OF IfcRelContainedInSpatialStructure FOR RelatedElements;
- WHERE
- WR41 : EXISTS(SELF\IfcProduct.ObjectPlacement);
-END_ENTITY;
-
-ENTITY IfcGridAxis;
- AxisTag : OPTIONAL IfcLabel;
- AxisCurve : IfcCurve;
- SameSense : IfcBoolean;
- INVERSE
- PartOfW : SET [0:1] OF IfcGrid FOR WAxes;
- PartOfV : SET [0:1] OF IfcGrid FOR VAxes;
- PartOfU : SET [0:1] OF IfcGrid FOR UAxes;
- HasIntersections : SET [0:?] OF IfcVirtualGridIntersection FOR IntersectingAxes;
- WHERE
- WR1 : AxisCurve.Dim = 2;
- WR2 : (SIZEOF(PartOfU) = 1) XOR (SIZEOF(PartOfV) = 1) XOR (SIZEOF(PartOfW) = 1);
-END_ENTITY;
-
-ENTITY IfcGridPlacement
- SUBTYPE OF (IfcObjectPlacement);
- PlacementLocation : IfcVirtualGridIntersection;
- PlacementRefDirection : OPTIONAL IfcVirtualGridIntersection;
-END_ENTITY;
-
-ENTITY IfcGroup
- SUPERTYPE OF (ONEOF
- (IfcAsset
- ,IfcCondition
- ,IfcInventory
- ,IfcStructuralLoadGroup
- ,IfcStructuralResultGroup
- ,IfcSystem
- ,IfcZone))
- SUBTYPE OF (IfcObject);
- INVERSE
- IsGroupedBy : IfcRelAssignsToGroup FOR RelatingGroup;
-END_ENTITY;
-
-ENTITY IfcHalfSpaceSolid
- SUPERTYPE OF (ONEOF
- (IfcBoxedHalfSpace
- ,IfcPolygonalBoundedHalfSpace))
- SUBTYPE OF (IfcGeometricRepresentationItem);
- BaseSurface : IfcSurface;
- AgreementFlag : BOOLEAN;
- DERIVE
- Dim : IfcDimensionCount := 3;
-END_ENTITY;
-
-ENTITY IfcHeatExchangerType
- SUBTYPE OF (IfcEnergyConversionDeviceType);
- PredefinedType : IfcHeatExchangerTypeEnum;
- WHERE
- WR1 : (PredefinedType <> IfcHeatExchangerTypeEnum.USERDEFINED) OR
- ((PredefinedType = IfcHeatExchangerTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
-END_ENTITY;
-
-ENTITY IfcHumidifierType
- SUBTYPE OF (IfcEnergyConversionDeviceType);
- PredefinedType : IfcHumidifierTypeEnum;
- WHERE
- WR1 : (PredefinedType <> IfcHumidifierTypeEnum.USERDEFINED) OR
- ((PredefinedType = IfcHumidifierTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
-END_ENTITY;
-
-ENTITY IfcHygroscopicMaterialProperties
- SUBTYPE OF (IfcMaterialProperties);
- UpperVaporResistanceFactor : OPTIONAL IfcPositiveRatioMeasure;
- LowerVaporResistanceFactor : OPTIONAL IfcPositiveRatioMeasure;
- IsothermalMoistureCapacity : OPTIONAL IfcIsothermalMoistureCapacityMeasure;
- VaporPermeability : OPTIONAL IfcVaporPermeabilityMeasure;
- MoistureDiffusivity : OPTIONAL IfcMoistureDiffusivityMeasure;
- UNIQUE
- UR11 : Material;
-END_ENTITY;
-
-ENTITY IfcIShapeProfileDef
- SUPERTYPE OF (ONEOF
- (IfcAsymmetricIShapeProfileDef))
- SUBTYPE OF (IfcParameterizedProfileDef);
- OverallWidth : IfcPositiveLengthMeasure;
- OverallDepth : IfcPositiveLengthMeasure;
- WebThickness : IfcPositiveLengthMeasure;
- FlangeThickness : IfcPositiveLengthMeasure;
- FilletRadius : OPTIONAL IfcPositiveLengthMeasure;
- WHERE
- WR1 : FlangeThickness < (OverallDepth / 2.);
- WR2 : WebThickness < OverallWidth;
- WR3 : NOT(EXISTS(FilletRadius)) OR
- ((FilletRadius <= (OverallWidth - WebThickness)/2.) AND
- (FilletRadius <= (OverallDepth - (2. * FlangeThickness))/2.));
-END_ENTITY;
-
-ENTITY IfcImageTexture
- SUBTYPE OF (IfcSurfaceTexture);
- UrlReference : IfcIdentifier;
-END_ENTITY;
-
-ENTITY IfcInventory
- SUBTYPE OF (IfcGroup);
- InventoryType : IfcInventoryTypeEnum;
- Jurisdiction : IfcActorSelect;
- ResponsiblePersons : SET [1:?] OF IfcPerson;
- LastUpdateDate : IfcCalendarDate;
- CurrentValue : OPTIONAL IfcCostValue;
- OriginalValue : OPTIONAL IfcCostValue;
- WHERE
- WR41 : SIZEOF(QUERY(temp <* SELF\IfcGroup.IsGroupedBy.RelatedObjects |
- NOT( ('IFC2X3.IFCSPACE' IN TYPEOF (temp)) OR
- ('IFC2X3.IFCASSET' IN TYPEOF (temp)) OR
- ('IFC2X3.IFCFURNISHINGELEMENT' IN TYPEOF (temp))
- ))) = 0;
-END_ENTITY;
-
-ENTITY IfcIrregularTimeSeries
- SUBTYPE OF (IfcTimeSeries);
- Values : LIST [1:?] OF IfcIrregularTimeSeriesValue;
-END_ENTITY;
-
-ENTITY IfcIrregularTimeSeriesValue;
- TimeStamp : IfcDateTimeSelect;
- ListValues : LIST [1:?] OF IfcValue;
-END_ENTITY;
-
-ENTITY IfcJunctionBoxType
- SUBTYPE OF (IfcFlowFittingType);
- PredefinedType : IfcJunctionBoxTypeEnum;
-END_ENTITY;
-
-ENTITY IfcLShapeProfileDef
- SUBTYPE OF (IfcParameterizedProfileDef);
- Depth : IfcPositiveLengthMeasure;
- Width : OPTIONAL IfcPositiveLengthMeasure;
- Thickness : IfcPositiveLengthMeasure;
- FilletRadius : OPTIONAL IfcPositiveLengthMeasure;
- EdgeRadius : OPTIONAL IfcPositiveLengthMeasure;
- LegSlope : OPTIONAL IfcPlaneAngleMeasure;
- CentreOfGravityInX : OPTIONAL IfcPositiveLengthMeasure;
- CentreOfGravityInY : OPTIONAL IfcPositiveLengthMeasure;
- WHERE
- WR21 : Thickness < Depth;
- WR22 : NOT(EXISTS(Width)) OR (Thickness < Width);
-END_ENTITY;
-
-ENTITY IfcLaborResource
- SUBTYPE OF (IfcConstructionResource);
- SkillSet : OPTIONAL IfcText;
-END_ENTITY;
-
-ENTITY IfcLampType
- SUBTYPE OF (IfcFlowTerminalType);
- PredefinedType : IfcLampTypeEnum;
-END_ENTITY;
-
-ENTITY IfcLibraryInformation;
- Name : IfcLabel;
- Version : OPTIONAL IfcLabel;
- Publisher : OPTIONAL IfcOrganization;
- VersionDate : OPTIONAL IfcCalendarDate;
- LibraryReference : OPTIONAL SET [1:?] OF IfcLibraryReference;
-END_ENTITY;
-
-ENTITY IfcLibraryReference
- SUBTYPE OF (IfcExternalReference);
- INVERSE
- ReferenceIntoLibrary : SET [0:1] OF IfcLibraryInformation FOR LibraryReference;
-END_ENTITY;
-
-ENTITY IfcLightDistributionData;
- MainPlaneAngle : IfcPlaneAngleMeasure;
- SecondaryPlaneAngle : LIST [1:?] OF IfcPlaneAngleMeasure;
- LuminousIntensity : LIST [1:?] OF IfcLuminousIntensityDistributionMeasure;
-END_ENTITY;
-
-ENTITY IfcLightFixtureType
- SUBTYPE OF (IfcFlowTerminalType);
- PredefinedType : IfcLightFixtureTypeEnum;
-END_ENTITY;
-
-ENTITY IfcLightIntensityDistribution;
- LightDistributionCurve : IfcLightDistributionCurveEnum;
- DistributionData : LIST [1:?] OF IfcLightDistributionData;
-END_ENTITY;
-
-ENTITY IfcLightSource
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcLightSourceAmbient
- ,IfcLightSourceDirectional
- ,IfcLightSourceGoniometric
- ,IfcLightSourcePositional))
- SUBTYPE OF (IfcGeometricRepresentationItem);
- Name : OPTIONAL IfcLabel;
- LightColour : IfcColourRgb;
- AmbientIntensity : OPTIONAL IfcNormalisedRatioMeasure;
- Intensity : OPTIONAL IfcNormalisedRatioMeasure;
-END_ENTITY;
-
-ENTITY IfcLightSourceAmbient
- SUBTYPE OF (IfcLightSource);
-END_ENTITY;
-
-ENTITY IfcLightSourceDirectional
- SUBTYPE OF (IfcLightSource);
- Orientation : IfcDirection;
-END_ENTITY;
-
-ENTITY IfcLightSourceGoniometric
- SUBTYPE OF (IfcLightSource);
- Position : IfcAxis2Placement3D;
- ColourAppearance : OPTIONAL IfcColourRgb;
- ColourTemperature : IfcThermodynamicTemperatureMeasure;
- LuminousFlux : IfcLuminousFluxMeasure;
- LightEmissionSource : IfcLightEmissionSourceEnum;
- LightDistributionDataSource : IfcLightDistributionDataSourceSelect;
-END_ENTITY;
-
-ENTITY IfcLightSourcePositional
- SUPERTYPE OF (ONEOF
- (IfcLightSourceSpot))
- SUBTYPE OF (IfcLightSource);
- Position : IfcCartesianPoint;
- Radius : IfcPositiveLengthMeasure;
- ConstantAttenuation : IfcReal;
- DistanceAttenuation : IfcReal;
- QuadricAttenuation : IfcReal;
-END_ENTITY;
-
-ENTITY IfcLightSourceSpot
- SUBTYPE OF (IfcLightSourcePositional);
- Orientation : IfcDirection;
- ConcentrationExponent : OPTIONAL IfcReal;
- SpreadAngle : IfcPositivePlaneAngleMeasure;
- BeamWidthAngle : IfcPositivePlaneAngleMeasure;
-END_ENTITY;
-
-ENTITY IfcLine
- SUBTYPE OF (IfcCurve);
- Pnt : IfcCartesianPoint;
- Dir : IfcVector;
- WHERE
- WR1 : Dir.Dim = Pnt.Dim;
-END_ENTITY;
-
-ENTITY IfcLinearDimension
- SUBTYPE OF (IfcDimensionCurveDirectedCallout);
-END_ENTITY;
-
-ENTITY IfcLocalPlacement
- SUBTYPE OF (IfcObjectPlacement);
- PlacementRelTo : OPTIONAL IfcObjectPlacement;
- RelativePlacement : IfcAxis2Placement;
- WHERE
- WR21 : IfcCorrectLocalPlacement(RelativePlacement, PlacementRelTo);
-END_ENTITY;
-
-ENTITY IfcLocalTime;
- HourComponent : IfcHourInDay;
- MinuteComponent : OPTIONAL IfcMinuteInHour;
- SecondComponent : OPTIONAL IfcSecondInMinute;
- Zone : OPTIONAL IfcCoordinatedUniversalTimeOffset;
- DaylightSavingOffset : OPTIONAL IfcDaylightSavingHour;
- WHERE
- WR21 : IfcValidTime (SELF);
-END_ENTITY;
-
-ENTITY IfcLoop
- SUPERTYPE OF (ONEOF
- (IfcEdgeLoop
- ,IfcPolyLoop
- ,IfcVertexLoop))
- SUBTYPE OF (IfcTopologicalRepresentationItem);
-END_ENTITY;
-
-ENTITY IfcManifoldSolidBrep
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcFacetedBrep
- ,IfcFacetedBrepWithVoids))
- SUBTYPE OF (IfcSolidModel);
- Outer : IfcClosedShell;
-END_ENTITY;
-
-ENTITY IfcMappedItem
- SUBTYPE OF (IfcRepresentationItem);
- MappingSource : IfcRepresentationMap;
- MappingTarget : IfcCartesianTransformationOperator;
-END_ENTITY;
-
-ENTITY IfcMaterial;
- Name : IfcLabel;
- INVERSE
- HasRepresentation : SET [0:1] OF IfcMaterialDefinitionRepresentation FOR RepresentedMaterial;
- ClassifiedAs : SET [0:1] OF IfcMaterialClassificationRelationship FOR ClassifiedMaterial;
-END_ENTITY;
-
-ENTITY IfcMaterialClassificationRelationship;
- MaterialClassifications : SET [1:?] OF IfcClassificationNotationSelect;
- ClassifiedMaterial : IfcMaterial;
-END_ENTITY;
-
-ENTITY IfcMaterialDefinitionRepresentation
- SUBTYPE OF (IfcProductRepresentation);
- RepresentedMaterial : IfcMaterial;
- WHERE
- WR11 : SIZEOF(QUERY(temp <* Representations |
- (NOT('IFC2X3.IFCSTYLEDREPRESENTATION' IN TYPEOF(temp)))
- )) = 0;
-END_ENTITY;
-
-ENTITY IfcMaterialLayer;
- Material : OPTIONAL IfcMaterial;
- LayerThickness : IfcPositiveLengthMeasure;
- IsVentilated : OPTIONAL IfcLogical;
- INVERSE
- ToMaterialLayerSet : IfcMaterialLayerSet FOR MaterialLayers;
-END_ENTITY;
-
-ENTITY IfcMaterialLayerSet;
- MaterialLayers : LIST [1:?] OF IfcMaterialLayer;
- LayerSetName : OPTIONAL IfcLabel;
- DERIVE
- TotalThickness : IfcLengthMeasure := IfcMlsTotalThickness(SELF);
-END_ENTITY;
-
-ENTITY IfcMaterialLayerSetUsage;
- ForLayerSet : IfcMaterialLayerSet;
- LayerSetDirection : IfcLayerSetDirectionEnum;
- DirectionSense : IfcDirectionSenseEnum;
- OffsetFromReferenceLine : IfcLengthMeasure;
-END_ENTITY;
-
-ENTITY IfcMaterialList;
- Materials : LIST [1:?] OF IfcMaterial;
-END_ENTITY;
-
-ENTITY IfcMaterialProperties
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcExtendedMaterialProperties
- ,IfcFuelProperties
- ,IfcGeneralMaterialProperties
- ,IfcHygroscopicMaterialProperties
- ,IfcMechanicalMaterialProperties
- ,IfcOpticalMaterialProperties
- ,IfcProductsOfCombustionProperties
- ,IfcThermalMaterialProperties
- ,IfcWaterProperties));
- Material : IfcMaterial;
-END_ENTITY;
-
-ENTITY IfcMeasureWithUnit;
- ValueComponent : IfcValue;
- UnitComponent : IfcUnit;
-END_ENTITY;
-
-ENTITY IfcMechanicalConcreteMaterialProperties
- SUBTYPE OF (IfcMechanicalMaterialProperties);
- CompressiveStrength : OPTIONAL IfcPressureMeasure;
- MaxAggregateSize : OPTIONAL IfcPositiveLengthMeasure;
- AdmixturesDescription : OPTIONAL IfcText;
- Workability : OPTIONAL IfcText;
- ProtectivePoreRatio : OPTIONAL IfcNormalisedRatioMeasure;
- WaterImpermeability : OPTIONAL IfcText;
-END_ENTITY;
-
-ENTITY IfcMechanicalFastener
- SUBTYPE OF (IfcFastener);
- NominalDiameter : OPTIONAL IfcPositiveLengthMeasure;
- NominalLength : OPTIONAL IfcPositiveLengthMeasure;
-END_ENTITY;
-
-ENTITY IfcMechanicalFastenerType
- SUBTYPE OF (IfcFastenerType);
-END_ENTITY;
-
-ENTITY IfcMechanicalMaterialProperties
- SUPERTYPE OF (ONEOF
- (IfcMechanicalConcreteMaterialProperties
- ,IfcMechanicalSteelMaterialProperties))
- SUBTYPE OF (IfcMaterialProperties);
- DynamicViscosity : OPTIONAL IfcDynamicViscosityMeasure;
- YoungModulus : OPTIONAL IfcModulusOfElasticityMeasure;
- ShearModulus : OPTIONAL IfcModulusOfElasticityMeasure;
- PoissonRatio : OPTIONAL IfcPositiveRatioMeasure;
- ThermalExpansionCoefficient : OPTIONAL IfcThermalExpansionCoefficientMeasure;
- UNIQUE
- UR11 : Material;
- WHERE
- WR21 : NOT(EXISTS(YoungModulus)) OR (YoungModulus >= 0.0);
- WR22 : NOT(EXISTS(ShearModulus)) OR (ShearModulus >= 0.0);
-END_ENTITY;
-
-ENTITY IfcMechanicalSteelMaterialProperties
- SUBTYPE OF (IfcMechanicalMaterialProperties);
- YieldStress : OPTIONAL IfcPressureMeasure;
- UltimateStress : OPTIONAL IfcPressureMeasure;
- UltimateStrain : OPTIONAL IfcPositiveRatioMeasure;
- HardeningModule : OPTIONAL IfcModulusOfElasticityMeasure;
- ProportionalStress : OPTIONAL IfcPressureMeasure;
- PlasticStrain : OPTIONAL IfcPositiveRatioMeasure;
- Relaxations : OPTIONAL SET [1:?] OF IfcRelaxation;
- WHERE
- WR31 : NOT(EXISTS(YieldStress)) OR (YieldStress >= 0.);
- WR32 : NOT(EXISTS(UltimateStress)) OR (UltimateStress >= 0.);
- WR33 : NOT(EXISTS(HardeningModule)) OR (HardeningModule >= 0.);
- WR34 : NOT(EXISTS(ProportionalStress)) OR (ProportionalStress >= 0.);
-END_ENTITY;
-
-ENTITY IfcMember
- SUBTYPE OF (IfcBuildingElement);
-END_ENTITY;
-
-ENTITY IfcMemberType
- SUBTYPE OF (IfcBuildingElementType);
- PredefinedType : IfcMemberTypeEnum;
-END_ENTITY;
-
-ENTITY IfcMetric
- SUBTYPE OF (IfcConstraint);
- Benchmark : IfcBenchmarkEnum;
- ValueSource : OPTIONAL IfcLabel;
- DataValue : IfcMetricValueSelect;
-END_ENTITY;
-
-ENTITY IfcMonetaryUnit;
- Currency : IfcCurrencyEnum;
-END_ENTITY;
-
-ENTITY IfcMotorConnectionType
- SUBTYPE OF (IfcEnergyConversionDeviceType);
- PredefinedType : IfcMotorConnectionTypeEnum;
-END_ENTITY;
-
-ENTITY IfcMove
- SUBTYPE OF (IfcTask);
- MoveFrom : IfcSpatialStructureElement;
- MoveTo : IfcSpatialStructureElement;
- PunchList : OPTIONAL LIST [1:?] OF UNIQUE IfcText;
- WHERE
- WR1 : SIZEOF(SELF\IfcProcess.OperatesOn) >= 1;
- WR2 : SIZEOF(QUERY(temp <* OperatesOn |
- SIZEOF(QUERY(temp2 <* temp.RelatedObjects |
- ('IFC2X3.IFCACTOR' IN TYPEOF (temp2)) OR
- ('IFC2X3.IFCEQUIPMENTELEMENT' IN TYPEOF (temp2)) OR
- ('IFC2X3.IFCFURNISHINGELEMENT' IN TYPEOF (temp2)) )) >=1
- )) >= 1;
- WR3 : EXISTS(SELF\IfcRoot.Name);
-END_ENTITY;
-
-ENTITY IfcNamedUnit
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcContextDependentUnit
- ,IfcConversionBasedUnit
- ,IfcSIUnit));
- Dimensions : IfcDimensionalExponents;
- UnitType : IfcUnitEnum;
- WHERE
- WR1 : IfcCorrectDimensions (SELF.UnitType, SELF.Dimensions);
-END_ENTITY;
-
-ENTITY IfcObject
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcActor
- ,IfcControl
- ,IfcGroup
- ,IfcProcess
- ,IfcProduct
- ,IfcProject
- ,IfcResource))
- SUBTYPE OF (IfcObjectDefinition);
- ObjectType : OPTIONAL IfcLabel;
- INVERSE
- IsDefinedBy : SET [0:?] OF IfcRelDefines FOR RelatedObjects;
- WHERE
- WR1 : SIZEOF(QUERY(temp <* IsDefinedBy | 'IFC2X3.IFCRELDEFINESBYTYPE' IN TYPEOF(temp))) <= 1;
-END_ENTITY;
-
-ENTITY IfcObjectDefinition
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcObject
- ,IfcTypeObject))
- SUBTYPE OF (IfcRoot);
- INVERSE
- HasAssignments : SET [0:?] OF IfcRelAssigns FOR RelatedObjects;
- IsDecomposedBy : SET [0:?] OF IfcRelDecomposes FOR RelatingObject;
- Decomposes : SET [0:1] OF IfcRelDecomposes FOR RelatedObjects;
- HasAssociations : SET [0:?] OF IfcRelAssociates FOR RelatedObjects;
-END_ENTITY;
-
-ENTITY IfcObjectPlacement
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcGridPlacement
- ,IfcLocalPlacement));
- INVERSE
- PlacesObject : SET [1:1] OF IfcProduct FOR ObjectPlacement;
- ReferencedByPlacements : SET [0:?] OF IfcLocalPlacement FOR PlacementRelTo;
-END_ENTITY;
-
-ENTITY IfcObjective
- SUBTYPE OF (IfcConstraint);
- BenchmarkValues : OPTIONAL IfcMetric;
- ResultValues : OPTIONAL IfcMetric;
- ObjectiveQualifier : IfcObjectiveEnum;
- UserDefinedQualifier : OPTIONAL IfcLabel;
- WHERE
- WR21 : (ObjectiveQualifier <> IfcObjectiveEnum.USERDEFINED) OR
- ((ObjectiveQualifier = IfcObjectiveEnum.USERDEFINED) AND EXISTS(SELF\IfcObjective.UserDefinedQualifier));
-END_ENTITY;
-
-ENTITY IfcOccupant
- SUBTYPE OF (IfcActor);
- PredefinedType : IfcOccupantTypeEnum;
- WHERE
- WR31 : NOT(PredefinedType = IfcOccupantTypeEnum.USERDEFINED)
- OR EXISTS(SELF\IfcObject.ObjectType);
-END_ENTITY;
-
-ENTITY IfcOffsetCurve2D
- SUBTYPE OF (IfcCurve);
- BasisCurve : IfcCurve;
- Distance : IfcLengthMeasure;
- SelfIntersect : LOGICAL;
- WHERE
- WR1 : BasisCurve.Dim = 2;
-END_ENTITY;
-
-ENTITY IfcOffsetCurve3D
- SUBTYPE OF (IfcCurve);
- BasisCurve : IfcCurve;
- Distance : IfcLengthMeasure;
- SelfIntersect : LOGICAL;
- RefDirection : IfcDirection;
- WHERE
- WR1 : BasisCurve.Dim = 3;
-END_ENTITY;
-
-ENTITY IfcOneDirectionRepeatFactor
- SUPERTYPE OF (ONEOF
- (IfcTwoDirectionRepeatFactor))
- SUBTYPE OF (IfcGeometricRepresentationItem);
- RepeatFactor : IfcVector;
-END_ENTITY;
-
-ENTITY IfcOpenShell
- SUBTYPE OF (IfcConnectedFaceSet);
-END_ENTITY;
-
-ENTITY IfcOpeningElement
- SUBTYPE OF (IfcFeatureElementSubtraction);
- INVERSE
- HasFillings : SET [0:?] OF IfcRelFillsElement FOR RelatingOpeningElement;
-END_ENTITY;
-
-ENTITY IfcOpticalMaterialProperties
- SUBTYPE OF (IfcMaterialProperties);
- VisibleTransmittance : OPTIONAL IfcPositiveRatioMeasure;
- SolarTransmittance : OPTIONAL IfcPositiveRatioMeasure;
- ThermalIrTransmittance : OPTIONAL IfcPositiveRatioMeasure;
- ThermalIrEmissivityBack : OPTIONAL IfcPositiveRatioMeasure;
- ThermalIrEmissivityFront : OPTIONAL IfcPositiveRatioMeasure;
- VisibleReflectanceBack : OPTIONAL IfcPositiveRatioMeasure;
- VisibleReflectanceFront : OPTIONAL IfcPositiveRatioMeasure;
- SolarReflectanceFront : OPTIONAL IfcPositiveRatioMeasure;
- SolarReflectanceBack : OPTIONAL IfcPositiveRatioMeasure;
- UNIQUE
- UR11 : Material;
-END_ENTITY;
-
-ENTITY IfcOrderAction
- SUBTYPE OF (IfcTask);
- ActionID : IfcIdentifier;
- UNIQUE
- UR2 : ActionID;
-END_ENTITY;
-
-ENTITY IfcOrganization;
- Id : OPTIONAL IfcIdentifier;
- Name : IfcLabel;
- Description : OPTIONAL IfcText;
- Roles : OPTIONAL LIST [1:?] OF IfcActorRole;
- Addresses : OPTIONAL LIST [1:?] OF IfcAddress;
- INVERSE
- IsRelatedBy : SET [0:?] OF IfcOrganizationRelationship FOR RelatedOrganizations;
- Relates : SET [0:?] OF IfcOrganizationRelationship FOR RelatingOrganization;
- Engages : SET [0:?] OF IfcPersonAndOrganization FOR TheOrganization;
-END_ENTITY;
-
-ENTITY IfcOrganizationRelationship;
- Name : IfcLabel;
- Description : OPTIONAL IfcText;
- RelatingOrganization : IfcOrganization;
- RelatedOrganizations : SET [1:?] OF IfcOrganization;
-END_ENTITY;
-
-ENTITY IfcOrientedEdge
- SUBTYPE OF (IfcEdge);
- EdgeElement : IfcEdge;
- Orientation : BOOLEAN;
- DERIVE
- SELF\IfcEdge.EdgeStart : IfcVertex := IfcBooleanChoose
- (Orientation, EdgeElement.EdgeStart, EdgeElement.EdgeEnd);
- SELF\IfcEdge.EdgeEnd : IfcVertex := IfcBooleanChoose
- (Orientation, EdgeElement.EdgeEnd, EdgeElement.EdgeStart);
- WHERE
- WR1 : NOT('IFC2X3.IFCORIENTEDEDGE' IN TYPEOF(EdgeElement));
-END_ENTITY;
-
-ENTITY IfcOutletType
- SUBTYPE OF (IfcFlowTerminalType);
- PredefinedType : IfcOutletTypeEnum;
-END_ENTITY;
-
-ENTITY IfcOwnerHistory;
- OwningUser : IfcPersonAndOrganization;
- OwningApplication : IfcApplication;
- State : OPTIONAL IfcStateEnum;
- ChangeAction : IfcChangeActionEnum;
- LastModifiedDate : OPTIONAL IfcTimeStamp;
- LastModifyingUser : OPTIONAL IfcPersonAndOrganization;
- LastModifyingApplication : OPTIONAL IfcApplication;
- CreationDate : IfcTimeStamp;
-END_ENTITY;
-
-ENTITY IfcParameterizedProfileDef
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcCShapeProfileDef
- ,IfcCircleProfileDef
- ,IfcCraneRailAShapeProfileDef
- ,IfcCraneRailFShapeProfileDef
- ,IfcEllipseProfileDef
- ,IfcIShapeProfileDef
- ,IfcLShapeProfileDef
- ,IfcRectangleProfileDef
- ,IfcTShapeProfileDef
- ,IfcTrapeziumProfileDef
- ,IfcUShapeProfileDef
- ,IfcZShapeProfileDef))
- SUBTYPE OF (IfcProfileDef);
- Position : IfcAxis2Placement2D;
-END_ENTITY;
-
-ENTITY IfcPath
- SUBTYPE OF (IfcTopologicalRepresentationItem);
- EdgeList : LIST [1:?] OF UNIQUE IfcOrientedEdge;
- WHERE
- WR1 : IfcPathHeadToTail(SELF);
-END_ENTITY;
-
-ENTITY IfcPerformanceHistory
- SUBTYPE OF (IfcControl);
- LifeCyclePhase : IfcLabel;
-END_ENTITY;
-
-ENTITY IfcPermeableCoveringProperties
- SUBTYPE OF (IfcPropertySetDefinition);
- OperationType : IfcPermeableCoveringOperationEnum;
- PanelPosition : IfcWindowPanelPositionEnum;
- FrameDepth : OPTIONAL IfcPositiveLengthMeasure;
- FrameThickness : OPTIONAL IfcPositiveLengthMeasure;
- ShapeAspectStyle : OPTIONAL IfcShapeAspect;
-END_ENTITY;
-
-ENTITY IfcPermit
- SUBTYPE OF (IfcControl);
- PermitID : IfcIdentifier;
- UNIQUE
- UR2 : PermitID;
-END_ENTITY;
-
-ENTITY IfcPerson;
- Id : OPTIONAL IfcIdentifier;
- FamilyName : OPTIONAL IfcLabel;
- GivenName : OPTIONAL IfcLabel;
- MiddleNames : OPTIONAL LIST [1:?] OF IfcLabel;
- PrefixTitles : OPTIONAL LIST [1:?] OF IfcLabel;
- SuffixTitles : OPTIONAL LIST [1:?] OF IfcLabel;
- Roles : OPTIONAL LIST [1:?] OF IfcActorRole;
- Addresses : OPTIONAL LIST [1:?] OF IfcAddress;
- INVERSE
- EngagedIn : SET [0:?] OF IfcPersonAndOrganization FOR ThePerson;
- WHERE
- WR1 : EXISTS(FamilyName) OR
- EXISTS(GivenName);
-END_ENTITY;
-
-ENTITY IfcPersonAndOrganization;
- ThePerson : IfcPerson;
- TheOrganization : IfcOrganization;
- Roles : OPTIONAL LIST [1:?] OF IfcActorRole;
-END_ENTITY;
-
-ENTITY IfcPhysicalComplexQuantity
- SUBTYPE OF (IfcPhysicalQuantity);
- HasQuantities : SET [1:?] OF IfcPhysicalQuantity;
- Discrimination : IfcLabel;
- Quality : OPTIONAL IfcLabel;
- Usage : OPTIONAL IfcLabel;
- WHERE
- WR21 : SIZEOF(QUERY(temp <* HasQuantities | SELF :=: temp)) = 0;
-END_ENTITY;
-
-ENTITY IfcPhysicalQuantity
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcPhysicalComplexQuantity
- ,IfcPhysicalSimpleQuantity));
- Name : IfcLabel;
- Description : OPTIONAL IfcText;
- INVERSE
- PartOfComplex : SET [0:1] OF IfcPhysicalComplexQuantity FOR HasQuantities;
-END_ENTITY;
-
-ENTITY IfcPhysicalSimpleQuantity
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcQuantityArea
- ,IfcQuantityCount
- ,IfcQuantityLength
- ,IfcQuantityTime
- ,IfcQuantityVolume
- ,IfcQuantityWeight))
- SUBTYPE OF (IfcPhysicalQuantity);
- Unit : OPTIONAL IfcNamedUnit;
-END_ENTITY;
-
-ENTITY IfcPile
- SUBTYPE OF (IfcBuildingElement);
- PredefinedType : IfcPileTypeEnum;
- ConstructionType : OPTIONAL IfcPileConstructionEnum;
- WHERE
- WR1 : (PredefinedType <> IfcPileTypeEnum.USERDEFINED) OR ((PredefinedType = IfcPileTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcObject.ObjectType));
-END_ENTITY;
-
-ENTITY IfcPipeFittingType
- SUBTYPE OF (IfcFlowFittingType);
- PredefinedType : IfcPipeFittingTypeEnum;
- WHERE
- WR1 : (PredefinedType <> IfcPipeFittingTypeEnum.USERDEFINED) OR
- ((PredefinedType = IfcPipeFittingTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
-END_ENTITY;
-
-ENTITY IfcPipeSegmentType
- SUBTYPE OF (IfcFlowSegmentType);
- PredefinedType : IfcPipeSegmentTypeEnum;
- WHERE
- WR1 : (PredefinedType <> IfcPipeSegmentTypeEnum.USERDEFINED) OR
- ((PredefinedType = IfcPipeSegmentTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
-END_ENTITY;
-
-ENTITY IfcPixelTexture
- SUBTYPE OF (IfcSurfaceTexture);
- Width : IfcInteger;
- Height : IfcInteger;
- ColourComponents : IfcInteger;
- Pixel : LIST [1:?] OF BINARY(32);
- WHERE
- WR21 : Width >= 1;
- WR22 : Height >= 1;
- WR23 : {1 <= ColourComponents <= 4};
- WR24 : SIZEOF(Pixel) = (Width * Height);
-END_ENTITY;
-
-ENTITY IfcPlacement
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcAxis1Placement
- ,IfcAxis2Placement2D
- ,IfcAxis2Placement3D))
- SUBTYPE OF (IfcGeometricRepresentationItem);
- Location : IfcCartesianPoint;
- DERIVE
- Dim : IfcDimensionCount := Location.Dim;
-END_ENTITY;
-
-ENTITY IfcPlanarBox
- SUBTYPE OF (IfcPlanarExtent);
- Placement : IfcAxis2Placement;
-END_ENTITY;
-
-ENTITY IfcPlanarExtent
- SUPERTYPE OF (ONEOF
- (IfcPlanarBox))
- SUBTYPE OF (IfcGeometricRepresentationItem);
- SizeInX : IfcLengthMeasure;
- SizeInY : IfcLengthMeasure;
-END_ENTITY;
-
-ENTITY IfcPlane
- SUBTYPE OF (IfcElementarySurface);
-END_ENTITY;
-
-ENTITY IfcPlate
- SUBTYPE OF (IfcBuildingElement);
-END_ENTITY;
-
-ENTITY IfcPlateType
- SUBTYPE OF (IfcBuildingElementType);
- PredefinedType : IfcPlateTypeEnum;
- WHERE
- WR1 : SIZEOF (QUERY(temp <* SELF\IfcObjectDefinition.HasAssociations | 'IFC2X3.IFCRELASSOCIATESMATERIAL' IN TYPEOF(temp) )) = 1;
-END_ENTITY;
-
-ENTITY IfcPoint
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcCartesianPoint
- ,IfcPointOnCurve
- ,IfcPointOnSurface))
- SUBTYPE OF (IfcGeometricRepresentationItem);
-END_ENTITY;
-
-ENTITY IfcPointOnCurve
- SUBTYPE OF (IfcPoint);
- BasisCurve : IfcCurve;
- PointParameter : IfcParameterValue;
- DERIVE
- Dim : IfcDimensionCount := BasisCurve.Dim;
-END_ENTITY;
-
-ENTITY IfcPointOnSurface
- SUBTYPE OF (IfcPoint);
- BasisSurface : IfcSurface;
- PointParameterU : IfcParameterValue;
- PointParameterV : IfcParameterValue;
- DERIVE
- Dim : IfcDimensionCount := BasisSurface.Dim;
-END_ENTITY;
-
-ENTITY IfcPolyLoop
- SUBTYPE OF (IfcLoop);
- Polygon : LIST [3:?] OF UNIQUE IfcCartesianPoint;
- WHERE
- WR21 : SIZEOF(QUERY(Temp <* Polygon | Temp.Dim <> Polygon[1].Dim)) = 0;
-END_ENTITY;
-
-ENTITY IfcPolygonalBoundedHalfSpace
- SUBTYPE OF (IfcHalfSpaceSolid);
- Position : IfcAxis2Placement3D;
- PolygonalBoundary : IfcBoundedCurve;
- WHERE
- WR41 : PolygonalBoundary.Dim = 2;
- WR42 : SIZEOF(TYPEOF(PolygonalBoundary) * [
- 'IFC2X3.IFCPOLYLINE',
- 'IFC2X3.IFCCOMPOSITECURVE']
- ) = 1;
-END_ENTITY;
-
-ENTITY IfcPolyline
- SUBTYPE OF (IfcBoundedCurve);
- Points : LIST [2:?] OF IfcCartesianPoint;
- WHERE
- WR41 : SIZEOF(QUERY(Temp <* Points | Temp.Dim <> Points[1].Dim)) = 0;
-END_ENTITY;
-
-ENTITY IfcPort
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcDistributionPort))
- SUBTYPE OF (IfcProduct);
- INVERSE
- ContainedIn : IfcRelConnectsPortToElement FOR RelatingPort;
- ConnectedFrom : SET [0:1] OF IfcRelConnectsPorts FOR RelatedPort;
- ConnectedTo : SET [0:1] OF IfcRelConnectsPorts FOR RelatingPort;
-END_ENTITY;
-
-ENTITY IfcPostalAddress
- SUBTYPE OF (IfcAddress);
- InternalLocation : OPTIONAL IfcLabel;
- AddressLines : OPTIONAL LIST [1:?] OF IfcLabel;
- PostalBox : OPTIONAL IfcLabel;
- Town : OPTIONAL IfcLabel;
- Region : OPTIONAL IfcLabel;
- PostalCode : OPTIONAL IfcLabel;
- Country : OPTIONAL IfcLabel;
- WHERE
- WR1 : EXISTS (InternalLocation) OR
- EXISTS (AddressLines) OR
- EXISTS (PostalBox) OR
- EXISTS (PostalCode) OR
- EXISTS (Town) OR
- EXISTS (Region) OR
- EXISTS (Country);
-END_ENTITY;
-
-ENTITY IfcPreDefinedColour
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcDraughtingPreDefinedColour))
- SUBTYPE OF (IfcPreDefinedItem);
-END_ENTITY;
-
-ENTITY IfcPreDefinedCurveFont
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcDraughtingPreDefinedCurveFont))
- SUBTYPE OF (IfcPreDefinedItem);
-END_ENTITY;
-
-ENTITY IfcPreDefinedDimensionSymbol
- SUBTYPE OF (IfcPreDefinedSymbol);
- WHERE
- WR31 : SELF\IfcPreDefinedItem.Name IN ['arc length','conical taper','counterbore',
- 'countersink','depth','diameter','plus minus','radius',
- 'slope','spherical diameter','spherical radius','square'];
-END_ENTITY;
-
-ENTITY IfcPreDefinedItem
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcPreDefinedColour
- ,IfcPreDefinedCurveFont
- ,IfcPreDefinedSymbol
- ,IfcPreDefinedTextFont));
- Name : IfcLabel;
-END_ENTITY;
-
-ENTITY IfcPreDefinedPointMarkerSymbol
- SUBTYPE OF (IfcPreDefinedSymbol);
- WHERE
- WR31 : SELF\IfcPreDefinedItem.Name IN ['asterisk','circle','dot','plus','square','triangle','x'];
-END_ENTITY;
-
-ENTITY IfcPreDefinedSymbol
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcPreDefinedDimensionSymbol
- ,IfcPreDefinedPointMarkerSymbol
- ,IfcPreDefinedTerminatorSymbol))
- SUBTYPE OF (IfcPreDefinedItem);
-END_ENTITY;
-
-ENTITY IfcPreDefinedTerminatorSymbol
- SUBTYPE OF (IfcPreDefinedSymbol);
- WHERE
- WR31 : SELF\IfcPreDefinedItem.Name IN ['blanked arrow','blanked box',
- 'blanked dot','dimension origin','filled arrow','filled box',
- 'filled dot','integral symbol','open arrow','slash','unfilled arrow'];
-END_ENTITY;
-
-ENTITY IfcPreDefinedTextFont
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcDraughtingPreDefinedTextFont
- ,IfcTextStyleFontModel))
- SUBTYPE OF (IfcPreDefinedItem);
-END_ENTITY;
-
-ENTITY IfcPresentationLayerAssignment
- SUPERTYPE OF (ONEOF
- (IfcPresentationLayerWithStyle));
- Name : IfcLabel;
- Description : OPTIONAL IfcText;
- AssignedItems : SET [1:?] OF IfcLayeredItem;
- Identifier : OPTIONAL IfcIdentifier;
-END_ENTITY;
-
-ENTITY IfcPresentationLayerWithStyle
- SUBTYPE OF (IfcPresentationLayerAssignment);
- LayerOn : LOGICAL;
- LayerFrozen : LOGICAL;
- LayerBlocked : LOGICAL;
- LayerStyles : SET [0:?] OF IfcPresentationStyleSelect;
-END_ENTITY;
-
-ENTITY IfcPresentationStyle
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcCurveStyle
- ,IfcFillAreaStyle
- ,IfcSurfaceStyle
- ,IfcSymbolStyle
- ,IfcTextStyle));
- Name : OPTIONAL IfcLabel;
-END_ENTITY;
-
-ENTITY IfcPresentationStyleAssignment;
- Styles : SET [1:?] OF IfcPresentationStyleSelect;
-END_ENTITY;
-
-ENTITY IfcProcedure
- SUBTYPE OF (IfcProcess);
- ProcedureID : IfcIdentifier;
- ProcedureType : IfcProcedureTypeEnum;
- UserDefinedProcedureType : OPTIONAL IfcLabel;
- WHERE
- WR1 : SIZEOF(QUERY(temp <* SELF\IfcObjectDefinition.Decomposes | NOT('IFC2X3.IFCRELNESTS' IN TYPEOF(temp)))) = 0;
- WR2 : SIZEOF(QUERY(temp <* SELF\IfcObjectDefinition.IsDecomposedBy | NOT('IFC2X3.IFCRELNESTS' IN TYPEOF(temp)))) = 0;
- WR3 : EXISTS(SELF\IfcRoot.Name);
- WR4 : (ProcedureType <> IfcProcedureTypeEnum.USERDEFINED) OR
- ((ProcedureType = IfcProcedureTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcProcedure.UserDefinedProcedureType));
-END_ENTITY;
-
-ENTITY IfcProcess
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcProcedure
- ,IfcTask))
- SUBTYPE OF (IfcObject);
- INVERSE
- OperatesOn : SET [0:?] OF IfcRelAssignsToProcess FOR RelatingProcess;
- IsSuccessorFrom : SET [0:?] OF IfcRelSequence FOR RelatedProcess;
- IsPredecessorTo : SET [0:?] OF IfcRelSequence FOR RelatingProcess;
-END_ENTITY;
-
-ENTITY IfcProduct
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcAnnotation
- ,IfcElement
- ,IfcGrid
- ,IfcPort
- ,IfcProxy
- ,IfcSpatialStructureElement
- ,IfcStructuralActivity
- ,IfcStructuralItem))
- SUBTYPE OF (IfcObject);
- ObjectPlacement : OPTIONAL IfcObjectPlacement;
- Representation : OPTIONAL IfcProductRepresentation;
- INVERSE
- ReferencedBy : SET [0:?] OF IfcRelAssignsToProduct FOR RelatingProduct;
- WHERE
- WR1 : (EXISTS(Representation) AND EXISTS(ObjectPlacement))
- OR (EXISTS(Representation) AND
- (NOT('IFC2X3.IFCPRODUCTDEFINITIONSHAPE' IN TYPEOF(Representation))))
- OR (NOT(EXISTS(Representation)));
-END_ENTITY;
-
-ENTITY IfcProductDefinitionShape
- SUBTYPE OF (IfcProductRepresentation);
- INVERSE
- ShapeOfProduct : SET [1:1] OF IfcProduct FOR Representation;
- HasShapeAspects : SET [0:?] OF IfcShapeAspect FOR PartOfProductDefinitionShape;
- WHERE
- WR11 : SIZEOF(QUERY(temp <* Representations |
- (NOT('IFC2X3.IFCSHAPEMODEL' IN TYPEOF(temp)))
- )) = 0;
-END_ENTITY;
-
-ENTITY IfcProductRepresentation
- SUPERTYPE OF (ONEOF
- (IfcMaterialDefinitionRepresentation
- ,IfcProductDefinitionShape));
- Name : OPTIONAL IfcLabel;
- Description : OPTIONAL IfcText;
- Representations : LIST [1:?] OF IfcRepresentation;
-END_ENTITY;
-
-ENTITY IfcProductsOfCombustionProperties
- SUBTYPE OF (IfcMaterialProperties);
- SpecificHeatCapacity : OPTIONAL IfcSpecificHeatCapacityMeasure;
- N20Content : OPTIONAL IfcPositiveRatioMeasure;
- COContent : OPTIONAL IfcPositiveRatioMeasure;
- CO2Content : OPTIONAL IfcPositiveRatioMeasure;
- UNIQUE
- UR11 : Material;
-END_ENTITY;
-
-ENTITY IfcProfileDef
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcArbitraryClosedProfileDef
- ,IfcArbitraryOpenProfileDef
- ,IfcCompositeProfileDef
- ,IfcDerivedProfileDef
- ,IfcParameterizedProfileDef));
- ProfileType : IfcProfileTypeEnum;
- ProfileName : OPTIONAL IfcLabel;
-END_ENTITY;
-
-ENTITY IfcProfileProperties
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcGeneralProfileProperties
- ,IfcRibPlateProfileProperties));
- ProfileName : OPTIONAL IfcLabel;
- ProfileDefinition : OPTIONAL IfcProfileDef;
-END_ENTITY;
-
-ENTITY IfcProject
- SUBTYPE OF (IfcObject);
- LongName : OPTIONAL IfcLabel;
- Phase : OPTIONAL IfcLabel;
- RepresentationContexts : SET [1:?] OF IfcRepresentationContext;
- UnitsInContext : IfcUnitAssignment;
- WHERE
- WR31 : EXISTS(SELF\IfcRoot.Name);
- WR32 : SIZEOF(QUERY(Temp <* RepresentationContexts |
- 'IFC2X3.IFCGEOMETRICREPRESENTATIONSUBCONTEXT' IN TYPEOF(Temp)
- )) = 0;
- WR33 : SIZEOF(SELF\IfcObjectDefinition.Decomposes) = 0;
-END_ENTITY;
-
-ENTITY IfcProjectOrder
- SUBTYPE OF (IfcControl);
- ID : IfcIdentifier;
- PredefinedType : IfcProjectOrderTypeEnum;
- Status : OPTIONAL IfcLabel;
- UNIQUE
- UR2 : ID;
-END_ENTITY;
-
-ENTITY IfcProjectOrderRecord
- SUBTYPE OF (IfcControl);
- Records : LIST [1:?] OF UNIQUE IfcRelAssignsToProjectOrder;
- PredefinedType : IfcProjectOrderRecordTypeEnum;
-END_ENTITY;
-
-ENTITY IfcProjectionCurve
- SUBTYPE OF (IfcAnnotationCurveOccurrence);
-END_ENTITY;
-
-ENTITY IfcProjectionElement
- SUBTYPE OF (IfcFeatureElementAddition);
-END_ENTITY;
-
-ENTITY IfcProperty
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcComplexProperty
- ,IfcSimpleProperty));
- Name : IfcIdentifier;
- Description : OPTIONAL IfcText;
- INVERSE
- PropertyForDependance : SET [0:?] OF IfcPropertyDependencyRelationship FOR DependingProperty;
- PropertyDependsOn : SET [0:?] OF IfcPropertyDependencyRelationship FOR DependantProperty;
- PartOfComplex : SET [0:1] OF IfcComplexProperty FOR HasProperties;
-END_ENTITY;
-
-ENTITY IfcPropertyBoundedValue
- SUBTYPE OF (IfcSimpleProperty);
- UpperBoundValue : OPTIONAL IfcValue;
- LowerBoundValue : OPTIONAL IfcValue;
- Unit : OPTIONAL IfcUnit;
- WHERE
- WR21 : NOT(EXISTS(UpperBoundValue)) OR NOT(EXISTS(LowerBoundValue)) OR
- (TYPEOF(UpperBoundValue) = TYPEOF(LowerBoundValue));
- WR22 : EXISTS(UpperBoundValue) OR EXISTS(LowerBoundValue);
-END_ENTITY;
-
-ENTITY IfcPropertyConstraintRelationship;
- RelatingConstraint : IfcConstraint;
- RelatedProperties : SET [1:?] OF IfcProperty;
- Name : OPTIONAL IfcLabel;
- Description : OPTIONAL IfcText;
-END_ENTITY;
-
-ENTITY IfcPropertyDefinition
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcPropertySetDefinition))
- SUBTYPE OF (IfcRoot);
- INVERSE
- HasAssociations : SET [0:?] OF IfcRelAssociates FOR RelatedObjects;
-END_ENTITY;
-
-ENTITY IfcPropertyDependencyRelationship;
- DependingProperty : IfcProperty;
- DependantProperty : IfcProperty;
- Name : OPTIONAL IfcLabel;
- Description : OPTIONAL IfcText;
- Expression : OPTIONAL IfcText;
- WHERE
- WR1 : DependingProperty :<>: DependantProperty;
-END_ENTITY;
-
-ENTITY IfcPropertyEnumeratedValue
- SUBTYPE OF (IfcSimpleProperty);
- EnumerationValues : LIST [1:?] OF IfcValue;
- EnumerationReference : OPTIONAL IfcPropertyEnumeration;
- WHERE
- WR1 : NOT(EXISTS(EnumerationReference)) OR
- (SIZEOF(QUERY(temp <* EnumerationValues |
- temp IN EnumerationReference.EnumerationValues))
- = SIZEOF(EnumerationValues));
-END_ENTITY;
-
-ENTITY IfcPropertyEnumeration;
- Name : IfcLabel;
- EnumerationValues : LIST [1:?] OF UNIQUE IfcValue;
- Unit : OPTIONAL IfcUnit;
- UNIQUE
- UR1 : Name;
- WHERE
- WR01 : SIZEOF(QUERY(temp <* SELF.EnumerationValues |
- NOT(TYPEOF(SELF.EnumerationValues[1]) = TYPEOF(temp))
- )) = 0;
-END_ENTITY;
-
-ENTITY IfcPropertyListValue
- SUBTYPE OF (IfcSimpleProperty);
- ListValues : LIST [1:?] OF IfcValue;
- Unit : OPTIONAL IfcUnit;
- WHERE
- WR31 : SIZEOF(QUERY(temp <* SELF.ListValues |
- NOT(TYPEOF(SELF.ListValues[1]) = TYPEOF(temp))
- )) = 0;
-END_ENTITY;
-
-ENTITY IfcPropertyReferenceValue
- SUBTYPE OF (IfcSimpleProperty);
- UsageName : OPTIONAL IfcLabel;
- PropertyReference : IfcObjectReferenceSelect;
-END_ENTITY;
-
-ENTITY IfcPropertySet
- SUBTYPE OF (IfcPropertySetDefinition);
- HasProperties : SET [1:?] OF IfcProperty;
- WHERE
- WR31 : EXISTS(SELF\IfcRoot.Name);
- WR32 : IfcUniquePropertyName(HasProperties);
-END_ENTITY;
-
-ENTITY IfcPropertySetDefinition
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcDoorLiningProperties
- ,IfcDoorPanelProperties
- ,IfcElementQuantity
- ,IfcEnergyProperties
- ,IfcFluidFlowProperties
- ,IfcPermeableCoveringProperties
- ,IfcPropertySet
- ,IfcReinforcementDefinitionProperties
- ,IfcServiceLifeFactor
- ,IfcSoundProperties
- ,IfcSoundValue
- ,IfcSpaceThermalLoadProperties
- ,IfcWindowLiningProperties
- ,IfcWindowPanelProperties))
- SUBTYPE OF (IfcPropertyDefinition);
- INVERSE
- PropertyDefinitionOf : SET [0:1] OF IfcRelDefinesByProperties FOR RelatingPropertyDefinition;
- DefinesType : SET [0:1] OF IfcTypeObject FOR HasPropertySets;
-END_ENTITY;
-
-ENTITY IfcPropertySingleValue
- SUBTYPE OF (IfcSimpleProperty);
- NominalValue : OPTIONAL IfcValue;
- Unit : OPTIONAL IfcUnit;
-END_ENTITY;
-
-ENTITY IfcPropertyTableValue
- SUBTYPE OF (IfcSimpleProperty);
- DefiningValues : LIST [1:?] OF UNIQUE IfcValue;
- DefinedValues : LIST [1:?] OF IfcValue;
- Expression : OPTIONAL IfcText;
- DefiningUnit : OPTIONAL IfcUnit;
- DefinedUnit : OPTIONAL IfcUnit;
- WHERE
- WR1 : SIZEOF(DefiningValues) = SIZEOF(DefinedValues);
- WR2 : SIZEOF(QUERY(temp <* SELF.DefiningValues | TYPEOF(temp) <> TYPEOF(SELF.DefiningValues[1])))=0;
- WR3 : SIZEOF(QUERY(temp <* SELF.DefinedValues | TYPEOF(temp) <> TYPEOF(SELF.DefinedValues[1])))=0;
-END_ENTITY;
-
-ENTITY IfcProtectiveDeviceType
- SUBTYPE OF (IfcFlowControllerType);
- PredefinedType : IfcProtectiveDeviceTypeEnum;
-END_ENTITY;
-
-ENTITY IfcProxy
- SUBTYPE OF (IfcProduct);
- ProxyType : IfcObjectTypeEnum;
- Tag : OPTIONAL IfcLabel;
- WHERE
- WR1 : EXISTS(SELF\IfcRoot.Name);
-END_ENTITY;
-
-ENTITY IfcPumpType
- SUBTYPE OF (IfcFlowMovingDeviceType);
- PredefinedType : IfcPumpTypeEnum;
- WHERE
- WR1 : (PredefinedType <> IfcPumpTypeEnum.USERDEFINED) OR
- ((PredefinedType = IfcPumpTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
-END_ENTITY;
-
-ENTITY IfcQuantityArea
- SUBTYPE OF (IfcPhysicalSimpleQuantity);
- AreaValue : IfcAreaMeasure;
- WHERE
- WR21 : NOT(EXISTS(SELF\IfcPhysicalSimpleQuantity.Unit)) OR
- (SELF\IfcPhysicalSimpleQuantity.Unit.UnitType = IfcUnitEnum.AREAUNIT);
- WR22 : AreaValue >= 0.;
-END_ENTITY;
-
-ENTITY IfcQuantityCount
- SUBTYPE OF (IfcPhysicalSimpleQuantity);
- CountValue : IfcCountMeasure;
- WHERE
- WR21 : CountValue >= 0.;
-END_ENTITY;
-
-ENTITY IfcQuantityLength
- SUBTYPE OF (IfcPhysicalSimpleQuantity);
- LengthValue : IfcLengthMeasure;
- WHERE
- WR21 : NOT(EXISTS(SELF\IfcPhysicalSimpleQuantity.Unit)) OR
- (SELF\IfcPhysicalSimpleQuantity.Unit.UnitType = IfcUnitEnum.LENGTHUNIT);
- WR22 : LengthValue >= 0.;
-END_ENTITY;
-
-ENTITY IfcQuantityTime
- SUBTYPE OF (IfcPhysicalSimpleQuantity);
- TimeValue : IfcTimeMeasure;
- WHERE
- WR21 : NOT(EXISTS(SELF\IfcPhysicalSimpleQuantity.Unit)) OR
- (SELF\IfcPhysicalSimpleQuantity.Unit.UnitType = IfcUnitEnum.TIMEUNIT);
- WR22 : TimeValue >= 0.;
-END_ENTITY;
-
-ENTITY IfcQuantityVolume
- SUBTYPE OF (IfcPhysicalSimpleQuantity);
- VolumeValue : IfcVolumeMeasure;
- WHERE
- WR21 : NOT(EXISTS(SELF\IfcPhysicalSimpleQuantity.Unit)) OR
- (SELF\IfcPhysicalSimpleQuantity.Unit.UnitType = IfcUnitEnum.VOLUMEUNIT);
- WR22 : VolumeValue >= 0.;
-END_ENTITY;
-
-ENTITY IfcQuantityWeight
- SUBTYPE OF (IfcPhysicalSimpleQuantity);
- WeightValue : IfcMassMeasure;
- WHERE
- WR21 : NOT(EXISTS(SELF\IfcPhysicalSimpleQuantity.Unit)) OR
- (SELF\IfcPhysicalSimpleQuantity.Unit.UnitType = IfcUnitEnum.MASSUNIT);
- WR22 : WeightValue >= 0.;
-END_ENTITY;
-
-ENTITY IfcRadiusDimension
- SUBTYPE OF (IfcDimensionCurveDirectedCallout);
-END_ENTITY;
-
-ENTITY IfcRailing
- SUBTYPE OF (IfcBuildingElement);
- PredefinedType : OPTIONAL IfcRailingTypeEnum;
-END_ENTITY;
-
-ENTITY IfcRailingType
- SUBTYPE OF (IfcBuildingElementType);
- PredefinedType : IfcRailingTypeEnum;
-END_ENTITY;
-
-ENTITY IfcRamp
- SUBTYPE OF (IfcBuildingElement);
- ShapeType : IfcRampTypeEnum;
- WHERE
- WR1 : (HIINDEX(SELF\IfcObjectDefinition.IsDecomposedBy) = 0) OR
- ((HIINDEX(SELF\IfcObjectDefinition.IsDecomposedBy) = 1) AND (NOT(EXISTS(SELF\IfcProduct.Representation))));
-END_ENTITY;
-
-ENTITY IfcRampFlight
- SUBTYPE OF (IfcBuildingElement);
-END_ENTITY;
-
-ENTITY IfcRampFlightType
- SUBTYPE OF (IfcBuildingElementType);
- PredefinedType : IfcRampFlightTypeEnum;
-END_ENTITY;
-
-ENTITY IfcRationalBezierCurve
- SUBTYPE OF (IfcBezierCurve);
- WeightsData : LIST [2:?] OF REAL;
- DERIVE
- Weights : ARRAY [0:255] OF REAL := IfcListToArray(WeightsData,0,SELF\IfcBSplineCurve.UpperIndexOnControlPoints);
- WHERE
- WR1 : SIZEOF(WeightsData) = SIZEOF(SELF\IfcBSplineCurve.ControlPointsList);
- WR2 : IfcCurveWeightsPositive(SELF);
-END_ENTITY;
-
-ENTITY IfcRectangleHollowProfileDef
- SUBTYPE OF (IfcRectangleProfileDef);
- WallThickness : IfcPositiveLengthMeasure;
- InnerFilletRadius : OPTIONAL IfcPositiveLengthMeasure;
- OuterFilletRadius : OPTIONAL IfcPositiveLengthMeasure;
- WHERE
- WR31 : (WallThickness < (SELF\IfcRectangleProfileDef.XDim/2.)) AND
- (WallThickness < (SELF\IfcRectangleProfileDef.YDim/2.));
- WR32 : NOT(EXISTS(OuterFilletRadius)) OR
- ((OuterFilletRadius <= (SELF\IfcRectangleProfileDef.XDim/2.)) AND
- (OuterFilletRadius <= (SELF\IfcRectangleProfileDef.YDim/2.)));
- WR33 : NOT(EXISTS(InnerFilletRadius)) OR
- ((InnerFilletRadius <= (SELF\IfcRectangleProfileDef.XDim/2. - WallThickness)) AND
- (InnerFilletRadius <= (SELF\IfcRectangleProfileDef.YDim/2. - WallThickness)));
-END_ENTITY;
-
-ENTITY IfcRectangleProfileDef
- SUPERTYPE OF (ONEOF
- (IfcRectangleHollowProfileDef
- ,IfcRoundedRectangleProfileDef))
- SUBTYPE OF (IfcParameterizedProfileDef);
- XDim : IfcPositiveLengthMeasure;
- YDim : IfcPositiveLengthMeasure;
-END_ENTITY;
-
-ENTITY IfcRectangularPyramid
- SUBTYPE OF (IfcCsgPrimitive3D);
- XLength : IfcPositiveLengthMeasure;
- YLength : IfcPositiveLengthMeasure;
- Height : IfcPositiveLengthMeasure;
-END_ENTITY;
-
-ENTITY IfcRectangularTrimmedSurface
- SUBTYPE OF (IfcBoundedSurface);
- BasisSurface : IfcSurface;
- U1 : IfcParameterValue;
- V1 : IfcParameterValue;
- U2 : IfcParameterValue;
- V2 : IfcParameterValue;
- Usense : BOOLEAN;
- Vsense : BOOLEAN;
- DERIVE
- Dim : IfcDimensionCount := BasisSurface.Dim;
- WHERE
- WR1 : U1 <> U2;
- WR2 : V1 <> V2;
- WR3 : (('IFC2X3.IFCELEMENTARYSURFACE' IN TYPEOF(BasisSurface)) AND
- (NOT ('IFC2X3.IFCPLANE' IN TYPEOF(BasisSurface)))) OR
- ('IFC2X3.IFCSURFACEOFREVOLUTION' IN TYPEOF(BasisSurface)) OR
- (Usense = (U2 > U1));
- WR4 : Vsense = (V2 > V1);
-END_ENTITY;
-
-ENTITY IfcReferencesValueDocument;
- ReferencedDocument : IfcDocumentSelect;
- ReferencingValues : SET [1:?] OF IfcAppliedValue;
- Name : OPTIONAL IfcLabel;
- Description : OPTIONAL IfcText;
-END_ENTITY;
-
-ENTITY IfcRegularTimeSeries
- SUBTYPE OF (IfcTimeSeries);
- TimeStep : IfcTimeMeasure;
- Values : LIST [1:?] OF IfcTimeSeriesValue;
-END_ENTITY;
-
-ENTITY IfcReinforcementBarProperties;
- TotalCrossSectionArea : IfcAreaMeasure;
- SteelGrade : IfcLabel;
- BarSurface : OPTIONAL IfcReinforcingBarSurfaceEnum;
- EffectiveDepth : OPTIONAL IfcLengthMeasure;
- NominalBarDiameter : OPTIONAL IfcPositiveLengthMeasure;
- BarCount : OPTIONAL IfcCountMeasure;
-END_ENTITY;
-
-ENTITY IfcReinforcementDefinitionProperties
- SUBTYPE OF (IfcPropertySetDefinition);
- DefinitionType : OPTIONAL IfcLabel;
- ReinforcementSectionDefinitions : LIST [1:?] OF IfcSectionReinforcementProperties;
-END_ENTITY;
-
-ENTITY IfcReinforcingBar
- SUBTYPE OF (IfcReinforcingElement);
- NominalDiameter : IfcPositiveLengthMeasure;
- CrossSectionArea : IfcAreaMeasure;
- BarLength : OPTIONAL IfcPositiveLengthMeasure;
- BarRole : IfcReinforcingBarRoleEnum;
- BarSurface : OPTIONAL IfcReinforcingBarSurfaceEnum;
- WHERE
- WR1 : (BarRole <> IfcReinforcingBarRoleEnum.USERDEFINED) OR ((BarRole = IfcReinforcingBarRoleEnum.USERDEFINED) AND EXISTS(SELF\IfcObject.ObjectType));
-END_ENTITY;
-
-ENTITY IfcReinforcingElement
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcReinforcingBar
- ,IfcReinforcingMesh
- ,IfcTendon
- ,IfcTendonAnchor))
- SUBTYPE OF (IfcBuildingElementComponent);
- SteelGrade : OPTIONAL IfcLabel;
-END_ENTITY;
-
-ENTITY IfcReinforcingMesh
- SUBTYPE OF (IfcReinforcingElement);
- MeshLength : OPTIONAL IfcPositiveLengthMeasure;
- MeshWidth : OPTIONAL IfcPositiveLengthMeasure;
- LongitudinalBarNominalDiameter : IfcPositiveLengthMeasure;
- TransverseBarNominalDiameter : IfcPositiveLengthMeasure;
- LongitudinalBarCrossSectionArea : IfcAreaMeasure;
- TransverseBarCrossSectionArea : IfcAreaMeasure;
- LongitudinalBarSpacing : IfcPositiveLengthMeasure;
- TransverseBarSpacing : IfcPositiveLengthMeasure;
-END_ENTITY;
-
-ENTITY IfcRelAggregates
- SUBTYPE OF (IfcRelDecomposes);
-END_ENTITY;
-
-ENTITY IfcRelAssigns
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcRelAssignsToActor
- ,IfcRelAssignsToControl
- ,IfcRelAssignsToGroup
- ,IfcRelAssignsToProcess
- ,IfcRelAssignsToProduct
- ,IfcRelAssignsToResource))
- SUBTYPE OF (IfcRelationship);
- RelatedObjects : SET [1:?] OF IfcObjectDefinition;
- RelatedObjectsType : OPTIONAL IfcObjectTypeEnum;
- WHERE
- WR1 : IfcCorrectObjectAssignment(RelatedObjectsType, RelatedObjects);
-END_ENTITY;
-
-ENTITY IfcRelAssignsTasks
- SUBTYPE OF (IfcRelAssignsToControl);
- TimeForTask : OPTIONAL IfcScheduleTimeControl;
- WHERE
- WR1 : HIINDEX(SELF\IfcRelAssigns.RelatedObjects) = 1;
- WR2 : 'IFC2X3.IFCTASK' IN TYPEOF(SELF\IfcRelAssigns.RelatedObjects[1]);
- WR3 : 'IFC2X3.IFCWORKCONTROL' IN TYPEOF(SELF\IfcRelAssignsToControl.RelatingControl);
-END_ENTITY;
-
-ENTITY IfcRelAssignsToActor
- SUPERTYPE OF (ONEOF
- (IfcRelOccupiesSpaces))
- SUBTYPE OF (IfcRelAssigns);
- RelatingActor : IfcActor;
- ActingRole : OPTIONAL IfcActorRole;
- WHERE
- WR1 : SIZEOF(QUERY(Temp <* SELF\IfcRelAssigns.RelatedObjects | RelatingActor :=: Temp)) = 0;
-END_ENTITY;
-
-ENTITY IfcRelAssignsToControl
- SUPERTYPE OF (ONEOF
- (IfcRelAssignsTasks
- ,IfcRelAssignsToProjectOrder
- ,IfcRelSchedulesCostItems))
- SUBTYPE OF (IfcRelAssigns);
- RelatingControl : IfcControl;
- WHERE
- WR1 : SIZEOF(QUERY(Temp <* SELF\IfcRelAssigns.RelatedObjects | RelatingControl :=: Temp)) = 0;
-END_ENTITY;
-
-ENTITY IfcRelAssignsToGroup
- SUBTYPE OF (IfcRelAssigns);
- RelatingGroup : IfcGroup;
- WHERE
- WR1 : SIZEOF(QUERY(Temp <* SELF\IfcRelAssigns.RelatedObjects | RelatingGroup :=: Temp)) = 0;
-END_ENTITY;
-
-ENTITY IfcRelAssignsToProcess
- SUBTYPE OF (IfcRelAssigns);
- RelatingProcess : IfcProcess;
- QuantityInProcess : OPTIONAL IfcMeasureWithUnit;
- WHERE
- WR1 : SIZEOF(QUERY(Temp <* SELF\IfcRelAssigns.RelatedObjects | RelatingProcess :=: Temp)) = 0;
-END_ENTITY;
-
-ENTITY IfcRelAssignsToProduct
- SUBTYPE OF (IfcRelAssigns);
- RelatingProduct : IfcProduct;
- WHERE
- WR1 : SIZEOF(QUERY(Temp <* SELF\IfcRelAssigns.RelatedObjects | RelatingProduct :=: Temp)) = 0;
-END_ENTITY;
-
-ENTITY IfcRelAssignsToProjectOrder
- SUBTYPE OF (IfcRelAssignsToControl);
-END_ENTITY;
-
-ENTITY IfcRelAssignsToResource
- SUBTYPE OF (IfcRelAssigns);
- RelatingResource : IfcResource;
- WHERE
- WR1 : SIZEOF(QUERY(Temp <* SELF\IfcRelAssigns.RelatedObjects | RelatingResource :=: Temp)) = 0;
-END_ENTITY;
-
-ENTITY IfcRelAssociates
- SUPERTYPE OF (ONEOF
- (IfcRelAssociatesAppliedValue
- ,IfcRelAssociatesApproval
- ,IfcRelAssociatesClassification
- ,IfcRelAssociatesConstraint
- ,IfcRelAssociatesDocument
- ,IfcRelAssociatesLibrary
- ,IfcRelAssociatesMaterial
- ,IfcRelAssociatesProfileProperties))
- SUBTYPE OF (IfcRelationship);
- RelatedObjects : SET [1:?] OF IfcRoot;
- WHERE
- WR21 : SIZEOF(QUERY(temp <* RelatedObjects |
- NOT(('IFC2X3.IFCOBJECTDEFINITION' IN TYPEOF(temp))
- OR ('IFC2X3.IFCPROPERTYDEFINITION' IN TYPEOF(temp)))
- )) = 0;
-END_ENTITY;
-
-ENTITY IfcRelAssociatesAppliedValue
- SUBTYPE OF (IfcRelAssociates);
- RelatingAppliedValue : IfcAppliedValue;
-END_ENTITY;
-
-ENTITY IfcRelAssociatesApproval
- SUBTYPE OF (IfcRelAssociates);
- RelatingApproval : IfcApproval;
-END_ENTITY;
-
-ENTITY IfcRelAssociatesClassification
- SUBTYPE OF (IfcRelAssociates);
- RelatingClassification : IfcClassificationNotationSelect;
-END_ENTITY;
-
-ENTITY IfcRelAssociatesConstraint
- SUBTYPE OF (IfcRelAssociates);
- Intent : IfcLabel;
- RelatingConstraint : IfcConstraint;
-END_ENTITY;
-
-ENTITY IfcRelAssociatesDocument
- SUBTYPE OF (IfcRelAssociates);
- RelatingDocument : IfcDocumentSelect;
-END_ENTITY;
-
-ENTITY IfcRelAssociatesLibrary
- SUBTYPE OF (IfcRelAssociates);
- RelatingLibrary : IfcLibrarySelect;
-END_ENTITY;
-
-ENTITY IfcRelAssociatesMaterial
- SUBTYPE OF (IfcRelAssociates);
- RelatingMaterial : IfcMaterialSelect;
- WHERE
- WR21 : SIZEOF(QUERY(temp <* SELF\IfcRelAssociates.RelatedObjects |
- ('IFC2X3.IFCFEATUREELEMENTSUBTRACTION' IN TYPEOF(temp))
- OR ('IFC2X3.IFCVIRTUALELEMENT' IN TYPEOF(temp))
- )) = 0;
- WR22 : SIZEOF(QUERY(temp <* SELF\IfcRelAssociates.RelatedObjects |
- (NOT('IFC2X3.IFCPRODUCT' IN TYPEOF(temp)) AND NOT('IFC2X3.IFCTYPEPRODUCT' IN TYPEOF(temp)))
- )) = 0;
-END_ENTITY;
-
-ENTITY IfcRelAssociatesProfileProperties
- SUBTYPE OF (IfcRelAssociates);
- RelatingProfileProperties : IfcProfileProperties;
- ProfileSectionLocation : OPTIONAL IfcShapeAspect;
- ProfileOrientation : OPTIONAL IfcOrientationSelect;
-END_ENTITY;
-
-ENTITY IfcRelConnects
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcRelConnectsElements
- ,IfcRelConnectsPortToElement
- ,IfcRelConnectsPorts
- ,IfcRelConnectsStructuralActivity
- ,IfcRelConnectsStructuralElement
- ,IfcRelConnectsStructuralMember
- ,IfcRelContainedInSpatialStructure
- ,IfcRelCoversBldgElements
- ,IfcRelCoversSpaces
- ,IfcRelFillsElement
- ,IfcRelFlowControlElements
- ,IfcRelInteractionRequirements
- ,IfcRelProjectsElement
- ,IfcRelReferencedInSpatialStructure
- ,IfcRelSequence
- ,IfcRelServicesBuildings
- ,IfcRelSpaceBoundary
- ,IfcRelVoidsElement))
- SUBTYPE OF (IfcRelationship);
-END_ENTITY;
-
-ENTITY IfcRelConnectsElements
- SUPERTYPE OF (ONEOF
- (IfcRelConnectsPathElements
- ,IfcRelConnectsWithRealizingElements))
- SUBTYPE OF (IfcRelConnects);
- ConnectionGeometry : OPTIONAL IfcConnectionGeometry;
- RelatingElement : IfcElement;
- RelatedElement : IfcElement;
- WHERE
- WR31 : RelatingElement :<>: RelatedElement;
-END_ENTITY;
-
-ENTITY IfcRelConnectsPathElements
- SUBTYPE OF (IfcRelConnectsElements);
- RelatingPriorities : LIST [0:?] OF INTEGER;
- RelatedPriorities : LIST [0:?] OF INTEGER;
- RelatedConnectionType : IfcConnectionTypeEnum;
- RelatingConnectionType : IfcConnectionTypeEnum;
- DERIVE
- RelatedLayerCount : INTEGER := IfcNoOfLayers(SELF\IfcRelConnectsElements.RelatedElement);
- RelatingLayerCount : INTEGER := IfcNoOfLayers(SELF\IfcRelConnectsElements.RelatingElement);
-END_ENTITY;
-
-ENTITY IfcRelConnectsPortToElement
- SUBTYPE OF (IfcRelConnects);
- RelatingPort : IfcPort;
- RelatedElement : IfcElement;
-END_ENTITY;
-
-ENTITY IfcRelConnectsPorts
- SUBTYPE OF (IfcRelConnects);
- RelatingPort : IfcPort;
- RelatedPort : IfcPort;
- RealizingElement : OPTIONAL IfcElement;
-END_ENTITY;
-
-ENTITY IfcRelConnectsStructuralActivity
- SUBTYPE OF (IfcRelConnects);
- RelatingElement : IfcStructuralActivityAssignmentSelect;
- RelatedStructuralActivity : IfcStructuralActivity;
-END_ENTITY;
-
-ENTITY IfcRelConnectsStructuralElement
- SUBTYPE OF (IfcRelConnects);
- RelatingElement : IfcElement;
- RelatedStructuralMember : IfcStructuralMember;
-END_ENTITY;
-
-ENTITY IfcRelConnectsStructuralMember
- SUPERTYPE OF (ONEOF
- (IfcRelConnectsWithEccentricity))
- SUBTYPE OF (IfcRelConnects);
- RelatingStructuralMember : IfcStructuralMember;
- RelatedStructuralConnection : IfcStructuralConnection;
- AppliedCondition : OPTIONAL IfcBoundaryCondition;
- AdditionalConditions : OPTIONAL IfcStructuralConnectionCondition;
- SupportedLength : OPTIONAL IfcLengthMeasure;
- ConditionCoordinateSystem : OPTIONAL IfcAxis2Placement3D;
-END_ENTITY;
-
-ENTITY IfcRelConnectsWithEccentricity
- SUBTYPE OF (IfcRelConnectsStructuralMember);
- ConnectionConstraint : IfcConnectionGeometry;
-END_ENTITY;
-
-ENTITY IfcRelConnectsWithRealizingElements
- SUBTYPE OF (IfcRelConnectsElements);
- RealizingElements : SET [1:?] OF IfcElement;
- ConnectionType : OPTIONAL IfcLabel;
-END_ENTITY;
-
-ENTITY IfcRelContainedInSpatialStructure
- SUBTYPE OF (IfcRelConnects);
- RelatedElements : SET [1:?] OF IfcProduct;
- RelatingStructure : IfcSpatialStructureElement;
- WHERE
- WR31 : SIZEOF(QUERY(temp <* RelatedElements | 'IFC2X3.IFCSPATIALSTRUCTUREELEMENT' IN TYPEOF(temp))) = 0;
-END_ENTITY;
-
-ENTITY IfcRelCoversBldgElements
- SUBTYPE OF (IfcRelConnects);
- RelatingBuildingElement : IfcElement;
- RelatedCoverings : SET [1:?] OF IfcCovering;
-END_ENTITY;
-
-ENTITY IfcRelCoversSpaces
- SUBTYPE OF (IfcRelConnects);
- RelatedSpace : IfcSpace;
- RelatedCoverings : SET [1:?] OF IfcCovering;
-END_ENTITY;
-
-ENTITY IfcRelDecomposes
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcRelAggregates
- ,IfcRelNests))
- SUBTYPE OF (IfcRelationship);
- RelatingObject : IfcObjectDefinition;
- RelatedObjects : SET [1:?] OF IfcObjectDefinition;
- WHERE
- WR31 : SIZEOF(QUERY(Temp <* RelatedObjects | RelatingObject :=: Temp)) = 0;
- WR32 : SIZEOF(QUERY(Temp <* RelatedObjects | 'IFC2X3.IFCTYPEOBJECT' IN TYPEOF(temp))) = 0;
- WR33 : NOT('IFC2X3.IFCTYPEOBJECT' IN TYPEOF(RelatingObject));
-END_ENTITY;
-
-ENTITY IfcRelDefines
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcRelDefinesByProperties
- ,IfcRelDefinesByType))
- SUBTYPE OF (IfcRelationship);
- RelatedObjects : SET [1:?] OF IfcObject;
-END_ENTITY;
-
-ENTITY IfcRelDefinesByProperties
- SUPERTYPE OF (ONEOF
- (IfcRelOverridesProperties))
- SUBTYPE OF (IfcRelDefines);
- RelatingPropertyDefinition : IfcPropertySetDefinition;
-END_ENTITY;
-
-ENTITY IfcRelDefinesByType
- SUBTYPE OF (IfcRelDefines);
- RelatingType : IfcTypeObject;
-END_ENTITY;
-
-ENTITY IfcRelFillsElement
- SUBTYPE OF (IfcRelConnects);
- RelatingOpeningElement : IfcOpeningElement;
- RelatedBuildingElement : IfcElement;
-END_ENTITY;
-
-ENTITY IfcRelFlowControlElements
- SUBTYPE OF (IfcRelConnects);
- RelatedControlElements : SET [1:?] OF IfcDistributionControlElement;
- RelatingFlowElement : IfcDistributionFlowElement;
-END_ENTITY;
-
-ENTITY IfcRelInteractionRequirements
- SUBTYPE OF (IfcRelConnects);
- DailyInteraction : OPTIONAL IfcCountMeasure;
- ImportanceRating : OPTIONAL IfcNormalisedRatioMeasure;
- LocationOfInteraction : OPTIONAL IfcSpatialStructureElement;
- RelatedSpaceProgram : IfcSpaceProgram;
- RelatingSpaceProgram : IfcSpaceProgram;
-END_ENTITY;
-
-ENTITY IfcRelNests
- SUBTYPE OF (IfcRelDecomposes);
- WHERE
- WR1 : SIZEOF(QUERY(Temp <* SELF\IfcRelDecomposes.RelatedObjects |
- NOT(TYPEOF(SELF\IfcRelDecomposes.RelatingObject) = TYPEOF(Temp)))) = 0;
-END_ENTITY;
-
-ENTITY IfcRelOccupiesSpaces
- SUBTYPE OF (IfcRelAssignsToActor);
-END_ENTITY;
-
-ENTITY IfcRelOverridesProperties
- SUBTYPE OF (IfcRelDefinesByProperties);
- OverridingProperties : SET [1:?] OF IfcProperty;
- WHERE
- WR1 : SIZEOF(SELF\IfcRelDefines.RelatedObjects) = 1;
-END_ENTITY;
-
-ENTITY IfcRelProjectsElement
- SUBTYPE OF (IfcRelConnects);
- RelatingElement : IfcElement;
- RelatedFeatureElement : IfcFeatureElementAddition;
-END_ENTITY;
-
-ENTITY IfcRelReferencedInSpatialStructure
- SUBTYPE OF (IfcRelConnects);
- RelatedElements : SET [1:?] OF IfcProduct;
- RelatingStructure : IfcSpatialStructureElement;
- WHERE
- WR31 : SIZEOF(QUERY(temp <* RelatedElements | 'IFC2X3.IFCSPATIALSTRUCTUREELEMENT' IN TYPEOF(temp))) = 0;
-END_ENTITY;
-
-ENTITY IfcRelSchedulesCostItems
- SUBTYPE OF (IfcRelAssignsToControl);
- WHERE
- WR11 : SIZEOF(QUERY(temp <* SELF\IfcRelAssigns.RelatedObjects |
- NOT('IFC2X3.IFCCOSTITEM' IN TYPEOF(temp))
- )) = 0;
- WR12 : 'IFC2X3.IFCCOSTSCHEDULE' IN TYPEOF (SELF\IfcRelAssignsToControl.RelatingControl);
-END_ENTITY;
-
-ENTITY IfcRelSequence
- SUBTYPE OF (IfcRelConnects);
- RelatingProcess : IfcProcess;
- RelatedProcess : IfcProcess;
- TimeLag : IfcTimeMeasure;
- SequenceType : IfcSequenceEnum;
- WHERE
- WR1 : RelatingProcess :<>: RelatedProcess;
-END_ENTITY;
-
-ENTITY IfcRelServicesBuildings
- SUBTYPE OF (IfcRelConnects);
- RelatingSystem : IfcSystem;
- RelatedBuildings : SET [1:?] OF IfcSpatialStructureElement;
-END_ENTITY;
-
-ENTITY IfcRelSpaceBoundary
- SUBTYPE OF (IfcRelConnects);
- RelatingSpace : IfcSpace;
- RelatedBuildingElement : OPTIONAL IfcElement;
- ConnectionGeometry : OPTIONAL IfcConnectionGeometry;
- PhysicalOrVirtualBoundary : IfcPhysicalOrVirtualEnum;
- InternalOrExternalBoundary : IfcInternalOrExternalEnum;
- WHERE
- WR1 : ((PhysicalOrVirtualBoundary = IfcPhysicalOrVirtualEnum.Physical) AND
- (EXISTS(RelatedBuildingElement) AND NOT('IFC2X3.IFCVIRTUALELEMENT' IN TYPEOF(RelatedBuildingElement))))
- OR
- ((PhysicalOrVirtualBoundary = IfcPhysicalOrVirtualEnum.Virtual) AND
- (NOT(EXISTS(RelatedBuildingElement)) OR ('IFC2X3.IFCVIRTUALELEMENT' IN TYPEOF(RelatedBuildingElement))))
- OR
- (PhysicalOrVirtualBoundary = IfcPhysicalOrVirtualEnum.NotDefined);
-END_ENTITY;
-
-ENTITY IfcRelVoidsElement
- SUBTYPE OF (IfcRelConnects);
- RelatingBuildingElement : IfcElement;
- RelatedOpeningElement : IfcFeatureElementSubtraction;
-END_ENTITY;
-
-ENTITY IfcRelationship
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcRelAssigns
- ,IfcRelAssociates
- ,IfcRelConnects
- ,IfcRelDecomposes
- ,IfcRelDefines))
- SUBTYPE OF (IfcRoot);
-END_ENTITY;
-
-ENTITY IfcRelaxation;
- RelaxationValue : IfcNormalisedRatioMeasure;
- InitialStress : IfcNormalisedRatioMeasure;
-END_ENTITY;
-
-ENTITY IfcRepresentation
- SUPERTYPE OF (ONEOF
- (IfcShapeModel
- ,IfcStyleModel));
- ContextOfItems : IfcRepresentationContext;
- RepresentationIdentifier : OPTIONAL IfcLabel;
- RepresentationType : OPTIONAL IfcLabel;
- Items : SET [1:?] OF IfcRepresentationItem;
- INVERSE
- RepresentationMap : SET [0:1] OF IfcRepresentationMap FOR MappedRepresentation;
- LayerAssignments : SET [0:?] OF IfcPresentationLayerAssignment FOR Assigneditems;
- OfProductRepresentation : SET [0:1] OF IfcProductRepresentation FOR Representations;
-END_ENTITY;
-
-ENTITY IfcRepresentationContext
- SUPERTYPE OF (ONEOF
- (IfcGeometricRepresentationContext));
- ContextIdentifier : OPTIONAL IfcLabel;
- ContextType : OPTIONAL IfcLabel;
- INVERSE
- RepresentationsInContext : SET [0:?] OF IfcRepresentation FOR ContextOfItems;
-END_ENTITY;
-
-ENTITY IfcRepresentationItem
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcGeometricRepresentationItem
- ,IfcMappedItem
- ,IfcStyledItem
- ,IfcTopologicalRepresentationItem));
- INVERSE
- LayerAssignments : SET [0:?] OF IfcPresentationLayerAssignment FOR AssignedItems;
- StyledByItem : SET [0:1] OF IfcStyledItem FOR Item;
-END_ENTITY;
-
-ENTITY IfcRepresentationMap;
- MappingOrigin : IfcAxis2Placement;
- MappedRepresentation : IfcRepresentation;
- INVERSE
- MapUsage : SET [0:?] OF IfcMappedItem FOR MappingSource;
-END_ENTITY;
-
-ENTITY IfcResource
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcConstructionResource))
- SUBTYPE OF (IfcObject);
- INVERSE
- ResourceOf : SET [0:?] OF IfcRelAssignsToResource FOR RelatingResource;
-END_ENTITY;
-
-ENTITY IfcRevolvedAreaSolid
- SUBTYPE OF (IfcSweptAreaSolid);
- Axis : IfcAxis1Placement;
- Angle : IfcPlaneAngleMeasure;
- DERIVE
- AxisLine : IfcLine := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcCurve() || IfcLine(Axis.Location,
- IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcVector(Axis.Z,1.0));
- WHERE
- WR31 : Axis.Location.Coordinates[3] = 0.0;
- WR32 : Axis.Z.DirectionRatios[3] = 0.0;
-END_ENTITY;
-
-ENTITY IfcRibPlateProfileProperties
- SUBTYPE OF (IfcProfileProperties);
- Thickness : OPTIONAL IfcPositiveLengthMeasure;
- RibHeight : OPTIONAL IfcPositiveLengthMeasure;
- RibWidth : OPTIONAL IfcPositiveLengthMeasure;
- RibSpacing : OPTIONAL IfcPositiveLengthMeasure;
- Direction : IfcRibPlateDirectionEnum;
-END_ENTITY;
-
-ENTITY IfcRightCircularCone
- SUBTYPE OF (IfcCsgPrimitive3D);
- Height : IfcPositiveLengthMeasure;
- BottomRadius : IfcPositiveLengthMeasure;
-END_ENTITY;
-
-ENTITY IfcRightCircularCylinder
- SUBTYPE OF (IfcCsgPrimitive3D);
- Height : IfcPositiveLengthMeasure;
- Radius : IfcPositiveLengthMeasure;
-END_ENTITY;
-
-ENTITY IfcRoof
- SUBTYPE OF (IfcBuildingElement);
- ShapeType : IfcRoofTypeEnum;
- WHERE
- WR1 : (HIINDEX(SELF\IfcObjectDefinition.IsDecomposedBy) = 0) OR
- ((HIINDEX(SELF\IfcObjectDefinition.IsDecomposedBy) = 1) AND (NOT(EXISTS(SELF\IfcProduct.Representation))));
-END_ENTITY;
-
-ENTITY IfcRoot
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcObjectDefinition
- ,IfcPropertyDefinition
- ,IfcRelationship));
- GlobalId : IfcGloballyUniqueId;
- OwnerHistory : IfcOwnerHistory;
- Name : OPTIONAL IfcLabel;
- Description : OPTIONAL IfcText;
- UNIQUE
- UR1 : GlobalId;
-END_ENTITY;
-
-ENTITY IfcRoundedEdgeFeature
- SUBTYPE OF (IfcEdgeFeature);
- Radius : OPTIONAL IfcPositiveLengthMeasure;
-END_ENTITY;
-
-ENTITY IfcRoundedRectangleProfileDef
- SUBTYPE OF (IfcRectangleProfileDef);
- RoundingRadius : IfcPositiveLengthMeasure;
- WHERE
- WR31 : ((RoundingRadius <= (SELF\IfcRectangleProfileDef.XDim/2.)) AND
- (RoundingRadius <= (SELF\IfcRectangleProfileDef.YDim/2.)));
-END_ENTITY;
-
-ENTITY IfcSIUnit
- SUBTYPE OF (IfcNamedUnit);
- Prefix : OPTIONAL IfcSIPrefix;
- Name : IfcSIUnitName;
- DERIVE
- SELF\IfcNamedUnit.Dimensions : IfcDimensionalExponents := IfcDimensionsForSiUnit (SELF.Name);
-END_ENTITY;
-
-ENTITY IfcSanitaryTerminalType
- SUBTYPE OF (IfcFlowTerminalType);
- PredefinedType : IfcSanitaryTerminalTypeEnum;
-END_ENTITY;
-
-ENTITY IfcScheduleTimeControl
- SUBTYPE OF (IfcControl);
- ActualStart : OPTIONAL IfcDateTimeSelect;
- EarlyStart : OPTIONAL IfcDateTimeSelect;
- LateStart : OPTIONAL IfcDateTimeSelect;
- ScheduleStart : OPTIONAL IfcDateTimeSelect;
- ActualFinish : OPTIONAL IfcDateTimeSelect;
- EarlyFinish : OPTIONAL IfcDateTimeSelect;
- LateFinish : OPTIONAL IfcDateTimeSelect;
- ScheduleFinish : OPTIONAL IfcDateTimeSelect;
- ScheduleDuration : OPTIONAL IfcTimeMeasure;
- ActualDuration : OPTIONAL IfcTimeMeasure;
- RemainingTime : OPTIONAL IfcTimeMeasure;
- FreeFloat : OPTIONAL IfcTimeMeasure;
- TotalFloat : OPTIONAL IfcTimeMeasure;
- IsCritical : OPTIONAL BOOLEAN;
- StatusTime : OPTIONAL IfcDateTimeSelect;
- StartFloat : OPTIONAL IfcTimeMeasure;
- FinishFloat : OPTIONAL IfcTimeMeasure;
- Completion : OPTIONAL IfcPositiveRatioMeasure;
- INVERSE
- ScheduleTimeControlAssigned : IfcRelAssignsTasks FOR TimeForTask;
-END_ENTITY;
-
-ENTITY IfcSectionProperties;
- SectionType : IfcSectionTypeEnum;
- StartProfile : IfcProfileDef;
- EndProfile : OPTIONAL IfcProfileDef;
-END_ENTITY;
-
-ENTITY IfcSectionReinforcementProperties;
- LongitudinalStartPosition : IfcLengthMeasure;
- LongitudinalEndPosition : IfcLengthMeasure;
- TransversePosition : OPTIONAL IfcLengthMeasure;
- ReinforcementRole : IfcReinforcingBarRoleEnum;
- SectionDefinition : IfcSectionProperties;
- CrossSectionReinforcementDefinitions : SET [1:?] OF IfcReinforcementBarProperties;
-END_ENTITY;
-
-ENTITY IfcSectionedSpine
- SUBTYPE OF (IfcGeometricRepresentationItem);
- SpineCurve : IfcCompositeCurve;
- CrossSections : LIST [2:?] OF IfcProfileDef;
- CrossSectionPositions : LIST [2:?] OF IfcAxis2Placement3D;
- DERIVE
- Dim : IfcDimensionCount := 3;
- WHERE
- WR1 : SIZEOF(CrossSections) = SIZEOF(CrossSectionPositions);
- WR2 : SIZEOF(QUERY(temp <* CrossSections | CrossSections[1].ProfileType <> temp.ProfileType)) = 0;
- WR3 : SpineCurve.Dim = 3;
-END_ENTITY;
-
-ENTITY IfcSensorType
- SUBTYPE OF (IfcDistributionControlElementType);
- PredefinedType : IfcSensorTypeEnum;
-END_ENTITY;
-
-ENTITY IfcServiceLife
- SUBTYPE OF (IfcControl);
- ServiceLifeType : IfcServiceLifeTypeEnum;
- ServiceLifeDuration : IfcTimeMeasure;
-END_ENTITY;
-
-ENTITY IfcServiceLifeFactor
- SUBTYPE OF (IfcPropertySetDefinition);
- PredefinedType : IfcServiceLifeFactorTypeEnum;
- UpperValue : OPTIONAL IfcMeasureValue;
- MostUsedValue : IfcMeasureValue;
- LowerValue : OPTIONAL IfcMeasureValue;
- WHERE
- WR31 : NOT(PredefinedType = IfcServiceLifeFactorTypeEnum.USERDEFINED)
- OR EXISTS(SELF\IfcObject.ObjectType);
-END_ENTITY;
-
-ENTITY IfcShapeAspect;
- ShapeRepresentations : LIST [1:?] OF IfcShapeModel;
- Name : OPTIONAL IfcLabel;
- Description : OPTIONAL IfcText;
- ProductDefinitional : LOGICAL;
- PartOfProductDefinitionShape : IfcProductDefinitionShape;
-END_ENTITY;
-
-ENTITY IfcShapeModel
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcShapeRepresentation
- ,IfcTopologyRepresentation))
- SUBTYPE OF (IfcRepresentation);
- INVERSE
- OfShapeAspect : SET [0:1] OF IfcShapeAspect FOR ShapeRepresentations;
- WHERE
- WR11 : (SIZEOF(SELF\IfcRepresentation.OfProductRepresentation) = 1) XOR
- (SIZEOF(SELF\IfcRepresentation.RepresentationMap) = 1) XOR
- (SIZEOF(OfShapeAspect) = 1);
-END_ENTITY;
-
-ENTITY IfcShapeRepresentation
- SUBTYPE OF (IfcShapeModel);
- WHERE
- WR21 : 'IFC2X3.IFCGEOMETRICREPRESENTATIONCONTEXT'
- IN TYPEOF(SELF\IfcRepresentation.ContextOfItems);
- WR22 : SIZEOF(QUERY(temp <* Items |
- ('IFC2X3.IFCTOPOLOGICALREPRESENTATIONITEM' IN TYPEOF(temp))
- AND (NOT(SIZEOF(
- ['IFC2X3.IFCVERTEXPOINT',
- 'IFC2X3.IFCEDGECURVE',
- 'IFC2X3.IFCFACESURFACE'] * TYPEOF(temp)) = 1))
- )) = 0;
- WR23 : EXISTS(SELF\IfcRepresentation.RepresentationType);
- WR24 : IfcShapeRepresentationTypes(SELF\IfcRepresentation.RepresentationType, SELF\IfcRepresentation.Items);
-END_ENTITY;
-
-ENTITY IfcShellBasedSurfaceModel
- SUBTYPE OF (IfcGeometricRepresentationItem);
- SbsmBoundary : SET [1:?] OF IfcShell;
- DERIVE
- Dim : IfcDimensionCount := 3;
-END_ENTITY;
-
-ENTITY IfcSimpleProperty
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcPropertyBoundedValue
- ,IfcPropertyEnumeratedValue
- ,IfcPropertyListValue
- ,IfcPropertyReferenceValue
- ,IfcPropertySingleValue
- ,IfcPropertyTableValue))
- SUBTYPE OF (IfcProperty);
-END_ENTITY;
-
-ENTITY IfcSite
- SUBTYPE OF (IfcSpatialStructureElement);
- RefLatitude : OPTIONAL IfcCompoundPlaneAngleMeasure;
- RefLongitude : OPTIONAL IfcCompoundPlaneAngleMeasure;
- RefElevation : OPTIONAL IfcLengthMeasure;
- LandTitleNumber : OPTIONAL IfcLabel;
- SiteAddress : OPTIONAL IfcPostalAddress;
-END_ENTITY;
-
-ENTITY IfcSlab
- SUBTYPE OF (IfcBuildingElement);
- PredefinedType : OPTIONAL IfcSlabTypeEnum;
- WHERE
- WR2 : (PredefinedType <> IfcSlabTypeEnum.USERDEFINED) OR
- ((PredefinedType = IfcSlabTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcObject.ObjectType));
-END_ENTITY;
-
-ENTITY IfcSlabType
- SUBTYPE OF (IfcBuildingElementType);
- PredefinedType : IfcSlabTypeEnum;
-END_ENTITY;
-
-ENTITY IfcSlippageConnectionCondition
- SUBTYPE OF (IfcStructuralConnectionCondition);
- SlippageX : OPTIONAL IfcLengthMeasure;
- SlippageY : OPTIONAL IfcLengthMeasure;
- SlippageZ : OPTIONAL IfcLengthMeasure;
-END_ENTITY;
-
-ENTITY IfcSolidModel
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcCsgSolid
- ,IfcManifoldSolidBrep
- ,IfcSweptAreaSolid
- ,IfcSweptDiskSolid))
- SUBTYPE OF (IfcGeometricRepresentationItem);
- DERIVE
- Dim : IfcDimensionCount := 3;
-END_ENTITY;
-
-ENTITY IfcSoundProperties
- SUBTYPE OF (IfcPropertySetDefinition);
- IsAttenuating : IfcBoolean;
- SoundScale : OPTIONAL IfcSoundScaleEnum;
- SoundValues : LIST [1:8] OF IfcSoundValue;
-END_ENTITY;
-
-ENTITY IfcSoundValue
- SUBTYPE OF (IfcPropertySetDefinition);
- SoundLevelTimeSeries : OPTIONAL IfcTimeSeries;
- Frequency : IfcFrequencyMeasure;
- SoundLevelSingleValue : OPTIONAL IfcDerivedMeasureValue;
-END_ENTITY;
-
-ENTITY IfcSpace
- SUBTYPE OF (IfcSpatialStructureElement);
- InteriorOrExteriorSpace : IfcInternalOrExternalEnum;
- ElevationWithFlooring : OPTIONAL IfcLengthMeasure;
- INVERSE
- HasCoverings : SET [0:?] OF IfcRelCoversSpaces FOR RelatedSpace;
- BoundedBy : SET [0:?] OF IfcRelSpaceBoundary FOR RelatingSpace;
-END_ENTITY;
-
-ENTITY IfcSpaceHeaterType
- SUBTYPE OF (IfcEnergyConversionDeviceType);
- PredefinedType : IfcSpaceHeaterTypeEnum;
- WHERE
- WR1 : (PredefinedType <> IfcSpaceHeaterTypeEnum.USERDEFINED) OR
- ((PredefinedType = IfcSpaceHeaterTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
-END_ENTITY;
-
-ENTITY IfcSpaceProgram
- SUBTYPE OF (IfcControl);
- SpaceProgramIdentifier : IfcIdentifier;
- MaxRequiredArea : OPTIONAL IfcAreaMeasure;
- MinRequiredArea : OPTIONAL IfcAreaMeasure;
- RequestedLocation : OPTIONAL IfcSpatialStructureElement;
- StandardRequiredArea : IfcAreaMeasure;
- INVERSE
- HasInteractionReqsFrom : SET [0:?] OF IfcRelInteractionRequirements FOR RelatedSpaceProgram;
- HasInteractionReqsTo : SET [0:?] OF IfcRelInteractionRequirements FOR RelatingSpaceProgram;
-END_ENTITY;
-
-ENTITY IfcSpaceThermalLoadProperties
- SUBTYPE OF (IfcPropertySetDefinition);
- ApplicableValueRatio : OPTIONAL IfcPositiveRatioMeasure;
- ThermalLoadSource : IfcThermalLoadSourceEnum;
- PropertySource : IfcPropertySourceEnum;
- SourceDescription : OPTIONAL IfcText;
- MaximumValue : IfcPowerMeasure;
- MinimumValue : OPTIONAL IfcPowerMeasure;
- ThermalLoadTimeSeriesValues : OPTIONAL IfcTimeSeries;
- UserDefinedThermalLoadSource : OPTIONAL IfcLabel;
- UserDefinedPropertySource : OPTIONAL IfcLabel;
- ThermalLoadType : IfcThermalLoadTypeEnum;
-END_ENTITY;
-
-ENTITY IfcSpaceType
- SUBTYPE OF (IfcSpatialStructureElementType);
- PredefinedType : IfcSpaceTypeEnum;
-END_ENTITY;
-
-ENTITY IfcSpatialStructureElement
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcBuilding
- ,IfcBuildingStorey
- ,IfcSite
- ,IfcSpace))
- SUBTYPE OF (IfcProduct);
- LongName : OPTIONAL IfcLabel;
- CompositionType : IfcElementCompositionEnum;
- INVERSE
- ReferencesElements : SET [0:?] OF IfcRelReferencedInSpatialStructure FOR RelatingStructure;
- ServicedBySystems : SET [0:?] OF IfcRelServicesBuildings FOR RelatedBuildings;
- ContainsElements : SET [0:?] OF IfcRelContainedInSpatialStructure FOR RelatingStructure;
- WHERE
- WR41 : (HIINDEX(SELF\IfcObjectDefinition.Decomposes) = 1)
- AND
- ('IFC2X3.IFCRELAGGREGATES' IN TYPEOF(SELF\IfcObjectDefinition.Decomposes[1]))
- AND
- (('IFC2X3.IFCPROJECT' IN TYPEOF (SELF\IfcObjectDefinition.Decomposes[1].RelatingObject)) OR
- ('IFC2X3.IFCSPATIALSTRUCTUREELEMENT' IN TYPEOF (SELF\IfcObjectDefinition.Decomposes[1].RelatingObject))
- );
-END_ENTITY;
-
-ENTITY IfcSpatialStructureElementType
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcSpaceType))
- SUBTYPE OF (IfcElementType);
-END_ENTITY;
-
-ENTITY IfcSphere
- SUBTYPE OF (IfcCsgPrimitive3D);
- Radius : IfcPositiveLengthMeasure;
-END_ENTITY;
-
-ENTITY IfcStackTerminalType
- SUBTYPE OF (IfcFlowTerminalType);
- PredefinedType : IfcStackTerminalTypeEnum;
-END_ENTITY;
-
-ENTITY IfcStair
- SUBTYPE OF (IfcBuildingElement);
- ShapeType : IfcStairTypeEnum;
- WHERE
- WR1 : (HIINDEX(SELF\IfcObjectDefinition.IsDecomposedBy) = 0) OR
- ((HIINDEX(SELF\IfcObjectDefinition.IsDecomposedBy) = 1) AND (NOT(EXISTS(SELF\IfcProduct.Representation))));
-END_ENTITY;
-
-ENTITY IfcStairFlight
- SUBTYPE OF (IfcBuildingElement);
- NumberOfRiser : OPTIONAL INTEGER;
- NumberOfTreads : OPTIONAL INTEGER;
- RiserHeight : OPTIONAL IfcPositiveLengthMeasure;
- TreadLength : OPTIONAL IfcPositiveLengthMeasure;
-END_ENTITY;
-
-ENTITY IfcStairFlightType
- SUBTYPE OF (IfcBuildingElementType);
- PredefinedType : IfcStairFlightTypeEnum;
-END_ENTITY;
-
-ENTITY IfcStructuralAction
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcStructuralLinearAction
- ,IfcStructuralPlanarAction
- ,IfcStructuralPointAction))
- SUBTYPE OF (IfcStructuralActivity);
- DestabilizingLoad : BOOLEAN;
- CausedBy : OPTIONAL IfcStructuralReaction;
-END_ENTITY;
-
-ENTITY IfcStructuralActivity
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcStructuralAction
- ,IfcStructuralReaction))
- SUBTYPE OF (IfcProduct);
- AppliedLoad : IfcStructuralLoad;
- GlobalOrLocal : IfcGlobalOrLocalEnum;
- INVERSE
- AssignedToStructuralItem : IfcRelConnectsStructuralActivity FOR RelatedStructuralActivity;
-END_ENTITY;
-
-ENTITY IfcStructuralAnalysisModel
- SUBTYPE OF (IfcSystem);
- PredefinedType : IfcAnalysisModelTypeEnum;
- OrientationOf2DPlane : OPTIONAL IfcAxis2Placement3D;
- LoadedBy : OPTIONAL SET [1:?] OF IfcStructuralLoadGroup;
- HasResults : OPTIONAL SET [1:?] OF IfcStructuralResultGroup;
-END_ENTITY;
-
-ENTITY IfcStructuralConnection
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcStructuralCurveConnection
- ,IfcStructuralPointConnection
- ,IfcStructuralSurfaceConnection))
- SUBTYPE OF (IfcStructuralItem);
- AppliedCondition : OPTIONAL IfcBoundaryCondition;
- INVERSE
- ConnectsStructuralMembers : SET [1:?] OF IfcRelConnectsStructuralMember FOR RelatedStructuralConnection;
-END_ENTITY;
-
-ENTITY IfcStructuralConnectionCondition
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcFailureConnectionCondition
- ,IfcSlippageConnectionCondition));
- Name : OPTIONAL IfcLabel;
-END_ENTITY;
-
-ENTITY IfcStructuralCurveConnection
- SUBTYPE OF (IfcStructuralConnection);
-END_ENTITY;
-
-ENTITY IfcStructuralCurveMember
- SUPERTYPE OF (ONEOF
- (IfcStructuralCurveMemberVarying))
- SUBTYPE OF (IfcStructuralMember);
- PredefinedType : IfcStructuralCurveTypeEnum;
-END_ENTITY;
-
-ENTITY IfcStructuralCurveMemberVarying
- SUBTYPE OF (IfcStructuralCurveMember);
-END_ENTITY;
-
-ENTITY IfcStructuralItem
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcStructuralConnection
- ,IfcStructuralMember))
- SUBTYPE OF (IfcProduct);
- INVERSE
- AssignedStructuralActivity : SET [0:?] OF IfcRelConnectsStructuralActivity FOR RelatingElement;
-END_ENTITY;
-
-ENTITY IfcStructuralLinearAction
- SUPERTYPE OF (ONEOF
- (IfcStructuralLinearActionVarying))
- SUBTYPE OF (IfcStructuralAction);
- ProjectedOrTrue : IfcProjectedOrTrueLengthEnum;
- WHERE
- WR61 : SIZEOF(['IFC2X3.IFCSTRUCTURALLOADLINEARFORCE',
- 'IFC2X3.IFCSTRUCTURALLOADTEMPERATURE']
- * TYPEOF(SELF\IfcStructuralActivity.AppliedLoad)) = 1;
-END_ENTITY;
-
-ENTITY IfcStructuralLinearActionVarying
- SUBTYPE OF (IfcStructuralLinearAction);
- VaryingAppliedLoadLocation : IfcShapeAspect;
- SubsequentAppliedLoads : LIST [1:?] OF IfcStructuralLoad;
- DERIVE
- VaryingAppliedLoads : LIST [2:?] OF IfcStructuralLoad := IfcAddToBeginOfList(SELF\IfcStructuralActivity.AppliedLoad, SubsequentAppliedLoads);
-END_ENTITY;
-
-ENTITY IfcStructuralLoad
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcStructuralLoadStatic));
- Name : OPTIONAL IfcLabel;
-END_ENTITY;
-
-ENTITY IfcStructuralLoadGroup
- SUBTYPE OF (IfcGroup);
- PredefinedType : IfcLoadGroupTypeEnum;
- ActionType : IfcActionTypeEnum;
- ActionSource : IfcActionSourceTypeEnum;
- Coefficient : OPTIONAL IfcPositiveRatioMeasure;
- Purpose : OPTIONAL IfcLabel;
- INVERSE
- SourceOfResultGroup : SET [0:1] OF IfcStructuralResultGroup FOR ResultForLoadGroup;
- LoadGroupFor : SET [0:?] OF IfcStructuralAnalysisModel FOR LoadedBy;
-END_ENTITY;
-
-ENTITY IfcStructuralLoadLinearForce
- SUBTYPE OF (IfcStructuralLoadStatic);
- LinearForceX : OPTIONAL IfcLinearForceMeasure;
- LinearForceY : OPTIONAL IfcLinearForceMeasure;
- LinearForceZ : OPTIONAL IfcLinearForceMeasure;
- LinearMomentX : OPTIONAL IfcLinearMomentMeasure;
- LinearMomentY : OPTIONAL IfcLinearMomentMeasure;
- LinearMomentZ : OPTIONAL IfcLinearMomentMeasure;
-END_ENTITY;
-
-ENTITY IfcStructuralLoadPlanarForce
- SUBTYPE OF (IfcStructuralLoadStatic);
- PlanarForceX : OPTIONAL IfcPlanarForceMeasure;
- PlanarForceY : OPTIONAL IfcPlanarForceMeasure;
- PlanarForceZ : OPTIONAL IfcPlanarForceMeasure;
-END_ENTITY;
-
-ENTITY IfcStructuralLoadSingleDisplacement
- SUPERTYPE OF (ONEOF
- (IfcStructuralLoadSingleDisplacementDistortion))
- SUBTYPE OF (IfcStructuralLoadStatic);
- DisplacementX : OPTIONAL IfcLengthMeasure;
- DisplacementY : OPTIONAL IfcLengthMeasure;
- DisplacementZ : OPTIONAL IfcLengthMeasure;
- RotationalDisplacementRX : OPTIONAL IfcPlaneAngleMeasure;
- RotationalDisplacementRY : OPTIONAL IfcPlaneAngleMeasure;
- RotationalDisplacementRZ : OPTIONAL IfcPlaneAngleMeasure;
-END_ENTITY;
-
-ENTITY IfcStructuralLoadSingleDisplacementDistortion
- SUBTYPE OF (IfcStructuralLoadSingleDisplacement);
- Distortion : OPTIONAL IfcCurvatureMeasure;
-END_ENTITY;
-
-ENTITY IfcStructuralLoadSingleForce
- SUPERTYPE OF (ONEOF
- (IfcStructuralLoadSingleForceWarping))
- SUBTYPE OF (IfcStructuralLoadStatic);
- ForceX : OPTIONAL IfcForceMeasure;
- ForceY : OPTIONAL IfcForceMeasure;
- ForceZ : OPTIONAL IfcForceMeasure;
- MomentX : OPTIONAL IfcTorqueMeasure;
- MomentY : OPTIONAL IfcTorqueMeasure;
- MomentZ : OPTIONAL IfcTorqueMeasure;
-END_ENTITY;
-
-ENTITY IfcStructuralLoadSingleForceWarping
- SUBTYPE OF (IfcStructuralLoadSingleForce);
- WarpingMoment : OPTIONAL IfcWarpingMomentMeasure;
-END_ENTITY;
-
-ENTITY IfcStructuralLoadStatic
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcStructuralLoadLinearForce
- ,IfcStructuralLoadPlanarForce
- ,IfcStructuralLoadSingleDisplacement
- ,IfcStructuralLoadSingleForce
- ,IfcStructuralLoadTemperature))
- SUBTYPE OF (IfcStructuralLoad);
-END_ENTITY;
-
-ENTITY IfcStructuralLoadTemperature
- SUBTYPE OF (IfcStructuralLoadStatic);
- DeltaT_Constant : OPTIONAL IfcThermodynamicTemperatureMeasure;
- DeltaT_Y : OPTIONAL IfcThermodynamicTemperatureMeasure;
- DeltaT_Z : OPTIONAL IfcThermodynamicTemperatureMeasure;
-END_ENTITY;
-
-ENTITY IfcStructuralMember
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcStructuralCurveMember
- ,IfcStructuralSurfaceMember))
- SUBTYPE OF (IfcStructuralItem);
- INVERSE
- ReferencesElement : SET [0:?] OF IfcRelConnectsStructuralElement FOR RelatedStructuralMember;
- ConnectedBy : SET [0:?] OF IfcRelConnectsStructuralMember FOR RelatingStructuralMember;
-END_ENTITY;
-
-ENTITY IfcStructuralPlanarAction
- SUPERTYPE OF (ONEOF
- (IfcStructuralPlanarActionVarying))
- SUBTYPE OF (IfcStructuralAction);
- ProjectedOrTrue : IfcProjectedOrTrueLengthEnum;
- WHERE
- WR61 : SIZEOF(['IFC2X3.IFCSTRUCTURALLOADPLANARFORCE',
- 'IFC2X3.IFCSTRUCTURALLOADTEMPERATURE']
- * TYPEOF(SELF\IfcStructuralActivity.AppliedLoad)) = 1;
-END_ENTITY;
-
-ENTITY IfcStructuralPlanarActionVarying
- SUBTYPE OF (IfcStructuralPlanarAction);
- VaryingAppliedLoadLocation : IfcShapeAspect;
- SubsequentAppliedLoads : LIST [2:?] OF IfcStructuralLoad;
- DERIVE
- VaryingAppliedLoads : LIST [3:?] OF IfcStructuralLoad := IfcAddToBeginOfList(SELF\IfcStructuralActivity.AppliedLoad, SubsequentAppliedLoads);
-END_ENTITY;
-
-ENTITY IfcStructuralPointAction
- SUBTYPE OF (IfcStructuralAction);
- WHERE
- WR61 : SIZEOF(['IFC2X3.IFCSTRUCTURALLOADSINGLEFORCE',
- 'IFC2X3.IFCSTRUCTURALLOADSINGLEDISPLACEMENT']
- * TYPEOF(SELF\IfcStructuralActivity.AppliedLoad)) = 1;
-END_ENTITY;
-
-ENTITY IfcStructuralPointConnection
- SUBTYPE OF (IfcStructuralConnection);
-END_ENTITY;
-
-ENTITY IfcStructuralPointReaction
- SUBTYPE OF (IfcStructuralReaction);
- WHERE
- WR61 : SIZEOF(['IFC2X3.IFCSTRUCTURALLOADSINGLEFORCE',
- 'IFC2X3.IFCSTRUCTURALLOADSINGLEDISPLACEMENT']
- * TYPEOF(SELF\IfcStructuralActivity.AppliedLoad)) = 1;
-END_ENTITY;
-
-ENTITY IfcStructuralProfileProperties
- SUPERTYPE OF (ONEOF
- (IfcStructuralSteelProfileProperties))
- SUBTYPE OF (IfcGeneralProfileProperties);
- TorsionalConstantX : OPTIONAL IfcMomentOfInertiaMeasure;
- MomentOfInertiaYZ : OPTIONAL IfcMomentOfInertiaMeasure;
- MomentOfInertiaY : OPTIONAL IfcMomentOfInertiaMeasure;
- MomentOfInertiaZ : OPTIONAL IfcMomentOfInertiaMeasure;
- WarpingConstant : OPTIONAL IfcWarpingConstantMeasure;
- ShearCentreZ : OPTIONAL IfcLengthMeasure;
- ShearCentreY : OPTIONAL IfcLengthMeasure;
- ShearDeformationAreaZ : OPTIONAL IfcAreaMeasure;
- ShearDeformationAreaY : OPTIONAL IfcAreaMeasure;
- MaximumSectionModulusY : OPTIONAL IfcSectionModulusMeasure;
- MinimumSectionModulusY : OPTIONAL IfcSectionModulusMeasure;
- MaximumSectionModulusZ : OPTIONAL IfcSectionModulusMeasure;
- MinimumSectionModulusZ : OPTIONAL IfcSectionModulusMeasure;
- TorsionalSectionModulus : OPTIONAL IfcSectionModulusMeasure;
- CentreOfGravityInX : OPTIONAL IfcLengthMeasure;
- CentreOfGravityInY : OPTIONAL IfcLengthMeasure;
- WHERE
- WR21 : NOT(EXISTS(ShearDeformationAreaY)) OR (ShearDeformationAreaY >= 0.);
- WR22 : NOT(EXISTS(ShearDeformationAreaZ)) OR (ShearDeformationAreaZ >= 0.);
-END_ENTITY;
-
-ENTITY IfcStructuralReaction
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcStructuralPointReaction))
- SUBTYPE OF (IfcStructuralActivity);
- INVERSE
- Causes : SET [0:?] OF IfcStructuralAction FOR CausedBy;
-END_ENTITY;
-
-ENTITY IfcStructuralResultGroup
- SUBTYPE OF (IfcGroup);
- TheoryType : IfcAnalysisTheoryTypeEnum;
- ResultForLoadGroup : OPTIONAL IfcStructuralLoadGroup;
- IsLinear : BOOLEAN;
- INVERSE
- ResultGroupFor : SET [0:1] OF IfcStructuralAnalysisModel FOR HasResults;
-END_ENTITY;
-
-ENTITY IfcStructuralSteelProfileProperties
- SUBTYPE OF (IfcStructuralProfileProperties);
- ShearAreaZ : OPTIONAL IfcAreaMeasure;
- ShearAreaY : OPTIONAL IfcAreaMeasure;
- PlasticShapeFactorY : OPTIONAL IfcPositiveRatioMeasure;
- PlasticShapeFactorZ : OPTIONAL IfcPositiveRatioMeasure;
- WHERE
- WR31 : NOT(EXISTS(ShearAreaY)) OR (ShearAreaY >= 0.);
- WR32 : NOT(EXISTS(ShearAreaZ)) OR (ShearAreaZ >= 0.);
-END_ENTITY;
-
-ENTITY IfcStructuralSurfaceConnection
- SUBTYPE OF (IfcStructuralConnection);
-END_ENTITY;
-
-ENTITY IfcStructuralSurfaceMember
- SUPERTYPE OF (ONEOF
- (IfcStructuralSurfaceMemberVarying))
- SUBTYPE OF (IfcStructuralMember);
- PredefinedType : IfcStructuralSurfaceTypeEnum;
- Thickness : OPTIONAL IfcPositiveLengthMeasure;
-END_ENTITY;
-
-ENTITY IfcStructuralSurfaceMemberVarying
- SUBTYPE OF (IfcStructuralSurfaceMember);
- SubsequentThickness : LIST [2:?] OF IfcPositiveLengthMeasure;
- VaryingThicknessLocation : IfcShapeAspect;
- DERIVE
- VaryingThickness : LIST [3:?] OF IfcPositiveLengthMeasure := IfcAddToBeginOfList(SELF\IfcStructuralSurfaceMember.Thickness, SubsequentThickness);
- WHERE
- WR61 : EXISTS(SELF\IfcStructuralSurfaceMember.Thickness);
- WR62 : SIZEOF(QUERY(temp <* SELF.VaryingThicknessLocation.ShapeRepresentations |
- NOT(SIZEOF(temp\IfcRepresentation.Items) = 1)
- )) = 0;
- WR63 : SIZEOF(QUERY(temp <* SELF.VaryingThicknessLocation.ShapeRepresentations |
- NOT(('IFC2X3.IFCCARTESIANPOINT' IN TYPEOF(temp\IfcRepresentation.Items[1]))
- OR
- ('IFC2X3.IFCPOINTONSURFACE' IN TYPEOF(temp\IfcRepresentation.Items[1])))
- )) = 0;
-END_ENTITY;
-
-ENTITY IfcStructuredDimensionCallout
- SUBTYPE OF (IfcDraughtingCallout);
- WHERE
- WR31 : SIZEOF(QUERY ( Ato <* QUERY ( Con <* SELF.contents | (
- 'IFC2X3.IFCANNOTATIONTEXTOCCURRENCE' IN
- TYPEOF(Con)) ) | (NOT (Ato.Name IN ['dimension value',
- 'tolerance value','unit text','prefix text','suffix text']))))
- = 0;
-END_ENTITY;
-
-ENTITY IfcStyleModel
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcStyledRepresentation))
- SUBTYPE OF (IfcRepresentation);
-END_ENTITY;
-
-ENTITY IfcStyledItem
- SUPERTYPE OF (ONEOF
- (IfcAnnotationOccurrence))
- SUBTYPE OF (IfcRepresentationItem);
- Item : OPTIONAL IfcRepresentationItem;
- Styles : SET [1:?] OF IfcPresentationStyleAssignment;
- Name : OPTIONAL IfcLabel;
- WHERE
- WR11 : SIZEOF(Styles) = 1;
- WR12 : NOT('IFC2X3.IFCSTYLEDITEM' IN TYPEOF(Item));
-END_ENTITY;
-
-ENTITY IfcStyledRepresentation
- SUBTYPE OF (IfcStyleModel);
- WHERE
- WR21 : SIZEOF(QUERY(temp <* SELF\IfcRepresentation.Items |
- (NOT('IFC2X3.IFCSTYLEDITEM' IN TYPEOF(temp)))
- )) = 0;
-END_ENTITY;
-
-ENTITY IfcSubContractResource
- SUBTYPE OF (IfcConstructionResource);
- SubContractor : OPTIONAL IfcActorSelect;
- JobDescription : OPTIONAL IfcText;
-END_ENTITY;
-
-ENTITY IfcSubedge
- SUBTYPE OF (IfcEdge);
- ParentEdge : IfcEdge;
-END_ENTITY;
-
-ENTITY IfcSurface
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcBoundedSurface
- ,IfcElementarySurface
- ,IfcSweptSurface))
- SUBTYPE OF (IfcGeometricRepresentationItem);
-END_ENTITY;
-
-ENTITY IfcSurfaceCurveSweptAreaSolid
- SUBTYPE OF (IfcSweptAreaSolid);
- Directrix : IfcCurve;
- StartParam : IfcParameterValue;
- EndParam : IfcParameterValue;
- ReferenceSurface : IfcSurface;
-END_ENTITY;
-
-ENTITY IfcSurfaceOfLinearExtrusion
- SUBTYPE OF (IfcSweptSurface);
- ExtrudedDirection : IfcDirection;
- Depth : IfcLengthMeasure;
- DERIVE
- ExtrusionAxis : IfcVector := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcVector (ExtrudedDirection, Depth);
- WHERE
- WR41 : Depth > 0.;
-END_ENTITY;
-
-ENTITY IfcSurfaceOfRevolution
- SUBTYPE OF (IfcSweptSurface);
- AxisPosition : IfcAxis1Placement;
- DERIVE
- AxisLine : IfcLine := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcCurve() || IfcLine(AxisPosition.Location,
- IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcVector(AxisPosition.Z,1.0));
-END_ENTITY;
-
-ENTITY IfcSurfaceStyle
- SUBTYPE OF (IfcPresentationStyle);
- Side : IfcSurfaceSide;
- Styles : SET [1:5] OF IfcSurfaceStyleElementSelect;
- WHERE
- WR11 : SIZEOF(QUERY(Style <* SELF.Styles |
- 'IFC2X3.IFCSURFACESTYLESHADING' IN
- TYPEOF(Style)
- )) <= 1;
- WR12 : SIZEOF(QUERY(Style <* SELF.Styles |
- 'IFC2X3.IFCSURFACESTYLELIGHTING' IN
- TYPEOF(Style)
- )) <= 1;
- WR13 : SIZEOF(QUERY(Style <* SELF.Styles |
- 'IFC2X3.IFCSURFACESTYLEREFRACTION' IN
- TYPEOF(Style)
- )) <= 1;
- WR14 : SIZEOF(QUERY(Style <* SELF.Styles |
- 'IFC2X3.IFCSURFACESTYLEWITHTEXTURES' IN
- TYPEOF(Style)
- )) <= 1;
- WR15 : SIZEOF(QUERY(Style <* SELF.Styles |
- 'IFC2X3.IFCEXTERNALLYDEFINEDSURFACESTYLE' IN
- TYPEOF(Style)
- )) <= 1;
-END_ENTITY;
-
-ENTITY IfcSurfaceStyleLighting;
- DiffuseTransmissionColour : IfcColourRgb;
- DiffuseReflectionColour : IfcColourRgb;
- TransmissionColour : IfcColourRgb;
- ReflectanceColour : IfcColourRgb;
-END_ENTITY;
-
-ENTITY IfcSurfaceStyleRefraction;
- RefractionIndex : OPTIONAL IfcReal;
- DispersionFactor : OPTIONAL IfcReal;
-END_ENTITY;
-
-ENTITY IfcSurfaceStyleRendering
- SUBTYPE OF (IfcSurfaceStyleShading);
- Transparency : OPTIONAL IfcNormalisedRatioMeasure;
- DiffuseColour : OPTIONAL IfcColourOrFactor;
- TransmissionColour : OPTIONAL IfcColourOrFactor;
- DiffuseTransmissionColour : OPTIONAL IfcColourOrFactor;
- ReflectionColour : OPTIONAL IfcColourOrFactor;
- SpecularColour : OPTIONAL IfcColourOrFactor;
- SpecularHighlight : OPTIONAL IfcSpecularHighlightSelect;
- ReflectanceMethod : IfcReflectanceMethodEnum;
-END_ENTITY;
-
-ENTITY IfcSurfaceStyleShading
- SUPERTYPE OF (ONEOF
- (IfcSurfaceStyleRendering));
- SurfaceColour : IfcColourRgb;
-END_ENTITY;
-
-ENTITY IfcSurfaceStyleWithTextures;
- Textures : LIST [1:?] OF IfcSurfaceTexture;
-END_ENTITY;
-
-ENTITY IfcSurfaceTexture
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcBlobTexture
- ,IfcImageTexture
- ,IfcPixelTexture));
- RepeatS : BOOLEAN;
- RepeatT : BOOLEAN;
- TextureType : IfcSurfaceTextureEnum;
- TextureTransform : OPTIONAL IfcCartesianTransformationOperator2D;
-END_ENTITY;
-
-ENTITY IfcSweptAreaSolid
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcExtrudedAreaSolid
- ,IfcRevolvedAreaSolid
- ,IfcSurfaceCurveSweptAreaSolid))
- SUBTYPE OF (IfcSolidModel);
- SweptArea : IfcProfileDef;
- Position : IfcAxis2Placement3D;
- WHERE
- WR22 : SweptArea.ProfileType = IfcProfileTypeEnum.Area;
-END_ENTITY;
-
-ENTITY IfcSweptDiskSolid
- SUBTYPE OF (IfcSolidModel);
- Directrix : IfcCurve;
- Radius : IfcPositiveLengthMeasure;
- InnerRadius : OPTIONAL IfcPositiveLengthMeasure;
- StartParam : IfcParameterValue;
- EndParam : IfcParameterValue;
- WHERE
- WR1 : Directrix.Dim = 3;
- WR2 : (NOT EXISTS(InnerRadius)) OR (Radius > InnerRadius);
-END_ENTITY;
-
-ENTITY IfcSweptSurface
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcSurfaceOfLinearExtrusion
- ,IfcSurfaceOfRevolution))
- SUBTYPE OF (IfcSurface);
- SweptCurve : IfcProfileDef;
- Position : IfcAxis2Placement3D;
- DERIVE
- Dim : IfcDimensionCount := Position.Dim;
- WHERE
- WR1 : NOT('IFC2X3.IFCDERIVEDPROFILEDEF' IN TYPEOF(SweptCurve));
- WR2 : SweptCurve.ProfileType = IfcProfileTypeEnum.Curve;
-END_ENTITY;
-
-ENTITY IfcSwitchingDeviceType
- SUBTYPE OF (IfcFlowControllerType);
- PredefinedType : IfcSwitchingDeviceTypeEnum;
-END_ENTITY;
-
-ENTITY IfcSymbolStyle
- SUBTYPE OF (IfcPresentationStyle);
- StyleOfSymbol : IfcSymbolStyleSelect;
-END_ENTITY;
-
-ENTITY IfcSystem
- SUPERTYPE OF (ONEOF
- (IfcElectricalCircuit
- ,IfcStructuralAnalysisModel))
- SUBTYPE OF (IfcGroup);
- INVERSE
- ServicesBuildings : SET [0:1] OF IfcRelServicesBuildings FOR RelatingSystem;
-END_ENTITY;
-
-ENTITY IfcSystemFurnitureElementType
- SUBTYPE OF (IfcFurnishingElementType);
-END_ENTITY;
-
-ENTITY IfcTShapeProfileDef
- SUBTYPE OF (IfcParameterizedProfileDef);
- Depth : IfcPositiveLengthMeasure;
- FlangeWidth : IfcPositiveLengthMeasure;
- WebThickness : IfcPositiveLengthMeasure;
- FlangeThickness : IfcPositiveLengthMeasure;
- FilletRadius : OPTIONAL IfcPositiveLengthMeasure;
- FlangeEdgeRadius : OPTIONAL IfcPositiveLengthMeasure;
- WebEdgeRadius : OPTIONAL IfcPositiveLengthMeasure;
- WebSlope : OPTIONAL IfcPlaneAngleMeasure;
- FlangeSlope : OPTIONAL IfcPlaneAngleMeasure;
- CentreOfGravityInY : OPTIONAL IfcPositiveLengthMeasure;
- WHERE
- WR1 : FlangeThickness < Depth;
- WR2 : WebThickness < FlangeWidth;
-END_ENTITY;
-
-ENTITY IfcTable;
- Name : STRING;
- Rows : LIST [1:?] OF IfcTableRow;
- DERIVE
- NumberOfCellsInRow : INTEGER := HIINDEX(Rows[1].RowCells);
- NumberOfHeadings : INTEGER := SIZEOF(QUERY( Temp <* Rows | Temp.IsHeading));
- NumberOfDataRows : INTEGER := SIZEOF(QUERY( Temp <* Rows | NOT(Temp.IsHeading)));
- WHERE
- WR1 : SIZEOF(QUERY( Temp <* Rows | HIINDEX(Temp.RowCells) <> HIINDEX(Rows[1].RowCells))) = 0;
- WR2 : SIZEOF(QUERY( Temp <* Rows | HIINDEX(Temp.RowCells) <> HIINDEX(Rows[1].RowCells))) = 0;
- WR3 : { 0 <= NumberOfHeadings <= 1 };
-END_ENTITY;
-
-ENTITY IfcTableRow;
- RowCells : LIST [1:?] OF IfcValue;
- IsHeading : BOOLEAN;
- INVERSE
- OfTable : IfcTable FOR Rows;
-END_ENTITY;
-
-ENTITY IfcTankType
- SUBTYPE OF (IfcFlowStorageDeviceType);
- PredefinedType : IfcTankTypeEnum;
- WHERE
- WR1 : (PredefinedType <> IfcTankTypeEnum.USERDEFINED) OR
- ((PredefinedType = IfcTankTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
-END_ENTITY;
-
-ENTITY IfcTask
- SUPERTYPE OF (ONEOF
- (IfcMove
- ,IfcOrderAction))
- SUBTYPE OF (IfcProcess);
- TaskId : IfcIdentifier;
- Status : OPTIONAL IfcLabel;
- WorkMethod : OPTIONAL IfcLabel;
- IsMilestone : BOOLEAN;
- Priority : OPTIONAL INTEGER;
- WHERE
- WR1 : SIZEOF(QUERY(temp <* SELF\IfcObjectDefinition.Decomposes | NOT('IFC2X3.IFCRELNESTS' IN TYPEOF(temp)))) = 0;
- WR2 : SIZEOF(QUERY(temp <* SELF\IfcObjectDefinition.IsDecomposedBy | NOT('IFC2X3.IFCRELNESTS' IN TYPEOF(temp)))) = 0;
- WR3 : EXISTS(SELF\IfcRoot.Name);
-END_ENTITY;
-
-ENTITY IfcTelecomAddress
- SUBTYPE OF (IfcAddress);
- TelephoneNumbers : OPTIONAL LIST [1:?] OF IfcLabel;
- FacsimileNumbers : OPTIONAL LIST [1:?] OF IfcLabel;
- PagerNumber : OPTIONAL IfcLabel;
- ElectronicMailAddresses : OPTIONAL LIST [1:?] OF IfcLabel;
- WWWHomePageURL : OPTIONAL IfcLabel;
- WHERE
- WR1 : EXISTS (TelephoneNumbers) OR
- EXISTS (PagerNumber) OR
- EXISTS (FacsimileNumbers) OR
- EXISTS (ElectronicMailAddresses) OR
- EXISTS (WWWHomePageURL);
-END_ENTITY;
-
-ENTITY IfcTendon
- SUBTYPE OF (IfcReinforcingElement);
- PredefinedType : IfcTendonTypeEnum;
- NominalDiameter : IfcPositiveLengthMeasure;
- CrossSectionArea : IfcAreaMeasure;
- TensionForce : OPTIONAL IfcForceMeasure;
- PreStress : OPTIONAL IfcPressureMeasure;
- FrictionCoefficient : OPTIONAL IfcNormalisedRatioMeasure;
- AnchorageSlip : OPTIONAL IfcPositiveLengthMeasure;
- MinCurvatureRadius : OPTIONAL IfcPositiveLengthMeasure;
- WHERE
- WR1 : (PredefinedType <> IfcTendonTypeEnum.USERDEFINED) OR ((PredefinedType = IfcTendonTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcObject.ObjectType));
-END_ENTITY;
-
-ENTITY IfcTendonAnchor
- SUBTYPE OF (IfcReinforcingElement);
-END_ENTITY;
-
-ENTITY IfcTerminatorSymbol
- SUPERTYPE OF (ONEOF
- (IfcDimensionCurveTerminator))
- SUBTYPE OF (IfcAnnotationSymbolOccurrence);
- AnnotatedCurve : IfcAnnotationCurveOccurrence;
-END_ENTITY;
-
-ENTITY IfcTextLiteral
- SUPERTYPE OF (ONEOF
- (IfcTextLiteralWithExtent))
- SUBTYPE OF (IfcGeometricRepresentationItem);
- Literal : IfcPresentableText;
- Placement : IfcAxis2Placement;
- Path : IfcTextPath;
-END_ENTITY;
-
-ENTITY IfcTextLiteralWithExtent
- SUBTYPE OF (IfcTextLiteral);
- Extent : IfcPlanarExtent;
- BoxAlignment : IfcBoxAlignment;
- WHERE
- WR31 : NOT('IFC2X3.IFCPLANARBOX' IN TYPEOF(Extent));
-END_ENTITY;
-
-ENTITY IfcTextStyle
- SUBTYPE OF (IfcPresentationStyle);
- TextCharacterAppearance : OPTIONAL IfcCharacterStyleSelect;
- TextStyle : OPTIONAL IfcTextStyleSelect;
- TextFontStyle : IfcTextFontSelect;
-END_ENTITY;
-
-ENTITY IfcTextStyleFontModel
- SUBTYPE OF (IfcPreDefinedTextFont);
- FontFamily : OPTIONAL LIST [1:?] OF IfcTextFontName;
- FontStyle : OPTIONAL IfcFontStyle;
- FontVariant : OPTIONAL IfcFontVariant;
- FontWeight : OPTIONAL IfcFontWeight;
- FontSize : IfcSizeSelect;
- WHERE
- WR31 : ('IFC2X3.IFCLENGTHMEASURE' IN TYPEOF(SELF.FontSize)) AND
- (SELF.FontSize > 0.);
-END_ENTITY;
-
-ENTITY IfcTextStyleForDefinedFont;
- Colour : IfcColour;
- BackgroundColour : OPTIONAL IfcColour;
-END_ENTITY;
-
-ENTITY IfcTextStyleTextModel;
- TextIndent : OPTIONAL IfcSizeSelect;
- TextAlign : OPTIONAL IfcTextAlignment;
- TextDecoration : OPTIONAL IfcTextDecoration;
- LetterSpacing : OPTIONAL IfcSizeSelect;
- WordSpacing : OPTIONAL IfcSizeSelect;
- TextTransform : OPTIONAL IfcTextTransformation;
- LineHeight : OPTIONAL IfcSizeSelect;
-END_ENTITY;
-
-ENTITY IfcTextStyleWithBoxCharacteristics;
- BoxHeight : OPTIONAL IfcPositiveLengthMeasure;
- BoxWidth : OPTIONAL IfcPositiveLengthMeasure;
- BoxSlantAngle : OPTIONAL IfcPlaneAngleMeasure;
- BoxRotateAngle : OPTIONAL IfcPlaneAngleMeasure;
- CharacterSpacing : OPTIONAL IfcSizeSelect;
-END_ENTITY;
-
-ENTITY IfcTextureCoordinate
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcTextureCoordinateGenerator
- ,IfcTextureMap));
- INVERSE
- AnnotatedSurface : SET [1:1] OF IfcAnnotationSurface FOR TextureCoordinates;
-END_ENTITY;
-
-ENTITY IfcTextureCoordinateGenerator
- SUBTYPE OF (IfcTextureCoordinate);
- Mode : IfcLabel;
- Parameter : LIST [1:?] OF IfcSimpleValue;
-END_ENTITY;
-
-ENTITY IfcTextureMap
- SUBTYPE OF (IfcTextureCoordinate);
- TextureMaps : SET [1:?] OF IfcVertexBasedTextureMap;
- WHERE
- WR11 : SIZEOF([
- 'IFC2X3.IFCSHELLBASEDSURFACEMODEL',
- 'IFC2X3.IFCFACEBASEDSURFACEMODEL',
- 'IFC2X3.IFCFACETEDBREP',
- 'IFC2X3.IFCFACETEDBREPWITHVOIDS']
- * TYPEOF(SELF\IfcTextureCoordinate.AnnotatedSurface[1].Item)
- ) >= 1;
-END_ENTITY;
-
-ENTITY IfcTextureVertex;
- Coordinates : LIST [2:2] OF IfcParameterValue;
-END_ENTITY;
-
-ENTITY IfcThermalMaterialProperties
- SUBTYPE OF (IfcMaterialProperties);
- SpecificHeatCapacity : OPTIONAL IfcSpecificHeatCapacityMeasure;
- BoilingPoint : OPTIONAL IfcThermodynamicTemperatureMeasure;
- FreezingPoint : OPTIONAL IfcThermodynamicTemperatureMeasure;
- ThermalConductivity : OPTIONAL IfcThermalConductivityMeasure;
- UNIQUE
- UR11 : Material;
-END_ENTITY;
-
-ENTITY IfcTimeSeries
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcIrregularTimeSeries
- ,IfcRegularTimeSeries));
- Name : IfcLabel;
- Description : OPTIONAL IfcText;
- StartTime : IfcDateTimeSelect;
- EndTime : IfcDateTimeSelect;
- TimeSeriesDataType : IfcTimeSeriesDataTypeEnum;
- DataOrigin : IfcDataOriginEnum;
- UserDefinedDataOrigin : OPTIONAL IfcLabel;
- Unit : OPTIONAL IfcUnit;
- INVERSE
- DocumentedBy : SET [0:1] OF IfcTimeSeriesReferenceRelationship FOR ReferencedTimeSeries;
-END_ENTITY;
-
-ENTITY IfcTimeSeriesReferenceRelationship;
- ReferencedTimeSeries : IfcTimeSeries;
- TimeSeriesReferences : SET [1:?] OF IfcDocumentSelect;
-END_ENTITY;
-
-ENTITY IfcTimeSeriesSchedule
- SUBTYPE OF (IfcControl);
- ApplicableDates : OPTIONAL LIST [1:?] OF IfcDateTimeSelect;
- TimeSeriesScheduleType : IfcTimeSeriesScheduleTypeEnum;
- TimeSeries : IfcTimeSeries;
- WHERE
- WR41 : NOT(TimeSeriesScheduleType=IfcTimeSeriesScheduleTypeEnum.USERDEFINED) OR EXISTS(SELF\IfcObject.ObjectType);
-END_ENTITY;
-
-ENTITY IfcTimeSeriesValue;
- ListValues : LIST [1:?] OF IfcValue;
-END_ENTITY;
-
-ENTITY IfcTopologicalRepresentationItem
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcConnectedFaceSet
- ,IfcEdge
- ,IfcFace
- ,IfcFaceBound
- ,IfcLoop
- ,IfcPath
- ,IfcVertex))
- SUBTYPE OF (IfcRepresentationItem);
-END_ENTITY;
-
-ENTITY IfcTopologyRepresentation
- SUBTYPE OF (IfcShapeModel);
- WHERE
- WR21 : SIZEOF(QUERY(temp <* SELF\IfcRepresentation.Items |
- NOT('IFC2X3.IFCTOPOLOGICALREPRESENTATIONITEM' IN TYPEOF(temp))
- )) = 0;
- WR22 : EXISTS(SELF\IfcRepresentation.RepresentationType);
- WR23 : IfcTopologyRepresentationTypes(SELF\IfcRepresentation.RepresentationType, SELF\IfcRepresentation.Items);
-END_ENTITY;
-
-ENTITY IfcTransformerType
- SUBTYPE OF (IfcEnergyConversionDeviceType);
- PredefinedType : IfcTransformerTypeEnum;
-END_ENTITY;
-
-ENTITY IfcTransportElement
- SUBTYPE OF (IfcElement);
- OperationType : OPTIONAL IfcTransportElementTypeEnum;
- CapacityByWeight : OPTIONAL IfcMassMeasure;
- CapacityByNumber : OPTIONAL IfcCountMeasure;
-END_ENTITY;
-
-ENTITY IfcTransportElementType
- SUBTYPE OF (IfcElementType);
- PredefinedType : IfcTransportElementTypeEnum;
-END_ENTITY;
-
-ENTITY IfcTrapeziumProfileDef
- SUBTYPE OF (IfcParameterizedProfileDef);
- BottomXDim : IfcPositiveLengthMeasure;
- TopXDim : IfcPositiveLengthMeasure;
- YDim : IfcPositiveLengthMeasure;
- TopXOffset : IfcLengthMeasure;
-END_ENTITY;
-
-ENTITY IfcTrimmedCurve
- SUBTYPE OF (IfcBoundedCurve);
- BasisCurve : IfcCurve;
- Trim1 : SET [1:2] OF IfcTrimmingSelect;
- Trim2 : SET [1:2] OF IfcTrimmingSelect;
- SenseAgreement : BOOLEAN;
- MasterRepresentation : IfcTrimmingPreference;
- WHERE
- WR41 : (HIINDEX(Trim1) = 1) OR (TYPEOF(Trim1[1]) <> TYPEOF(Trim1[2]));
- WR42 : (HIINDEX(Trim2) = 1) OR (TYPEOF(Trim2[1]) <> TYPEOF(Trim2[2]));
- WR43 : NOT('IFC2X3.IFCBOUNDEDCURVE' IN TYPEOF(BasisCurve));
-END_ENTITY;
-
-ENTITY IfcTubeBundleType
- SUBTYPE OF (IfcEnergyConversionDeviceType);
- PredefinedType : IfcTubeBundleTypeEnum;
- WHERE
- WR1 : (PredefinedType <> IfcTubeBundleTypeEnum.USERDEFINED) OR
- ((PredefinedType = IfcTubeBundleTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
-END_ENTITY;
-
-ENTITY IfcTwoDirectionRepeatFactor
- SUBTYPE OF (IfcOneDirectionRepeatFactor);
- SecondRepeatFactor : IfcVector;
-END_ENTITY;
-
-ENTITY IfcTypeObject
- SUPERTYPE OF (ONEOF
- (IfcTypeProduct))
- SUBTYPE OF (IfcObjectDefinition);
- ApplicableOccurrence : OPTIONAL IfcLabel;
- HasPropertySets : OPTIONAL SET [1:?] OF IfcPropertySetDefinition;
- INVERSE
- ObjectTypeOf : SET [0:1] OF IfcRelDefinesByType FOR RelatingType;
- WHERE
- WR1 : EXISTS(SELF\IfcRoot.Name);
-END_ENTITY;
-
-ENTITY IfcTypeProduct
- SUPERTYPE OF (ONEOF
- (IfcDoorStyle
- ,IfcElementType
- ,IfcWindowStyle))
- SUBTYPE OF (IfcTypeObject);
- RepresentationMaps : OPTIONAL LIST [1:?] OF UNIQUE IfcRepresentationMap;
- Tag : OPTIONAL IfcLabel;
- WHERE
- WR41 : NOT(EXISTS(SELF\IfcTypeObject.ObjectTypeOf[1])) OR
- (SIZEOF(QUERY(temp <* SELF\IfcTypeObject.ObjectTypeOf[1].RelatedObjects |
- NOT('IFC2X3.IFCPRODUCT' IN TYPEOF(temp)))
- ) = 0);
-END_ENTITY;
-
-ENTITY IfcUShapeProfileDef
- SUBTYPE OF (IfcParameterizedProfileDef);
- Depth : IfcPositiveLengthMeasure;
- FlangeWidth : IfcPositiveLengthMeasure;
- WebThickness : IfcPositiveLengthMeasure;
- FlangeThickness : IfcPositiveLengthMeasure;
- FilletRadius : OPTIONAL IfcPositiveLengthMeasure;
- EdgeRadius : OPTIONAL IfcPositiveLengthMeasure;
- FlangeSlope : OPTIONAL IfcPlaneAngleMeasure;
- CentreOfGravityInX : OPTIONAL IfcPositiveLengthMeasure;
- WHERE
- WR21 : FlangeThickness < (Depth / 2.);
- WR22 : WebThickness < FlangeWidth;
-END_ENTITY;
-
-ENTITY IfcUnitAssignment;
- Units : SET [1:?] OF IfcUnit;
- WHERE
- WR01 : IfcCorrectUnitAssignment(Units);
-END_ENTITY;
-
-ENTITY IfcUnitaryEquipmentType
- SUBTYPE OF (IfcEnergyConversionDeviceType);
- PredefinedType : IfcUnitaryEquipmentTypeEnum;
- WHERE
- WR1 : (PredefinedType <> IfcUnitaryEquipmentTypeEnum.USERDEFINED) OR
- ((PredefinedType = IfcUnitaryEquipmentTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
-END_ENTITY;
-
-ENTITY IfcValveType
- SUBTYPE OF (IfcFlowControllerType);
- PredefinedType : IfcValveTypeEnum;
- WHERE
- WR1 : (PredefinedType <> IfcValveTypeEnum.USERDEFINED) OR
- ((PredefinedType = IfcValveTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
-END_ENTITY;
-
-ENTITY IfcVector
- SUBTYPE OF (IfcGeometricRepresentationItem);
- Orientation : IfcDirection;
- Magnitude : IfcLengthMeasure;
- DERIVE
- Dim : IfcDimensionCount := Orientation.Dim;
- WHERE
- WR1 : Magnitude >= 0.0;
-END_ENTITY;
-
-ENTITY IfcVertex
- SUPERTYPE OF (ONEOF
- (IfcVertexPoint))
- SUBTYPE OF (IfcTopologicalRepresentationItem);
-END_ENTITY;
-
-ENTITY IfcVertexBasedTextureMap;
- TextureVertices : LIST [3:?] OF IfcTextureVertex;
- TexturePoints : LIST [3:?] OF IfcCartesianPoint;
-END_ENTITY;
-
-ENTITY IfcVertexLoop
- SUBTYPE OF (IfcLoop);
- LoopVertex : IfcVertex;
-END_ENTITY;
-
-ENTITY IfcVertexPoint
- SUBTYPE OF (IfcVertex);
- VertexGeometry : IfcPoint;
-END_ENTITY;
-
-ENTITY IfcVibrationIsolatorType
- SUBTYPE OF (IfcDiscreteAccessoryType);
- PredefinedType : IfcVibrationIsolatorTypeEnum;
- WHERE
- WR1 : (PredefinedType <> IfcVibrationIsolatorTypeEnum.USERDEFINED) OR
- ((PredefinedType = IfcVibrationIsolatorTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
-END_ENTITY;
-
-ENTITY IfcVirtualElement
- SUBTYPE OF (IfcElement);
-END_ENTITY;
-
-ENTITY IfcVirtualGridIntersection;
- IntersectingAxes : LIST [2:2] OF UNIQUE IfcGridAxis;
- OffsetDistances : LIST [2:3] OF IfcLengthMeasure;
-END_ENTITY;
-
-ENTITY IfcWall
- SUPERTYPE OF (ONEOF
- (IfcWallStandardCase))
- SUBTYPE OF (IfcBuildingElement);
- WHERE
- WR1 : SIZEOF (QUERY(temp <* SELF\IfcObjectDefinition.HasAssociations |
- 'IFC2X3.IFCRELASSOCIATESMATERIAL' IN TYPEOF(temp)
- )) <= 1;
-END_ENTITY;
-
-ENTITY IfcWallStandardCase
- SUBTYPE OF (IfcWall);
- WHERE
- WR1 : SIZEOF (QUERY(temp <* USEDIN(SELF, 'IFC2X3.IFCRELASSOCIATES.RELATEDOBJECTS') |
- ('IFC2X3.IFCRELASSOCIATESMATERIAL' IN TYPEOF(temp)) AND
- ('IFC2X3.IFCMATERIALLAYERSETUSAGE' IN TYPEOF(temp.RelatingMaterial))
- )) = 1;
-END_ENTITY;
-
-ENTITY IfcWallType
- SUBTYPE OF (IfcBuildingElementType);
- PredefinedType : IfcWallTypeEnum;
-END_ENTITY;
-
-ENTITY IfcWasteTerminalType
- SUBTYPE OF (IfcFlowTerminalType);
- PredefinedType : IfcWasteTerminalTypeEnum;
-END_ENTITY;
-
-ENTITY IfcWaterProperties
- SUBTYPE OF (IfcMaterialProperties);
- IsPotable : OPTIONAL BOOLEAN;
- Hardness : OPTIONAL IfcIonConcentrationMeasure;
- AlkalinityConcentration : OPTIONAL IfcIonConcentrationMeasure;
- AcidityConcentration : OPTIONAL IfcIonConcentrationMeasure;
- ImpuritiesContent : OPTIONAL IfcNormalisedRatioMeasure;
- PHLevel : OPTIONAL IfcPHMeasure;
- DissolvedSolidsContent : OPTIONAL IfcNormalisedRatioMeasure;
- UNIQUE
- UR11 : Material;
-END_ENTITY;
-
-ENTITY IfcWindow
- SUBTYPE OF (IfcBuildingElement);
- OverallHeight : OPTIONAL IfcPositiveLengthMeasure;
- OverallWidth : OPTIONAL IfcPositiveLengthMeasure;
-END_ENTITY;
-
-ENTITY IfcWindowLiningProperties
- SUBTYPE OF (IfcPropertySetDefinition);
- LiningDepth : OPTIONAL IfcPositiveLengthMeasure;
- LiningThickness : OPTIONAL IfcPositiveLengthMeasure;
- TransomThickness : OPTIONAL IfcPositiveLengthMeasure;
- MullionThickness : OPTIONAL IfcPositiveLengthMeasure;
- FirstTransomOffset : OPTIONAL IfcNormalisedRatioMeasure;
- SecondTransomOffset : OPTIONAL IfcNormalisedRatioMeasure;
- FirstMullionOffset : OPTIONAL IfcNormalisedRatioMeasure;
- SecondMullionOffset : OPTIONAL IfcNormalisedRatioMeasure;
- ShapeAspectStyle : OPTIONAL IfcShapeAspect;
- WHERE
- WR31 : NOT(NOT(EXISTS(LiningDepth)) AND EXISTS(LiningThickness));
- WR32 : NOT(NOT(EXISTS(FirstTransomOffset)) AND EXISTS(SecondTransomOffset));
- WR33 : NOT(NOT(EXISTS(FirstMullionOffset)) AND EXISTS(SecondMullionOffset));
- WR34 : EXISTS(SELF\IfcPropertySetDefinition.DefinesType[1]) AND
- ('IFC2X3.IFCWINDOWSTYLE' IN TYPEOF(SELF\IfcPropertySetDefinition.DefinesType[1]));
-END_ENTITY;
-
-ENTITY IfcWindowPanelProperties
- SUBTYPE OF (IfcPropertySetDefinition);
- OperationType : IfcWindowPanelOperationEnum;
- PanelPosition : IfcWindowPanelPositionEnum;
- FrameDepth : OPTIONAL IfcPositiveLengthMeasure;
- FrameThickness : OPTIONAL IfcPositiveLengthMeasure;
- ShapeAspectStyle : OPTIONAL IfcShapeAspect;
-END_ENTITY;
-
-ENTITY IfcWindowStyle
- SUBTYPE OF (IfcTypeProduct);
- ConstructionType : IfcWindowStyleConstructionEnum;
- OperationType : IfcWindowStyleOperationEnum;
- ParameterTakesPrecedence : BOOLEAN;
- Sizeable : BOOLEAN;
-END_ENTITY;
-
-ENTITY IfcWorkControl
- ABSTRACT SUPERTYPE OF (ONEOF
- (IfcWorkPlan
- ,IfcWorkSchedule))
- SUBTYPE OF (IfcControl);
- Identifier : IfcIdentifier;
- CreationDate : IfcDateTimeSelect;
- Creators : OPTIONAL SET [1:?] OF IfcPerson;
- Purpose : OPTIONAL IfcLabel;
- Duration : OPTIONAL IfcTimeMeasure;
- TotalFloat : OPTIONAL IfcTimeMeasure;
- StartTime : IfcDateTimeSelect;
- FinishTime : OPTIONAL IfcDateTimeSelect;
- WorkControlType : OPTIONAL IfcWorkControlTypeEnum;
- UserDefinedControlType : OPTIONAL IfcLabel;
- WHERE
- WR1 : (WorkControlType <> IfcWorkControlTypeEnum.USERDEFINED) OR
- ((WorkControlType = IfcWorkControlTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcWorkControl.UserDefinedControlType));
-END_ENTITY;
-
-ENTITY IfcWorkPlan
- SUBTYPE OF (IfcWorkControl);
-END_ENTITY;
-
-ENTITY IfcWorkSchedule
- SUBTYPE OF (IfcWorkControl);
-END_ENTITY;
-
-ENTITY IfcZShapeProfileDef
- SUBTYPE OF (IfcParameterizedProfileDef);
- Depth : IfcPositiveLengthMeasure;
- FlangeWidth : IfcPositiveLengthMeasure;
- WebThickness : IfcPositiveLengthMeasure;
- FlangeThickness : IfcPositiveLengthMeasure;
- FilletRadius : OPTIONAL IfcPositiveLengthMeasure;
- EdgeRadius : OPTIONAL IfcPositiveLengthMeasure;
- WHERE
- WR21 : FlangeThickness < (Depth / 2.);
-END_ENTITY;
-
-ENTITY IfcZone
- SUBTYPE OF (IfcGroup);
- WHERE
- WR1 : SIZEOF (QUERY (temp <* SELF\IfcGroup.IsGroupedBy.RelatedObjects | NOT(('IFC2X3.IFCZONE' IN TYPEOF(temp)) OR ('IFC2X3.IFCSPACE' IN TYPEOF(temp))) )) = 0;
-END_ENTITY;
-
-FUNCTION IfcAddToBeginOfList
- (AScalar : GENERIC;
- AList : LIST OF GENERIC:AL)
- : LIST[1:?] OF GENERIC:AL;
-
- LOCAL
- Result : LIST OF GENERIC:AL := [];
- END_LOCAL;
-
- IF NOT(EXISTS(AScalar)) THEN
- Result := AList;
- ELSE
- Result := Result + AScalar;
- IF (HIINDEX(AList) >= 1) THEN
- REPEAT i:=1 TO HIINDEX(AList);
- Result[i+1] := AList[i];
- END_REPEAT;
- END_IF;
- END_IF;
- RETURN(Result);
-END_FUNCTION;
-
-FUNCTION IfcBaseAxis
- (Dim : INTEGER;
- Axis1, Axis2, Axis3 : IfcDirection)
- : LIST [2:3] OF IfcDirection;
-
- LOCAL
- U : LIST [2:3] OF IfcDirection;
- Factor : REAL;
- D1, D2 : IfcDirection;
- END_LOCAL;
-
- IF (Dim = 3) THEN
- D1 := NVL(IfcNormalise(Axis3), IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcDirection([0.0,0.0,1.0]));
- D2 := IfcFirstProjAxis(D1, Axis1);
- U := [D2, IfcSecondProjAxis(D1, D2, Axis2), D1];
- ELSE
- IF EXISTS(Axis1) THEN
- D1 := IfcNormalise(Axis1);
- U := [D1, IfcOrthogonalComplement(D1)];
- IF EXISTS(Axis2) THEN
- Factor := IfcDotProduct(Axis2, U[2]);
- IF (Factor < 0.0) THEN
- U[2].DirectionRatios[1] := -U[2].DirectionRatios[1];
- U[2].DirectionRatios[2] := -U[2].DirectionRatios[2];
- END_IF;
- END_IF;
- ELSE
- IF EXISTS(Axis2) THEN
- D1 := IfcNormalise(Axis2);
- U := [IfcOrthogonalComplement(D1), D1];
- U[1].DirectionRatios[1] := -U[1].DirectionRatios[1];
- U[1].DirectionRatios[2] := -U[1].DirectionRatios[2];
- ELSE
- U := [IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcDirection([1.0, 0.0]),
- IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcDirection([0.0, 1.0])];
- END_IF;
- END_IF;
- END_IF;
- RETURN(U);
-END_FUNCTION;
-
-FUNCTION IfcBooleanChoose
- (B : BOOLEAN ;
- Choice1, Choice2 : Generic : Item)
- : Generic : Item;
- IF B THEN
- RETURN (Choice1);
- ELSE
- RETURN (Choice2);
- END_IF;
-END_FUNCTION;
-
-FUNCTION IfcBuild2Axes
- (RefDirection : IfcDirection)
- : LIST [2:2] OF IfcDirection;
- LOCAL
- D : IfcDirection := NVL(IfcNormalise(RefDirection),
- IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcDirection([1.0,0.0]));
- END_LOCAL;
- RETURN([D, IfcOrthogonalComplement(D)]);
-END_FUNCTION;
-
-FUNCTION IfcBuildAxes
- (Axis, RefDirection : IfcDirection)
- : LIST [3:3] OF IfcDirection;
- LOCAL
- D1, D2 : IfcDirection;
- END_LOCAL;
- D1 := NVL(IfcNormalise(Axis), IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcDirection([0.0,0.0,1.0]));
- D2 := IfcFirstProjAxis(D1, RefDirection);
- RETURN ([D2, IfcNormalise(IfcCrossProduct(D1,D2)).Orientation, D1]);
-END_FUNCTION;
-
-FUNCTION IfcCorrectDimensions
- (m : IfcUnitEnum; Dim : IfcDimensionalExponents)
- : LOGICAL;
- CASE m OF
- LENGTHUNIT : IF
- Dim = (IfcDimensionalExponents (1, 0, 0, 0, 0, 0, 0))
- THEN RETURN(TRUE);
- ELSE RETURN(FALSE);
- END_IF;
- MASSUNIT : IF
- Dim = (IfcDimensionalExponents (0, 1, 0, 0, 0, 0, 0))
- THEN RETURN(TRUE);
- ELSE RETURN(FALSE);
- END_IF;
- TIMEUNIT : IF
- Dim = (IfcDimensionalExponents (0, 0, 1, 0, 0, 0, 0))
- THEN RETURN(TRUE);
- ELSE RETURN(FALSE);
- END_IF;
- ELECTRICCURRENTUNIT : IF
- Dim = (IfcDimensionalExponents (0, 0, 0, 1, 0, 0, 0))
- THEN RETURN(TRUE);
- ELSE RETURN(FALSE);
- END_IF;
- THERMODYNAMICTEMPERATUREUNIT : IF
- Dim = (IfcDimensionalExponents (0, 0, 0, 0, 1, 0, 0))
- THEN RETURN(TRUE);
- ELSE RETURN(FALSE);
- END_IF;
- AMOUNTOFSUBSTANCEUNIT : IF
- Dim = (IfcDimensionalExponents (0, 0, 0, 0, 0, 1, 0))
- THEN RETURN(TRUE);
- ELSE RETURN(FALSE);
- END_IF;
- LUMINOUSINTENSITYUNIT : IF
- Dim = (IfcDimensionalExponents (0, 0, 0, 0, 0, 0, 1))
- THEN RETURN(TRUE);
- ELSE RETURN(FALSE);
- END_IF;
- PLANEANGLEUNIT : IF
- Dim = (IfcDimensionalExponents (0, 0, 0, 0, 0, 0, 0))
- THEN RETURN(TRUE);
- ELSE RETURN(FALSE);
- END_IF;
- SOLIDANGLEUNIT : IF
- Dim = (IfcDimensionalExponents (0, 0, 0, 0, 0, 0, 0))
- THEN RETURN(TRUE);
- ELSE RETURN(FALSE);
- END_IF;
- AREAUNIT : IF
- Dim = (IfcDimensionalExponents (2, 0, 0, 0, 0, 0, 0))
- THEN RETURN(TRUE);
- ELSE RETURN(FALSE);
- END_IF;
- VOLUMEUNIT : IF
- Dim = (IfcDimensionalExponents (3, 0, 0, 0, 0, 0, 0))
- THEN RETURN(TRUE);
- ELSE RETURN(FALSE);
- END_IF;
-
- ABSORBEDDOSEUNIT : IF
- Dim = (IfcDimensionalExponents (2, 0, -2, 0, 0, 0, 0))
- THEN RETURN(TRUE);
- ELSE RETURN(FALSE);
- END_IF;
- RADIOACTIVITYUNIT : IF
- Dim = (IfcDimensionalExponents (0, 0, -1, 0, 0, 0, 0))
- THEN RETURN(TRUE);
- ELSE RETURN(FALSE);
- END_IF;
- ELECTRICCAPACITANCEUNIT : IF
- Dim = (IfcDimensionalExponents (-2, 1, 4, 1, 0, 0, 0))
- THEN RETURN(TRUE);
- ELSE RETURN(FALSE);
- END_IF;
- DOSEEQUIVALENTUNIT : IF
- Dim = (IfcDimensionalExponents (2, 0, -2, 0, 0, 0, 0))
- THEN RETURN(TRUE);
- ELSE RETURN(FALSE);
- END_IF;
- ELECTRICCHARGEUNIT : IF
- Dim = (IfcDimensionalExponents (0, 0, 1, 1, 0, 0, 0))
- THEN RETURN(TRUE);
- ELSE RETURN(FALSE);
- END_IF;
- ELECTRICCONDUCTANCEUNIT : IF
- Dim = (IfcDimensionalExponents (-2, -1, 3, 2, 0, 0, 0))
- THEN RETURN(TRUE);
- ELSE RETURN(FALSE);
- END_IF;
- ELECTRICVOLTAGEUNIT : IF
- Dim = (IfcDimensionalExponents (2, 1, -3, -1, 0, 0, 0))
- THEN RETURN(TRUE);
- ELSE RETURN(FALSE);
- END_IF;
- ELECTRICRESISTANCEUNIT : IF
- Dim = (IfcDimensionalExponents (2, 1, -3, -2, 0, 0, 0))
- THEN RETURN(TRUE);
- ELSE RETURN(FALSE);
- END_IF;
- ENERGYUNIT : IF
- Dim = (IfcDimensionalExponents (2, 1, -2, 0, 0, 0, 0))
- THEN RETURN(TRUE);
- ELSE RETURN(FALSE);
- END_IF;
- FORCEUNIT : IF
- Dim = (IfcDimensionalExponents (1, 1, -2, 0, 0, 0, 0))
- THEN RETURN(TRUE);
- ELSE RETURN(FALSE);
- END_IF;
- FREQUENCYUNIT : IF
- Dim = (IfcDimensionalExponents (0, 0, -1, 0, 0, 0, 0))
- THEN RETURN(TRUE);
- ELSE RETURN(FALSE);
- END_IF;
- INDUCTANCEUNIT : IF
- Dim = (IfcDimensionalExponents (2, 1, -2, -2, 0, 0, 0))
- THEN RETURN(TRUE);
- ELSE RETURN(FALSE);
- END_IF;
- ILLUMINANCEUNIT : IF
- Dim = (IfcDimensionalExponents (-2, 0, 0, 0, 0, 0, 1))
- THEN RETURN(TRUE);
- ELSE RETURN(FALSE);
- END_IF;
- LUMINOUSFLUXUNIT : IF
- Dim = (IfcDimensionalExponents (0, 0, 0, 0, 0, 0, 1))
- THEN RETURN(TRUE);
- ELSE RETURN(FALSE);
- END_IF;
- MAGNETICFLUXUNIT : IF
- Dim = (IfcDimensionalExponents (2, 1, -2, -1, 0, 0, 0))
- THEN RETURN(TRUE);
- ELSE RETURN(FALSE);
- END_IF;
- MAGNETICFLUXDENSITYUNIT : IF
- Dim = (IfcDimensionalExponents (0, 1, -2, -1, 0, 0, 0))
- THEN RETURN(TRUE);
- ELSE RETURN(FALSE);
- END_IF;
- POWERUNIT : IF
- Dim = (IfcDimensionalExponents (2, 1, -3, 0, 0, 0, 0))
- THEN RETURN(TRUE);
- ELSE RETURN(FALSE);
- END_IF;
- PRESSUREUNIT : IF
- Dim = (IfcDimensionalExponents (-1, 1, -2, 0, 0, 0, 0))
- THEN RETURN(TRUE);
- ELSE RETURN(FALSE);
- END_IF;
-
- OTHERWISE :
- RETURN (UNKNOWN);
- END_CASE;
-END_FUNCTION;
-
-FUNCTION IfcCorrectLocalPlacement
- (AxisPlacement:IfcAxis2Placement;
- RelPlacement : IfcObjectPlacement)
- : LOGICAL;
-
- IF (EXISTS(RelPlacement)) THEN
- IF ('IFC2X3.IFCGRIDPLACEMENT' IN TYPEOF(RelPlacement)) THEN
- RETURN(?);
- END_IF;
- IF ('IFC2X3.IFCLOCALPLACEMENT' IN TYPEOF(RelPlacement)) THEN
- IF ('IFC2X3.IFCAXIS2PLACEMENT2D' IN TYPEOF(AxisPlacement)) THEN
- RETURN(TRUE);
- END_IF;
- IF ('IFC2X3.IFCAXIS2PLACEMENT3D' IN TYPEOF(AxisPlacement)) THEN
- IF (RelPlacement.RelativePlacement.Dim = 3) THEN
- RETURN(TRUE);
- ELSE
- RETURN(FALSE);
- END_IF;
- END_IF;
- END_IF;
- ELSE
- RETURN(TRUE);
- END_IF;
- RETURN(?);
-END_FUNCTION;
-
-FUNCTION IfcCorrectObjectAssignment
- (Constraint: IfcObjectTypeEnum; Objects : SET[1:?] OF IfcObjectDefinition)
- : LOGICAL;
-
- LOCAL
- Count : INTEGER := 0;
- END_LOCAL;
-
- IF NOT(EXISTS(Constraint)) THEN
- RETURN(TRUE);
- END_IF;
-
- CASE Constraint OF
- IfcObjectTypeEnum.NOTDEFINED : RETURN(TRUE);
- IfcObjectTypeEnum.PRODUCT :
- BEGIN
- Count := SIZEOF(QUERY(temp <* Objects | NOT('IFC2X3.IFCPRODUCT' IN TYPEOF(temp))));
- RETURN(Count = 0);
- END;
- IfcObjectTypeEnum.PROCESS :
- BEGIN
- Count := SIZEOF(QUERY(temp <* Objects | NOT('IFC2X3.IFCPROCESS' IN TYPEOF(temp))));
- RETURN(Count = 0);
- END;
- IfcObjectTypeEnum.CONTROL :
- BEGIN
- Count := SIZEOF(QUERY(temp <* Objects | NOT('IFC2X3.IFCCONTROL' IN TYPEOF(temp))));
- RETURN(Count = 0);
- END;
- IfcObjectTypeEnum.RESOURCE :
- BEGIN
- Count := SIZEOF(QUERY(temp <* Objects | NOT('IFC2X3.IFCRESOURCE' IN TYPEOF(temp))));
- RETURN(Count = 0);
- END;
- IfcObjectTypeEnum.ACTOR :
- BEGIN
- Count := SIZEOF(QUERY(temp <* Objects | NOT('IFC2X3.IFCACTOR' IN TYPEOF(temp))));
- RETURN(Count = 0);
- END;
- IfcObjectTypeEnum.GROUP :
- BEGIN
- Count := SIZEOF(QUERY(temp <* Objects | NOT('IFC2X3.IFCGROUP' IN TYPEOF(temp))));
- RETURN(Count = 0);
- END;
- IfcObjectTypeEnum.PROJECT :
- BEGIN
- Count := SIZEOF(QUERY(temp <* Objects | NOT('IFC2X3.IFCPROJECT' IN TYPEOF(temp))));
- RETURN(Count = 0);
- END;
- OTHERWISE : RETURN(?);
- END_CASE;
-END_FUNCTION;
-
-FUNCTION IfcCorrectUnitAssignment
- (Units : SET [1:?] OF IfcUnit)
- : LOGICAL;
-
- LOCAL
- NamedUnitNumber : INTEGER := 0;
- DerivedUnitNumber : INTEGER := 0;
- MonetaryUnitNumber : INTEGER := 0;
- NamedUnitNames : SET OF IfcUnitEnum := [];
- DerivedUnitNames : SET OF IfcDerivedUnitEnum := [];
- END_LOCAL;
-
- NamedUnitNumber := SIZEOF(QUERY(temp <* Units | ('IFC2X3.IFCNAMEDUNIT' IN TYPEOF(temp)) AND NOT(temp.UnitType = IfcUnitEnum.USERDEFINED)));
- DerivedUnitNumber := SIZEOF(QUERY(temp <* Units | ('IFC2X3.IFCDERIVEDUNIT' IN TYPEOF(temp)) AND NOT(temp.UnitType = IfcDerivedUnitEnum.USERDEFINED)));
- MonetaryUnitNumber := SIZEOF(QUERY(temp <* Units | 'IFC2X3.IFCMONETARYUNIT' IN TYPEOF(temp)));
-
- REPEAT i := 1 TO SIZEOF(Units);
- IF (('IFC2X3.IFCNAMEDUNIT' IN TYPEOF(Units[i])) AND NOT(Units[i].UnitType = IfcUnitEnum.USERDEFINED)) THEN
- NamedUnitNames := NamedUnitNames + Units[i].UnitType;
- END_IF;
- IF (('IFC2X3.IFCDERIVEDUNIT' IN TYPEOF(Units[i])) AND NOT(Units[i].UnitType = IfcDerivedUnitEnum.USERDEFINED)) THEN
- DerivedUnitNames := DerivedUnitNames + Units[i].UnitType;
- END_IF;
- END_REPEAT;
-
- RETURN((SIZEOF(NamedUnitNames) = NamedUnitNumber) AND (SIZEOF(DerivedUnitNames) = DerivedUnitNumber) AND (MonetaryUnitNumber <= 1));
-END_FUNCTION;
-
-FUNCTION IfcCrossProduct
- (Arg1, Arg2 : IfcDirection)
- : IfcVector;
- LOCAL
- Mag : REAL;
- Res : IfcDirection;
- V1,V2 : LIST[3:3] OF REAL;
- Result : IfcVector;
- END_LOCAL;
-
- IF (NOT EXISTS (Arg1) OR (Arg1.Dim = 2)) OR (NOT EXISTS (Arg2) OR (Arg2.Dim = 2)) THEN
- RETURN(?);
- ELSE
- BEGIN
- V1 := IfcNormalise(Arg1).DirectionRatios;
- V2 := IfcNormalise(Arg2).DirectionRatios;
- Res := IfcRepresentationItem() || IfcGeometricRepresentationItem ()
- || IfcDirection([(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.DirectionRatios[i]*Res.DirectionRatios[i];
- END_REPEAT;
- IF (Mag > 0.0) THEN
- Result := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcVector(Res, SQRT(Mag));
- ELSE
- Result := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcVector(Arg1, 0.0);
- END_IF;
- RETURN(Result);
- END;
- END_IF;
-END_FUNCTION;
-
-FUNCTION IfcCurveDim
- (Curve : IfcCurve)
- : IfcDimensionCount;
-
- IF ('IFC2X3.IFCLINE' IN TYPEOF(Curve))
- THEN RETURN(Curve.Pnt.Dim);
- END_IF;
- IF ('IFC2X3.IFCCONIC' IN TYPEOF(Curve))
- THEN RETURN(Curve.Position.Dim);
- END_IF;
- IF ('IFC2X3.IFCPOLYLINE' IN TYPEOF(Curve))
- THEN RETURN(Curve.Points[1].Dim);
- END_IF;
- IF ('IFC2X3.IFCTRIMMEDCURVE' IN TYPEOF(Curve))
- THEN RETURN(IfcCurveDim(Curve.BasisCurve));
- END_IF;
- IF ('IFC2X3.IFCCOMPOSITECURVE' IN TYPEOF(Curve))
- THEN RETURN(Curve.Segments[1].Dim);
- END_IF;
- IF ('IFC2X3.IFCBSPLINECURVE' IN TYPEOF(Curve))
- THEN RETURN(Curve.ControlPointsList[1].Dim);
- END_IF;
- IF ('IFC2X3.IFCOFFSETCURVE2D' IN TYPEOF(Curve))
- THEN RETURN(2);
- END_IF;
- IF ('IFC2X3.IFCOFFSETCURVE3D' IN TYPEOF(Curve))
- THEN RETURN(3);
- END_IF;
- RETURN (?);
-END_FUNCTION;
-
-FUNCTION IfcCurveWeightsPositive
- (B: IfcRationalBezierCurve)
- : BOOLEAN;
- LOCAL
- Result : BOOLEAN := TRUE;
- END_LOCAL;
-
- REPEAT i := 0 TO B.UpperIndexOnControlPoints;
- IF B.Weights[i] <= 0.0 THEN
- Result := FALSE;
- RETURN(Result);
- END_IF;
- END_REPEAT;
- RETURN(Result);
-END_FUNCTION;
-
-FUNCTION IfcDeriveDimensionalExponents
- (x : IfcUnit)
- : IfcDimensionalExponents;
- LOCAL
- Result : IfcDimensionalExponents :=
- IfcDimensionalExponents(0, 0, 0, 0, 0, 0, 0);
- END_LOCAL;
- IF 'IFC2X3.IFCDERIVEDUNIT' IN TYPEOF(x) THEN
- REPEAT i := LOINDEX(x.Elements) TO HIINDEX(x.Elements);
- Result.LengthExponent := Result.LengthExponent +
- (x.Elements[i].Exponent *
- x.Elements[i].Unit.Dimensions.LengthExponent);
- Result.MassExponent := Result.MassExponent +
- (x.Elements[i].Exponent *
- x.Elements[i].Unit.Dimensions.MassExponent);
- Result.TimeExponent := Result.TimeExponent +
- (x.Elements[i].Exponent *
- x.Elements[i].Unit.Dimensions.TimeExponent);
- Result.ElectricCurrentExponent := Result.ElectricCurrentExponent +
- (x.Elements[i].Exponent *
- x.Elements[i].Unit.Dimensions.ElectricCurrentExponent);
- Result.ThermodynamicTemperatureExponent :=
- Result.ThermodynamicTemperatureExponent +
- (x.Elements[i].Exponent *
- x.Elements[i].Unit.Dimensions.ThermodynamicTemperatureExponent);
- Result.AmountOfSubstanceExponent :=
- Result.AmountOfSubstanceExponent + (x.Elements[i].Exponent *
- x.Elements[i].Unit.Dimensions.AmountOfSubstanceExponent);
- Result.LuminousIntensityExponent :=
- Result.LuminousIntensityExponent + (x.Elements[i].Exponent *
- x.Elements[i].Unit.Dimensions.LuminousIntensityExponent);
- END_REPEAT;
- ELSE
- Result := x.Dimensions;
- END_IF;
- RETURN (Result);
-END_FUNCTION;
-
-FUNCTION IfcDimensionsForSiUnit
- (n : IfcSiUnitName )
- : IfcDimensionalExponents;
- CASE n OF
- METRE : RETURN (IfcDimensionalExponents
- (1, 0, 0, 0, 0, 0, 0));
- SQUARE_METRE : RETURN (IfcDimensionalExponents
- (2, 0, 0, 0, 0, 0, 0));
- CUBIC_METRE : RETURN (IfcDimensionalExponents
- (3, 0, 0, 0, 0, 0, 0));
- GRAM : RETURN (IfcDimensionalExponents
- (0, 1, 0, 0, 0, 0, 0));
- SECOND : RETURN (IfcDimensionalExponents
- (0, 0, 1, 0, 0, 0, 0));
- AMPERE : RETURN (IfcDimensionalExponents
- (0, 0, 0, 1, 0, 0, 0));
- KELVIN : RETURN (IfcDimensionalExponents
- (0, 0, 0, 0, 1, 0, 0));
- MOLE : RETURN (IfcDimensionalExponents
- (0, 0, 0, 0, 0, 1, 0));
- CANDELA : RETURN (IfcDimensionalExponents
- (0, 0, 0, 0, 0, 0, 1));
- RADIAN : RETURN (IfcDimensionalExponents
- (0, 0, 0, 0, 0, 0, 0));
- STERADIAN : RETURN (IfcDimensionalExponents
- (0, 0, 0, 0, 0, 0, 0));
- HERTZ : RETURN (IfcDimensionalExponents
- (0, 0, -1, 0, 0, 0, 0));
- NEWTON : RETURN (IfcDimensionalExponents
- (1, 1, -2, 0, 0, 0, 0));
- PASCAL : RETURN (IfcDimensionalExponents
- (-1, 1, -2, 0, 0, 0, 0));
- JOULE : RETURN (IfcDimensionalExponents
- (2, 1, -2, 0, 0, 0, 0));
- WATT : RETURN (IfcDimensionalExponents
- (2, 1, -3, 0, 0, 0, 0));
- COULOMB : RETURN (IfcDimensionalExponents
- (0, 0, 1, 1, 0, 0, 0));
- VOLT : RETURN (IfcDimensionalExponents
- (2, 1, -3, -1, 0, 0, 0));
- FARAD : RETURN (IfcDimensionalExponents
- (-2, -1, 4, 1, 0, 0, 0));
- OHM : RETURN (IfcDimensionalExponents
- (2, 1, -3, -2, 0, 0, 0));
- SIEMENS : RETURN (IfcDimensionalExponents
- (-2, -1, 3, 2, 0, 0, 0));
- WEBER : RETURN (IfcDimensionalExponents
- (2, 1, -2, -1, 0, 0, 0));
- TESLA : RETURN (IfcDimensionalExponents
- (0, 1, -2, -1, 0, 0, 0));
- HENRY : RETURN (IfcDimensionalExponents
- (2, 1, -2, -2, 0, 0, 0));
- DEGREE_CELSIUS : RETURN (IfcDimensionalExponents
- (0, 0, 0, 0, 1, 0, 0));
- LUMEN : RETURN (IfcDimensionalExponents
- (0, 0, 0, 0, 0, 0, 1));
- LUX : RETURN (IfcDimensionalExponents
- (-2, 0, 0, 0, 0, 0, 1));
- BECQUEREL : RETURN (IfcDimensionalExponents
- (0, 0, -1, 0, 0, 0, 0));
- GRAY : RETURN (IfcDimensionalExponents
- (2, 0, -2, 0, 0, 0, 0));
- SIEVERT : RETURN (IfcDimensionalExponents
- (2, 0, -2, 0, 0, 0, 0));
- OTHERWISE : RETURN (IfcDimensionalExponents
- (0, 0, 0, 0, 0, 0, 0));
- END_CASE;
-END_FUNCTION;
-
-FUNCTION IfcDotProduct
- (Arg1, Arg2 : IfcDirection)
- : REAL;
- LOCAL
- Scalar : REAL;
- Vec1, Vec2 : IfcDirection;
- 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 := IfcNormalise(Arg1);
- Vec2 := IfcNormalise(Arg2);
- Ndim := Arg1.Dim;
- Scalar := 0.0;
- REPEAT i := 1 TO Ndim;
- Scalar := Scalar + Vec1.DirectionRatios[i]*Vec2.DirectionRatios[i];
- END_REPEAT;
- END;
- END_IF;
- END_IF;
- RETURN (Scalar);
-END_FUNCTION;
-
-FUNCTION IfcFirstProjAxis
- (ZAxis, Arg : IfcDirection)
- : IfcDirection;
- LOCAL
- XAxis : IfcDirection;
- V : IfcDirection;
- Z : IfcDirection;
- XVec : IfcVector;
- END_LOCAL;
-
- IF (NOT EXISTS(ZAxis)) THEN
- RETURN (?) ;
- ELSE
- Z := IfcNormalise(ZAxis);
- IF NOT EXISTS(Arg) THEN
- IF (Z.DirectionRatios <> [1.0,0.0,0.0]) THEN
- V := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcDirection([1.0,0.0,0.0]);
- ELSE
- V := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcDirection([0.0,1.0,0.0]);
- END_IF;
- ELSE
- IF (Arg.Dim <> 3) THEN
- RETURN (?) ;
- END_IF;
- IF ((IfcCrossProduct(Arg,Z).Magnitude) = 0.0) THEN
- RETURN (?);
- ELSE
- V := IfcNormalise(Arg);
- END_IF;
- END_IF;
- XVec := IfcScalarTimesVector(IfcDotProduct(V, Z), Z);
- XAxis := IfcVectorDifference(V, XVec).Orientation;
- XAxis := IfcNormalise(XAxis);
- END_IF;
- RETURN(XAxis);
-END_FUNCTION;
-
-FUNCTION IfcLeapYear
- (Year : IfcYearNumber)
- : 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 IfcListToArray
- (Lis : LIST [0:?] OF GENERIC : T;
- Low,U : INTEGER)
- : ARRAY 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;
-
-FUNCTION IfcLoopHeadToTail
- (ALoop : IfcEdgeLoop)
- : LOGICAL;
- LOCAL
- N : INTEGER;
- P : LOGICAL := TRUE;
- END_LOCAL;
-
- N := SIZEOF (ALoop.EdgeList);
- REPEAT i := 2 TO N;
- P := P AND (ALoop.EdgeList[i-1].EdgeEnd :=:
- ALoop.EdgeList[i].EdgeStart);
- END_REPEAT;
- RETURN (P);
-END_FUNCTION;
-
-FUNCTION IfcMlsTotalThickness
- (LayerSet : IfcMaterialLayerSet)
- : IfcLengthMeasure;
- LOCAL
- Max : IfcLengthMeasure := LayerSet.MaterialLayers[1].LayerThickness;
- END_LOCAL;
-
- IF SIZEOF(LayerSet.MaterialLayers) > 1 THEN
- REPEAT i := 2 TO HIINDEX(LayerSet.MaterialLayers);
- Max := Max + LayerSet.MaterialLayers[i].LayerThickness;
- END_REPEAT;
- END_IF;
- RETURN (Max);
-END_FUNCTION;
-
-FUNCTION IfcNoOfLayers
- (Element : IfcElement )
- : INTEGER;
-
- LOCAL
- Association : BAG OF IfcRelAssociates := [];
- MaterialAssociation : SET OF IfcRelAssociatesMaterial := [];
- END_LOCAL;
-
- Association := USEDIN(Element, 'IFC2X3.IFCRELASSOCIATES.RELATEDOBJECTS');
-
- IF SIZEOF (Association) > 0 THEN
- REPEAT i := 1 TO HIINDEX(Association);
- IF ('IFC2X3.IFCRELASSOCIATESMATERIAL' IN TYPEOF(Association[i])) THEN
- MaterialAssociation := MaterialAssociation + Association[i];
- END_IF;
- END_REPEAT;
- END_IF;
-
- IF (SIZEOF(MaterialAssociation) <> 1) THEN
- RETURN (?);
- ELSE
- IF 'IFC2X3.IFCMATERIAL' IN TYPEOF(MaterialAssociation[1].RelatingMaterial) THEN
- RETURN (1);
- END_IF;
- IF 'IFC2X3.IFCMATERIALLAYERSETUSAGE' IN TYPEOF(MaterialAssociation[1].RelatingMaterial) THEN
- RETURN (SIZEOF(MaterialAssociation[1].RelatingMaterial.ForLayerSet.MaterialLayers));
- END_IF;
- IF 'IFC2X3.IFCMATERIALLIST' IN TYPEOF(MaterialAssociation[1].RelatingMaterial) THEN
- RETURN (?);
- END_IF;
- END_IF;
-
- RETURN (?);
-END_FUNCTION;
-
-FUNCTION IfcNormalise
- (Arg : IfcVectorOrDirection)
- : IfcVectorOrDirection;
- LOCAL
- Ndim : INTEGER;
- V : IfcDirection
- := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcDirection([1.,0.]);
- Vec : IfcVector
- := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcVector (
- IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcDirection([1.,0.]), 1.);
- Mag : REAL;
- Result : IfcVectorOrDirection
- := V;
- END_LOCAL;
-
- IF NOT EXISTS (Arg) THEN
- RETURN (?);
- ELSE
- Ndim := Arg.Dim;
- IF 'IFC2X3.IFCVECTOR' IN TYPEOF(Arg) THEN
- BEGIN
- V.DirectionRatios := Arg.Orientation.DirectionRatios;
- Vec.Magnitude := Arg.Magnitude;
- Vec.Orientation := V;
- IF Arg.Magnitude = 0.0 THEN
- RETURN(?);
- ELSE
- Vec.Magnitude := 1.0;
- END_IF;
- END;
- ELSE
- V.DirectionRatios := Arg.DirectionRatios;
- END_IF;
- Mag := 0.0;
- REPEAT i := 1 TO Ndim;
- Mag := Mag + V.DirectionRatios[i]*V.DirectionRatios[i];
- END_REPEAT;
- IF Mag > 0.0 THEN
- Mag := SQRT(Mag);
- REPEAT i := 1 TO Ndim;
- V.DirectionRatios[i] := V.DirectionRatios[i]/Mag;
- END_REPEAT;
- IF 'IFC2X3.IFCVECTOR' 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 IfcOrthogonalComplement
- (Vec : IfcDirection)
- : IfcDirection;
- LOCAL
- Result : IfcDirection ;
- END_LOCAL;
- IF NOT EXISTS (Vec) OR (Vec.Dim <> 2) THEN
- RETURN(?);
- ELSE
- Result := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcDirection([-Vec.DirectionRatios[2], Vec.DirectionRatios[1]]);
- RETURN(Result);
- END_IF;
-END_FUNCTION;
-
-FUNCTION IfcPathHeadToTail
- (APath : IfcPath)
- : LOGICAL;
- LOCAL
- N : INTEGER := 0;
- P : LOGICAL := UNKNOWN;
- END_LOCAL;
- N := SIZEOF (APath.EdgeList);
- REPEAT i := 2 TO N;
- P := P AND (APath.EdgeList[i-1].EdgeEnd :=:
- APath.EdgeList[i].EdgeStart);
- END_REPEAT;
- RETURN (P);
-END_FUNCTION;
-
-FUNCTION IfcSameAxis2Placement
- (ap1, ap2 : IfcAxis2Placement; Epsilon : REAL)
- : LOGICAL;
-
- RETURN (IfcSameDirection(ap1.P[1],ap2.P[1],Epsilon) AND
- IfcSameDirection(ap1.P[2],ap2.P[2],Epsilon) AND
- IfcSameCartesianPoint(ap1.Location,ap1.Location,Epsilon));
-END_FUNCTION;
-
-FUNCTION IfcSameCartesianPoint
- (cp1, cp2 : IfcCartesianPoint; Epsilon : REAL)
- : LOGICAL;
-
- LOCAL
- cp1x : REAL := cp1.Coordinates[1];
- cp1y : REAL := cp1.Coordinates[2];
- cp1z : REAL := 0;
- cp2x : REAL := cp2.Coordinates[1];
- cp2y : REAL := cp2.Coordinates[2];
- cp2z : REAL := 0;
- END_LOCAL;
-
- IF (SIZEOF(cp1.Coordinates) > 2) THEN
- cp1z := cp1.Coordinates[3];
- END_IF;
-
- IF (SIZEOF(cp2.Coordinates) > 2) THEN
- cp2z := cp2.Coordinates[3];
- END_IF;
-
- RETURN (IfcSameValue(cp1x,cp2x,Epsilon) AND
- IfcSameValue(cp1y,cp2y,Epsilon) AND
- IfcSameValue(cp1z,cp2z,Epsilon));
-END_FUNCTION;
-
-FUNCTION IfcSameDirection
- (dir1, dir2 : IfcDirection; Epsilon : REAL)
- : LOGICAL;
- LOCAL
- dir1x : REAL := dir1.DirectionRatios[1];
- dir1y : REAL := dir1.DirectionRatios[2];
- dir1z : REAL := 0;
- dir2x : REAL := dir2.DirectionRatios[1];
- dir2y : REAL := dir2.DirectionRatios[2];
- dir2z : REAL := 0;
- END_LOCAL;
-
- IF (SIZEOF(dir1.DirectionRatios) > 2) THEN
- dir1z := dir1.DirectionRatios[3];
- END_IF;
-
- IF (SIZEOF(dir2.DirectionRatios) > 2) THEN
- dir2z := dir2.DirectionRatios[3];
- END_IF;
-
- RETURN (IfcSameValue(dir1x,dir2x,Epsilon) AND
- IfcSameValue(dir1y,dir2y,Epsilon) AND
- IfcSameValue(dir1z,dir2z,Epsilon));
-END_FUNCTION;
-
-FUNCTION IfcSameValidPrecision
- (Epsilon1, Epsilon2 : REAL)
- : LOGICAL;
- LOCAL
- ValidEps1, ValidEps2 : REAL;
- DefaultEps : REAL := 0.000001;
- DerivationOfEps : REAL := 1.001;
- UpperEps : REAL := 1.0;
- END_LOCAL;
-
- ValidEps1 := NVL(Epsilon1, DefaultEps);
- ValidEps2 := NVL(Epsilon2, DefaultEps);
- RETURN ((0.0 < ValidEps1) AND (ValidEps1 <= (DerivationOfEps * ValidEps2)) AND
- (ValidEps2 <= (DerivationOfEps * ValidEps1)) AND (ValidEps2 < UpperEps));
-END_FUNCTION;
-
-FUNCTION IfcSameValue
- (Value1, Value2 : REAL; Epsilon : REAL)
- : LOGICAL;
- LOCAL
- ValidEps : REAL;
- DefaultEps : REAL := 0.000001;
- END_LOCAL;
-
- ValidEps := NVL(Epsilon, DefaultEps);
- RETURN ((Value1 + ValidEps > Value2) AND (Value1 < Value2 + ValidEps));
-END_FUNCTION;
-
-FUNCTION IfcScalarTimesVector
- (Scalar : REAL; Vec : IfcVectorOrDirection)
- : IfcVector;
- LOCAL
- V : IfcDirection;
- Mag : REAL;
- Result : IfcVector;
- END_LOCAL;
-
- IF NOT EXISTS (Scalar) OR NOT EXISTS (Vec) THEN
- RETURN (?) ;
- ELSE
- IF 'IFC2X3.IFCVECTOR' IN TYPEOF (Vec) THEN
- V := Vec.Orientation;
- Mag := Scalar * Vec.Magnitude;
- ELSE
- V := Vec;
- Mag := Scalar;
- END_IF;
- IF (Mag < 0.0 ) THEN
- REPEAT i := 1 TO SIZEOF(V.DirectionRatios);
- V.DirectionRatios[i] := -V.DirectionRatios[i];
- END_REPEAT;
- Mag := -Mag;
- END_IF;
- Result := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcVector(IfcNormalise(V), Mag);
- END_IF;
- RETURN (Result);
-END_FUNCTION;
-
-FUNCTION IfcSecondProjAxis
- (ZAxis, XAxis, Arg: IfcDirection)
- : IfcDirection;
- LOCAL
- YAxis : IfcVector;
- V : IfcDirection;
- Temp : IfcVector;
- END_LOCAL;
-
- IF NOT EXISTS(Arg) THEN
- V := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcDirection([0.0,1.0,0.0]);
- ELSE
- V := Arg;
- END_IF;
- Temp := IfcScalarTimesVector(IfcDotProduct(V, ZAxis), ZAxis);
- YAxis := IfcVectorDifference(V, Temp);
- Temp := IfcScalarTimesVector(IfcDotProduct(V, XAxis), XAxis);
- YAxis := IfcVectorDifference(YAxis, Temp);
- YAxis := IfcNormalise(YAxis);
- RETURN(YAxis.Orientation);
-END_FUNCTION;
-
-FUNCTION IfcShapeRepresentationTypes
- (RepType : IfcLabel; Items : SET OF IfcRepresentationItem)
- : LOGICAL;
-
- LOCAL
- Count : INTEGER := 0;
- END_LOCAL;
-
- CASE RepType OF
- 'Curve2D' :
- BEGIN
- Count := SIZEOF(QUERY(temp <* Items | ('IFC2X3.IFCCURVE' IN TYPEOF(temp))
- AND (temp.Dim = 2)));
- END;
- 'Annotation2D' :
- BEGIN
- Count := SIZEOF(QUERY(temp <* Items | (
- SIZEOF(TYPEOF(temp) * [
- 'IFC2X3.IFCPOINT',
- 'IFC2X3.IFCCURVE',
- 'IFC2X3.IFCGEOMETRICCURVESET',
- 'IFC2X3.IFCANNOTATIONFILLAREA',
- 'IFC2X3.IFCDEFINEDSYMBOL',
- 'IFC2X3.IFCTEXTLITERAL',
- 'IFC2X3.IFCDRAUGHTINGCALLOUT']) = 1)
- ));
- END;
- 'GeometricSet' :
- BEGIN
- Count := SIZEOF(QUERY(temp <* Items | ('IFC2X3.IFCGEOMETRICSET' IN TYPEOF(temp))
- OR ('IFC2X3.IFCPOINT' IN TYPEOF(temp))
- OR ('IFC2X3.IFCCURVE' IN TYPEOF(temp))
- OR ('IFC2X3.IFCSURFACE' IN TYPEOF(temp))));
- END;
- 'GeometricCurveSet' :
- BEGIN
- Count := SIZEOF(QUERY(temp <* Items | ('IFC2X3.IFCGEOMETRICCURVESET' IN TYPEOF(temp))
- OR ('IFC2X3.IFCGEOMETRICSET' IN TYPEOF(temp))
- OR ('IFC2X3.IFCPOINT' IN TYPEOF(temp))
- OR ('IFC2X3.IFCCURVE' IN TYPEOF(temp))));
- REPEAT i:=1 TO HIINDEX(Items);
- IF ('IFC2X3.IFCGEOMETRICSET' IN TYPEOF(Items[i]))
- THEN
- IF (SIZEOF(QUERY(temp <* Items[i]\IfcGeometricSet.Elements | 'IFC2X3.IFCSURFACE' IN TYPEOF(temp))) > 0)
- THEN
- Count := Count - 1;
- END_IF;
- END_IF;
- END_REPEAT;
- END;
- 'SurfaceModel' :
- BEGIN
- Count := SIZEOF(QUERY(temp <* Items | SIZEOF([
- 'IFC2X3.IFCSHELLBASEDSURFACEMODEL',
- 'IFC2X3.IFCFACEBASEDSURFACEMODEL',
- 'IFC2X3.IFCFACETEDBREP',
- 'IFC2X3.IFCFACETEDBREPWITHVOIDS'] * TYPEOF(temp)) >= 1
- ));
- END;
- 'SolidModel' :
- BEGIN
- Count := SIZEOF(QUERY(temp <* Items | ('IFC2X3.IFCSOLIDMODEL' IN TYPEOF(temp))));
- END;
- 'SweptSolid' :
- BEGIN
- Count := SIZEOF(QUERY(temp <* Items | ('IFC2X3.IFCSWEPTAREASOLID' IN TYPEOF(temp))));
- END;
- 'CSG' :
- BEGIN
- Count := SIZEOF(QUERY(temp <* Items | ('IFC2X3.IFCBOOLEANRESULT' IN TYPEOF(temp))));
- END;
- 'Clipping' :
- BEGIN
- Count := SIZEOF(QUERY(temp <* Items | ('IFC2X3.IFCBOOLEANCLIPPINGRESULT' IN TYPEOF(temp))));
- END;
- 'AdvancedSweptSolid' :
- BEGIN
- Count := SIZEOF(QUERY(temp <* Items | ('IFC2X3.IFCSURFACECURVESWEPTAREASOLID' IN TYPEOF(temp))
- OR ('IFC2X3.IFCSWEPTDISKSOLID' IN TYPEOF(temp))));
- END;
- 'Brep' :
- BEGIN
- Count := SIZEOF(QUERY(temp <* Items | ('IFC2X3.IFCFACETEDBREP' IN TYPEOF(temp))
- OR ('IFC2X3.IFCFACETEDBREPWITHVOIDS' IN TYPEOF(temp))));
- END;
- 'BoundingBox' :
- BEGIN
- Count := SIZEOF(QUERY(temp <* Items | ('IFC2X3.IFCBOUNDINGBOX' IN TYPEOF(temp))));
- IF (SIZEOF(Items) > 1)
- THEN
- Count := 0;
- END_IF;
- END;
- 'SectionedSpine' :
- BEGIN
- Count := SIZEOF(QUERY(temp <* Items | ('IFC2X3.IFCSECTIONEDSPINE' IN TYPEOF(temp))));
- END;
- 'MappedRepresentation' :
- BEGIN
- Count := SIZEOF(QUERY(temp <* Items | ('IFC2X3.IFCMAPPEDITEM' IN TYPEOF(temp))));
- END;
- OTHERWISE : RETURN(?);
- END_CASE;
- RETURN (Count = SIZEOF(Items));
-END_FUNCTION;
-
-FUNCTION IfcTopologyRepresentationTypes
- (RepType : IfcLabel; Items : SET OF IfcRepresentationItem)
- : LOGICAL;
-
- LOCAL
- Count : INTEGER := 0;
- END_LOCAL;
-
- CASE RepType OF
- 'Vertex' :
- BEGIN
- Count := SIZEOF(QUERY(temp <* Items |
- ('IFC2X3.IFCVERTEX' IN TYPEOF(temp))));
- END;
- 'Edge' :
- BEGIN
- Count := SIZEOF(QUERY(temp <* Items |
- ('IFC2X3.IFCEDGE' IN TYPEOF(temp))));
- END;
- 'Path' :
- BEGIN
- Count := SIZEOF(QUERY(temp <* Items |
- ('IFC2X3.IFCPATH' IN TYPEOF(temp))));
- END;
- 'Face' :
- BEGIN
- Count := SIZEOF(QUERY(temp <* Items |
- ('IFC2X3.IFCFACE' IN TYPEOF(temp))));
- END;
- 'Shell' :
- BEGIN
- Count := SIZEOF(QUERY(temp <* Items |
- ('IFC2X3.IFCOPENSHELL' IN TYPEOF(temp))
- OR ('IFC2X3.IFCCLOSEDSHELL' IN TYPEOF(temp))));
- END;
- 'Undefined': RETURN(TRUE);
- OTHERWISE : RETURN(?);
- END_CASE;
- RETURN (Count = SIZEOF(Items));
-END_FUNCTION;
-
-FUNCTION IfcUniquePropertyName
- (Properties : SET [1:?] OF IfcProperty)
- : LOGICAL;
-
- LOCAL
- Names : SET OF IfcIdentifier := [];
- END_LOCAL;
-
- REPEAT i:=1 TO HIINDEX(Properties);
- Names := Names + Properties[i].Name;
- END_REPEAT;
- RETURN (SIZEOF(Names) = SIZEOF(Properties));
-END_FUNCTION;
-
-FUNCTION IfcValidCalendarDate
- (Date : IfcCalendarDate)
- : LOGICAL;
- IF NOT ({1 <= Date.DayComponent <= 31}) THEN
- RETURN(FALSE);
- END_IF;
- CASE Date.MonthComponent OF
- 4 : RETURN({ 1<= Date.DayComponent <= 30});
- 6 : RETURN({ 1<= Date.DayComponent <= 30});
- 9 : RETURN({ 1<= Date.DayComponent <= 30});
- 11 : RETURN({ 1<= Date.DayComponent <= 30});
- 2 :
- BEGIN
- IF (IfcLeapYear(Date.YearComponent)) THEN
- RETURN({ 1<= Date.DayComponent <= 29});
- ELSE
- RETURN({ 1<= Date.DayComponent <= 28});
- END_IF;
- END;
- OTHERWISE : RETURN(TRUE);
- END_CASE;
-END_FUNCTION;
-
-FUNCTION IfcValidTime
- (Time: IfcLocalTime)
- : BOOLEAN;
- IF EXISTS (Time.SecondComponent) THEN
- RETURN (EXISTS (Time.MinuteComponent));
- ELSE
- RETURN (TRUE);
- END_IF;
-END_FUNCTION;
-
-FUNCTION IfcVectorDifference
- (Arg1, Arg2 : IfcVectorOrDirection)
- : IfcVector;
- LOCAL
- Result : IfcVector;
- Res, Vec1, Vec2 : IfcDirection;
- 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 'IFC2X3.IFCVECTOR' IN TYPEOF(Arg1) THEN
- Mag1 := Arg1.Magnitude;
- Vec1 := Arg1.Orientation;
- ELSE
- Mag1 := 1.0;
- Vec1 := Arg1;
- END_IF;
- IF 'IFC2X3.IFCVECTOR' IN TYPEOF(Arg2) THEN
- Mag2 := Arg2.Magnitude;
- Vec2 := Arg2.Orientation;
- ELSE
- Mag2 := 1.0;
- Vec2 := Arg2;
- END_IF;
- Vec1 := IfcNormalise (Vec1);
- Vec2 := IfcNormalise (Vec2);
- Ndim := SIZEOF(Vec1.DirectionRatios);
- Mag := 0.0;
- Res := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcDirection([0.0:Ndim]);
-
- REPEAT i := 1 TO Ndim;
- Res.DirectionRatios[i] := Mag1*Vec1.DirectionRatios[i] - Mag2*Vec2.DirectionRatios[i];
- Mag := Mag + (Res.DirectionRatios[i]*Res.DirectionRatios[i]);
- END_REPEAT;
-
- IF (Mag > 0.0 ) THEN
- Result := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcVector( Res, SQRT(Mag));
- ELSE
- Result := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcVector( Vec1, 0.0);
- END_IF;
- END;
- END_IF;
- RETURN (Result);
-END_FUNCTION;
-
-FUNCTION IfcVectorSum
- (Arg1, Arg2 : IfcVectorOrDirection)
- : IfcVector;
- LOCAL
- Result : IfcVector;
- Res, Vec1, Vec2 : IfcDirection;
- 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 'IFC2X3.IFCVECTOR' IN TYPEOF(Arg1) THEN
- Mag1 := Arg1.Magnitude;
- Vec1 := Arg1.Orientation;
- ELSE
- Mag1 := 1.0;
- Vec1 := Arg1;
- END_IF;
- IF 'IFC2X3.IFCVECTOR' IN TYPEOF(Arg2) THEN
- Mag2 := Arg2.Magnitude;
- Vec2 := Arg2.Orientation;
- ELSE
- Mag2 := 1.0;
- Vec2 := Arg2;
- END_IF;
- Vec1 := IfcNormalise (Vec1);
- Vec2 := IfcNormalise (Vec2);
- Ndim := SIZEOF(Vec1.DirectionRatios);
- Mag := 0.0;
- Res := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcDirection([0.0:Ndim]);
-
- REPEAT i := 1 TO Ndim;
- Res.DirectionRatios[i] := Mag1*Vec1.DirectionRatios[i] + Mag2*Vec2.DirectionRatios[i];
- Mag := Mag + (Res.DirectionRatios[i]*Res.DirectionRatios[i]);
- END_REPEAT;
-
- IF (Mag > 0.0 ) THEN
- Result := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcVector( Res, SQRT(Mag));
- ELSE
- Result := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcVector( Vec1, 0.0);
- END_IF;
- END;
- END_IF;
- RETURN (Result);
-END_FUNCTION;
-
-RULE IfcRepresentationContextSameWCS FOR
- (IfcGeometricRepresentationContext);
- LOCAL
- IsDifferent : LOGICAL := FALSE;
- END_LOCAL;
- IF (SIZEOF(IfcGeometricRepresentationContext) > 1)
- THEN
- REPEAT i := 2 TO HIINDEX(IfcGeometricRepresentationContext);
- IF (IfcGeometricRepresentationContext[1].WorldCoordinateSystem :<>: IfcGeometricRepresentationContext[i].WorldCoordinateSystem)
- THEN
- IsDifferent := (NOT(IfcSameValidPrecision(IfcGeometricRepresentationContext[1].Precision,
- IfcGeometricRepresentationContext[i].Precision)))
- OR (NOT(IfcSameAxis2Placement(IfcGeometricRepresentationContext[1].WorldCoordinateSystem,
- IfcGeometricRepresentationContext[i].WorldCoordinateSystem,
- IfcGeometricRepresentationContext[1].Precision)));
- IF (IsDifferent = TRUE) THEN
- ESCAPE;
- END_IF;
- END_IF;
- END_REPEAT;
- END_IF;
- WHERE
- WR1 : IsDifferent = FALSE;
-END_RULE;
-
-RULE IfcSingleProjectInstance FOR
- (IfcProject);
- WHERE
- WR1 : SIZEOF(IfcProject) <= 1;
-END_RULE;
-
-END_SCHEMA;
diff --git a/libs/assimp/scripts/StepImporter/step_entitylist.txt b/libs/assimp/scripts/StepImporter/step_entitylist.txt
deleted file mode 100644
index 223f57a..0000000
--- a/libs/assimp/scripts/StepImporter/step_entitylist.txt
+++ /dev/null
@@ -1,1015 +0,0 @@
-# ==============================================================================
-# List of IFC structures needed by Assimp
-# ==============================================================================
-# use genentitylist.sh to update this list
-
-# This machine-generated list is not complete, it lacks many intermediate
-# classes in the inheritance hierarchy. Those are magically augmented by the
-# code generator. Also, the names of all used entities need to be present
-# in the source code for this to work.
-absorbed_dose_measure_with_unit
-absorbed_dose_unit
-abstract_variable
-acceleration_measure_with_unit
-acceleration_unit
-action;
-action_assignment
-action_directive;
-action_method;
-action_method_assignment
-action_method_relationship;
-action_method_role;
-action_property;
-action_property_representation;
-action_relationship;
-action_request_assignment
-action_request_solution;
-action_request_status;
-action_status;
-address;
-advanced_brep_shape_representation
-advanced_face
-alternate_product_relationship;
-amount_of_substance_measure_with_unit
-amount_of_substance_unit
-angle_direction_reference
-angular_dimension
-angular_location
-angular_size
-angularity_tolerance
-annotation_curve_occurrence
-annotation_fill_area
-annotation_fill_area_occurrence
-annotation_occurrence
-annotation_occurrence_associativity
-annotation_occurrence_relationship;
-annotation_plane
-annotation_subfigure_occurrence
-annotation_symbol
-annotation_symbol_occurrence
-annotation_text
-annotation_text_character
-annotation_text_occurrence
-apex
-application_context;
-application_context_element
-application_protocol_definition;
-applied_action_assignment
-applied_action_method_assignment
-applied_action_request_assignment
-applied_approval_assignment
-applied_attribute_classification_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_name_assignment
-applied_organization_assignment
-applied_organizational_project_assignment
-applied_person_and_organization_assignment
-applied_presented_item
-applied_security_classification_assignment
-applied_time_interval_assignment
-applied_usage_right
-approval;
-approval_assignment
-approval_date_time;
-approval_person_organization;
-approval_relationship;
-approval_role;
-approval_status;
-area_in_set;
-area_measure_with_unit
-area_unit
-assembly_component_usage
-assembly_component_usage_substitute;
-assigned_requirement
-atomic_formula
-attribute_assertion
-attribute_classification_assignment
-attribute_language_assignment
-attribute_value_assignment
-attribute_value_role;
-auxiliary_geometric_representation_item
-axis1_placement
-axis2_placement_2d
-axis2_placement_3d
-b_spline_curve
-b_spline_curve_with_knots
-b_spline_surface
-b_spline_surface_with_knots
-back_chaining_rule
-back_chaining_rule_body
-background_colour
-beveled_sheet_representation
-bezier_curve
-bezier_surface
-binary_generic_expression
-binary_numeric_expression
-binary_representation_item
-block
-boolean_expression
-boolean_literal
-boolean_representation_item
-boolean_result
-boundary_curve
-bounded_curve
-bounded_pcurve
-bounded_surface
-bounded_surface_curve
-box_domain
-boxed_half_space
-breakdown_context
-breakdown_element_group_assignment
-breakdown_element_realization
-breakdown_element_usage
-breakdown_of
-brep_with_voids
-bytes_representation_item
-calendar_date
-camera_image
-camera_image_3d_with_scale
-camera_model
-camera_model_d3
-camera_model_d3_multi_clipping
-camera_model_d3_multi_clipping_intersection
-camera_model_d3_multi_clipping_union
-camera_model_d3_with_hlhsr
-camera_model_with_light_sources
-camera_usage
-capacitance_measure_with_unit
-capacitance_unit
-cartesian_point
-cartesian_transformation_operator
-cartesian_transformation_operator_2d
-cartesian_transformation_operator_3d
-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
-celsius_temperature_measure_with_unit
-centre_of_symmetry
-certification;
-certification_assignment
-certification_type;
-change
-change_request
-character_glyph_font_usage;
-character_glyph_style_outline
-character_glyph_style_stroke
-character_glyph_symbol
-character_glyph_symbol_outline
-character_glyph_symbol_stroke
-characteristic_data_column_header
-characteristic_data_column_header_link
-characteristic_data_table_header
-characteristic_data_table_header_decomposition
-characteristic_type
-characterized_class
-characterized_object;
-circle
-circular_runout_tolerance
-class
-class_by_extension
-class_by_intension
-class_system
-class_usage_effectivity_context_assignment
-classification_assignment
-classification_role;
-closed_shell
-coaxiality_tolerance
-colour;
-colour_rgb
-colour_specification
-common_datum
-comparison_expression
-complex_clause
-complex_conjunctive_clause
-complex_disjunctive_clause
-complex_shelled_solid
-composite_assembly_definition
-composite_assembly_sequence_definition
-composite_assembly_table
-composite_curve
-composite_curve_on_surface
-composite_curve_segment
-composite_material_designation
-composite_shape_aspect
-composite_sheet_representation
-composite_text
-composite_text_with_associated_curves
-composite_text_with_blanking_box
-composite_text_with_delineation
-composite_text_with_extent
-compound_representation_item
-compound_shape_representation
-concentricity_tolerance
-concept_feature_operator;
-concept_feature_relationship;
-concept_feature_relationship_with_condition
-conditional_concept_feature
-conductance_measure_with_unit
-conductance_unit
-configurable_item
-configuration_design;
-configuration_effectivity
-configuration_item;
-configuration_item_hierarchical_relationship
-configuration_item_relationship;
-configuration_item_revision_sequence
-configured_effectivity_assignment
-configured_effectivity_context_assignment
-conic
-conical_stepped_hole_transition
-conical_surface
-connected_edge_set
-connected_face_set
-connected_face_sub_set
-constructive_geometry_representation
-constructive_geometry_representation_relationship
-contact_ratio_representation
-context_dependent_invisibility
-context_dependent_over_riding_styled_item
-context_dependent_shape_representation;
-context_dependent_unit
-contract;
-contract_assignment
-contract_relationship;
-contract_type;
-conversion_based_unit
-coordinated_universal_time_offset;
-csg_shape_representation
-csg_solid
-currency
-currency_measure_with_unit
-curve
-curve_bounded_surface
-curve_dimension
-curve_replica
-curve_style
-curve_style_font
-curve_style_font_and_scaling
-curve_style_font_pattern
-curve_style_rendering;
-curve_swept_solid_shape_representation
-cylindrical_surface
-cylindricity_tolerance
-data_environment;
-date
-date_and_time;
-date_and_time_assignment
-date_assignment
-date_representation_item
-date_role;
-date_time_representation_item
-date_time_role;
-dated_effectivity
-datum
-datum_feature
-datum_feature_callout
-datum_reference;
-datum_target
-datum_target_callout
-default_tolerance_table
-default_tolerance_table_cell
-defined_symbol
-definitional_representation
-definitional_representation_relationship
-definitional_representation_relationship_with_same_context
-degenerate_pcurve
-degenerate_toroidal_surface
-derived_shape_aspect
-derived_unit
-derived_unit_element;
-description_attribute;
-descriptive_representation_item
-design_context
-design_make_from_relationship
-diameter_dimension
-dielectric_constant_measure_with_unit
-dimension_callout
-dimension_callout_component_relationship
-dimension_callout_relationship
-dimension_curve
-dimension_curve_directed_callout
-dimension_curve_terminator
-dimension_curve_terminator_to_projection_curve_associativity
-dimension_pair
-dimension_related_tolerance_zone_element;
-dimension_text_associativity
-dimensional_characteristic_representation;
-dimensional_exponents;
-dimensional_location
-dimensional_location_with_path
-dimensional_size
-dimensional_size_with_path
-directed_action
-directed_dimensional_location
-direction
-document;
-document_file
-document_identifier
-document_identifier_assignment
-document_product_association;
-document_product_equivalence
-document_reference
-document_relationship;
-document_representation_type;
-document_type;
-document_usage_constraint;
-document_usage_constraint_assignment
-document_usage_role;
-dose_equivalent_measure_with_unit
-dose_equivalent_unit
-double_offset_shelled_solid
-draped_defined_transformation
-draughting_annotation_occurrence
-draughting_callout
-draughting_callout_relationship;
-draughting_elements
-draughting_model
-draughting_model_item_association
-draughting_pre_defined_colour
-draughting_pre_defined_curve_font
-draughting_pre_defined_text_font
-draughting_subfigure_representation
-draughting_symbol_representation
-draughting_text_literal_with_delineation
-draughting_title;
-drawing_definition;
-drawing_revision
-drawing_revision_sequence;
-drawing_sheet_revision
-drawing_sheet_revision_sequence
-drawing_sheet_revision_usage
-edge
-edge_based_wireframe_model
-edge_based_wireframe_shape_representation
-edge_blended_solid
-edge_curve
-edge_loop
-effectivity
-effectivity_assignment
-effectivity_context_assignment
-effectivity_context_role;
-effectivity_relationship;
-electric_charge_measure_with_unit
-electric_charge_unit
-electric_current_measure_with_unit
-electric_current_unit
-electric_potential_measure_with_unit
-electric_potential_unit
-elementary_brep_shape_representation
-elementary_surface
-ellipse
-energy_measure_with_unit
-energy_unit
-entity_assertion
-enum_reference_prefix
-environment;
-evaluated_characteristic
-evaluated_degenerate_pcurve
-evaluation_product_definition
-event_occurrence;
-event_occurrence_assignment
-event_occurrence_relationship;
-event_occurrence_role;
-exclusive_product_concept_feature_category
-executed_action
-expanded_uncertainty
-explicit_procedural_geometric_representation_item_relationship
-explicit_procedural_representation_item_relationship
-explicit_procedural_representation_relationship
-explicit_procedural_shape_representation_relationship
-expression
-expression_conversion_based_unit
-extension
-extent
-external_class_library
-external_identification_assignment
-external_source;
-external_source_relationship;
-externally_defined_class
-externally_defined_colour
-externally_defined_context_dependent_unit
-externally_defined_conversion_based_unit
-externally_defined_currency
-externally_defined_curve_font
-externally_defined_dimension_definition
-externally_defined_general_property
-externally_defined_hatch_style
-externally_defined_item;
-externally_defined_item_relationship;
-externally_defined_marker
-externally_defined_picture_representation_item
-externally_defined_representation_item
-externally_defined_string
-externally_defined_symbol
-externally_defined_terminator_symbol
-externally_defined_text_font
-externally_defined_tile
-externally_defined_tile_style
-extruded_area_solid
-extruded_face_solid
-extruded_face_solid_with_draft_angle
-extruded_face_solid_with_multiple_draft_angles
-extruded_face_solid_with_trim_conditions
-face
-face_based_surface_model
-face_bound
-face_outer_bound
-face_surface
-faceted_brep
-faceted_brep_shape_representation
-fact_type
-fill_area_style
-fill_area_style_colour;
-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
-flat_pattern_ply_representation_relationship
-flatness_tolerance
-force_measure_with_unit
-force_unit
-forward_chaining_rule
-forward_chaining_rule_premise
-founded_item
-frequency_measure_with_unit
-frequency_unit
-func
-functional_breakdown_context
-functional_element_usage
-functionally_defined_transformation;
-general_material_property
-general_property;
-general_property_association;
-general_property_relationship;
-generic_character_glyph_symbol
-generic_expression
-generic_literal
-generic_variable
-geometric_alignment
-geometric_curve_set
-geometric_intersection
-geometric_item_specific_usage
-geometric_model_element_relationship
-geometric_representation_context
-geometric_representation_item
-geometric_set
-geometric_tolerance;
-geometric_tolerance_relationship;
-geometric_tolerance_with_datum_reference
-geometric_tolerance_with_defined_unit
-geometrical_tolerance_callout
-geometrically_bounded_2d_wireframe_representation
-geometrically_bounded_surface_shape_representation
-geometrically_bounded_wireframe_shape_representation
-global_assignment
-global_uncertainty_assigned_context
-global_unit_assigned_context
-ground_fact
-group;
-group_assignment
-group_relationship;
-half_space_solid
-hardness_representation
-hidden_element_over_riding_styled_item
-hyperbola
-id_attribute;
-identification_assignment
-identification_role;
-illuminance_measure_with_unit
-illuminance_unit
-included_text_block
-inclusion_product_concept_feature
-indirectly_selected_elements
-indirectly_selected_shape_elements
-inductance_measure_with_unit
-inductance_unit
-information_right
-information_usage_right
-instance_usage_context_assignment
-instanced_feature
-int_literal
-integer_representation_item
-intersection_curve
-interval_expression
-invisibility;
-iso4217_currency
-item_defined_transformation;
-item_identified_representation_usage;
-known_source
-laid_defined_transformation
-laminate_table
-language
-leader_curve
-leader_directed_callout
-leader_directed_dimension
-leader_terminator
-length_measure_with_unit
-length_unit
-light_source
-light_source_ambient
-light_source_directional
-light_source_positional
-light_source_spot
-limits_and_fits;
-line
-line_profile_tolerance
-linear_dimension
-literal_conjunction
-literal_disjunction
-literal_number
-local_time;
-logical_literal
-logical_representation_item
-loop
-loss_tangent_measure_with_unit
-lot_effectivity
-luminous_flux_measure_with_unit
-luminous_flux_unit
-luminous_intensity_measure_with_unit
-luminous_intensity_unit
-magnetic_flux_density_measure_with_unit
-magnetic_flux_density_unit
-magnetic_flux_measure_with_unit
-magnetic_flux_unit
-make_from_usage_option
-manifold_solid_brep
-manifold_subsurface_shape_representation
-manifold_surface_shape_representation
-mapped_item
-mass_measure_with_unit
-mass_unit
-material_designation;
-material_designation_characterization;
-material_property
-material_property_representation
-measure_qualification;
-measure_representation_item
-measure_with_unit
-mechanical_context
-mechanical_design_and_draughting_relationship
-mechanical_design_geometric_presentation_area
-mechanical_design_geometric_presentation_representation
-mechanical_design_presentation_representation_with_draughting
-mechanical_design_shaded_presentation_area
-mechanical_design_shaded_presentation_representation
-min_and_major_ply_orientation_basis
-modified_geometric_tolerance
-modified_solid
-modified_solid_with_placed_configuration
-moments_of_inertia_representation
-multi_language_attribute_assignment
-multiple_arity_boolean_expression
-multiple_arity_generic_expression
-multiple_arity_numeric_expression
-name_assignment
-name_attribute;
-named_unit
-next_assembly_usage_occurrence
-non_manifold_surface_shape_representation
-null_representation_item
-numeric_expression
-object_role;
-offset_curve_2d
-offset_curve_3d
-offset_surface
-one_direction_repeat_factor
-open_shell
-ordinal_date
-ordinate_dimension
-organization;
-organization_assignment
-organization_relationship;
-organization_role;
-organizational_address
-organizational_project;
-organizational_project_assignment
-organizational_project_relationship;
-organizational_project_role;
-oriented_closed_shell
-oriented_edge
-oriented_face
-oriented_open_shell
-oriented_path
-oriented_surface
-outer_boundary_curve
-over_riding_styled_item
-package_product_concept_feature
-parabola
-parallel_offset
-parallelism_tolerance
-parametric_representation_context
-part_laminate_table
-partial_document_with_structured_text_representation_assignment
-path
-pcurve
-percentage_laminate_definition
-percentage_laminate_table
-percentage_ply_definition
-perpendicular_to
-perpendicularity_tolerance
-person;
-person_and_organization;
-person_and_organization_address
-person_and_organization_assignment
-person_and_organization_role;
-personal_address
-physical_breakdown_context
-physical_element_usage
-picture_representation
-picture_representation_item
-placed_datum_target_feature
-placed_feature
-placement
-planar_box
-planar_extent
-plane
-plane_angle_measure_with_unit
-plane_angle_unit
-plus_minus_tolerance;
-ply_laminate_definition
-ply_laminate_sequence_definition
-ply_laminate_table
-point
-point_and_vector
-point_on_curve
-point_on_surface
-point_path
-point_replica
-point_style
-polar_complex_number_literal
-poly_loop
-polyline
-position_tolerance
-positioned_sketch
-power_measure_with_unit
-power_unit
-pre_defined_colour
-pre_defined_curve_font
-pre_defined_dimension_symbol
-pre_defined_geometrical_tolerance_symbol
-pre_defined_item;
-pre_defined_marker
-pre_defined_point_marker_symbol
-pre_defined_surface_condition_symbol
-pre_defined_surface_side_style
-pre_defined_symbol
-pre_defined_terminator_symbol
-pre_defined_text_font
-pre_defined_tile
-precision_qualifier;
-predefined_picture_representation_item
-presentation_area
-presentation_layer_assignment;
-presentation_representation
-presentation_set;
-presentation_size;
-presentation_style_assignment
-presentation_style_by_context
-presentation_view
-presented_item
-presented_item_representation;
-pressure_measure_with_unit
-pressure_unit
-procedural_representation
-procedural_representation_sequence
-procedural_shape_representation
-procedural_shape_representation_sequence
-product;
-product_category;
-product_class
-product_concept;
-product_concept_context
-product_concept_feature;
-product_concept_feature_association;
-product_concept_feature_category
-product_concept_feature_category_usage
-product_concept_relationship;
-product_context
-product_definition
-product_definition_context
-product_definition_context_association;
-product_definition_context_role;
-product_definition_effectivity
-product_definition_element_relationship
-product_definition_formation;
-product_definition_formation_relationship;
-product_definition_formation_with_specified_source
-product_definition_group_assignment
-product_definition_occurrence_relationship;
-product_definition_relationship;
-product_definition_shape
-product_definition_substitute;
-product_definition_usage
-product_definition_with_associated_documents
-product_identification
-product_material_composition_relationship
-product_related_product_category
-product_specification
-projected_zone_definition
-projection_curve
-projection_directed_callout
-promissory_usage_occurrence
-property_definition;
-property_definition_relationship;
-property_definition_representation;
-qualified_representation_item
-qualitative_uncertainty
-quantified_assembly_component_usage
-quasi_uniform_curve
-quasi_uniform_surface
-radioactivity_measure_with_unit
-radioactivity_unit
-radius_dimension
-range_characteristic
-ratio_measure_with_unit
-ratio_unit
-rational_b_spline_curve
-rational_b_spline_surface
-rational_representation_item
-real_literal
-real_representation_item
-rectangular_composite_surface
-rectangular_trimmed_surface
-referenced_modified_datum
-relative_event_occurrence
-rep_item_group
-reparametrised_composite_curve_segment
-representation;
-representation_context;
-representation_item
-representation_item_relationship;
-representation_map;
-representation_relationship;
-representation_relationship_with_transformation
-requirement_assigned_object
-requirement_assignment
-requirement_source
-requirement_view_definition_relationship
-resistance_measure_with_unit
-resistance_unit
-revolved_area_solid
-revolved_face_solid
-revolved_face_solid_with_trim_conditions
-right_angular_wedge
-right_circular_cone
-right_circular_cylinder
-right_to_usage_association
-role_association;
-roundness_tolerance
-row_representation_item
-row_value
-row_variable
-rule_action
-rule_condition
-rule_definition
-rule_set
-rule_set_group
-rule_software_definition
-rule_superseded_assignment
-rule_supersedence
-ruled_surface_swept_area_solid
-runout_zone_definition
-runout_zone_orientation;
-runout_zone_orientation_reference_direction
-satisfied_requirement
-satisfies_requirement
-satisfying_item
-scalar_variable
-scattering_parameter
-sculptured_solid
-seam_curve
-security_classification;
-security_classification_assignment
-security_classification_level;
-serial_numbered_effectivity
-shape_aspect;
-shape_aspect_associativity
-shape_aspect_deriving_relationship
-shape_aspect_relationship;
-shape_definition_representation
-shape_dimension_representation
-shape_feature_definition
-shape_representation
-shape_representation_relationship
-shape_representation_with_parameters
-shell_based_surface_model
-shell_based_wireframe_model
-shell_based_wireframe_shape_representation
-shelled_solid
-si_absorbed_dose_unit
-si_capacitance_unit
-si_conductance_unit
-si_dose_equivalent_unit
-si_electric_charge_unit
-si_electric_potential_unit
-si_energy_unit
-si_force_unit
-si_frequency_unit
-si_illuminance_unit
-si_inductance_unit
-si_magnetic_flux_density_unit
-si_magnetic_flux_unit
-si_power_unit
-si_pressure_unit
-si_radioactivity_unit
-si_resistance_unit
-si_unit
-simple_boolean_expression
-simple_clause
-simple_generic_expression
-simple_numeric_expression
-slash_expression
-smeared_material_definition
-solid_angle_measure_with_unit
-solid_angle_unit
-solid_curve_font
-solid_model
-solid_replica
-solid_with_angle_based_chamfer
-solid_with_chamfered_edges
-solid_with_circular_pattern
-solid_with_circular_pocket
-solid_with_circular_protrusion
-solid_with_conical_bottom_round_hole
-solid_with_constant_radius_edge_blend
-solid_with_curved_slot
-solid_with_depression
-solid_with_double_offset_chamfer
-solid_with_flat_bottom_round_hole
-solid_with_general_pocket
-solid_with_general_protrusion
-solid_with_groove
-solid_with_hole
-solid_with_incomplete_circular_pattern
-solid_with_incomplete_rectangular_pattern
-solid_with_pocket
-solid_with_protrusion
-solid_with_rectangular_pattern
-solid_with_rectangular_pocket
-solid_with_rectangular_protrusion
-solid_with_shape_element_pattern
-solid_with_single_offset_chamfer
-solid_with_slot
-solid_with_spherical_bottom_round_hole
-solid_with_stepped_round_hole
-solid_with_stepped_round_hole_and_conical_transitions
-solid_with_straight_slot
-solid_with_tee_section_slot
-solid_with_through_depression
-solid_with_trapezoidal_section_slot
-solid_with_variable_radius_edge_blend
-source_for_requirement
-sourced_requirement
-specification_definition
-specified_higher_usage_occurrence
-sphere
-spherical_surface
-standard_uncertainty
-start_request
-start_work
-straightness_tolerance
-structured_dimension_callout
-structured_text_composition
-structured_text_representation
-styled_item
-subedge
-subface
-supplied_part_relationship
-surface
-surface_condition_callout
-surface_curve
-surface_curve_swept_area_solid
-surface_of_linear_extrusion
-surface_of_revolution
-surface_patch
-surface_profile_tolerance
-surface_rendering_properties;
-surface_replica
-surface_side_style
-surface_style_boundary
-surface_style_control_grid
-surface_style_fill_area
-surface_style_parameter_line
-surface_style_reflectance_ambient;
-surface_style_reflectance_ambient_diffuse
-surface_style_reflectance_ambient_diffuse_specular
-surface_style_rendering;
-surface_style_rendering_with_properties
-surface_style_segmentation_curve
-surface_style_silhouette
-surface_style_transparent;
-surface_style_usage
-surface_texture_representation
-surfaced_open_shell
-swept_area_solid
-swept_disk_solid
-swept_face_solid
-swept_surface
-symbol
-symbol_colour;
-symbol_representation
-symbol_representation_map
-symbol_style
-symbol_target
-symmetric_shape_aspect
-symmetry_tolerance
-table_representation_item
-tactile_appearance_representation
-tagged_text_format
-tagged_text_item
-tangent
-terminator_symbol
-text_font;
-text_font_family;
-text_font_in_family;
-text_literal
-text_literal_with_associated_curves
-text_literal_with_blanking_box
-text_literal_with_delineation
-text_literal_with_extent
-text_string_representation
-text_style
-text_style_for_defined_font;
-text_style_with_box_characteristics
-text_style_with_mirror
-text_style_with_spacing
-thermal_resistance_measure_with_unit
-thermal_resistance_unit
-thermodynamic_temperature_measure_with_unit
-thermodynamic_temperature_unit
-thickened_face_solid
-thickness_laminate_definition
-thickness_laminate_table
-time_interval;
-time_interval_assignment
-time_interval_based_effectivity
-time_interval_relationship;
-time_interval_role;
-time_interval_with_bounds
-time_measure_with_unit
-time_unit
-tolerance_value;
-tolerance_zone
-tolerance_zone_definition
-tolerance_zone_form;
-topological_representation_item
-toroidal_surface
-torus
-total_runout_tolerance
-track_blended_solid
-track_blended_solid_with_end_conditions
-transformation_with_derived_angle
-trimmed_curve
-two_direction_repeat_factor
-type_qualifier;
-unary_generic_expression
-unary_numeric_expression
-uncertainty_assigned_representation
-uncertainty_measure_with_unit
-uncertainty_qualifier
-uniform_curve
-uniform_resource_identifier
-uniform_surface
-usage_association
-user_defined_curve_font
-user_defined_marker
-user_defined_terminator_symbol
-user_selected_elements
-user_selected_shape_elements
-value_range
-value_representation_item
-variable_semantics
-variational_representation_item
-vector
-vector_style
-velocity_measure_with_unit
-velocity_unit
-versioned_action_request;
-vertex
-vertex_loop
-vertex_point
-vertex_shell
-view_volume
-visual_appearance_representation
-volume_measure_with_unit
-volume_unit
-week_of_year_and_day_date
-wire_shell
-year_month
-zone_structural_makeup
diff --git a/libs/assimp/scripts/adjust_header_paths.sh b/libs/assimp/scripts/adjust_header_paths.sh
deleted file mode 100644
index 7c3bb37..0000000
--- a/libs/assimp/scripts/adjust_header_paths.sh
+++ /dev/null
@@ -1,38 +0,0 @@
-declare -a headers=("fast_atof.h"
- "qnan.h"
- "BaseImporter.h"
- "Hash.h"
- "MemoryIOWrapper.h"
- "ParsingUtils.h"
- "StreamReader.h"
- "StreamWriter.h"
- "StringComparison.h"
- "StringUtils.h"
- "SGSpatialSort.h"
- "GenericProperty.h"
- "SpatialSort.h"
- "SkeletonMeshBuilder.h"
- "SmoothingGroups.h"
- "StandardShapes.h"
- "RemoveComments.h"
- "Subdivision.h"
- "Vertex.h"
- "LineSplitter.h"
- "TinyFormatter.h"
- "Profiler.h"
- "LogAux.h"
- "Bitmap.h"
- "XMLTools.h"
- "IOStreamBuffer.h"
- "CreateAnimMesh.h"
- "irrXMLWrapper.h"
- "BlobIOSystem.h"
- "MathFunctions.h"
- "Macros.h"
- "Exceptional.h"
- "ByteSwapper.h")
-
-for i in "${headers[@]}"
-do
- find . -type f -exec sed -i "s,<../code/$i>,<assimp/$i>,g" {} \;
-done
diff --git a/libs/assimp/scripts/android_crosscompile/make_android.bat b/libs/assimp/scripts/android_crosscompile/make_android.bat
deleted file mode 100644
index a50695e..0000000
--- a/libs/assimp/scripts/android_crosscompile/make_android.bat
+++ /dev/null
@@ -1,28 +0,0 @@
-@echo off
-
-set ASSIMP_PATH=D:\projects\asset-importer-lib\assimp
-set CMAKE_PATH="C:\Program Files\CMake\bin\cmake.exe"
-set ANDROID_NDK_PATH=C:\Users\kimkulling\AppData\Local\Android\Sdk\ndk-bundle
-set ANDROID_CMAKE_PATH=contrib\android-cmake
-
-pushd %ASSIMP_PATH%
-
-rmdir /s /q build
-mkdir build
-cd build
-
-%CMAKE_PATH% .. ^
- -G"MinGW Makefiles" ^
- -DCMAKE_BUILD_TYPE=Release ^
- -DCMAKE_TOOLCHAIN_FILE=%ANDROID_CMAKE_PATH%\android.toolchain.cmake ^
- -DCMAKE_MAKE_PROGRAM=%ANDROID_NDK_PATH%\prebuilt\windows-x86_64\bin\make.exe ^
- -DANDROID_NDK=%ANDROID_NDK_PATH% ^
- -DANDROID_NATIVE_API_LEVEL=android-9 ^
- -DASSIMP_ANDROID_JNIIOSYSTEM=ON ^
- -DANDROID_ABI=arm64-v8a ^
- -DASSIMP_BUILD_ZLIB=ON ^
- -DASSIMP_BUILD_TESTS=OFF
-
-%CMAKE_PATH% --build .
-
-popd \ No newline at end of file