Compare commits

...

1482 commits

Author SHA1 Message Date
Jeff Epler
c69f31ac08 OK how about 100x 2017-08-16 21:24:54 -05:00
Jeff Epler
9012f5d438 just run test_inverse_attr3 to speed appveyor turnaround 2017-08-16 21:20:34 -05:00
Jeff Epler
e4eabb0108 does opening in binary help? 2017-08-16 17:41:39 -05:00
Jeff Epler
99379a7d0b these test failures are thought to be fixed 2017-08-16 08:24:56 -05:00
Jeff Epler
7f385521a5 Merge remote-tracking branches 'jepler/appveyor-single-thread-test', 'jepler/mac-inverse-attr3-failure', 'jepler/mismatch-new-delete', 'jepler/nullptr-bool', 'jepler/sanitize' and 'jepler/test-parallelism-failures' 2017-08-16 08:21:49 -05:00
Jeff Epler
0b6cd90dd9 Fix test_inverse_attr3 failure
This fixes the failure in test_inverse_attr3 seen on travis ci's osx
build.

Actually, only the change to sectionReader::getRealInstance is
needed to fix the test, but as the reason that 'unget' can fail is
unclear, I changed all instances of 'unget' to use the 'seekg' +
arithmetic method instead.

I failed to find a reason why 'unget' could fail in this way, or
reports of macos-specific failures in 'unget', but I was not
enlightened.

I do not know whether test_inverse_attr3 would *consistently* hang
on Appveyor, but after this change (and modifying .appveyor.yml
to not skip test_inverse_attr3) it did succeed on the first try.
2017-08-16 07:49:13 -05:00
Jeff Epler
4160f3fe8a customize travis for my fork 2017-08-15 21:25:20 -05:00
Jeff Epler
02910b2d38 Match new[] and delete[]
.. this would otherwise cause a memory use error in the unusual case
where a numeric identifer held more letters than expected.

For instance, passing the following file as the input to tst_inverse_attr3:

ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('SCL test file'),'2;1');
FILE_NAME('test_inverse_attr.p21','2012-06-30T',('mp'),(''),'0','1','2');
FILE_SCHEMA(('test_inverse_attr'));
ENDSEC;
DATA;
ENDSEC;
END-ISO-10303-21;

and running it under valgrind can cause a diagnostic similar to the following to be displayed:
Mismatched free() / delete / delete []
   at 0x4C2D2DB: operator delete(void*) (vg_replace_malloc.c:576)
   by 0x507A5A6: sectionReader::readInstanceNumber() (sectionReader.cc:224)
   by 0x507CCC7: lazyP21DataSectionReader::nextInstance() (lazyP21DataSectionReader.cc:53)
   by 0x507C797: lazyP21DataSectionReader::lazyP21DataSectionReader(lazyFileReader*, std::basic_ifstream<char, std::char_traits<char> >&, std::fpos<__mbstate_t>, unsigned short) (lazyP21DataSectionReader.cc:11)
   by 0x50699F2: lazyFileReader::initP21() (lazyFileReader.cc:14)
   by 0x5069E5D: lazyFileReader::lazyFileReader(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, lazyInstMgr*, unsigned short) (lazyFileReader.cc:61)
] and delete[]
   by 0x506AAA7: lazyInstMgr::openFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (lazyInstMgr.cc:103)
   by 0x4023A1: main (inverse_attr3.cc:35)
 Address 0x6a861a0 is 0 bytes inside a block of size 21 alloc'd
   at 0x4C2C93F: operator new[](unsigned long) (vg_replace_malloc.c:423)
   by 0x507A3A7: sectionReader::readInstanceNumber() (sectionReader.cc:202)

This problem is also reported in static analysis by clang, and as such can be seen in travis ci build logs.
2017-08-15 21:24:23 -05:00
Jeff Epler
3fd71cf457 appveyor build: don't use ctest parallelism
On Windows, concurrent access to files is severely restricted
compared to standard operating systems.  When ctest is invoking
cmake, this causes it to write simultaneously to the same files in
each concurrent cmake invocation, leading to spurious test failures
like

  error MSB3491: Could not write lines to file "...".  The process
  cannot access the file '...' because it is being used by another
  process.

Explicitly ask for no parallelism with "-j1", even though it is
probably the default.
2017-08-15 20:38:47 -05:00
Jeff Epler
1ff41f76a4 sc_version_string: Use temporary names resilient against parallel builds
In #359 I identify a race condition between multiple parallel invocations
of cmake, which can arise naturally during ctests.  Now that the file
contents will not change without an intervening git commit, it is
sufficient to ensure that the parallel invocations use distinct temporary
file names with high probability.
2017-08-15 19:54:05 -05:00
Jeff Epler
a11c373fc7 sc_version_string: omit the date and time
As analyzed in #359, if the header contains the current time, it will
be updated while running the testsuite; this, in turn, causes multiple
cmake processes to attempt to update targets like lib/libexpress.so.2.0.0
at the same time, causing test failures.
2017-08-15 19:47:26 -05:00
Jeff Epler
6f1b5adc3f errordesc.cc: Correctly append a single character to a std::string
The idiom
    char c = ...;
    _userMsg.append( &c );
is not correct C++, because it treats the address of 'c' as a NUL-
terminated C string.  However, this is not guaranteed.

When building and testing on Debian Stretch with AddressSanitizer:
    ASAN_OPTIONS="detect_leaks=false" CXX="clang++" CC=clang CXXFLAGS="-fsanitize=address" LDFLAGS="-fsanitize=address" cmake .. -DSC_ENABLE_TESTING=ON  -DSC_BUILD_SCHEMAS="ifc2x3;ap214e3;ap209"
    ASAN_OPTIONS="detect_leaks=false" make
    ASAN_OPTIONS="detect_leaks=false" ctest . --output-on-failure
an error like the following is encountered:

==15739==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7ffeb2ca7621 at pc 0x00000043c943 bp 0x7ffeb2ca75d0 sp 0x7ffeb2ca6d80
READ of size 33 at 0x7ffeb2ca7621 thread T0
    #0 0x43c942 in __interceptor_strlen.part.45 (/home/jepler/src/stepcode/build/bin/lazy_sdai_ap214e3+0x43c942)
    #1 0x7fb9056e6143 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::append(char const*) (/usr/lib/x86_64-linux-gnu/libstdc++.so.6+0x11f143)
    #2 0x7fb905b677c3 in ErrorDescriptor::AppendToDetailMsg(char) /home/jepler/src/stepcode/src/clutils/errordesc.cc:150:5

Address 0x7ffeb2ca7621 is located in stack of thread T0 at offset 33 in frame
    #0 0x7fb905b676af in ErrorDescriptor::AppendToDetailMsg(char) /home/jepler/src/stepcode/src/clutils/errordesc.cc:149

  This frame has 1 object(s):
    [32, 33) '' <== Memory access at offset 33 overflows this variable

A similar problem with AppendToUserMsg is found by inspection.

After this change, all 200 tests pass under the AddressSanitizer
configuration
2017-08-15 07:51:44 -05:00
Jeff Epler
9df2f19fc6 express/error.c: Ensure the error buffer does not overflow
On Debian Stretch, when configuring stepcode like so:
    ASAN_OPTIONS="detect_leaks=false" CXX="clang++" CXXFLAGS="-fsanitize=address" cmake ..
a fatal error would be detected:

  ==29661==ERROR: AddressSanitizer: heap-buffer-overflow on address
  0x62100001dca0 at pc 0x0000004435e3 bp 0x7ffed6d9cae0 sp 0x7ffed6d9c290

  READ of size 4001 at 0x62100001dca0 thread T0

      #0 0x4435e2 in __interceptor_strlen.part.45 (/home/jepler/src/stepcode/build/bin/schema_scanner+0x4435e2)
      #1 0x501d7b in ERRORreport_with_symbol /home/jepler/src/stepcode/src/express/error.c:413

  0x62100001dca0 is located 0 bytes to the right of 4000-byte region
  [0x62100001cd00,0x62100001dca0)

  allocated by thread T0 here:

      #0 0x4c3ae8 in __interceptor_malloc (/home/jepler/src/stepcode/build/bin/schema_scanner+0x4c3ae8)
      #1 0x5011fc in ERRORinitialize /home/jepler/src/stepcode/src/express/error.c:129

Operations on ERROR_string were unsafe, because they did not guard
against accesses beyond the end of the allocatd region.

This patch ensures that all accesses via *printf functions do respect
the end of the buffer; and encapsulates the routine for pointing
ERROR_string at the space for the next error text to start, if space is
available.

Finally, because it was found with search and replace, a stray manipulation
of ERROR_string within the print-to-file branch of the code is removed.
This stray line would have had the effect of moving ERROR_string one byte
further along at every warning-to-file, which could also have been a
cause of the problem here.
2017-08-15 07:51:44 -05:00
Jeff Epler
0fbc3c0c84 Fix build error with g++ 6.3 (Debian Stretch)
On this platform, TEST_NULLPTR fails, even though nullptr and
nullptr_t are supported:

/home/jepler/src/stepcode/build/CMakeFiles/CMakeTmp/src.cxx:4:23:
    error: converting to 'bool' from 'std::nullptr_t'
    requires direct-initialization [-fpermissive]
 int main() {return !!f();}
                      ~^~

Subsequent to this failure, the workaround definitions in sc_nullptr.h
prevent standard C++ headers (which must refer to real nullptr) to fail.

The failure occurs because the C++ standard apparently does not state
that operator! may be used on nullptr.  Despite this, some compilers
have historically allowed it.  g++ 6.3's behavior appears to be aligned
with the standard.

As requested by @brlcad, ensure that the function 'f' is used from main,
to avoid a clever (but not nullptr-supporting) compiler from somehow
skipping 'f' altogether, creating a false positive for nullptr support.
2017-08-15 06:50:56 -05:00
Mark
a96336ab97 Merge pull request #351 from stepcode/review/327
Review/327
2017-08-13 20:46:34 -04:00
Thomas Paviot
b24680d7e5 Merge pull request #356 from luzpaz/ascii-typos
Fixed typos showing up as ascii chars
2017-03-05 07:41:13 +01:00
Kunda
15afe96d67 Fixed typos showing up as ascii chars
Using http://www.lisi.ensma.fr/ftp/enseignement/A3_Master_Ingenierie_donnees/fonctionsGrammaire_EXPRESS.pdf I was able to fix typos in the text files for Builtin.py
2017-03-04 07:22:46 -05:00
Cliff Yapp
a78ca01b54 Revert "Get latest version of ap242 from http://stepmod.cvs.sourceforge.net/viewvc/stepmod/stepmod/data/modules/ap242_managed_model_based_3d_engineering/mim_lf.exp"
This reverts commit 0b456a833e.

New schema apparently doesn't build.
2016-08-06 16:51:58 -04:00
Cliff Yapp
8627627c5e Add an option to completely bypass the git management of the version header. 2016-08-06 13:53:12 -04:00
Cliff Yapp
9b091756b1 Allow the user to control whether C++11 is used (matters for subbuilds) 2016-08-06 13:02:35 -04:00
Cliff Yapp
dfce2dcf07 For the flags variables, rather annoyingly, they actually need to be managed as strings and not lists. 2016-08-06 12:37:01 -04:00
Cliff Yapp
5c7e63c75b Fix macro comments. This approach to managing the targets varies from the old EXCLUDE_OR_INSTALL setup in that by default the testable targets are not added to the 'all' build - in other works, 'make' will make just the main stepcode targets. The testable targets are available individually, and if SC_ENABLE_TESTING is enabled they *will* be added to the 'all' target, but by default they are not compiled in the basic build. 2016-08-06 12:32:12 -04:00
Cliff Yapp
0b456a833e Get latest version of ap242 from http://stepmod.cvs.sourceforge.net/viewvc/stepmod/stepmod/data/modules/ap242_managed_model_based_3d_engineering/mim_lf.exp 2016-08-06 12:05:18 -04:00
Cliff Yapp
a243b4d8c8 Separate shared and static generated files for better parallel building safety. 2016-08-06 11:55:38 -04:00
Cliff Yapp
daec3e2640 Add option handling to the SC target macros, replacing the EXCLUDE_FROM_INSTALL macro. 2016-08-06 11:43:59 -04:00
Cliff Yapp
06b13bb9af Make a stab at adapting the new, simplier verification to vanilla stepcode 2016-08-06 11:23:34 -04:00
Cliff Yapp
e38519a7f1 Update Find cmake scripts 2016-08-06 10:53:19 -04:00
Cliff Yapp
12def15dd2 Start working on merging BRL-CAD changes back into upstream. 2016-08-06 10:46:23 -04:00
Mark Pictor
a160cc9af6 fix #327 - statically initialize t_sdaiINTEGER etc 2015-08-30 11:57:58 -04:00
Mark Pictor
1dfe76b3b4 README: put CI badges in table 2015-08-23 22:30:36 -04:00
Mark Pictor
c23ba65c41 appveyor log - use JSON-like console data, massaged for parsability 2015-08-23 22:30:16 -04:00
Mark Pictor
274de2a91d appveyor: exclude hanging test 2015-08-10 21:06:51 -04:00
Mark Pictor
1a757024c4 add appveyor badge 2015-08-10 21:04:10 -04:00
Mark Pictor
abae0a7c45 allow downloading log directly from AV 2015-08-10 21:00:35 -04:00
Mark
bfc11face5 Merge pull request #345 from stepcode/review/misc
appveyor isn't at 100%, but it's considerably better
2015-08-10 20:47:30 -04:00
Mark Pictor
677261d4fb fix LNK2004 getEDesc already defined in sectionReader.obj
is this really the only/best way to fix this?!
2015-08-09 23:36:54 -04:00
Mark Pictor
4207a46f07 fix MSVC link error for NilSTEPentity 2015-08-09 23:30:13 -04:00
Mark Pictor
7316fe5070 msvc warnings/errors 2015-08-09 23:29:15 -04:00
Mark Pictor
4d32009592 'register' storage class specifier is deprecated [-Wdeprecated-register] 2015-08-03 22:00:22 -04:00
Mark Pictor
0b6078b72b missing include 2015-08-03 21:55:00 -04:00
Mark Pictor
36e34862cc cllazyfile: work around LNK2005 error. had to tweak class members so MSVC didn't see MgrNodeBase class twice.
suspect there is a better solution, but I'm not sure what it would be
2015-08-03 21:50:19 -04:00
Mark Pictor
9dcb6aa640 build judy array as part of base lib, else import/export macros don't work 2015-08-03 21:38:37 -04:00
Mark Pictor
bc5533bda8 test for, and use, nullptr if we have it 2015-08-03 21:37:28 -04:00
Mark Pictor
4e88ad69eb summarize-appveyor-log: sort before printing 2015-08-02 22:51:22 -04:00
Mark Pictor
b890c156f5 attempt to silence msvc linker errors 2015-08-02 22:50:26 -04:00
Mark Pictor
0ba7343004 no more excuses, build cllazyfile on windows 2015-08-02 15:59:48 -04:00
Mark Pictor
f2247d222f use COMPILE_DEFINITIONS property for definitions 2015-08-02 15:58:04 -04:00
Mark Pictor
5288026043 add windows dll import/export macros to cllazyfile 2015-08-02 15:57:10 -04:00
Mark Pictor
6e8cad223e cmake 2.8.7 needs append_string, not append 2015-08-02 15:37:45 -04:00
Mark Pictor
018e7cfffc reduce delay used in parallel test, as it appears to cause a failure.
TODO: rework the test to not be timing-sensitive
2015-08-02 14:53:36 -04:00
Mark Pictor
458b775f41 simplify cmake logic - use set_property(...APPEND...) rather than get/list append/set 2015-08-02 14:30:01 -04:00
Mark Pictor
dc82923cf1 support cmake 2.8.7 since that's what travis-ci uses 2015-08-02 14:28:53 -04:00
Mark Pictor
aa967b3316 tweak includ dir logic, print path 2015-07-26 23:22:32 -04:00
Mark Pictor
17b41da525 add std::chrono test, if available use in thread test 2015-07-26 22:22:44 -04:00
Mark Pictor
135adc76c8 fix warning, improve cmake messages 2015-07-26 20:49:04 -04:00
Mark Pictor
017faa942f make schema-specific tests work on cmake 3.x 2015-07-26 20:49:04 -04:00
Mark Pictor
46c37207da replace c++ style comments recently introduced with c-style comments 2015-07-26 16:59:42 -04:00
Mark Pictor
85f45f38e4 debug message for appveyor 2015-07-26 15:22:24 -04:00
Mark Pictor
be378119f4 piping to grep prevents appveyor from detecting failures 2015-07-26 15:22:09 -04:00
Mark Pictor
ecde882d5a oops, forgot export macro for path2str 2015-07-26 14:32:43 -04:00
Mark Pictor
3d90ffdf83 remove yet more CORBA and ObjectStore stuff... surprised it still exists 2015-07-26 14:22:07 -04:00
Mark Pictor
5dfca2ed78 exp2py - remove unused function USEREFout 2015-07-26 14:20:24 -04:00
Mark Pictor
fbf0272d3b indent a listdo/listod 2015-07-26 13:42:52 -04:00
Mark Pictor
c69f9ebab2 fix length check for keyword detection function 2015-07-26 13:42:25 -04:00
Mark Pictor
942fb89f68 cleanup 2015-07-26 13:41:49 -04:00
Mark Pictor
893936b11f printf(...) -> fprintf( stderr, ...): warnings and errors should not be on stdout 2015-07-26 13:39:40 -04:00
Mark Pictor
e4a8be26da resolve MSVC "unknown escape sequence" warning 2015-07-19 18:29:55 -04:00
Mark Pictor
c63b3cc9b8 add CONTRIBUTING.md 2015-07-19 15:02:54 -04:00
Mark Pictor
2dace5da2e update CI-related stuff 2015-07-19 15:02:54 -04:00
Mark
7568033499 Merge pull request #344 from cshorler/python_p21_lexer_and_parser_improvements
Python p21 lexer and parser improvements
2015-07-12 17:41:14 -04:00
Mark
65b6869b30 Merge pull request #343 from cshorler/python_2_6_compatibility
Python 2.6 compatibility
2015-07-12 17:39:18 -04:00
Christopher Horler
915e0de65f simplification - invocation of t_STRING / t_BINARY guarantees we can use string slicing rather than strip() 2015-07-08 07:59:37 +01:00
Christopher Horler
9c83ba32a9 fix list / params handling 2015-07-07 18:46:19 +01:00
Christopher Horler
13f36c11a8 implement value conversions for simple types 2015-07-07 18:44:58 +01:00
Christopher Horler
6b26410d9d make default implementation take bigger "slurps" looking for PART21_START tokens 2015-07-06 23:55:16 +01:00
Christopher Horler
3e84677ac9 change handling of base_tokens to simplify subclass implementations 2015-07-06 23:52:27 +01:00
Christopher Horler
081cf35855 Update tests function to parse every .stp file in the stepcode tree
(assumes code is under ~/projects/src/stepcode)
2015-07-05 18:36:33 +01:00
Christopher Horler
c1c3bc1077 Lexer improvements
- change way states are used, could give a substantial performance improvement
 - implement a more flexible approach for exchange_file start token search (more extensibile for subclassing)
 - rework/standardise keyword implementation for DATA token

Parser improvements
 - implement error handling for duplicate entity instances
   * parser catches the error, logs it
   * resyncs and continues (the duplicate is ignored)
 - rework the exchange_file structure detection
   * added parser.reset() to allow a more flexible approach to subclassing
2015-07-05 18:27:46 +01:00
Christopher Horler
6351ff38d9 Python 2.6
- replace another dict comprehension
 - ensure new style classes are used in Python 2.6
 - change the way the tokens list is used (improves ability to subclass)
2015-07-05 18:08:33 +01:00
Christopher Horler
a82f7497a6 Python 2.6 doesn't have NullHandler or dict comprehensions 2015-07-05 17:30:40 +01:00
Mark
2a3e2a9abf Merge pull request #342 from cshorler/improve_extensibility_for_python_p21_handling
make Python Part21 lexer more extensible for writing custom parser rules
2015-06-26 15:26:40 -04:00
Christopher Horler
eaf9ffc3f3 raise ValueError instead of sys.exit if input doesn't have valid header / or duplicate entity instances 2015-06-24 22:26:34 +01:00
Christopher Horler
b72f4d404a fix typo in rule 2015-06-24 17:59:01 +01:00
Christopher Horler
b31d8ef853 when subclassing due to ply's dir() usage to determine rules a start rule is necessary 2015-06-24 17:24:23 +01:00
Christopher Horler
c865023114 files may contain multiple exchange structures, to allow for this add rudimentary state tracking 2015-06-24 17:22:49 +01:00
Christopher Horler
25ca2a788d make Python Part21 lexer more extensible for writing custom parser rules 2015-06-22 20:38:20 +01:00
Mark
a80489dc96 Merge pull request #340 from stepcode/review/misc
warnings + misc
2015-06-14 21:25:25 -04:00
Mark Pictor
35170b388e give up on msbuild, seems to offer no benefits. go back to cmake --build 2015-06-14 21:23:08 -04:00
Mark Pictor
d2680940ad disable 2 builds so appveyor will go faster 2015-06-14 19:00:28 -04:00
Mark Pictor
e24ac2acd3 appveyor - print results from failed tests 2015-06-14 18:07:04 -04:00
Mark Pictor
903277f288 in appveyor summary, print errors first 2015-06-13 21:29:36 -04:00
Mark Pictor
5b2782a34c appveyor has grep, so use it on build output 2015-06-13 21:28:59 -04:00
Mark Pictor
97731f8611 warning about extra parens 2015-06-13 21:13:04 -04:00
Mark Pictor
272928d6e5 treat 'fatal error' as error; also ran go fmt 2015-06-13 21:13:04 -04:00
Mark Pictor
76944b3a90 powershell's select-string is an abomination... is grep in PATH? 2015-06-13 21:13:04 -04:00
Mark
8a270222c6 Merge pull request #341 from cshorler/mpictor/review-misc
remove strncpy as we're not using it anyway - fixes crash on enumerat…
2015-06-13 20:34:40 -04:00
Christopher Horler
e8afb772f1 remove strncpy as we're not using it anyway - fixes crash on enumeration output 2015-06-13 15:35:32 +01:00
Mark Pictor
0eefd769e3 oops, use our own stdbool 2015-06-08 22:53:45 -04:00
Mark Pictor
1c8225f79a eliminate gcc warnings for exp2py 2015-06-08 22:40:38 -04:00
Mark Pictor
2d8a7373fd fix some MSVC warnings 2015-06-08 22:40:38 -04:00
Mark Pictor
2300021416 MSVC warning - multiple default constructors 2015-06-08 22:40:38 -04:00
Mark Pictor
91a2dcacf3 MSVC lacks __func__, use __FUNCTION__ instead 2015-06-08 22:40:38 -04:00
Mark Pictor
618deae50e add golang program to summarize msvc warnings/errors from appveyor 2015-06-08 22:40:38 -04:00
Mark Pictor
1aa78e7e48 make appveyor happier 2015-06-08 22:40:38 -04:00
Mark Pictor
4129d363b0 add stepcore test for segfault in STEPattribute::set_null() 2015-05-20 20:51:14 -04:00
Mark Pictor
619c927ecb update Doxyfile 2015-05-20 20:03:53 -04:00
Mark Pictor
89684015ae improve comments for doxygen 2015-05-20 20:03:47 -04:00
Mark Pictor
8423811031 delete makefile fragment 2015-05-20 20:02:09 -04:00
Mark
4f9ad1c75a Merge pull request #338 from ShabalinAnton/cllazyfile_fixes
Cllazyfile fixes
2015-05-19 19:30:41 -04:00
Anton Shabalin
0c34752882 1. Heap corruption error fixed at sectionReader
2. Win support added at lazyRefs
2015-05-19 11:21:11 +08:00
Mark
0b3ab924f8 Merge pull request #332 from pcjc2/speedup_instmgr
Speedup InstMgr by running PrettyTmpName() outside of search loops
2015-04-18 21:47:39 -04:00
Mark
fae60fbe8c Merge pull request #334 from stepcode/mp/TypeName_temp_ref
returning pointer to temporary for type name
2015-04-14 22:54:35 -04:00
Mark Pictor
703654ae70 update use of AttrTypeName in test/scl2html.cc 2015-04-14 22:53:40 -04:00
Mark
9fca25bed6 Merge pull request #335 from stepcode/mp/supertype-parens
exppp - supertype parens
2015-04-14 21:07:35 -04:00
Mark Pictor
988d2614be add test for supertype andor parens 2015-04-12 23:23:24 -04:00
Mark Pictor
1a8282d5dc missing parens on supertype andor - #318 2015-04-12 22:59:29 -04:00
Mark Pictor
235d38a80c doxify comments 2015-04-12 22:16:25 -04:00
Mark Pictor
cba6fec8d7 eliminate a reference to temporary, modify 2 funcs
modify AttrDescriptor::TypeName() and TypeDescriptor::AttrTypeName() - don't return
std::string::c_str()
2015-04-12 22:15:59 -04:00
Mark
1d2e33e575 Merge pull request #326 from cshorler/exp2python_remove_exppp_dependency
Exp2python remove exppp dependency
2015-04-12 15:31:56 -04:00
Peter Clifton
2829deb7cc Speedup InstMgr by running PrettyTmpName() outside of search loops
PrettyTmpName() came up fairly hot in at least one of these loops
when profiling loading and iterating over STEP files.
2015-04-12 19:48:08 +01:00
Christopher Horler
c83f0792a1 remove unused TypeDescription function 2015-04-03 21:17:29 +01:00
Christopher Horler
482c7905f3 refactor expression output for Python (remove exppp dependency) 2015-04-03 21:08:47 +01:00
Christopher Horler
46b5e74596 remove exppp runtime dependency 2015-04-03 21:08:32 +01:00
Mark
ec0443a446 Merge pull request #324 from cshorler/ap242ed1_fixes
Python - AP242ed1 fixes
2015-04-01 18:42:39 -05:00
Mark
6708334b37 Merge pull request #325 from ramcdona/FixUps
Fix ups
2015-03-29 18:29:01 -05:00
Christopher Horler
9025643a1b fix generation of TYPE ENUMERATION 2015-03-28 13:32:21 +00:00
Christopher Horler
b996d835f5 use the Python standard library enum module to implement the EXPRESS ENUMERATION 2015-03-28 13:19:01 +00:00
Rob McDonald
48df74932a Remove unused real typedef. 2015-03-27 08:38:46 -07:00
Rob McDonald
3b0f0b33ea Add ExternalProject_add based build of ap203min example 2015-03-27 08:38:38 -07:00
Christopher Sean Morrison
167d1d7fab severity is unused, unname it 2015-03-27 11:19:56 -04:00
Christopher Sean Morrison
abb43fcb6f remove unused (and duplicated) variable, quellage 2015-03-27 11:18:24 -04:00
Christopher Sean Morrison
a2f2f41e66 quell warning about type mismatch. needs to be signed as the sdai instance could be -1. 2015-03-27 11:13:59 -04:00
Christopher Sean Morrison
e68afbad49 respond to the TODO about neg values ever being used. they currently are, which cascades into a signed/unsigned mismatch down the line in the lazy loader. 2015-03-27 11:12:17 -04:00
Christopher Sean Morrison
33ff7c57dc quell compiler warnings (errors in later versions of llvm 3.6) about incompatible type assignment (expecting a pointer) 2015-03-27 10:59:34 -04:00
Christopher Horler
04a57d0f2a avoid subclassing boolean types in Python 2015-03-25 21:56:23 +00:00
Christopher Horler
062b0e6ae3 fix - use of local variable name "pass" in AP242 causes invalid python code 2015-03-23 19:50:59 +00:00
Mark
5c6ffc7dca Merge pull request #322 from cshorler/fix_hdr_install
fix header installation - remove sc_stdbool.h from src/base/CMakeLists.t...
2015-03-20 20:10:05 -04:00
Christopher Horler
ea80885185 fix header installation - remove sc_stdbool.h from src/base/CMakeLists.txt, is already in include/CMakeLists.txt 2015-03-19 19:42:06 +00:00
Mark
8964d2ed05 Merge pull request #320 from stepcode/review/segfault
ap242 segfault
2015-02-23 20:36:36 -05:00
Mark
f25fb9d968 Merge pull request #319 from stepcode/mp/msvc-warn
msvc warn
2015-02-22 22:24:00 -05:00
Mark Pictor
0336649b07 also delete these attrs in dtor 2015-02-22 22:20:56 -05:00
Mark Pictor
bdcd5166e1 was returning Severity from a bool function 2015-02-19 20:23:16 -05:00
Mark Pictor
dbbd0c63b6 cout -> std::cout 2015-02-19 20:23:15 -05:00
Mark Pictor
cb771f628e int->bool in several places 2015-02-19 20:23:15 -05:00
Mark Pictor
2a17763354 fix msvc warnings in express/test/print_schemas.c 2015-02-17 20:19:52 -05:00
Mark Pictor
7f19877b1a fix msvc warnings in express/test/print_attrs.c 2015-02-17 20:17:32 -05:00
Mark Pictor
164355c640 fix LISTdo indentation for 2 loops 2015-02-16 21:48:09 -05:00
Mark Pictor
2c7ed5c826 add another loop to initialize any attrs missed by first loop 2015-02-16 21:46:09 -05:00
Mark Pictor
264db5d03c MSVC warning C4113: 'void (__cdecl *)()' != 'void (__cdecl *)(void)' 2015-02-16 20:58:37 -05:00
Mark Pictor
423d5e08f6 appveyor: run fewer tests 2015-02-16 20:58:37 -05:00
Mark Pictor
ba6d0a1c0c add test and files for a p21read segfault.
like the 210e2 segfault, this one is probably related to SELECTs.
2015-02-16 20:58:15 -05:00
Mark
37cfaebb1f Merge pull request #313 from stepcode/review/split-stepaggregate
split STEPaggregate.cc,.h into small files
2015-02-16 20:54:26 -05:00
Mark Pictor
f233ae0059 fix up includes after reorganizing STEPaggr code 2015-02-15 22:13:21 -05:00
Mark Pictor
7950f4db7e move GenericAggregate and co out of STEPaggregate.* 2015-02-15 22:13:21 -05:00
Mark Pictor
ec5171fe27 move EntityAggregate and co out of STEPaggregate.* 2015-02-15 22:13:21 -05:00
Mark Pictor
c962b1d391 move SelectAggregate and co out of STEPaggregate.* 2015-02-15 22:13:21 -05:00
Mark Pictor
dc32b24f3f move StringAggregate and co out of STEPaggregate.* 2015-02-15 22:13:21 -05:00
Mark Pictor
57a3d9ca1a move BinaryAggregate and co out of STEPaggregate.* 2015-02-15 22:13:21 -05:00
Mark Pictor
ef4d64a98e move EnumAggregate and co out of STEPaggregate.* 2015-02-15 22:13:21 -05:00
Mark Pictor
b3047b4b1f move RealAggregate out of STEPaggregate files 2015-02-15 22:13:21 -05:00
Mark Pictor
4bac203373 move IntAggregate and IntNode out of STEPaggregate 2015-02-15 22:13:21 -05:00
Mark Pictor
ad2e50b05d eliminate STEPattribute.inline.cc 2015-02-15 22:13:21 -05:00
Mark Pictor
3e8c468f67 tweak appveyor... almost there 2015-02-12 18:52:07 -05:00
Mark
0ccca0afc2 Merge pull request #312 from stepcode/mp/bigfiles
Split ExpDict up
2015-02-08 21:34:15 -05:00
Mark Pictor
7cbc9f84ce use sc_stdbool.h because old VS's lack stdbool. caught by appveyor 2015-02-08 20:04:31 -05:00
Mark Pictor
e266db9b3f cmake can't find vs10 on appveyor, and didn't use right generator name for vs9 2015-02-08 20:04:03 -05:00
Mark Pictor
77000dd445 tweak appveyor again 2015-02-08 19:29:53 -05:00
Mark Pictor
1d784c8a90 finish splitting ExpDict up 2015-02-08 19:29:00 -05:00
Mark Pictor
5b68726a3c continue splitting ExpDict up 2015-02-08 19:22:54 -05:00
Mark Pictor
d7b3129834 move more classes out of ExpDict.* 2015-02-08 17:51:06 -05:00
Mark Pictor
6e3e58df00 Registry.inline.cc -> Registry.cc 2015-02-08 17:51:06 -05:00
Mark Pictor
80eabe9e80 eliminate 'deleting void' compiler warning 2015-02-08 17:51:06 -05:00
Mark Pictor
5afcabf901 workaround Wfloat-equal warning
pretty sure we want the behavior that triggers the
warning, so use memcmp instead of == to compare floats
2015-02-08 17:51:06 -05:00
Mark Pictor
105cce4a9c unused variable warning 2015-02-08 17:51:05 -05:00
Mark Pictor
cf11cad78a start breaking up ExpDict into small files 2015-02-08 17:51:05 -05:00
Mark Pictor
34c452e658 merge SingleLinkList.inline.cc into .cc, .h 2015-02-08 17:51:05 -05:00
Mark Pictor
7627b46e44 update .gitignore 2015-02-08 17:51:05 -05:00
Mark Pictor
10ba621ee1 yamllint.com is happy with this one. grumble grumble 2015-02-08 17:27:59 -05:00
Mark Pictor
5c63ccd6cf again... 2015-02-08 17:21:39 -05:00
Mark Pictor
bc13835a01 need powershell for this env var use? 2015-02-08 17:19:05 -05:00
Mark Pictor
44b056f9e2 add appveyor.yml for windows continuous integration 2015-02-08 17:01:36 -05:00
Mark
061ec0dbc6 Merge pull request #311 from stepcode/review/update-schemas
Update schemas 209,210e3,242 from CD to IS
2015-02-08 15:36:13 -05:00
Mark Pictor
b600f05bd2 tweak travis-ci more 2015-02-08 14:58:29 -05:00
Mark Pictor
719f39f489 update AP209 ATS files. enum element_order now has the _order prefix on its values
sed -i 's/CURVE_3D_ELEMENT_DESCRIPTOR(.LINEAR./CURVE_3D_ELEMENT_DESCRIPTOR(.LINEAR_ORDER./g;' *.stp
sed -i 's/SURFACE_3D_ELEMENT_DESCRIPTOR(.LINEAR./SURFACE_3D_ELEMENT_DESCRIPTOR(.LINEAR_ORDER./g;' *.stp
sed -i 's/SURFACE_3D_ELEMENT_DESCRIPTOR(.QUADRATIC./SURFACE_3D_ELEMENT_DESCRIPTOR(.QUADRATIC_ORDER./g;' *.stp
sed -i 's/VOLUME_3D_ELEMENT_DESCRIPTOR(.QUADRATIC./VOLUME_3D_ELEMENT_DESCRIPTOR(.QUADRATIC_ORDER./g;' *.stp
sed -i 's/VOLUME_3D_ELEMENT_DESCRIPTOR(.LINEAR./VOLUME_3D_ELEMENT_DESCRIPTOR(.LINEAR_ORDER./g;' *.stp
2015-02-08 14:22:27 -05:00
Mark Pictor
2c6d346584 update bound callbacks to also work with derived attributes. discovered in ap209 IS 2015-02-08 14:22:27 -05:00
Mark Pictor
abf41650ee travis-ci: print parts of ctest log on failure 2015-02-08 14:22:27 -05:00
Mark Pictor
b2a8343741 fix cmake error encountered when testing is enabled and all schemas disabled 2015-02-08 14:22:27 -05:00
Mark Pictor
ee32a0f923 new versions of ap242, ap210e3, ap209. all 3 are now IS, renamed accordingly
wget http://stepmod.cvs.sourceforge.net/viewvc/stepmod/stepmod/data/modules/ap210_electronic_assembly_interconnect_and_packaging_design/mim_lf.exp
wget http://stepmod.cvs.sourceforge.net/viewvc/stepmod/stepmod/data/modules/ap209_multidisciplinary_analysis_and_design/mim_lf.exp
wget http://stepmod.cvs.sourceforge.net/viewvc/stepmod/stepmod/data/modules/ap242_managed_model_based_3d_engineering/mim_lf.exp
2015-02-08 14:22:26 -05:00
Mark
2a760a1e12 Merge pull request #310 from stepcode/review/getopt
prefix optind, optarg, opterr with sc_ because emscripten complained
2015-02-08 12:00:02 -05:00
Mark Pictor
2014a75678 prefix optind, optarg, opterr with sc_ because emscripten complained 2015-02-01 19:56:23 -05:00
Mark
8cb5c79279 Merge pull request #309 from stepcode/review/parallel-ctest
fix annoying issue with parallel testing
2015-02-01 19:44:43 -05:00
Mark
62202523b8 Merge pull request #307 from stepcode/review/plib-crash
PLIB crash
2015-02-01 19:44:24 -05:00
Mark
9ce384b600 Merge pull request #308 from stepcode/review/msvc13
MSVC13
2015-01-27 20:11:05 -05:00
Mark Pictor
5aacdb2206 update travis yml - fix parallel test command, add osx 2015-01-26 21:56:38 -05:00
Mark Pictor
6ec39b58aa rework version_string logic - only write the file if the git commit (not timestamp) changes 2015-01-26 21:24:14 -05:00
Mark Pictor
c975ab2380 remove simple, unused version of sc_stdbool.h
apparently I'd added it after the one in include. not sure why.
2015-01-26 19:31:17 -05:00
Anton Shabalin
1054952e1e Patch for MSVC2013 compilation 2015-01-26 19:04:28 -05:00
Mark Pictor
2216cf47d3 eliminate parser crash with PLIB Part 25 (#79)
This changes the lookup logic related to SELECTs to reject certain possibilities when there is clearly a better
alternative.

As a result, some "Possibly ambiguous implicit downcast" warnings will become "Implicit downcast" warnings.
2015-01-26 16:20:04 -05:00
Mark Pictor
365b787fff simplify plib prob schema 2015-01-19 21:32:06 -05:00
Mark Pictor
4b4a4029ed add rough schema exhibiting same problem as plib part 25 2015-01-18 16:08:25 -05:00
Mark
c1892febc1 rename altered rendering of sample code block 2015-01-02 14:07:54 -05:00
Mark
f0b2d97d00 NEWS: forgot to include BRL-CAD changes 2014-12-26 16:55:44 -05:00
Mark
1fa4927035 rename so travis-ci image will work (?!) 2014-12-26 15:24:51 -05:00
Mark
953021ec9d Merge pull request #303 from stepcode/review/inverse-attributes
inverse attributes...finally!
2014-12-26 15:12:05 -05:00
Mark Pictor
c8f14a0821 bump version (0.8), update AUTHORS, NEWS for v0.8, add travis-ci build status to README 2014-12-26 15:10:00 -05:00
Mark
63049515d1 Merge pull request #300 from cshorler/python_properties_and_assert
Python properties and assert
2014-12-26 14:29:32 -05:00
Mark
ca7487fa95 Merge pull request #299 from cshorler/investigate_ply_usage
Investigate Ply usage
2014-12-26 14:28:49 -05:00
Mark Pictor
0f5179e74b oops, forgot an include 2014-12-26 13:51:09 -05:00
Mark Pictor
bfbd8df61e minor cleanup 2014-12-26 13:34:38 -05:00
Mark Pictor
dfe69a923d bug in superInvAttrIter allowed null pointer return for ia 2014-12-26 13:34:38 -05:00
Mark Pictor
50452e8282 fix inv attr code in SDAI_Application_instance 2014-12-26 13:34:38 -05:00
Mark Pictor
e74d4dc813 fix inverse attr initialization; attr was being found but it wasn't exiting the loop 2014-12-26 13:34:38 -05:00
Mark Pictor
653625f56a fix crash with lazy loading and unexpected newlines, found in cd209 files 2014-12-26 13:34:38 -05:00
Mark Pictor
5f702fb702 fix dumpComplexInst func, stupid mistake - was using wrong data member 2014-12-26 13:34:38 -05:00
Mark Pictor
8273ce1866 lazyRefs works now 2014-12-26 13:34:38 -05:00
Mark Pictor
efb82853b7 don't print code for inverse data members, they're in iAMap now 2014-12-26 13:34:37 -05:00
Mark Pictor
37901afbbb redo attribute numbering, print inverse attr access members separately 2014-12-26 13:34:37 -05:00
Mark Pictor
6bac26d3c7 add index to struct Variable_, fix some whitespace 2014-12-26 13:34:37 -05:00
Mark Pictor
ff3fd1f5e7 _complex is now bool, not int - update STEPcomplex ctors 2014-12-26 13:34:37 -05:00
Mark Pictor
9313b8e6ee move some attr-specific stuff from classes_entity to classes_attribute, also minor cleanup 2014-12-26 13:34:37 -05:00
Mark Pictor
921de860b0 closer... 2014-12-26 13:34:28 -05:00
Mark Pictor
5df2f69930 inching forward on inverse attrs 2014-12-26 13:32:24 -05:00
Mark Pictor
31bf315543 const correctness in superInvAttrIter 2014-12-26 13:32:24 -05:00
Mark Pictor
87c66bb4dc flesh out InitIAttrs() in eDesc, instance 2014-12-26 13:32:23 -05:00
Mark Pictor
c91109b7b4 add functions to access schema class members 2014-12-26 13:32:23 -05:00
Mark Pictor
febbb636fc allow const or non-const for ed iter 2014-12-26 13:32:23 -05:00
Mark Pictor
7976c8bee5 loop through ed's with inverse attrs, connecting them to what they point at 2014-12-26 13:32:23 -05:00
Mark Pictor
0b42b2fe89 oops, move eDesc initialization back into SdaiAll
otherwise, they may be initialized after being ref'd in attrDescs
2014-12-26 13:32:23 -05:00
Mark Pictor
d36d12c6d3 fix failing schema 2014-12-26 13:32:23 -05:00
Mark Pictor
86bbc327fa cleanup 2014-12-26 13:32:23 -05:00
Mark Pictor
c8cfac3acc some types still print in SdaiAll 2014-12-26 13:32:23 -05:00
Mark Pictor
9efd75ebc1 add some small schemas and a .p21; should be examined, maybe moved/simplified 2014-12-26 13:32:23 -05:00
Mark Pictor
98283dca34 more work on inverse attrs, code generation 2014-12-26 13:31:21 -05:00
Mark Pictor
65c703b811 work on inverse attrs 2014-12-26 13:29:08 -05:00
Mark Pictor
2374029ae8 cleanup 2014-12-26 13:29:08 -05:00
Mark Pictor
c6d841789e initialize entity iAttrs using eDesc 2014-12-26 13:29:08 -05:00
Mark Pictor
14689c6db6 split ENTITYprint_new() into two, print into different files
* split into ENTITYprint_descriptors(), ENTITYprint_classes()
  * the former is now called from ENTITYprint_cc()
* make some changes to the args (don't pass ComplexCollect, just a bool)
2014-12-26 13:29:08 -05:00
Mark Pictor
01db3788a2 silence a signed-unsigned warning by using size_t 2014-12-26 13:29:07 -05:00
Mark Pictor
712d9657e8 improve comments, whitespace 2014-12-26 13:29:07 -05:00
Mark Pictor
168e7a93ed split up a 32-line fprintf 2014-12-26 13:29:07 -05:00
Mark Pictor
7ae34348be indents in generated code 2014-12-26 13:29:07 -05:00
Mark Pictor
1e95f8f61e remove LIBcopy_constructor() - unused since 1992(!) 2014-12-26 13:29:07 -05:00
Mark Pictor
4df86e5fea schema name changed for some p21 tests - update it 2014-12-26 13:29:07 -05:00
Mark Pictor
78427423ab redo some comments 2014-12-26 13:29:07 -05:00
Mark Pictor
c2c0a6443b reformat some error message code, add one message for complex insts 2014-12-26 13:29:07 -05:00
Mark Pictor
674fa941f6 delete the array of names after creating a STEPcomplex 2014-12-26 13:29:07 -05:00
Mark Pictor
9db1170803 improve some comments in lazy loading code 2014-12-26 13:29:07 -05:00
Mark Pictor
7089bdbf5c when loading instance dependencies, seek to original position afterwards
otherwise, SDAI_Application_instance::STEPRead() will crash and burn when the file position changes on it
2014-12-26 13:29:07 -05:00
Mark Pictor
409315841b fix test dependency so 'make test ARGS=-jN' works 2014-12-26 13:29:07 -05:00
Mark Pictor
4bde538c65 add comment with express that fails 2014-12-26 13:28:54 -05:00
Mark Pictor
6955a03fca check for both aggr and non-aggr inverse attributes 2014-12-26 13:28:54 -05:00
Mark Pictor
b31ffa3968 more changes to attrIsObj() 2014-12-26 13:28:22 -05:00
Mark Pictor
06bfc7d4d1 handle both aggr and non-aggr inverses 2014-12-26 13:28:21 -05:00
Mark Pictor
73b3c1b901 fix assertion - can either be aggregate or instance 2014-12-26 13:28:21 -05:00
Mark Pictor
66deaafb30 change behavior of attrIsObj() fn in classes_attribute 2014-12-26 13:27:02 -05:00
Mark Pictor
9e1d078b46 add 2 protos to classes_attribute header 2014-12-26 13:27:02 -05:00
Mark Pictor
31331651df modify const-ness in AGGRprint_access_methods 2014-12-26 13:27:02 -05:00
Mark Pictor
6117e532f8 move much of ATTRprint_access_methods into a series of smaller funcs 2014-12-26 13:27:02 -05:00
Mark Pictor
b9db4568fe CONST -> const in a few more places 2014-12-26 13:27:02 -05:00
Mark Pictor
ea24200c67 make STEPinvAttrList work with the new setter/getter variants 2014-12-26 13:27:02 -05:00
Mark Pictor
acdc338c9d static setter/getter won't always have the same signature
detect whether to use sdaiApplicationInstance or EntityAggregate
2014-12-26 13:27:02 -05:00
Mark Pictor
9cf54cf374 add attrIsObj(), which returns true if const and non-const methods are sensible for a given var 2014-12-26 13:27:02 -05:00
Mark Pictor
ea339e2ffa exp2cxx: move select getters into own function, print const and non-const 2014-12-26 13:27:01 -05:00
Mark Pictor
14d7b32320 remove duplicate function prototypes that masked a signature change 2014-12-26 13:27:01 -05:00
Mark Pictor
62ef3c6edd add const getter for string/bin attr's 2014-12-26 13:27:01 -05:00
Mark Pictor
521a999af9 change const getter for entity attr's 2014-12-26 13:27:01 -05:00
Mark Pictor
47d42ad558 invert sense of test in logging code - wouldn't print unless null 2014-12-26 13:27:01 -05:00
Mark Pictor
f63835532b move string/binary access methods into 2 small funcs 2014-12-26 13:27:01 -05:00
Mark Pictor
cd08570a3f print const and non-const getters for select attrs 2014-12-26 13:27:01 -05:00
Mark Pictor
4a01038cd0 fix a couple comments 2014-12-26 13:27:01 -05:00
Mark Pictor
3132089419 note that unity headers are probably useless since the main schema header includes all of the headers 2014-12-26 13:27:01 -05:00
Mark Pictor
5c0bea384c add braces and indenting to two LISTdo..LISTod's 2014-12-26 13:27:01 -05:00
Mark Pictor
d64bbc3611 move count var so that derived attrs are counted
otherwise, the attr numbers in the ctor will be off by the number of preceding derived attrs
2014-12-26 13:27:01 -05:00
Mark Pictor
236778a5fc generated code: also print a const getter in class header when attr is a pointer type 2014-12-26 13:27:01 -05:00
Mark Pictor
d6bb20d81b use instMgrBase in SDAI_Select operator test 2014-12-26 13:27:00 -05:00
Mark Pictor
6cb750a3eb don't print const for getter 2014-12-26 13:27:00 -05:00
Mark Pictor
118d8b295b merge with instMgrBase commit 2014-12-26 13:27:00 -05:00
Mark Pictor
64dd1d2a9a two libstructor_print calls missing neededAttr param 2014-12-26 13:27:00 -05:00
Mark Pictor
2ae605d5ae rename var - 'class' may not be a C keyword, but it's confusing 2014-12-26 13:27:00 -05:00
Mark Pictor
23a5a62397 formatting 2014-12-26 13:27:00 -05:00
Mark Pictor
aaa1ca04a6 fix a few comments 2014-12-26 13:27:00 -05:00
Mark Pictor
d4f13e0179 replace entity access member code with call to new func 2014-12-26 13:27:00 -05:00
Mark Pictor
800453e68a split entity methods out of ATTRprint_access_methods into 2 new funcs
second new func prints log stuff, called by other func 3x
2014-12-26 13:27:00 -05:00
Mark Pictor
a74dc1d32c forgot to add 'const' keyword in several places after changing the ..._get_head() fn 2014-12-26 13:27:00 -05:00
Mark Pictor
d9c89b9e94 when printing initializers, skip derived attrs 2014-12-26 13:27:00 -05:00
Mark Pictor
fdcdd5a966 forgot to replace InstMgr with InstMgrBase in selects.c 2014-12-26 13:26:59 -05:00
Mark Pictor
7222c91c01 update inverse attr test 3 2014-12-26 13:26:59 -05:00
Mark Pictor
51acb993da whoops, don't pretend an instance can't be found if it is already loaded 2014-12-26 13:26:59 -05:00
Mark Pictor
ebb7a920f2 use InstMgrBase instead of InstMgr in most stepcore classes
this is so that lazyInstMgr functions will be called when necessary
2014-12-26 13:26:59 -05:00
Mark Pictor
f6078d8b5b eliminate unused buffer 2014-12-26 13:26:59 -05:00
Mark Pictor
4b3e433667 in generated c++: create data members for null pointers 2014-12-26 13:26:59 -05:00
Mark Pictor
1fddd17a64 in generated c++: ensure pointer is non-null before calling shallowCopy 2014-12-26 13:26:59 -05:00
Mark Pictor
647ecbcf99 in generated c++: ensure that pointers are zeroed (DataMemberInitializers()) 2014-12-26 13:26:59 -05:00
Mark Pictor
ef2c01d76c in generated c++: in constructors, populate iAttrs
is populated with inverse attrs, setters, getters
2014-12-26 13:26:59 -05:00
Mark Pictor
e17938afe8 generated c++: static setter/getter for inverse attrs 2014-12-26 13:26:59 -05:00
Mark Pictor
d5f693a862 use STEPinvAttrList in sdaiApplication_Instance 2014-12-26 13:26:59 -05:00
Mark Pictor
bd402b2567 add STEPinvAttrList for inv attr descs and setter/getter pointers
this will allow access to inverse attr values even with late binding, and is necessary to
set these attr values when the instances are being loaded
2014-12-26 13:26:59 -05:00
Mark Pictor
ca560239ce use lazyRefs in lazyInstMgr 2014-12-26 13:26:55 -05:00
Mark Pictor
b3b464632b trivial changes 2014-12-26 13:24:59 -05:00
Mark Pictor
0188910a3a add lazyRefs.h 2014-12-26 13:24:59 -05:00
Mark Pictor
35ead380af include subsuperiterators header 2014-12-26 13:24:59 -05:00
Mark Pictor
b1387b731e improve comments, a few other small changes that don't affect behavior 2014-12-26 13:24:56 -05:00
Mark Pictor
d1062cddfa use lazyInstMgr for inverse_attr3.cc 2014-12-26 13:21:52 -05:00
Mark Pictor
6e636d1c20 add variable names to some prototypes in ErrorDescriptor header 2014-12-26 13:21:52 -05:00
Mark Pictor
f3cd328b24 add a FIXME 2014-12-26 13:21:52 -05:00
Mark Pictor
7867505fdc macro CONST -> const 2014-12-26 13:21:52 -05:00
Mark Pictor
57d3d2fe07 improve some comments for doxygen 2014-12-26 13:21:52 -05:00
Mark Pictor
259750e31e split a big fprintf up for readability 2014-12-26 13:21:52 -05:00
Mark Pictor
9144443d69 doxify comments in classes_misc.c 2014-12-26 13:21:52 -05:00
Mark Pictor
6004ba458b remove outdated comment from inverse_attr2.cc 2014-12-26 13:21:52 -05:00
Mark Pictor
2d060e7cc3 minor changes to judyLArray.h, judy.c 2014-12-26 13:21:52 -05:00
Mark Pictor
6419146cf1 functions to look up instance type in file 2014-12-26 13:21:47 -05:00
Mark Pictor
ffd0da9ceb default to case insensitive when searching by instance type 2014-12-26 13:08:08 -05:00
Mark Pictor
bf39d90382 _mainRegistry wasn't initialized 2014-12-26 13:08:07 -05:00
Mark Pictor
5b14529f63 warning about comparison that was always true 2014-12-26 13:08:07 -05:00
Mark Pictor
60141ce6f7 abstract class with non-virtual destructor 2014-12-26 13:08:07 -05:00
Cliff Yapp
f72e01e610 Apply BRL-CAD change r61607 - Harden verify_generated.cmake.in to odd pathnames 2014-08-17 23:25:03 -04:00
Cliff Yapp
7531579d39 Update generated expscan.c file 2014-08-17 23:23:02 -04:00
Cliff Yapp
2ff6f4b434 Apply BRL-CAD change r61104 from brlcad - remove the misspelled readme markdown file that only contains the word 'Howto' 2014-08-17 23:12:37 -04:00
Cliff Yapp
f357ef4c83 Apply BRL-CAD change r61065 - The insertion mechanism for the sortedMaster array performed very badly in the case where a large file has a batch of low-id-number entities towards the end of the file. Tossing in std::map in place of that array avoids the bad corner case, but we may pay a performance penalty in other situations - depending on what the bottle necks are, this may be work revisiting. For now, this seems to work well enough. 2014-08-17 23:09:50 -04:00
Cliff Yapp
752f976475 Suppress CMake warning 26 - need to figure out the 'right' approach eventually, but for now this is needed with CMake 3.0 2014-08-17 23:04:24 -04:00
Cliff Yapp
03dbb8ee9f Apply BRL-CAD change r58740 from tbrowder2 - fix typo 2014-08-17 22:57:17 -04:00
Cliff Yapp
3e51af51b4 Apply BRL-CAD change r58523 from n_reed - include ios header for std::ios namespace; fixes 'symbol not found' in exp2cxx on os x 2014-08-17 22:55:44 -04:00
Cliff Yapp
87e1f9948c Apply BRL-CAD change r58222 from tbrowder2 - added FIXME to warn of error with tightned standards 2014-08-17 22:54:01 -04:00
Cliff Yapp
b905bec990 Apply BRL-CAD change r58172 from tbrowder2 - correct grammar 2014-08-17 22:52:56 -04:00
Cliff Yapp
63298df542 Until we reach a final decision on what to do about the schema_scanner, handle the .exe case 2014-08-01 21:04:23 -04:00
Cliff Yapp
319a8ab59d Only set a property on lazy_test-static if it is present as a target. 2014-08-01 21:01:37 -04:00
Cliff Yapp
607f732671 Need the NO_REGISTRY flag for the static version of this target as well. 2014-08-01 07:24:27 -04:00
Cliff Yapp
e649757417 Install schema headers in locations that match the build tree hierarchy, so include directives will work both with in-build-tree and installed stepcode layouts. 2014-07-31 21:26:57 -04:00
Christopher Horler
4515ffca43 improvements to error handling
* Lexer now has a compatibility mode for entity names not all in uppercase
* Lexer now takes an extra argument header_limit, input is searched for
  valid start point, extra text up to header_limit is ignored.
2014-06-22 20:38:52 +01:00
Christopher Horler
4e90ff65e8 add logging to module, and mapping of lexer attributes lineno and lexpos to improve error messages 2014-06-22 12:11:56 +01:00
Christopher Horler
e18b6d5c2a check for duplicate entity definitions in input 2014-06-20 22:34:38 +01:00
Christopher Horler
ecaa9ba13f Update Python syntax and class definitions / style
- properties now use the @property decorator
- the assert statement is used in some places to enable disabling checks
2014-06-18 00:35:47 +01:00
Christopher Horler
53fac955ba add debug option to parse, add support to lexer for entity keywords 2014-06-17 22:17:37 +01:00
Christopher Horler
aee532dd14 Use Ply for parser implementation 2014-06-17 20:07:06 +01:00
Christopher Horler
5840883239 add 'build' subdir ignores for CMake and Python 2014-06-17 19:59:01 +01:00
Mark
df100f5764 Merge pull request #298 from cshorler/ap203e2_fixes
Ap203e2 fixes
2014-06-15 14:06:45 -04:00
Christopher Horler
b65af6f982 first fix for Python MRO issue 2014-06-08 20:47:00 +01:00
Christopher Horler
65d3937e72 add simple sort to Linked_List implementation 2014-06-08 20:44:50 +01:00
Christopher Horler
d635ee5ca8 fix some NameErrors due to ordering of the output classes / types 2014-06-08 20:43:30 +01:00
Christopher Horler
bd80de24bc add simple support for logical XOR output, assumes parameters are already boolean types 2014-06-07 21:16:53 +01:00
Christopher Horler
44a6abb36e update REPEAT / looping statement outputs 2014-06-07 21:13:35 +01:00
Christopher Horler
cabf5df7ac map special characters \x9 \xA \xD in EXPRESS literals to Python \t \n \r 2014-06-07 21:11:17 +01:00
Christopher Horler
5fc6630b3f Python keywords are replaced by keyword_ (underscore), this fixes a few associated outputs to avoid invalid Python code 2014-06-07 21:01:16 +01:00
Mark
b7df5a0e6f Merge pull request #296 from jasondegraw/master
Add CMAKE_GENERATOR to schema scanner build
2014-04-23 20:36:11 -04:00
Jason W. DeGraw
9aa3b4201f Add CMAKE_GENERATOR to schema scanner build
Command line configuration with MinGW on Windows was failing
in schemaScanner.cmake because the generator wasn't getting
passed through to the build of the scanner. This commit adds
the generator to the scanner build command and fixes #295.
2014-04-19 14:38:12 -04:00
Cliff Yapp
6d57acff5b Apparently get_filename_component needs some help when it comes to windows drive names. 2014-04-08 21:22:55 -04:00
Mark
c3094242c8 Merge pull request #294 from hoiji09/master
Added a function to lazyInstMgr for recursively getting Instance Dependencies.
2014-03-30 12:37:59 -04:00
hoiji09
1c048abd2e Removing self dependency of an instance
lazyInstMgr::instanceDependencies will now not add the instance being queried for in the generated dependency list.
2014-03-30 09:35:06 +05:30
hoiji09
3e4af5a77e Changes in printDeps test module
Changed the function return type from int to void, replaced '\n' by std::endl. Minor modifications to other print statements
2014-03-30 09:22:19 +05:30
hoiji09
a285652f01 Removed extra whitespace
The whitespace accidently got added in the last commit
2014-03-30 08:49:52 +05:30
Cliff Yapp
5abaebb04b Try to make the RELATIVE_PATH_TO_TOPLEVEL macro robust for out-of-src-dir situations. 2014-03-29 12:24:44 -04:00
hoiji09
35b76941bd Added instanceDependencies function in lazyInstMgr
This function lists all instances that one instance recursively depends upon
2014-03-27 21:11:25 +05:30
Mark
7301b34c27 Merge pull request #293 from hoiji09/master
Buffering a read to speedup lazy loading
2014-03-17 17:14:22 -04:00
hoiji09
e4426e3a64 Resolved bad error messages 2014-03-14 11:35:53 +05:30
hoiji09
39d37e9b09 Missing newline added 2014-03-14 07:51:47 +05:30
hoiji09
a7fc5d1e76 Added a comment on double checking.
The double checking is done while parsing a instance id from the file to a variable of type InstanceID
2014-03-14 00:24:00 +05:30
hoiji09
f6fde2f1e1 strtoull macro support for MSVC. 2014-03-14 00:14:18 +05:30
hoiji09
d43b52d61e Splitting warning and error detection 2014-03-10 09:07:32 +05:30
hoiji09
9cded87862 Safer String to Integer conversion.
Accurate inference of number of characters in the string representation of the instance number. On finding a very large instance number, lazyloading will skip that section.
2014-03-10 07:34:02 +05:30
hoiji09
8de8875cd8 Corrected a Malformed comment 2014-03-09 18:50:50 +05:30
hoiji09
7ff99c9564 Added std::endl to the warning message 2014-03-09 18:42:44 +05:30
hoiji09
3f0115631b Updated error message
The error message on finding a very large instance ID is saner
2014-03-09 12:24:27 +05:30
hoiji09
bcd9a58abc Buffered a read to increase speed in Lazy Loading
Added a buffer in SectionReader::readInstanceNumber(). This leads to 1.5x speedup of lazy loading on a 32-bit System. Also Adhered to comments pointed out in the previous commit.
2014-03-06 10:57:40 +05:30
Mark
4a0a27cc30 Merge pull request #289 from stepcode/mp/config-parse-rebase
Split generated code
2014-03-05 22:52:31 -05:00
hoiji09
5c24152afe Introduced a buffer in SectionReader::readInstanceNumber() to fasten lazy loading 2014-03-05 09:51:47 +05:30
Mark Pictor
87fbca7359 C string safety in TYPEget_ctype / TYPE_get_ctype
Check string lengths, only copy if necessary

found due to an OSX segfault - the static char[] retval was getting copied into itself due to recursion

    frame #4: 0x00007fff92da1860 libsystem_c.dylib`__chk_fail + 48
    frame #5: 0x00007fff92da1870 libsystem_c.dylib`__chk_fail_overlap + 16
    frame #6: 0x00007fff92da18a1 libsystem_c.dylib`__chk_overlap + 49
    frame #7: 0x00007fff92da1a6c libsystem_c.dylib`__strcpy_chk + 64
    frame #8: 0x0000000100013a98 exp2cxx`TYPEget_ctype(t=0x0000000101a580e0) + 280 at class_strings.c:56
2014-03-04 20:10:04 -05:00
Mark
2338dd11e1 increase schema scanner config/build timeouts
config is slow on windows and the 10s limit caused intermittent failures
2014-03-02 15:44:33 -05:00
Mark Pictor
f1ee9585d1 add dependencies for tests, so tests won't fail if 'make' wasn't run before 'make test' 2014-03-01 13:49:30 -05:00
Mark Pictor
5d78a327db update AP203Minimum - generated code is in different dir now 2014-03-01 13:47:42 -05:00
Mark Pictor
832a6e75b6 print ReferentType calls, etc, to files->init for TYPEs that are typedef'd 2014-03-01 11:53:31 -05:00
Mark Pictor
252f19754f remove empty loop 2014-03-01 11:53:31 -05:00
Mark Pictor
1598dee630 remove useless switch statement, replace with if 2014-03-01 11:53:31 -05:00
Mark Pictor
15993bdd96 improve 2 error messages 2014-03-01 11:53:31 -05:00
Mark Pictor
a8ffbc17d3 missing colon in error messages 2014-03-01 11:53:31 -05:00
Mark Pictor
7f0a0f852f fix tests that were broken by file name changes 2014-03-01 11:53:31 -05:00
Mark Pictor
cd0d8b496b cannot treat the schema scanner source as a config file, so add /*WARNING*/ 2014-03-01 11:53:31 -05:00
Mark Pictor
4d945de475 perplex/lemon/re2c not found messages can confuse users
make find_package quiet for all 3, then if all were found, print a message
to that effect.
2014-03-01 11:53:30 -05:00
Mark Pictor
bbe607be60 fix copy/paste error in cmake message 2014-03-01 11:53:30 -05:00
Mark Pictor
38467bdca3 add build logic for unity builds (mostly in generated CMLists) 2014-03-01 11:53:30 -05:00
Mark Pictor
78d99f2f4e change generated CMLists ws to better match starseeker's ws 2014-03-01 11:53:30 -05:00
Mark Pictor
5c021b2b7f tests were broken because macro name changed
make two variables CACHE INTERNAL so that their values are available in other scopes (i.e. in test dirs)
2014-03-01 11:53:30 -05:00
Cliff Yapp
10fb7419b5 More whitespace and case tweaks 2014-03-01 11:53:30 -05:00
Cliff Yapp
f4ac673b71 whitespace and case changes on .cmake files 2014-03-01 11:53:30 -05:00
Cliff Yapp
1696fea0c7 Case and whitespace on toplevel CMake files 2014-03-01 11:53:30 -05:00
Cliff Yapp
44e02c957a whitespace changes 2014-03-01 11:53:30 -05:00
Cliff Yapp
c0e74a9eef Add CMake footer comment to CMake files 2014-02-28 22:06:09 -05:00
Mark Pictor
a7579f0bc9 remove helper function header - code moved to headers for individual types/entities 2014-02-28 22:02:07 -05:00
Mark Pictor
317b40bff0 minor formatting changes 2014-02-28 22:02:07 -05:00
Mark Pictor
d4d42b7d1c print helper functions in header 2014-02-28 22:02:07 -05:00
davyw
492f455598 allow schema scanner to build on windows 2014-02-28 22:02:07 -05:00
Mark Pictor
2ccc5ce360 add underscore to schema shortname for readability - Sdai -> Sdai_ 2014-02-28 22:02:07 -05:00
Mark Pictor
05a74dedd8 change code generation message a bit 2014-02-28 22:02:07 -05:00
Mark Pictor
5043c035a3 renamed enums, selects don't get their own files 2014-02-28 22:02:07 -05:00
Mark Pictor
426e2b4ab3 add two cmake messages 2014-02-28 22:02:07 -05:00
Mark Pictor
2d651bfad4 unnecessary variable in a macro 2014-02-28 22:02:07 -05:00
starseeker
c6f0c44a02 print file count, not list of all files, when generating. 2014-02-28 22:02:07 -05:00
starseeker
6533032fd9 workaround makefile corruption by changing how file lists are handled 2014-02-28 22:02:07 -05:00
Mark Pictor
26822ef959 exp2cxx wasn't running because script args were handled incorrectly 2014-02-28 22:02:07 -05:00
Mark Pictor
86f884b399 TODO 2014-02-28 22:02:06 -05:00
Mark Pictor
4fd5dd9f74 improve cmake comments, user messages 2014-02-28 22:02:06 -05:00
Mark Pictor
8e08f71fe8 don't build schema scanner unless schemas are to be built 2014-02-28 22:02:06 -05:00
Mark Pictor
b320bfe3f7 generate a short schema name in the schema scanner
this name is one of:
* the schema file name without extension,
* the schema dir name if in sc/data/ and 3+ chars
* or the official schema name on the SCHEMA line.
2014-02-28 22:02:06 -05:00
Mark Pictor
34d917fb19 update scanner to match renamed schema macros file 2014-02-28 22:02:06 -05:00
Mark Pictor
86bae779b0 inching forward on schema scanner 2014-02-28 22:02:06 -05:00
Mark Pictor
b15ba38edf try again to make msvc use same dir as other compilers 2014-02-28 22:02:06 -05:00
Mark Pictor
96bd4520b5 move more schema logic into new file, rename file 2014-02-28 22:02:06 -05:00
Mark Pictor
5dd996d38d add mkDirIfNone(), like mkdir but no error if path is already a dir 2014-02-28 22:02:06 -05:00
Mark Pictor
5384fe0dbb fix locate_schema macro 2014-02-28 22:02:06 -05:00
Mark Pictor
2d4346dd5a better way of printing user messages after everything else 2014-02-28 22:02:06 -05:00
Mark Pictor
ce6a37e49a move output dirs logic into separate file so schema_scanner can use it as well 2014-02-28 22:02:06 -05:00
Mark Pictor
0b2f9ee3fc move packaging and uninstall into SC_Build_opts.cmake 2014-02-28 22:02:06 -05:00
Mark Pictor
a9120d79f7 move logic related to creating sc_cf.h, sc_version_string.h to own file 2014-02-28 22:02:06 -05:00
Mark Pictor
e1fe3e0b9f move lexer/parser generation logic into own file 2014-02-28 22:02:05 -05:00
Mark Pictor
d14e7670c2 put cmake locale stuff in its own file 2014-02-28 22:02:05 -05:00
Mark Pictor
37a95f5e63 move build optons, build/install dirs, etc to SC_Build_opts.cmake 2014-02-28 22:02:05 -05:00
Mark Pictor
207d6c26c2 remove old message 2014-02-28 22:02:05 -05:00
Mark Pictor
7de64b6bc4 rename SC_Utils.cmake to SC_Targets.cmake 2014-02-28 22:02:05 -05:00
Mark Pictor
a4e96f62ff put path macros in a separate file, and include it 2014-02-28 22:02:05 -05:00
Mark Pictor
993c40f6ad MSVC insists on putting schema_scanner.exe in a different dir 2014-02-28 22:02:05 -05:00
Mark Pictor
a035292cf0 another TODO 2014-02-28 22:02:05 -05:00
Mark Pictor
6ca7b04dfd cxxSchemaMacros.cmake - will contain macros used in the generated CMakeLists files 2014-02-28 22:02:05 -05:00
Mark Pictor
427ecaf09f add schema scanner README 2014-02-28 22:02:05 -05:00
Mark Pictor
b7a8ac4cbb make build/schema dir 2014-02-28 22:02:05 -05:00
Mark Pictor
2e6ee6695a cmake changes to match new behavior of scanner 2014-02-28 22:02:05 -05:00
Mark Pictor
86bf2dff99 maybe this will force MSVC to behave?
http://stackoverflow.com/questions/7229571/cmake-visual-studio-debug-folder
http://www.cmake.org/cmake/help/v2.8.8/cmake.html#prop_tgt:RUNTIME_OUTPUT_DIRECTORY_CONFIG
2014-02-28 22:02:05 -05:00
Mark Pictor
c4fde8c96f comment, formatting 2014-02-28 22:02:04 -05:00
Mark Pictor
3088d3d63f check for errors in 2 places 2014-02-28 22:02:04 -05:00
Mark Pictor
99fbadcdfd print path to the dir containing the generated CMakeLists for CMake 2014-02-28 22:02:04 -05:00
Mark Pictor
685e95f618 windows needs _snprintf 2014-02-28 22:02:04 -05:00
Mark Pictor
b8d35ce517 improve formatting of generated CMakeLists 2014-02-28 22:02:04 -05:00
Mark Pictor
d1f57453dd print ss contents not address 2014-02-28 22:02:04 -05:00
Mark Pictor
86302fb0f3 take a stab at writing a CMakeLists.txt for the schema 2014-02-28 22:02:04 -05:00
Mark Pictor
4efb670ddf used wrong variable to set output dir 2014-02-28 22:02:04 -05:00
Mark Pictor
5bdac5427b use schemas subdir for output? 2014-02-28 22:02:04 -05:00
Mark Pictor
a01fa5708a start on creating cmakelists within the schema scanner 2014-02-28 22:02:04 -05:00
Mark Pictor
ec4eed7367 rename schemaScanner to .cpp 2014-02-28 22:02:04 -05:00
Mark Pictor
c080fbc8dc aggregates are always builtin 2014-02-28 22:02:04 -05:00
Mark Pictor
599f51891d always clean and rebuild the schema scanner when cmake executes 2014-02-28 22:02:04 -05:00
Mark Pictor
ce4227c6b5 don't print file names for built in types 2014-02-28 22:02:04 -05:00
Mark Pictor
0dd18d246a improve some comments 2014-02-28 22:02:03 -05:00
Mark Pictor
1cc0beec4b eliminate gcc warnings 2014-02-28 22:02:03 -05:00
Mark Pictor
aa8842ea56 allow schema scanner to be built when sc_version_string.h doesn't exist 2014-02-28 22:02:03 -05:00
Mark Pictor
2cd5d494f9 move keywords from express.[ch] to exp_kw.[ch] 2014-02-28 22:02:03 -05:00
Mark Pictor
6092c9b29f move some functions from express.[ch] to info.[ch] 2014-02-28 22:02:03 -05:00
Mark Pictor
8f57958813 print better messages in schemaScanner.cmake 2014-02-28 22:02:03 -05:00
Mark Pictor
10ef152fc6 assertion - is a type really a type? 2014-02-28 22:02:03 -05:00
Mark Pictor
95d339e2c7 use schema scanner in data/CMakeLists.txt 2014-02-28 22:02:03 -05:00
Mark Pictor
25521ee3af make the schema scanner macro do more work; getting close now 2014-02-28 22:02:03 -05:00
Mark Pictor
f7c56d3e5a move fns 2014-02-28 22:02:03 -05:00
Mark Pictor
b2b0039d2f update exp2cxx to use new code 2014-02-28 22:02:03 -05:00
Mark Pictor
91e9528afe perhaps I shouldn't print a type name for entities and vice versa 2014-02-28 22:02:03 -05:00
Mark Pictor
52acad573b move some functions related to class/file names into class_strings.c/h
this is to reduce the number of source files necessary for the schema scanner
2014-02-28 22:02:02 -05:00
Mark Pictor
44ab3e3352 run the schema scanner from data/CMakeLists.txt 2014-02-28 22:02:02 -05:00
Mark Pictor
30b04d741f update schema scanner 2014-02-28 22:02:02 -05:00
Mark Pictor
abf0541ae9 remove TODO file - both items in it were fixed long ago 2014-02-28 22:02:02 -05:00
Mark Pictor
bb41fd4863 initial revision of schema scanner 2014-02-28 22:02:02 -05:00
Mark Pictor
9c5e27590d expparse.y revision log dates to the 90's - remove most of it 2014-02-28 22:02:02 -05:00
Mark Pictor
0b16a413f7 use 'const char *' for filename 2014-02-28 21:55:43 -05:00
davyw
0d533f55df Split classes files into classes_attribute, classes_entity and classes_type. 2014-02-28 21:55:43 -05:00
davyw
c6cfc06f4f Added import/export macro for sc_mkdir. 2014-02-28 21:55:43 -05:00
Mark Pictor
d4a21dd654 const warning 2014-02-28 21:55:43 -05:00
Mark Pictor
166db7d178 use sc_mkdir 2014-02-28 21:55:43 -05:00
Mark Pictor
0bf73eece7 cross-platform mkdir 2014-02-28 21:55:43 -05:00
davyw
5a6b972e47 Moved type init code to type specific files. 2014-02-28 21:55:43 -05:00
davyw
9e6b419a53 Write enumeration and select types to their own files. 2014-02-28 21:55:43 -05:00
davyw
33b0629e1e Fixes to get generated files to build. 2014-02-28 21:55:43 -05:00
davyw
05ade5ca60 Split generated c++ code in a separate file for each entity. 2014-02-28 21:55:43 -05:00
Mark
0a46b861a5 Merge pull request #288 from stepcode/review/prettyprint_DIV
pretty print: integer and real division have different operators
2014-02-26 21:00:13 -05:00
Mark Pictor
2c8a05fa0a add exppp div/slash test to ensure this stays fixed 2014-02-25 18:48:13 -05:00
Mark Pictor
eb9193038c commit 01f6e26 fixed integer division (DIV) but broke real division (/) 2014-02-25 17:36:00 -05:00
Mark Pictor
d691bdf4d2 message for syntax error didn't actually say syntax error 2014-02-25 17:23:21 -05:00
Mark
c686fc163b Merge pull request #287 from stepcode/review/prettyprint_VAR
don't omit 'VAR' keyword when prettyprinting
2014-02-24 21:02:04 -05:00
Mark Pictor
587ce0f16b use flags.var in exppp 2014-02-24 20:39:20 -05:00
Mark Pictor
7ccf768adf neaten up header 2014-02-24 20:37:55 -05:00
Mark Pictor
14c854e0df add flags.var to parser for procedure params marked VAR 2014-02-24 20:37:32 -05:00
Mark
9899ad937b Merge pull request #286 from stepcode/review/exppp_var_order
preserve EXPPP variable order
2014-02-23 14:58:34 -05:00
Mark
171671db1f Don't aggressively wrap SUBTYPEs - leave as before 2014-02-23 14:58:10 -05:00
Mark Pictor
d4c7d1bf6f put each SUBTYPE/SUPERTYPE on its own line, indent ONEOF 2014-02-20 20:13:36 -05:00
Mark Pictor
d10d955f74 when pretty-printing, order LOCAL vars the same way as in source file 2014-02-20 19:18:50 -05:00
Mark Pictor
626635b644 use Variable.offset to order LOCAL variables
previously, this was only used for attr order in Entity's

these two uses should not conflict
2014-02-20 19:16:03 -05:00
Mark
f64d8f75ca Merge pull request #285 from stepcode/review/ap203min_regression
ap203min regression
2014-02-17 20:46:33 -05:00
Mark Pictor
4c13ff422f cleanup in selects.c 2014-02-17 19:52:46 -05:00
Mark Pictor
caf887ed03 improve formatting of generated select class code 2014-02-17 19:32:41 -05:00
Mark Pictor
860d612086 test SDAI_Select assignment operator 2014-02-17 19:29:18 -05:00
Mark Pictor
2685dbcf31 generated code: in select assignment operator, call base class assignment operator 2014-02-17 19:27:53 -05:00
Mark Pictor
1ec21780c6 Add virtual assignment operator and copy constructor to SDAI_Select
Related to commit f43a106ac3 (removal of pure virtual assignment operator) -
that commit eliminated an MSVC linker error, but caused a regression on linux
2014-02-17 18:37:54 -05:00
Mark
58dd89044c Merge pull request #283 from stepcode/dw/msvc_linker_fixes
Msvc linker fixes + static libs
2014-02-09 19:50:41 -05:00
davyw
995a8a7fe9 Added libraries to SC_ADDEXEC libslist parameter.
When building static libs, all dependent libraries need to be provided to liblist.
When building shared libs, this is not needed, but does not break the build.
2014-02-09 22:56:07 +01:00
davyw
e7bbcc0909 Split SC_ADDEXEC macro to handle static and shared libs build. 2014-02-05 22:30:55 +01:00
davyw
bc298808dd Removed MSVC exclusion for SC_BUILD_STATIC_LIBS. 2014-02-05 22:29:55 +01:00
davyw
0c0ff74429 Removed duplicate definition of SchemaInit function.
SchemaInit is already declared in 'schema.h'.
2014-02-04 21:22:17 +01:00
davyw
f3c56ceafc Added SC_SCHEMA_EXPORT macro's for generated types.
Fixes MSVC linker errors in user code.
2014-02-03 22:03:58 +01:00
Mark
ca1a34a698 Merge pull request #281 from stepcode/review/ur-redecl
Redeclared attrs, qualifiers, and uniqueness rules
2014-01-19 09:31:58 -08:00
Mark Pictor
ee86226f5e print warning rather than removing the qualifiers from redeclared attrs in URs 2014-01-08 20:00:53 -05:00
Mark Pictor
2fd8d1a0be don't print misleading redeclaration warning 2014-01-07 20:07:23 -05:00
Mark Pictor
98bc5049f7 exppp: redeclared attrs in URs shouldn't have qualifiers 2014-01-07 20:03:51 -05:00
Mark Pictor
5fa2ebb677 schema for redeclaration and UR 2014-01-07 20:02:50 -05:00
Mark
f4369ba902 Merge pull request #280 from stepcode/review/msvc_linker_fixes
Review/msvc linker fixes
2013-12-30 08:18:28 -08:00
Mark
e343668210 Merge pull request #279 from stepcode/review/lost-qualifiers
Lost qualifiers on inverse attributes and uniqueness rules
2013-12-30 08:18:14 -08:00
davyw
02ef60aee2 Added DEFINE_DLL_IMPORTS to add_schema_dependent_test macro.
Added stepcore to libraries of aggregate_bound_runtime test to fix linker error.
2013-12-29 18:23:55 +01:00
davyw
530c796284 Added SC_SCHEMA_EXPORT macro for each generated entity class. 2013-12-29 18:19:10 +01:00
davyw
f43a106ac3 Removed pure virtual operator= reference from SDAI_Select class.
(Results in linking errors on windows otherwise)
2013-12-29 18:18:20 +01:00
davyw
46951e3b32 Added import/export macro's for STEPattribute operator==, operator!= and sameADesc(). 2013-12-28 08:26:00 +01:00
Mark Pictor
8f72192262 add inverse and unique qualifiers tests for exp2cxx 2013-12-27 14:12:09 -05:00
Mark Pictor
3ee5fc0ca8 clean up a bit 2013-12-27 14:12:09 -05:00
Mark Pictor
d061b146d5 makes more sense to have these schemas under test/unitary_schemas 2013-12-27 14:12:09 -05:00
Mark Pictor
b3a284a59a add exppp test for inverse qualifiers 2013-12-27 14:12:09 -05:00
Mark Pictor
4a4c39fae9 rename lost_qualifiers.*, modify files accordingly 2013-12-27 14:12:09 -05:00
Mark Pictor
29a15c5db9 in exppp, print inverse attrs as expressions 2013-12-27 14:12:09 -05:00
Mark Pictor
17c518cd12 use Expression for Unique rules in exp2cxx 2013-12-27 14:12:09 -05:00
Mark Pictor
49a6227103 add test for lost qualifiers on unique rules 2013-12-27 14:12:08 -05:00
Mark Pictor
a8a7a723c8 actually build and test long string test 2013-12-27 14:12:08 -05:00
Mark Pictor
21e029c362 wrong variable name for testing 2013-12-27 14:12:08 -05:00
Mark Pictor
c0e6d32290 fix compile error with exppp test for long strings 2013-12-27 14:12:08 -05:00
Mark Pictor
d68b60fb39 change lost qualifiers test schema to match exppp output formatting exactly 2013-12-27 14:12:08 -05:00
Mark Pictor
a379152c80 reformat a comment 2013-12-27 14:12:08 -05:00
Mark Pictor
c56ee55128 update exppp to use Expression for Unique rules 2013-12-27 14:12:08 -05:00
Mark Pictor
9eba5b18dd sync generated files 2013-12-27 14:12:08 -05:00
Mark Pictor
701f90025c use Expression for Unique rules
this changes libexpress only - must change exppp, exp2cxx, exp2python
2013-12-27 14:12:08 -05:00
Mark Pictor
66d6406ed9 test schema for lost qualifiers - still need to automate the test 2013-12-27 14:12:08 -05:00
Mark Pictor
19e96fa6fa update generated parser files 2013-12-27 14:12:08 -05:00
Mark Pictor
0754642e31 attribute_decl comment 2013-12-27 14:12:07 -05:00
Mark Pictor
0c0714260a is it really this easy to do qualified inverse attrs right? 2013-12-27 14:11:51 -05:00
Mark Pictor
05333b3185 comment some productions in expparse.y 2013-12-23 15:24:34 -05:00
Mark
6772b3a64e Merge pull request #277 from stepcode/review/msvc_fixes
Review/msvc fixes
2013-12-15 13:28:16 -08:00
davyw
31f0644b26 Removed explicit exports of template class std::string.
(To resolve linker error on MSVC 2010)
2013-12-05 23:00:24 +01:00
davyw
b9922e2e0a Added include files to make sure functions from pretty_subtype.c get exported properly on windows. 2013-12-05 22:59:06 +01:00
davyw
95597e8a71 Moved variable declaration to top of function to fix compiler errors on MSVC. 2013-12-05 22:58:16 +01:00
Mark Pictor
a13481e543 update AP242 to v1.27 (N8324)
retrieved from
http://stepmod.cvs.sourceforge.net/viewvc/stepmod/stepmod/data/modules/ap242_managed_model_based_3d_engineering/mim_lf.exp?revision=1.27
2013-11-17 13:26:04 -05:00
Mark
48c0481bc3 Merge pull request #275 from stepcode/review/subbuild
Improve application building experience when using SC as a subbuild
2013-11-16 19:03:14 -08:00
Mark Pictor
a0968849bb copy to the object in ptr if it exists, else overwrite ptr contents with object pointer
Tried to delete contents of ptr if non-null, but it frequently points to a static data member - in which case
delete fails noisily.
So, check if null. if not null, use set_null() (if it exists) and operator=; otherwise, overwrite the
pointer

Also make SDAI_Enum dtor public
2013-11-14 20:26:42 -05:00
Mark Pictor
e41edd42c2 use STEPattribute getters, which weren't necessary with v0.7
In v0.7, STEPattribute::ptr was public
2013-11-13 20:01:19 -05:00
Mark Pictor
9b96c73d8e Default to a debug build 2013-11-13 20:01:18 -05:00
Mark Pictor
ae55ca80a3 oops, STEPattribute needs setters now that ptr is private 2013-11-13 20:01:18 -05:00
Mark Pictor
6b88e574f3 make build logic more robust - more checks, print error messages
* check whether STEPCODE_ROOT_DIR is relative or absolute
* exit with error message if that dir or the schema can't be found
2013-11-13 20:01:18 -05:00
Mark Pictor
2546685d2f oops, install inside include/ dir 2013-11-13 20:01:18 -05:00
Mark Pictor
67f8ea4574 install generated sdai headers 2013-11-13 20:01:18 -05:00
Mark Pictor
9d27eff62a if shared libs are not built, don't append -static to static lib names 2013-11-13 20:01:18 -05:00
Mark Pictor
65cdebbdfc don't set output dirs if SC_IS_SUBBUILD 2013-11-13 20:01:18 -05:00
Mark Pictor
e889888ab3 static sdai libs need include paths 2013-11-13 20:01:18 -05:00
Mark
ebdfab5aeb Merge pull request #274 from ramcdona/Fixes
Fix stream comparison, add RealNode and IntNode constructors which take a value
2013-11-11 14:39:18 -08:00
Rob McDonald
9ef064b411 Add helpful constructors for RealNode and IntNode 2013-11-11 10:38:29 -08:00
Rob McDonald
51f6fed3b3 Fix stream comparison when using C++ 11.
Appropriate fix suggested by Sean.
2013-11-11 10:38:24 -08:00
charliestirk
6d4f0852d4 Update AUTHORS
added Rob McDonald and Tom Thurman
2013-10-29 13:53:52 -06:00
charliestirk
d1437c7761 Update AUTHORS
added Nick Reed and Tom Thurman
2013-10-29 12:59:46 -06:00
Mark
a29124cf5f Merge pull request #270 from ramcdona/AP203Minimum
Ap203 minimum
2013-10-28 17:00:15 -07:00
Mark
b51297af02 Merge pull request #269 from rakuco/string-clear-not-assign
Use basic_string::clear() instead of basic_string::assign(0, 0).
2013-10-28 14:39:16 -07:00
Raphael Kubo da Costa
0b0f6ce219 Use basic_string::clear() instead of basic_string::assign(0, 0).
The latter is an ambiguous call and makes the build fail with libc++:

  /s/stepcode/src/cllazyfile/sectionReader.cc:86:9: error: call to member
    function 'assign' is ambiguous
      str.assign( 0, 0 ); //clear() frees the memory
      ~~~~^~~~~~
  /usr/include/c++/v1/string:1354:19: note: candidate function
      basic_string& assign(const value_type* __s, size_type __n);
                    ^
  /usr/include/c++/v1/string:1356:19: note: candidate function
      basic_string& assign(size_type __n, value_type __c);
                    ^
  /usr/include/c++/v1/string:1360:14: note: candidate template ignored:
    disabled by 'enable_if' [with _InputIterator = int]
               __is_input_iterator  <_InputIterator>::value &&
               ^
  /usr/include/c++/v1/string:1368:13: note: candidate template ignored:
    disabled by 'enable_if' [with _ForwardIterator = int]
              __is_forward_iterator<_ForwardIterator>::value,
              ^
  /usr/include/c++/v1/string:1347:19: note: candidate function not viable:
    requires single argument '__str', but 2 arguments were provided
      basic_string& assign(const basic_string& __str);
                    ^
  /usr/include/c++/v1/string:1353:19: note: candidate function not viable:
    requires 3 arguments, but 2 were provided
      basic_string& assign(const basic_string& __str, size_type __pos,
    size_type __n);
                    ^
  /usr/include/c++/v1/string:1355:19: note: candidate function not viable:
    requires single argument '__s', but 2 arguments were provided
      basic_string& assign(const value_type* __s);
                    ^

Instead, just call clear(), which should do the same thing and, contrary to
what the comment stated, does not clear the allocated memory.
2013-10-28 00:23:24 +02:00
Rob McDonald
262610c410 Explicitly place CMakeLists for AP203 Minimum into public domain. 2013-10-27 08:01:57 -07:00
Rob McDonald
7985fad756 Reformat ap203min.cpp using astyle 2013-10-27 07:56:39 -07:00
Rob McDonald
8db7249070 Initial commit of AP203 Minimum, a tutorial for STEP, STEPcode, and AP203. 2013-10-26 23:30:02 -07:00
Mark
e68db3e27c Merge pull request #268 from ramcdona/TimeStampHeaderFix
Quote time stamp in header instance - caught because ida-step crashed
2013-10-24 14:12:47 -07:00
Rob McDonald
295f4db40d Quote time stamp in header instance.
Fixes #267
2013-10-24 13:15:23 -07:00
Mark
e9e9671083 Merge pull request #266 from stepcode/mp/remove-nonconformant-p21
remove nonconformant p21 files - we're down to a single failing test!
2013-10-18 17:07:30 -07:00
Mark
b807ab36dd Merge pull request #265 from stepcode/review/STEPattr_ctors_shallowcopy
STEPattribute - fix copy constructor, Shallow Copy
2013-10-13 16:12:09 -07:00
Mark Pictor
9239e2865f disable a p21read multiple inheritance test; I'm not sure whether it should pass or fail 2013-10-13 19:10:45 -04:00
Mark Pictor
8fda732363 delete nonconformant part 21 files for ap210e2 2013-10-13 19:10:45 -04:00
Mark Pictor
45f58654c8 delete nonconformant part 21 files for ap227 2013-10-13 19:10:45 -04:00
Mark
abda04abac Merge pull request #264 from stepcode/review/exppp2
exppp & misc
2013-10-13 14:30:03 -07:00
Mark Pictor
35c756ace6 create the correct type of aggregate so the ShallowCopy will work 2013-10-12 22:23:21 -04:00
Mark Pictor
d146a62a84 update tests to work with STEPattribute class changes 2013-10-12 22:21:46 -04:00
Mark Pictor
067098a42b oops, need a way to access attr data now that ptr is protected 2013-10-12 22:20:07 -04:00
Mark Pictor
6700b1994a oops, some STEPattribute constructors didn't initialize all members 2013-10-12 08:22:59 -04:00
Mark Pictor
a3ed45a65b eliminate error and warning in p21read.cc 2013-10-11 22:51:48 -04:00
Mark Pictor
4f94a13386 fix ShallowCopy(), copy constructor, destructor 2013-10-11 22:29:31 -04:00
Mark Pictor
be375e08cf sameADesc() behaves like old operator==, rewrite operator== 2013-10-11 22:29:31 -04:00
Mark Pictor
217414db29 tests for copy constructor, ShallowCopy() 2013-10-11 22:29:31 -04:00
Mark Pictor
55f79cb9e6 update asStr() function - return std::string 2013-10-11 22:25:30 -04:00
Mark Pictor
b79bf5fe7f some return types char * --> std::string, eliminate unnecessary const_casts 2013-10-11 22:17:49 -04:00
Mark Pictor
73790e1488 name parameters in declarations 2013-10-11 22:17:49 -04:00
Mark Pictor
610e60d2f5 don't use int as bool 2013-10-11 22:17:46 -04:00
Mark Pictor
d0f4beb992 eliminate duplicate error code in STEPwrite() 2013-10-11 22:15:46 -04:00
Mark Pictor
c4d6cc07fb don't use RedefiningAttr() within the class, since _redefAttr is accessible 2013-10-11 20:40:40 -04:00
Mark Pictor
108db137fb make some STEPattribute members protected - access via funcs
affects STEPfile, STEPattributeList

protected members acc funcs
2013-10-11 20:39:04 -04:00
Mark Pictor
959c9bc8d5 test_inverse_attrs2 works now because of the STEPattr copy ctor fix 2013-10-09 21:31:57 -04:00
Mark Pictor
48f1285e03 improve stepattr copy constructor
uses shallow copy, so access violations are possible
2013-10-09 21:31:57 -04:00
Mark Pictor
bcd01474cd skeleton for the operators/constructors tests for STEPattribute 2013-10-09 21:31:57 -04:00
Mark Pictor
3eb5b5374f move clstepcore cpp test dir into clstepcore 2013-10-09 21:31:57 -04:00
Mark Pictor
42e88253bc check for redefine in attr being copied _from_, not to - ?!
I do not understand how this could have been right or how it did not
cause problems if wrong. Perhaps redefined attr's are used so
infrequently that it went unnoticed?
2013-10-09 21:31:57 -04:00
Mark Pictor
c6f03aa43b STEPattribute member _derive: public, int -> protected, bool 2013-10-09 21:31:57 -04:00
starseeker
7a15065225 Add newlines to end of files
git-svn-id: svn://svn.code.sf.net/p/brlcad/code/brlcad/trunk@57897 2f96ce8b-6d43-0410-b8df-bffccc660ffb
2013-10-09 20:39:32 -04:00
Mark Pictor
3bcd2de347 rework lazyInstMgr.h comment like brlcad r57891 2013-10-09 20:38:29 -04:00
Mark Pictor
e2c9394478 fiddle with indents some more 2013-10-02 21:06:02 -04:00
Mark Pictor
5be3204d1e change default line length from 75 to 130 2013-10-02 21:06:02 -04:00
Mark Pictor
aea964b568 by default, don't print tail comments (enable with -t) 2013-10-02 21:06:02 -04:00
Mark
debc95478e Merge pull request #263 from stepcode/mp/exppp2
work on exppp
2013-10-02 16:38:15 -07:00
Mark Pictor
94058f67db Partially revert "oops, abs() != fabs() - and DBL_EPSILON isn't what I thought it was"
Old commit ae8d89f852.
2013-10-02 18:36:38 -04:00
Mark Pictor
544d0047e6 warnings for signed-unsigned comparison 2013-10-02 17:15:42 -04:00
Mark Pictor
022192332e check return values for fgets, fwrite 2013-10-02 17:15:41 -04:00
Mark Pictor
5901f432a9 eliminate ineffective bool exppp_preserve_comments and unused copy_file_chunk() 2013-10-02 17:15:41 -04:00
Mark Pictor
5b36c52d77 gcc xcompile - eliminate [-Wstrict-aliasing] via reinterpret_cast 2013-10-02 17:15:41 -04:00
Mark Pictor
276e6d751e add schema exposing inverse qualified attr problem 2013-10-02 17:15:41 -04:00
Mark Pictor
0e9f0682d9 includes are case-sensitive when crosscompiling for windows on linux 2013-10-02 17:15:41 -04:00
Mark Pictor
063931aaca always sort output alphabetically; remove -a option. 2013-10-02 17:15:41 -04:00
Mark Pictor
147d39ea37 print consts in alphabetic order 2013-10-02 17:15:41 -04:00
Mark Pictor
061f6d91ea remove get_filename - won't work on windows 2013-10-02 17:15:41 -04:00
Mark Pictor
7c9f8ab0c2 fix includes, most externs for windows 2013-10-02 17:15:41 -04:00
Mark Pictor
12ad43ea4b MSVC lacks stdbool.h 2013-10-02 17:15:41 -04:00
Mark Pictor
b5af88b268 silence MSVC warning 2013-10-02 17:15:41 -04:00
Mark Pictor
6b7982f816 cmake messages for user - ignore missing header messages, SC_BUILD_SCHEMA 2013-10-02 17:15:41 -04:00
Mark Pictor
b0253d1d45 make empty strings print correctly 2013-10-02 17:15:41 -04:00
Mark Pictor
78e2053384 add -c option: one item per line for constants (YMMV!) 2013-10-02 17:15:41 -04:00
Mark Pictor
afbf61db66 prevent some really long lines from sticking out as much 2013-10-02 17:15:41 -04:00
Mark Pictor
ade977836f simple test executable for breakLongStr() 2013-10-02 17:15:41 -04:00
Mark Pictor
f1c4d0f3a8 improve line wrapping 2013-10-02 17:15:40 -04:00
Mark Pictor
d2f1b63a77 fix some more ws problems 2013-10-02 17:15:40 -04:00
Mark Pictor
c7e0ce0a29 fixed problem where UNIQUE rule in ap210 arm was printed as "unknown expression"
also remove debugging code accidentally committed during refactor
2013-10-02 17:15:40 -04:00
Mark Pictor
faa6693982 remove #if 1 ... #else ... #endif from TYPE_body_out() 2013-10-02 17:15:40 -04:00
Mark Pictor
1ff8cafb00 refactor exppp - split into many small files 2013-10-02 17:15:40 -04:00
Mark Pictor
4601594c2b improve pretty-printing of functions 2013-10-02 17:15:40 -04:00
Mark Pictor
c9d100e719 this should not be a warning
libexpress crashes if warnings are suppresed for a schema where this problem occurs
2013-10-02 17:15:40 -04:00
Mark Pictor
9b1c0ff5ce exppp - rename filename buffer 2013-10-02 17:15:40 -04:00
Mark Pictor
67705a26c7 -l arg for exppp to set line length 2013-10-02 17:15:40 -04:00
Mark Pictor
1d0b829559 when a CONSTANT had a long name, no newlines would be printed in initializer lists 2013-10-02 17:15:40 -04:00
Mark Pictor
68be23e550 allows exppp output filename (or stdout) to be specified with -o
messages on stdout will corrupt a schema being printed to stdout,
so replace all printf( ... ) and fprintf( stdout, ... ) with
fprintf( stderr, ... )
2013-10-02 17:15:40 -04:00
Mark Pictor
89c428b327 cmake - don't print an OK message for each generated file
makes the build a little quieter
2013-10-02 17:15:40 -04:00
Mark Pictor
85f12e38a9 neaten up exppp.h 2013-10-02 17:15:39 -04:00
Mark Pictor
802f424670 unused macro 2013-10-02 17:15:39 -04:00
Mark Pictor
c2bc4bce77 oops, 489eb58 alters behavior - thinks 'END-ISO-10303-21;' is invalid EOF
compared keyword with keyword + ';', so of course it failed
2013-09-30 20:36:09 -04:00
Mark
42ef605fb3 Merge pull request #262 from stepcode/review/cleanupexp2cxx
cleanup exp2cxx, other dirs
2013-09-22 09:17:33 -07:00
Mark
3042d902b2 Merge pull request #260 from stepcode/review/cleanup-express
Clean up src/express, src/exppp
2013-09-20 09:36:44 -07:00
Mark Pictor
335ccf9712 rename problematic merged schema so it won't stop the build 2013-09-20 12:04:13 -04:00
Mark Pictor
2b3b4521bd c++ comments in c 2013-09-18 18:03:48 -04:00
Mark Pictor
5598ea07f8 rename variable that shadowed another 2013-09-18 18:03:48 -04:00
Mark Pictor
41218fd5be unused variable 2013-09-18 18:03:48 -04:00
Mark Pictor
b7beabf789 unused params in virtual member functions
- params can't be removed because they are used in that function in other class(es)
2013-09-18 18:02:37 -04:00
Mark Pictor
a2661f30e3 parenthesis around assignment used as bool 2013-09-18 18:02:37 -04:00
Mark Pictor
6d98c1824c signed-unsigned comparison 2013-09-18 18:02:37 -04:00
Mark Pictor
c43de6c69c initialize base class in copy constructor 2013-09-18 18:02:37 -04:00
Mark Pictor
58eb1e0ce1 fix initialization order warning 2013-09-18 18:02:37 -04:00
Mark Pictor
489eb5871f cleanup 2013-09-18 18:02:37 -04:00
Mark Pictor
bb161a1441 unused parameter 2013-09-18 18:02:36 -04:00
Mark Pictor
111172a090 quell unused parameter warnings in certain functions
- only in functions that shouldn't be called or are unimplemented
- implemented some of the obvious ones, print error messages in the others
2013-09-18 18:02:36 -04:00
Mark Pictor
1e5bc0d2a4 unused var, '/*' in comment 2013-09-16 21:47:13 -04:00
Mark Pictor
62e2baa5fd warning: returning reference to temporary 2013-09-16 21:46:37 -04:00
Mark Pictor
04b1b61a68 #if -> #ifdef 2013-09-16 21:42:36 -04:00
Mark Pictor
db33f94364 const discarded 2013-09-16 21:41:37 -04:00
Mark Pictor
ae8d89f852 oops, abs() != fabs() - and DBL_EPSILON isn't what I thought it was 2013-09-16 17:36:19 -04:00
Mark Pictor
19df57ae26 fix some warnings in clstepcore 2013-09-15 20:14:29 -04:00
Mark Pictor
067be9027b fix most warnings in cldai 2013-09-15 20:13:48 -04:00
Mark Pictor
0064834b99 fix some warnings in exp2python 2013-09-15 20:02:34 -04:00
Mark Pictor
b162ff2bd8 changes in exp2cxx broke exp2python; this fixes it 2013-09-15 19:40:47 -04:00
Mark Pictor
6372b27050 add default case that errors out 2013-09-15 19:30:38 -04:00
Mark Pictor
d84a4af547 fprintf safety 2013-09-15 19:30:38 -04:00
Mark Pictor
d5f538549c unused vars/args, dead code 2013-09-15 19:30:37 -04:00
Mark Pictor
64b99cf01e shadowed variables 2013-09-15 19:30:37 -04:00
Mark Pictor
5ff1ca577c discarded const, unused vars/args 2013-09-15 19:30:37 -04:00
Mark Pictor
8da49be459 c++ comments 2013-09-15 19:13:36 -04:00
Mark Pictor
3b1cc8cc37 eliminate unused expscan function yywrap() 2013-09-15 17:33:19 -04:00
Mark Pictor
cadc776d19 unused params yymajor, yyminor in expparse.y 2013-09-15 17:31:02 -04:00
Mark Pictor
cd530f1383 number each error or warning printed by the parser 2013-09-15 17:24:40 -04:00
Mark Pictor
4dc506d52a cleanup 2013-09-15 17:19:46 -04:00
Mark Pictor
a3186c18c2 print warning for extremely small REALs
they may be misinterpreted on some platforms or with some EXPRESS parsers
2013-09-15 17:19:46 -04:00
Mark Pictor
6312ac5fae don't compare float/double with 0 [-Wfloat-equal] 2013-09-15 16:57:27 -04:00
Mark Pictor
f794d00d19 eliminate references to unused and undefined function yyerror() 2013-09-15 16:10:35 -04:00
Mark Pictor
1d47136a77 unused parameter 2013-09-15 16:02:58 -04:00
Mark Pictor
48ed46fe06 eliminate unused functions LISTremove, TYPEget_tagname 2013-09-15 16:02:57 -04:00
Mark Pictor
1a6fd8ca46 c++ comment warnings 2013-09-15 16:02:57 -04:00
Mark Pictor
a778c40385 unused parameter 2013-09-15 15:56:24 -04:00
Mark Pictor
cc0525750b remove function disabled by macros_bit_the_dust, cleanup 2013-09-15 15:56:21 -04:00
Mark Pictor
6af2650b5b discarded const qualifier 2013-09-15 15:54:27 -04:00
Mark Pictor
8f3cba08ee comparison between signed and unsigned 2013-09-15 15:37:56 -04:00
Mark Pictor
9608c0c663 comparison always true [-Wtype-limits] 2013-09-15 15:37:56 -04:00
Mark Pictor
60087bed38 comparison between signed and unsigned 2013-09-15 15:37:56 -04:00
Mark Pictor
66110400e1 Wundef warnings - change #if to #ifdef 2013-09-15 15:37:56 -04:00
Mark Pictor
6b708083b8 K&R declaration 2013-09-15 15:10:02 -04:00
Mark Pictor
3b8622eab9 unused variable warnings, wrong type for array subscript 2013-09-15 15:10:02 -04:00
Mark Pictor
84fd68ae65 get rid of all tabs in expparse.y, sync generated files 2013-09-15 14:50:39 -04:00
Mark Pictor
17b064784f Wshadow warnings in src/express 2013-09-15 14:50:30 -04:00
Mark Pictor
bef8dd98a4 eliminate Wshadow warnings in exppp, add braces to some LISTdo 2013-09-15 14:50:30 -04:00
Mark Pictor
22b946b950 indent 2 LISTdo's 2013-09-15 14:50:30 -04:00
Mark Pictor
f94df05876 unused variables 2013-09-15 14:50:30 -04:00
Mark Pictor
c5f3b1223c LISTdo_n macro - make it possible to nest LISTdo's without -Wshadow warnings 2013-09-15 14:50:30 -04:00
Mark Pictor
adf5bf287f fix [-Wreorder] warning in complexSupport.h 2013-09-15 13:35:47 -04:00
Mark
e1f0a6a7ee Merge pull request #258 from stepcode/review/exppp
EXPPP: output schema should match input schema
2013-09-15 10:29:59 -07:00
Mark Pictor
4fe5eecf61 use static char[] for version, better comments in sc_version_string.cmake 2013-09-15 12:22:57 -04:00
Mark Pictor
cac6c3fad6 fix some warnings 2013-09-15 11:46:06 -04:00
Mark Pictor
16bb7f98dc this is not 1993
update pretty-printed header comment
include version string
2013-09-14 21:23:44 -04:00
Mark Pictor
864b304e7d change timestamp in sc_version_string.cmake 2013-09-14 21:15:59 -04:00
Mark Pictor
440c78ad65 add to exppp problem schema, rename it to match contents 2013-09-13 20:55:29 -04:00
Mark Pictor
aab39af98c pretty print spaces around colons 2013-09-13 20:33:42 -04:00
Mark Pictor
6f0b8ef80f clean up a bit in hash.c 2013-09-13 20:33:42 -04:00
Mark Pictor
383c18e9b7 create Type_Repeat for repeat expr's 2013-09-13 20:33:42 -04:00
Mark Pictor
31e3bb7f5e don't append empty strings, don't break short substrings 2013-09-13 20:33:42 -04:00
Mark Pictor
b9352e8111 fixes build error on windows
removes unistd.h include; it wasn't being used anyway
adds snprintf macro for windows
2013-09-13 20:33:42 -04:00
Mark Pictor
78643210ab add {} to 2 LISTdo/LISTod 2013-09-12 18:09:18 -04:00
Mark Pictor
80bf698c80 exppp: add spaces inside parenthesis and after commas 2013-09-12 18:09:18 -04:00
Mark Pictor
139d3f174e break long strings up to make exppp output look better 2013-09-12 18:09:17 -04:00
Mark Pictor
5bf0a58ec5 check locale, don't print trailing 0s in real2exp 2013-09-12 18:09:17 -04:00
Kesha
a297f733dd Update CMakeLists.txt 2013-09-12 22:56:16 +05:30
Mark Pictor
fc91dd68c3 add a line to exppp_prob_func, exposing another problem 2013-09-09 19:54:49 -04:00
Mark Pictor
076b17e96e line number (symbol.line) started at zero 2013-09-09 19:51:51 -04:00
Mark Pictor
d9c00efd16 rename BUF_SIZE macro, check buffer size before use 2013-09-08 20:20:13 -04:00
Mark Pictor
6a712cd516 cleanup in exppp.c
* return type on the same line as the func name
* doxify comments
* fix one K&R-style declaration
* replace some #define statements with const's
2013-09-08 18:27:24 -04:00
Mark Pictor
b7450150e9 exppp: use static char array in real2exp 2013-09-08 17:50:00 -04:00
Mark Pictor
d0c1202eca exppp: eliminate as many Wshadow warnings as possible
Some remain due to nested LISTdo..LISTod
2013-09-08 17:50:00 -04:00
Mark Pictor
84ff138f60 exppp: eliminate "warning: implicit declaration of function 'unlink'"
eliminated by including unistd.h
also added a #define for windows to use _unlink instead of unlink
2013-09-08 17:49:59 -04:00
Mark Pictor
873056c385 exppp: remove code that creates rmpp script
rmpp was a shell script that removed the pretty-printed schema
it was not cross-platform, and I don't think anyone used it
2013-09-08 17:49:59 -04:00
Mark Pictor
65121672aa exppp: int -> unsigned int - eliminate [-Wsign-compare] warning 2013-09-08 17:49:59 -04:00
Mark Pictor
96e4c13930 exppp: fix [Wswitch] warning by adding a default case
default prints an error and aborts

exppp.c:1407:13: warning: enumeration value '...' not handled in switch [-Wswitch]
2013-09-08 17:49:59 -04:00
Mark Pictor
e8dfe9ba73 exppp: express requires a decimal point in REAL literals 2013-09-08 17:49:59 -04:00
Mark Pictor
a40f9ba7b1 represent EXPRESS reals with double, not float 2013-09-08 17:49:59 -04:00
Mark Pictor
742be715ad exppp: use flags.repeat 2013-09-08 17:49:59 -04:00
Mark Pictor
2812c304c0 improve comment for TypeBody->flags.repeat 2013-09-08 17:45:28 -04:00
Mark Pictor
f1651b0885 set flags.repeat for repeat element, not repeated element - easier to use in exppp 2013-09-08 17:45:28 -04:00
Mark Pictor
48da14010d add test schema for exppp - issue #244, comma/semicolon 2013-09-08 17:45:28 -04:00
Mark Pictor
b9a920190a eliminate some C++-style comment warnings 2013-09-08 17:44:49 -04:00
Mark Pictor
c4bc306e07 Replace LISTadd macro with LISTadd_last
No clue why the macro was used:
 #define LISTadd(list, item) LISTadd_last(list, item)

substitution via
    for i in `grep -lr LISTadd[^_]`; do sed -i -e 's/LISTadd\([^_]\)/LISTadd_last\1/;' $i; done
2013-09-04 21:49:31 -04:00
Mark Pictor
0cccfdd7b1 fix some [-Woverflow] warnings for bit-wide signed ints
bit-wide signed ints are either 0 or -1

eliminates warnings such as
expparse.y:743:5: warning: overflow in implicit constant conversion [-Woverflow]
2013-09-04 21:49:31 -04:00
Mark Pictor
643aea7a8a add {} to two LISTdo/LISTod 2013-09-04 21:49:31 -04:00
Mark Pictor
5f2f5bd46f rename index_spec and limit_spec to bound_spec to match the BNF
also add comments to bound_spec and index_qualifier denoting the rule
from part 11 that they match
2013-09-04 21:49:31 -04:00
Mark Pictor
42fd5bfcfe quell unused param warning 2013-09-04 21:49:31 -04:00
Mark Pictor
9a5ee30054 int -> const int for 3 exppp globals 2013-09-04 21:49:31 -04:00
Mark Pictor
ec25bfa5e9 remove express/exptoks.h, obviated by express/generated/expparse.h 2013-09-04 21:49:31 -04:00
Mark Pictor
01f6e26e0a exppp: don't replace 'DIV' with '/' 2013-09-04 21:49:30 -04:00
Mark
0c11cce44c Merge pull request #257 from stepcode/review/remove_obsolete_code
Remove obsolete code in src/clSchemas and src/clprobe-ui
2013-09-04 15:54:45 -07:00
Mark
209d671732 Merge pull request #256 from stepcode/review/scopefix
Miscellaneous - scope reduction fix, man pages, minor cmake changes
2013-09-04 15:54:28 -07:00
Mark Pictor
6e17cbdd83 remove clSchemas 2013-09-01 17:38:52 -04:00
Mark Pictor
378c50ec06 remove clprobe-ui 2013-09-01 17:38:34 -04:00
Mark Pictor
a11fda7da2 delete obsolete man pages 2013-09-01 17:03:44 -04:00
Cliff Yapp
95d245f22e Whoops - rename man page.
git-svn-id: svn://svn.code.sf.net/p/brlcad/code/brlcad/trunk@57349 2f96ce8b-6d43-0410-b8df-bffccc660ffb
2013-09-01 16:54:03 -04:00
Cliff Yapp
a8d5158b08 Use SC_BINARY_DIR for generating and installing files
If we're using SC_BINARY_DIR to generate these files, need to
 use it for the install rule too - SC_BINARY_DIR doesn't always equal
 CMAKE_BINARY_DIR

git-svn-id: svn://svn.code.sf.net/p/brlcad/code/brlcad/trunk@57348 2f96ce8b-6d43-0410-b8df-bffccc660ffb
2013-09-01 16:53:38 -04:00
Mark Pictor
1d1c9b7de2 SCL -> STEPCODE in main CMakeLists 2013-09-01 16:52:18 -04:00
Mark Pictor
04d514ebbe reduce scope for a variable in ENTITYprint_new
This reverts one change from f41304 and adds brackets and indentation
to two pairs of LISTdo/LISTod
2013-08-31 15:20:39 -04:00
r_weiss
ec630badca Update to stepcode function 'DirObj::CheckIndex' to quiet a valgrind 'mismatched free' warning.
git-svn-id: svn://svn.code.sf.net/p/brlcad/code/brlcad/trunk@57177 2f96ce8b-6d43-0410-b8df-bffccc660ffb
2013-08-29 20:43:27 -04:00
Mark
6963fc515d Merge pull request #254 from stepcode/ks/installHdrs
Ks/installHdrs
2013-08-29 17:14:19 -07:00
Mark
f0f5763b9c Merge pull request #255 from starseeker/master
Rename fedex_python and fedex_plus to exp2python and exp2cxx
2013-08-29 15:02:08 -07:00
Kesha Shah
434eafeffe Adding to AUTHORS 2013-08-29 10:25:52 +05:30
Kesha Shah
3c66a0018a Installed generated headers 2013-08-29 10:25:52 +05:30
Kesha Shah
6105b5be57 Installed other headers from include/* 2013-08-29 10:25:52 +05:30
Kesha Shah
a37b8c3d99 Install headers of src/exppp at correct location 2013-08-29 10:25:52 +05:30
Kesha Shah
b855ed0ef1 Install headers of src/express at correct location 2013-08-29 10:25:52 +05:30
Kesha Shah
1e78840357 Installed headers from src/clstepcore 2013-08-29 10:25:52 +05:30
Kesha Shah
3bc804192e Installed headers from src/clutils 2013-08-29 10:25:52 +05:30
Kesha Shah
474e58908e Installed headers from src/cllazzyfile 2013-08-29 10:25:51 +05:30
Kesha Shah
eb4e271e39 Installed headers from src/cleditor 2013-08-29 10:25:51 +05:30
Kesha Shah
a55bcf501e Installed headers from src/cldai 2013-08-29 10:25:51 +05:30
Kesha Shah
d2c9dea8bc Installed headers from src/base 2013-08-29 10:25:51 +05:30
Kesha Shah
35fa4e1829 Initializing some variables in main CMakeLists.txt 2013-08-29 10:25:44 +05:30
Cliff Yapp
5126b48e3f Rename fedex_python and fedex_plus to exp2python and exp2cxx respectively. 2013-08-28 21:57:46 -04:00
Mark
76e2b2bcb2 Merge pull request #253 from starseeker/master
Merge local BRL-CAD changes
2013-08-28 14:47:44 -07:00
Cliff Yapp
4285a7d0c9 Wrap headers that aren't present on Windows. 2013-08-26 22:20:35 -04:00
Cliff Yapp
83f5d01924 Export the orderedAttrs functions for Windows 2013-08-26 22:19:11 -04:00
Cliff Yapp
20d1a5f3a2 Put usage statement in library for re-use 2013-08-26 22:18:01 -04:00
Cliff Yapp
6947e47fb2 Windows doesn't have strcasecmp 2013-08-26 22:16:31 -04:00
Cliff Yapp
080de728b2 Add some newlines to the printing of complex entities for readibility 2013-08-26 22:15:25 -04:00
Cliff Yapp
81c793cd2e Match type to the _buff type - mismatch was an error in clang 2013-08-26 22:13:56 -04:00
Cliff Yapp
c0566fec27 Add newline 2013-08-26 22:12:46 -04:00
Cliff Yapp
fba49fff2f Clear 'extra ';' inside a class' warnings 2013-08-26 22:11:44 -04:00
Cliff Yapp
f413047cde Clear declaration-after-statement warnings 2013-08-26 22:10:27 -04:00
Cliff Yapp
b559053d2a Apply BRL-CAD r56968 from n_reed - address leak identified by valgrind 2013-08-26 22:08:34 -04:00
Cliff Yapp
0907ecc592 Apply BRL-CAD r56875 - Quote the time stamp in the STEP output. 2013-08-26 22:06:13 -04:00
Mark
da3fe4543f Merge pull request #250 from starseeker/master
Merge local BRL-CAD changes
2013-08-14 15:16:07 -07:00
Mark
a60e03dd7a Merge pull request #248 from stepcode/review/diamond
Handle diamond inheritance, treat derived attributes correctly
2013-08-14 15:15:37 -07:00
Mark Pictor
35cc0f2c63 travis-ci: don't bother with gcc since clang is faster 2013-08-14 17:55:36 -04:00
Mark Pictor
99a8787c1f generated code: improve formatting some more 2013-08-14 17:55:36 -04:00
Mark Pictor
e165c2a237 eliminate unnecessary variable, formatting 2013-08-14 17:50:06 -04:00
Mark Pictor
25162d1109 int first -> bool first 2013-08-14 17:50:06 -04:00
Mark Pictor
4c06e9d000 generated code: change addAttr type/behavior, fix #240 (diamond inheritance)
* make addAttrs a bool
* invert the sense of its default value ( 0 -> true )
* pass addAttrs on, unmodified
  - duplicate attributes are ignored by STEPattributeList::push()
* also initialize the parent class
2013-08-14 17:50:06 -04:00
Mark Pictor
7068470299 generated code: improve formatting
* also change one warning to print on a single line
2013-08-14 17:45:31 -04:00
Mark Pictor
3aea98074c cleanup, mostly in fedex_plus/classes.c 2013-08-14 17:45:31 -04:00
Mark Pictor
f9a9d6e2a2 Modify GetSTEPattribute() and MakeDerived() in SDAI_Application_instance
* For issue #232
* Add a new param named `entity`
* Used in generated code to ensure that the correct attr is being marked as derived.
2013-08-14 17:45:31 -04:00
Mark
8e236bfda7 Merge pull request #247 from stepcode/ks/CPPcheck
Ks/cppcheck - fix some of the problems reported by cppcheck
2013-08-14 14:40:49 -07:00
Kesha Shah
cc906fc1d4 Reducing the scope of variables 2013-08-14 17:38:44 -04:00
Kesha Shah
44efa0d52e C style pointer casting 2013-08-14 17:38:44 -04:00
Kesha Shah
86c11b8baf strncpy() '\0' terminated 2013-08-14 17:38:44 -04:00
Kesha Shah
5b4118ee6d sscanf() to prevent overflow 2013-08-14 17:38:44 -04:00
Kesha Shah
a1d2471e7c Prefer Preincrement/Decrement 2013-08-14 17:38:43 -04:00
Kesha Shah
08d5407259 Unused Variables Removed 2013-08-14 17:38:43 -04:00
Cliff Yapp
1ffac4e7e8 r56686 - clear compiler warning 2013-08-13 22:56:05 -04:00
Cliff Yapp
5539ad55f3 r55979 - explicitely cast stream position before comparison to avoid an ambiguous overload for the == operator 2013-08-13 22:53:59 -04:00
Cliff Yapp
436f34efb5 r55978 - force 64b constants to use unsigned long long instead of compile native long, which is too small on 32b machines 2013-08-13 22:52:25 -04:00
Cliff Yapp
8c890db78e r55977 - malloc.h has been replaced by stdlib.h 2013-08-13 22:51:16 -04:00
Cliff Yapp
ba7675a71c apply r55331 - use delete[] to free new[] memory 2013-08-13 22:49:48 -04:00
Cliff Yapp
4bc010884a Quell unused variable warning - I *think* this is what this function is actually supposed to do? 2013-08-13 22:48:04 -04:00
Mark
352fd6d66e Merge pull request #246 from stepcode/review/print_attrs
print_attrs executable / multiple inheritance
2013-07-29 05:54:25 -07:00
Mark
362c41cb61 Merge pull request #245 from stepcode/review/cleanup
Review/cleanup
2013-07-21 17:48:50 -07:00
Mark Pictor
2babafddc9 create ordered_attrs.*, use in print_attrs
this contains code to print attributes in the proper order for Part 21
2013-07-20 20:38:28 -04:00
Mark Pictor
c45b22aff1 tests for issue #232: missing asterisk for derived attribute / data lost
schema has multiple inheritance where two attrs with same name are inherited
one is derived, the other isn't
stepcode complains that an asterisk was missing when it encounters the non-derived attr

this bug exposed by AP209 ATS files
2013-07-20 20:38:28 -04:00
Mark Pictor
6f74459022 add print_attrs test executable for libexpress, add CMakeLists for src/express/test 2013-07-20 20:38:28 -04:00
Mark Pictor
c1f4835ed3 add schema with diamond inheritance 2013-07-20 20:38:28 -04:00
Mark Pictor
2b783b770f cleanup, make it possible to print libexpress option help from external code 2013-07-20 20:38:28 -04:00
Mark Pictor
2a4666ee4e modify symlink.c to only print the schema names, rename it 2013-07-20 20:38:28 -04:00
Mark Pictor
24c08ebc6c add symlink.c, removed in 23cf6a5ad5 Aug 2011 2013-07-20 20:38:27 -04:00
Mark Pictor
9ff9b8e5c1 travis-ci: -j3 is slow, try -j2; pulls are checked, so skip review branches 2013-07-20 20:37:31 -04:00
Mark Pictor
b6f708a8a7 silence two Wundef warnings 2013-07-20 20:36:17 -04:00
Mark Pictor
f94fd4a4e0 minor cleanup 2013-07-20 20:36:13 -04:00
Mark Pictor
c121444d29 K&R declaration for LISTfree() 2013-07-20 20:36:08 -04:00
Mark Pictor
df14d81d2f remove unused LISTcreate_with() macro
also removes even older function in an `#if 0` block
2013-07-20 20:36:03 -04:00
Mark Pictor
c08dcddcc8 add (commented out) ParseTrace function for lemon parser debugging 2013-07-20 20:35:58 -04:00
Mark Pictor
906dc3a28c doxify a comment that looks important, also copied to sc wiki 2013-07-20 20:35:51 -04:00
Mark Pictor
28d636d428 missed two macros during SCL_->SC_ rename 2013-07-20 20:35:36 -04:00
Mark Pictor
b468d27522 libexpress is no longer a dependency of the class libs
great!
2013-07-20 20:35:24 -04:00
Mark Pictor
c6b0a5d810 Print warning message when SC_BUILD_SCHEMAS is unset 2013-07-20 20:35:06 -04:00
Mark
4825256b53 Merge pull request #243 from stepcode/review/remove-wseds
remove 203wseds schema and files
2013-07-19 17:37:53 -07:00
Mark
362a238c0e Merge pull request #242 from stepcode/review/exppp
trivial fix for #241, exppp segfault
2013-07-18 17:08:02 -07:00
Mark Pictor
b0d9936ed6 try parallel build on travis-ci 2013-07-16 20:44:33 -04:00
Mark Pictor
1e72fa4ce2 remove 203wseds schema and files
the schema is outdated and the files do not match it; I haven't found the time to modify the files
2013-07-16 20:43:16 -04:00
Mark Pictor
c453fce415 trivial fix for #241, exppp segfault 2013-07-16 20:15:33 -04:00
Mark Pictor
870b0b378e oops, fix .travis.yml 2013-06-23 15:51:04 -04:00
Mark Pictor
c3b947f357 add yml for travis-ci 2013-06-23 15:46:55 -04:00
Mark
763594360f Merge pull request #237 from stepcode/review/lazy-complex
Lazy loading complex instances
2013-06-04 17:51:45 -07:00
Mark Pictor
fc745dd9c7 oops, need to look for comments after the '=' as well 2013-05-30 21:12:07 -04:00
Mark Pictor
81ea38ab53 cleanup, quell some warnings 2013-05-30 20:41:59 -04:00
Mark Pictor
345caa836b fix segfault exposed by lazy loading complex instances 2013-05-30 20:41:26 -04:00
Mark Pictor
b8ae949068 entity descriptor should probably be const 2013-05-30 18:18:34 -04:00
Mark Pictor
496ab9bd07 initialize entity descriptor in one more place. Still missing something... 2013-05-30 18:18:34 -04:00
Mark Pictor
5440688be0 add to TODO list for lazyInstanceMgr 2013-05-30 18:18:34 -04:00
Mark Pictor
b9b6dcf17c lazy_test: function to print complex entity info - commented out
Commented out because many eDescs are invalid. Cause unknown; suspect
the situation is the same in p21read / STEPfile.
2013-05-30 18:16:05 -04:00
Mark
dc4a783f18 Merge pull request #236 from stepcode/review/merged_schema
Add AP214/AP242 merged schema
2013-05-29 18:29:32 -07:00
Mark Pictor
e0ab04a719 add comment about modifications, rename the file 2013-05-25 12:50:50 -04:00
Mark Pictor
91f56a6a24 fix unknown attr errors by commenting out(!) the offending lines 2013-05-25 12:42:02 -04:00
Mark Pictor
c2e4c8b937 fix missing supertype for resulting_path
ERROR: Entity motion_link_relationship missing from supertype list for subtype resulting_path
2013-05-24 15:26:44 -04:00
STEPTools
0c4f98be53 add STEPTools merged schema 2013-05-24 15:25:38 -04:00
Cliff Yapp
47bc6ffd6b Make the generate_cpp custom targets depend explicitly on FEDEX_OUT files, which are in turn generated by the preceeding custom command. This is an attempt to improve parallel building. 2013-05-23 22:08:37 -04:00
Mark Pictor
4f74efe76e clean up stdout 2013-04-23 21:30:57 -04:00
Mark Pictor
9c2e14900c disable lazy loading code on windows, since import/export macros don't exist yet 2013-04-23 21:30:57 -04:00
Mark Pictor
43d33b266b no compile errors or segfaults, but loading complex instances still needs work 2013-04-23 21:30:57 -04:00
Mark Pictor
14ea171688 initial work on lazy loading complex instances 2013-04-23 21:27:01 -04:00
Mark Pictor
0742cfd52d fix arg error message 2013-04-23 21:14:26 -04:00
Mark Pictor
c269cd82e4 v0.7: Update changelog, INSTALL, NEWS, README, version string 2013-04-15 20:07:01 -04:00
Mark
b98b22d6f1 Merge pull request #231 from stepcode/review/brlcad-patches
brlcad patches - DebugLevel enum, schema path
2013-04-15 17:03:24 -07:00
starseeker
1ce677914e use relative path for source file 2013-04-15 19:35:27 -04:00
Nicholas Reed
b8aa678315 remove DebugLevel enum, which caused problems.
BRL-CAD r51235
2013-04-14 15:12:27 -04:00
Mark
60b3996398 Merge pull request #230 from stepcode/review/cleanup
cleanup for 0.7 - tests pass as expected: http://my.cdash.org/viewTest.php?onlyfailed&buildid=466821
2013-04-14 12:10:42 -07:00
Mark Pictor
9065851fa7 changes due to running astyle 2013-04-14 14:49:53 -04:00
Mark Pictor
d13d3c3197 update comment about astyle args 2013-04-14 14:49:53 -04:00
Mark Pictor
5fa4b17513 replace all references to SCL with SC in CMake files and code 2013-04-14 14:49:53 -04:00
Mark
dba82e5e6f Merge pull request #225 from stepcode/review/whitespace_and_supertypes_test
Whitespace in generated code, fix supertypes test
2013-04-13 07:12:22 -07:00
Mark Pictor
a824c53a3a fix supertypesIterator test 2013-04-13 10:11:15 -04:00
Mark Pictor
de23f4b89b cleanup whitespace in generated code for rules, functions, etc 2013-04-13 10:11:15 -04:00
Mark Pictor
683ffc3de9 don't put global rules in comments - just print once 2013-04-13 10:11:15 -04:00
Mark
e597a3bc1d Merge pull request #226 from stepcode/review/missing-semicolon
missing semicolon schema
2013-04-13 01:02:10 -07:00
Mark Pictor
201876d115 Merge branch 'cy/merge' 2013-04-13 03:56:35 -04:00
Cliff Yapp
d8eeb838af Don't do the lazy tests on WIN32 either, at least not until we get cllazyfile going. 2013-04-10 20:08:13 -04:00
Cliff Yapp
099db9874c For now, disable cllazyfile on WIN32 - not ready to work there. 2013-04-10 07:44:19 -04:00
buildingsmart
a996de8716 replace IFC2x4_RC3 draft with IFC4 final 2013-04-08 20:43:43 -04:00
Cliff Yapp
2d78f54bb4 From BRL-CAD r55076, 55077 and 55083 - use the string MD5 command to make the check work cross platform. Needs at least 2.8.7 for MD5 support in string. 2013-04-08 20:34:11 -04:00
Cliff Yapp
70894f8789 Judy array code should probably have its own declspec logic, but make a quick stab at it using the base defines - untested. 2013-04-05 19:22:58 -04:00
Cliff Yapp
9240b2e0b3 __PRETTY_FUNCTION__ isn't portable - grab the boost set of defines for this issue and set up a local copy. 2013-04-05 19:15:35 -04:00
Cliff Yapp
c230b76c48 Make a try at adding MSVC import/export logic for cllazyfile 2013-04-05 19:07:42 -04:00
Cliff Yapp
06b58ac54b MSVC complains about type here - is this what is intended? 2013-04-05 19:02:24 -04:00
Cliff Yapp
2fcf87865f Try explicitly casting for streampos comparision 2013-04-05 18:56:15 -04:00
Cliff Yapp
4bf4e619c4 Add iterator include for back_inserter 2013-04-04 20:30:35 -04:00
Cliff Yapp
ebc01e8970 Use CMAKE_COMMAND variable to run cmake 2013-04-04 20:27:42 -04:00
Mark Pictor
ac9035e0e1 add schema to test parser for behavior with missing semicolon
this schema should fail
2013-04-02 18:58:29 -04:00
Mark Pictor
9e0fb442d2 if a unitary schema name begins with fail_, expect it to fail 2013-04-02 18:57:30 -04:00
Cliff Yapp
a3e6303808 Pull brlcad step changes through r55002 2013-04-01 20:39:01 -04:00
Cliff Yapp
36dc0ddd75 Make a stab at merging in changes from https://github.com/stepcode/stepcode/pull/192, needed for select_lookup_enum.exp 2013-04-01 00:43:15 -04:00
Cliff Yapp
80e57f274f Apply brlcad patches through r54980 2013-03-31 00:16:18 -04:00
Cliff Yapp
4a13f336db Merge brlcad commits for step though 54859 2013-03-25 16:52:53 -04:00
charliestirk
a6ff331f11 Merge pull request #224 from stepcode/review/ifc4
replace IFC2x4_RC3 draft with IFC4 final
2013-03-20 21:31:54 -07:00
Cliff Yapp
318120205a Hmm, botched the merge of expparse.y... 2013-03-20 19:38:25 -04:00
Mark
eba28f1a3c Merge pull request #223 from stepcode/mp/minor-bugfixes
minor bugfixes
2013-03-20 14:51:41 -07:00
buildingsmart
5a01aa7d81 replace IFC2x4_RC3 draft with IFC4 final 2013-03-20 17:49:17 -04:00
Mark Pictor
654b47cd1b include scl_trace_fprintf.h in source in src/fedex_plus
only added to files which use fprintf
2013-03-19 22:43:19 -04:00
Cliff Yapp
1002809e18 Somehow, we ended up with differences in the schema files - oops. Fix 2013-03-19 22:32:31 -04:00
Mark Pictor
25166c659b fix ~InstMgr() segfault when instances weren't dynamically alloc'd 2013-03-16 20:19:33 -04:00
Mark Pictor
0f54f5aa49 don't create list twice 2013-03-16 20:14:16 -04:00
davyw
466977c112 Fixed segfault produced by alias_type_test.exp and cd209 schema. 2013-03-10 19:06:59 -04:00
Cliff Yapp
3be8377522 Don't astyle format generated files 2013-03-05 22:03:55 -05:00
Cliff Yapp
8d737980be Run Astyle to sync file layouts 2013-03-05 22:01:45 -05:00
Cliff Yapp
96e808c892 not in latest github 2013-03-05 21:44:44 -05:00
Cliff Yapp
133092e075 looks like this file was only in brlcad because it merged in from github, and github doesn't have it now... 2013-03-05 21:43:06 -05:00
Cliff Yapp
84a7db836c Remove files from cleditor that moved to clstepcore 2013-03-05 21:40:50 -05:00
Cliff Yapp
b196aac059 Remove some unnecessary and/or duplicate files 2013-03-05 21:39:08 -05:00
Cliff Yapp
4667f7ab95 More tweaks - got too aggressive preserving vanilla in data file from master for merge - needed to change SCL_ macros. 2013-03-05 20:50:09 -05:00
Cliff Yapp
5bf4a5e1f9 More tweaks towards compilation 2013-03-05 07:49:11 -05:00
Cliff Yapp
aa42a02cb6 Go ahead and add judy sources - download option isn't always viable. 2013-03-05 07:46:04 -05:00
Cliff Yapp
dfce49380b Rework for new SCL_ADDLIB macro 2013-03-05 07:45:14 -05:00
Cliff Yapp
784363bf5f Make a stab at merging master and brlcad. Not properly working yet, need to remove some files, etc. 2013-03-04 21:57:08 -05:00
Thomas Thurman
c43d9c68ab update APs 209, 210e3, 242 2013-02-21 19:57:38 -05:00
Mark
c902c2f6aa Merge pull request #219 from stepcode/review/lazy-loading
Lazy loading
2013-02-11 15:09:23 -08:00
charliestirk
ed672f1d2d Merge pull request #221 from stepcode/review/ap210_ap242
update ap242 and ap210e3
2013-02-09 06:14:47 -08:00
Thomas Thurman
3b9b4bbda9 update ap242 and ap210e3 2013-02-09 01:54:57 -05:00
Mark
09d6a92b99 Merge pull request #220 from stepcode/dw/msvc_release_fixes
Fixes to get fedex_plus working in release build on MSVC2010.
2013-01-31 14:47:54 -08:00
davyw
d561b00ead Fixes to get fedex_plus working in release build on MSVC2010.
- Added __STDC__ define for MSVC builds, seems otherwise an access violation occurs on release builds.
- Added #ifdef YYDEBUG to fix build issue in fedex_plus release build.
2013-01-31 21:48:33 +01:00
Mark Pictor
3c662113c0 download judy source if not found 2013-01-21 20:22:20 -05:00
Mark Pictor
ee25707642 make lazy_sdai_* exe testable 2013-01-21 20:21:26 -05:00
Mark Pictor
1df1a3bad3 reword fwd/reverse refs info 2013-01-21 20:21:26 -05:00
Mark Pictor
e48330bc44 remove c++11 code and HAVE_JUDY macro 2013-01-21 20:21:26 -05:00
Mark Pictor
a41d44d7f2 a few minor changes 2013-01-21 20:21:26 -05:00
Mark Pictor
df2795f028 instanceID is now unsigned, update comparisons and return values 2013-01-21 20:21:26 -05:00
Mark Pictor
5d53fe9051 improve handling of ENDSEC & EOF 2013-01-21 20:21:26 -05:00
Mark Pictor
c7f09d3f64 add lazy_* executable for schemas under data/ 2013-01-21 20:21:26 -05:00
Mark Pictor
24022910f0 a few FIXMEs 2013-01-21 20:21:26 -05:00
Mark Pictor
9255efa8db Load referenced instances. Can't test until registry is initialized. 2013-01-21 20:21:26 -05:00
Mark Pictor
ea824a5fd9 trying judy array, not working yet 2013-01-21 20:21:26 -05:00
Mark Pictor
05f5f7099c delete empty sets 2013-01-21 20:21:26 -05:00
Mark Pictor
24c63d3d88 benchmark code: use scl_memmgr, add overload to reset() method 2013-01-21 20:21:26 -05:00
Mark Pictor
c9ec2dda19 delete objects when we're done with them 2013-01-21 20:21:26 -05:00
Mark Pictor
379d4cdcd6 getRealInstance() works for simple instances now 2013-01-21 20:21:26 -05:00
Mark Pictor
0d42506960 cleanup, record instance references 2013-01-21 20:21:26 -05:00
Mark Pictor
86ebf44241 assert 2013-01-21 20:21:26 -05:00
Mark Pictor
a86cecd180 bad typedef in lazyTypes.h - copy/paste error 2013-01-21 20:21:26 -05:00
Mark Pictor
2be665bf4d use char* for getDelimitedKeyword() return type
faster and reduced memory footprint
2013-01-21 20:21:26 -05:00
Mark Pictor
be446f2657 try const string for delimit retval 2013-01-21 20:21:25 -05:00
Mark Pictor
c346de469b use unordered_multimap in place of all multimap's
comparison on a file with 469213 instances, between this and
the code two commits prior (using no unordered_multimap's):
- .6s faster (5.830 / 5.199)
- 4964kB less memory (87648k / 82684k)
2013-01-21 20:21:25 -05:00
Mark Pictor
ed25e13497 try unordered_multimap; requires c++-11 support and gcc flag 2013-01-21 20:21:25 -05:00
Mark Pictor
8834c6bb64 using cerr for non-errors 2013-01-21 20:21:25 -05:00
Mark Pictor
84590b799f rename two funcs 2013-01-21 20:21:25 -05:00
Mark Pictor
e143a25664 improve seekInstanceEnd performance 2013-01-21 20:21:25 -05:00
Mark Pictor
b8027109d4 improve performance 2013-01-21 20:21:25 -05:00
Mark Pictor
b6929c98f0 allow fedex_plus to build in release mode 2013-01-21 20:21:25 -05:00
Mark Pictor
623a999d83 clean up readdata1 a bit 2013-01-21 20:21:25 -05:00
Mark Pictor
4d89495475 reduce memory footprint of lazyInstanceLoc - slight improvement 2013-01-21 20:21:25 -05:00
Mark Pictor
0e4c5eeede oops 2013-01-21 20:21:25 -05:00
Mark Pictor
df20b32996 skip comments while looking for keyword 2013-01-21 20:21:25 -05:00
Mark Pictor
1897295b61 improved search for instance end 2013-01-21 20:21:25 -05:00
Mark Pictor
379c335950 improve error handling 2013-01-21 20:21:25 -05:00
Mark Pictor
1cd71d22a0 statistics, don't look for keywords in comments/strings 2013-01-21 20:21:25 -05:00
Mark Pictor
6fd9cd3bf0 cleanup, improve performance a bit 2013-01-21 20:21:25 -05:00
Mark Pictor
0aac527853 get more information about the file 2013-01-21 20:21:25 -05:00
Mark Pictor
c6b2916515 look for whitespace at end of instance 2013-01-21 20:21:25 -05:00
Mark Pictor
48f345685c now reads files successfully; still doesn't create SDAI instances 2013-01-21 20:21:25 -05:00
Mark Pictor
5004c6d294 closer... fighting instance id problem 2013-01-21 20:21:25 -05:00
Mark Pictor
48064b42eb trying to get the basics - locating start/end of instances and sections 2013-01-21 20:21:25 -05:00
Mark Pictor
2dd334ea29 more 2013-01-21 20:21:25 -05:00
Mark Pictor
ba7c8dd606 add more includes to some headers in src/cldai and src/clstepcore 2013-01-21 20:21:25 -05:00
Mark Pictor
55e72a1e1e more 2013-01-21 20:21:25 -05:00
Mark Pictor
ceecee9721 copy ReadData1, ReadData2 2013-01-21 20:21:25 -05:00
Mark Pictor
75499c3f07 more rearranging 2013-01-21 20:21:25 -05:00
Mark Pictor
e6da69cd3b types 2013-01-21 20:21:24 -05:00
Mark Pictor
993d5975f3 move typedefs to own header, put common stuff in sectionReader class 2013-01-21 20:21:24 -05:00
Mark Pictor
5ade39a22d take lazy headers from lazy3 branch, move to src/cllazyfile 2013-01-21 20:21:24 -05:00
Mark
156b274c40 Merge pull request #218 from stepcode/review/msvc_fixes
Review/msvc fixes
2012-12-19 18:39:18 -08:00
davyw
e688bd40d3 Added SCL_SCHEMA_EXPORT macro for entities in fedex-plus generated code.
(Fixes linker errors for some tests on MSVC)
2012-12-01 21:02:36 +01:00
davyw
6725a9813a Added support for windows in sc_benchmark.cc
- Replaced __WIN32 with __WIN32__.
- Fixed location of SCL_BASE_EXPORT macro.
- Added support to get memory usage and time usage on windows.
2012-12-01 15:50:02 +01:00
charliestirk
c69d5f777b Merge pull request #216 from stepcode/review/242-tessellation
update AP242 draft to new version with tessellation
2012-10-19 14:47:34 -07:00
Mark Pictor
0e31cf33cb update AP242 draft to new version with tessellation 2012-10-18 17:04:49 -04:00
Christopher Sean Morrison
ab86787892 avoid throwing exceptions due to max() being bigger than actually supported. seems like an stl exception bug given it throws a length_error exception and the parameter is supposed to default to the value we're setting, but work around it anyways. we just set npos and avoid specifying a constructor limit if the value is npos. 2012-10-10 07:07:36 +00:00
Christopher Sean Morrison
d03defc0aa prevent a crash parsing entities intended for a different schema (e.g., ap204 data fed to ap203e2 schema parser). eDesc was not being initialized causing random data crash/corruption. even initialized, it ends up being null due to the schema entity mismatch for unrecognized entities, so have to prevent against dereferencing null elsewhere. 2012-10-10 07:04:33 +00:00
Christopher Sean Morrison
31cb381de8 bump the arbitrary limit to 100k since 5k is trivially reached with the AP schemas and halting early causes subsequent valid entities to not get parsed. 2012-10-10 07:01:06 +00:00
Christopher Sean Morrison
bf1fd7aed2 turns out, c++ doesn't define the SIZE_MAX c99 constant. instead of adding a (size_t)-1 define manually, do it the c++y-way. use numeric_limits. 2012-10-01 16:15:29 +00:00
Christopher Sean Morrison
a86859a9fe should be enough to include stdint.h (if not, #define SIZE_MAX ((size_t)-1)) 2012-10-01 15:33:30 +00:00
Erik Greenwald
e1912bf7b7 SIZE_MAX isn't defined in a way we trigger on FBSD and Linux, but SSIZE_MAX is, so try to use it. Hopefully that one bit isn't important for this use... 2012-10-01 15:18:09 +00:00
Christopher Sean Morrison
1d3cd6ed88 defaulting to zero truncates, so do what std::string() does and default to max size_t 2012-10-01 02:19:59 +00:00
Christopher Sean Morrison
d55fffb079 typos carl noticed, but looks like they're all benign 2012-09-25 16:57:04 +00:00
Christopher Sean Morrison
e2d0b264ac bah, it's not actually a repo file -- something is writing to the src tree 2012-09-10 02:58:54 +00:00
Christopher Sean Morrison
c27d4e3141 ignore/inclue the scl_cf.h.in header template 2012-09-10 02:57:48 +00:00
Mark
2daec0e0ba Merge pull request #211 from stepcode/review/build-additional-sdai-executables
build additional sdai executables
2012-09-02 11:17:21 -07:00
Nicholas Reed
e9a45a5be6 Use stdarg.h unconditionally and avoid undefined behavior by remembering to call va_end. Appears to fix fedex_plus crash seen when doing a Windows release build. 2012-08-29 15:28:53 +00:00
Nicholas Reed
92649d7bb2 add missing header guard 2012-08-28 18:47:14 +00:00
Christopher Sean Morrison
0701c4f273 quell warning on unused var since it won't necessarily get used given its use is in conditional code 2012-08-25 05:44:57 +00:00
Christopher Sean Morrison
dcf1a24fde fix for a gcc internal compiler error due to inlining. make AssignAggrCreator() be defined in a compilation unit. 2012-08-25 05:34:37 +00:00
Christopher Sean Morrison
520589270d save a few bytes, eliminate generated trailing ws 2012-08-25 05:32:58 +00:00
Mark
1cac60a9a3 Merge pull request #209 from stepcode/review/scl_is_subbuild
fix sub-build; no problems with ctest: http://my.cdash.org/viewTest.php?buildid=383565
2012-08-24 13:28:13 -07:00
Mark Pictor
29c18125e1 fix lib path for tests 2012-08-24 15:18:37 -04:00
Mark
b86bbaf6ea Merge pull request #210 from stepcode/review/cd209-files
add cd209 files, fix two problems highlighted by them
2012-08-24 11:05:23 -07:00
Mark Pictor
69f280e89f update NIST tests 2012-08-19 21:59:53 -04:00
Mark Pictor
33826b258c add an option to build user-defined executables and link against each sdai lib 2012-08-19 21:44:42 -04:00
Mark
1da68fd061 Merge pull request #208 from stepcode/review/benchmarking
add benchmarking code for linux; needs implemented on WIN32, OSX
2012-08-19 08:43:28 -07:00
Mark Pictor
749cc599f4 whitespace 2012-08-17 07:58:40 -04:00
Mark Pictor
0d042198e6 improve schema search logic 2012-08-17 07:58:15 -04:00
Mark Pictor
156143d458 make scl_is_subbuild work better 2012-08-17 07:48:47 -04:00
Cliff Yapp
7b8867f43b Update documentation on handling of INSTALL.new, configure.new, and perplex/re2c/lemon cached files. 2012-08-14 15:55:52 +00:00
Mark
8ce359d6f0 Merge pull request #206 from stepcode/review/subsuperiterator
recursive iterator for subtypes and supertypes
2012-08-12 05:15:55 -07:00
Mark
e169d76788 Merge pull request #188 from stepcode/review/fix-static-libs
static libs, code coverage
2012-08-12 05:15:44 -07:00
Mark Pictor
45030b3ac0 fix two problems highlighted by cd209 files - a hard to read warning, and a comment length limitation 2012-08-10 22:43:01 -04:00
Mark Pictor
9bd98240f9 add cd209 files from ATSfilesMod0_July_9_2012.zip 2012-08-10 21:54:36 -04:00
Mark Pictor
bd75d3e809 p21read statistics - don't ignore '-t' option 2012-08-08 19:16:43 -04:00
Mark Pictor
7c187a7372 add benchmarking code for linux; needs implemented on WIN32, OSX
* 'getMemAndTime()' can be used from C or C++
* 'benchmark' class calculates a delta for phys/virt memory and
   user/sys cpu time. Uses getMemAndTime() internally.
2012-08-07 19:10:22 -04:00
Mark Pictor
7df34d389b add cpp_stepcore label to run_ctest.cmake 2012-08-05 13:18:02 -04:00
Mark Pictor
2f18a1d867 improve the supertypesIterator unit test
According to lcov, coverage is now 89/102 lines, 24/28 functions.

The functions that are not tested are the destructors and the two
private functions defined in subtypesIterator.

The untested lines mostly have to do with null pointers; some or
all of them may be unnecessary, but I didn't look into it.
2012-08-05 09:09:56 -04:00
Mark Pictor
bf52eb4f87 change ctest test label in test/cpp/stepcore to be regex-friendly 2012-08-05 09:09:56 -04:00
Mark Pictor
dba5f86631 modify inverse_attr1.cc to use recursive supertype iterator 2012-08-05 09:09:56 -04:00
Mark Pictor
824fff48b4 working recursive subtypesIterator and supertypesIterator for EntityDescriptor
includes C++ test
2012-08-05 09:09:56 -04:00
Mark Pictor
6ea6b32a67 update lcov.cmake 2012-08-05 09:04:54 -04:00
Mark Pictor
35f80e8561 add lcov.cmake, modify data/CMakeLists.txt for faster lcov builds 2012-08-03 23:12:24 -04:00
Mark Pictor
2236a5be23 fix SCL_ENABLE_COVERAGE 2012-08-01 18:57:24 -04:00
Mark Pictor
35d54e1179 fix problem when linking with static libs 2012-08-01 18:57:24 -04:00
Cliff Yapp
86b9d78c52 harden managed sources file against weird pathnames 2012-07-31 20:38:55 +00:00
Nicholas Reed
ac09ff9cef don't use scl_memmgr.h definitions if mem checks aren't enabled 2012-07-30 20:29:37 +00:00
Nicholas Reed
58141c2e81 move classes to break cyclic dependency and document in clstepcore/README 2012-07-30 18:19:18 +00:00
Cliff Yapp
df2bb7ed4f Use semicolons in lists for SCL_ADD macros as well. 2012-07-30 12:46:46 +00:00
Mark
ad2675fc2a Merge pull request #203 from stepcode/review/attr_test
attribute test
2012-07-28 13:45:24 -07:00
Mark
0c534e80c3 Merge pull request #202 from stepcode/review/inverse_attr
Tests for inverse attributes
2012-07-28 13:45:09 -07:00
Mark
b6a7ca57b6 Merge pull request #201 from stepcode/review/misc
Review/misc
2012-07-28 13:44:54 -07:00
Cliff Yapp
579a0ebcec revert 51651 - breaks build on Linux 2012-07-24 13:32:40 +00:00
Nicholas Reed
35cfba6662 remove exception specifications 2012-07-24 04:14:37 +00:00
Nicholas Reed
87d6c92f15 have check-express compile its own EXPRESSinit_init definition like all the other programs that use fedex.c so we don't need to conditionally override an express dll definition on windows 2012-07-19 19:07:19 +00:00
Nicholas Reed
99b948b8f7 consistently use spaces rather than semicolons in list arguments 2012-07-19 15:49:35 +00:00
Nicholas Reed
1963a4f86a exppp needs base lib for getopt 2012-07-19 15:37:51 +00:00
Nicholas Reed
6b0dd0703a s/snprintf/sprintf in absence of snprintf wrapper. sprintf is pretty safe for this usage; SCL git 910faf0 2012-07-18 20:56:37 +00:00
Nicholas Reed
55d0f45e97 strictly match EXPRESSinit_init defs to the express.h declaration 2012-07-18 18:53:10 +00:00
Nicholas Reed
c695278a36 Rename fedex program to check-express. Need to link it against base lib; SCL git a42a448 2012-07-18 17:52:37 +00:00
Nicholas Reed
c5e7dc98ac don't bother making practically useless fedex -z debug flag portable; just remove it 2012-07-18 15:55:05 +00:00
Cliff Yapp
7eb24440a2 Thanks Keith for reminding me of the potential problem - strip newlines out of md5 calculations so Windows can't toss in a monkey wrench. 2012-07-18 15:24:25 +00:00
Cliff Yapp
aa06bf38cd Sync generated source file. 2012-07-18 15:22:10 +00:00
Cliff Yapp
c49527e19e fix SCL cmake logic 2012-07-17 21:03:37 +00:00
Cliff Yapp
540c67a3b9 Tweak handling of perplex template 2012-07-17 20:51:57 +00:00
Nicholas Reed
c55e374981 update dll export macros and remove local definitions; SCL git 7be54f3 2012-07-17 19:25:03 +00:00
Nicholas Reed
49e415bcfe rename getopt to sc_getopt and include it as part of base lib; SCL git 1a60cf9 and dd93a96 2012-07-17 16:43:35 +00:00
Nicholas Reed
760bb545ad remove conflicting EntityClassName declaration 2012-07-17 14:55:43 +00:00
Cliff Yapp
607e0bea00 hmm - exppp tried to build before fedex, and didn't have version_string. Make the version string dependency trigger on expres build 2012-07-17 02:07:29 +00:00
Cliff Yapp
2ff824da69 Upgrade template searching logic a bit, in light of new perplex build logic. In the 'standard' case, builds using perplex now stand a chance of 'just working' without requiring manual template specification. 2012-07-16 13:41:45 +00:00
Cliff Yapp
5e356462de Fix dependencies for verification targets. 2012-07-16 13:09:24 +00:00
Cliff Yapp
11610313ee ws 2012-07-16 12:59:54 +00:00
Mark Pictor
e2c6be367c attribute test - find an attribute by name 2012-07-14 22:36:00 -04:00
Mark Pictor
bd97d7353d fix logic for STEPaggregate in inverse_attr2.cc 2012-07-14 22:33:17 -04:00
Mark Pictor
40554b4a7f add inverse attr tests. currently, 2 of 3 fail 2012-07-14 19:09:09 -04:00
Mark Pictor
95738d8e4e fix intermittent (?!) gcc 4.7 error about c++-11 user-defined literals
scl_version_string.h:13:63: error: inconsistent user-defined literal suffixes ‘__TIME__’ and
  ‘__DATE__’ in string literal
scl_version_string.h:13:63: error: unable to find string literal operator ‘operator"" __TIME__’
2012-07-14 18:54:44 -04:00
Cliff Yapp
411c972e18 Use DEBUGGING_GENERATED_SOURCES to allow re2c debugging information to appear in re2c intermediate output. Disable normal behavior while doing so, so the debug-enabled output won't poison the MD5 management mechanism. 2012-07-14 22:45:56 +00:00
Mark Pictor
0173945c9b add bool verbose to STEPfile class
Defaults to false, in which case nothing is printed unless there is an error
2012-07-14 17:51:02 -04:00
Mark Pictor
346ced2369 initialize two vars, found by clang-analyzer 2012-07-14 17:51:02 -04:00
Cliff Yapp
b8fcdc8dbb Add management routines for syncing info back into the generated source tree. 2012-07-14 20:55:56 +00:00
Cliff Yapp
a4615bc967 Fix README and add header comment to verification info 2012-07-14 20:51:18 +00:00
Cliff Yapp
3e8449c10e Add necessary re2c flag 2012-07-14 20:11:51 +00:00
Cliff Yapp
4ca4441e6c Can't include debugging lines if we're going to manage the generated sources this way. 2012-07-14 20:11:14 +00:00
Cliff Yapp
241251f7ca Add a README file for the generated sources explaining how this will work... 2012-07-13 21:26:27 +00:00
Cliff Yapp
70afc8a933 Be noisy for now so it's clear what's actually going on, fix copy-paste error. 2012-07-13 21:00:55 +00:00
Cliff Yapp
92dcc912f9 More tweaks and added logic to generated source verification 2012-07-13 20:41:42 +00:00
Cliff Yapp
e7df44d80a Update generated sources to actually match the current inputs - this will eventually be automated but that part's not in place yet. 2012-07-13 19:15:45 +00:00
Cliff Yapp
29c16b7d28 Checkpoint some more work on generated src management. 2012-07-13 18:43:10 +00:00
Cliff Yapp
9b6c4f49a7 Start working on the easier verification case - verifying generated sources haven't been monkeyed with. 2012-07-13 16:01:09 +00:00
Cliff Yapp
4c7ca608bd Get a proper AUTO/ON/OFF toplevel configuration variable in place to control the use of perplex/re2c/lemon in SCL. 2012-07-13 14:27:23 +00:00
Nicholas Reed
47b8d512d9 missed ws and doxification changes from SCL git f9b9383 2012-07-12 22:42:41 +00:00
Nicholas Reed
86bd6f9ef2 use generated lemon variables to avoid unused warnings 2012-07-12 21:24:31 +00:00
Cliff Yapp
201188e704 Try to be a little more helpful with the template error message. 2012-07-12 20:32:42 +00:00
Cliff Yapp
f8918053c3 Don't want a BRL-CAD path hardcoded into the perplex CMake macros, now that the prospect of them being used elsewhere is real. 2012-07-12 20:22:53 +00:00
Cliff Yapp
0fea20a436 Start building towards an SCL build that can work with or without perplex/re2c/lemon. Fair bit more work to do - these are just the fundamental essentials. 2012-07-12 19:41:56 +00:00
Nicholas Reed
42f8870110 update python scripts to SCL git ee13526 versions 2012-07-12 18:12:40 +00:00
Nicholas Reed
6c1f70dc6e apply changes for fedex_python from SCL git 10999e7 and 2dcfaed 2012-07-12 17:51:33 +00:00
Nicholas Reed
76b497ad69 update fedex_python sources to SCL git 7ffbb73 versions, but use the classes.h declaration of the FundamentalType func for consistency 2012-07-12 17:35:23 +00:00
Nicholas Reed
02a7d82648 Include fedex_python subdir to make it easier to build fedex_python for testing. Make paths relative to avoid CMAKEFILES warning. 2012-07-12 16:55:38 +00:00
Nicholas Reed
c073fbecb9 combine multiple definitions of LISTempty 2012-07-11 22:57:25 +00:00
Cliff Yapp
ebc7f5876b Don't use absolte path for install directory. 2012-07-11 18:17:23 +00:00
Nicholas Reed
8ae4829c27 Add/remove files to match github data directory. Will use their copy of the edited ap203.exp to generate step-g sources. 2012-07-05 22:35:00 +00:00
Nicholas Reed
58f3cb825b remove unportable/unnecessary calls to unistd.h pause used after certain errors to allow attaching debugger 2012-07-05 18:07:40 +00:00
Mark
82499db511 Merge pull request #194 from stepcode/review/alias_type_test
Added test for alias type of enumeration
2012-07-05 10:08:51 -07:00
Mark
93d0b0a408 Merge pull request #192 from stepcode/review/cd209-case
Handle CASE labels that reference a select (AP209)
2012-07-04 15:49:44 -07:00
davyw
e54520f874 Fixed segfault produced by alias_type_test.exp and cd209 schema. 2012-07-04 22:15:50 +02:00
davyw
91a3aa7781 Added test schema to reproduce segfault issue with type alias to enumeration type. 2012-07-04 21:29:06 +02:00
Nicholas Reed
279c41c044 missing semicolon 2012-07-02 23:37:20 +00:00
Mark Pictor
0aad844270 add test schema 2012-07-01 14:58:44 -04:00
Nicholas Reed
3937d0918f scl_version_string.h needs to be generated before fedex.c is compiled 2012-06-29 21:25:29 +00:00
Nicholas Reed
27e68e4a3c Update version strings in fedex, fedex_plus, generated code, and documentation. SCL git 6851b27, fa615a1, dc30ee2, d190a1e, a33cba8, 698b9e0. 2012-06-27 18:38:03 +00:00
Mark
4eb9f2c71c Merge pull request #191 from stepcode/review/always-use-our-getopt
Use our getopt implementation on all platforms
2012-06-26 14:31:36 -07:00
Nicholas Reed
11891b723c add missing lib dependencies; SCL git d0293fd 2012-06-26 20:32:56 +00:00
Nicholas Reed
0f69844dc1 simplify function prototype; SCL git 07d8791 2012-06-26 19:35:53 +00:00
Nicholas Reed
996f32a9ab need shlwapi for Windows path handling routines; SCL git 02feb6f 2012-06-26 18:59:07 +00:00
Nicholas Reed
1344f264f5 Some unapplied changes from SCL git a362210, 696d8e3, and 2b46efb, mostly fixing STEPattribute::is_null. 2012-06-26 17:34:57 +00:00
Nicholas Reed
1483ccb839 Address warning about indexing with char type values based on ASCII characters (same problem as in r51103). Unlikely to be a problem in this case so just quell by casting to int. SCL git 512968e and 425a9c3. 2012-06-26 15:56:45 +00:00
davyw
a42a4489c9 link base lib, necessary for MSVC 2012-06-25 21:46:56 -04:00
Mark Pictor
dd93a96354 remove xgetopt from two CMakeLists, add export macro to sc_getopt.h 2012-06-25 21:46:56 -04:00
Mark Pictor
1a60cf9fab Use our getopt implementation on all platforms
* rename xgetopt.* to sc_getopt.*, move to src/base
* rename getopt() to sc_getopt()
2012-06-25 21:44:56 -04:00
Mark Pictor
22f6ceabc1 fedex_plus: don't put newline in ambiguous attribute warning 2012-06-24 14:01:16 -04:00
Mark Pictor
357bdc3374 in case labels, handle selects with enum supertypes 2012-06-24 13:59:53 -04:00
Mark Pictor
485cfa85d4 cleanup, and use bool in place of int in one place 2012-06-24 11:22:18 -04:00
Mark Pictor
f1470bbd4c add two parser warnings 2012-06-24 11:22:18 -04:00
Mark Pictor
948f2bc0c5 use INT_MAX, rather than SCL's 32-bit MAXINT 2012-06-24 11:22:18 -04:00
Nicholas Reed
fd24be30a3 s/cstddef/stddef.h/ for benefit of borland; SCL git e45d705 2012-06-20 22:19:10 +00:00
Nicholas Reed
4d3850a09b remove extra semicolons; SCL git 17cec63 2012-06-20 21:47:56 +00:00
Nicholas Reed
fb875c7ca6 support for checking read/write progress; SCL git 0bea3ef 2012-06-20 17:53:18 +00:00
Nicholas Reed
d8b54d53cc mark some member functions const; SCL git 225180f 2012-06-20 15:23:08 +00:00
Nicholas Reed
a537278efe fix memory leaks; SCL git 5aca337 and dd6ef88 2012-06-20 14:21:10 +00:00
Nicholas Reed
8c516936d3 fix memory leaks; SCL git a1d6b25 2012-06-19 20:19:24 +00:00
Nicholas Reed
2ab442da31 fix STEPaggregate memory leaks; SCL git 8a2665e 2012-06-19 20:02:20 +00:00
Nicholas Reed
6adc522307 stash unnamed types in a list so they can be freed; SCL git 04f4c1d 2012-06-19 19:53:35 +00:00
Nicholas Reed
3fa087693c free attributes list; SCL git c77471a 2012-06-19 19:44:06 +00:00
Nicholas Reed
d59bd5231c fix Registry memory leaks; SCL git a9173c8 and 626bb73 2012-06-19 19:18:25 +00:00
Nicholas Reed
c7b47d09ed print aggregate name instead of data member name; SCL git a72fa6e 2012-06-19 18:54:46 +00:00
Nicholas Reed
373fa50d32 cleanup from SCL git a86b035 and 6f60a8a 2012-06-19 18:46:27 +00:00
Nicholas Reed
c4d38fcf7c partial support for aggregate bounds that aren't compile-time constants; SCL git 7425e55d 2012-06-19 18:17:07 +00:00
Nicholas Reed
a96f0c37f3 more verbose warning message; SCL git c84330b 2012-06-19 16:31:32 +00:00
Nicholas Reed
1d60db3b0d remove #if 0 code; SCL git ee13cda 2012-06-19 16:24:45 +00:00
Nicholas Reed
f4930c648f fix memory leaks reported by scl_memmgr; SCL git f7cde9f 2012-06-19 16:19:38 +00:00
Nicholas Reed
ada967ec3f fix memory leaks reported by scl_memmgr; SCL git 3010afa 2012-06-19 16:09:55 +00:00
Nicholas Reed
205debf1ba add fedex_plus/express memory cleanup function; SCL git f5d0cc5 2012-06-19 15:53:06 +00:00
Nicholas Reed
6b0ac10023 avoid generating 'else if' to avoid MSVC limit of 128; SCL git dea7f8c 2012-06-19 15:19:44 +00:00
Nicholas Reed
d1d68df224 Use scl_memmgr in generated schema libraries. Since scl_memmgr.h makes "new" a macro, it has to be included after uses of placement new to avoid breakage. SCL git d8d293b. 2012-06-19 15:12:16 +00:00
Mark
fb45e4e581 Merge pull request #190 from stepcode/review/embarcadero_fixes
Review/embarcadero fixes
2012-06-17 18:49:33 -07:00
Nicholas Reed
cf48714396 use scl_memmgr in cleditor; SCL git 3be4220 2012-06-14 23:01:28 +00:00
Nicholas Reed
6a5ae3bdd3 use scl_memmgr in cldai; SCL git b49d2be 2012-06-14 22:39:46 +00:00
Nicholas Reed
da87dbff41 use scl_memmgr in clstepcore; SCL git 245ff14 2012-06-14 21:44:37 +00:00
Nicholas Reed
b8ae516287 use scl_memmgr in clutils; SCL git 010e02b 2012-06-14 20:48:23 +00:00
Erik Greenwald
2b0ee2546a use stdlib.h instead of malloc.h 2012-06-14 11:42:41 +00:00
Nicholas Reed
04e1aa42f1 use scl_memmgr in exppp and fedex_plus; SCL git 7ce8bcb and 4e0d73d 2012-06-13 23:04:33 +00:00
Nicholas Reed
885828c192 use scl_memmgr in express; SCL git 82c84e7 and 4d6d249 2012-06-13 21:13:59 +00:00
Nicholas Reed
e12f7c75b1 eliminate a temp buffer; SCL git 1cc2774 2012-06-13 17:16:59 +00:00
Nicholas Reed
2e8b3119c0 Apply SCL git 3fd2222 which removes scl_char_str_list class, but std::vector makes a better replacement than std::deque. 2012-06-13 16:33:50 +00:00
Nicholas Reed
4217aac569 break up generated strings; SCL git 212c114 2012-06-13 15:15:55 +00:00
Nicholas Reed
77ef3da9b4 Allocate aggregate members on heap. SCL git 809e1dd, 260fd55, and e421f70. 2012-06-12 20:08:12 +00:00
Nicholas Reed
e508fcfa4a remove 'backwards compatiblity' symbols; SCL git 1481950 and a63ac73 2012-06-12 18:53:08 +00:00
Nicholas Reed
6b15b82ff2 Warn about indexing binary types instead of failing. Allows fedex_plus to produce output for ap221 and ap235 express schemas. SCL git 4cd7e7c. 2012-06-12 18:22:26 +00:00
Nicholas Reed
173de43128 put enums in separate table; SCL git c415e49 2012-06-12 17:56:04 +00:00
Nicholas Reed
f6a5987ff2 Borland-specific stuff from SCL git c0c423c and 3a9fa99. 2012-06-12 17:36:31 +00:00
Nicholas Reed
bde6a38309 Have SDAI_String and SDAI_Binary wrap std::string rather than inherit from it. SCL git 82898d7. 2012-06-12 16:50:36 +00:00
Nicholas Reed
e6b0942a53 ws/style from SCL git 09f3472 and d94a449 2012-06-12 16:26:31 +00:00
Nicholas Reed
251c5f89fa Warn about indexing a select with mixed base types. SCL git 67f8897. 2012-06-12 16:08:18 +00:00
Nicholas Reed
dc78aae8e3 handle indexing on generics; SCL git ed76f0b 2012-06-11 17:12:34 +00:00
Nicholas Reed
b6f4eaac80 cleanup/ws from SCL git 1da31f6 and 3aee5f3 2012-06-11 16:49:25 +00:00
Nicholas Reed
956abc2c2f suppress return warning; SCL git f688f2a 2012-06-11 04:28:22 +00:00
Nicholas Reed
e6f28ac8e9 add process.h for getpid on windows; SCL git 870edbf 2012-06-11 04:13:26 +00:00
Nicholas Reed
163b9ad6c1 warning fixes from SCL git 07ed8f6, 0aa9b5d, and 2b0da3f 2012-06-08 22:37:39 +00:00
Nicholas Reed
a28463bc58 warning fixes from SCL git 7712b9b and 03fd892 2012-06-08 19:19:45 +00:00
Nicholas Reed
92ed62505e warning fixes from SCL git 166425a and dcdd77a 2012-06-07 22:02:54 +00:00
Nicholas Reed
8b0faebec8 warning fixes from SCL git 2179c8a and ca4940e 2012-06-07 21:47:51 +00:00
Nicholas Reed
ac5f37204a Prefix scl_hash routines with SCL_. SCL git 4740f4d and 737c53e. 2012-06-07 21:25:03 +00:00
Nicholas Reed
cc6a17707c Have fedex_plus generate dll import/export symbols. SCL git 80208dc. 2012-06-07 21:22:32 +00:00
Nicholas Reed
748543d68e support comments in entities; SCL git 4ddce86 2012-06-07 19:52:59 +00:00
Nicholas Reed
323655a596 fix buffer overrun based on SCL git 5e9dfd7 2012-06-07 19:17:37 +00:00
Nicholas Reed
eecb7b5484 add dll export symbols to cleditor; SCL git 2e01a01, c771b27, and 0869e41. 2012-06-07 18:29:00 +00:00
Nicholas Reed
29f5b2ca8d add dll export symbols to clstepcore; SCL git 0705c50 2012-06-07 17:54:43 +00:00
Nicholas Reed
0ffa309c52 add dll export symbols to cldai; SCL git c409145 2012-06-07 17:01:13 +00:00
Nicholas Reed
eea2ba965b add dll export symbols to clutils; SCL git 457d51e 2012-06-07 16:13:46 +00:00
Nicholas Reed
c817e0e77d actually add getopt sources 2012-06-07 15:45:47 +00:00
Nicholas Reed
89952aec17 Add public domain getopt implementation. SCL git c3f9ff5, dc302ea, and 2d26da7. 2012-06-07 15:40:40 +00:00
Nicholas Reed
d4fc6e1c6d more symbols for MSVC dll import/export; SCL git f853b99 2012-06-06 22:29:39 +00:00
Nicholas Reed
389ef8aa2d start adding symbols for MSVC dll import/export; SCL git ba12196 2012-06-06 21:44:33 +00:00
Nicholas Reed
e997b59c00 MSVC fixes from SCL git 6226717 and 879f509 2012-06-06 19:21:12 +00:00
Nicholas Reed
3e6bd5753b cleanup from SCL git 0bb182b and ed8474e 2012-06-05 22:29:58 +00:00
Nicholas Reed
0172078941 cleanup from SCL git cb35164 and 1cfb41d 2012-06-05 22:03:39 +00:00
Nicholas Reed
be9e0571a3 Put generated globals in a namespace. Namespace declaration written to *Names.h. SCL git 88e9634, da0a395, and 3ed8797. 2012-06-05 20:38:48 +00:00
Nicholas Reed
0892c602d4 ensure constructors receive non-null AttrDescriptor; SCL git e547807 2012-06-05 15:34:51 +00:00
Nicholas Reed
60d7c7d2aa Use UNKNOWN_TYPE when an attribute has no NonRefType. SCL git 6aa4695. 2012-06-05 15:20:36 +00:00
Nicholas Reed
75011aef99 generate spaces instead of tabs; SCL git 86b9f12 2012-06-05 15:10:46 +00:00
Nicholas Reed
b424d57de1 correct SCANsave_comment; SCL git c6bc7ec 2012-06-01 19:55:34 +00:00
Nicholas Reed
46739c90d1 Add strict flag to STEPread functions; affects handling of missing attributes. SCL git de3495d and 373d415. 2012-06-01 19:21:53 +00:00
Nicholas Reed
aa5db691b7 Simplify STEPread a bit. SCL git 6871bc4. 2012-06-01 18:51:19 +00:00
Christopher Sean Morrison
7f0e02545b don't believe I have any account names as morrison with stepcode affiliation 2012-06-01 04:03:04 +00:00
Nicholas Reed
1a26526506 better error printing; SCL git 99abb18 and 6b95067 2012-05-31 22:37:27 +00:00
Nicholas Reed
ed115dd36f cleanup from SCL git c497168 2012-05-31 19:41:35 +00:00
Nicholas Reed
1deb8e7d6a Another int/bool substitution. This is SCL git b277759; r50791 was actually SCL git 1b69382. 2012-05-31 19:05:17 +00:00
Nicholas Reed
dd71942cd7 change return type to bool; SCL git 4dc0891 2012-05-31 18:40:29 +00:00
Nicholas Reed
271e273464 Simplify filepath handling and use more std::string and bool. SCL git 19a1bae and b277759. 2012-05-31 18:23:09 +00:00
Nicholas Reed
1e193e15b1 Apply SCL git f5a130a. Loosens restriction on dictionary duplicates. 2012-05-30 20:49:59 +00:00
Nicholas Reed
5b2c572651 Remove some unneeded functions. SCL git 1faaf69 and 2d7ed17. 2012-05-30 19:38:02 +00:00
Nicholas Reed
e13738a95a optimize utype_member based on SCL git 27ce560 2012-05-30 18:36:58 +00:00
Nicholas Reed
23309a2e47 Allow local variables to have generic types; fixes failure on ap239 express schema. SCL git 254b5a3. 2012-05-30 16:48:05 +00:00
Nicholas Reed
4690188bc7 Remove a few unnecessary extern declarations. SCL git aef6e73, 5c8c5aa, 15f9c40. 2012-05-29 22:24:14 +00:00
Nicholas Reed
794d34bf90 Have STEPfile::schemaName return std::string instead of writing char* arg. SCL git b8fc557. 2012-05-29 19:06:22 +00:00
davyw
3acbefd9ab Fixed linker errors for fedex_python on embarcadero bcc32.
* xgetopt.c was only included for MSVC on fedex_python, now BORLAND has been
  added.
* Added two additional functions to be exported from libexppp since they
  are used by fedex_python.
2012-05-26 20:09:57 +02:00
davyw
7ffbb73d2a Fixed build errors of classes_python.c for embarcadero bcc32.
* Functions that are used without a prototype generate an error on bcc32.
  By adding forward declarations of those functions, this issue is resolved.
* Local variable declarations cannot be intermixed with code on msvc and bcc32
  this was the case two times and have been moved.
2012-05-26 20:08:24 +02:00
davyw
e45d7054a8 Replaced 'cstddef' include by 'stddef.h' to fix build for bcc32.
* It seems embarcadero bcc32 cannot handle cstddef include so it's replaced
  by stddef.h.
2012-05-26 20:05:59 +02:00
Mark
c8d40dcf9d Merge pull request #189 from stepcode/review/version0.6
Version 0.6
2012-05-26 09:51:49 -07:00
Mark Pictor
698b9e0371 Update text files for v0.6
Add v0.6 info, and change urls in those files
2012-05-25 22:12:37 -04:00
Mark Pictor
a33cba8cef renamed - change urls, strings 2012-05-25 22:05:12 -04:00
Nicholas Reed
9db54adc32 apply SCL git e72ca29; remove some superfluous boolean types and use std bool more often 2012-05-24 22:57:28 +00:00
Nicholas Reed
ad0ba3daed Apply changes from SCL git 4858af2 removing code supporting step files (N279 files) that pre-date ISO 10303-21:1994. 2012-05-24 16:23:25 +00:00
Nicholas Reed
6943ebf7ea apply header guard symbol change from SCL git d1cd32b 2012-05-22 19:53:26 +00:00
Nicholas Reed
0cb96100b7 apply rest of SCL git 290850a: change output suffix of aggregate select types from 's' to '_agg' 2012-05-22 18:52:23 +00:00
Nicholas Reed
0a09505be8 apply more changes from SCL git 290850a: cleanup some multiple inheritance code - passing around attribute list to print routines instead of rebuilding it 2012-05-22 17:58:52 +00:00
Nicholas Reed
2c0f3e7185 Add collectAttributes function based on the one added by SCL git 290850a. 2012-05-17 22:06:42 +00:00
Nicholas Reed
d663062e5b Apply changes based on SCL git 6e9b5a7. Creates GetLiteralStr function to implement and extend functionality common to SDAI_String::STEPread and PushPastString. 2012-05-17 16:58:03 +00:00
Mark
8808a38a2e Merge pull request #187 from mpictor/review/remove-semicolon
remove semicolon
2012-05-17 02:08:02 -07:00
Mark
76adc60ac3 Merge pull request #185 from mpictor/tp/python-generator-stage2
Tp/python generator stage2
2012-05-16 18:08:06 -07:00
Mark
3275d36d80 Merge pull request #181 from mpictor/review/update_scl_macros
update scl_utils macros for linking on apple and windows
2012-05-16 17:07:15 -07:00
Nicholas Reed
0ffd0d7ac2 consolidate definitions of STRING_DELIM 2012-05-15 22:04:21 +00:00
Nicholas Reed
fcebd71231 Apply changes from SCL git 1016b07. Use std::string more frequently and move ErrorDescriptor message strings to stack to simplify things. 2012-05-15 19:40:43 +00:00
Mark Pictor
17cec63877 remove semicolon 2012-05-14 21:24:54 -04:00
charliestirk
5f39d9a466 Merge pull request #186 from mpictor/review/remove-players-theater-file
Oops, PlayersTheater.stp isn't IFC2X3
2012-05-11 18:54:28 -07:00
Mark Pictor
363a82e6a8 Oops, PlayersTheater.stp isn't IFC2X3 2012-05-11 21:09:39 -04:00
tpaviot
598e91a092 Small cleanup 2012-05-11 12:15:14 +02:00
tpaviot
e313f9b3a0 Fixed TYPEprint_init prototype (not used in fedex_python though) 2012-05-11 12:08:25 +02:00
tpaviot
ee13526af5 * Better support of where/rules functions
* Bugfix in OPTIONAL attributes
2012-05-11 12:08:25 +02:00
tpaviot
58e340b36c Added new unittest for functions; better switch/case implementation; added missing SQRT builtin function; 2012-05-11 12:08:24 +02:00
tpaviot
f5787c6225 Started implementing where rules 2012-05-11 12:08:24 +02:00
tpaviot
4dc0e38c99 Implemented TYPEOF (to be continued) 2012-05-11 12:08:24 +02:00
tpaviot
1131c3042f Better implementation for defined datatypes 2012-05-11 12:08:24 +02:00
tpaviot
71c90857ed New implementation for expressions 2012-05-11 12:08:24 +02:00
tpaviot
7e5c20ea92 Implemented function support at the fedex_python level 2012-05-11 12:08:24 +02:00
tpaviot
891589683f Refactored the ENUMERATION class so that test_enum_entity_name schema passes 2012-05-11 12:08:24 +02:00
tpaviot
94b2dde59c Removed buggy code from TypeChecker 2012-05-11 12:08:24 +02:00
tpaviot
b8275218a8 Fixed inheritance bug. single_inheritance_multi_level now passes 2012-05-11 12:08:23 +02:00
tpaviot
b4458bbe79 Moved algorithms support to a class definition 2012-05-11 12:08:23 +02:00
tpaviot
2dcfaedae2 Implemeted functions/rules prototypes (to be continued) 2012-05-11 12:08:23 +02:00
tpaviot
ae8d48481a Implemented 80% of the builtin constants/functions/procedures 2012-05-11 12:08:23 +02:00
tpaviot
f049631f70 Made REAL and INTEGER inherit from NUMBER 2012-05-11 12:08:23 +02:00
tpaviot
217dd34edf Implemented SET type 2012-05-11 12:08:23 +02:00
tpaviot
bda4c94ed7 Implemented BAG type 2012-05-11 12:08:22 +02:00
tpaviot
b2dd22cc84 Added a new unitary schema + fixes 2012-05-11 12:08:22 +02:00
tpaviot
004235d0c2 unitary schema test_array passes 2012-05-11 12:08:22 +02:00
tpaviot
803323549e Improved ENUMERATION and SELECT implementation 2012-05-11 12:08:22 +02:00
tpaviot
754ae304fa Added schema name definition 2012-05-11 12:08:22 +02:00
tpaviot
78916d9b4d Improved test suite 2012-05-11 12:08:22 +02:00
Nicholas Reed
28d20d7497 Cleanup in clstepcore. SCL git 239ce49 and f9b9383. 2012-05-10 21:06:46 +00:00
Nicholas Reed
1ed73e89e3 Fix and doxify comments, plus misc cleanup. SCL git 3e8c116, 5dc0439, 5d36b32, and 65791a2. 2012-05-10 18:08:22 +00:00
Mark
bad745c9b9 Merge pull request #184 from mpictor/review/ap203a1-mod
add modified ap203 amd 1, with comment explaining change
2012-05-09 17:34:50 -07:00
Nicholas Reed
c8b44e85d0 remove some commented code 2012-05-09 19:20:57 +00:00
Nicholas Reed
66b84a9220 SCL git de55c37, remove unused variables 2012-05-09 19:14:56 +00:00
Mark Pictor
da91e9735c add modified ap203 amd 1, with comment explaining change 2012-05-08 20:24:03 -04:00
Nicholas Reed
7f6dee74c5 Remove P21CommentRep() and move p21Comment string to stack to simplify things. SCL git 219957d. 2012-05-08 22:17:53 +00:00
Nicholas Reed
b234662361 Make HASHsearch item param const. SCL git defe0dd. 2012-05-08 20:14:54 +00:00
Nicholas Reed
396dd5218d apply SCL git 0d9c16d, which fixes fedex_plus failure on ap203e2 schema 2012-05-08 19:53:13 +00:00
Nicholas Reed
28916bb4b9 Rewrite PushPastString to avoid two consecutive get/putback as identified by SCL git abb3add. Also if first char on stream isn't string delimiter, don't take it off the stream. 2012-05-08 19:20:00 +00:00
Mark Pictor
758a45089e fix quotes 2012-05-05 11:17:45 -04:00
Mark Pictor
3df1d1ccce EXCLUDE_FROM_ALL cannot be set on targets that are installed
so either test a target or install it, but not both
2012-05-05 11:06:54 -04:00
Mark Pictor
f125079519 sdai should be lowercase 2012-05-05 11:06:54 -04:00
Mark Pictor
7be54f3fec update scl_utils macros for apple flags and for windows dllimport/dllexport 2012-05-05 11:06:54 -04:00
Mark
b72eea6fac Merge pull request #183 from mpictor/review/p21-binary-values
fix bug with binary values not being saved to disk
2012-05-05 06:13:06 -07:00
Christopher Sean Morrison
f2fe965efe rename STDCXX_LINKLIB to STDCXX_LIBRARIES to comply with cmake's documented convention (and it can require multiple libraries like -lm and -lc, too) 2012-05-03 22:15:52 +00:00
Nicholas Reed
388b4bfad6 Apply SCL git 900d94d. fedex_plus no longer generates make_schema file. 2012-05-03 21:31:33 +00:00
Nicholas Reed
23457460da remove some goto statements based on SCL git a13ba21 and ecd400c 2012-05-03 21:08:16 +00:00
Nicholas Reed
70d7961f48 ws and old comment removal from SCL git 657a283 2012-05-03 20:28:34 +00:00
Nicholas Reed
62692cf89d Using std::string c_str() too much and empty() not enough. SCL git 2295e71 and b759a0e. 2012-05-03 20:23:49 +00:00
Cliff Yapp
51acac30c2 Try to make the stdc++ usage a matter of detection instead of hardcoding. Untested on systems which would show the issue. 2012-05-03 17:41:23 +00:00
Nicholas Reed
940e36c51a cpp initialization warning fixes from SCL git f727293, b6bebbb, and 3156ea7 2012-05-03 16:32:49 +00:00
Nicholas Reed
7d85c6b602 signed/unsigned comparison changes based on SCL git f479cf4 and 402225e 2012-05-03 15:28:28 +00:00
Christopher Sean Morrison
f6838a13ec more stl linkages for external deps compiling through cache or different compilers 2012-05-03 15:27:42 +00:00
Nicholas Reed
421f2986ce apply cleanup changes from SCL git 9f83ece, 5e6ebb0, and ca50d53 2012-05-02 15:54:07 +00:00
Nicholas Reed
6686e3fdbd fix missing types, prototypes, and returns based on SCL git 562f4de, 6e6b8ca, 2dc4e7e, fd1d32c, 99407fb, and b5238df 2012-05-01 23:06:33 +00:00
Nicholas Reed
a71b0c9c3c reject SCL git df8f8d5 and replace temp array with vector 2012-05-01 21:16:52 +00:00
Nicholas Reed
2b1225b666 use stringstream to correctly print file id, SCL git 71b3a28 2012-05-01 19:52:00 +00:00
Nicholas Reed
bb76855e7b minor string comparison improvements from SCL git 1ad14e1, 70a8382, 7a6ba24, c316f21, and 572e9ad 2012-05-01 18:22:21 +00:00
Nicholas Reed
ba3b9630de apply changes from SCL git f678f0b, but extract assignments used as truth values for benefit of windows 2012-04-26 22:18:45 +00:00
Nicholas Reed
a5c57c35a2 add default switch cases as in SCL git b10a697, but avoid using abort if the error can be logged and/or returned 2012-04-26 20:26:01 +00:00
Nicholas Reed
11ba91566f Remove rcsid strings from sources and don't generate Id comments. SCL git 922a795 and 9367823. 2012-04-26 15:56:42 +00:00
Nicholas Reed
61897133a0 remove another unused variable (LISTdo already creates one) identified in SCL git 0153f15 2012-04-25 21:23:19 +00:00
Nicholas Reed
f9d51babb1 apply SCL git db70465 removing more unused variables 2012-04-25 21:13:34 +00:00
Nicholas Reed
33e60d0fce apply more commented code removal from SCL git c0b2b05, 37bbfd3, 9324acc, d7410be, 62304a7, and 0dccb8b 2012-04-25 20:48:51 +00:00
Nicholas Reed
ee32a6569d ignore spaces in generate_attribute_name. SCL git 1ebee6d 2012-04-25 18:11:50 +00:00
Nicholas Reed
d295c826bf replace shorts with ints along the lines of SCL git d2baec0, but be more judicious in using unsigned versus signed 2012-04-25 17:50:44 +00:00
Nicholas Reed
377d8f06a0 some const char corrections including remaining changes from SCL git 4cf16d7 2012-04-24 22:17:06 +00:00
Nicholas Reed
b25720d212 changes based on SCL git d35f73f and 696d8e3 2012-04-24 21:54:40 +00:00
Christopher Sean Morrison
1cd4f0455b initialize all of the class members. cid 2014 UNINIT_CTOR. 2012-04-24 06:36:12 +00:00
Nicholas Reed
68e7d4a37c apply changes from SCL git d6da40c and 275977d (commented code removal/style) 2012-04-18 21:34:10 +00:00
Nicholas Reed
fa3369d04a remove unused variables and functions identified in SCL git 8ce79ec, 73cc97f, e98d00f, 63295f1, and 2a0ee4e 2012-04-18 16:29:33 +00:00
Nicholas Reed
ece611293e Apply SCL git d6d7c48 changes. SCLP23 macros replaced with simple SDAI_ prefix. 2012-04-17 22:53:53 +00:00
charliestirk
9ca98fc4ce Merge pull request #180 from mpictor/review/ifc-extension
when testing p21read, also look for files with .ifc ext
2012-04-16 19:07:34 -07:00
Mark Pictor
c56ed86391 when testing p21read, also look for files with .ifc ext 2012-04-16 20:37:26 -04:00
Nicholas Reed
c1eacdeda9 missing function prototypes causing bad compilation on Mac 10.6 2012-04-11 22:07:26 +00:00
Nicholas Reed
7d94a85225 Ah, I see now. g++ warning was from conversion when calling default constructor EntNode(char *nm = (const char[])""). Git 8e256d7 suppressed warning by calling with (char*)"". Real solution is to make the parameter const. 2012-04-11 05:20:17 +00:00
Nicholas Reed
e90a2a08c3 might as well match git formatting 2012-04-10 22:27:03 +00:00
Nicholas Reed
0990335a2e EntNode doesn't have a no-parameter constructor; construct from empty string. SCL git 8e256d7. 2012-04-10 22:18:49 +00:00
Nicholas Reed
141698b21a variable initializations informed by SCL git cc155a8 and b9156ad 2012-04-10 22:02:29 +00:00
Nicholas Reed
f2e9a876bf Remove unused variables as identified by SCL git 89237b8, 860bd45, 90de2d7, d56117f, f3e2eaf, and 7a68580. 2012-04-10 21:09:51 +00:00
Nicholas Reed
35df9bbd16 Address unused variable warnings first quelled in r41173. Rather than creating 30 named pointer vars, create a pointer array and use a cleaned-up version of SCL git c1b5743 to choose a good size for it. 2012-04-10 19:02:12 +00:00
Mark Pictor
2b46efb15f fix bug with binary values not being saved to disk
For SDAI_Binary, STEPattribute::is_null() cleared the value instead of
merely reporting whether it was null, like it does with other types.
2012-04-09 12:21:15 -04:00
Cliff Yapp
3c344b80e4 Need quotes for this comparison... 2012-04-05 17:42:40 +00:00
Cliff Yapp
b96f54d1f8 libs->libslist, per 49867 2012-04-05 17:38:15 +00:00
Nicholas Reed
22ad90bc1e remove unused variables as seen in SCL git 1492641 and 2b31086 2012-04-04 16:57:11 +00:00
Cliff Yapp
73cef38b50 Take a stab at making configure_file cmakefiles appending more robust 2012-04-04 05:30:19 +00:00
Nicholas Reed
6080416843 match SCL git style 2012-04-03 22:43:02 +00:00
Nicholas Reed
29202c20dd sync with SCL git 993167e 2012-04-03 21:56:30 +00:00
Nicholas Reed
d64e923ce2 Fix printf format errors. Informed by SCL git c075554, 0366706, af7d90d, ec41f80, d33d4c5, and e52c290. 2012-04-03 21:19:16 +00:00
Nicholas Reed
afad910fd2 sync comment changes from 7b54e23 2012-04-03 18:01:54 +00:00
Cliff Yapp
0df1493ee5 Finally bite the bullet and start reworking the build logic to be robust to weirder source and build directory names. This is not everything needed, but it's a step in the right direction. 2012-04-02 00:25:21 +00:00
Cliff Yapp
f10c37964c let the toplevel build tell us where to put scl man pages 2012-04-01 04:47:38 +00:00
Cliff Yapp
8bdec9821f add newline 2012-04-01 04:46:20 +00:00
Cliff Yapp
68b59d8057 Significant simplification of the distcheck logic - reduce it to two macros, one of which calls the other. Add documentation, improve behavior in some corner cases, enforce a convention we already pretty much followed by default of using relative paths to specify source files in the source tree (this is a robust way to spot generated files in build target definitions, since support for an out of directory build requires that they be specified with their full CMAKE_BINARY_DIR output path.) 2012-03-30 02:04:54 +00:00
Nicholas Reed
25a6d5f355 apply warning fixes from SCL git 19e501a 2012-03-29 23:06:55 +00:00
Nicholas Reed
25e267a8b6 Replaced basic.h's Boolean/True/False with bool/true/false via stdbool.h or else scl_stdbool.h. Includes changes from SCL git e40cbca and 71bd7b2. Honest attempts made to ensure all affected symbols were actually being used as real booleans (as opposed to sdaiEnum.h's trinary Boolean type). 2012-03-29 22:27:28 +00:00
Nicholas Reed
644354668d remove references to non-existant dir.h and SCLString to match SCL git a0353bc version 2012-03-28 15:48:04 +00:00
Nicholas Reed
5340c63d9e initialize some uninitialize variables; SCL git b9156ad 2012-03-27 23:03:27 +00:00
Nicholas Reed
262606f75d remove unused variable; SCL git 47b4963 2012-03-27 22:34:15 +00:00
Nicholas Reed
6358186861 restore STACKempty macro that was removed in r47243 for no particular reason 2012-03-27 22:19:19 +00:00
Nicholas Reed
5ca5b8eadf Removed references to PART26/CORBA and ODI_OSSG. Corresponds primarily to SCL git e99240a, d6aa13f, and 4c5a8e0. 2012-03-27 21:31:16 +00:00
Nicholas Reed
a28c0dfce5 remove references to OODB/O3DB as in mpictor git repo ca0824d and d067534 2012-03-27 17:56:00 +00:00
Nicholas Reed
8c8f2a1114 run astyle on SCL sources with misc/astyle.cfg options 2012-03-27 17:07:44 +00:00
Nicholas Reed
87db60ef9e remove fedex_idl program; removed from mpictor git repo in dbbf4b9 2012-03-22 20:45:09 +00:00
Nicholas Reed
1fc5a42515 remove symlink program; removed from mpictor git repo in 23cf6a5 2012-03-22 18:52:00 +00:00
Cliff Yapp
f701e8b558 don't use a generic IS_SUBBUILD variable - bad idea. 2012-03-22 18:04:32 +00:00
Nicholas Reed
0339bad7b5 Replaced generated cleditor sources with tweaked copies of the 388901d versions from the mpictor git repo. These were apparently generated by running fedex_plus on the Ed 2 header schema (http://www.steptools.com/sc4/archive/imp-methods/10303-21-header.exp). 2012-03-22 18:02:47 +00:00
Cliff Yapp
d6d2b81736 Make a stab at syncing with the github data dir - we need to keep ap203edit.exp, since that's the one that works with our step-g converter. 2012-03-22 17:58:14 +00:00
Cliff Yapp
5f63f3d021 Don't need the messages when SCL is a subbuild. 2012-03-22 17:05:54 +00:00
Cliff Yapp
830a7b7b90 Grab some minor changes from github 2012-03-22 16:57:13 +00:00
Cliff Yapp
ed20839ae9 Sync step doc dir to github, except convert postscript files to pdf and fix page ordering of Fed-X document 2012-03-22 16:05:11 +00:00
Cliff Yapp
7474ff5c5d More syncing with github tree 2012-03-22 00:46:23 +00:00
Cliff Yapp
4fa0761fb0 Edge our CMakeLists.txt file and tree a little closer to the github tree. base and fedex_python are turned off and ignored for the moment. 2012-03-22 00:24:59 +00:00
Nicholas Reed
10acf91f29 remove SCL clivfasd; deemed obsolete and removed from mpictor git repo in a0353bc 2012-03-21 23:25:41 +00:00
Cliff Yapp
75cac9e7d2 Add other toplevel files, update step.dist 2012-03-21 23:21:19 +00:00
Cliff Yapp
aac512674a Go ahead and sync the toplevel files from https://github.com/mpictor/StepClassLibrary - not all of them apply to our branch as yet, but the idea is to sync the two trees so get these out of the diff. Eventually we'll have a patch to submit back to the github project, so updates to these files for things like re2c/lemon will be part of that. 2012-03-21 23:13:10 +00:00
Cliff Yapp
c4337773bc go with the mpictor github capitalization 2012-03-21 23:03:37 +00:00
Nicholas Reed
8f28936755 remove unused config/* 2012-03-21 19:41:25 +00:00
Cliff Yapp
bc435afa88 Rework handling of config.h files, with an eye towards hitting the disk less - seems to shave a couple seconds off the configure process on Linux. 2012-03-21 17:20:24 +00:00
Nicholas Reed
196e21bda3 remove step autotools files 2012-03-20 22:49:44 +00:00
Nicholas Reed
3f9d668a31 move some sdai sources from clstepcore to cldai 2012-03-20 18:04:35 +00:00
Cliff Yapp
d1b7573bfb Nevermind the LoadMacros hack - just prevent the re2c/lemon macro definitions from being overwritten if they're already defined using Alexander Neundorf's tip from http://www.cmake.org/pipermail/cmake/2008-February/019776.html. BRL-CAD defines 'em first, so the src/other copies won't get loaded (makes sure older versions of macro files that might linger in src/other don't stomp misc/CMake versions) but stand-alone builds will use the local copies. Properly set up search ordering with CMAKE_MODULE_PATH should take care of this for the find_package commands, but the utility macros are separate and so must be handled differently. 2012-03-20 15:13:31 +00:00
Nicholas Reed
1b43b259f6 ensure null termination as well 2012-03-15 20:14:04 +00:00
Nicholas Reed
e6baf92f96 incorrect copy loops were indexing past end of source strings 2012-03-15 18:29:19 +00:00
Nicholas Reed
9df6204b59 remove miscellaneous unused files 2012-03-14 21:43:49 +00:00
Nicholas Reed
b000a0ac37 Address warnings about non-explicit base class initialization by adding intialization list to generated copy constructors. 2012-03-13 21:28:51 +00:00
Nicholas Reed
d3c13659c9 Generated step sources raising return-type qualifier warnings from improper use of const.
Implement intended behavior by returning const versions of typedef'ed reference types.
Related to r49068.
2012-03-13 19:17:31 +00:00
Nicholas Reed
fae03984b3 suppress unused variable warnings 2012-03-08 21:16:22 +00:00
Nicholas Reed
10bf6f0e68 remove unused variables 2012-03-08 19:06:03 +00:00
Nicholas Reed
1b2e58ae50 added the steptools ap express schemas 2012-03-06 23:17:54 +00:00
Nicholas Reed
3e9f2a1b46 Copy changes to the commited SdaiCONFIG_CONTROL_DESIGN.cc, which disables adding of certain parent-class attributes on object creation, to the corresponding generation code. 2012-03-06 17:43:46 +00:00
Nicholas Reed
c4a778d9dc logic looked a hair off (trying recovery even if bad bit set). rewrite for readability. 2012-03-01 00:55:15 +00:00
Nicholas Reed
98c86ca618 remove references to non-existent function 2012-02-28 22:04:22 +00:00
Nicholas Reed
c15837b374 fix bad int- and float-to-string conversions 2012-02-28 22:03:09 +00:00
Nicholas Reed
a4856540ca address some constant string warnings 2012-02-28 01:33:08 +00:00
Nicholas Reed
a31636decc don't output unused variable 2012-02-18 00:24:49 +00:00
Nicholas Reed
fdcdace0fb remove some dead code 2012-02-17 22:53:34 +00:00
Nicholas Reed
6776c955b3 try to fix strings changed to std::string that still called non-existant chars member function 2012-02-17 22:25:56 +00:00
Nicholas Reed
0d5086e2f2 another missed ignore 2012-02-15 21:54:25 +00:00
Nicholas Reed
3cdf71448c looks like we forgot to ignore a token 2012-02-15 19:41:41 +00:00
Cliff Yapp
a952951011 Hopefully this will get things cleaned up on Windows again. Untested. 2012-02-07 23:56:12 +00:00
Cliff Yapp
26c30fe859 remove debug message 2012-02-02 22:03:08 +00:00
Cliff Yapp
8e16be7d49 Try to be better about using misc/CMake .cmake files by default. Tweak the listing of additional files to clean from lemon output. 2012-02-02 22:00:34 +00:00
Cliff Yapp
e5a22dbde8 Clean up some ws in src/other 2012-02-02 21:02:48 +00:00
Cliff Yapp
8373d1f54a Sync src/other copies of LEMON_Util.cmake 2012-02-02 20:24:19 +00:00
Christopher Sean Morrison
6b092c9b26 more static_inline propagation so we support strict c89 mode 2012-02-02 17:26:56 +00:00
Christopher Sean Morrison
6031eed107 include getopt.h directly in case we're compiling in strict c89 mode 2012-02-02 17:26:19 +00:00
Christopher Sean Morrison
5ca90a9685 use static_inline instead of 'static inline' so that we're consistent with other uses and expand correctly to the right symbols for this compilation 2012-02-02 17:07:10 +00:00
Christopher Sean Morrison
c06a398cad use __inline__ instead of inline for c89 compilation 2012-02-02 17:06:21 +00:00
Cliff Yapp
08bb5f0e18 Quote SOURCE in case of spaces in pathnames... 2012-02-01 00:29:16 +00:00
Cliff Yapp
131f57fca4 Dispose of the one-off CHECK_C_FILE_RUNS and instead enhance CHECK_C_SOURCE_RUNS. Will try to contribute the change upstream. 2012-02-01 00:19:48 +00:00
Cliff Yapp
3dcb1e73b8 Fix shiftwidth for vim in .cmake files 2012-01-31 23:42:37 +00:00
Cliff Yapp
886638bee0 Go with 'lib' for all instances of CMAKE_LIBRARY_OUTPUT_DIRECTORY 2012-01-26 22:09:06 +00:00
Christopher Sean Morrison
50677bf3e4 might make merging a bit more difficult or (more likely) repeats work already done in the github tree, but helps ease our sanity in the meantime. eliminate a slew of gcc warnings about string literals being passed as char* parameters when they should be treated immutable. mark them all const. 2012-01-25 17:22:38 +00:00
Christopher Sean Morrison
b1bceaa0e9 more warning quellage. shouldn't pass string constants to char* parameters as they should be considered immutable/const. make SelectTypeDescriptor() constructor take a const char* instead, fortunately TypeDescriptor's constructor is correct. 2012-01-25 17:10:32 +00:00
Christopher Sean Morrison
6b7f399391 Can't take it any longer. Doggy bag all the gcc vomit about SCL's qualified type errors. Reduces the build log by about 16MB, 78k warning lines, approx 765 unique instances.
Quell them all with a teeny little one-liner bit of scripting based on the build log output:
for match in `grep  qualifiers build.log | sort | uniq | cut -d: -f1,2` ; do export file="`echo $match | cut -d: -f1`" ; export line="`echo $match | cut -d: -f2`" ; export pline="`expr $line - 1`" ; if test "x`sed -n ${pline}p 
$file |grep const`" = "x" ; then sed -n ${line}p $file ; sed "${line}s/\([[:space:]]*\)const \(.*\)/\1\2/" < $file > $file.sed ; mv $file.sed $file ; else sed -n ${pline}p $file ; sed "${pline}s/\([[:space:]]*\)const \(.*\)/\1\2/" < $file > 
$file.sed ; mv $file.sed $file ; fi ; done
As to the issue at hand, there is no such thing as returning a "const int".  It's just a value (same goes for all the non-pointer return types).  Old SGI compiler was one of the first to be pedantic about that mistake, but gcc wised up a few 
years ago and warns about it now too.
2012-01-25 17:08:27 +00:00
Keith W. Boman
18bc940d9c make sure to ClearEntries() when array instances not owned by MgrNodeArray otherwise parent class GenNodeArray will try and delete memory error 2012-01-24 16:01:14 +00:00
Keith W. Boman
7f3b342631 fix size in memset() initialization when growing buffer 2012-01-24 15:53:20 +00:00
Christopher Sean Morrison
c01aeb2564 initialize all of the class fields. fixes report from coverity UNINIT_CTOR check. (cid 2034) 2012-01-13 22:00:59 +00:00
Christopher Sean Morrison
e233e25ca6 initialize all of the class fields. fixes report from coverity UNINIT_CTOR check. (cid 2014) 2012-01-13 21:50:56 +00:00
Cliff Yapp
2a1f499e41 Go ahead and depend on the template file when running lemon - it's usually static, but we just had a case where it WAS changed, so check in the future. 2012-01-12 18:23:05 +00:00
Nicholas Reed
8981be6057 default code was being appended to rule code to prevent fall-through; now requiring a cl flag to avoid generating unreachable code 2012-01-10 19:34:45 +00:00
Christopher Sean Morrison
0ede760df7 strcpy() is unsafe to use given the 'n' argument is a parameter to the function. use strncpy() instead so we can always null-terminate the result. issue detected in brl-cad coverity scan (cov cid 1925) 2012-01-10 19:21:09 +00:00
Nicholas Reed
523b4f55bf don't generate unused variables, per r41173 2012-01-04 00:29:58 +00:00
Nicholas Reed
337c9627b7 need to generate default return statement per fix in r41174 2012-01-03 23:18:28 +00:00
Nicholas Reed
b70133d5f4 adding a modified ap203 express file that fedex_plus doesn't fail on 2012-01-03 19:30:17 +00:00
Nicholas Reed
8377dbb6ee remove old debug header 2011-12-30 19:55:18 +00:00
Nicholas Reed
e1051779fb fixed a few typos 2011-12-22 18:57:13 +00:00
Nicholas Reed
e2b4034cca initial build of step express parser using perplex scanner 2011-12-21 22:52:20 +00:00
Cliff Yapp
eb4277651e Do a little rework on the lemon target macro - saw an error: Error renaming from 'expparse.c' to 'expparse.c': No such file or directory - this might happen if lemon does something wrong, but it could also mean lemon isn't done and the copy command tries to proceed anyway, so split out the steps to make intermediate file dependencies explicit - may help. 2011-12-21 15:55:17 +00:00
Cliff Yapp
1c866ef86c Nick says he created this for debugging purposes and it can go. 2011-12-21 15:49:44 +00:00
Cliff Yapp
61bdb96f6c Not really sure what's going on with printScope here... 2011-12-20 16:56:14 +00:00
Cliff Yapp
599f3d3cbc Rework the non-tcl 3rd party logic as well. Split the build target macros for code generators into their own files, so we don't have to load the Find*.cmake files in all situations. 2011-12-19 23:27:37 +00:00
Cliff Yapp
47aa527416 Update the other FindLEMON files 2011-12-17 05:37:26 +00:00
Cliff Yapp
b7084fa317 Make another stab at reworking the third party executable logic - idea is to support specifying the full path to an executable from the command line and have 'the right thing' happen. 2011-12-09 00:50:17 +00:00
Cliff Yapp
462fa0dc36 Make sure the executables are present before we try doing anything with them. 2011-12-06 22:27:38 +00:00
Keith W. Boman
e8b8f05f38 Looks like possible debugging code left in during the scl_string -> std::string rework breaking STEPattribute::is_null() for STRING_TYPE and BINARY_TYPE, commented out for now. 2011-12-06 12:23:14 +00:00
Keith W. Boman
1c7b8d7062 Fixed asStr(), was broken in the scl_string -> std::string rework. 2011-12-06 12:14:53 +00:00
Christopher Sean Morrison
d717297ebd sync top-level cmake file 2011-11-23 23:16:03 +00:00
Cliff Yapp
6436a4acbf quiet messages for now 2011-11-10 00:36:21 +00:00
Nicholas Reed
b4e103b7bb FindYACC no longer used; removed 2011-11-09 23:58:06 +00:00
Cliff Yapp
6e40b38922 Get the FindLEMON logic working with the new paradigm (specifying the target header file) 2011-11-09 23:41:32 +00:00
Nicholas Reed
e1a8024be0 modified CMakeLists for alt lemon macro 2011-11-09 22:58:50 +00:00
Nicholas Reed
9ffcfa1901 add modified lemon_target macro 2011-11-09 22:53:04 +00:00
Nicholas Reed
eed953bc7f s/int/YYSTYPE for yylval. Incorrect type was causing memory corruption. 2011-10-28 18:37:14 +00:00
Nicholas Reed
bb8311ce72 add declarations for lemon functions 2011-10-28 17:27:20 +00:00
Nicholas Reed
d283a377b2 s/malloc/calloc 2011-10-27 16:42:28 +00:00
Nicholas Reed
8c7fcb42f3 set dangling pointers to null 2011-10-27 15:48:44 +00:00
Nicholas Reed
b298adc117 have lemon print message on stack overflow 2011-10-27 15:47:37 +00:00
Nicholas Reed
048fd88764 remove dead code 2011-10-25 20:20:49 +00:00
Nicholas Reed
d5c55d38e3 Added missing rule assignment. Lemon parser now gives same (error) output as bison parser for all but ap239. 2011-10-24 20:31:57 +00:00
Nicholas Reed
da6d81dc54 pass null to parser at eof 2011-10-24 15:49:52 +00:00
Nicholas Reed
692c719d65 making progress; learning about the Express object structure as I go 2011-10-21 22:35:30 +00:00
Nicholas Reed
4dd5d7b527 Developing routine to print parser return object, useful for inferring parser behavior. 2011-10-21 16:57:53 +00:00
Nicholas Reed
1905a9bf8d add token printing debug routine 2011-10-19 18:13:21 +00:00
Nicholas Reed
4661cb3a7a typo in action was causing segfault 2011-10-14 21:54:38 +00:00
Nicholas Reed
211f2a0091 Doing state init via func call since lemon isn't running start-symbol action as soon as bison was. 2011-10-14 18:56:40 +00:00
Nicholas Reed
c6fe2ce2f5 yylval is YYSTYPE, not int 2011-10-14 16:53:53 +00:00
Nicholas Reed
1dd850a500 remove references to non-existent headers 2011-10-14 00:30:23 +00:00
Nicholas Reed
5909d1e4fb Removed toggled declarations/definitions in headers. Headers include only declarations, and explicit definitions found in appropriate sources. 2011-10-13 23:54:37 +00:00
Nicholas Reed
a6b8716614 added missing header guard 2011-10-13 21:44:44 +00:00
Nicholas Reed
ff889c05c3 remove reference to non-existant file 2011-10-12 23:05:54 +00:00
Nicholas Reed
fc98a4054b remove debug output 2011-10-12 19:53:30 +00:00
Nicholas Reed
95c2bb03be making lemon parser sources the only parser sources 2011-10-12 19:50:33 +00:00
Nicholas Reed
cf321c3663 replaced conditional variable declarations with explcit ones to simplify building 2011-10-12 19:43:11 +00:00
Nicholas Reed
44a8dfeb81 putting token type definition in its own header 2011-10-12 17:27:27 +00:00
Nicholas Reed
b5ed3600ab build new scanner output into new libexpress 2011-10-12 17:14:02 +00:00
Christopher Sean Morrison
68228fe957 #include ridiculousness. full path to sys/stat.h (and dirent) is not portable. 2011-10-11 22:57:12 +00:00
Nicholas Reed
8930c1ccf5 added new version of express.c with lemon parsing loop; building fedex_plus with lemon as well 2011-10-07 21:29:42 +00:00
Nicholas Reed
711a2cef0e got lemon source compiling; not yet operational 2011-10-06 16:56:52 +00:00
Nicholas Reed
6df7c52f2a working through type-mismatch compile errors 2011-10-06 13:49:25 +00:00
Nicholas Reed
efe951cac4 Added disabled macros to build temp fedex_new target for development. Added expscan.re to build against, but it has not yet been converted to re2c. 2011-10-04 12:56:50 +00:00
Nicholas Reed
35e8415d99 seems lemon requires real type name in type declaration 2011-10-04 00:36:24 +00:00
Nicholas Reed
b43c5c0652 making choice for ambigous reduction explicit to suppress conflict error from lemon 2011-10-03 23:25:19 +00:00
Nicholas Reed
bfc6d0eaea indent/ws 2011-10-03 15:59:33 +00:00
Nicholas Reed
8945eb187a added initial bison to lemon syntax conversion of expparse.y 2011-09-30 23:48:20 +00:00
Cliff Yapp
6f1b223018 oops 2011-09-26 22:06:49 +00:00
Cliff Yapp
4d735c956d Redo comments a bit in src/other/CMakeLists.txt 2011-09-26 21:58:22 +00:00
Christopher Sean Morrison
bf0b0a4d0b ws consistency removing trailing ws and much more (see sh/ws.sh) 2011-09-09 21:08:06 +00:00
Cliff Yapp
dfae3b641f Key the static lib building on the build type. Exposed a problem with making the trigger variable an OPTION in sub-builds - doing so forces the setting into the cache and makes it impractical for the AUTO_OPTION macro to do its thing. Fortunately, the only files doing that were the ones we wrote - corrected them, and we're good to go. 2011-08-13 06:54:39 +00:00
Christopher Sean Morrison
0c7abc474e leaking something nasty 2011-07-28 05:41:28 +00:00
Christopher Sean Morrison
f7522b6646 delete the instances before deleting the container, don't just clear them. plugs memory leak (though there is still lots to go for scl) 2011-07-28 05:38:12 +00:00
Christopher Sean Morrison
b0b93e6043 plug a memory leak accounting for almost a half MB. delete the InstMgr master and sorted master manager node arrays. 2011-07-28 05:17:44 +00:00
Christopher Sean Morrison
e167bee956 update with a few topics that have been mentioned of late 2011-07-27 22:40:48 +00:00
Christopher Sean Morrison
bb20c582f1 add support for reading exchange/express/step input from standard input. if the filename provided is a '-', it will be treated special to imply standard input. 2011-07-27 21:11:54 +00:00
Christopher Sean Morrison
b23d6a610e fix a bug introduced with the conversion of SCL's string management to using STL's std::string. null values were getting injected into the parsing output since std::string will happily record a zero-character and keep track of how long the c-string buffer is independent of null-termination. the streams happily print the entire buffer (i.e., not relying on null termination) causing literal '\0' values to get output. fix was simple, don't append '\0' values. should no longer be needed since empty std::string will stream empty. 2011-07-27 17:50:37 +00:00
Christopher Sean Morrison
f825e2777d update the README to reflect the current directory contents. was referring to files and classes that were renamed/refactored and/or no longer exist. 2011-07-27 17:42:05 +00:00
Christopher Sean Morrison
5859f5376f revert r45653, unintentional inclusion of a bug fix that begs documenting 2011-07-27 17:40:59 +00:00
Christopher Sean Morrison
44e2ed7dd8 update the README to reflect the current directory contents. was referring to files and classes that were renamed/refactored and/or no longer exist. 2011-07-27 17:37:28 +00:00
Christopher Sean Morrison
3463a96811 ws consistency 2011-07-27 17:30:53 +00:00
Keith W. Boman
04696cd4e4 Changed parameter 'schnm' back to 'const char *' for functions SchRename::rename() and TypeDescriptor::Name(). 2011-07-27 13:42:18 +00:00
Christopher Sean Morrison
bf190ca779 std::string are declared in <string>, not <string.h>; fix r45627. 2011-07-27 04:17:25 +00:00
Cliff Yapp
b466fe754b OK, I think we've gotten rid of 'em now - try again to remove scl_string 2011-07-26 15:21:20 +00:00
Christopher Sean Morrison
d9ffe0695d eliminate all of the __OSTORE__ sections. considered dead code because there was no managed way to enable those code sections. appears to be a binding to a commercial API (Progress Software Corp's ObjectStore product), so remove in favor of simplified code maintenance and reduced complexity. removes almost 3k lines of code. 2011-07-26 12:35:48 +00:00
Christopher Sean Morrison
7c0e7bd258 apply sf patch 3377904 (fixed a bug with step-g and null strings) from Zach Easterbrook ( lainiwakurax ) which indeed fixes the step-g crash, but still doesn't restore it to a functional status. aborts with a message about a NULL std::string. 2011-07-26 04:31:59 +00:00
Cliff Yapp
1748c60cfe Take a stab at removing scl_string altogether. 2011-07-25 22:59:58 +00:00
Cliff Yapp
6c96daaf88 remove remainder of SCLstring uses 2011-07-25 22:20:12 +00:00
Cliff Yapp
8176031a2d Remove some commented out code containing SCLstring 2011-07-25 21:57:44 +00:00
Cliff Yapp
c474742ab9 CMakeLists.txt too 2011-07-25 21:32:58 +00:00
Cliff Yapp
e06fc8056d Wait until we're sure they're gone. 2011-07-25 21:32:04 +00:00
Cliff Yapp
bcfdc91cda Doesn't look like scl_string.cc/h are being used - yank 2011-07-25 21:19:34 +00:00
Christopher Sean Morrison
6d7d08e25b apply sf patch 3376896 (All instances of SCLstring changed to std::string) from lainiwakurax. patch converts scl converts almost all instances of SCLstring in SCL to standard STL strings. tested minimally with a few ap203 conversions that all seemed to parse and convert equivalently. outstanding. 2011-07-25 21:02:57 +00:00
Christopher Sean Morrison
8a9c6a7918 from mpictor's commit fixing a crash from newer versions of flex, 37ac5dc82f; which is from a gentoo spim patch, which seems to have originated from a fedora patch. apparently yy_init was changed from meaning 'needs to be initialized' to 'was initialized', effectively flipping the boolean meaning. 2011-07-10 19:16:06 +00:00
Christopher Sean Morrison
7133ef4f1a remove the SCLLOG/SCLBOOL wrappers on the SCL Boolean and Logical enums. they were being conditionally put into a namespace in order to be protected in case they're used within a 3rd party context (like CORBA) that might also define same-named enums, but the macrofied protection just adds complexity. iff a conflict is encountered, the types can be put into an SCL or P23 or SDAI namespace. 'Boolean' would be prime for outright removal/replacement with 'bool' except it also supports an unknown value so keep it around for now. 2011-06-20 15:22:16 +00:00
Cliff Yapp
501b514c0c Needs more testing, but simplify down the install dir variables. 2011-06-06 20:48:22 +00:00
Erik Greenwald
c4759aeea0 add CMake/* stuff to EXTRA_DIST 2011-06-06 19:36:22 +00:00
Erik Greenwald
56d50c6af9 add scl_cf_cmake.h.in to EXTRA_DIST 2011-06-06 19:35:03 +00:00
Erik Greenwald
d8e7edccd9 Add CMakeLists.txt to EXTRA_DIST. 2011-06-06 18:40:56 +00:00
Cliff Yapp
f23ef842d1 Fix step files in trunk 2011-02-14 20:11:08 +00:00
Cliff Yapp
2005bef165 We should have a working autotools build with the step tweaks now - make trunk step directory match that from CMake. Since there is no previous CMake build for the step subdirectory, go ahead and put everything here. 2011-02-12 00:35:17 +00:00
Cliff Yapp
809e66fb20 This isn't the right fix for this - revert 2011-01-31 22:34:29 +00:00
Cliff Yapp
0f90276b96 Hmm - warning flags got passed to step, which isn't happy - maybe could ignore, but since we're maintaining the code anyway might as well... 2011-01-28 00:52:42 +00:00
Cliff Yapp
9444d875be Try replacing $(ECHO) with echo in the Makefile.am files - the newest libtool is using a printf expression for $(ECHO) that is resulting in extra n characters at the end of lines. 2010-11-05 14:08:22 +00:00
Erik Greenwald
c0f6c0a4c6 allow autoconf to see the local m4 dir 2010-10-30 00:00:30 +00:00
Christopher Sean Morrison
33f4d3e312 add the NOWARN flag everywhere effectively disabling compilation warnings for all of our external dependencies (except for libz, libpng, and libregex just because they're already fairly quiet). clean up CFLAGS in step where they should be CPPFLAGS as well. 2010-04-22 18:38:19 +00:00
Christopher Sean Morrison
0663115ccd step needs to check/set the NOWARN flag just like our top-level configure since it's copying what we do. 2010-04-22 18:35:24 +00:00
Erik Greenwald
00680e37d7 add the osX.5 x86 64b flag (should finding the 64b flag be a BC_ macro?) 2010-04-15 12:42:29 +00:00
Keith W. Boman
47455cfdab more warning quellage, also pushed back mods to fedex_plus generated code 2009-12-30 16:21:33 +00:00
Erik Greenwald
2b756856b6 quell some cast warnings... (probably should have a "const char *" method, instead) 2009-12-29 15:32:44 +00:00
Keith W. Boman
2d6f9fc453 Cleaned up CPP defs to quell compiler warning. 2009-12-29 12:42:19 +00:00
Christopher Sean Morrison
33d4c3f1ba rename the BOOL and BOOLS classes to BOOLEAN and BOOLEANS respectively so as not to conflict with openNURBS (and other codes that commonly use BOOL as a simple boolean type). this also conveniently makes the class name lengths match the corresponding LOGICAL and LOGICALS classes. unsure about the Bool->Boolean declarations and how they come into play, alas, so have to see if those need to be unrolled for the actual step parsing. 2009-12-22 15:36:37 +00:00
Christopher Sean Morrison
33cbf3e02d oops, SCL has its own configure.ac, use the CL-prefixed vars (most importantly adding/keeping libdai) 2009-12-03 00:40:34 +00:00
Christopher Sean Morrison
80596d76ab curiously, still using the CL* vars instead of what configure.ac is providing. link failure generating resolved dylib. 2009-12-03 00:38:33 +00:00
Christopher Sean Morrison
10f76901b3 reverse the strict-build variable to be consistent with the others, remove AC_C_PROTOTYPES (we assume c89 compliance as a minimum) 2009-11-19 01:27:39 +00:00
Cliff Yapp
db3f477222 Bad developer. Update the Makefile.am too. 2009-11-16 16:31:22 +00:00
Cliff Yapp
fb3f7bc9b6 Add a TODO about getting the NIST code to actually generated the correct code for src/conv/step 2009-11-16 16:29:21 +00:00
Christopher Sean Morrison
e0b84b22e5 more removal for brevity 2009-11-16 13:08:01 +00:00
Christopher Sean Morrison
c0ee5923d7 remove loads of unnecessary stuff. should reduce configure time some. 2009-11-16 12:50:42 +00:00
Christopher Sean Morrison
e06d0b6236 iomanip.h is obsolete, but doesn't even seem to be used. if needed, probably should be <iomanip> instead. 2009-10-28 15:40:47 +00:00
Christopher Sean Morrison
7744d466b1 sys_errlist[] is deprecated, using strerror() instead 2009-10-19 22:15:06 +00:00
Christopher Sean Morrison
12705222fa gcc 2.95 has fmtflags in the ios:: class instead of ios_base:: 2009-10-19 21:24:06 +00:00
Keith W. Boman
c24c26eb46 Cleaned up some memory freeing calls reported by valgrind 2009-10-15 16:32:48 +00:00
Erik Greenwald
67b354ceff Twist up how package headers are included. Heimdall has a "resolv.conf" that is installed and sometimes is grabbed instead of include/express/resolve.h, so pull the express include directory up a level and refer to headers as, say, "express/resolve.conf". 2009-08-25 14:56:56 +00:00
Keith W. Boman
6d186dae2f re-ordered some class member initialization to quite compiler
warnings
2009-07-21 10:15:09 +00:00
Christopher Sean Morrison
f713a48bd5 already had a version-info on LDFLAGS, fix autoreconf failure 2009-07-20 04:20:16 +00:00
Erik Greenwald
beafe2c3ab chuck in some version info for installed libraries. Mimick BRL-CAD lib version (for now). 2009-07-16 18:16:47 +00:00
Christopher Sean Morrison
ebdd04c499 apply a simple patch that should hopefully fix sf bug 2820579, reported by Jeff Meldrum (jspaces) regarding a const to non-const conversion. according to a handful of online sources, c++ apparently changes the signature of strrchr from the posix C decl with two overloaded possibilities, both input and return are either const or non-const. 2009-07-13 13:36:00 +00:00
Christopher Sean Morrison
27a235f089 more cleanup, o-p-l and removal of empty nil vars 2009-06-01 17:18:22 +00:00
Christopher Sean Morrison
4944b7264a oops, not dependent on itself 2009-06-01 16:43:30 +00:00
Christopher Sean Morrison
b1d38adf24 we can cheat and fake the dependency resolve by letting libstepdai depend on libstepcore and allowing libstepcore to not require all symbols be defined. this cyclic dependency really should be broken, though, as it will likely still cause portability problems. the SDAI functions shouldn't be called from libstepcore. 2009-06-01 07:30:06 +00:00
Christopher Sean Morrison
1961e49784 these libs fully resolve after specifying libexpress as a dependency 2009-06-01 07:24:37 +00:00
Christopher Sean Morrison
52f1d9d11f move the needFunc stubbed-empty example from src/test into here so that we don't have a library calling a fracking undefined symbol. bad design. probably needs to be an overridable virtual or a app-registered callback. either way, this resolves all symbols for this lib and allows -no-undefined to work. sort the file list while at it. 2009-06-01 07:22:06 +00:00
Christopher Sean Morrison
6fb77c212f clutils comes first, then clstepcore needs to come next. looks like cldai depends on both. 2009-06-01 07:14:04 +00:00
Christopher Sean Morrison
3d5d6f18a1 define all of the generated libraries so we can make sure all dependencies are resolved 2009-06-01 06:01:52 +00:00
Christopher Sean Morrison
454fd89651 need -fexceptions on C++ libs to resolve Unwind_Resume. this lib fully resolves now. 2009-06-01 05:21:57 +00:00
Christopher Sean Morrison
4ad0f06af5 one per line for diffability, remove extraneous tab, can't ldadd something not necessarily built 2009-06-01 05:21:14 +00:00
Keith W. Boman
dc9a71a92b removed '-no-undefined' to get build rolling, will go back and resolve library dependencies 2009-05-27 11:36:56 +00:00
Christopher Sean Morrison
e0644deaa5 this file swapped the var ordering on one of the libs, flags go on FLAGS 2009-05-26 14:04:15 +00:00
Christopher Sean Morrison
9d22d8f99c indicate that all of the step libs shouldn't be version-managed by libtool so that it doesn't create bogus/meaningless version suffixes. add -avoid-version -no-undefined to hint libtool accordingly. this is in response to sf (build system) bug 2796656 from pedro (incorrect numbering of shared libraries). 2009-05-26 06:02:48 +00:00
Erik Greenwald
6ca7808969 ok, ok, NULL is not necessarily 0. 2009-05-07 23:26:46 +00:00
Erik Greenwald
f6e84e9101 Change the exists() method to return a bool. This only seems to be
used in that capacity and causes 32/64b issues by using the address
as "true" and NULL as "false".
2009-05-07 23:23:39 +00:00
David Loman
5cdc65f5be Changed a return type from int to long in order to support building on 64bit hardware. 2009-05-07 14:55:20 +00:00
Cliff Yapp
7f9465a01f Whoops. Commit fixes for src/other/step Makefile.am files so they will work with multiple processor building. 2009-05-01 02:25:47 +00:00
Keith W. Boman
89460bbe21 Replaced static token table with one generated from lexer. 2009-04-30 19:50:12 +00:00
Keith W. Boman
0d7f8d977a Added "dirobj.cc" to step utils library for test programs also added the DEFS header
file "scl_config.h" and additional header checks for "unistd.h" and "sys/stat.h" to
"dirobj.cc". Replaced "scl_cf.h" usage with "scl_config.h" to reflect current config.
2009-04-09 12:16:25 +00:00
Keith W. Boman
185cf1f89d added hash initialize calls to the registry constructor, the registry hash tables were not being
initialized properly from the test programs. Also added checks in hash functions to make sure hash
is initialized only once.
2009-04-09 12:01:48 +00:00
Keith W. Boman
ed51d6e80e yylineno fixed to properly track parser line numbers 2009-04-09 11:53:52 +00:00
Keith W. Boman
962fd4b130 Added unistd.h to header checks and memcpy, memmove to function checks 2009-04-09 11:51:18 +00:00
Keith W. Boman
536b069161 Added standard C++ library via LIBSTDCXX variable to build where needed. 2009-03-18 12:18:28 +00:00
Cliff Yapp
9cc7dd13be Add a few notes on the current state of the STEP libraries. Since things are now passing distcheck, pass the baton over to the 'make functionality fixes and develop new functionality' folk. 2009-03-16 21:40:55 +00:00
Christopher Sean Morrison
dadc27c53b more distcheck fixes. few files missing from dist and a few that can die with the old build system gone. 2009-03-14 19:11:46 +00:00
Cliff Yapp
987b7b8dd5 Add BUILT_SOURCES to EXTRA_DIST for step 2009-03-14 03:26:56 +00:00
Cliff Yapp
6bb762fdd4 Don't need autogen.sh in this directory while step is acting as a part of brlcad 2009-03-13 21:04:57 +00:00
Cliff Yapp
52969af6b0 Add configure to DISTCLEANFILES. Previous commit message was incorrected - added configure.ac to EXTRA_DIST files, NOT DISTCLEANFILES. 2009-03-13 18:47:18 +00:00
Cliff Yapp
90e08c63e7 Oops, step's configure.ac should be in the DISTCLEANFILES list. 2009-03-13 18:33:28 +00:00
Cliff Yapp
1f6529c238 OK, looks like a flag may be needed for flex 2009-03-12 19:51:08 +00:00
Cliff Yapp
c4dde7ac8f OK, one more time with the step include files. 2009-03-12 19:39:49 +00:00
Cliff Yapp
ab6538dc13 Clean up old config stuff in step 2009-03-12 17:42:03 +00:00
Cliff Yapp
ef69381828 One more misc Makefile.am cleanup 2009-03-12 17:37:21 +00:00
Cliff Yapp
e7903916de Few more fixes for step build system 2009-03-12 17:15:57 +00:00
Cliff Yapp
c9f26dc862 More step build tweaks. 2009-03-12 17:05:24 +00:00
Cliff Yapp
d5bb3b1f6f Whoops - put the right prefix.m4 back 2009-03-12 16:34:47 +00:00
Cliff Yapp
6b50cec77b Oh, yeah - those include links shouldn't assume in-source build 2009-03-12 13:01:27 +00:00
Cliff Yapp
73ff706ae0 Add in some more headers to scl Makefile.ams 2009-03-12 12:45:58 +00:00
Cliff Yapp
885657e82e Ahem - as I was trying to do before the power went out, add in conf so step configure has some version numbers to work with. 2009-03-12 12:32:30 +00:00
Cliff Yapp
abe537e0f4 Add the clstepcore headers to Makefile.am as noinst for now. 2009-03-12 02:49:47 +00:00
Cliff Yapp
28139378d0 Whoops - fix noinst_HEADERS in exppp 2009-03-12 02:41:05 +00:00
Cliff Yapp
996e49da22 Add includes needed for original header locations in cldai 2009-03-12 02:31:16 +00:00
Cliff Yapp
e94dfc0941 Add includes needed for original header locations in cleditor 2009-03-12 02:28:29 +00:00
Cliff Yapp
4472c52bee Add includes needed for original header locations in clstepcore 2009-03-12 02:25:15 +00:00
Cliff Yapp
556c609762 Put clutils headers back where they came from 2009-03-12 02:04:16 +00:00
Cliff Yapp
05b5f71d3e Put clstepcore headers back where they came from 2009-03-12 02:00:09 +00:00
Cliff Yapp
cc78f04662 Put cleditor headers back where they came from 2009-03-12 01:49:27 +00:00
Cliff Yapp
ac0828276d Put cldai headers back where they came from 2009-03-12 01:43:19 +00:00
Cliff Yapp
3602d83a30 Stuff the other dirs behind EXTRA_DIST for now, and bring them out later if they should be elsewhere. 2009-03-11 20:01:16 +00:00
Cliff Yapp
3b6c79ea92 Merge in most of the changes made thus far. Probably won't build yet as new Makefile.am stuff is untested, but getting close 2009-03-11 19:33:38 +00:00
Cliff Yapp
dd4a90b8e8 Add some Makefile.am files to various directories 2009-03-11 19:09:40 +00:00
Cliff Yapp
84b982f316 Add step/misc directory 2009-03-11 18:47:09 +00:00
Cliff Yapp
4f87b25cf3 More inching forward in STEP 2009-03-11 18:45:04 +00:00
Cliff Yapp
9494156606 Clear out arch_template and bin 2009-03-11 18:24:20 +00:00
Cliff Yapp
26284475e8 Start setting up standard README, COPYING, NEWS, etc. files 2009-03-11 18:21:21 +00:00
Cliff Yapp
2172653174 Add back in the properly named sdaiDaObject.cc 2009-03-11 17:41:20 +00:00
Cliff Yapp
618e76d496 Update STEP code to version from http://www.statik.tu-cottbus.de/fileadmin/project_dth/scl/ This configuration is closer to building on many platforms but will need special options to configure not supplied by default. As this is not the final form the libraries will take in the BRL-CAD tree no attempt is made to work with this build structure. One more commit will be needed for a file renaming but after that point modifications will be due to BRL-CAD developers. (Note - two files named src/fedex_plus/.pure and src/express/.Sanitize are added here that were also present in the original distribution but were missed.) 2009-03-11 17:38:46 +00:00
Cliff Yapp
b848b4c049 Begin the process of adding NIST's STEP Class Libraries code to the BRL-CAD tree. This first commit sets up the build logic for a src/other/step subconfigure and imports a step tree which is the original NIST STEP 3.2 release, minus some temporary files and an old file in src/cldai that causes conflicts on case insensitive filesystems. This is not expected to be a buildable configuration - it is included to preserve the original state of the libraries in case it is needed. 2009-03-11 16:58:16 +00:00
640 changed files with 325471 additions and 497937 deletions

169
.appveyor.yml Normal file
View file

@ -0,0 +1,169 @@
version: '{build}'
# for Appveyor CI (windows)
os: Windows Server 2012 R2
clone_folder: c:\projects\STEPcode
#grab zip instead of git clone
shallow_clone: true
platform: x64
configuration: Debug
# errors or couldn't be found by cmake
# - GENERATOR: "Visual Studio 9 2008"
# ARCH: 32
# - GENERATOR: "Visual Studio 10"
# ARCH: 32
#no point in these without artifact support...
# - GENERATOR: "Visual Studio 11"
#ARCH: 32
#- GENERATOR: "Visual Studio 12"
#ARCH: 32
environment:
matrix:
- GENERATOR: "Visual Studio 12 Win64"
ARCH: 64
# build:
# parallel: true
# project: ALL_BUILD.vcxproj
#appveyor limits compile/test to 30 minutes
# to reduce time, only test schemas with files: ifc2x3, ap214e3, ap209
build_script:
- ps: |
cd c:\projects\STEPcode
mkdir build
cd build
cmake -version
grep --version
cmake .. -DSC_ENABLE_TESTING=ON -G"$env:GENERATOR" -DSC_BUILD_SCHEMAS="ifc2x3"
cmake --build . --config Debug --target tst_inverse_attr3
#msbuld seems to provide no benefits, and I can't filter its output...
#msbuild SC.sln /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" /p:Configuration=Debug /p:Platform=x64
# /toolsversion:14.0 /p:PlatformToolset=v140
test_script:
- cmd: echo inverse_attr3 test 100x
- cmd: cd c:\projects\STEPcode\build
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: echo 10
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: echo 20
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: echo 30
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: echo 40
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: echo 50
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: echo 60
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: echo 70
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: echo 80
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: echo 90
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: bin\tst_inverse_attr3 ..\test\p21\test_inverse_attr.p21
- cmd: echo 100
- cmd: echo done
# - cmd: grep -niB20 "Test Failed" Testing/Temporary/LastTest.log
# we could upload a compiled zip somewhere (see Appveyor artifact documentation)

3
.gitignore vendored Normal file
View file

@ -0,0 +1,3 @@
/build
*.kdev4
.kdev_include_paths

8
.travis.yml Normal file
View file

@ -0,0 +1,8 @@
sudo: false
language: cpp
compiler:
- clang
script: mkdir build && cd build && cmake .. -DSC_ENABLE_TESTING=ON && make -j3 && ctest -j2 --output-on-failure
os:
- linux
- osx

View file

@ -5,20 +5,29 @@ http://brlcad.svn.sourceforge.net/viewvc/brlcad/brlcad/trunk/src/other/step/?vie
In alphabetical order:
Bertucat, Roch (rbertucat)
Bowman, W. Keith (indianlarry)
da Costa, Raphael Kubo (rakuco)
DeGraw, Jason (jasondegraw)
Easterbrook, Zach (lainiwakurax)
Greenwald, Erik (erikg, erikgreenwald)
Horler, Chris (cshorler)
Lanning, Craig (craigl64)
Loman, David (davidloman)
McDonald, Rob (ramcdona)
Mittal, Pulkit (hoiji09)
Morrison, Christopher Sean (sean, morrison, brlcad)
Paviot, Thomas (tpaviot)
Pictor, Mark (mpictor)
Reed, Nick (nickreed)
Shah, Kesha (kesha, keshashah)
Thomas, Dawn (homovulgaris, madant)
Wouters, Dave (davyw)
Yapp, Clifford (starseeker)
Special thanks:
Hunten, Keith (Lockheed Martin)
Lubbell, Joshua (NIST)
Stirk, Charlie (CostVision)
Thurman, Tom (TRThurman)
Between 2005 and 2006, Stefan Richter worked to make SCL compatible with
modern ANSI/ISO C++, and modified the build system. His patches are at

View file

@ -1,6 +1,6 @@
# C M A K E L I S T S . T X T F O R S C L
# C M A K E L I S T S . T X T F O R S T E P C O D E
#
# This file is Copyright (c) 2010 United States Government as
# This file is Copyright (c) 2010 United States Government as
# represented by the U.S. Army Research Laboratory.
#
# Redistribution and use in source and binary forms, with or without
@ -32,333 +32,131 @@
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# *******************************************************************
# *** SCL's CMakeLists.txt ***
# *** STEPcode's CMakeLists.txt ***
# *******************************************************************
# This file contains the top level CMakeLists.txt logic for the
# SCL software package.
# This file contains the top level CMakeLists.txt logic for the
# STEPcode software package.
PROJECT(SCL)
project(SC)
# SCL version
SET(SCL_VERSION_MAJOR 0)
SET(SCL_VERSION_MINOR 5-dev)
SET(SCL_VERSION ${SCL_VERSION_MAJOR}.${SCL_VERSION_MINOR})
# SC version
set(SC_VERSION_MAJOR 0)
set(SC_VERSION_MINOR 7-dev)
set(SC_VERSION ${SC_VERSION_MAJOR}.${SC_VERSION_MINOR})
# SCL ABI version. SCL_ABI_SOVERSION should be incremented
# SC ABI version. SC_ABI_SOVERSION should be incremented
# for each release introducing API incompatibilities
SET(SCL_ABI_SOVERSION 2)
SET(SCL_ABI_VERSION ${SCL_ABI_SOVERSION}.0.0)
set(SC_ABI_SOVERSION 2)
set(SC_ABI_VERSION ${SC_ABI_SOVERSION}.0.0)
# Minimum required version of CMake
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
IF(COMMAND CMAKE_POLICY)
cmake_minimum_required(VERSION 2.8.7)
if(COMMAND CMAKE_POLICY)
CMAKE_POLICY(SET CMP0003 NEW)
ENDIF(COMMAND CMAKE_POLICY)
IF( NOT DEFINED SCL_BUILD_TYPE )
SET( SCL_BUILD_TYPE "Debug" CACHE STRING "Build type" ) # By default set debug build
ENDIF( NOT DEFINED SCL_BUILD_TYPE )
IF(NOT SCL_IS_SUBBUILD)
SET(CMAKE_BUILD_TYPE ${SCL_BUILD_TYPE} CACHE INTERNAL "Build type, immutable" FORCE )
ELSE(NOT SCL_IS_SUBBUILD)
SET(CMAKE_BUILD_TYPE ${SCL_BUILD_TYPE} )
ENDIF(NOT SCL_IS_SUBBUILD)
# Define helper macro OPTION_WITH_DEFAULT
MACRO( OPTION_WITH_DEFAULT OPTION_NAME OPTION_STRING OPTION_DEFAULT )
IF( NOT DEFINED ${OPTION_NAME} )
SET( ${OPTION_NAME} ${OPTION_DEFAULT} )
ENDIF( NOT DEFINED ${OPTION_NAME} )
OPTION( ${OPTION_NAME} "${OPTION_STRING}" ${${OPTION_NAME}} )
ENDMACRO( OPTION_WITH_DEFAULT OPTION_NAME OPTION_STRING OPTION_DEFAULT )
# build shared libs by default
OPTION_WITH_DEFAULT(SCL_BUILD_SHARED_LIBS "Build shared libs" ON )
# don't build static libs by default
OPTION_WITH_DEFAULT(SCL_BUILD_STATIC_LIBS "Build static libs" OFF)
OPTION_WITH_DEFAULT(SCL_PYTHON_GENERATOR "Compile fedex_python" ON)
OPTION_WITH_DEFAULT(SCL_CPP_GENERATOR "Compile fedex_plus" ON)
OPTION_WITH_DEFAULT(SCL_MEMMGR_ENABLE_CHECKS "Enable scl_memmgr's memory leak detection" OFF)
OPTION_WITH_DEFAULT(SCL_TRACE_FPRINTF "Enable extra comments in generated code so the code's source in fedex_plus may be located" OFF)
if ("${CMAKE_VERSION}" VERSION_GREATER 2.99)
CMAKE_POLICY(SET CMP0026 OLD)
endif ("${CMAKE_VERSION}" VERSION_GREATER 2.99)
endif(COMMAND CMAKE_POLICY)
# CMake derives much of its functionality from modules, typically
# stored in one directory - let CMake know where to find them.
SET(SCL_CMAKE_DIR "${SCL_SOURCE_DIR}/cmake")
if(NOT IS_SUBBUILD)
SET(CMAKE_MODULE_PATH "${SCL_CMAKE_DIR};${CMAKE_MODULE_PATH}")
else(NOT IS_SUBBUILD)
SET(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${SCL_CMAKE_DIR}")
endif(NOT IS_SUBBUILD)
set(SC_CMAKE_DIR "${SC_SOURCE_DIR}/cmake")
if(NOT SC_IS_SUBBUILD)
set(CMAKE_MODULE_PATH "${SC_CMAKE_DIR};${CMAKE_MODULE_PATH}")
else(NOT SC_IS_SUBBUILD)
set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${SC_CMAKE_DIR}")
endif(NOT SC_IS_SUBBUILD)
INCLUDE(${SCL_CMAKE_DIR}/SCL_Utils.cmake)
# testing and compilation options, build output dirs, install dirs, uninstall, package creation, etc
include(${SC_CMAKE_DIR}/SC_Build_opts.cmake)
# Save the current LC_ALL, LC_MESSAGES, and LANG environment variables and set them
# to "C" so things like date output are as expected
SET(_orig_lc_all $ENV{LC_ALL})
SET(_orig_lc_messages $ENV{LC_MESSAGES})
SET(_orig_lang $ENV{LANG})
IF(_orig_lc_all)
SET(ENV{LC_ALL} C)
ENDIF(_orig_lc_all)
IF(_orig_lc_messages)
SET(ENV{LC_MESSAGES} C)
ENDIF(_orig_lc_messages)
IF(_orig_lang)
SET(ENV{LANG} C)
ENDIF(_orig_lang)
# SC_ADDEXEC and SC_ADDLIB macros, dllimport/export, etc
include(${SC_CMAKE_DIR}/SC_Targets.cmake)
#---------------------------------------------------------------------
# Testing option
OPTION_WITH_DEFAULT( SCL_ENABLE_TESTING "Enable unittesting framework" OFF )
IF(SCL_ENABLE_TESTING)
if( NOT DEFINED SCL_BUILD_SCHEMAS )
set( SCL_BUILD_SCHEMAS "ALL" ) #test all schemas, unless otherwise specified
endif()
INCLUDE(CTest)
ENABLE_TESTING()
ENDIF(SCL_ENABLE_TESTING)
# Macros related to paths
include(${SC_CMAKE_DIR}/SC_Paths.cmake)
#---------------------------------------------------------------------
# Coverage option
OPTION_WITH_DEFAULT( SCL_ENABLE_COVERAGE "Enable code coverage test" OFF )
IF(SCL_ENABLE_COVERAGE)
SET(SCL_ENABLE_TESTING ON CACHE BOOL "Testing enabled by coverage option" FORCE)
# build static libs, better coverage report
SET(SCL_BUILD_SHARED_LIBS OFF CACHE BOOL "Build shared libs" FORCE )
SET(SCL_BUILD_STATIC_LIBS ON CACHE BOOL "Build static libs" FORCE )
SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g -fprofile-arcs -ftest-coverage" CACHE STRING "Extra compile flags required by code coverage" FORCE)
SET(CMAKE_C_FLAGS_DEBUG "-O0 -g -fprofile-arcs -ftest-coverage" CACHE STRING "Extra compile flags required by code coverage" FORCE)
SET(CMAKE_MODULE_LINKER_FLAGS_DEBUG "-fprofile-arcs -ftest-coverage" CACHE STRING "Extra linker flags required by code coverage" FORCE)
SET(SCL_BUILD_TYPE "Debug" CACHE STRING "Build type required by testing framework" FORCE)
ENDIF(SCL_ENABLE_COVERAGE)
# locale stuff
include(${SC_CMAKE_DIR}/SC_Locale.cmake)
#---------------------------------------------------------------------
# The following logic is what allows binaries to run successfully in
# the build directory AND install directory. Thanks to plplot for
# identifying the necessity of setting CMAKE_INSTALL_NAME_DIR on OSX.
# Documentation of these options is available at
# http://www.cmake.org/Wiki/CMake_RPATH_handling
# logic related to regenerating the lexer and parser source code
include(${SC_CMAKE_DIR}/SC_Regenerate.cmake)
# use, i.e. don't skip the full RPATH for the build tree
set(CMAKE_SKIP_BUILD_RPATH FALSE)
if(NOT DEFINED SC_SDAI_ADDITIONAL_EXES_SRCS)
set(SC_SDAI_ADDITIONAL_EXES_SRCS "" CACHE STRING "Source files for additional executables to be linked with SDAI libs")
endif(NOT DEFINED SC_SDAI_ADDITIONAL_EXES_SRCS)
# when building, don't use the install RPATH already
# (but later on when installing)
set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
if(NOT DEFINED SC_BUILD_SCHEMAS)
list(APPEND CONFIG_END_MESSAGES
"** CMake variable SC_BUILD_SCHEMAS was not set. Defaults to building ALL schemas, which will take a"
" while; see http://stepcode.org/mw/index.php?title=STEPcode_CMake_variables#SC_BUILD_SCHEMAS")
#this makes SC_BUILD_SCHEMAS show up in cmake-gui
set(SC_BUILD_SCHEMAS "ALL" CACHE string "Semicolon-separated list of paths to EXPRESS schemas to be built")
endif(NOT DEFINED SC_BUILD_SCHEMAS)
# the RPATH/INSTALL_NAME_DIR to be used when installing
if (NOT APPLE)
set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib:\$ORIGIN/../lib")
endif(NOT APPLE)
# On OSX, we need to set INSTALL_NAME_DIR instead of RPATH
# http://www.cmake.org/cmake/help/cmake-2-8-docs.html#variable:CMAKE_INSTALL_NAME_DIR
set(CMAKE_INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib")
if(NOT SC_IS_SUBBUILD)
list(APPEND CONFIG_END_MESSAGES
".. Don't worry about any messages above about missing headers or failed tests, as long as"
" you see 'Configuring done' below. Headers and features vary by compiler."
".. Generating step can take a while if you are building several schemas.")
endif(NOT SC_IS_SUBBUILD)
# add the automatically determined parts of the RPATH which point to
# directories outside the build tree to the install RPATH
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
#-----------------------------------------------------------------------------
# Output directories.
IF(NOT CMAKE_LIBRARY_OUTPUT_DIRECTORY)
SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${SCL_BINARY_DIR}/lib CACHE INTERNAL "Single output directory for building all libraries.")
ENDIF(NOT CMAKE_LIBRARY_OUTPUT_DIRECTORY)
IF(NOT CMAKE_ARCHIVE_OUTPUT_DIRECTORY)
SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${SCL_BINARY_DIR}/lib CACHE INTERNAL "Single output directory for building all archives.")
ENDIF(NOT CMAKE_ARCHIVE_OUTPUT_DIRECTORY)
IF(NOT CMAKE_RUNTIME_OUTPUT_DIRECTORY)
SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${SCL_BINARY_DIR}/bin CACHE INTERNAL "Single output directory for building all executables.")
ENDIF(NOT CMAKE_RUNTIME_OUTPUT_DIRECTORY)
FOREACH(CFG_TYPE ${CMAKE_CONFIGURATION_TYPES})
STRING(TOUPPER "${CFG_TYPE}" CFG_TYPE)
IF(NOT "CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CFG_TYPE}")
SET("CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CFG_TYPE}" ${SCL_BINARY_DIR}/lib CACHE INTERNAL "Single output directory for building all libraries.")
ENDIF(NOT "CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CFG_TYPE}")
IF(NOT "CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CFG_TYPE}")
SET("CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CFG_TYPE}" ${SCL_BINARY_DIR}/lib CACHE INTERNAL "Single output directory for building all archives.")
ENDIF(NOT "CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CFG_TYPE}")
IF(NOT "CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CFG_TYPE}")
SET("CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CFG_TYPE}" ${SCL_BINARY_DIR}/bin CACHE INTERNAL "Single output directory for building all executables.")
ENDIF(NOT "CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CFG_TYPE}")
ENDFOREACH()
# create config headers sc_cf.h and sc_version_string.h
include(${SC_CMAKE_DIR}/SC_Config_Headers.cmake)
#-----------------------------------------------------------------------------
# Configure install locations.
# The location in which to install SCL. Need a good Debug location
# for Windows. Only do this if CMAKE_INSTALL_PREFIX hasn't been set
# already, to try and allow parent builds (if any) some control.
if(NOT SCL_IS_SUBBUILD)
IF(NOT WIN32)
IF (${CMAKE_BUILD_TYPE} MATCHES "Debug")
SET(SCL_INSTALL_PREFIX "${SCL_SOURCE_DIR}/../scl-install")
ELSE()
SET(SCL_INSTALL_PREFIX "/usr/local")
ENDIF()
ENDIF(NOT WIN32)
SET( SCL_INSTALL_PREFIX ${SCL_INSTALL_PREFIX} CACHE
PATH "Install prefix prepended to target to create install location" )
SET( CMAKE_INSTALL_PREFIX ${SCL_INSTALL_PREFIX} CACHE INTERNAL "Prefix prepended to install directories if target destination is not absolute, immutable" FORCE )
endif(NOT SCL_IS_SUBBUILD)
OPTION(SCL_BUILD_EXPRESS_ONLY "Only build express parser." OFF)
MARK_AS_ADVANCED(SCL_BUILD_EXPRESS_ONLY)
# Take the scl config file template as the starting point for
# scl_cf.h.in - scripts may need to append to the template, so
# it is read into memory initially.
SET(CONFIG_H_FILE ${SCL_BINARY_DIR}/include/scl_cf.h.in)
set(CMAKE_CURRENT_PROJECT SCL)
define_property(GLOBAL PROPERTY SCL_CONFIG_H_CONTENTS BRIEF_DOCS "config.h.in contents" FULL_DOCS "config.h.in contents for SCL project")
if(NOT COMMAND CONFIG_H_APPEND)
macro(CONFIG_H_APPEND PROJECT_NAME NEW_CONTENTS)
if(PROJECT_NAME)
get_property(${PROJECT_NAME}_CONFIG_H_CONTENTS GLOBAL PROPERTY ${PROJECT_NAME}_CONFIG_H_CONTENTS)
set(${PROJECT_NAME}_CONFIG_H_FILE_CONTENTS "${${PROJECT_NAME}_CONFIG_H_CONTENTS}${NEW_CONTENTS}")
set_property(GLOBAL PROPERTY ${PROJECT_NAME}_CONFIG_H_CONTENTS "${${PROJECT_NAME}_CONFIG_H_FILE_CONTENTS}")
endif(PROJECT_NAME)
endmacro(CONFIG_H_APPEND NEW_CONTENTS)
endif(NOT COMMAND CONFIG_H_APPEND)
file(READ ${SCL_SOURCE_DIR}/include/scl_cf_cmake.h.in CONFIG_H_FILE_CONTENTS)
CONFIG_H_APPEND(SCL "${CONFIG_H_FILE_CONTENTS}")
INCLUDE(CheckLibraryExists)
INCLUDE(CheckIncludeFile)
INCLUDE(CheckFunctionExists)
INCLUDE(CheckTypeSize)
INCLUDE(CMakePushCheckState)
INCLUDE(CheckCXXSourceRuns)
INCLUDE(${SCL_CMAKE_DIR}/FindLEX.cmake)
INCLUDE(${SCL_CMAKE_DIR}/FindYACC.cmake)
CHECK_INCLUDE_FILE(ndir.h HAVE_NDIR_H)
CHECK_INCLUDE_FILE(stdarg.h HAVE_STDARG_H)
CHECK_INCLUDE_FILE(sys/stat.h HAVE_SYS_STAT_H)
CHECK_INCLUDE_FILE(sys/param.h HAVE_SYS_PARAM_H)
CHECK_INCLUDE_FILE(sysent.h HAVE_SYSENT_H)
CHECK_INCLUDE_FILE(unistd.h HAVE_UNISTD_H)
CHECK_INCLUDE_FILE(dirent.h HAVE_DIRENT_H)
CHECK_INCLUDE_FILE(stdbool.h HAVE_STDBOOL_H)
CHECK_INCLUDE_FILE(process.h HAVE_PROCESS_H)
CHECK_INCLUDE_FILE(io.h HAVE_IO_H)
CHECK_FUNCTION_EXISTS(abs HAVE_ABS)
CHECK_FUNCTION_EXISTS(memcpy HAVE_MEMCPY)
CHECK_FUNCTION_EXISTS(memmove HAVE_MEMMOVE)
CHECK_FUNCTION_EXISTS(getopt HAVE_GETOPT)
CHECK_TYPE_SIZE("ssize_t" SSIZE_T)
set( TEST_STD_THREAD "
#include <iostream>
#include <thread>
void do_work() {
std::cout << \"thread\" << std::endl;
}
int main() {
std::thread t(do_work);
t.join();
}
" )
cmake_push_check_state()
if( UNIX )
set( CMAKE_REQUIRED_FLAGS "-pthread -std=c++0x" )
else( UNIX )
# vars probably need set for MSVC11, embarcadero, etc
endif( UNIX )
CHECK_CXX_SOURCE_RUNS( "${TEST_STD_THREAD}" HAVE_STD_THREAD ) #quotes are *required*!
cmake_pop_check_state()
# Now that all the tests are done, configure the scl_cf.h file:
get_property(CONFIG_H_FILE_CONTENTS GLOBAL PROPERTY SCL_CONFIG_H_CONTENTS)
file(WRITE ${CONFIG_H_FILE} "${CONFIG_H_FILE_CONTENTS}")
configure_file(${CONFIG_H_FILE} ${SCL_BINARY_DIR}/include/scl_cf.h)
################ create scl_version_string.h, http://stackoverflow.com/questions/3780667
# Using 'ver_string' instead of 'scl_version_string.h' is a trick to force the
# command to always execute when the custom target is built. It works because
# a file by that name never exists.
configure_file(${SCL_CMAKE_DIR}/scl_version_string.cmake ${SCL_BINARY_DIR}/scl_version_string.cmake @ONLY)
add_custom_target(version_string ALL DEPENDS ver_string )
# creates scl_version_string.h using cmake script
add_custom_command(OUTPUT ver_string ${CMAKE_CURRENT_BINARY_DIR}/include/scl_version_string.h
COMMAND ${CMAKE_COMMAND} -DSOURCE_DIR=${SCL_SOURCE_DIR}
-DBINARY_DIR=${SCL_BINARY_DIR}
-P ${SCL_BINARY_DIR}/scl_version_string.cmake)
# scl_version_string.h is a generated file
set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/include/scl_version_string.h
PROPERTIES GENERATED TRUE
HEADER_FILE_ONLY TRUE )
################
if(MSVC)
# add_definitions( -Wall )
add_definitions( -D__MSVC__ -D__WIN32__ )
add_definitions(-D__MSVC__ -D__WIN32__)
# Disable warning for preferred usage of secure functions (example strcpy should be strcpy_s, ...)
add_definitions( -D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_WARNINGS )
add_definitions(-D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_WARNINGS)
elseif(BORLAND)
add_definitions( -D__BORLAND__ -D__WIN32__ )
add_definitions(-D__BORLAND__ -D__WIN32__)
else()
add_definitions( -pedantic -W -Wall -Wundef -Wfloat-equal -Wshadow -Winline -Wno-long-long )
add_definitions(-pedantic -W -Wall -Wundef -Wfloat-equal -Wshadow -Winline -Wno-long-long)
if(HAVE_NULLPTR)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
endif(HAVE_NULLPTR)
endif()
include_directories(
${SCL_SOURCE_DIR}/include
${SCL_BINARY_DIR}/include
)
${SC_SOURCE_DIR}/include
${SC_BINARY_DIR}/include
)
ADD_SUBDIRECTORY(src/base)
ADD_SUBDIRECTORY(src/express)
ADD_SUBDIRECTORY(src/exppp)
ADD_SUBDIRECTORY(src/fedex_plus)
ADD_SUBDIRECTORY(src/fedex_python)
ADD_SUBDIRECTORY(src/clstepcore)
ADD_SUBDIRECTORY(src/cleditor)
ADD_SUBDIRECTORY(src/cldai)
ADD_SUBDIRECTORY(src/clutils)
ADD_SUBDIRECTORY(include)
ADD_SUBDIRECTORY(data)
IF(SCL_ENABLE_TESTING)
ADD_SUBDIRECTORY( test )
ENDIF(SCL_ENABLE_TESTING)
ADD_SUBDIRECTORY(doc)
add_subdirectory(src/base)
add_subdirectory(src/express)
add_subdirectory(src/exppp)
add_subdirectory(src/exp2cxx)
add_subdirectory(src/exp2python)
add_subdirectory(src/clstepcore)
add_subdirectory(src/cleditor)
add_subdirectory(src/cldai)
add_subdirectory(src/clutils)
add_subdirectory(src/cllazyfile)
add_subdirectory(include)
add_subdirectory(data)
if(SC_ENABLE_TESTING)
add_subdirectory(test)
endif(SC_ENABLE_TESTING)
add_subdirectory(doc)
# this is for testing - 'make core' builds everything that isn't generated
add_custom_target( core )
add_dependencies( core stepdai check-express stepeditor fedex_plus )
# 'make core' builds everything that isn't generated. for devs.
add_custom_target(core)
add_dependencies(core stepdai check-express stepeditor exp2cxx)
if(NOT SCL_IS_SUBBUILD)
###############################################################################
# SCL Packaging #
# $make package #
###############################################################################
# CONFIG_END_MESSAGES - list of messages to be printed after everything else is done.
# THIS MUST BE LAST to ensure that they are visible to the user without scrolling.
foreach(_msg ${CONFIG_END_MESSAGES})
message(STATUS "${_msg}")
endforeach(_msg ${CONFIG_END_MESSAGES})
SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "STEP Class Library")
SET(CPACK_SET_DESTDIR "ON")
# Local Variables:
# tab-width: 8
# mode: cmake
# indent-tabs-mode: t
# End:
# ex: shiftwidth=2 tabstop=8
SET(CPACK_PACKAGE_VERSION_MAJOR ${SCL_VERSION_MAJOR})
SET(CPACK_PACKAGE_VERSION_MINOR ${SCL_VERSION_MINOR})
SET(CPACK_PACKAGE_NAME SCL )
SET(CPACK_PACKAGE_CONTACT "SCL Developers <scl-dev@googlegroups.com>")
INCLUDE(CPack)
########################################################################################
# Uninstall code #
# From http://www.cmake.org/Wiki/CMake_FAQ#Can_I_do_.22make_uninstall.22_with_CMake.3F #
# ######################################################################################
configure_file(
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in"
"${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
IMMEDIATE @ONLY)
add_custom_target(uninstall
COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake)
endif(NOT SCL_IS_SUBBUILD)

45
CONTRIBUTING.md Normal file
View file

@ -0,0 +1,45 @@
# How to contribute
We love contributions!
## Getting started
* Create a github account if you haven't already, and fork the project
* Create a new branch, using a branch name that gives an idea of what the changes are about
* One topic per commit; a number of small commits are better than one big one
* Do not introduce whitespace changes! (**Windows users:** `git config --global core.autocrlf true`)
* Encouraged but not enforced: each commit should stand alone, in the sense that the code should compile and run at that point.
* One major topic per pull request. Commits that fix small things (typos, formatting) are perfectly acceptable in a PR fixing a bug or adding a feature.
* Tests are good. Tests are required unless you're fixing something simple or that was obviously broken.
* Make your changes and push them to your GitHub repo
* Once your branch is pushed, submit a pull request.
* We'll look at the PR and either merge or add feedback. If there isn't any activity within several days, send a message to the mailing list - `scl-dev` AT `groups.google.com`.
## Coding Standards
SC's source has been reformatted with astyle. When making changes, try
to match the current formatting. The main points are:
- compact (java-style) brackets:
```C
if( a == 3 ) {
c = 5;
function( a, b );
} else {
somefunc();
}
```
- indents are 4 spaces
- no tab characters
- line endings are LF (linux), not CRLF (windows)
- brackets around single-line conditionals
- spaces inside parentheses and around operators
- return type on the same line as the function name, unless that's
too long
- doxygen-style comments
(see http://www.stack.nl/~dimitri/doxygen/docblocks.html)
If in doubt about a large patch, run astyle with the config file
misc/astyle.cfg.
Download astyle from http://sourceforge.net/projects/astyle/files/astyle/

View file

@ -2,7 +2,7 @@ Modifications to the original NIST code are (C)opyright by their
respective authors. Unless otherwise specified, they are copyright
on the date those changes were committed to whichever repository
they were committed to first (i.e. BRL-CAD on SourceForge.net,
mpictor/StepClassLibrary on github, etc).
mpictor/StepClassLibrary or stepcode/stepcode on github).
Modifications which were first commited to the repository on github
are licensed under the 3-clause BSD license below. Changes committed

View file

@ -8,3 +8,11 @@ set(CTEST_DROP_METHOD "http")
set(CTEST_DROP_SITE "my.cdash.org")
set(CTEST_DROP_LOCATION "/submit.php?project=StepClassLibrary")
set(CTEST_DROP_SITE_CDASH TRUE)
# Local Variables:
# tab-width: 8
# mode: cmake
# indent-tabs-mode: t
# End:
# ex: shiftwidth=2 tabstop=8

View file

@ -1,5 +1,8 @@
Recent changes are recorded in the publicly available repository:
https://github.com/mpictor/StepClassLibrary
http://github.com/stepcode/stepcode
This repo was moved and renamed in May 2012. Previously, it was at
http://github.com/mpictor/StepClassLibrary
Some are duplicates of changes recorded in the BRL-CAD repo:
http://brlcad.svn.sourceforge.net/viewvc/brlcad/brlcad/trunk/src/other/step/?view=log
@ -7,7 +10,7 @@ http://brlcad.svn.sourceforge.net/viewvc/brlcad/brlcad/trunk/src/other/step/?vie
Pre-BRL-CAD changes:
************************************************************************
Updates from http://www.statik.tu-cottbus.de/fileadmin/project_dth/scl/
Jan 2005 - Mar 2006
Jan 2005 - Mar 2006
************************************************************************
STEP Class Library Release 3.2 February 1998
************************************************************************

35
INSTALL
View file

@ -1,16 +1,15 @@
INSTALL
This file is contains installation instructions for the
STEP Class Library.
This file is contains installation instructions for STEPcode.
These installation requires that you have the following software
available:
- C and C++ compilers (Tested with GCC, MSVC, Embarcadero)
- bison, byacc, or yacc (only bison has been tested recently)
- flex or lex (only flex has been tested recently)
- CMake
- CMake (v2.8.7 or greater)
- mingw (only on Windows)
- a lexer and parser (i.e. flex, bison) are NOT necessary anymore
-if you modify the lexer or parser, you will need LEMON, RE2C, PERPLEX from BRL-CAD
--------------------
Installation
@ -21,16 +20,16 @@ Installation
* Build system uses CMake now: configure, Makefile, and all
autotools files have been removed, as has mkProbe.
* Building SCL from the command prompt:
- cd scl
* Building SC from the command prompt:
- cd sc
- mkdir build
- cd build
- cmake ..
- make
- make install # optional
* Building SCL from the GUI:
- Run cmake-gui, set it to build in scl/build
* Building SC from the GUI:
- Run cmake-gui, set it to build in sc/build
- Select the correct build file generator
- Press Configure
- Change options as necessary, configuring again afterwards
@ -39,7 +38,7 @@ Installation
- Open the main build file using your preferred build tool
* Build options (append to the 'cmake ..' line):
-DBUILD_SCHEMAS="path/to/schema.exp;path/to/schema2.exp"
-DSC_BUILD_SCHEMAS="path/to/schema.exp;path/to/schema2.exp"
- this generates c++ for the schema, and compiles it into a
library. Also works with directories, as long as each dir only
has one express file.
@ -48,23 +47,23 @@ Installation
and writes another. It may change whitespace or remove comments;
otherwise, the input and output files should be identical. If
they are not identical, either the file does not match the
schema, or SCL generated incorrect source code.
-DBUILD_SCHEMAS=ALL
- Added to make use of ctest easier. If BUILD_SCHEMAS == ALL,
schema, or SC generated incorrect source code.
-DSC_BUILD_SCHEMAS=ALL
- Added to make use of ctest easier. If SC_BUILD_SCHEMAS == ALL,
then CMake adds each *.exp file found in data/.
-DCMAKE_BUILD_TYPE=Release
-DSC_BUILD_TYPE=Release
- this causes binaries to be built without debugging information
- without this, cmake defaults to a Debug build
* Using CTest to test SCL:
* Using CTest to test SC:
- Read the comments in run_ctest.cmake
- (OPTIONAL) Create scl/../.SCL_CTEST_PREFS.cmake, and set variables
- (OPTIONAL) Create sc/../.SC_CTEST_PREFS.cmake, and set variables
in it (this file is required for CDash submission to be enabled)
- Run tests with `ctest -S run_ctest.cmake`
* Using CTest to regenerate the schema matrix on the github SCL wiki:
* Using CTest to regenerate the schema matrix on the github SC wiki:
- Requires:
- git
- python
- a clone of the git repo for the wiki at scl/../wiki-scl
- a clone of the git repo for the wiki at sc/../wiki-sc
- run `ctest -S ctest_matrix.cmake`

129
NEWS
View file

@ -1,4 +1,59 @@
STEP Class Library ------ http://github.com/mpictor/StepClassLibrary
STEPcode -- http://github.com/stepcode/stepcode -- http://stepcode.org
************************************************************************
Release 0.8 (December, 2014)
New since v0.7:
* handle diamond inheritance, derived Attributes
* rename fedex_python, fedex_plus to exp2py, exp2cxx
* many changes to the pretty printer, due to use in reformatting draft
and IS schemas (Thanks Tom!)
* parser was also changed due to errors caught while pretty printing
- we can be much more confident that the parser is correct now
* fix incorrect quoting of timestamp in p21 header
* fix various copy constructors and ShallowCopy() members
* split generated code into many small files
- far easier to open generated code in editors
- support more compilers
- small files are combined (via #include statements) into a few
large files for faster "unitary" builds, if the compiler can handle it
- unitary builds are faster than the previous builds
* most compiler warnings fixed
* performance fixes and other changes from BRL-CAD
* finally, all tests pass!
************************************************************************
Release 0.7 (April, 2013)
New since v0.6:
* Requires CMake 2.8.7 or later
* Replace *ALL* references to SCL with SC - CMake, source, filenames.
* Lazy loading code (src/cllazyfile)
* greatly reduces memory requirements and loading time when not all
instances are needed
* doesn't work with complex instances yet
* doesn't work on windows or 32-bit platforms yet
* Merged all BRL-CAD changes; now, we can work on the same repo.
* Eliminate compile-time dependency on a lexer and parser
* When lexer/parser changes, use LEMON/RE2C/Perplex (in BRL-CAD repo)
* Fixed several bugs in the class libraries that cause segfaults
* update AP209, 210e3, 242, IFC2
* Fixes for MSVC, Embarcadero (there are still problems with both:
see comments on #178 & #190, also import/export macros)
* Fixed NIST test executables
************************************************************************
Release 0.6 (May, 2012)
New since v0.5:
* Renamed from STEP Class Library to STEPcode, moved to github.com/stepcode/stepcode
* Advances in [Python](http://github.com/stepcode/stepcode/wiki/python-generator) support (#185)
* ABI versioning
* Implement memory manager with reporting of memory that isn't freed,
fix many memory leaks (#148, #160, #162, #168)
* MSVC fixes (> 128 nested if...else - #152), etc
* Add AP219, AP238, PDM schema, AP203a1, syntax highlighting files
* Improvements to CMake files, mostly from Cliff @ BRL-CAD (#143, #163, #181)
* Allow runtime bounds for aggregates (discovered with AP209e2) (#166)
* exp2cxx fprintf's can be traced with -DSCL_TRACE_FPRINTF=ON (#176)
************************************************************************
Release 0.5 (Feb 23, 2012)
@ -8,8 +63,8 @@ New since v0.4:
* Now handles most features of EXPRESS - all included schemas,
with the exception of AP209 CD, are parsed without error. Enums are
now in their own dictionary. Allow indexing on aggregates, generics,
and binaries.
* Changes to fedex_plus that improve the generated c++ - use a
and binaries.
* Changes to exp2cxx that improve the generated c++ - use a
namespace, break up large static strings, make EXPRESS multiple
inheritance work by not printing multiple copies of inherited members.
All schemas now compile without error, but there are numerous warnings.
@ -22,13 +77,13 @@ Release 0.4 (Nov 13, 2011)
New since v0.3:
* Improve p21read performance by ~30%
* Improve fedex_plus performance by ~4300% (!)
* Improve exp2cxx performance by ~4300% (!)
* A variable defined in a LOCAL is not required to have a type label
(affected ap242,210e3,209)
* Enums and entities are allowed to have the same names
(affected ap242,210e3,209)
* Remove the SCLP23 macro
http://github.com/mpictor/StepClassLibrary/wiki/changelog-v0.4
http://github.com/stepcode/stepcode/wiki/changelog-v0.4
************************************************************************
Release 0.3 (Oct 29, 2011)
@ -48,7 +103,7 @@ Release 0.2 (Oct 1, 2011)
What's new since v0.1?
* Retrieve aggregate type from the underlying type (issue #4)
* Fix aggregate select types naming convention in fedex_plus (issue #59)
* Fix aggregate select types naming convention in exp2cxx (issue #59)
* Fix several segfaults and double free's in p21read (issue #63)
* Fix several file read/write bugs in p21read, including
* don't write '$' for empty string
@ -58,10 +113,10 @@ What's new since v0.1?
* Add BNF files, schemas, and CAX-IF Part 21 files
For a detailed list of changes, see
https://github.com/mpictor/StepClassLibrary/wiki/changelog-v0.2
https://github.com/stepcode/stepcode/wiki/changelog-v0.2
For a list of closed issues, see
https://github.com/mpictor/StepClassLibrary/issues?state=closed&milestone=2
https://github.com/stepcode/stepcode/issues?state=closed&milestone=2
************************************************************************
@ -80,14 +135,14 @@ What's new since the SCL 3.2 release in 1998?
* Bring SCL closer to alignment with modern coding standards - replace
String class with std::string, fix all GCC warnings
* Builds on Linux, OSX, and Windows; requires mingw on Windows.
* Add debugging option -d 9 -l nnn -u nnn to fedex_plus. This limits
* Add debugging option -d 9 -l nnn -u nnn to exp2cxx. This limits
parser debug output to a specified range of lines in the schema.
For a detailed list of changes, see
https://github.com/mpictor/StepClassLibrary/wiki/changelog-v0.1
https://github.com/stepcode/stepcode/wiki/changelog-v0.1
For a list of closed issues, see
https://github.com/mpictor/StepClassLibrary/issues?state=closed&milestone=1
https://github.com/stepcode/stepcode/issues?state=closed&milestone=1
Pre-BRL-CAD changes:
* Patches from http://www.statik.tu-cottbus.de/fileadmin/project_dth/scl/
@ -161,7 +216,7 @@ REFERENCE FROM clauses, global rules, PROCEDUREs, and
FUNCTIONS. Information about these objects is available but validation
based on it is not performed.
- enhanced fedex_plus C++ code generator to generate the necessary
- enhanced exp2cxx C++ code generator to generate the necessary
dictionary objects for the above EXPRESS constructs for a particular
schema. Also enhanced schema dictionary code generation to add
information necessary to generate an EXPRESS schema (i.e. which
@ -176,7 +231,7 @@ types, entities, and attributes.
- Fixed a bug in the casting functions for the classes handling
instances of SELECT TYPEs in EXPRESS.
e.g.
SdaiMeasure_value::operator SCLP23(Real)()
SdaiMeasure_value::operator SDAI_Real)(
{
// was missing stmts such as these...
if( CurrentUnderlyingType () == config_control_designt_area_measure )
@ -293,20 +348,20 @@ classes is what allows for the flexibility in dealing with problem
areas when using SCL with other software.
An example of a name change and macro use: sdaiString has now become
SCLP23(String) which could translate to SDAI::String or SDAI_String
SDAI_String which could translate to SDAI::String or SDAI_String
(depending on whether you use the SDAI namespace or not) or any other
namespace or prefix as is necessary. To change the SDAI namespace name
or prefix name the macro definition for SCLP23() could be changed in
or prefix name the macro definition for SDAI_ could be changed in
the sclprefixes.h file.
The early bound access functions that are generated by fedex_plus from
The early bound access functions that are generated by exp2cxx from
EXPRESS defined entities have been updated to the latest version of
Part 23's C++ binding to SDAI. A previous early bound function defined
as "const SdaiLabel Name()" would now be defined according to Part 23 as
"const SdaiLabel name_()". *notice* that application schema defined
types are not yet defined in a namespace. Compatibility with previous
versions of SCL early bound functions has been maintained via the -a
fedex_plus option.
exp2cxx option.
-----------------------------------------------------
SDAI Session Schema objects implemented (model_contents, extents, etc)
@ -316,7 +371,7 @@ Several classes and types defined as part of SDAI Part 23's Session
Schema have been implemented (where before they mostly had stub
functions). These have been implemented for use with or without the
ObjectStore object oriented database. Model_contents_<schema_name> is
now being generated by fedex_plus allowing Entity_extents to be
now being generated by exp2cxx allowing Entity_extents to be
maintained for entities as desired.
-----------------------------------------------------
@ -332,7 +387,7 @@ database.
The SCL application, fedex_os, uses an application schema written in
EXPRESS to generate additional code needed for use with ObjectStore.
Fedex_os is used in conjunction with fedex_plus for generating the C++
Fedex_os is used in conjunction with exp2cxx for generating the C++
necessary to implement your application schema.
Although building SCL libraries for use with ObjectStore is
@ -377,7 +432,7 @@ schema. The generation of IDL schemas by fedex_idl is according to
STEP's Part 26 Interface Definition Language binding to the SDAI. The
Orbix IDL compiler is then used to generate the client and server code
necessary for communication through an Orbix ORB. The SCL application,
fedex_plus, would then be run with the -c option on your application's
exp2cxx, would then be run with the -c option on your application's
EXPRESS schema to generate the server implementation objects required
to build an Orbix server (it uses the TIE approach). You would be
required to write the C++ main() function for the server code.
@ -424,7 +479,7 @@ MULTIPLE SCHEMA SUPPORT
A library and Data Probe can now be generated for an EXPRESS file
containing multiple schemas. This is done primarily by dividing the
source code generated by fedex_plus into separate files. Separate
source code generated by exp2cxx into separate files. Separate
files are generated for each schema contained in the EXPRESS file. In
addition, often schemas are dependent on one another. This will be
the case if the schemas use and reference entities and types from each
@ -432,7 +487,7 @@ other. If, for example, entity X in schema A is a subtype of entity Y
in schema B, X will not be processed until B in schema Y is processed.
Other such cases of interdependence occur if an entity in schema A
contains as an attribute an enumeration or select type defined in
another schema. To address such cases, fedex_plus may process a
another schema. To address such cases, exp2cxx may process a
schema in multiple passes. At each pass, only the objects in the
schema which are not dependent on not-yet-processed objects in other
schemas are processed. At each successive pass through the schemas as
@ -444,16 +499,16 @@ B which is a supertype of C, etc.).
For an EXPRESS file with multiple dependent schemas, it is advisable
to organize the file with bottom-up design. Schemas containing the
simpler, building block types and entities should appear first. By
doing so, when fedex_plus begins processing the more complex schemas,
doing so, when exp2cxx begins processing the more complex schemas,
there will be fewer cases in which the parser will encounter not-yet-
defined objects from other schemas. (The objects which are referenced
the most will have already been defined.) This will minimize the
number of times fedex_plus is required to divide output files.
number of times exp2cxx is required to divide output files.
One known case of interdependence which fedex_plus is not able to
One known case of interdependence which exp2cxx is not able to
support occurs if say select A has select B as an item, and select B
has select A as an item. (This is unsupported even if A and B are in
the same schema.) fedex_plus has no way in which it can generate
the same schema.) exp2cxx has no way in which it can generate
compilable source code for the selects because each is dependent on
the other. In addition, this would cause the parser to fall into an
endless loop, so we strongly discourage it. ;-)
@ -565,18 +620,18 @@ see below, next section.)
level, bypassing STEPfile. STEPentity will allow the initialization
but will place a warning in its errorDesc field.)
3. fedex_plus may be compiled with the flag COMPLEX_INFO. If this
flag is turned on, fedex_plus prints out (to `cout') a large amount of
3. exp2cxx may be compiled with the flag COMPLEX_INFO. If this
flag is turned on, exp2cxx prints out (to `cout') a large amount of
detail on the complex entities it finds and their overall structure.
This is useful to see how fedex interpreted the complex information of
an EXPRESS file, and to get a simple graphical view of the supertype-
subtype hierarchy of the file.
fedex_plus's makefile contains the commented-out line,
exp2cxx's makefile contains the commented-out line,
#USER_DEFS = -DCOMPLEX_INFO
If this line is uncommented, a fedex_plus executable will be built
If this line is uncommented, a exp2cxx executable will be built
which prints such information.
Limitations
@ -613,12 +668,12 @@ the renaming of an individual entity places it out of order, the nodes
will be printed out of order.
4. "Diamond inheritance" is not handled automatically and must be
fixed by hand in the code generated by fedex_plus. (See
fixed by hand in the code generated by exp2cxx. (See
whatsnew.2-1.txt, section "Multiple Inheritance".)
5. Selects between aggregates: A select containing two aggregate
choices of the same type (e.g., ARRAY and ARRAY, as opposed to ARRAY
and SET) will cause fedex_plus to generate code which cannot be
and SET) will cause exp2cxx to generate code which cannot be
compiled.
6. Problem with sparcworks compiler version 4.0(?) - operator int() =
@ -659,14 +714,14 @@ ANY OTHER PARTY.
What's new in the STEP Class Library and Data Probe release 2.1
June 1995
This release of the STEP Class Library (SCL), fedex_plus code
This release of the STEP Class Library (SCL), exp2cxx code
generator, and Data Probe also contains the latest releases of the
fedex syntax and semantic checker, the NIST Express Toolkit (also new
on SOLIS as of June 12, 1995), and the Express Pretty Printer Toolkit.
The NIST Express Toolkit and fedex have been updated to handle the IS
version of Express and various problems have been fixed as a result of
pre-validation conformance testing. Following is an overview of
what's new in the STEP Class Library (and hence fedex_plus) and the
what's new in the STEP Class Library (and hence exp2cxx) and the
Data Probe.
--------------------
@ -742,10 +797,10 @@ inheritance hierarchy. This will not have an adverse affect on the
implemementation. The user may choose to use the current or previous
method of handling multiple inheritance. The current method is the
default behavior. The previous method is obtained by supplying the
-s (or -S) option with the fedex_plus code generator or the mkProbe
-s (or -S) option with the exp2cxx code generator or the mkProbe
script.
When the fedex_plus code generator is generating the C++ class library
When the exp2cxx code generator is generating the C++ class library
representation of a schema, it outputs information calling attention
to the cases of multiple inheritance.
@ -1005,7 +1060,7 @@ functions.
--------
Attributes of type Boolean and aggregate of Boolean were previously
implemented using the Logical and Logicals classes (respectively).
The fedex_plus code generator now generates classes Boolean and
The exp2cxx code generator now generates classes Boolean and
Booleans to implement attributes of type Boolean and aggregate of
Boolean respectively.

593
README
View file

@ -1,593 +0,0 @@
***********************************************************************
Step Class Library v0.5 -- http://github.com/mpictor/StepClassLibrary
* What is SCL? SCL reads ISO10303-11 EXPRESS schemas and generates
C++ source code that can read and write Part 21 files conforming
to that schema. In addition to C++, v0.5 includes experimental
support for Python.
* SCL is packaged along with some other tools. See
"THE NIST STEP TOOLSET", below. In particular, Data Probe
requires InterViews, an obsolete UI toolkit. I (mpictor) have not
had luck building the data probe with it. It may be more productive
to replace InterViews with a modern toolkit such as Qt. I
expect that this would be non-trivial.
* Much of the work to update SCL has been done by the developers of
BRL-CAD, and SCL was originally created at NIST in the 90's.
* Build system uses only CMake now: configure, Makefile, and all
autotools files have been removed, as has mkProbe.
* Building and testing SCL - see the INSTALL file
***********************************************************************
***********************************************************************
CODING STANDARDS
SCL's source has been reformatted with astyle. When making changes, try
to match the current formatting. The main points are:
- compact (java-style) brackets:
if( a == 3 ) {
c = 5;
function( a, b );
} else {
somefunc( );
}
- indents are 4 spaces
- no tab characters
- line endings are LF (linux), not CRLF (windows)
- brackets around single-line conditionals
- spaces inside parentheses and around operators
- return type on the same line as the function name, unless that's
too long
- doxygen-style comments
(see http://www.stack.nl/~dimitri/doxygen/docblocks.html)
If in doubt about a large patch, run astyle with the config file
misc/astyle.cfg.
Download astyle from http://sourceforge.net/projects/astyle/files/astyle/
***********************************************************************
***********************************************************************
Notes/TODO items specific to the STEP libraries as included in BRL-CAD:
* Original build system has been replaced with Makefile.am and
configure.ac files in the style of BRL-CAD's autotools build
system.
* Changes have been made to src/express to get it compiling with
the output of different versions of lex/flex/bison. These
changes are not yet tested in terms of impact on functionality
and should be a starting point for any debugging of EXPRESS
parsing issues.
* Of the original test code, only p21read has been incorporated into
the new build system, but they are still present in src/test
* Express and exppp header files have been relocated to subdirectories
in include. The names of the library files being built have been
altered, and clstepcore and cleditor now build as separate libraries.
* Numerous minor changes have been made, mostly including stdlib
and other required files.
***********************************************************************
=====================================================
Much has changed since README.scl was written.
However, it is reproduced in its entirety below.
=====================================================
README.scl (top level README) February 1998
THE NIST STEP TOOLSET
=====================
Included in this release of the NIST STEP Toolset are
STEP Class Library (SCL)
fedex_plus
fedex_idl
fedex_os
Data Probe application
Part 21 Reader application
mkProbe script
NIST EXPRESS Toolkit
NIST EXPRESS Pretty Printing Toolkit
The focus of our work since our last release has been on developing a
reference implementation of the binding of EXPRESS to C++ and IDL as
specified by STEP's Parts 23 and 26 respectively. To this we have
added a persistence capability (based on the ObjectStore OODB from
Object Design, Inc) and a distribution capability (based on Orbix by
Iona Technologies, Ltd). We also experimented with the Open OODB from
Texas Instruments and with DSOM from IBM.
The STEP Class Library (SCL) and fedex_plus are used to build
STEP-related applications in C++. They support STEP Parts 21 (the
exchange file format), 22 (the functional specification of STEP's
Standard Data Access Interface, SDAI), 23 (the C++ binding to SDAI),
and 26 (the IDL interface to SDAI). fedex_plus is an application of
the NIST EXPRESS Toolkit (based on STEP Part 11) which generates a C++
class library representation of an EXPRESS schema based on STEP's Part
23. The generated classes work with the STEP Class Library. The NIST
EXPRESS Pretty Printing Toolkit is used to format and output EXPRESS.
fedex_os is used to generate software (in addition to fedex_plus)
needed to use SCL with the ObjectStore OODB. fedex_idl translates
EXPRESS to the Interface Definition Language (according to Part 26)
for use with Orbix.
The Data Probe software and mkProbe script are used to generate
schema-specific class libraries (a.k.a. "Schema Class Library"), Data
Probe editors, and Part 21 file readers. mkProbe generates a C++
library representing a schema (using fedex_plus) and links the schema
library with other libraries of the SCL and Data Probe to create a
schema specific editor, known as a Data Probe. The Data Probe is a
graphical editor for STEP data; it is used to browse and edit data
instances of the objects in an EXPRESS model. It may also be used to
visually browse the objects contained in the EXPRESS schema itself.
Data Probes are X Windows-based and use the InterViews Toolkit from
Stanford University.
The Data Probe source code was designed with reusability in mind. The
runtime-code uses three class libraries: the STEP Class Library
(developed at NIST), the InterViews Toolkit (user interface
developer's toolkit from Stanford), and a standard C++ Class Library.
The NIST STEP Class Library is divided into component libraries
including STEP Core, Editor, Utilities, Data Access Interface,
Interviews extensions, and Probe. The STEP Core, Editor, and Utils
libraries can be used without the user interface libraries (Interviews
extensions and Probe) for applications needing to represent the
EXPRESS data structures. At this point the Data Access Interface is a
partial implementation of SDAI's Session schema.
Dependencies between these modules have been minimized so that an
executable program, the Data Probe, can be easily reconfigured to
support different conceptual schemas.
We have experimented with replacing the Interviews-based interface
with a tcl interface with good success; however, it is not in our work
plan to complete. If anyone is interested in extending the toolkit
with a more modern interface, we would be glad to discuss it with you.
The Part 21 Reader was originally developed to test whether a Schema
Class built and linked without problems. It is also useful for
checking Part 21 files. It displays the error messages from the STEP
Class Library as a file is read.
SYSTEM REQUIREMENTS
===================
Depending on how you want to use the toolkit, additional pieces of
software will need to be available on your local system:
- UNIX SunOS 4.1.x or Solaris 5.x operating system.
At NIST, the SCL including the Data Probe has been built on
SunOS workstations. The SCL without the Data Probe has been
built on Solaris. (We did not build the InterViews Library
on Solaris.) NOTE: earlier versions of the SCL 2.1 without
the Data Probe had been ported to AIX, HP, linux, and Windows NT.
- a C++ compiler -- cfront version 2.1 or higher
NOTE: The current SCL release has been built with SUN C/C++,
and GNU's gcc/g++ compilers. Earlier versions of the SCL were
built using CenterLine on SunOS and CSet++ on AIX.
If you successfully port the current version to other
compilers and/or operating systems (and are willing to share)
please contact us (stepcl@cme.nist.gov) so that we can point
others to it.
- The NIST EXPRESS Toolkit -- available from NIST
Included in this release; also available as:
ftp.cme.nist.gov:pub/step/npttools/exptk.tar.Z
- The NIST EXPRESS Pretty Printer -- available from NIST
Included in this release; also available as:
ftp.cme.nist.gov:pub/step/npttools/exppp.tar.Z
The following components are optional:
- Version 3.1 of the InterViews Toolkit from Stanford.
ftp://interviews.stanford.edu:pub/3.1.tar.Z
NOTE: InterViews is only needed for the Data Probe portion of
the toolkit. The STEP Class Library without the Data Probe
and InterViews has been built on more platforms than with these
components.
- Orbix version 2.0. Available from Iona Technologies:
http://www.iona.com
- Object Store version 4. Available from Object Design Inc.:
http://www.odi.com.
INSTALLATION INSTRUCTIONS
=========================
Refer to the file INSTALL.
In the instructions below, you will see references to the directory
<ARCH_DIR>. This directory name should be interpreted as the directory
which is named to reflect your compiler and/or system architecture
when installing the SCL using configure: i.e. "arch.centerline" or
"arch-gnu.solaris"
CREATING A NEW SCHEMA CLASS LIBRARY AND/OR DATA PROBE
=====================================================
The <ARCH_DIR>/bin/mkProbe script automates the process of building
new Schema Class Libraries and Data Probe executables. When run with
the -l option only the Schema Class Library will be created. See man
page in ~scl/man.
Examples
Input command line output (name and location)
----------------------------------------------------
mkProbe part41.exp pt41 ./pt41/dp_pt41
mkProbe -i part101.exp dp ~scl/<ARCH_DIR>/Probes/dp/dp_dp
mkProbe -l example.exp example ./example/libCexample.a
mkProbe -p example.exp example ./example/p21read_example
CONTENTS
========
This directory contains the following files and subdirectories.
This software release includes all the NIST software needed for
creating new versions of the Data Probe program. Two example schemas
are included in the data directory.
INSTALL - File discussing installation of SCL.
README.scl - This file.
src/test/README - README discussing SCL coding examples under src/test/
disclaim.txt - NIST disclaimer for this distribution.
build-apps.txt - Discusses how to build applications using the STEP
Class Library.
whatsnew.3-1.txt- Discusses new features in the STEP Class Library and
Data Probe 3.1 release.
whatsnew.2-1.txt- This was the `whatsnew' file released with SCL 2.1.
Most of the information is still relevant.
configure - Script used to install the SCL.
configure.in - File used to create the configure script using gnu's
autoconf software.
configure.files_notes.txt - Discusses various files used by the
configure script.
Makefile - Contains a default rule to build SCL using the
configure installation script.
<ARCH_DIR>/bin/mkProbe - Script used to generate a new Schema Class Library
and/or Data Probe executable.
(see CREATING A NEW SCHEMA CLASS LIBRARY AND/OR DATA PROBE)
config/ - Directory containing various templates needed by the
configure installation script.
config/examples/ - Directory containing examples of using configure to
install SCL.
arch_template/ - Directory containing templates used by configure to
create an architecture specific SCL installation.
src/ - Source code files for the C++ libraries included in this
release.
src/cl* - Directories containing the source code for the C++
libraries in the STEP Class Library. These
libraries are documented in the VTS Design document
(see DOCUMENTATION below). They are as follows:
src/clutils - utilities needed by the other libraries.
src/clstepcore - "core" classes representing EXPRESS types
and dictionary info.
src/cldai - classes for a partial implementation of the
Session schema of STEP's Standard Data
Access Interface (STEP Part 23).
src/cleditor - classes for managing data instances and
exchange files.
src/clivfasd - customizations to the Interviews class
library.
src/clprobe-ui - user interface classes for the Data Probe.
src/clSchemas - Contain subdirectories with schema specific source
code generated by the mkProbe script.
src/express - Directory containing the EXPRESS Toolkit.
src/exppp - Directory containing EXPRESS Pretty Printer Toolkit.
src/test - Directory containing example STEP Class Library
applications.
src/fedex_plus - Directory containing source code and makefile for
fedex_plus, fedex_idl, fedex_os
<ARCH_DIR>
- <ARCH_DIR> is the installer-supplied name of the
directory which is created when you run configure to
install SCL. (See the file INSTALL for more
information.) This directory contains computer
architecture-specific files. Additional arch dirs
may be created to support multiple platforms or C++
compilers which all refer to the same source
code under src/. The arch dir contains the subdirectories
ofiles, bin, lib, and Probes.
<ARCH_DIR>/ofiles/ - Directory containing object (.o) files for SCL.
<ARCH_DIR>/ofiles/sdaiOrbix - Directory containing IDL files and
Makefile needed to build and use SCL with Orbix.
<ARCH_DIR>/lib/ - Directory containing library (.a) files for SCL.
<ARCH_DIR>/Probes/ - The <ARCH_DIR>/Probes directory will contain
directories for versions of the Schema Class Library
and Data Probe generated using the mkProbe script
with the -i option.
<ARCH_DIR>/bin/ - The fedex, fedex_plus, fedex_idl, and fedex_os,
exppp, and symlink executables and mkProbe,
sclbuild, and setup-arch scripts are placed in this
directory during installation.
data/ - Directory containing sample EXPRESS files to use to
create SCL applications such as the Data Probe or
Part 21 Reader. Also contains data for some of the
examples.
bin/ - Directory containing various scripts.
man/ - Directory containing man pages for the software in
the release. You may look at the man page by
issuing the command: nroff -man <manpagefile> or by
adding this directory to your MANPATH.
EXAMPLES
========
Example of creating a Data Probe
--------------------------------
To create a new version of the Data Probe run the script mkProbe. For
example, to create a Data Probe based on the "example_schema" EXPRESS
schema included in this release, issue the following command in a
directory from which you would like a subdirectory containing the new
Data Probe to be created:
% mkProbe ~scl/data/example/example.exp example
This command creates a new version of the Data Probe in the file:
% ./example/dp_example
(It also creates subdirectory example/ if it does not exist already.)
Examples of using the STEP Class Library
----------------------------------------
To use the Schema Class Library source code (without the Data Probe
software) refer to the examples in the directory src/test.
Example of a Part 21 file reader
--------------------------------
To create a file reader based on STEP's Part 21 format use the mkProbe
script with the -p option.
% mkProbe -p ~scl/data/example/example.exp example
The executable p21read_example is created. Run it as follows:
% p21read_example your_part_21_file
This program reads a file the name of which is supplied as an
argument to the program. Any errors encountered when reading the file
are reported to standard output. A summary of the file is also
reported. The file is then written back out to a file the name of
which may be supplied as the second argument to the program. If no
name is given, "file.out" is used.
FOR MORE INFORMATION
====================
SCL HOME PAGE
-------------
The SCL home page is located on the world wide web at,
http://www.nist.gov/scl
The SCL home page will provide important, up-to-date information on
the status of the SCL, new developments and fixes, links to related
software and projects, and may eventually contain an FAQ sheet.
SCL DOCUMENTATION
-----------------
Documentation can be accessed from the SCL world wide web home page
located at http://www.nist.gov/scl
The following files (in postscript format) are particularly relevant:
Design of a C++ Software Library for Implementing EXPRESS: The NIST
STEP Class Library
Data Probe User's Guide
Data Probe: A Tool for EXPRESS-based Data
Architecture for the Validation Testing System Software
Validation Testing System Software Reusable Software Component Design
Diagrams of basic SCL data structures
ISO DOCUMENTATION
-----------------
Copies of the International Standard documents (including STEP Part 11
the EXPRESS Language Reference Manual, Part 21 the STEP Exchange File
Format, Part 22 STEP's Standard Data Access Interface, and Part 23 the
C++ language binding to SDAI) can be ordered from the ISO
International Organization of Standardization or your national
body. The United States distribution is managed by the US Product Data
Exchange Association at:
U.S. Product Data Association (USPro)
Trident Research Center, Suite 204
5300 International Blvd.
N. Charleston, SC 29418
http://www.uspro.scra.org
uspro@scra.org
Ph: 803-760-3327
FAX: 803-760-3349
MAILING LIST
------------
Announcements of new releases or bug fixes will also be sent to the
mailing list scl@cme.nist.gov. To be added to the scl mailing list
send a request to majordomo@cme.nist.gov. Include in the body of the
message:
subscribe scl
For additional help, include in the body of the message:
help
If you use a signature within your email, end your majordomo
command sequence with the word "end". For example,
subscribe scl
end
REPORTING PROBLEMS AND SUGGESTIONS
==================================
We would like feedback on all parts of the software. Please let us
know if you
- have problems following the instructions in the README file,
- have problems installing the software,
- have problems compiling your own valid EXPRESS schema, or
- have suggestions for improvements to the software.
- really like the software :)
Send your comments to
stepcl@cme.nist.gov
(For users of version 2, note the new mailing address of "stepcl...".)
Questions about availability or accessing the software should be
directed to the SOLIS administrator
Gaylen Rinaudot
npt-info@cme.nist.gov
301-975-3386
ACKNOWLEDGMENTS
===============
The STEP Class Library (SCL) was developed by the Manufacturing
Systems Integration Division at the National Institute of Standards
and Technology (http://www.mel/nist.gov/msid) to support testing of
the Standard for the Exchange of Product Model Data (a.k.a STEP) and
validation of STEP's emerging implementation specifications. Funding
for the project has come from the U.S. Department of Commerce, and the
Department of Defense agencies including the Office of the Defense
CALS (Continuous Acquisition and Life-Cycle Support) Executive and the
Defense Advanced Research Projects Agency (DARPA). Recent
enhancements were sponsored by the National Industrial Information
Infrastructure Consortium (NIIIP) (http://www.niiip.org) and the NAMT
Framework project
(http://www.mel.nist.gov/msid/projs/97projs/framewrk.htm) of NIST's
Systems Integration for Manufacturing Applications (SIMA) program
(http://www.mel.nist.gov/msid/sima/sima.htm).
LICENSING RESTRICTIONS and DISCLAIMERS
======================================
This software was produced by the National Institute of Standards and
Technology (NIST), an agency of the U.S. government, and by statute
is not subject to copyright in the United States. Recipients of this
software assume all responsibility associated with its operation,
modification, maintenance, and subsequent re-distribution.
There is no warranty for the NIST STEP Toolkit.
If the NIST STEP Toolkit is modified by someone else and passed on,
NIST wants the Toolkit's recipients to know that what they have is not
what NIST originally distributed.
Distribution Rights
1. Anyone may copy and distribute verbatim copies of the NIST STEP Toolkit
source code as received in any medium.
2. Anyone may modify their copy or copies of the NIST STEP Toolkit source
code or any portion of it, and copy and distribute such modifications
provided that all modifications are clearly associated with the entity
that performs the modifications.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!DISCLAIMERS!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Names of companies and products are provided in order to adequately
specify procedures and equipment used. In no case does such
identification imply recommendation or endorsement by the National
Institute of Standards and Technology, nor does it imply that the
products are necessarily the best available for the purpose.
NO WARRANTY
===========
NIST PROVIDES ABSOLUTELY NO WARRANTY. THE NIST STEP TOOLKIT
IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS
WITH YOU. SHOULD ANY PORTION OF THE NIST STEP TOOLKIT PROVE DEFECTIVE,
YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR, OR CORRECTION.
IN NO EVENT WILL NIST BE LIABLE FOR DAMAGES, INCLUDING ANY LOST
PROFITS, LOST MONIES, OR OTHER SPECIAL, INCIDENTAL OR CONSEQUENTIAL
DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE (INCLUDING BUT NOT
LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE, OR LOSSES
SUSTAINED BY THIRD PARTIES, OR A FAILURE OF THE PROGRAM TO OPERATE
WITH PROGRAMS NOT DISTRIBUTED BY NIST) THE PROGRAMS, EVEN IF YOU HAVE
BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES, OR FOR ANY CLAIM BY
ANY OTHER PARTY.

64
README.md Normal file
View file

@ -0,0 +1,64 @@
Travis-CI | AppVeyor CI
:-------------:|:---------------:
Linux, OSX (LLVM) | Windows (MSVC)
[![Build Status](https://travis-ci.org/stepcode/stepcode.svg?branch=master)](https://travis-ci.org/stepcode/stepcode) | [![Build status](https://ci.appveyor.com/api/projects/status/3fbr9t9gfa812oqu?svg=true)](https://ci.appveyor.com/project/mpictor/stepcode)
***********************************************************************
STEPcode v0.8 -- stepcode.org, github.com/stepcode/stepcode
* What is STEPcode? SC reads ISO10303-11 EXPRESS schemas and generates
C++ source code that can read and write Part 21 files conforming
to that schema. In addition to C++, SC includes experimental
support for Python.
* Renamed in April/May 2012: SC was formerly known as STEP Class
Libraries, SCL for short. It was renamed because the name wasn't
accurate: the class libraries make up only a part of the code.
* Much of the work to update SC has been done by the developers of
BRL-CAD, and SC (then STEP Class Library) was originally created at
NIST in the 90's.
* For information on changes version-by-version, see the NEWS file
* Building and testing SCL - see the INSTALL file
* For more details on the libraries and executables, see the wiki:
http://github.com/stepcode/stepcode/wiki/About-STEPcode
* For license details, see the COPYING file. Summary: 3-clause BSD.
***********************************************************************
***********************************************************************
CODING STANDARDS
SC's source has been reformatted with astyle. When making changes, try
to match the current formatting. The main points are:
- compact (java-style) brackets:
```C
if( a == 3 ) {
c = 5;
function( a, b );
} else {
somefunc( );
}
```
- indents are 4 spaces
- no tab characters
- line endings are LF (linux), not CRLF (windows)
- brackets around single-line conditionals
- spaces inside parentheses and around operators
- return type on the same line as the function name, unless that's
too long
- doxygen-style comments
(see http://www.stack.nl/~dimitri/doxygen/docblocks.html)
If in doubt about a large patch, run astyle with the config file
misc/astyle.cfg.
Download astyle from http://sourceforge.net/projects/astyle/files/astyle/
***********************************************************************
For more info, see the wiki.

View file

@ -1 +0,0 @@
0.5

1
SC_VERSION.txt Normal file
View file

@ -0,0 +1 @@
0.8

6
TODO
View file

@ -1,6 +0,0 @@
(from BRL-CAD)
* rewrite express parser to not require lex/yacc
* verify/fix step parser generation with newer AP schemas, seems to be
outputting invalid syntax.

View file

@ -1,84 +0,0 @@
# - Check if the given C source code compiles and runs.
# CHECK_C_SOURCE_RUNS(<code> <var>)
# <code> - source code to try to compile
# <var> - variable to store the result
# (1 for success, empty for failure)
# The following variables may be set before calling this macro to
# modify the way the check is run:
#
# CMAKE_REQUIRED_FLAGS = string of compile command line flags
# CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
# CMAKE_REQUIRED_INCLUDES = list of include directories
# CMAKE_REQUIRED_LIBRARIES = list of libraries to link
#=============================================================================
# Copyright 2006-2009 Kitware, Inc.
#
# Distributed under the OSI-approved BSD License (the "License");
# see accompanying file Copyright.txt for details.
#
# This software is distributed WITHOUT ANY WARRANTY; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the License for more information.
#=============================================================================
# (To distributed this file outside of CMake, substitute the full
# License text for the above reference.)
MACRO(CHECK_C_FILE_RUNS SOURCE VAR)
IF("${VAR}" MATCHES "^${VAR}$")
SET(MACRO_CHECK_FUNCTION_DEFINITIONS
"-D${VAR} ${CMAKE_REQUIRED_FLAGS}")
IF(CMAKE_REQUIRED_LIBRARIES)
SET(CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES
"-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}")
ELSE(CMAKE_REQUIRED_LIBRARIES)
SET(CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES)
ENDIF(CMAKE_REQUIRED_LIBRARIES)
IF(CMAKE_REQUIRED_INCLUDES)
SET(CHECK_C_SOURCE_COMPILES_ADD_INCLUDES
"-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}")
ELSE(CMAKE_REQUIRED_INCLUDES)
SET(CHECK_C_SOURCE_COMPILES_ADD_INCLUDES)
ENDIF(CMAKE_REQUIRED_INCLUDES)
MESSAGE(STATUS "Performing Test ${VAR}")
TRY_RUN(${VAR}_EXITCODE ${VAR}_COMPILED
${CMAKE_BINARY_DIR}
${SOURCE}
COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS} ${FILE_RUN_DEFINITIONS}
CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS}
-DCMAKE_SKIP_RPATH:BOOL=${CMAKE_SKIP_RPATH}
"${CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES}"
"${CHECK_C_SOURCE_COMPILES_ADD_INCLUDES}"
COMPILE_OUTPUT_VARIABLE OUTPUT)
# if it did not compile make the return value fail code of 1
IF(NOT ${VAR}_COMPILED)
SET(${VAR}_EXITCODE 1)
ENDIF(NOT ${VAR}_COMPILED)
# if the return value was 0 then it worked
IF("${${VAR}_EXITCODE}" EQUAL 0)
SET(${VAR} 1 CACHE INTERNAL "Test ${VAR}")
MESSAGE(STATUS "Performing Test ${VAR} - Success")
FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
"Performing C SOURCE FILE Test ${VAR} succeded with the following output:\n"
"${OUTPUT}\n"
"Return value: ${${VAR}}\n"
"Source file was:\n${SOURCE}\n")
ELSE("${${VAR}_EXITCODE}" EQUAL 0)
IF(CMAKE_CROSSCOMPILING AND "${${VAR}_EXITCODE}" MATCHES "FAILED_TO_RUN")
SET(${VAR} "${${VAR}_EXITCODE}")
ELSE(CMAKE_CROSSCOMPILING AND "${${VAR}_EXITCODE}" MATCHES "FAILED_TO_RUN")
SET(${VAR} "" CACHE INTERNAL "Test ${VAR}")
ENDIF(CMAKE_CROSSCOMPILING AND "${${VAR}_EXITCODE}" MATCHES "FAILED_TO_RUN")
MESSAGE(STATUS "Performing Test ${VAR} - Failed")
FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
"Performing C SOURCE FILE Test ${VAR} failed with the following output:\n"
"${OUTPUT}\n"
"Return value: ${${VAR}_EXITCODE}\n"
"Source file was:\n${SOURCE}\n")
ENDIF("${${VAR}_EXITCODE}" EQUAL 0)
ENDIF("${VAR}" MATCHES "^${VAR}$")
ENDMACRO(CHECK_C_FILE_RUNS)

211
cmake/FindLEMON.cmake Normal file
View file

@ -0,0 +1,211 @@
#
# - Find lemon executable and provides macros to generate custom build rules
# The module defines the following variables
#
# LEMON_EXECUTABLE - path to the lemon program
# LEMON_TEMPLATE - location of the lemon template file
#=============================================================================
# F I N D L E M O N . C M A K E
#
# Originally based off of FindBISON.cmake from Kitware's CMake distribution
#
# Copyright (c) 2010-2016 United States Government as represented by
# the U.S. Army Research Laboratory.
# Copyright 2009 Kitware, Inc.
# Copyright 2006 Tristan Carel
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
#
# * The names of the authors may not be used to endorse or promote
# products derived from this software without specific prior written
# permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#=============================================================================
find_program(LEMON_EXECUTABLE lemon DOC "path to the lemon executable")
mark_as_advanced(LEMON_EXECUTABLE)
if (LEMON_EXECUTABLE AND NOT LEMON_TEMPLATE)
# look for the template in share
if (DATA_DIR AND EXISTS "${DATA_DIR}/lemon/lempar.c")
set (LEMON_TEMPLATE "${DATA_DIR}/lemon/lempar.c")
elseif (EXISTS "share/lemon/lempar.c")
set (LEMON_TEMPLATE "share/lemon/lempar.c")
elseif (EXISTS "/usr/share/lemon/lempar.c")
set (LEMON_TEMPLATE "/usr/share/lemon/lempar.c")
endif (DATA_DIR AND EXISTS "${DATA_DIR}/lemon/lempar.c")
endif (LEMON_EXECUTABLE AND NOT LEMON_TEMPLATE)
if (LEMON_EXECUTABLE AND NOT LEMON_TEMPLATE)
# look for the template in bin dir
get_filename_component(lemon_path ${LEMON_EXECUTABLE} PATH)
if (lemon_path)
if (EXISTS ${lemon_path}/lempar.c)
set (LEMON_TEMPLATE "${lemon_path}/lempar.c")
endif (EXISTS ${lemon_path}/lempar.c)
if (EXISTS /usr/share/lemon/lempar.c)
set (LEMON_TEMPLATE "/usr/share/lemon/lempar.c")
endif (EXISTS /usr/share/lemon/lempar.c)
endif (lemon_path)
endif(LEMON_EXECUTABLE AND NOT LEMON_TEMPLATE)
if (LEMON_EXECUTABLE AND NOT LEMON_TEMPLATE)
# fallback
set (LEMON_TEMPLATE "lempar.c")
if (NOT EXISTS ${LEMON_TEMPLATE})
message(WARNING "Lemon's lempar.c template file could not be found automatically, set LEMON_TEMPLATE")
endif (NOT EXISTS ${LEMON_TEMPLATE})
endif (LEMON_EXECUTABLE AND NOT LEMON_TEMPLATE)
mark_as_advanced(LEMON_TEMPLATE)
include(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(LEMON DEFAULT_MSG LEMON_EXECUTABLE LEMON_TEMPLATE)
# Define the macro
# LEMON_TARGET(<Name> <LemonInput> <LemonSource> <LemonHeader>
# [<ArgString>])
# which will create a custom rule to generate a parser. <LemonInput> is
# the path to a lemon file. <LemonSource> is the desired name for the
# generated source file. <LemonHeader> is the desired name for the
# generated header which contains the token list. Anything in the optional
# <ArgString> parameter is appended to the lemon command line.
#
# ====================================================================
# Example:
#
# find_package(LEMON)
# LEMON_TARGET(MyParser parser.y parser.c parser.h)
# add_executable(Foo main.cpp ${LEMON_MyParser_OUTPUTS})
# ====================================================================
include(CMakeParseArguments)
if(NOT COMMAND LEMON_TARGET)
macro(LEMON_TARGET Name Input)
get_filename_component(IN_FILE_WE ${Input} NAME_WE)
set(LVAR_PREFIX ${Name}_${IN_FILE_WE})
if(${ARGC} GREATER 3)
CMAKE_PARSE_ARGUMENTS(${LVAR_PREFIX} "" "OUT_SRC_FILE;OUT_HDR_FILE;WORKING_DIR;EXTRA_ARGS" "" ${ARGN})
endif(${ARGC} GREATER 3)
# Need a working directory
if("${${LVAR_PREFIX}_WORKING_DIR}" STREQUAL "")
set(${LVAR_PREFIX}_WORKING_DIR "${CMAKE_CURRENT_BINARY_DIR}/${LVAR_PREFIX}")
endif("${${LVAR_PREFIX}_WORKING_DIR}" STREQUAL "")
file(MAKE_DIRECTORY ${${LVAR_PREFIX}_WORKING_DIR})
# Output source file
if ("${${LVAR_PREFIX}_OUT_SRC_FILE}" STREQUAL "")
set(${LVAR_PREFIX}_OUT_SRC_FILE ${${LVAR_PREFIX}_WORKING_DIR}/${IN_FILE_WE}.c)
else ("${${LVAR_PREFIX}_OUT_SRC_FILE}" STREQUAL "")
get_filename_component(specified_out_dir ${${LVAR_PREFIX}_OUT_SRC_FILE} PATH)
if(NOT "${specified_out_dir}" STREQUAL "")
message(FATAL_ERROR "\nFull path specified for OUT_SRC_FILE - should be filename only.\n")
endif(NOT "${specified_out_dir}" STREQUAL "")
set(${LVAR_PREFIX}_OUT_SRC_FILE ${${LVAR_PREFIX}_WORKING_DIR}/${${LVAR_PREFIX}_OUT_SRC_FILE})
endif ("${${LVAR_PREFIX}_OUT_SRC_FILE}" STREQUAL "")
# Output header file
if ("${${LVAR_PREFIX}_OUT_HDR_FILE}" STREQUAL "")
set(${LVAR_PREFIX}_OUT_HDR_FILE ${${LVAR_PREFIX}_WORKING_DIR}/${IN_FILE_WE}.h)
else ("${${LVAR_PREFIX}_OUT_HDR_FILE}" STREQUAL "")
get_filename_component(specified_out_dir ${${LVAR_PREFIX}_OUT_HDR_FILE} PATH)
if(NOT "${specified_out_dir}" STREQUAL "")
message(FATAL_ERROR "\nFull path specified for OUT_HDR_FILE - should be filename only.\n")
endif(NOT "${specified_out_dir}" STREQUAL "")
set(${LVAR_PREFIX}_OUT_HDR_FILE ${${LVAR_PREFIX}_WORKING_DIR}/${${LVAR_PREFIX}_OUT_HDR_FILE})
endif ("${${LVAR_PREFIX}_OUT_HDR_FILE}" STREQUAL "")
# input file
get_filename_component(in_full ${Input} ABSOLUTE)
if("${in_full}" STREQUAL "${Input}")
set(lemon_in_file ${Input})
else("${in_full}" STREQUAL "${Input}")
set(lemon_in_file "${CMAKE_CURRENT_SOURCE_DIR}/${Input}")
endif("${in_full}" STREQUAL "${Input}")
# names of lemon output files will be based on the name of the input file
set(LEMON_GEN_SOURCE ${${LVAR_PREFIX}_WORKING_DIR}/${IN_FILE_WE}.c)
set(LEMON_GEN_HEADER ${${LVAR_PREFIX}_WORKING_DIR}/${IN_FILE_WE}.h)
set(LEMON_GEN_OUT ${${LVAR_PREFIX}_WORKING_DIR}/${IN_FILE_WE}.out)
# copy input to bin directory and run lemon
get_filename_component(INPUT_NAME ${Input} NAME)
add_custom_command(
OUTPUT ${LEMON_GEN_OUT} ${LEMON_GEN_SOURCE} ${LEMON_GEN_HEADER}
COMMAND ${CMAKE_COMMAND} -E copy ${lemon_in_file} ${${LVAR_PREFIX}_WORKING_DIR}/${INPUT_NAME}
COMMAND ${LEMON_EXECUTABLE} -T${LEMON_TEMPLATE} ${${LVAR_PREFIX}_WORKING_DIR}/${INPUT_NAME} ${${LVAR_PREFIX}__EXTRA_ARGS}
DEPENDS ${Input} ${LEMON_TEMPLATE} ${LEMON_EXECUTABLE_TARGET}
WORKING_DIRECTORY ${${LVAR_PREFIX}_WORKING_DIR}
COMMENT "[LEMON][${Name}] Building parser with ${LEMON_EXECUTABLE}"
)
# rename generated outputs
if(NOT "${${LVAR_PREFIX}_OUT_SRC_FILE}" STREQUAL "${LEMON_GEN_SOURCE}")
add_custom_command(
OUTPUT ${${LVAR_PREFIX}_OUT_SRC_FILE}
COMMAND ${CMAKE_COMMAND} -E copy ${LEMON_GEN_SOURCE} ${${LVAR_PREFIX}_OUT_SRC_FILE}
DEPENDS ${LemonInput} ${LEMON_EXECUTABLE_TARGET} ${LEMON_GEN_SOURCE}
)
set(LEMON_${Name}_OUTPUTS ${${LVAR_PREFIX}_OUT_SRC_FILE} ${LEMON_${Name}_OUTPUTS})
endif(NOT "${${LVAR_PREFIX}_OUT_SRC_FILE}" STREQUAL "${LEMON_GEN_SOURCE}")
if(NOT "${${LVAR_PREFIX}_OUT_HDR_FILE}" STREQUAL "${LEMON_GEN_HEADER}")
add_custom_command(
OUTPUT ${${LVAR_PREFIX}_OUT_HDR_FILE}
COMMAND ${CMAKE_COMMAND} -E copy ${LEMON_GEN_HEADER} ${${LVAR_PREFIX}_OUT_HDR_FILE}
DEPENDS ${LemonInput} ${LEMON_EXECUTABLE_TARGET} ${LEMON_GEN_HEADER}
)
set(LEMON_${Name}_OUTPUTS ${${LVAR_PREFIX}_OUT_HDR_FILE} ${LEMON_${Name}_OUTPUTS})
endif(NOT "${${LVAR_PREFIX}_OUT_HDR_FILE}" STREQUAL "${LEMON_GEN_HEADER}")
set(LEMON_${Name}_OUTPUTS ${LEMON_${Name}_OUTPUTS} ${LEMON_GEN_OUT})
# make sure we clean up generated output and copied input
set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES "${LEMON_${Name}_OUTPUTS}")
set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES "${${LVAR_PREFIX}_WORKING_DIR}/${INPUT_NAME}")
# macro ran successfully
set(LEMON_${Name}_DEFINED TRUE)
set(LEMON_${Name}_SRC ${${LVAR_PREFIX}_OUT_SRC_FILE})
set(LEMON_${Name}_HDR ${${LVAR_PREFIX}_OUT_HDR_FILE})
set(LEMON_${Name}_INCLUDE_DIR ${${LVAR_PREFIX}_WORKING_DIR})
endmacro(LEMON_TARGET)
endif(NOT COMMAND LEMON_TARGET)
#============================================================
# FindLEMON.cmake ends here
# Local Variables:
# tab-width: 8
# mode: cmake
# indent-tabs-mode: t
# End:
# ex: shiftwidth=2 tabstop=8

View file

@ -1,161 +0,0 @@
# - Find lex executable and provides a macro to generate custom build rules
#
# The module defines the following variables:
# LEX_FOUND - true is lex executable is found
# LEX_EXECUTABLE - the path to the lex executable
# LEX_LIBRARIES - The lex libraries
#
# If lex is found on the system, the module provides the macro:
# LEX_TARGET(Name FlexInput FlexOutput [COMPILE_FLAGS <string>])
# which creates a custom command to generate the <FlexOutput> file from
# the <FlexInput> file. If COMPILE_FLAGS option is specified, the next
# parameter is added to the lex command line. Name is an alias used to
# get details of this custom command. Indeed the macro defines the
# following variables:
# LEX_${Name}_DEFINED - true is the macro ran successfully
# LEX_${Name}_OUTPUTS - the source file generated by the custom rule, an
# alias for FlexOutput
# LEX_${Name}_INPUT - the lex source file, an alias for ${FlexInput}
#
# Flex scanners oftenly use tokens defined by Yacc: the code generated
# by Flex depends of the header generated by Yacc. This module also
# defines a macro:
# ADD_LEX_YACC_DEPENDENCY(FlexTarget YaccTarget)
# which adds the required dependency between a scanner and a parser
# where <FlexTarget> and <YaccTarget> are the first parameters of
# respectively LEX_TARGET and YACC_TARGET macros.
#
# ====================================================================
# Example:
#
# find_package(YACC)
# find_package(LEX)
#
# YACC_TARGET(MyParser parser.y ${CMAKE_CURRENT_BINARY_DIR}/parser.cpp
# LEX_TARGET(MyScanner lexer.l ${CMAKE_CURRENT_BIANRY_DIR}/lexer.cpp)
# ADD_LEX_YACC_DEPENDENCY(MyScanner MyParser)
#
# include_directories(${CMAKE_CURRENT_BINARY_DIR})
# add_executable(Foo
# Foo.cc
# ${YACC_MyParser_OUTPUTS}
# ${LEX_MyScanner_OUTPUTS}
# )
# ====================================================================
#
#=============================================================================
# Copyright 2010 United States Government as represented by
# the U.S. Army Research Laboratory.
# Copyright 2009 Kitware, Inc.
# Copyright 2006 Tristan Carel
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
#
# * The names of the authors may not be used to endorse or promote
# products derived from this software without specific prior written
# permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#=============================================================================
FIND_PROGRAM(LEX_EXECUTABLE flex DOC "path to the lex executable")
IF(NOT LEX_EXECUTABLE)
FIND_PROGRAM(LEX_EXECUTABLE lex DOC "path to the lex executable")
ENDIF(NOT LEX_EXECUTABLE)
MARK_AS_ADVANCED(LEX_EXECUTABLE)
FIND_LIBRARY(FL_LIBRARY NAMES fl
DOC "path to the fl library")
MARK_AS_ADVANCED(FL_LIBRARY)
SET(LEX_LIBRARIES ${FL_LIBRARY})
IF(LEX_EXECUTABLE)
#============================================================
# LEX_TARGET (public macro)
#============================================================
#
MACRO(LEX_TARGET Name Input Output)
SET(LEX_TARGET_usage "LEX_TARGET(<Name> <Input> <Output> [COMPILE_FLAGS <string>]")
IF(${ARGC} GREATER 3)
IF(${ARGC} EQUAL 5)
IF("${ARGV3}" STREQUAL "COMPILE_FLAGS")
SET(LEX_EXECUTABLE_opts "${ARGV4}")
SEPARATE_ARGUMENTS(LEX_EXECUTABLE_opts)
ELSE()
MESSAGE(SEND_ERROR ${LEX_TARGET_usage})
ENDIF()
ELSE()
MESSAGE(SEND_ERROR ${LEX_TARGET_usage})
ENDIF()
ENDIF()
ADD_CUSTOM_COMMAND(OUTPUT ${Output}
COMMAND ${LEX_EXECUTABLE}
ARGS ${LEX_EXECUTABLE_opts} -o${Output} ${Input}
DEPENDS ${Input}
COMMENT "[LEX][${Name}] Building scanner with ${LEX_EXECUTABLE}"
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
SET(LEX_${Name}_DEFINED TRUE)
SET(LEX_${Name}_OUTPUTS ${Output})
SET(LEX_${Name}_INPUT ${Input})
SET(LEX_${Name}_COMPILE_FLAGS ${LEX_EXECUTABLE_opts})
ENDMACRO(LEX_TARGET)
#============================================================
#============================================================
# ADD_LEX_YACC_DEPENDENCY (public macro)
#============================================================
#
MACRO(ADD_LEX_YACC_DEPENDENCY FlexTarget YaccTarget)
IF(NOT LEX_${FlexTarget}_OUTPUTS)
MESSAGE(SEND_ERROR "Flex target `${FlexTarget}' does not exists.")
ENDIF()
IF(NOT YACC_${YaccTarget}_OUTPUT_HEADER)
MESSAGE(SEND_ERROR "Yacc target `${YaccTarget}' does not exists.")
ENDIF()
SET_SOURCE_FILES_PROPERTIES(${LEX_${FlexTarget}_OUTPUTS}
PROPERTIES OBJECT_DEPENDS ${YACC_${YaccTarget}_OUTPUT_HEADER})
ENDMACRO(ADD_LEX_YACC_DEPENDENCY)
#============================================================
#Need to run a test lex file to determine if YYTEXT_POINTER needs
#to be defined
EXEC_PROGRAM(${LEX_EXECUTABLE} ARGS ${CMAKE_SOURCE_DIR}/misc/CMake/test_srcs/lex_test.l -o ${CMAKE_BINARY_DIR}/CMakeTmp/lex_test.c RETURN_VALUE _retval OUTPUT_VARIABLE _lexOut)
INCLUDE (CheckCFileRuns)
SET(FILE_RUN_DEFINITIONS "-DYYTEXT_POINTER=1")
CHECK_C_FILE_RUNS(${CMAKE_CURRENT_SOURCE_DIR}/cmake/test_srcs/sys_wait_test.c YYTEXT_POINTER)
SET(FILE_RUN_DEFINITIONS)
ENDIF(LEX_EXECUTABLE)
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(LEX DEFAULT_MSG LEX_EXECUTABLE)
# FindLEX.cmake ends here

260
cmake/FindPERPLEX.cmake Normal file
View file

@ -0,0 +1,260 @@
#
# - Find perplex executable and provides macros to generate custom build rules
# The module defines the following variables
#
# PERPLEX_EXECUTABLE - path to the perplex program
# PERPLEX_TEMPLATE - location of the perplex template file
#=============================================================================
# F I N D P E R P L E X . C M A K E
#
# Originally based off of FindBISON.cmake from Kitware's CMake distribution
#
# Copyright (c) 2010-2016 United States Government as represented by
# the U.S. Army Research Laboratory.
# Copyright 2009 Kitware, Inc.
# Copyright 2006 Tristan Carel
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
#
# * The names of the authors may not be used to endorse or promote
# products derived from this software without specific prior written
# permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#=============================================================================
find_program(PERPLEX_EXECUTABLE perplex DOC "path to the perplex executable")
mark_as_advanced(PERPLEX_EXECUTABLE)
if(PERPLEX_EXECUTABLE AND NOT PERPLEX_TEMPLATE)
get_filename_component(perplex_path ${PERPLEX_EXECUTABLE} PATH)
if(perplex_path)
set(PERPLEX_TEMPLATE "")
if(EXISTS ${perplex_path}/../share/perplex/perplex_template.c)
get_filename_component(perplex_template_path "${perplex_path}/../share/perplex/perplex_template.c" ABSOLUTE)
set(PERPLEX_TEMPLATE "${perplex_template_path}")
endif(EXISTS ${perplex_path}/../share/perplex/perplex_template.c)
if(EXISTS ${perplex_path}/../share/perplex_template.c AND NOT PERPLEX_TEMPLATE)
get_filename_component(perplex_template_path "${perplex_path}/../share/perplex_template.c" ABSOLUTE)
set(PERPLEX_TEMPLATE "${perplex_template_path}")
endif(EXISTS ${perplex_path}/../share/perplex_template.c AND NOT PERPLEX_TEMPLATE)
endif(perplex_path)
if(EXISTS /usr/share/perplex/perplex_template.c AND NOT PERPLEX_TEMPLATE)
set(PERPLEX_TEMPLATE "/usr/share/perplex/perplex_template.c")
endif(EXISTS /usr/share/perplex/perplex_template.c AND NOT PERPLEX_TEMPLATE)
endif(PERPLEX_EXECUTABLE AND NOT PERPLEX_TEMPLATE)
include(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(PERPLEX DEFAULT_MSG PERPLEX_EXECUTABLE PERPLEX_TEMPLATE)
mark_as_advanced(PERPLEX_TEMPLATE)
# Defines two macros - PERPLEX_TARGET, which takes perplex inputs and
# runs both perplex and re2c to generate C source code/headers, and
# ADD_PERPLEX_LEMON_DEPENDENCY which is used to set up dependencies between
# scanner and parser targets when necessary.
#
# #====================================================================
# Example:
#
# find_package(LEMON)
# find_package(RE2C)
# find_package(PERPLEX)
#
# LEMON_TARGET(MyParser parser.y "${CMAKE_CURRENT_BINARY_DIR}/parser.cpp")
# PERPLEX_TARGET(MyScanner scanner.re "${CMAKE_CURRENT_BINARY_DIR}/scanner.cpp" "${CMAKE_CURRENT_BINARY_DIR}/scanner_header.hpp")
# ADD_PERPLEX_LEMON_DEPENDENCY(MyScanner MyParser)
#
# include_directories("${CMAKE_CURRENT_BINARY_DIR}")
# add_executable(Foo
# Foo.cc
# ${LEMON_MyParser_OUTPUTS}
# ${PERPLEX_MyScanner_OUTPUTS}
# )
# ====================================================================
#
#=============================================================================
#
# Originally based off of FindBISON.cmake from Kitware's CMake distribution
#
# Copyright (c) 2010-2016 United States Government as represented by
# the U.S. Army Research Laboratory.
# Copyright 2009 Kitware, Inc.
# Copyright 2006 Tristan Carel
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
#
# * The names of the authors may not be used to endorse or promote
# products derived from this software without specific prior written
# permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#=============================================================================
#============================================================
# PERPLEX_TARGET (public macro)
#============================================================
include(CMakeParseArguments)
if(NOT COMMAND PERPLEX_TARGET)
macro(PERPLEX_TARGET Name Input)
get_filename_component(IN_FILE_WE ${Input} NAME_WE)
set(PVAR_PREFIX ${Name}_${IN_FILE_WE})
if(${ARGC} GREATER 3)
CMAKE_PARSE_ARGUMENTS(${PVAR_PREFIX} "" "TEMPLATE;OUT_SRC_FILE;OUT_HDR_FILE;WORKING_DIR" "" ${ARGN})
endif(${ARGC} GREATER 3)
# Need a working directory
if("${${PVAR_PREFIX}_WORKING_DIR}" STREQUAL "")
set(${PVAR_PREFIX}_WORKING_DIR "${CMAKE_CURRENT_BINARY_DIR}/${PVAR_PREFIX}")
endif("${${PVAR_PREFIX}_WORKING_DIR}" STREQUAL "")
file(MAKE_DIRECTORY ${${PVAR_PREFIX}_WORKING_DIR})
# Set up intermediate and final output names
# Output source file
if ("${${PVAR_PREFIX}_OUT_SRC_FILE}" STREQUAL "")
set(${PVAR_PREFIX}_OUT_SRC_FILE ${${PVAR_PREFIX}_WORKING_DIR}/${IN_FILE_WE}.c)
else ("${${PVAR_PREFIX}_OUT_SRC_FILE}" STREQUAL "")
get_filename_component(specified_out_dir ${${PVAR_PREFIX}_OUT_SRC_FILE} PATH)
if(NOT "${specified_out_dir}" STREQUAL "")
message(FATAL_ERROR "\nFull path specified for OUT_SRC_FILE - should be filename only.\n")
endif(NOT "${specified_out_dir}" STREQUAL "")
set(${PVAR_PREFIX}_OUT_SRC_FILE ${${PVAR_PREFIX}_WORKING_DIR}/${${PVAR_PREFIX}_OUT_SRC_FILE})
endif ("${${PVAR_PREFIX}_OUT_SRC_FILE}" STREQUAL "")
# Output header file
if ("${${PVAR_PREFIX}_OUT_HDR_FILE}" STREQUAL "")
set(${PVAR_PREFIX}_OUT_HDR_FILE ${${PVAR_PREFIX}_WORKING_DIR}/${IN_FILE_WE}.h)
else ("${${PVAR_PREFIX}_OUT_HDR_FILE}" STREQUAL "")
get_filename_component(specified_out_dir ${${PVAR_PREFIX}_OUT_HDR_FILE} PATH)
if(NOT "${specified_out_dir}" STREQUAL "")
message(FATAL_ERROR "\nFull path specified for OUT_HDR_FILE - should be filename only.\n")
endif(NOT "${specified_out_dir}" STREQUAL "")
set(${PVAR_PREFIX}_OUT_HDR_FILE ${${PVAR_PREFIX}_WORKING_DIR}/${${PVAR_PREFIX}_OUT_HDR_FILE})
endif ("${${PVAR_PREFIX}_OUT_HDR_FILE}" STREQUAL "")
# input file
get_filename_component(in_full ${Input} ABSOLUTE)
if("${in_full}" STREQUAL "${Input}")
set(perplex_in_file ${Input})
else("${in_full}" STREQUAL "${Input}")
set(perplex_in_file "${CMAKE_CURRENT_SOURCE_DIR}/${Input}")
endif("${in_full}" STREQUAL "${Input}")
# Intermediate file
set(re2c_src "${${PVAR_PREFIX}_WORKING_DIR}/${IN_FILE_WE}.re")
# Make sure we have a template
if ("${${PVAR_PREFIX}_TEMPLATE}" STREQUAL "")
if(PERPLEX_TEMPLATE)
set(${PVAR_PREFIX}_TEMPLATE ${PERPLEX_TEMPLATE})
else(PERPLEX_TEMPLATE)
message(FATAL_ERROR "\nNo Perplex template file specified - please specify the file using the PERPLEX_TEMPLATE variable:\ncmake .. -DPERPLEX_TEMPLATE=/path/to/template_file.c\n")
endif(PERPLEX_TEMPLATE)
endif ("${${PVAR_PREFIX}_TEMPLATE}" STREQUAL "")
get_filename_component(IN_FILE ${Input} NAME)
add_custom_command(
OUTPUT ${re2c_src} ${${PVAR_PREFIX}_OUT_HDR_FILE} ${${PVAR_PREFIX}_WORKING_DIR}/${IN_FILE}
COMMAND ${CMAKE_COMMAND} -E copy ${perplex_in_file} ${${PVAR_PREFIX}_WORKING_DIR}/${IN_FILE}
COMMAND ${PERPLEX_EXECUTABLE} -c -o ${re2c_src} -i ${${PVAR_PREFIX}_OUT_HDR_FILE} -t ${${PVAR_PREFIX}_TEMPLATE} ${${PVAR_PREFIX}_WORKING_DIR}/${IN_FILE}
DEPENDS ${Input} ${${PVAR_PREFIX}_TEMPLATE} ${PERPLEX_EXECUTABLE_TARGET} ${RE2C_EXECUTABLE_TARGET}
WORKING_DIRECTORY ${${PVAR_PREFIX}_WORKING_DIR}
COMMENT "[PERPLEX][${Name}] Generating re2c input with ${PERPLEX_EXECUTABLE}"
)
if(NOT DEBUGGING_GENERATED_SOURCES)
add_custom_command(
OUTPUT ${${PVAR_PREFIX}_OUT_SRC_FILE}
COMMAND ${RE2C_EXECUTABLE} --no-debug-info --no-generation-date -c -o ${${PVAR_PREFIX}_OUT_SRC_FILE} ${re2c_src}
DEPENDS ${Input} ${re2c_src} ${${PVAR_PREFIX}_OUT_HDR_FILE} ${PERPLEX_EXECUTABLE_TARGET} ${RE2C_EXECUTABLE_TARGET}
WORKING_DIRECTORY ${${PVAR_PREFIX}_WORKING_DIR}
COMMENT "[RE2C][${Name}] Building scanner with ${RE2C_EXECUTABLE}"
)
else(NOT DEBUGGING_GENERATED_SOURCES)
add_custom_command(
OUTPUT ${${PVAR_PREFIX}_OUT_SRC_FILE}
COMMAND ${RE2C_EXECUTABLE} --no-generation-date -c -o ${${PVAR_PREFIX}_OUT_SRC_FILE} ${re2c_src}
DEPENDS ${Input} ${re2c_src} ${${PVAR_PREFIX}_OUT_HDR_FILE} ${PERPLEX_EXECUTABLE_TARGET} ${RE2C_EXECUTABLE_TARGET}
WORKING_DIRECTORY ${${PVAR_PREFIX}_WORKING_DIR}
COMMENT "[RE2C][${Name}] Building scanner with ${RE2C_EXECUTABLE}"
)
endif(NOT DEBUGGING_GENERATED_SOURCES)
set(PERPLEX_${Name}_DEFINED TRUE)
set(PERPLEX_${Name}_SRC ${${PVAR_PREFIX}_OUT_SRC_FILE})
set(PERPLEX_${Name}_HDR ${${PVAR_PREFIX}_OUT_HDR_FILE})
set(PERPLEX_${Name}_INCLUDE_DIR ${${PVAR_PREFIX}_WORKING_DIR})
endmacro(PERPLEX_TARGET)
endif(NOT COMMAND PERPLEX_TARGET)
#============================================================
# ADD_PERPLEX_LEMON_DEPENDENCY (public macro)
#============================================================
if(NOT COMMAND ADD_PERPLEX_LEMON_DEPENDENCY)
macro(ADD_PERPLEX_LEMON_DEPENDENCY PERPLEXTarget LemonTarget)
if(NOT PERPLEX_${PERPLEXTarget}_SRC)
message(SEND_ERROR "PERPLEX target `${PERPLEXTarget}' does not exists.")
endif()
if(NOT LEMON_${LemonTarget}_HDR)
message(SEND_ERROR "Lemon target `${LemonTarget}' does not exists.")
endif()
set_source_files_properties(${PERPLEX_${PERPLEXTarget}_SRC}
PROPERTIES OBJECT_DEPENDS ${LEMON_${LemonTarget}_HDR})
endmacro(ADD_PERPLEX_LEMON_DEPENDENCY)
endif(NOT COMMAND ADD_PERPLEX_LEMON_DEPENDENCY)
#============================================================
# FindPERPLEX.cmake ends here
# Local Variables:
# tab-width: 8
# mode: cmake
# indent-tabs-mode: t
# End:
# ex: shiftwidth=2 tabstop=8

145
cmake/FindRE2C.cmake Normal file
View file

@ -0,0 +1,145 @@
# The module defines the following variables:
# RE2C_EXECUTABLE - the path to the re2c executable
#
#=============================================================================
find_program(RE2C_EXECUTABLE re2c DOC "path to the re2c executable")
mark_as_advanced(RE2C_EXECUTABLE)
include(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(RE2C DEFAULT_MSG RE2C_EXECUTABLE)
# Provide a macro to generate custom build rules:
# RE2C_TARGET(Name RE2CInput RE2COutput [COMPILE_FLAGS <string>])
# which creates a custom command to generate the <RE2COutput> file from
# the <RE2CInput> file. If COMPILE_FLAGS option is specified, the next
# parameter is added to the re2c command line. Name is an alias used to
# get details of this custom command.
# This module also defines a macro:
# ADD_RE2C_LEMON_DEPENDENCY(RE2CTarget LemonTarget)
# which adds the required dependency between a scanner and a parser
# where <RE2CTarget> and <LemonTarget> are the first parameters of
# respectively RE2C_TARGET and LEMON_TARGET macros.
#
# ====================================================================
# Example:
#
# find_package(LEMON)
# find_package(RE2C)
#
# LEMON_TARGET(MyParser parser.y "${CMAKE_CURRENT_BINARY_DIR}/parser.cpp")
# RE2C_TARGET(MyScanner scanner.re "${CMAKE_CURRENT_BINARY_DIR}/scanner.cpp")
# ADD_RE2C_LEMON_DEPENDENCY(MyScanner MyParser)
#
# include_directories("${CMAKE_CURRENT_BINARY_DIR}")
# add_executable(Foo
# Foo.cc
# ${LEMON_MyParser_OUTPUTS}
# ${RE2C_MyScanner_OUTPUTS}
# )
# ====================================================================
#
#=============================================================================
# Copyright (c) 2010-2016 United States Government as represented by
# the U.S. Army Research Laboratory.
# Copyright 2009 Kitware, Inc.
# Copyright 2006 Tristan Carel
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
#
# * The names of the authors may not be used to endorse or promote
# products derived from this software without specific prior written
# permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#=============================================================================
#============================================================
# RE2C_TARGET (public macro)
#============================================================
#
# TODO - rework this macro to make use of CMakeParseArguments, see
# http://www.cmake.org/pipermail/cmake/2012-July/051309.html
if(NOT COMMAND RE2C_TARGET)
macro(RE2C_TARGET Name Input Output)
set(RE2C_TARGET_usage "RE2C_TARGET(<Name> <Input> <Output> [COMPILE_FLAGS <string>]")
if(${ARGC} GREATER 3)
if(${ARGC} EQUAL 5)
if("${ARGV3}" STREQUAL "COMPILE_FLAGS")
set(RE2C_EXECUTABLE_opts "${ARGV4}")
SEPARATE_ARGUMENTS(RE2C_EXECUTABLE_opts)
else()
message(SEND_ERROR ${RE2C_TARGET_usage})
endif()
else()
message(SEND_ERROR ${RE2C_TARGET_usage})
endif()
endif()
add_custom_command(OUTPUT ${Output}
COMMAND ${RE2C_EXECUTABLE}
ARGS ${RE2C_EXECUTABLE_opts} -o${Output} ${Input}
DEPENDS ${Input} ${RE2C_EXECUTABLE_TARGET}
COMMENT "[RE2C][${Name}] Building scanner with ${RE2C_EXECUTABLE}"
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}")
set(RE2C_${Name}_DEFINED TRUE)
set(RE2C_${Name}_OUTPUTS ${Output})
set(RE2C_${Name}_INPUT ${Input})
set(RE2C_${Name}_COMPILE_FLAGS ${RE2C_EXECUTABLE_opts})
set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES "${Output}")
endmacro(RE2C_TARGET)
endif(NOT COMMAND RE2C_TARGET)
#============================================================
#============================================================
# ADD_RE2C_LEMON_DEPENDENCY (public macro)
#============================================================
#
if(NOT COMMAND ADD_RE2C_LEMON_DEPENDENCY)
macro(ADD_RE2C_LEMON_DEPENDENCY RE2CTarget LemonTarget)
if(NOT RE2C_${RE2CTarget}_OUTPUTS)
message(SEND_ERROR "RE2C target `${RE2CTarget}' does not exists.")
endif()
if(NOT LEMON_${LemonTarget}_HDR)
message(SEND_ERROR "Lemon target `${LemonTarget}' does not exists.")
endif()
set_source_files_properties(${RE2C_${RE2CTarget}_OUTPUTS}
PROPERTIES OBJECT_DEPENDS ${LEMON_${LemonTarget}_HDR})
endmacro(ADD_RE2C_LEMON_DEPENDENCY)
endif(NOT COMMAND ADD_RE2C_LEMON_DEPENDENCY)
#============================================================
# RE2C_Util.cmake ends here
# Local Variables:
# tab-width: 8
# mode: cmake
# indent-tabs-mode: t
# End:
# ex: shiftwidth=2 tabstop=8

View file

@ -1,165 +0,0 @@
# - Find yacc executable and provides macros to generate custom build rules
# The module defines the following variables
#
# YACC_EXECUTABLE - path to the yacc program
# YACC_FOUND - true if the program was found
#
# If yacc is found, the module defines the macros:
# YACC_TARGET(<Name> <YaccInput> <CodeOutput> [VERBOSE <file>]
# [COMPILE_FLAGS <string>])
# which will create a custom rule to generate a parser. <YaccInput> is
# the path to a yacc file. <CodeOutput> is the name of the source file
# generated by yacc. A header file is also be generated, and contains
# the token list. If COMPILE_FLAGS option is specified, the next
# parameter is added in the yacc command line. if VERBOSE option is
# specified, <file> is created and contains verbose descriptions of the
# grammar and parser. The macro defines a set of variables:
# YACC_${Name}_DEFINED - true is the macro ran successfully
# YACC_${Name}_INPUT - The input source file, an alias for <YaccInput>
# YACC_${Name}_OUTPUT_SOURCE - The source file generated by yacc
# YACC_${Name}_OUTPUT_HEADER - The header file generated by yacc
# YACC_${Name}_OUTPUTS - The sources files generated by yacc
# YACC_${Name}_COMPILE_FLAGS - Options used in the yacc command line
#
# ====================================================================
# Example:
#
# find_package(YACC)
# YACC_TARGET(MyParser parser.y ${CMAKE_CURRENT_BINARY_DIR}/parser.cpp)
# add_executable(Foo main.cpp ${YACC_MyParser_OUTPUTS})
# ====================================================================
#
#=============================================================================
# Copyright 2010 United States Government as represented by
# the U.S. Army Research Laboratory.
# Copyright 2009 Kitware, Inc.
# Copyright 2006 Tristan Carel
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
#
# * The names of the authors may not be used to endorse or promote
# products derived from this software without specific prior written
# permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#=============================================================================
FIND_PROGRAM(YACC_EXECUTABLE bison DOC "path to the yacc executable")
IF(NOT YACC_EXECUTABLE)
FIND_PROGRAM(YACC_EXECUTABLE yacc DOC "path to the yacc executable")
ENDIF(NOT YACC_EXECUTABLE)
MARK_AS_ADVANCED(YACC_EXECUTABLE)
IF(YACC_EXECUTABLE)
# internal macro
MACRO(YACC_TARGET_option_verbose Name YaccOutput filename)
LIST(APPEND YACC_TARGET_cmdopt "--verbose")
GET_FILENAME_COMPONENT(YACC_TARGET_output_path "${YaccOutput}" PATH)
GET_FILENAME_COMPONENT(YACC_TARGET_output_name "${YaccOutput}" NAME_WE)
ADD_CUSTOM_COMMAND(OUTPUT ${filename}
COMMAND ${CMAKE_COMMAND}
ARGS -E copy
"${YACC_TARGET_output_path}/${YACC_TARGET_output_name}.output"
"${filename}"
DEPENDS
"${YACC_TARGET_output_path}/${YACC_TARGET_output_name}.output"
COMMENT "[YACC][${Name}] Copying yacc verbose table to ${filename}"
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})
SET(YACC_${Name}_VERBOSE_FILE ${filename})
LIST(APPEND YACC_TARGET_extraoutputs
"${YACC_TARGET_output_path}/${YACC_TARGET_output_name}.output")
ENDMACRO(YACC_TARGET_option_verbose)
# internal macro
MACRO(YACC_TARGET_option_extraopts Options)
SET(YACC_TARGET_extraopts "${Options}")
SEPARATE_ARGUMENTS(YACC_TARGET_extraopts)
LIST(APPEND YACC_TARGET_cmdopt ${YACC_TARGET_extraopts})
ENDMACRO(YACC_TARGET_option_extraopts)
#============================================================
# YACC_TARGET (public macro)
#============================================================
#
MACRO(YACC_TARGET Name YaccInput YaccOutput)
SET(YACC_TARGET_output_header "")
SET(YACC_TARGET_command_opt "")
SET(YACC_TARGET_outputs "${YaccOutput}")
IF(NOT ${ARGC} EQUAL 3 AND NOT ${ARGC} EQUAL 5 AND NOT ${ARGC} EQUAL 7)
MESSAGE(SEND_ERROR "Usage")
ELSE()
# Parsing parameters
IF(${ARGC} GREATER 5 OR ${ARGC} EQUAL 5)
IF("${ARGV3}" STREQUAL "VERBOSE")
YACC_TARGET_option_verbose(${Name} ${YaccOutput} "${ARGV4}")
ENDIF()
IF("${ARGV3}" STREQUAL "COMPILE_FLAGS")
YACC_TARGET_option_extraopts("${ARGV4}")
ENDIF()
ENDIF()
IF(${ARGC} EQUAL 7)
IF("${ARGV5}" STREQUAL "VERBOSE")
YACC_TARGET_option_verbose(${Name} ${YaccOutput} "${ARGV6}")
ENDIF()
IF("${ARGV5}" STREQUAL "COMPILE_FLAGS")
YACC_TARGET_option_extraopts("${ARGV6}")
ENDIF()
ENDIF()
# Header's name generated by yacc (see option -d)
LIST(APPEND YACC_TARGET_cmdopt "-d")
STRING(REGEX REPLACE "^(.*)(\\.[^.]*)$" "\\2" _fileext "${ARGV2}")
STRING(REPLACE "c" "h" _fileext ${_fileext})
STRING(REGEX REPLACE "^(.*)(\\.[^.]*)$" "\\1${_fileext}"
YACC_${Name}_OUTPUT_HEADER "${ARGV2}")
LIST(APPEND YACC_TARGET_outputs "${YACC_${Name}_OUTPUT_HEADER}")
ADD_CUSTOM_COMMAND(OUTPUT ${YACC_TARGET_outputs}
${YACC_TARGET_extraoutputs}
COMMAND ${YACC_EXECUTABLE}
ARGS ${YACC_TARGET_cmdopt} -o ${ARGV2} ${ARGV1}
DEPENDS ${ARGV1}
COMMENT "[YACC][${Name}] Building parser with ${YACC_EXECUTABLE}"
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
# define target variables
SET(YACC_${Name}_DEFINED TRUE)
SET(YACC_${Name}_INPUT ${ARGV1})
SET(YACC_${Name}_OUTPUTS ${YACC_TARGET_outputs})
SET(YACC_${Name}_COMPILE_FLAGS ${YACC_TARGET_cmdopt})
SET(YACC_${Name}_OUTPUT_SOURCE "${YaccOutput}")
ENDIF(NOT ${ARGC} EQUAL 3 AND NOT ${ARGC} EQUAL 5 AND NOT ${ARGC} EQUAL 7)
ENDMACRO(YACC_TARGET)
#
#============================================================
ENDIF(YACC_EXECUTABLE)
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(YACC DEFAULT_MSG YACC_EXECUTABLE)
# FindYACC.cmake ends here

View file

@ -0,0 +1,67 @@
# Utility routines for managing generated files with CMake
macro(MD5 filename md5sum)
file(READ "${filename}" RAW_MD5_FILE)
string(REGEX REPLACE "\r" "" STRIPPED_MD5_FILE "${RAW_MD5_FILE}")
string(MD5 ${md5sum} "${STRIPPED_MD5_FILE}")
endmacro(MD5)
macro(FILEVAR filename var)
string(REGEX REPLACE "[^a-zA-Z0-9]" "_" ${var} ${filename})
endmacro(FILEVAR)
macro(VERIFY_FILES filelist warn resultvar)
set(${resultvar} 1)
foreach(fileitem ${filelist})
# Deal with absolute and relative paths a bit differently
get_filename_component(ITEM_ABS_PATH "${fileitem}" ABSOLUTE)
if("${fileitem}" STREQUAL "${ITEM_ABS_PATH}")
set(filefullname "${fileitem}")
else("${fileitem}" STREQUAL "${ITEM_ABS_PATH}")
set(filefullname "${CURRENT_SOURCE_DIR}/${fileitem}")
endif("${fileitem}" STREQUAL "${ITEM_ABS_PATH}")
get_filename_component(filename "${fileitem}" NAME)
# Got filename components sorted - proceed
if(NOT EXISTS ${filefullname})
message(FATAL_ERROR "Attempted to verify non-existant file ${filefullname}")
endif(NOT EXISTS ${filefullname})
FILEVAR(${filename} filevar)
if(NOT baseline_${filevar}_md5)
message(FATAL_ERROR "No baseline MD5 available for ${filename} - baseline_${filevar}_md5 is not defined")
endif(NOT baseline_${filevar}_md5)
MD5(${filefullname} ${filevar}_md5)
if(NOT "${${filevar}_md5}" STREQUAL "${baseline_${filevar}_md5}")
if("${warn}" STREQUAL "1")
message("\n${filename} differs from baseline: baseline md5 hash is ${baseline_${filevar}_md5} and current hash is ${${filevar}_md5}\n")
endif("${warn}" STREQUAL "1")
set(${resultvar} 0)
endif(NOT "${${filevar}_md5}" STREQUAL "${baseline_${filevar}_md5}")
endforeach(fileitem ${filelist})
endmacro(VERIFY_FILES filelist resultvar)
macro(WRITE_MD5_SUMS filelist outfile)
foreach(fileitem ${filelist})
# Deal with absolute and relative paths a bit differently
get_filename_component(ITEM_ABS_PATH "${fileitem}" ABSOLUTE)
if("${fileitem}" STREQUAL "${ITEM_ABS_PATH}")
set(filefullname "${fileitem}")
else("${fileitem}" STREQUAL "${ITEM_ABS_PATH}")
set(filefullname "${CURRENT_SOURCE_DIR}/${fileitem}")
endif("${fileitem}" STREQUAL "${ITEM_ABS_PATH}")
get_filename_component(filename "${fileitem}" NAME)
# Got filename components sorted - proceed
if(NOT EXISTS ${filefullname})
message(FATAL_ERROR "Attempted to get MD5 sum of non-existant file ${filefullname}")
endif(NOT EXISTS ${filefullname})
FILEVAR(${filename} filevar)
MD5(${filefullname} ${filevar}_md5)
file(APPEND ${outfile} "set(baseline_${filevar}_md5 ${${filevar}_md5})\n")
endforeach(fileitem ${filelist})
endmacro(WRITE_MD5_SUMS)
# Local Variables:
# tab-width: 8
# mode: cmake
# indent-tabs-mode: t
# End:
# ex: shiftwidth=2 tabstop=8

View file

@ -1,75 +0,0 @@
# Will need windows logic someday, even though it doesn't work yet, so go ahead
# and add the DLL_DEFINE macro
MACRO(DLL_DEFINE libname)
IF(MSVC)
STRING(REGEX REPLACE "lib" "" LOWERCORE "${libname}")
STRING(TOUPPER ${LOWERCORE} UPPER_CORE)
add_definitions("-D${UPPER_CORE}_EXPORT_DLL")
ENDIF(MSVC)
ENDMACRO()
MACRO(SCL_ADDEXEC execname srcs libs)
STRING(REGEX REPLACE " " ";" srcslist "${srcs}")
STRING(REGEX REPLACE " " ";" libslist "${libs}")
add_executable(${execname} ${srcslist})
target_link_libraries(${execname} ${libslist})
INSTALL(TARGETS ${execname} DESTINATION bin)
# Enable extra compiler flags if local executables and/or global options dictate
SET(LOCAL_COMPILE_FLAGS "")
FOREACH(extraarg ${ARGN})
IF(${extraarg} MATCHES "STRICT" AND SCL-ENABLE_STRICT)
SET(LOCAL_COMPILE_FLAGS "${LOCAL_COMPILE_FLAGS} ${STRICT_FLAGS}")
ENDIF(${extraarg} MATCHES "STRICT" AND SCL-ENABLE_STRICT)
ENDFOREACH(extraarg ${ARGN})
IF(LOCAL_COMPILE_FLAGS)
SET_TARGET_PROPERTIES(${execname} PROPERTIES COMPILE_FLAGS ${LOCAL_COMPILE_FLAGS})
ENDIF(LOCAL_COMPILE_FLAGS)
ENDMACRO(SCL_ADDEXEC execname srcs libs)
MACRO(SCL_ADDLIB libname srcs libs)
STRING(REGEX REPLACE " " ";" srcslist "${srcs}")
STRING(REGEX REPLACE " " ";" libslist1 "${libs}")
STRING(REGEX REPLACE "-framework;" "-framework " libslist "${libslist1}")
DLL_DEFINE(${libname})
IF(SCL_BUILD_SHARED_LIBS)
add_library(${libname} SHARED ${srcslist})
if(NOT ${libs} MATCHES "NONE")
target_link_libraries(${libname} ${libslist})
endif(NOT ${libs} MATCHES "NONE")
SET_TARGET_PROPERTIES(${libname} PROPERTIES VERSION ${SCL_ABI_VERSION} SOVERSION ${SCL_ABI_SOVERSION} )
INSTALL(TARGETS ${libname} DESTINATION lib)
ENDIF(SCL_BUILD_SHARED_LIBS)
IF(SCL_BUILD_STATIC_LIBS AND NOT MSVC)
add_library(${libname}-static STATIC ${srcslist})
if(NOT ${libs} MATCHES "NONE")
target_link_libraries(${libname}-static ${libslist})
endif(NOT ${libs} MATCHES "NONE")
IF(NOT WIN32)
SET_TARGET_PROPERTIES(${libname}-static PROPERTIES OUTPUT_NAME "${libname}")
ENDIF(NOT WIN32)
IF(WIN32)
# We need the lib prefix on win32, so add it even if our add_library
# wrapper function has removed it due to the target name - see
# http://www.cmake.org/Wiki/CMake_FAQ#How_do_I_make_my_shared_and_static_libraries_have_the_same_root_name.2C_but_different_suffixes.3F
SET_TARGET_PROPERTIES(${libname}-static PROPERTIES PREFIX "lib")
ENDIF(WIN32)
INSTALL(TARGETS ${libname}-static DESTINATION lib)
ENDIF(SCL_BUILD_STATIC_LIBS AND NOT MSVC)
# Enable extra compiler flags if local libraries and/or global options dictate
SET(LOCAL_COMPILE_FLAGS "")
FOREACH(extraarg ${ARGN})
IF(${extraarg} MATCHES "STRICT" AND SCL-ENABLE_STRICT)
SET(LOCAL_COMPILE_FLAGS "${LOCAL_COMPILE_FLAGS} ${STRICT_FLAGS}")
ENDIF(${extraarg} MATCHES "STRICT" AND SCL-ENABLE_STRICT)
ENDFOREACH(extraarg ${ARGN})
IF(LOCAL_COMPILE_FLAGS)
IF(BUILD_SHARED_LIBS)
SET_TARGET_PROPERTIES(${libname} PROPERTIES COMPILE_FLAGS ${LOCAL_COMPILE_FLAGS})
ENDIF(BUILD_SHARED_LIBS)
IF(BUILD_STATIC_LIBS AND NOT MSVC)
SET_TARGET_PROPERTIES(${libname}-static PROPERTIES COMPILE_FLAGS ${LOCAL_COMPILE_FLAGS})
ENDIF(BUILD_STATIC_LIBS AND NOT MSVC)
ENDIF(LOCAL_COMPILE_FLAGS)
ENDMACRO(SCL_ADDLIB libname srcs libs)

174
cmake/SC_Build_opts.cmake Normal file
View file

@ -0,0 +1,174 @@
# BIN and LIB directories
if(NOT DEFINED BIN_DIR)
set(BIN_DIR bin)
endif(NOT DEFINED BIN_DIR)
if(NOT DEFINED LIB_DIR)
set(LIB_DIR lib)
endif(NOT DEFINED LIB_DIR)
# testing and compilation options, build output dirs, install dirs, etc
# included by root CMakeLists
if(NOT DEFINED INCLUDE_INSTALL_DIR)
set(INCLUDE_INSTALL_DIR include)
endif(NOT DEFINED INCLUDE_INSTALL_DIR)
if(NOT DEFINED LIB_INSTALL_DIR)
set(LIB_INSTALL_DIR lib)
endif(NOT DEFINED LIB_INSTALL_DIR)
if(NOT DEFINED BIN_INSTALL_DIR)
set(BIN_INSTALL_DIR bin)
endif(NOT DEFINED BIN_INSTALL_DIR)
if(NOT DEFINED SC_BUILD_TYPE)
set(SC_BUILD_TYPE "Debug" CACHE STRING "Build type") # By default set debug build
endif(NOT DEFINED SC_BUILD_TYPE)
if(NOT SC_IS_SUBBUILD)
set(CMAKE_BUILD_TYPE ${SC_BUILD_TYPE} CACHE INTERNAL "Build type, immutable" FORCE)
else(NOT SC_IS_SUBBUILD)
set(CMAKE_BUILD_TYPE ${SC_BUILD_TYPE})
endif(NOT SC_IS_SUBBUILD)
# Define helper macro OPTION_WITH_DEFAULT
macro(OPTION_WITH_DEFAULT OPTION_NAME OPTION_STRING OPTION_DEFAULT)
if(NOT DEFINED ${OPTION_NAME})
set(${OPTION_NAME} ${OPTION_DEFAULT})
endif(NOT DEFINED ${OPTION_NAME})
option(${OPTION_NAME} "${OPTION_STRING}" ${${OPTION_NAME}})
endmacro(OPTION_WITH_DEFAULT OPTION_NAME OPTION_STRING OPTION_DEFAULT)
# build shared libs by default
OPTION_WITH_DEFAULT(SC_BUILD_SHARED_LIBS "Build shared libs" ON)
# don't build static libs by default
OPTION_WITH_DEFAULT(SC_BUILD_STATIC_LIBS "Build static libs" OFF)
OPTION_WITH_DEFAULT(SC_PYTHON_GENERATOR "Compile exp2python" ON)
OPTION_WITH_DEFAULT(SC_CPP_GENERATOR "Compile exp2cxx" ON)
OPTION_WITH_DEFAULT(SC_MEMMGR_ENABLE_CHECKS "Enable sc_memmgr's memory leak detection" OFF)
OPTION_WITH_DEFAULT(SC_TRACE_FPRINTF "Enable extra comments in generated code so the code's source in exp2cxx may be located" OFF)
# Should we use C++11?
OPTION_WITH_DEFAULT(SC_ENABLE_CXX11 "Build with C++ 11 features" ON)
# Get version from git
OPTION_WITH_DEFAULT(SC_GIT_VERSION "Build using version from git" ON)
option(SC_BUILD_EXPRESS_ONLY "Only build express parser." OFF)
mark_as_advanced(SC_BUILD_EXPRESS_ONLY)
#---------------------------------------------------------------------
# Coverage option
OPTION_WITH_DEFAULT(SC_ENABLE_COVERAGE "Enable code coverage test" OFF)
if(SC_ENABLE_COVERAGE)
set(SC_ENABLE_TESTING ON CACHE BOOL "Testing enabled by coverage option" FORCE)
# build static libs, better coverage report
set(SC_BUILD_SHARED_LIBS OFF CACHE BOOL "Build shared libs" FORCE)
set(SC_BUILD_STATIC_LIBS ON CACHE BOOL "Build static libs" FORCE)
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g -fprofile-arcs -ftest-coverage" CACHE STRING "Extra compile flags required by code coverage" FORCE)
set(CMAKE_C_FLAGS_DEBUG "-O0 -g -fprofile-arcs -ftest-coverage" CACHE STRING "Extra compile flags required by code coverage" FORCE)
set(CMAKE_MODULE_LINKER_FLAGS_DEBUG "-fprofile-arcs -ftest-coverage" CACHE STRING "Extra linker flags required by code coverage" FORCE)
set(SC_BUILD_TYPE "Debug" CACHE STRING "Build type required by testing framework" FORCE)
set(SC_PYTHON_GENERATOR OFF) #won't build with static libs
endif(SC_ENABLE_COVERAGE)
#---------------------------------------------------------------------
# Testing option
OPTION_WITH_DEFAULT(SC_ENABLE_TESTING "Enable unittesting framework" OFF)
if(SC_ENABLE_TESTING)
if(NOT DEFINED SC_BUILD_SCHEMAS)
set(SC_BUILD_SCHEMAS "ALL") #test all schemas, unless otherwise specified
endif()
include(CTest)
ENABLE_TESTING()
endif(SC_ENABLE_TESTING)
#---------------------------------------------------------------------
# Executable install option
OPTION_WITH_DEFAULT(SC_SKIP_EXEC_INSTALL "Skip installing executables" OFF)
if(SC_SKIP_EXEC_INSTALL)
set(SC_EXEC_NOINSTALL "NO_INSTALL")
endif(SC_SKIP_EXEC_INSTALL)
#---------------------------------------------------------------------
# The following logic is what allows binaries to run successfully in
# the build directory AND install directory. Thanks to plplot for
# identifying the necessity of setting CMAKE_INSTALL_NAME_DIR on OSX.
# Documentation of these options is available at
# http://www.cmake.org/Wiki/CMake_RPATH_handling
# use, i.e. don't skip the full RPATH for the build tree
set(CMAKE_SKIP_BUILD_RPATH FALSE)
# when building, don't use the install RPATH already
# (but later on when installing)
set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
# the RPATH/INSTALL_NAME_DIR to be used when installing
if (NOT APPLE)
set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib:\$ORIGIN/../lib")
endif(NOT APPLE)
# On OSX, we need to set INSTALL_NAME_DIR instead of RPATH
# http://www.cmake.org/cmake/help/cmake-2-8-docs.html#variable:CMAKE_INSTALL_NAME_DIR
set(CMAKE_INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib")
# add the automatically determined parts of the RPATH which point to
# directories outside the build tree to the install RPATH
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
# When this is a subbuild, assume that the parent project controls all of the following
#======================================================================================
if(NOT SC_IS_SUBBUILD)
# Output directories. In a separate file so it can be used by the schema scanner CMake as well.
include(${SC_CMAKE_DIR}/SC_Outdirs.cmake)
#-----------------------------------------------------------------------------
# Configure install locations. Only do this if CMAKE_INSTALL_PREFIX hasn't
# been set already, to try and allow parent builds (if any) some control.
#
# Need a good Debug location for Windows.
if(NOT WIN32)
if(${CMAKE_BUILD_TYPE} MATCHES "Debug")
set(SC_INSTALL_PREFIX "${SC_SOURCE_DIR}/../sc-install")
else()
set(SC_INSTALL_PREFIX "/usr/local")
endif()
endif(NOT WIN32)
set(SC_INSTALL_PREFIX ${SC_INSTALL_PREFIX} CACHE
PATH "Install prefix prepended to target to create install location")
set(CMAKE_INSTALL_PREFIX ${SC_INSTALL_PREFIX} CACHE INTERNAL "Prefix prepended to install directories if target destination is not absolute, immutable" FORCE)
#-----------------------------------------------------------------------------
# SC Packaging
# $make package
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "STEPcode")
set(CPACK_SET_DESTDIR "ON")
set(CPACK_PACKAGE_VERSION_MAJOR ${SC_VERSION_MAJOR})
set(CPACK_PACKAGE_VERSION_MINOR ${SC_VERSION_MINOR})
set(CPACK_PACKAGE_NAME SC)
set(CPACK_PACKAGE_CONTACT "SC Developers <scl-dev@googlegroups.com>")
include(CPack)
#-----------------------------------------------------------------------------
# Uninstall target
# From http://www.cmake.org/Wiki/CMake_FAQ#Can_I_do_.22make_uninstall.22_with_CMake.3F
configure_file(
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in"
"${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
IMMEDIATE @ONLY)
add_custom_target(uninstall
COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake)
endif(NOT SC_IS_SUBBUILD)
# Local Variables:
# tab-width: 8
# mode: cmake
# indent-tabs-mode: t
# End:
# ex: shiftwidth=2 tabstop=8

View file

@ -0,0 +1,115 @@
# macros to be used in the CMakeLists generated by the schema scanner
# uses SC_GENERATE_CXX_ONESHOT - if true, files will only be generated once. this is useful when debugging and modifying code, not otherwise. TODO: print a warning when set
if(NOT DEFINED SC_GENERATE_CXX_ONESHOT)
set(SC_GENERATE_CXX_ONESHOT FALSE)
endif(NOT DEFINED SC_GENERATE_CXX_ONESHOT)
# find all part 21 files in schema dir, add a test for each one
macro(P21_TESTS sfile)
get_filename_component(SCHEMA_DIR ${sfile} PATH)
file(GLOB_RECURSE P21_FILES ${SCHEMA_DIR}/*.stp ${SCHEMA_DIR}/*.step ${SCHEMA_DIR}/*.p21 ${SCHEMA_DIR}/*.ifc)
foreach(TEST_FILE ${P21_FILES})
get_filename_component(FNAME ${TEST_FILE} NAME_WE)
add_test(NAME read_write_cpp_${PROJECT_NAME}_${FNAME}
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
COMMAND p21read_${PROJECT_NAME} ${TEST_FILE})
set_tests_properties(read_write_cpp_${PROJECT_NAME}_${FNAME} PROPERTIES DEPENDS build_cpp_${PROJECT_NAME} LABELS cpp_schema_rw)
if(NOT WIN32)
add_test(NAME read_lazy_cpp_${PROJECT_NAME}_${FNAME}
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
COMMAND lazy_${PROJECT_NAME} ${TEST_FILE})
set_tests_properties(read_lazy_cpp_${PROJECT_NAME}_${FNAME} PROPERTIES DEPENDS build_lazy_cpp_${PROJECT_NAME} LABELS cpp_schema_rw)
endif(NOT WIN32)
endforeach()
endmacro(P21_TESTS sfile)
# create p21read_sdai_*, lazy_sdai_*, any exes listed in SC_SDAI_ADDITIONAL_EXES_SRCS
macro(SCHEMA_EXES)
RELATIVE_PATH_TO_TOPLEVEL(${CMAKE_CURRENT_SOURCE_DIR} RELATIVE_PATH_COMPONENT)
SC_ADDEXEC(p21read_${PROJECT_NAME} "${RELATIVE_PATH_COMPONENT}/src/test/p21read/p21read.cc" "${PROJECT_NAME};stepdai;stepcore;stepeditor;steputils;base" "TESTABLE")
#add_dependencies(p21read_${PROJECT_NAME} version_string)
if(NOT WIN32)
SC_ADDEXEC(lazy_${PROJECT_NAME} "${RELATIVE_PATH_COMPONENT}/src/cllazyfile/lazy_test.cc" "${PROJECT_NAME};steplazyfile;stepdai;stepcore;stepeditor;steputils;base" "TESTABLE")
#add_dependencies(lazy_${PROJECT_NAME} version_string)
endif(NOT WIN32)
#add user-defined executables
foreach(src ${SC_SDAI_ADDITIONAL_EXES_SRCS})
get_filename_component(name ${src} NAME_WE)
get_filename_component(path ${src} ABSOLUTE)
SC_ADDEXEC(${name}_${PROJECT_NAME} "${src}" "${PROJECT_NAME};stepdai;stepcore;stepeditor;steputils;base" "TESTABLE")
add_dependencies(${name}_${PROJECT_NAME} version_string)
#set_target_properties(${name}_${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "${${PROJECT_NAME}_COMPILE_FLAGS} -I${path}")
endforeach(src ${SC_SDAI_ADDITIONAL_EXES_SRCS})
ENDMACRO(SCHEMA_EXES)
# label the tests and set dependencies
macro(SCHEMA_TESTS)
add_test(NAME generate_cpp_${PROJECT_NAME}
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
COMMAND ${CMAKE_COMMAND} --build .
--target generate_cpp_${PROJECT_NAME}
--config $<CONFIGURATION>)
set_tests_properties(generate_cpp_${PROJECT_NAME} PROPERTIES LABELS cpp_schema_gen)
add_test(NAME build_cpp_${PROJECT_NAME}
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
COMMAND ${CMAKE_COMMAND} --build .
--target p21read_${PROJECT_NAME}
--config $<CONFIGURATION>)
set_tests_properties(build_cpp_${PROJECT_NAME} PROPERTIES DEPENDS generate_cpp_${PROJECT_NAME} LABELS cpp_schema_build)
if(NOT WIN32)
add_test(NAME build_lazy_cpp_${PROJECT_NAME}
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
COMMAND ${CMAKE_COMMAND} --build .
--target lazy_${PROJECT_NAME}
--config $<CONFIGURATION>)
set_tests_properties(build_lazy_cpp_${PROJECT_NAME} PROPERTIES DEPENDS build_cpp_${PROJECT_NAME} LABELS cpp_schema_build)
endif(NOT WIN32)
endmacro(SCHEMA_TESTS)
# SCHEMA_TARGETS macro -
# expFile: path to express file
# schemaName: name of the schema
# sourceFiles: list of .cc and .h files
#
# create targets for the schema(s) in expFile
# targets include gen_cxx_*, sdai_cxx_*, p21read_*, lazyp21_*, ...
macro(SCHEMA_TARGETS expFile schemaName sourceFiles)
# schema scanner comes up with a short schema name for PROJECT() (which sets ${PROJECT_NAME})
message(STATUS "Will generate ${${PROJECT_NAME}_file_count} C++ files for ${PROJECT_NAME}.")
add_custom_target(generate_cpp_${PROJECT_NAME} DEPENDS exp2cxx ${expFile} ${sourceFiles} SOURCES ${sourceFiles})
# this calls a cmake script because it doesn't seem to be possible
# to divert stdout, stderr in cmake except via execute_process
add_custom_command(OUTPUT ${sourceFiles}
COMMAND ${CMAKE_COMMAND} -DEXE=\"$<TARGET_FILE:exp2cxx>\" -DEXP=\"${expFile}\"
-DONESHOT=\"${SC_GENERATE_CXX_ONESHOT}\" -DSDIR=\"${CMAKE_CURRENT_LIST_DIR}\"
-P ${SC_CMAKE_DIR}/SC_Run_exp2cxx.cmake
WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
COMMENT "[exp2cxx] Generating ${${PROJECT_NAME}_file_count} C++ files for ${PROJECT_NAME}."
)
include_directories(
${CMAKE_CURRENT_SOURCE_DIR} ${SC_SOURCE_DIR}/src/cldai ${SC_SOURCE_DIR}/src/cleditor
${SC_SOURCE_DIR}/src/clutils ${SC_SOURCE_DIR}/src/clstepcore ${SC_SOURCE_DIR}/src/base
${SC_SOURCE_DIR}/src/base/judy/src
)
# if testing is enabled, "TESTABLE" sets property EXCLUDE_FROM_ALL and prevents installation
SC_ADDLIB(${PROJECT_NAME} "${sourceFiles}" "stepdai;stepcore;stepeditor;steputils;base" "TESTABLE")
add_dependencies(${PROJECT_NAME} generate_cpp_${PROJECT_NAME})
SCHEMA_EXES()
SCHEMA_TESTS()
P21_TESTS(${expFile})
# TODO add test to verify that schema scanner output matches fedex_plus output
endmacro(SCHEMA_TARGETS expFile schemaName sourceFiles)
# Local Variables:
# tab-width: 8
# mode: cmake
# indent-tabs-mode: t
# End:
# ex: shiftwidth=2 tabstop=8

View file

@ -0,0 +1,133 @@
# create sc_cf.h and sc_version_string.h
# Take the sc config file template as the starting point for
# sc_cf.h.in - scripts may need to append to the template, so
# it is read into memory initially.
set(CONFIG_H_FILE ${SC_BINARY_DIR}/include/sc_cf.h.in)
set_source_files_properties(${CONFIG_H_FILE} PROPERTIES GENERATED TRUE)
set(CMAKE_CURRENT_PROJECT SC)
define_property(GLOBAL PROPERTY SC_CONFIG_H_CONTENTS BRIEF_DOCS "config.h.in contents" FULL_DOCS "config.h.in contents for SC project")
if(NOT COMMAND CONFIG_H_APPEND)
macro(CONFIG_H_APPEND PROJECT_NAME NEW_CONTENTS)
if(PROJECT_NAME)
get_property(${PROJECT_NAME}_CONFIG_H_CONTENTS GLOBAL PROPERTY ${PROJECT_NAME}_CONFIG_H_CONTENTS)
set(${PROJECT_NAME}_CONFIG_H_FILE_CONTENTS "${${PROJECT_NAME}_CONFIG_H_CONTENTS}${NEW_CONTENTS}")
set_property(GLOBAL PROPERTY ${PROJECT_NAME}_CONFIG_H_CONTENTS "${${PROJECT_NAME}_CONFIG_H_FILE_CONTENTS}")
endif(PROJECT_NAME)
endmacro(CONFIG_H_APPEND NEW_CONTENTS)
endif(NOT COMMAND CONFIG_H_APPEND)
file(READ ${SC_SOURCE_DIR}/include/sc_cf_cmake.h.in CONFIG_H_FILE_CONTENTS)
CONFIG_H_APPEND(SC "${CONFIG_H_FILE_CONTENTS}")
include(CheckLibraryExists)
include(CheckIncludeFile)
include(CheckFunctionExists)
include(CheckTypeSize)
include(CMakePushCheckState)
include(CheckCXXSourceRuns)
CHECK_INCLUDE_FILE(ndir.h HAVE_NDIR_H)
CHECK_INCLUDE_FILE(stdarg.h HAVE_STDARG_H)
CHECK_INCLUDE_FILE(sys/stat.h HAVE_SYS_STAT_H)
CHECK_INCLUDE_FILE(sys/param.h HAVE_SYS_PARAM_H)
CHECK_INCLUDE_FILE(sysent.h HAVE_SYSENT_H)
CHECK_INCLUDE_FILE(unistd.h HAVE_UNISTD_H)
CHECK_INCLUDE_FILE(dirent.h HAVE_DIRENT_H)
CHECK_INCLUDE_FILE(stdbool.h HAVE_STDBOOL_H)
CHECK_INCLUDE_FILE(process.h HAVE_PROCESS_H)
CHECK_INCLUDE_FILE(io.h HAVE_IO_H)
CHECK_FUNCTION_EXISTS(abs HAVE_ABS)
CHECK_FUNCTION_EXISTS(memcpy HAVE_MEMCPY)
CHECK_FUNCTION_EXISTS(memmove HAVE_MEMMOVE)
CHECK_FUNCTION_EXISTS(getopt HAVE_GETOPT)
CHECK_TYPE_SIZE("ssize_t" SSIZE_T)
if(SC_ENABLE_CXX11)
set( TEST_STD_THREAD "
#include <iostream>
#include <thread>
void do_work() {std::cout << \"thread\" << std::endl;}
int main() {std::thread t(do_work);t.join();}
" )
cmake_push_check_state()
if( UNIX )
set( CMAKE_REQUIRED_FLAGS "-pthread -std=c++11" )
else( UNIX )
# vars probably need set for embarcadero, etc
endif( UNIX )
CHECK_CXX_SOURCE_RUNS( "${TEST_STD_THREAD}" HAVE_STD_THREAD ) #quotes are *required*!
cmake_pop_check_state()
set( TEST_STD_CHRONO "
#include <iostream>
#include <chrono>
int main() {
std::chrono::seconds sec(1);
std::cout << \"1s is \"<< std::chrono::duration_cast<std::chrono::milliseconds>(sec).count() << \" ms\" << std::endl;
}
" )
cmake_push_check_state()
if( UNIX )
set( CMAKE_REQUIRED_FLAGS "-std=c++11" )
else( UNIX )
# vars probably need set for embarcadero, etc
endif( UNIX )
CHECK_CXX_SOURCE_RUNS( "${TEST_STD_CHRONO}" HAVE_STD_CHRONO ) #quotes are *required*!
cmake_pop_check_state()
set( TEST_NULLPTR "
#include <cstddef>
std::nullptr_t f() {return nullptr;}
int main() {return !(f() == f());}
" )
cmake_push_check_state()
if( UNIX )
set( CMAKE_REQUIRED_FLAGS "-std=c++11" )
else( UNIX )
# vars probably need set for embarcadero, etc
endif( UNIX )
CHECK_CXX_SOURCE_RUNS( "${TEST_NULLPTR}" HAVE_NULLPTR ) #quotes are *required*!
cmake_pop_check_state()
endif(SC_ENABLE_CXX11)
# Now that all the tests are done, configure the sc_cf.h file:
get_property(CONFIG_H_FILE_CONTENTS GLOBAL PROPERTY SC_CONFIG_H_CONTENTS)
file(WRITE ${CONFIG_H_FILE} "${CONFIG_H_FILE_CONTENTS}")
configure_file(${CONFIG_H_FILE} ${SC_BINARY_DIR}/${INCLUDE_INSTALL_DIR}/sc_cf.h)
# ------------------------
# create sc_version_string.h, http://stackoverflow.com/questions/3780667
# Using 'ver_string' instead of 'sc_version_string.h' is a trick to force the
# command to always execute when the custom target is built. It works because
# a file by that name never exists.
if(SC_GIT_VERSION)
configure_file(${SC_CMAKE_DIR}/sc_version_string.cmake ${SC_BINARY_DIR}/sc_version_string.cmake @ONLY)
add_custom_target(version_string ALL DEPENDS ver_string)
# creates sc_version_string.h using cmake script
add_custom_command(OUTPUT ver_string
COMMAND ${CMAKE_COMMAND} -DSOURCE_DIR=${SC_SOURCE_DIR} -DBINARY_DIR=${SC_BINARY_DIR} -P ${SC_BINARY_DIR}/sc_version_string.cmake
)
# sc_version_string.h is a generated file
else(SC_GIT_VERSION)
set(VER_HDR "
#ifndef SC_VERSION_STRING
#define SC_VERSION_STRING
static char sc_version[512] = {\"${SC_VERSION}\"};
#endif"
)
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/${INCLUDE_INSTALL_DIR}/sc_version_string.h "${VER_HDR}")
endif(SC_GIT_VERSION)
set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/${INCLUDE_INSTALL_DIR}/sc_version_string.h
PROPERTIES GENERATED TRUE
HEADER_FILE_ONLY TRUE )
# Local Variables:
# tab-width: 8
# mode: cmake
# indent-tabs-mode: t
# End:
# ex: shiftwidth=2 tabstop=8

22
cmake/SC_Locale.cmake Normal file
View file

@ -0,0 +1,22 @@
# Save the current LC_ALL, LC_MESSAGES, and LANG environment variables and set them
# to "C" so things like date output are as expected
set(_orig_lc_all $ENV{LC_ALL})
set(_orig_lc_messages $ENV{LC_MESSAGES})
set(_orig_lang $ENV{LANG})
if(_orig_lc_all)
set(ENV{LC_ALL} C)
endif(_orig_lc_all)
if(_orig_lc_messages)
set(ENV{LC_MESSAGES} C)
endif(_orig_lc_messages)
if(_orig_lang)
set(ENV{LANG} C)
endif(_orig_lang)
# Local Variables:
# tab-width: 8
# mode: cmake
# indent-tabs-mode: t
# End:
# ex: shiftwidth=2 tabstop=8

30
cmake/SC_Outdirs.cmake Normal file
View file

@ -0,0 +1,30 @@
# in its own file so that it can be used by the schema scanner as well
if(NOT DEFINED CMAKE_LIBRARY_OUTPUT_DIRECTORY)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${SC_BINARY_DIR}/lib CACHE INTERNAL "Single output directory for building all libraries.")
endif(NOT DEFINED CMAKE_LIBRARY_OUTPUT_DIRECTORY)
if(NOT DEFINED CMAKE_ARCHIVE_OUTPUT_DIRECTORY)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${SC_BINARY_DIR}/lib CACHE INTERNAL "Single output directory for building all archives.")
endif(NOT DEFINED CMAKE_ARCHIVE_OUTPUT_DIRECTORY)
if(NOT DEFINED CMAKE_RUNTIME_OUTPUT_DIRECTORY)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${SC_BINARY_DIR}/bin CACHE INTERNAL "Single output directory for building all executables.")
endif(NOT DEFINED CMAKE_RUNTIME_OUTPUT_DIRECTORY)
foreach(CFG_TYPE ${CMAKE_CONFIGURATION_TYPES})
string(TOUPPER "${CFG_TYPE}" CFG_TYPE)
if(NOT "CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CFG_TYPE}")
set("CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CFG_TYPE}" ${SC_BINARY_DIR}/lib CACHE INTERNAL "Single output directory for building all libraries.")
endif(NOT "CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CFG_TYPE}")
if(NOT "CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CFG_TYPE}")
set("CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CFG_TYPE}" ${SC_BINARY_DIR}/lib CACHE INTERNAL "Single output directory for building all archives.")
endif(NOT "CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CFG_TYPE}")
if(NOT "CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CFG_TYPE}")
set("CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CFG_TYPE}" ${SC_BINARY_DIR}/bin CACHE INTERNAL "Single output directory for building all executables.")
endif(NOT "CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CFG_TYPE}")
endforeach()
# Local Variables:
# tab-width: 8
# mode: cmake
# indent-tabs-mode: t
# End:
# ex: shiftwidth=2 tabstop=8

93
cmake/SC_Paths.cmake Normal file
View file

@ -0,0 +1,93 @@
macro(REVERSE_PATH in_path out_path drive_path)
set(reversed_path)
set(tmp_subpath "${in_path}")
while(NOT "${tmp_subpath}" STREQUAL "" AND NOT "${tmp_subpath}" STREQUAL "/")
get_filename_component(piece "${tmp_subpath}" NAME)
get_filename_component(tmp_subpath "${tmp_subpath}" PATH)
if(piece)
set(reversed_path "${reversed_path}/${piece}")
else(piece)
set(${drive_path} ${tmp_subpath})
set(tmp_subpath)
endif(piece)
endwhile(NOT "${tmp_subpath}" STREQUAL "" AND NOT "${tmp_subpath}" STREQUAL "/")
set("${out_path}" "${reversed_path}")
endmacro(REVERSE_PATH)
macro(GET_COMMON_ROOT_PATH dir1 dir2 common_subpath)
get_filename_component(testpath "${dir1}" REALPATH)
set(dir1_rev)
set(dir2_rev)
REVERSE_PATH("${dir1}" dir1_rev drive_name_1)
REVERSE_PATH("${dir2}" dir2_rev drive_name_2)
if("${drive_name_1}" STREQUAL "${drive_name_2}")
set(component_same 1)
set(${common_subpath})
while(component_same)
get_filename_component(piece1 "${dir1_rev}" NAME)
get_filename_component(dir1_rev "${dir1_rev}" PATH)
get_filename_component(piece2 "${dir2_rev}" NAME)
get_filename_component(dir2_rev "${dir2_rev}" PATH)
if("${piece1}" STREQUAL "${piece2}")
set(${common_subpath} "${${common_subpath}}/${piece1}")
else("${piece1}" STREQUAL "${piece2}")
set(component_same 0)
endif("${piece1}" STREQUAL "${piece2}")
endwhile(component_same)
if(drive_name_1)
set(${common_subpath} "${drive_name_1}${${common_subpath}}")
string(REPLACE "//" "/" ${common_subpath} "${${common_subpath}}")
endif(drive_name_1)
endif("${drive_name_1}" STREQUAL "${drive_name_2}")
endmacro(GET_COMMON_ROOT_PATH)
macro(RELATIVE_PATH_TO_TOPLEVEL current_dir rel_path)
set(common_root_path)
GET_COMMON_ROOT_PATH("${SC_SOURCE_DIR}" "${current_dir}" common_root_path)
string(REPLACE "${common_root_path}" "" subpath "${current_dir}")
string(REPLACE "${common_root_path}" "" needed_src_path "${SC_SOURCE_DIR}")
string(REGEX REPLACE "^/" "" subpath "${subpath}")
string(REGEX REPLACE "^/" "" needed_src_path "${needed_src_path}")
string(LENGTH "${subpath}" PATH_LENGTH)
if(PATH_LENGTH GREATER 0)
set(${rel_path} "..")
get_filename_component(subpath "${subpath}" PATH)
string(LENGTH "${subpath}" PATH_LENGTH)
while(PATH_LENGTH GREATER 0)
set(${rel_path} "${${rel_path}}/..")
get_filename_component(subpath "${subpath}" PATH)
string(LENGTH "${subpath}" PATH_LENGTH)
endwhile(PATH_LENGTH GREATER 0)
endif(PATH_LENGTH GREATER 0)
set(${rel_path} "${${rel_path}}/${needed_src_path}")
string(REPLACE "//" "/" ${rel_path} "${${rel_path}}")
endmacro(RELATIVE_PATH_TO_TOPLEVEL current_dir rel_path)
macro(LOCATE_SCHEMA SCHEMA_FILE _res_var)
if(EXISTS "${CMAKE_BINARY_DIR}/${SCHEMA_FILE}") #is it a path relative to build dir?
set(${_res_var} "${CMAKE_BINARY_DIR}/${SCHEMA_FILE}")
elseif(EXISTS "${SC_SOURCE_DIR}/data/${SCHEMA_FILE}") # path relative to STEPcode/data?
set(${_res_var} "${SC_SOURCE_DIR}/data/${SCHEMA_FILE}")
elseif(EXISTS ${SCHEMA_FILE}) # already an absolute path
set(${_res_var} ${SCHEMA_FILE})
else()
message(FATAL_ERROR "Cannot find ${CMAKE_BINARY_DIR}/${SCHEMA_FILE} or ${SC_SOURCE_DIR}/data/${SCHEMA_FILE}/*.exp or ${SCHEMA_FILE}")
endif()
if(IS_DIRECTORY ${${_res_var}}) #if it is a dir, look for one .exp file inside
file(GLOB ${_res_var} ${${_res_var}}/*.exp)
endif()
if(NOT EXISTS ${${_res_var}})
message(FATAL_ERROR "Expected one express file. Found '${${_res_var}}' instead.")
endif()
endmacro(LOCATE_SCHEMA SCHEMA_FILE _res_var)
# Local Variables:
# tab-width: 8
# mode: cmake
# indent-tabs-mode: t
# End:
# ex: shiftwidth=2 tabstop=8

62
cmake/SC_Regenerate.cmake Normal file
View file

@ -0,0 +1,62 @@
# The Express parser uses the tools Perplex, RE2C and Lemon to generate code
# from higher level inputs. Depending on available tools and options, the
# SC build can either re-generate code as part of the build, or use cached
# files that are ready for compilation.
#
# SC_GENERATE_LEXER_PARSER is the "high level" control a user sets to determine
# how the SC build will interact (or not) with these tools. AUTO (the
# default) means it will search for the necessary tools, and use them only if
# everything is found. If not, it will fall back to the cached versions. If
# this option is set to ON and the necessary tools are not found, the
# configure step will fail. If it is set to OFF, SC will not even try to use
# the generators and will instead use the cached sources.
if(NOT DEFINED SC_GENERATE_LEXER_PARSER)
set(SC_GENERATE_LEXER_PARSER "AUTO" CACHE STRING "Use Perplex, RE2C and Lemon to generate C source code.")
set(_verbosity "QUIET")
else(NOT DEFINED SC_GENERATE_LEXER_PARSER)
string(TOUPPER "${SC_GENERATE_LEXER_PARSER}" SC_GENERATE_LEXER_PARSER)
endif(NOT DEFINED SC_GENERATE_LEXER_PARSER)
set_property(CACHE SC_GENERATE_LEXER_PARSER PROPERTY STRINGS AUTO ON OFF)
if (NOT "${SC_GENERATE_LEXER_PARSER}" STREQUAL "AUTO" AND NOT "${SC_GENERATE_LEXER_PARSER}" STREQUAL "ON" AND NOT "${SC_GENERATE_LEXER_PARSER}" STREQUAL "OFF")
message(WARNING "Unknown value ${SC_GENERATE_LEXER_PARSER} supplied for SC_GENERATE_LEXER_PARSER - defaulting to AUTO")
message(WARNING "Valid options are AUTO, ON and OFF")
set(SC_GENERATE_LEXER_PARSER "AUTO" CACHE STRING "Use Perplex, RE2C and Lemon to generate C source code.")
endif (NOT "${SC_GENERATE_LEXER_PARSER}" STREQUAL "AUTO" AND NOT "${SC_GENERATE_LEXER_PARSER}" STREQUAL "ON" AND NOT "${SC_GENERATE_LEXER_PARSER}" STREQUAL "OFF")
# If the generators have not been turned off, we need to check for them
if(NOT "${SC_GENERATE_LEXER_PARSER}" STREQUAL "OFF")
find_package(LEMON ${_verbosity})
find_package(RE2C ${_verbosity})
find_package(PERPLEX ${_verbosity})
if(LEMON_EXECUTABLE AND LEMON_TEMPLATE AND PERPLEX_EXECUTABLE AND PERPLEX_TEMPLATE AND RE2C_EXECUTABLE)
# Templates may be anywhere - make sure we have a stable path if a relative
# path was specified at CMake time
get_filename_component(lemon_template_fpath "${LEMON_TEMPLATE}" ABSOLUTE)
if(NOT "${lemon_template_fpath}" STREQUAL "${LEMON_TEMPLATE}")
get_filename_component(LEMON_TEMPLATE "${CMAKE_BINARY_DIR}/${LEMON_TEMPLATE}" ABSOLUTE)
endif(NOT "${lemon_template_fpath}" STREQUAL "${LEMON_TEMPLATE}")
get_filename_component(perplex_template_fpath "${PERPLEX_TEMPLATE}" ABSOLUTE)
if(NOT "${perplex_template_fpath}" STREQUAL "${PERPLEX_TEMPLATE}")
get_filename_component(PERPLEX_TEMPLATE "${CMAKE_BINARY_DIR}/${PERPLEX_TEMPLATE}" ABSOLUTE)
endif(NOT "${perplex_template_fpath}" STREQUAL "${PERPLEX_TEMPLATE}")
set(SC_GENERATE_LP_SOURCES 1)
message(".. Found perplex, re2c, and lemon - can regenerate lexer/parser if necessary")
else(LEMON_EXECUTABLE AND LEMON_TEMPLATE AND PERPLEX_EXECUTABLE AND PERPLEX_TEMPLATE AND RE2C_EXECUTABLE)
if("${SC_GENERATE_LEXER_PARSER}" STREQUAL "ON")
message(FATAL_ERROR "\nSC_GENERATE_LEXER_PARSER set to ON, but one or more components of the Perplex/RE2C/Lemon toolchain were not found.\n")
else("${SC_GENERATE_LEXER_PARSER}" STREQUAL "ON")
set(SC_GENERATE_LP_SOURCES 0)
endif("${SC_GENERATE_LEXER_PARSER}" STREQUAL "ON")
endif(LEMON_EXECUTABLE AND LEMON_TEMPLATE AND PERPLEX_EXECUTABLE AND PERPLEX_TEMPLATE AND RE2C_EXECUTABLE)
else(NOT "${SC_GENERATE_LEXER_PARSER}" STREQUAL "OFF")
set(SC_GENERATE_LP_SOURCES 0)
endif(NOT "${SC_GENERATE_LEXER_PARSER}" STREQUAL "OFF")
# Local Variables:
# tab-width: 8
# mode: cmake
# indent-tabs-mode: t
# End:
# ex: shiftwidth=2 tabstop=8

View file

@ -0,0 +1,25 @@
# if oneshot is true, don't run exp2cxx if source files exist. if schema.cc exists, assume others do
if(ONESHOT AND EXISTS "${SDIR}/schema.cc")
message("WARNING: SC_GENERATE_CXX_ONESHOT is enabled. If generated code has been modified, it will NOT be rewritten!")
message("This is ONLY for debugging STEPcode internals!")
else()
execute_process(COMMAND ${EXE} ${EXP}
WORKING_DIRECTORY ${SDIR}
RESULT_VARIABLE _res
OUTPUT_FILE exp2cxx_stdout.txt
ERROR_FILE exp2cxx_stderr.txt
)
if(NOT "${_res}" STREQUAL "0")
message(FATAL_ERROR "${EXE} reported an error for ${EXP}.\nsee exp2cxx_stdout.txt and exp2cxx_stderr.txt in ${SDIR} for details.")
endif(NOT "${_res}" STREQUAL "0")
# TODO count number of lines in stdout/stderr and tell user?
endif()
# Local Variables:
# tab-width: 8
# mode: cmake
# indent-tabs-mode: t
# End:
# ex: shiftwidth=2 tabstop=8

155
cmake/SC_Targets.cmake Normal file
View file

@ -0,0 +1,155 @@
# set compile definitions for dll exports on windows
macro(DEFINE_DLL_EXPORTS libname)
if(MSVC OR BORLAND)
if(${libname} MATCHES "sdai_.*")
set(export "SC_SCHEMA_DLL_EXPORTS")
else()
string(REGEX REPLACE "lib" "" shortname "${libname}")
string(REGEX REPLACE "step" "" LOWERCORE "${shortname}")
string(TOUPPER ${LOWERCORE} UPPER_CORE)
set(export "SC_${UPPER_CORE}_DLL_EXPORTS")
endif()
set_property(TARGET ${libname} APPEND PROPERTY COMPILE_DEFINITIONS "${export}")
endif(MSVC OR BORLAND)
endmacro(DEFINE_DLL_EXPORTS libname)
# set compile definitions for dll imports on windows
macro(DEFINE_DLL_IMPORTS tgt libs)
if(MSVC OR BORLAND)
set(imports "")
foreach(lib ${libs})
string(REGEX REPLACE "lib" "" shortname "${lib}")
string(REGEX REPLACE "step" "" LOWERCORE "${shortname}")
string(TOUPPER ${LOWERCORE} UPPER_CORE)
list(APPEND imports "SC_${UPPER_CORE}_DLL_IMPORTS")
endforeach(lib ${libs})
set_property(TARGET ${tgt} APPEND PROPERTY COMPILE_DEFINITIONS "${imports}")
endif(MSVC OR BORLAND)
endmacro(DEFINE_DLL_IMPORTS tgt libs)
#SC_ADDEXEC(execname "source files" "linked libs" ["TESTABLE"] ["NO_INSTALL"])
macro(SC_ADDEXEC execname srcslist libslist)
string(TOUPPER "${execname}" EXECNAME_UPPER)
if(${ARGC} GREATER 3)
CMAKE_PARSE_ARGUMENTS(${EXECNAME_UPPER} "NO_INSTALL;TESTABLE" "" "" ${ARGN})
endif(${ARGC} GREATER 3)
add_executable(${execname} ${srcslist})
target_link_libraries(${execname} ${libslist})
DEFINE_DLL_IMPORTS(${execname} "${libslist}") #add import definitions for all libs that the executable is linked to
if(NOT ${EXECNAME_UPPER}_NO_INSTALL AND NOT ${EXECNAME_UPPER}_TESTABLE)
install(TARGETS ${execname}
RUNTIME DESTINATION ${BIN_DIR}
LIBRARY DESTINATION ${LIB_DIR}
ARCHIVE DESTINATION ${LIB_DIR}
)
endif(NOT ${EXECNAME_UPPER}_NO_INSTALL AND NOT ${EXECNAME_UPPER}_TESTABLE)
if(NOT SC_ENABLE_TESTING AND ${EXECNAME_UPPER}_TESTABLE)
set_target_properties( ${execname} PROPERTIES EXCLUDE_FROM_ALL ON )
endif(NOT SC_ENABLE_TESTING AND ${EXECNAME_UPPER}_TESTABLE)
# Enable extra compiler flags if local executables and/or global options dictate
set(LOCAL_COMPILE_FLAGS "")
foreach(extraarg ${ARGN})
if(${extraarg} MATCHES "STRICT" AND SC-ENABLE_STRICT)
set(LOCAL_COMPILE_FLAGS "${LOCAL_COMPILE_FLAGS} ${STRICT_FLAGS}")
endif(${extraarg} MATCHES "STRICT" AND SC-ENABLE_STRICT)
endforeach(extraarg ${ARGN})
if(LOCAL_COMPILE_FLAGS)
set_target_properties(${execname} PROPERTIES COMPILE_FLAGS ${LOCAL_COMPILE_FLAGS})
endif(LOCAL_COMPILE_FLAGS)
endmacro(SC_ADDEXEC execname srcslist libslist)
#SC_ADDLIB(libname "source files" "linked libs" ["TESTABLE"] ["NO_INSTALL"] ["SO_SRCS ..."] ["STATIC_SRCS ..."])
macro(SC_ADDLIB libname srcslist libslist)
string(TOUPPER "${libname}" LIBNAME_UPPER)
if(${ARGC} GREATER 3)
CMAKE_PARSE_ARGUMENTS(${LIBNAME_UPPER} "NO_INSTALL;TESTABLE" "" "SO_SRCS;STATIC_SRCS" ${ARGN})
endif(${ARGC} GREATER 3)
string(REGEX REPLACE "-framework;" "-framework " libslist "${libslist1}")
if(SC_BUILD_SHARED_LIBS)
add_library(${libname} SHARED ${srcslist} ${${LIBNAME_UPPER}_SO_SRCS})
DEFINE_DLL_EXPORTS(${libname})
if(NOT "${libs}" MATCHES "NONE")
target_link_libraries(${libname} ${libslist})
DEFINE_DLL_IMPORTS(${libname} "${libslist}")
endif(NOT "${libs}" MATCHES "NONE")
set_target_properties(${libname} PROPERTIES VERSION ${SC_ABI_VERSION} SOVERSION ${SC_ABI_SOVERSION})
if(NOT ${LIBNAME_UPPER}_NO_INSTALL AND NOT ${LIBNAME_UPPER}_TESTABLE)
install(TARGETS ${libname}
RUNTIME DESTINATION ${BIN_DIR}
LIBRARY DESTINATION ${LIB_DIR}
ARCHIVE DESTINATION ${LIB_DIR}
)
endif(NOT ${LIBNAME_UPPER}_NO_INSTALL AND NOT ${LIBNAME_UPPER}_TESTABLE)
if(NOT SC_ENABLE_TESTING AND ${LIBNAME_UPPER}_TESTABLE)
set_target_properties( ${libname} PROPERTIES EXCLUDE_FROM_ALL ON )
endif(NOT SC_ENABLE_TESTING AND ${LIBNAME_UPPER}_TESTABLE)
if(APPLE)
set_target_properties(${libname} PROPERTIES LINK_FLAGS "-flat_namespace -undefined suppress")
endif(APPLE)
endif(SC_BUILD_SHARED_LIBS)
if(SC_BUILD_STATIC_LIBS)
if(NOT SC_BUILD_SHARED_LIBS)
set(staticlibname "${libname}")
else()
set(staticlibname "${libname}-static")
endif(NOT SC_BUILD_SHARED_LIBS)
add_library(${staticlibname} STATIC ${srcslist} ${${LIBNAME_UPPER}_STATIC_SRCS})
DEFINE_DLL_EXPORTS(${staticlibname})
if(NOT ${libs} MATCHES "NONE")
target_link_libraries(${staticlibname} "${libslist}")
DEFINE_DLL_IMPORTS(${staticlibname} ${libslist})
endif(NOT ${libs} MATCHES "NONE")
if(NOT WIN32)
set_target_properties(${staticlibname} PROPERTIES OUTPUT_NAME "${libname}")
endif(NOT WIN32)
if(WIN32)
# We need the lib prefix on win32, so add it even if our add_library
# wrapper function has removed it due to the target name - see
# http://www.cmake.org/Wiki/CMake_FAQ#How_do_I_make_my_shared_and_static_libraries_have_the_same_root_name.2C_but_different_suffixes.3F
set_target_properties(${staticlibname} PROPERTIES PREFIX "lib")
endif(WIN32)
if(NOT ${LIBNAME_UPPER}_NO_INSTALL AND NOT ${LIBNAME_UPPER}_TESTABLE)
install(TARGETS ${libname}-static
RUNTIME DESTINATION ${BIN_DIR}
LIBRARY DESTINATION ${LIB_DIR}
ARCHIVE DESTINATION ${LIB_DIR}
)
endif(NOT ${LIBNAME_UPPER}_NO_INSTALL AND NOT ${LIBNAME_UPPER}_TESTABLE)
if(NOT SC_ENABLE_TESTING AND ${LIBNAME_UPPER}_TESTABLE)
set_target_properties( ${libname}-static PROPERTIES EXCLUDE_FROM_ALL ON )
endif(NOT SC_ENABLE_TESTING AND ${LIBNAME_UPPER}_TESTABLE)
if(APPLE)
set_target_properties(${staticlibname} PROPERTIES LINK_FLAGS "-flat_namespace -undefined suppress")
endif(APPLE)
endif(SC_BUILD_STATIC_LIBS)
# Enable extra compiler flags if local libraries and/or global options dictate
set(LOCAL_COMPILE_FLAGS "")
foreach(extraarg ${ARGN})
if(${extraarg} MATCHES "STRICT" AND SC-ENABLE_STRICT)
set(LOCAL_COMPILE_FLAGS "${LOCAL_COMPILE_FLAGS} ${STRICT_FLAGS}")
endif(${extraarg} MATCHES "STRICT" AND SC-ENABLE_STRICT)
endforeach(extraarg ${ARGN})
if(LOCAL_COMPILE_FLAGS)
if(BUILD_SHARED_LIBS)
set_target_properties(${libname} PROPERTIES COMPILE_FLAGS ${LOCAL_COMPILE_FLAGS})
endif(BUILD_SHARED_LIBS)
if(BUILD_STATIC_LIBS)
set_target_properties(${staticlibname} PROPERTIES COMPILE_FLAGS ${LOCAL_COMPILE_FLAGS})
endif(BUILD_STATIC_LIBS)
endif(LOCAL_COMPILE_FLAGS)
endmacro(SC_ADDLIB libname srcslist libslist)
# Local Variables:
# tab-width: 8
# mode: cmake
# indent-tabs-mode: t
# End:
# ex: shiftwidth=2 tabstop=8

35
cmake/md5_gen.cmake.in Normal file
View file

@ -0,0 +1,35 @@
# Inherit the parent CMake setting
set(CURRENT_SOURCE_DIR @CMAKE_CURRENT_SOURCE_DIR@)
set(CURRENT_BINARY_DIR @CMAKE_CURRENT_BINARY_DIR@)
# Define a variety of convenience routines
include(@PROJECT_CMAKE_DIR@/Generated_Source_Utils.cmake)
# The following steps are executed to sync generated sources:
#
# 1. Create a new verification_info.cmake file and populate
# it with the MD5 sums for current files.
#
# 2. Overwrite the original cached verification_info.cmake
# and generated files with the new ones. If LOCKED_SOURCE_DIR
# is ON, this step will not be carried out - instead, an
# informational message with manual updating instructions
# will be printed.
set(new_info_file "${CURRENT_BINARY_DIR}/verification_info.cmake")
file(WRITE ${new_info_file} "# Autogenerated verification information\n")
# Handle input files
set(input_files "@MD5_FILELIST@")
WRITE_MD5_SUMS("${input_files}" "${new_info_file}")
message("New verification file created: ${new_info_file}")
# Local Variables:
# tab-width: 8
# mode: cmake
# indent-tabs-mode: t
# End:
# ex: shiftwidth=2 tabstop=8

30
cmake/md5_verify.cmake.in Normal file
View file

@ -0,0 +1,30 @@
# Inherit the parent CMake setting
set(DEBUGGING_GENERATED_SOURCES @DEBUGGING_GENERATED_SOURCES@)
set(CURRENT_SOURCE_DIR "@CMAKE_CURRENT_SOURCE_DIR@")
# Include the file the provides the baseline against which
# current files will be compared
include("@BASELINE_INFORMATION_FILE@")
# Define a variety of convenience routines
include("@PROJECT_CMAKE_DIR@/Generated_Source_Utils.cmake")
# Individually verify all of the files in question.
set(filelist "@MD5_FILELIST@")
VERIFY_FILES("${filelist}" 1 srcs_pass)
if(NOT srcs_pass)
if(NOT DEBUGGING_GENERATED_SOURCES)
message(FATAL_ERROR "Sources have been modified and md5 sums have not been updated. This generally indicates either\n a) an input file has been modified but generated files have not been updated, or\n b) genenerated files have been edited directly.\nTo clear the error:\n a) Copy the new generated sources from the build directory to the generated/ sources directory, use the <target>_md5gen build target to create a new verifictation_info.cmake file, and copy verfication_info.cmake to generated/ as well.\n b) install Perplex/Re2C/LEMON and make the changes to the input file rather than the generated file.\nNote:\n If this is a debugging situation where multiple sequential tests must be conducted, temporarily set the variable DEBUGGING_GENERATED_SOURCES to ON during the CMake configure to disable this check.\nThis measure is necessary to ensure that compilations using either Perplex/Re2C/LEMON generation or the cached outputs of those tools produce consistent results.")
else(NOT DEBUGGING_GENERATED_SOURCES)
message(WARNING "Note: Sources have been modified and md5 sums have not been updated - build failure condition temporarily overridden by DEBUGGING_GENERATED_SOURCES setting.")
endif(NOT DEBUGGING_GENERATED_SOURCES)
endif(NOT srcs_pass)
# Local Variables:
# tab-width: 8
# mode: cmake
# indent-tabs-mode: t
# End:
# ex: shiftwidth=2 tabstop=8

View file

@ -0,0 +1,79 @@
# creates sc_version_string.h, which defines sc_version()
# sc_version() returns a pretty commit description and a build timestamp.
# only update the file if the git commit has changed, because whenever the file is updated files including the header must rebuild
# parallel rebuilds can result in race conditions and failures, particularly when running ctest in parallel
# http://stackoverflow.com/questions/3780667
# http://www.cmake.org/pipermail/cmake/2009-February/027014.html
set(SC_IS_SUBBUILD "@SC_IS_SUBBUILD@")
set(SC_VERSION_HEADER "${BINARY_DIR}/include/sc_version_string.h")
#---------- find commit id ------------------
#use git for a pretty commit id
#uses 'git describe --tags', so tags are required in the repo
#create a tag with 'git tag <name>' and 'git push --tags'
#if git can't be found, uses contents of SC_VERSION.txt
set(VERS_FILE ${SOURCE_DIR}/SC_VERSION.txt)
if(EXISTS ${SOURCE_DIR}/.git)
find_package(Git QUIET)
if(GIT_FOUND)
execute_process(COMMAND ${GIT_EXECUTABLE} describe --tags WORKING_DIRECTORY ${SOURCE_DIR}
RESULT_VARIABLE res_var OUTPUT_VARIABLE GIT_COMMIT_ID)
if(NOT ${res_var} EQUAL 0)
file(READ ${VERS_FILE} GIT_COMMIT_ID LIMIT 255)
if(NOT SC_IS_SUBBUILD)
message(WARNING "Git failed (probably no tags in repo). Build will contain revision info from ${VERS_FILE}.")
endif(NOT SC_IS_SUBBUILD)
endif()
else(GIT_FOUND)
file(READ ${VERS_FILE} GIT_COMMIT_ID LIMIT 255)
if(NOT SC_IS_SUBBUILD)
message(WARNING "Git not found. Build will contain revision info from ${VERS_FILE}.")
endif(NOT SC_IS_SUBBUILD)
endif(GIT_FOUND)
else()
file(READ ${VERS_FILE} GIT_COMMIT_ID LIMIT 255)
if(NOT SC_IS_SUBBUILD)
message(WARNING "Git failed ('.git' not found). Build will contain revision info from ${VERS_FILE}.")
endif(NOT SC_IS_SUBBUILD)
endif()
string(REPLACE "\n" "" GIT_COMMIT_ID ${GIT_COMMIT_ID})
#-------------- date and time ---------------
#once cmake_minimum_required is >= 2.8.11, we can use TIMESTAMP:
#string(TIMESTAMP date_time_string)
set(header_string "/* sc_version_string.h - written by cmake. Changes will be lost! */\n"
"#ifndef SC_VERSION_STRING\n"
"#define SC_VERSION_STRING\n\n"
"/*\n** The git commit id looks like \"test-1-g5e1fb47\", where test is the\n"
"** name of the last tagged git revision, 1 is the number of commits since that tag,\n"
"** 'g' is unknown, and 5e1fb47 is the first 7 chars of the git sha1 commit id.\n"
"*/\n\n"
"static char sc_version[512] = {\n"
" \"git commit id: ${GIT_COMMIT_ID}\"\n"
"}\;\n\n"
"#endif\n"
)
#don't update the file unless somethig changed
string(RANDOM tmpsuffix)
file(WRITE ${SC_VERSION_HEADER}.${tmpsuffix} ${header_string})
execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different ${SC_VERSION_HEADER}.${tmpsuffix} ${SC_VERSION_HEADER})
execute_process(COMMAND ${CMAKE_COMMAND} -E remove ${SC_VERSION_HEADER}.${tmpsuffix})
if(NOT SC_IS_SUBBUILD)
message("-- sc_version_string.h is up-to-date.")
endif(NOT SC_IS_SUBBUILD)
# Local Variables:
# tab-width: 8
# mode: cmake
# indent-tabs-mode: t
# End:
# ex: shiftwidth=2 tabstop=8

View file

@ -0,0 +1,77 @@
project(SC_SUBPROJECT_SCHEMA_SCANNER)
cmake_minimum_required(VERSION 2.8.7)
if(NOT ("${CALLED_FROM}" STREQUAL "STEPCODE_CMAKELISTS" AND DEFINED SC_ROOT AND DEFINED SC_BUILDDIR))
message(" ${CALLED_FROM} ${SC_ROOT} ${SC_BUILDDIR}")
message(FATAL_ERROR "This is not a truly independent project; it should be built during the STEPcode configuration stage.")
endif()
# SC_ROOT: SC root dir
# SC_BUILDDIR: SC build dir, so generated headers can be found
set(CMAKE_BUILD_TYPE Debug)
# set all target location variables so that MSVC will put the executable the same place as other compilers
set(SC_BINARY_DIR ${SC_BUILDDIR})
include(${CMAKE_CURRENT_SOURCE_DIR}/../SC_Outdirs.cmake)
set(schema_scanner_src
${SC_ROOT}/src/base/sc_mkdir.c
${SC_ROOT}/src/exp2cxx/genCxxFilenames.c
${SC_ROOT}/src/exp2cxx/class_strings.c
${SC_ROOT}/src/express/generated/expparse.c
${SC_ROOT}/src/express/generated/expscan.c
${SC_ROOT}/src/express/alg.c
${SC_ROOT}/src/express/caseitem.c
${SC_ROOT}/src/express/dict.c
${SC_ROOT}/src/express/entity.c
${SC_ROOT}/src/express/error.c
${SC_ROOT}/src/express/exp_kw.c
${SC_ROOT}/src/express/expr.c
${SC_ROOT}/src/express/express.c
${SC_ROOT}/src/express/hash.c
${SC_ROOT}/src/express/lexact.c
${SC_ROOT}/src/express/linklist.c
${SC_ROOT}/src/express/memory.c
${SC_ROOT}/src/express/object.c
${SC_ROOT}/src/express/info.c
${SC_ROOT}/src/express/resolve.c
${SC_ROOT}/src/express/schema.c
${SC_ROOT}/src/express/scope.c
${SC_ROOT}/src/express/stmt.c
${SC_ROOT}/src/express/symbol.c
${SC_ROOT}/src/express/type.c
${SC_ROOT}/src/express/variable.c
${CMAKE_CURRENT_SOURCE_DIR}/schemaScanner.cc
)
include_directories(
${SC_ROOT}/include/
${SC_ROOT}/src/express/
${SC_ROOT}/src/express/generated
${SC_ROOT}/src/base
${SC_ROOT}/src/exp2cxx
${SC_BUILDDIR}/include
)
if(MSVC)
add_definitions(-D__MSVC__ -D__WIN32__)
# Disable warning for preferred usage of secure functions (example strcpy should be strcpy_s, ...)
add_definitions(-D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_WARNINGS)
elseif(BORLAND)
add_definitions(-D__BORLAND__ -D__WIN32__)
else()
add_definitions(-pedantic -W -Wall -Wundef -Wfloat-equal -Wshadow -Winline -Wno-long-long)
endif()
add_definitions(-DSCHEMA_SCANNER)
add_executable(schema_scanner ${schema_scanner_src})
# Local Variables:
# tab-width: 8
# mode: cmake
# indent-tabs-mode: t
# End:
# ex: shiftwidth=2 tabstop=8

View file

@ -0,0 +1,10 @@
README for STEPcode schema scanner
--------------
The files in this directory are for a schema scanner executable, built by CMake during the configuration stage.
This scanner is used to determine the file names that exp2cxx will use. In CMake, all file names must be known before
configuration finishes - so it is necessary to parse the schemas early.
This appears to be a standalone project to CMake, but it is intended to be built only as part of STEPcode. It is configured,
built, and executed during the configuration stage of STEPcode.

View file

@ -0,0 +1,336 @@
/** \file schemaScanner.cc
* This file, along with part of libexpress, are compiled (at configure time)
* into a static executable. This executable is a schema scanner that is used
* by CMake to determine what files exp2cxx will create. Otherwise, we'd need
* to use a few huge files - there is no other way to tell CMake what the
* generated files will be called.
*/
/* WARNING
* If you modify this file, you must re-run cmake. It doesn't seem to be possible
* to re-run cmake automatically, as CMake's configure_file() gets confused by
* the '${' and '}' in writeLists() below.
*/
extern "C" {
# include "expparse.h"
# include "expscan.h"
# include "express/scope.h"
# include "genCxxFilenames.h"
# include "sc_mkdir.h"
# include <string.h>
# if defined( _WIN32 ) || defined ( __WIN32__ )
# include <direct.h>
# define getcwd _getcwd
# else
# include <unistd.h>
# endif
}
#include <string>
#include <sstream>
#include <iomanip>
#include <fstream>
#include <iostream>
int multiple_inheritance = 0;
using std::string;
using std::stringstream;
using std::endl;
using std::ofstream;
using std::cerr;
using std::cout;
/** \return true for types that exp2cxx won't generate code for */
bool notGenerated( const Type t ) {
switch( TYPEget_body( t )->type ) {
case integer_:
case real_:
case string_:
case binary_:
case boolean_:
case number_:
case logical_:
case aggregate_:
case bag_:
case set_:
case list_:
case array_:
return true;
default:
break;
}
/* from addRenameTypedefs() in multpass.c - check for renamed
* enums and selects - exp2cxx prints typedefs for them */
if( ( TYPEis_enumeration( t ) || TYPEis_select( t ) ) && ( TYPEget_head( t ) ) ) {
return true;
}
return false;
}
/** \return a short name for the schema
* this name is intended to be unique, but no special care is put into its generation
* the official schema name seems most likely to not be unique, but it is generally the longest
*
* picks the shortest of:
* * the name of the dir containing the file (if in sc/data),
* * the name of the file containing the schema (minus extension),
* * the official name of the schema, passed in arg 'longName'
*
* TODO: maybe also consider an acronym, such that 'test_array_bounds_expr' becomes 'tabe', 'TABE', 'T_A_B_E', or similar
*/
string makeShortName( const char * longName ) {
//input_filename is path to file. we will extract dir name and file name from it.
string dirname = input_filename, filename = input_filename, schname = longName;
const char slash = '/';
//for filename, get rid of dir name(s), if any, as well as the extension
size_t sl = filename.rfind( slash );
if( sl != string::npos ) {
filename.erase( 0, sl + 1 );
}
size_t dot = filename.rfind( '.' );
if( dot != string::npos ) {
filename.erase( dot );
}
//for dirname, get rid of the filename and ensure it's in data/
sl = dirname.rfind( slash );
if( sl != string::npos ) {
dirname.erase( sl );
}
const char * dat = "data";
size_t data = dirname.find( dat );
if( ( data == string::npos ) || ( dirname[ data + strlen( dat ) ] != slash ) ) {
//doesn't contain 'data/'. clear it so it'll be ignored.
dirname.clear();
} else {
//get rid of all but last dir name
dirname.erase( 0, dirname.rfind( slash ) + 1 );
}
//use dir name if it's at least 3 chars and shorter than file name
//length requirement gets rid of short, undescriptive dir names - including '.' and '..'
if( ( dirname.size() > 2 ) && ( dirname.size() < filename.size() ) ) {
filename = dirname;
}
if( strlen( longName ) < filename.size() ) {
filename = longName;
}
filename.insert( 0, "sdai_" );
return filename;
}
/** write a CMakeLists.txt file for the schema; print its directory to stdout for CMake's add_subdirectory() command */
void writeLists( const char * schemaName, stringstream & eh, stringstream & ei, int ecount,
stringstream & th, stringstream & ti, int tcount ) {
string shortName = makeShortName( schemaName );
if( mkDirIfNone( shortName.c_str() ) < 0 ) {
cerr << "Error creating directory " << shortName << " at " << __FILE__ << ":" << __LINE__;
perror( 0 );
exit( EXIT_FAILURE );
}
size_t nameLen = strlen( schemaName );
string schema_upper( nameLen, char() );
for( size_t i = 0; i < nameLen; ++i) {
schema_upper[i] = toupper(schemaName[i]);
}
string cmListsPath = shortName;
cmListsPath += "/CMakeLists.txt";
ofstream cmLists;
cmLists.open( cmListsPath.c_str() );
if( !cmLists.good() ) {
cerr << "error opening file " << cmListsPath << " - exiting." << endl;
exit( EXIT_FAILURE );
}
cmLists << "# ----- GENERATED FILE -----" << endl;
cmLists << "# ----- Do not edit! -----" << endl << endl;
cmLists << "# schema name: " << schemaName << endl;
cmLists << "# (short name: " << shortName << ")" << endl;
cmLists << "# " << ecount << " entities, " << tcount << " types" << endl << endl;
cmLists << "# targets, logic, etc are within a set of macros shared by all schemas" << endl;
cmLists << "include(${SC_CMAKE_DIR}/SC_CXX_schema_macros.cmake)" << endl;
// * 2 for headers, + 10 other files
cmLists << "set(" << shortName << "_file_count " << ( ( ecount + tcount ) * 2 ) + 10 << ")" << endl << endl;
cmLists << "PROJECT(" << shortName << ")" << endl;
cmLists << "# list headers so they can be installed - entity, type, misc" << endl;
cmLists << "set(" << shortName << "_entity_hdrs" << endl;
cmLists << eh.str();
cmLists << " )" << endl << endl;
cmLists << "set(" << shortName << "_type_hdrs" << endl;
cmLists << th.str();
cmLists << " )" << endl << endl;
cmLists << "set(" << shortName << "_misc_hdrs" << endl;
cmLists << " Sdaiclasses.h schema.h" << endl;
cmLists << " Sdai" << schema_upper << "Names.h" << endl;
cmLists << " Sdai" << schema_upper << ".h" << endl;
cmLists << " )" << endl << endl;
cmLists << "# install all headers" << endl;
cmLists << "set(all_headers ${" << shortName << "_entity_hdrs} ${" << shortName << "_type_hdrs} ${" << shortName << "_misc_hdrs})" << endl;
cmLists << "foreach( header_file ${all_headers} )" << endl;
cmLists << " set(curr_dir)" << endl;
cmLists << " get_filename_component(curr_dir ${header_file} PATH)" << endl;
cmLists << " get_filename_component(curr_name ${header_file} NAME)" << endl;
cmLists << " if (curr_dir)" << endl;
cmLists << " install( FILES ${header_file} DESTINATION \"include/schemas/" << shortName << "/${curr_dir}\" )" << endl;
cmLists << " else (curr_dir)" << endl;
cmLists << " install( FILES ${header_file} DESTINATION \"include/schemas/" << shortName << "\" )" << endl;
cmLists << " endif (curr_dir)" << endl;
cmLists << "endforeach()" << endl;
cmLists << "# implementation files - 3 lists" << endl << endl;
cmLists << "# unity build: #include small .cc files to reduce the number" << endl;
cmLists << "# of translation units that must be compiled" << endl;
cmLists << "if(SC_UNITY_BUILD)" << endl << " # turns off include statements within type and entity .cc's - the unity T.U.'s include a unity header" << endl;
cmLists << " add_definitions( -DSC_SDAI_UNITY_BUILD)" << endl;
cmLists << " set(" << shortName << "_entity_impls Sdai" << schema_upper << "_unity_entities.cc)" << endl;
cmLists << " set(" << shortName << "_type_impls Sdai" << schema_upper << "_unity_types.cc)" << endl;
cmLists << "else(SC_UNITY_BUILD)" << endl;
cmLists << " set(" << shortName << "_entity_impls" << endl;
cmLists << ei.str();
cmLists << " )" << endl << endl;
cmLists << " set(" << shortName << "_type_impls" << endl;
cmLists << ti.str();
cmLists << " )" << endl;
cmLists << "endif(SC_UNITY_BUILD)" << endl << endl;
cmLists << "set( " << shortName << "_misc_impls" << endl;
cmLists << " SdaiAll.cc compstructs.cc schema.cc" << endl;
cmLists << " Sdai" << schema_upper << ".cc" << endl;
cmLists << " Sdai" << schema_upper << ".init.cc )" << endl << endl;
cmLists << "set(schema_target_files ${" << shortName << "_entity_impls} " << "${" << shortName << "_type_impls} " << "${" << shortName << "_misc_impls})" << endl;
cmLists << "SCHEMA_TARGETS(\"" << input_filename << "\" \"" << schemaName << "\"" << endl;
cmLists << " \"${schema_target_files}\")" << endl;
cmLists.close();
char pwd[BUFSIZ] = {0};
if( getcwd( pwd, BUFSIZ ) ) {
cout << pwd << "/" << shortName << endl;
} else {
cerr << "Error encountered by getcwd() for " << shortName << " - exiting. Error was ";
perror( 0 );
exit( EXIT_FAILURE );
}
}
void printSchemaFilenames( Schema sch ){
const int numColumns = 2;
const int colWidth = 75;
const char * tab = " ";
stringstream typeHeaders, typeImpls, entityHeaders, entityImpls;
typeHeaders << tab;
typeImpls << tab;
entityHeaders << tab;
entityImpls << tab;
int ecount = 0, tcount = 0;
DictionaryEntry de;
Generic x;
filenames_t fn;
DICTdo_init( sch->symbol_table, &de );
while( 0 != ( x = DICTdo( &de ) ) ) {
switch( DICT_type ) {
case OBJ_ENTITY:
fn = getEntityFilenames( ( Entity ) x );
entityHeaders << std::left << std::setw( colWidth ) << fn.header << " ";
entityImpls << std::left << std::setw( colWidth ) << fn.impl << " ";
++ecount;
if( ( ecount % numColumns ) == 0 ) {
// columns
entityHeaders << endl << tab;
entityImpls << endl << tab;
}
break;
case OBJ_TYPE: {
Type t = ( Type ) x;
if( TYPEis_enumeration( t ) && ( TYPEget_head( t ) ) ) {
/* t is a renamed enum type, for which exp2cxx
* will print a typedef in an existing file */
break;
}
if( notGenerated( t ) ) {
/* skip builtin types */
break;
}
fn = getTypeFilenames( t );
typeHeaders << std::left << std::setw( colWidth ) << fn.header << " ";
typeImpls << std::left << std::setw( colWidth ) << fn.impl << " ";
++tcount;
if( ( tcount % numColumns ) == 0 ) {
typeHeaders << endl << tab;
typeImpls << endl << tab;
}
break;
}
/* case OBJ_FUNCTION:
* case OBJ_PROCEDURE:
* case OBJ_RULE: */
default:
/* ignore everything else */
/* TODO: if DEBUG is defined, print the names of these to stderr */
break;
}
}
//write the CMakeLists.txt
writeLists( sch->symbol.name, entityHeaders, entityImpls, ecount, typeHeaders, typeImpls, tcount );
}
int main( int argc, char ** argv ) {
/* TODO init globals! */
Schema schema;
DictionaryEntry de;
/* copied from fedex.c */
Express model;
if( ( argc != 2 ) || ( strlen( argv[1] ) < 1 ) ) {
fprintf( stderr, "\nUsage: %s file.exp\nOutput: a CMakeLists.txt to build the schema,", argv[0] );
fprintf( stderr, " containing file names for entities, types, etc\n" );
fprintf( stderr, "also prints (to stdout) the absolute path to the directory CMakeLists.txt was created in\n" );
exit( EXIT_FAILURE );
}
EXPRESSprogram_name = argv[0];
input_filename = argv[1];
EXPRESSinitialize();
model = EXPRESScreate();
EXPRESSparse( model, ( FILE * )0, input_filename );
if( ERRORoccurred ) {
EXPRESSdestroy( model );
exit( EXIT_FAILURE );
}
EXPRESSresolve( model );
if( ERRORoccurred ) {
int result = EXPRESS_fail( model );
EXPRESScleanup();
EXPRESSdestroy( model );
exit( result );
}
DICTdo_type_init( model->symbol_table, &de, OBJ_SCHEMA );
while( 0 != ( schema = ( Schema )DICTdo( &de ) ) ) {
printSchemaFilenames( schema );
}
EXPRESSdestroy( model );
exit( EXIT_SUCCESS );
}

View file

@ -0,0 +1,110 @@
# this file should be included from data/CMakeLists.txt
#
# at configure time, this builds a small program
# which will parse express schemas to determine
# what files exp2cxx will create for that schema.
#
# The SCHEMA_CMLIST macro is to be used to run this
# program. It will set variables for schema name(s),
# headers, and implementation files.
# in a unity build, many small .cc files are #included to create a few large translation units
# this makes compilation faster, but sometimes runs into compiler limitations
if(NOT DEFINED SC_UNITY_BUILD)
if(BORLAND)
message( STATUS "Will not do unity build for this compiler. (SC_UNITY_BUILD=FALSE)")
set(SC_UNITY_BUILD FALSE)
else()
message( STATUS "Assuming compiler is capable of unity build. (SC_UNITY_BUILD=TRUE)")
set(SC_UNITY_BUILD TRUE)
endif(BORLAND)
message( STATUS "Override by setting SC_UNITY_BUILD; TRUE will result in faster build times but *huge* translation units and higher memory use in compilation.")
else(NOT DEFINED SC_UNITY_BUILD)
message( STATUS "Respecting user-defined SC_UNITY_BUILD value of ${SC_UNITY_BUILD}.")
endif(NOT DEFINED SC_UNITY_BUILD)
# --- variables ---
# SC_ROOT: SC root dir
# SC_BUILDDIR: SC build dir, so generated headers can be found
# SCANNER_SRC_DIR: dir this file is in
# SCANNER_OUT_DIR: location of binary, same dir as SC uses
# SCANNER_BUILD_DIR: location scanner is built
set(SCANNER_SRC_DIR ${SC_CMAKE_DIR}/schema_scanner)
set(SCANNER_BUILD_DIR ${SC_BINARY_DIR}/schema_scanner CACHE INTERNAL "location for scanner build, config files (copied schemas)")
set(SCANNER_OUT_DIR ${SC_BINARY_DIR}/bin CACHE INTERNAL "location for schema_scanner executable")
#write a cmake file for the cache. the alternative is a very long
# command line - and the command line can't have newlines in it
set(initial_scanner_cache ${SCANNER_BUILD_DIR}/initial_scanner_cache.cmake)
file(WRITE ${initial_scanner_cache} "
set(SC_ROOT \"${SC_SOURCE_DIR}\" CACHE STRING \"root dir\")
set(SC_BUILDDIR \"${SC_BINARY_DIR}\" CACHE PATH \"build dir\")
set(CALLED_FROM \"STEPCODE_CMAKELISTS\" CACHE STRING \"verification\")
set(CMAKE_BUILD_TYPE \"Debug\" CACHE STRING \"build type\")
set(CMAKE_C_COMPILER \"${CMAKE_C_COMPILER}\" CACHE STRING \"compiler\")
set(CMAKE_CXX_COMPILER \"${CMAKE_CXX_COMPILER}\" CACHE STRING \"compiler\")
")
message( STATUS "Compiling schema scanner...")
execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${SC_BINARY_DIR}/schemas)
execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${SCANNER_BUILD_DIR})
execute_process(COMMAND ${CMAKE_COMMAND} -C ${initial_scanner_cache} ${SCANNER_SRC_DIR} -G ${CMAKE_GENERATOR}
WORKING_DIRECTORY ${SCANNER_BUILD_DIR}
TIMEOUT 60
OUTPUT_VARIABLE _ss_config_out
RESULT_VARIABLE _ss_config_stat
ERROR_VARIABLE _ss_config_err
)
if(NOT ${_ss_config_stat} STREQUAL "0")
message(FATAL_ERROR "Scanner config status: ${_ss_config_stat}. stdout:\n${_ss_config_out}\nstderr:\n${_ss_config_err}")
endif(NOT ${_ss_config_stat} STREQUAL "0")
execute_process(COMMAND ${CMAKE_COMMAND} --build ${SCANNER_BUILD_DIR} --config Debug --clean-first
WORKING_DIRECTORY ${SCANNER_BUILD_DIR}
TIMEOUT 120 # should take far less than 2m
OUTPUT_VARIABLE _ss_build_out
RESULT_VARIABLE _ss_build_stat
ERROR_VARIABLE _ss_build_err
)
if(NOT ${_ss_build_stat} STREQUAL "0")
message(FATAL_ERROR "Scanner build status: ${_ss_build_stat}. stdout:\n${_ss_build_out}\nstderr:\n${_ss_build_err}")
endif(NOT ${_ss_build_stat} STREQUAL "0")
message( STATUS "Schema scanner built. Running it...")
# not sure if it makes sense to install this or not...
if(WIN32)
install(PROGRAMS ${SCANNER_OUT_DIR}/schema_scanner.exe DESTINATION ${BIN_INSTALL_DIR})
else(WIN32)
install(PROGRAMS ${SCANNER_OUT_DIR}/schema_scanner DESTINATION ${BIN_INSTALL_DIR})
endif(WIN32)
# macro SCHEMA_CMLIST
# runs the schema scanner on one express file, creating a CMakeLists.txt file for each schema found. Those files are added via add_subdirectory().
#
# SCHEMA_FILE - path to the schema
# TODO should we have a result variable to return schema name(s) found?
macro(SCHEMA_CMLIST SCHEMA_FILE)
execute_process(COMMAND ${SCANNER_OUT_DIR}/schema_scanner ${SCHEMA_FILE}
WORKING_DIRECTORY ${SC_BINARY_DIR}/schemas
RESULT_VARIABLE _ss_stat
OUTPUT_VARIABLE _ss_out
ERROR_VARIABLE _ss_err
)
if(NOT "${_ss_stat}" STREQUAL "0")
#check size of output, put in file if large?
message(FATAL_ERROR "Schema scan for '${SCHEMA_FILE}'\nexited with error code '${_ss_stat}'\nstdout:\n${_ss_out}\nstderr:\n${_ss_err}\n")
endif(NOT "${_ss_stat}" STREQUAL "0")
# scanner output format: each line contains an absolute path. each path is a dir containing a CMakeLists for one schema
# there will usually be a single line of output, but it is not illegal for multiple schemas to exist in one .exp file
string(STRIP "${_ss_out}" _ss_stripped)
string(REGEX REPLACE "\\\n" ";" _list ${_ss_stripped})
foreach(_dir ${_list})
add_subdirectory(${_dir} ${_dir}) #specify source and binary dirs as the same
endforeach(_dir ${_ss_out})
# configure_file forces cmake to run again if the schema has been modified
#if multiple schemas in one file, _schema is the last one printed.
configure_file(${SCHEMA_FILE} ${SCANNER_BUILD_DIR}/${_schema})
endmacro(SCHEMA_CMLIST SCHEMA_FILE)

View file

@ -1,58 +0,0 @@
#use git for a pretty commit id
#uses 'git describe --tags', so tags are required in the repo
#create a tag with 'git tag <name>' and 'git push --tags'
# http://stackoverflow.com/questions/3780667
# http://www.cmake.org/pipermail/cmake/2009-February/027014.html
#scl_version_string.h defines scl_version() which returns a pretty commit description and a build timestamp.
set(SCL_IS_SUBBUILD "@SCL_IS_SUBBUILD@")
set(VERS_FILE ${SOURCE_DIR}/SCL_VERSION.txt )
if( EXISTS ${SOURCE_DIR}/.git )
find_package(Git QUIET)
if(GIT_FOUND)
execute_process(COMMAND ${GIT_EXECUTABLE} describe --tags RESULT_VARIABLE res_var OUTPUT_VARIABLE GIT_COMMIT_ID )
if( NOT ${res_var} EQUAL 0 )
file( READ ${VERS_FILE} GIT_COMMIT_ID LIMIT 255 )
if(NOT SCL_IS_SUBBUILD)
message( WARNING "Git failed (probably no tags in repo). Build will contain revision info from ${VERS_FILE}." )
endif(NOT SCL_IS_SUBBUILD)
endif()
else(GIT_FOUND)
file( READ ${VERS_FILE} GIT_COMMIT_ID LIMIT 255 )
if(NOT SCL_IS_SUBBUILD)
message( WARNING "Git not found. Build will contain revision info from ${VERS_FILE}." )
endif(NOT SCL_IS_SUBBUILD)
endif(GIT_FOUND)
else()
file( READ ${VERS_FILE} GIT_COMMIT_ID LIMIT 255 )
if(NOT SCL_IS_SUBBUILD)
message( WARNING "Git failed ('.git' not found). Build will contain revision info from ${VERS_FILE}." )
endif(NOT SCL_IS_SUBBUILD)
endif()
string( REPLACE "\n" "" GIT_COMMIT_ID ${GIT_COMMIT_ID} )
set( vstring "//scl_version_string.h - written by cmake. Changes will be lost!\n"
"#ifndef SCL_VERSION_STRING\n"
"#define SCL_VERSION_STRING\n\n"
"/*\n** Returns a string like \"test-1-g5e1fb47, built at TIME on DATE\", where test is the\n"
"** name of the last tagged git revision, 1 is the number of commits since that tag,\n"
"** 'g' is unknown, 5e1fb47 is the first 7 chars of the git sha1 commit id, and TIME\n"
"** and DATE are substituted by the compiler.\n*/\n\n"
"const char* scl_version() {\n"
" return \"git commit id ${GIT_COMMIT_ID}, built at \"__TIME__\" on \"__DATE__\;\n"
"}\n\n"
"#endif\n"
)
file(WRITE scl_version_string.h.txt ${vstring} )
# copy the file to the final header only if the version changes
# reduces needless rebuilds
execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different
scl_version_string.h.txt ${BINARY_DIR}/include/scl_version_string.h)
if(NOT SCL_IS_SUBBUILD)
message("-- scl_version_string.h is up-to-date.")
endif(NOT SCL_IS_SUBBUILD)

View file

@ -0,0 +1,83 @@
# Inherit the parent CMake setting
set(CURRENT_SOURCE_DIR @CMAKE_CURRENT_SOURCE_DIR@)
set(CURRENT_BINARY_DIR @CMAKE_CURRENT_BINARY_DIR@)
set(CACHED_FILES_DIR @CACHED_FILES_DIR@)
set(LEMON_EXECUTABLE @LEMON_EXECUTABLE@)
set(RE2C_EXECUTABLE @RE2C_EXECUTABLE@)
set(PERPLEX_EXECUTABLE @PERPLEX_EXECUTABLE@)
set(LOCKED_SOURCE_DIR @LOCKED_SOURCE_DIR@)
set(DEBUGGING_GENERATED_SOURCES @DEBUGGING_GENERATED_SOURCES@)
if(NOT DEBUGGING_GENERATED_SOURCES)
# Define a variety of convenience routines
include(@PROJECT_CMAKE_DIR@/Generated_Source_Utils.cmake)
# The following steps are executed to sync generated sources:
#
# 1. Create a new verification_info.cmake file and populate
# it with the current versions of perplex, re2c and lemon.
# Also add the MD5 sums for current template files.
#
# 2. For all files that need to be updated in the cache,
# calculate new MD5 sums and add them to the new
# verification_info.cmake - this is usually the input
# files and the generated outputs.
#
# 3. Overwrite the original cached verification_info.cmake
# and generated files with the new ones. If LOCKED_SOURCE_DIR
# is ON, this step will not be carried out - instead, an
# informational message with manual updating instructions
# will be printed.
set(new_info_file "${CURRENT_BINARY_DIR}/verification_info.cmake.new")
file(WRITE ${new_info_file} "# Autogenerated verification information\n")
# Handle generator version numbers
GET_GENERATOR_EXEC_VERSIONS()
file(APPEND ${new_info_file} "set(baseline_lemon_version \"${lemon_version}\")\n")
file(APPEND ${new_info_file} "set(baseline_re2c_version \"${re2c_version}\")\n")
file(APPEND ${new_info_file} "set(baseline_perplex_version \"${perplex_version}\")\n")
# Handle template files
set(template_files "@TEMPLATE_FILELIST@")
WRITE_MD5_SUMS("${template_files}" "${new_info_file}")
# Handle input files
set(input_files "@INPUT_FILELIST@")
WRITE_MD5_SUMS("${input_files}" "${new_info_file}")
# Handle generated files
set(output_files "@BUILD_OUTPUT_FILELIST@")
WRITE_MD5_SUMS("${output_files}" "${new_info_file}")
# Copy files into their final locations
if(NOT LOCKED_SOURCE_DIR)
configure_file(${new_info_file} "${CACHED_FILES_DIR}/verification_info.cmake" COPYONLY)
foreach(outf ${output_files})
get_filename_component(filecorename ${outf} NAME)
message("copying ${outf} to ${CACHED_FILES_DIR}/${filecorename}")
configure_file(${outf} "${CACHED_FILES_DIR}/${filecorename}" COPYONLY)
endforeach(outf ${output_files})
else(NOT LOCKED_SOURCE_DIR)
message("Source directory writing is locked - LOCKED_SOURCE_DIR is set.")
message("To update the generated files, manually copy the following to ${CACHED_FILES_DIR}:")
message(" ${new_info_file} (rename to verification_info.cmake)")
foreach(outf ${output_files})
message(" ${outf}")
endforeach(outf ${output_files})
endif(NOT LOCKED_SOURCE_DIR)
else(NOT DEBUGGING_GENERATED_SOURCES)
message("\nNote: DEBUGGING_GENERATED_SOURCES is enabled - generated outputs will contain configuration-specific debugging information, so syncing cached output files is not possible. To restore normal behavior, disable DEBUGGING_GENERATED_SOURCES.\n")
endif(NOT DEBUGGING_GENERATED_SOURCES)
# Local Variables:
# tab-width: 8
# mode: cmake
# indent-tabs-mode: t
# End:
# ex: shiftwidth=2 tabstop=8

View file

@ -1,25 +1,33 @@
# run_ctest.cmake
# `ctest -S run_ctest.cmake`
set( CTEST_SOURCE_DIRECTORY . )
set( CTEST_BINARY_DIRECTORY build_matrix )
set( CTEST_CMAKE_GENERATOR "Unix Makefiles" )
set( CTEST_MEMORYCHECK_COMMAND /usr/bin/valgrind )
set( CTEST_INITIAL_CACHE "
set(CTEST_SOURCE_DIRECTORY .)
set(CTEST_BINARY_DIRECTORY build_matrix)
set(CTEST_CMAKE_GENERATOR "Unix Makefiles")
set(CTEST_MEMORYCHECK_COMMAND /usr/bin/valgrind)
set(CTEST_INITIAL_CACHE "
SITE:STRING=${CTEST_SITE}
BUILDNAME:STRING=${CTEST_BUILD_NAME}
SCL_ENABLE_TESTING:BOOL=ON
SCL_BUILD_TYPE:STRING=Debug
SC_ENABLE_TESTING:BOOL=ON
SC_BUILD_TYPE:STRING=Debug
")
ctest_start(matrix)
ctest_empty_binary_directory(${CTEST_BINARY_DIRECTORY})
ctest_configure( BUILD "${CTEST_BINARY_DIRECTORY}" OPTIONS -DSCL_ENABLE_TESTING=ON )
ctest_build( BUILD "${CTEST_BINARY_DIRECTORY}" )
ctest_configure(BUILD "${CTEST_BINARY_DIRECTORY}" OPTIONS -DSC_ENABLE_TESTING=ON)
ctest_build(BUILD "${CTEST_BINARY_DIRECTORY}")
message("running tests")
ctest_test( BUILD "${CTEST_BINARY_DIRECTORY}" INCLUDE_LABEL "cpp_schema_....*" )
ctest_test(BUILD "${CTEST_BINARY_DIRECTORY}" INCLUDE_LABEL "cpp_schema_....*")
message("running python script")
execute_process( COMMAND python ../misc/wiki-scripts/update-matrix.py
WORKING_DIRECTORY ${CTEST_BINARY_DIRECTORY} )
execute_process(COMMAND python ../misc/wiki-scripts/update-matrix.py
WORKING_DIRECTORY ${CTEST_BINARY_DIRECTORY})
# Local Variables:
# tab-width: 8
# mode: cmake
# indent-tabs-mode: t
# End:
# ex: shiftwidth=2 tabstop=8

File diff suppressed because it is too large Load diff

View file

@ -1,22 +0,0 @@
data/ap203/README
The EXPRESS schema in this directory is based on ISO 10303-203, an
international standard which is copyrighted by ISO. ISO has granted
NIST permission to publicly distribute the EXPRESS source from ISO
standards. The EXPRESS schema provided in this software release has
been modified to facilitate its use with this software and is provided
as an example schema only. This disclaimer must be included in any
redistribution of the EXPRESS schema. This disclaimer must also be
included in the file containing the EXPRESS schema.
The EXPRESS source for the modified AP 203 schema contained in the
file 203wseds.exp has modifications to it from the standard based on
Standard Enhancement and Discrepancy System (SEDS) reports. SEDS
reports are an informal way for ISO TC 184/SC4 to document errors,
ambiguities, and enhancements to the standard; and to recommend
corrections for formal adoption via a technical corrigendum,
amendment, or revision.
The data files in this directory were developed by ITI as part of the
STEP conformance testing project. The files contain data that conform
to the modified AP203 schema.

View file

@ -1,227 +0,0 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('STEP conformance test data','AP203 class 2 - ntsw'),'1');
FILE_NAME('cube1.p21','1994-12-14 T10:00:00',
('S. Dhar','S. Jetli','M. McFarland','J. Kindrick'),
('Industrial Technology Institute',
'P.O. Box 1485',
'Ann Arbor',
'Michigan',
'48106'),'NIST Data Probe, Release March 1993','conformance test suite','K. H. Muralidhar');
FILE_SCHEMA(('CONFIG_CONTROL_DESIGN'));
ENDSEC;
DATA;
#1=PRODUCT('41114','Solid Cube','Description for part 41114',(#2));
#2=MECHANICAL_CONTEXT('detailed design',#3,'mechanical');
#3333=APPLICATION_PROTOCOL_DEFINITION('status_str','config_control_design',1990,#3);
#3=APPLICATION_CONTEXT('Control the configuration of three dimensional design');
#4=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#5,#8,(#1));
#5=PERSON_AND_ORGANIZATION(#6,#7);
#6=PERSON('307-10-5806','Muralidhar','K.',('H.'),$,('PhD.'));
#1097=PERSONAL_ADDRESS($,'17147','New Hamburg Road',$,'Whitmore Lake','Michigan','48189','USA',$,'(313) 769-4306',$,$,(#6));
#7=ORGANIZATION('ITI-Michigan','Industrial Technology Institute','Anot-for-profit engineering and research center');
#8=PERSON_AND_ORGANIZATION_ROLE('design_owner');
#2101=PRODUCT_CATEGORY_RELATIONSHIP('root-to-standard','Relate the root to the standard product category',#1098,#1109);
#1109=PRODUCT_CATEGORY('standard_part','Identifies this as a standard part') ;
#1101=PRODUCT_CATEGORY_RELATIONSHIP('standard-to-detail','Relate the standard to the detail product category',#1109,#9);
#9=PRODUCT_RELATED_PRODUCT_CATEGORY('machined','Part Type for product 41114',(#1));
#1098=PRODUCT_CATEGORY('mechanical','mechanical product category: root node');
#1099=PRODUCT_CATEGORY_RELATIONSHIP('root-to-structural','Relates the root to the structural category',#1098,#1100);
#1100=PRODUCT_CATEGORY('structural','The structural product category');
#1110=PRODUCT_CATEGORY_RELATIONSHIP('structural-to-machined', 'Relates the structural to the machined category',#1100,#1102) ;
#1102=PRODUCT_RELATED_PRODUCT_CATEGORY('assembly','The machined product category',(#1));
#10=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('A','Description of version with specified source for part 41114',#1,.BOUGHT.);
#11=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#13,#15,(#10));
#13=PERSON_AND_ORGANIZATION(#14,#7);
#14=PERSON('302-30-6149','Quadir','Nur',$,$,$);
#15=PERSON_AND_ORGANIZATION_ROLE('creator');
#44=CC_DESIGN_APPROVAL(#45,(#10));
#45=APPROVAL(#46,'Approved as initial STEP test case part');
#46=APPROVAL_STATUS('approved');
#47=APPROVAL_DATE_TIME(#48,#45);
#48=DATE_AND_TIME(#50,#51);
#50=CALENDAR_DATE(1993,17,7);
#51=LOCAL_TIME(13,29,52.0,#29);
#69=APPROVAL_PERSON_ORGANIZATION(#70,#45,#72);
#70=PERSON_AND_ORGANIZATION(#71,#7);
#71=PERSON('574-20-7069','Kindrick','James',$,$,$);
#72=APPROVAL_ROLE('Authorize part release');
#31=CC_DESIGN_SECURITY_CLASSIFICATION(#32,(#10));
#32=SECURITY_CLASSIFICATION('1993-C1','open availability of STEP test data',#33);
#33=SECURITY_CLASSIFICATION_LEVEL('unclassified');
#34=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#35,#39,(#32));
#35=DATE_AND_TIME(#36,#37);
#36=CALENDAR_DATE(1993,17,7);
#37=LOCAL_TIME(13,$,$,#29);
#39=DATE_TIME_ROLE('classification_date');
#40=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#41,#43,(#32));
#41=PERSON_AND_ORGANIZATION(#42,#7);
#42=PERSON('412-89-3456','Dhar','Shantanu',$,('Mr.'),$);
#43=PERSON_AND_ORGANIZATION_ROLE('classification_officer');
#53=CC_DESIGN_APPROVAL(#54,(#32));
#54=APPROVAL(#55,'Approved as unclassified step test data');
#55=APPROVAL_STATUS('approved');
#56=APPROVAL_DATE_TIME(#57,#54);
#57=DATE_AND_TIME(#58,#59);
#58=CALENDAR_DATE(1993,17,7);
#59=LOCAL_TIME(13,47,28.0,#29);
#73=APPROVAL_PERSON_ORGANIZATION(#74,#54,#76);
#74=PERSON_AND_ORGANIZATION(#75,#7);
#75=PERSON('525-94-5792','Matthews','Robert',('S.'),$,$);
#76=APPROVAL_ROLE('Authorize the security code');
#17=PRODUCT_DEFINITION('D1','Detailed drawing as planned for conformance testing',#10,#18);
#18=DESIGN_CONTEXT('detailed design',#3,'design');
#19=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#13,#23,(#17));
#23=PERSON_AND_ORGANIZATION_ROLE('creator');
#24=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#25,#30,(#17));
#25=DATE_AND_TIME(#27,#28);
#27=CALENDAR_DATE(1993,19,7);
#28=LOCAL_TIME(19,46,55.0,#29);
#29=COORDINATED_UNIVERSAL_TIME_OFFSET(8,$,.BEHIND.);
#30=DATE_TIME_ROLE('creation_date');
#61=CC_DESIGN_APPROVAL(#62,(#17));
#62=APPROVAL(#63,'Approved as STEP conformance testing drawing');
#63=APPROVAL_STATUS('approved');
#64=APPROVAL_DATE_TIME(#65,#62);
#65=DATE_AND_TIME(#66,#67);
#66=CALENDAR_DATE(1993,19,7);
#67=LOCAL_TIME(19,47,51.0,#29);
#77=APPROVAL_PERSON_ORGANIZATION(#70,#62,#79);
#79=APPROVAL_ROLE('Authorize product definition');
#80=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#81,#84,(#10,#1010));
#81=PERSON_AND_ORGANIZATION(#82,#83);
#82=PERSON('CDI-2','Dwaraka','B.',('K.'),$,$);
#83=ORGANIZATION('CDI','Contract Design, Inc.','Contract engineering organization');
#1096=ORGANIZATIONAL_ADDRESS($,'2901','Hubbard','P.O. Box 1485','Ann Arbor','Michigan','48106','USA','(313) 769-4069','(313) 769-4000',$,$,(#83));
#84=PERSON_AND_ORGANIZATION_ROLE('design_supplier');
#88=SUPPLIED_PART_RELATIONSHIP('design','design supplier','The supplier provides detailed designs',#17,#1017);
#85=CC_DESIGN_CERTIFICATION(#86,(#88));
#86=CERTIFICATION('ISO-9000 certified design supplier','quality control',#87);
#87=CERTIFICATION_TYPE('design_supplier');
#89=CC_DESIGN_APPROVAL(#90,(#86));
#90=APPROVAL(#91,'Approved as ISO-9000 certified supplier');
#91=APPROVAL_STATUS('approved');
#92=APPROVAL_PERSON_ORGANIZATION(#70,#90,#93);
#93=APPROVAL_ROLE('Authorize supplier certification');
#94=DATE_AND_TIME(#95,#96);
#95=CALENDAR_DATE(1993,20,4);
#96=LOCAL_TIME(15,47,51.0,#29);
#97=APPROVAL_DATE_TIME(#94,#90);
#98=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#100,#102,(#86));
#99=CALENDAR_DATE(1993,19,4);
#100=DATE_AND_TIME(#99,#101);
#101=LOCAL_TIME(10,41,59.0,#29);
#102=DATE_TIME_ROLE('certification_date');
#1103=PRODUCT('12345','Cube Solid','CDI''s part 12345 description',(#2));
#2009=PRODUCT_RELATED_PRODUCT_CATEGORY('customer_furnished_equipment','Part Type for product 12345',(#1103));
#1104=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1013,#8,(#1103));
#1010=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('S-1','For Cube Solid',#1103,.MADE.);
#1011=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1013,#1016,(#1010));
#1013=PERSON_AND_ORGANIZATION(#1014,#83);
#1014=PERSON('CDI-1','Brandenberg','Chad',('David','George'),$,$);
#1016=PERSON_AND_ORGANIZATION_ROLE('creator');
#1044=CC_DESIGN_APPROVAL(#1045,(#1010));
#1045=APPROVAL(#1046,'Approved as test part design');
#1046=APPROVAL_STATUS('approved');
#1047=APPROVAL_DATE_TIME(#1048,#1045);
#1048=DATE_AND_TIME(#1050,#1051);
#1050=CALENDAR_DATE(1993,19,7);
#1051=LOCAL_TIME(19,51,59.0,#29);
#1069=APPROVAL_PERSON_ORGANIZATION(#1070,#1045,#1072);
#1070=PERSON_AND_ORGANIZATION(#82,#83);
#1072=APPROVAL_ROLE('Authorize part version');
#1031=CC_DESIGN_SECURITY_CLASSIFICATION(#1032,(#1010));
#1032=SECURITY_CLASSIFICATION('1993-C2','open availability of test part designs',#1033);
#1033=SECURITY_CLASSIFICATION_LEVEL('unclassified');
#1034=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#1035,#1039,(#1032));
#1035=DATE_AND_TIME(#1036,#1037);
#1036=CALENDAR_DATE(1993,19,7);
#1037=LOCAL_TIME(19,45,41.0,#29);
#1039=DATE_TIME_ROLE('classification_date');
#1040=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1041,#1043,(#1032));
#1041=PERSON_AND_ORGANIZATION(#1042,#83);
#1042=PERSON('CDI-3','Sauter','Mitch',$,$,$);
#1043=PERSON_AND_ORGANIZATION_ROLE('classification_officer');
#1111=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#1112,#1115,(#1032));
#1112=DATE_AND_TIME(#1113,#1114);
#1113=CALENDAR_DATE(1993,1,10);
#1114=LOCAL_TIME(9,$,$,#29);
#1115=DATE_TIME_ROLE('declassification_date');
#1053=CC_DESIGN_APPROVAL(#1054,(#1032));
#1054=APPROVAL(#1055,'Approved as unclassified part design');
#1055=APPROVAL_STATUS('approved');
#1056=APPROVAL_DATE_TIME(#1057,#1054);
#1057=DATE_AND_TIME(#1058,#1059);
#1058=CALENDAR_DATE(1993,19,7);
#1059=LOCAL_TIME(19,47,58.0,#29);
#1073=APPROVAL_PERSON_ORGANIZATION(#81,#1054,#1076);
#1076=APPROVAL_ROLE('Authorize the security code');
#1019=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1013,#1023,(#1017));
#1023=PERSON_AND_ORGANIZATION_ROLE('creator');
#1024=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#1025,#1030,(#1017));
#1025=DATE_AND_TIME(#1027,#1028);
#1027=CALENDAR_DATE(1993,18,7);
#1028=LOCAL_TIME(10,51,59.0,#29);
#1030=DATE_TIME_ROLE('creation_date');
#1061=CC_DESIGN_APPROVAL(#1062,(#1017));
#1062=APPROVAL(#1063,'Approved as detailed drawing');
#1063=APPROVAL_STATUS('approved');
#1064=APPROVAL_DATE_TIME(#1065,#1062);
#1065=DATE_AND_TIME(#1066,#1067);
#1066=CALENDAR_DATE(1993,19,7);
#1067=LOCAL_TIME(19,51,59.0,#29);
#1077=APPROVAL_PERSON_ORGANIZATION(#81,#1062,#1079);
#1017=PRODUCT_DEFINITION_WITH_ASSOCIATED_DOCUMENTS('D2','Description of product for part 1234',#1010,#1018, (#1116));
#1018=PRODUCT_DEFINITION_CONTEXT('detailed design',#3,'design');
#1079=APPROVAL_ROLE('Authorize product definition');
#1116=DOCUMENT('shape1b.dwg','cube solid CAD file','CAD file for solid cube',#1117);
#1117=DOCUMENT_TYPE('cad_filename');
#1080=CC_DESIGN_CONTRACT(#1081,(#10));
#1081=CONTRACT('ITI-1121','Development of STEP conformance testing',#1082);
#1082=CONTRACT_TYPE('fixed_price');
#1083=CC_DESIGN_APPROVAL(#1084,(#1081));
#1084=APPROVAL(#1085,'Approved as active project under contract');
#1085=APPROVAL_STATUS('approved');
#1086=APPROVAL_PERSON_ORGANIZATION(#1087,#1084,#1090);
#1087=PERSON_AND_ORGANIZATION(#1088,#1089);
#1088=PERSON('212-33-7485','Masters','Larry',$,$,$);
#1089=ORGANIZATION('NIST','National Institute of Standards and Technology',
'Institute within the Department of Commerce');
#1090=APPROVAL_ROLE('Authorized the contract');
#1105=APPROVAL_DATE_TIME(#1106,#1084);
#1106=DATE_AND_TIME(#1107,#1108);
#1107=WEEK_OF_YEAR_AND_DAY_DATE(1993,20,5);
#1108=LOCAL_TIME(14,21,7.0,#29);
#1091=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1092,#1095,(#1081));
#1092=PERSON_AND_ORGANIZATION(#1093,#7);
#1093=PERSON('355-55-6849','Kuper','George',$,$,$);
#1095=PERSON_AND_ORGANIZATION_ROLE('contractor');
#1200=SHAPE_DEFINITION_REPRESENTATION(#1201,#9200);
#1201=PRODUCT_DEFINITION_SHAPE('NTSW_Shape','Shape of Solid Cube',#17);
#9040 =(LENGTH_UNIT()NAMED_UNIT(*)SI_UNIT(.MILLI.,.METRE.));
#9041 =(NAMED_UNIT(*)PLANE_ANGLE_UNIT()SI_UNIT($,.RADIAN.));
#9042 =(NAMED_UNIT(*)SI_UNIT($,.STERADIAN.)SOLID_ANGLE_UNIT());
#9043 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(0.000001),#9040,'xx','yy');
#9110 = CARTESIAN_POINT('CartPt1',(0.0,0.0,0.0));
#9111 = CARTESIAN_POINT('CartPt2',(2.0,0.0,0.0));
#9112 = CARTESIAN_POINT('CartPt3',(2.0,0.0,2.0));
#9113 = CARTESIAN_POINT('CartPt4',(0.0,0.0,2.0));
#9115 = CARTESIAN_POINT('CartPt5',(0.0,2.0,0.0));
#9116 = CARTESIAN_POINT('CartPt6',(2.0,2.0,0.0));
#9117 = CARTESIAN_POINT('CartPt7',(2.0,2.0,2.0));
#9118 = CARTESIAN_POINT('CartPt8',(0.0,2.0,2.0));
#9120 = POLYLINE('PolyLine2',(#9113,#9118,#9117,#9116));
#9130 = POLYLINE('PolyLine2',(#9110,#9113,#9112,#9117));
#9140 = POLYLINE('PolyLine3',(#9118,#9115,#9110,#9111));
#9150 = POLYLINE('PolyLine4',(#9112,#9111,#9116,#9115));
#9160 = GEOMETRIC_CURVE_SET('GeomCurSet1',(#9120,#9130,#9140,#9150));
#9190 = (GEOMETRIC_REPRESENTATION_CONTEXT(3)
GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#9043))
GLOBAL_UNIT_ASSIGNED_CONTEXT((#9040,#9041,#9042))
REPRESENTATION_CONTEXT('CONTEXT for gbwr - simple cube','This is a 3d context using millimeters for linear dimension'));
#9200 = GEOMETRICALLY_BOUNDED_WIREFRAME_SHAPE_REPRESENTATION('gbwsr',(#9160),#9190);
ENDSEC;
END-ISO-10303-21;

View file

@ -1,219 +0,0 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('STEP conformance test data','AP203 class 2 - ntsw'),'1');
FILE_NAME('cube2.p21','1994-12-14 T10:00:00',
('S. Dhar','S. Jetli','M. McFarland','J. Kindrick'),
('Industrial Technology Institute',
'P.O. Box 1485',
'Ann Arbor',
'Michigan',
'48106'),'NIST Data Probe, Release March 1993','conformance test suite','K. H. Muralidhar');
FILE_SCHEMA(('CONFIG_CONTROL_DESIGN'));
ENDSEC;
DATA;
#1=PRODUCT('51114','Solid Cube with Parabola Face','Description for part 51114',(#2));
#2=MECHANICAL_CONTEXT('detailed design',#3,'mechanical');
#3=APPLICATION_CONTEXT('Control the configuration of three dimensional design');
#300=APPLICATION_PROTOCOL_DEFINITION('AP definition status','config_control_design', 1994, #3);
#4=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#5,#8,(#1));
#5=PERSON_AND_ORGANIZATION(#6,#7);
#6=PERSON('307-10-5806','Muralidhar','K.',('H.'),$,$);
#7=ORGANIZATION('ITI-Michigan','Industrial Technology Institute','A not-for-profit engineering and research center');
#8=PERSON_AND_ORGANIZATION_ROLE('design_owner');
#9=PRODUCT_RELATED_PRODUCT_CATEGORY('detail','Part Type for product 51114',(#1));
#10=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('A','Description of version with specified source for part 51114',#1,.BOUGHT.);
#11=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#13,#15,(#10));
#13=PERSON_AND_ORGANIZATION(#14,#7);
#14=PERSON('302-30-6149','Quadir','Nur',$,$,$);
#15=PERSON_AND_ORGANIZATION_ROLE('creator');
#44=CC_DESIGN_APPROVAL(#45,(#10));
#45=APPROVAL(#46,'Approved as initial STEP test case part');
#46=APPROVAL_STATUS('approved');
#47=APPROVAL_DATE_TIME(#48,#45);
#48=DATE_AND_TIME(#50,#51);
#50=CALENDAR_DATE(1993,17,7);
#51=LOCAL_TIME(13,29,52.0,#29);
#69=APPROVAL_PERSON_ORGANIZATION(#70,#45,#72);
#70=PERSON_AND_ORGANIZATION(#71,#7);
#71=PERSON('574-20-7069','Kindrick','James',$,$,$);
#72=APPROVAL_ROLE('Authorize part release');
#31=CC_DESIGN_SECURITY_CLASSIFICATION(#32,(#10));
#32=SECURITY_CLASSIFICATION('1993-C1','open availability of STEP test data',#33);
#33=SECURITY_CLASSIFICATION_LEVEL('unclassified');
#34=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#35,#39,(#32));
#35=DATE_AND_TIME(#36,#37);
#36=CALENDAR_DATE(1993,17,7);
#37=LOCAL_TIME(13,45,20.0,#29);
#39=DATE_TIME_ROLE('classification_date');
#40=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#41,#43,(#32));
#41=PERSON_AND_ORGANIZATION(#42,#7);
#42=PERSON('412-89-3456','Dhar','Shantanu',$,('Mr.'),$);
#43=PERSON_AND_ORGANIZATION_ROLE('classification_officer');
#53=CC_DESIGN_APPROVAL(#54,(#32));
#54=APPROVAL(#55,'Approved as unclassified step test data');
#55=APPROVAL_STATUS('approved');
#56=APPROVAL_DATE_TIME(#57,#54);
#57=DATE_AND_TIME(#58,#59);
#58=CALENDAR_DATE(1993,17,7);
#59=LOCAL_TIME(13,47,28.0,#29);
#73=APPROVAL_PERSON_ORGANIZATION(#74,#54,#76);
#74=PERSON_AND_ORGANIZATION(#75,#7);
#75=PERSON('525-94-5792','Matthews','Robert',('S.'),$,$);
#76=APPROVAL_ROLE('Authorize the security code');
#17=PRODUCT_DEFINITION('D1','Detailed drawing as planned for conformance testing',#10,#18);
#18=DESIGN_CONTEXT('detailed design',#3,'design');
#19=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#13,#23,(#17));
#23=PERSON_AND_ORGANIZATION_ROLE('creator');
#24=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#25,#30,(#17));
#25=DATE_AND_TIME(#27,#28);
#27=CALENDAR_DATE(1993,19,7);
#28=LOCAL_TIME(19,46,55.0,#29);
#29=COORDINATED_UNIVERSAL_TIME_OFFSET(8,$,.BEHIND.);
#30=DATE_TIME_ROLE('creation_date');
#61=CC_DESIGN_APPROVAL(#62,(#17));
#62=APPROVAL(#63,'Approved as STEP conformance testing drawing');
#63=APPROVAL_STATUS('approved');
#64=APPROVAL_DATE_TIME(#65,#62);
#65=DATE_AND_TIME(#66,#67);
#66=CALENDAR_DATE(1993,19,7);
#67=LOCAL_TIME(19,47,51.0,#29);
#77=APPROVAL_PERSON_ORGANIZATION(#70,#62,#79);
#79=APPROVAL_ROLE('Authorize product definition');
#80=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#81,#84,(#10,#1010));
#81=PERSON_AND_ORGANIZATION(#82,#83);
#82=PERSON('CDI-2','Dwaraka','B.',('K.'),$,$);
#83=ORGANIZATION('CDI','Contract Design, Inc.','Contract engineering organization.');
#84=PERSON_AND_ORGANIZATION_ROLE('design_supplier');
#88=SUPPLIED_PART_RELATIONSHIP('design','design supplier','The supplier provides detailed designs',#17,#1017);
#85=CC_DESIGN_CERTIFICATION(#86,(#88));
#86=CERTIFICATION('ISO-9000 certified design supplier','quality control',#87);
#87=CERTIFICATION_TYPE('design_supplier');
#89=CC_DESIGN_APPROVAL(#90,(#86));
#90=APPROVAL(#91,'Approved as ISO-9000 certified supplier');
#91=APPROVAL_STATUS('approved');
#92=APPROVAL_PERSON_ORGANIZATION(#70,#90,#93);
#93=APPROVAL_ROLE('Authorize supplier certification');
#94=DATE_AND_TIME(#95,#96);
#95=CALENDAR_DATE(1993,20,4);
#96=LOCAL_TIME(15,47,51.0,#29);
#97=APPROVAL_DATE_TIME(#94,#90);
#98=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#100,#102,(#86));
#99=CALENDAR_DATE(1993,19,4);
#100=DATE_AND_TIME(#99,#101);
#101=LOCAL_TIME(10,41,59.0,#29);
#102=DATE_TIME_ROLE('certification_date');
#1010=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('S-1','For Solid Cube with Parabola Face',#1,.MADE.);
#1011=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1013,#1016,(#1010));
#1013=PERSON_AND_ORGANIZATION(#1014,#83);
#1014=PERSON('CDI-1','Brandenberg','Chad',$,$,$);
#1016=PERSON_AND_ORGANIZATION_ROLE('creator');
#1044=CC_DESIGN_APPROVAL(#1045,(#1010));
#1045=APPROVAL(#1046,'Approved as test part design');
#1046=APPROVAL_STATUS('approved');
#1047=APPROVAL_DATE_TIME(#1048,#1045);
#1048=DATE_AND_TIME(#1050,#1051);
#1050=CALENDAR_DATE(1993,19,7);
#1051=LOCAL_TIME(19,51,59.0,#29);
#1069=APPROVAL_PERSON_ORGANIZATION(#1070,#1045,#1072);
#1070=PERSON_AND_ORGANIZATION(#82,#83);
#1072=APPROVAL_ROLE('Authorize part version');
#1031=CC_DESIGN_SECURITY_CLASSIFICATION(#1032,(#1010));
#1032=SECURITY_CLASSIFICATION('1993-C2','open availability of test part designs',#1033);
#1033=SECURITY_CLASSIFICATION_LEVEL('unclassified');
#1034=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#1035,#1039,(#1032));
#1035=DATE_AND_TIME(#1036,#1037);
#1036=CALENDAR_DATE(1993,19,7);
#1037=LOCAL_TIME(19,45,41.0,#29);
#1039=DATE_TIME_ROLE('classification_date');
#1040=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1041,#1043,(#1032));
#1041=PERSON_AND_ORGANIZATION(#1042,#83);
#1042=PERSON('CDI-3','Sauter','Mitch',$,$,$);
#1043=PERSON_AND_ORGANIZATION_ROLE('classification_officer');
#1053=CC_DESIGN_APPROVAL(#1054,(#1032));
#1054=APPROVAL(#1055,'Approved as unclassified part design');
#1055=APPROVAL_STATUS('approved');
#1056=APPROVAL_DATE_TIME(#1057,#1054);
#1057=DATE_AND_TIME(#1058,#1059);
#1058=CALENDAR_DATE(1993,19,7);
#1059=LOCAL_TIME(19,47,58.0,#29);
#1073=APPROVAL_PERSON_ORGANIZATION(#81,#1054,#1076);
#1076=APPROVAL_ROLE('Authorize the security code');
#1017=PRODUCT_DEFINITION('D2','Description of product for part 51114',#1010,#1018);
#1018=PRODUCT_DEFINITION_CONTEXT('detailed design',#3,'design');
#1019=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1013,#1023,(#1017));
#1023=PERSON_AND_ORGANIZATION_ROLE('creator');
#1024=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#1025,#1030,(#1017));
#1025=DATE_AND_TIME(#1027,#1028);
#1027=CALENDAR_DATE(1993,18,7);
#1028=LOCAL_TIME(10,51,59.0,#29);
#1030=DATE_TIME_ROLE('creation_date');
#1061=CC_DESIGN_APPROVAL(#1062,(#1017));
#1062=APPROVAL(#1063,'Approved as detailed drawing');
#1063=APPROVAL_STATUS('approved');
#1064=APPROVAL_DATE_TIME(#1065,#1062);
#1065=DATE_AND_TIME(#1066,#1067);
#1066=CALENDAR_DATE(1993,19,7);
#1067=LOCAL_TIME(19,51,59.0,#29);
#1077=APPROVAL_PERSON_ORGANIZATION(#81,#1062,#1079);
#1079=APPROVAL_ROLE('Authorize product definition');
#1200=SHAPE_DEFINITION_REPRESENTATION(#1201,#9260);
#1201=PRODUCT_DEFINITION_SHAPE('GBWR_Shape','Shape of Solid Cube with Parabola Face',#17);
#9040 =(LENGTH_UNIT()NAMED_UNIT(*)SI_UNIT(.MILLI.,.METRE.));
#9041 =(NAMED_UNIT(*)PLANE_ANGLE_UNIT()SI_UNIT($,.RADIAN.));
#9042 =(NAMED_UNIT(*)SI_UNIT($,.STERADIAN.)SOLID_ANGLE_UNIT());
#9043 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(0.000001),#9040,'xx','yy');
#9101 = DIRECTION('Dir1',(1.0,0.0,0.0));
#9102 = DIRECTION('Dir2',(0.0,1.0,0.0));
#9103 = DIRECTION('Dir3',(0.0,0.0,1.0));
#9105 = DIRECTION('Dir4',(0.0,-1.0,0.0));
#9111 = CARTESIAN_POINT('CartPt2',(0.0, 1.0, 0.0));
#9112 = CARTESIAN_POINT('CartPt3',(1.0, 1.0, 0.0));
#9113 = CARTESIAN_POINT('CartPt4',(1.0, 2.0, 0.0));
#9114 = CARTESIAN_POINT('CartPt5',(0.0, 2.0, 0.0));
#9115 = CARTESIAN_POINT('CartPt6',(0.0, 1.0, 1.0));
#9116 = CARTESIAN_POINT('CartPt7',(1.0, 1.0, 1.0));
#9117 = CARTESIAN_POINT('CartPt8',(1.0, 2.0, 1.0));
#9118 = CARTESIAN_POINT('CartPt9',(0.0, 2.0, 1.0));
#9120 = CARTESIAN_POINT('CartPt10',(0.5, 1.25, 0.0));
#9121 = AXIS2_PLACEMENT_3D('Ax2P3D1',#9120,$,#9105);
#9122 = PARABOLA('Parab1',#9121, 0.25);
#9123 = TRIMMED_CURVE('TrimCur1',#9122,(#9111),(#9112),.T.,.CARTESIAN.);
#9130 = CARTESIAN_POINT('CartPt11',(0.5, 1.25, 1.0));
#9131 = AXIS2_PLACEMENT_3D('Ax2P3D2',#9130,$,#9105);
#9132 = PARABOLA('Parab2',#9131, 0.25);
#9133 = TRIMMED_CURVE('TrimCur2',#9132,(#9115),(#9116),.F.,.CARTESIAN.);
#9140 = VECTOR('Vec1',#9103,10.0);
#9141 = LINE('Line1',#9111,#9140);
#9142 = TRIMMED_CURVE('TrimCur3',#9141,(#9111,0.0),(#9115,0.1),.T.,.PARAMETER.);
#9150 = LINE('Line2',#9112,#9140);
#9151 = TRIMMED_CURVE('TrimCur4',#9150,(#9112,0.0),(#9116,0.1),.T.,.PARAMETER.);
#9160 = LINE('Line3',#9113,#9140);
#9161 = TRIMMED_CURVE('TrimCur5',#9160,(#9113,0.0),(#9117,0.1),.T.,.PARAMETER.);
#9170 = LINE('Line4',#9114,#9140);
#9171 = TRIMMED_CURVE('TrimCur6',#9170,(#9114,0.0),(#9116,0.1),.T.,.PARAMETER.);
#9180 = VECTOR('Vec2',#9102,10.0);
#9181 = LINE('Line5',#9111,#9180);
#9182 = TRIMMED_CURVE('TrimCur7',#9181,(#9111,0.0),(#9114,0.1),.T.,.PARAMETER.);
#9190 = LINE('Line6',#9112,#9180);
#9191 = TRIMMED_CURVE('TrimCur8',#9190,(#9112,0.0),(#9113,0.1),.T.,.PARAMETER.);
#9200 = LINE('Line7',#9116,#9180);
#9201 = TRIMMED_CURVE('TrimCur9',#9200,(#9116,0.0),(#9117,0.1),.T.,.PARAMETER.);
#9210 = LINE('Line8',#9115,#9180);
#9211 = TRIMMED_CURVE('TrimCur10',#9210,(#9115,0.0),(#9118,0.1),.T.,.PARAMETER.);
#9220 = VECTOR('Vec3',#9101,10.0);
#9221 = LINE('Line9',#9114,#9220);
#9222 = TRIMMED_CURVE('TrimCur11',#9221,(#9114,0.0),(#9113,0.1),.T.,.PARAMETER.);
#9230 = LINE('Line10',#9118,#9220);
#9231 = TRIMMED_CURVE('TrimCur12',#9230,(#9118,0.0),(#9117,0.1),.T.,.PARAMETER.);
#9240 = GEOMETRIC_CURVE_SET('GeomCurSet1',(#9123,#9133,#9142,#9151,#9161,#9171,#9182,#9191,#9201,#9211,#9222,#9231));
#9250 = (GEOMETRIC_REPRESENTATION_CONTEXT(3)
GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#9043))
GLOBAL_UNIT_ASSIGNED_CONTEXT((#9040,#9041,#9042))
REPRESENTATION_CONTEXT('CONTEXT for gbwr test case cube with parabolic face','This is a 3d context using centimeters for linear dimension'));
#9260 = GEOMETRICALLY_BOUNDED_WIREFRAME_SHAPE_REPRESENTATION('xx',(#9240),#9250);
ENDSEC;
END-ISO-10303-21;

View file

@ -1,699 +0,0 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('STEP conformance test data','AP203 class 6 - abr'),'1');
FILE_NAME('g_r_assembly1.p21','1994-12-14 T10:00:00',
('S. Dhar','S. Jetli','M. McFarland','J. Kindrick'),
('Industrial Technology Institute',
'P.O. Box 1485',
'Ann Arbor',
'Michigan',
'48106'),'NIST Data Probe, Release March 1993','conformance test suite','K. H. Muralidhar');
FILE_SCHEMA(('CONFIG_CONTROL_DESIGN'));
ENDSEC;
DATA;
#1=PRODUCT('55555','Gasket Rod Assembly','Description for part 55555',(#2));
#2=MECHANICAL_CONTEXT('assembly specification',#3,'mechanical');
#3=APPLICATION_CONTEXT('Control the configuration of three dimensional design');
#300=APPLICATION_PROTOCOL_DEFINITION('AP definition status','config_control_design', 1994, #3);
#4=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#5,#8,(#1));
#5=PERSON_AND_ORGANIZATION(#6,#7);
#6=PERSON('307-10-5806','Muralidhar','K.',('H.'),$,$);
#7=ORGANIZATION('ITI-Michigan','Industrial Technology Institute','A not-for-profit engineering and research center');
#8=PERSON_AND_ORGANIZATION_ROLE('design_owner');
#9=PRODUCT_RELATED_PRODUCT_CATEGORY('assembly','Part Type for product 55555',(#1));
#10=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('A','Description of version with specified source for part 55555',#1,.BOUGHT.);
#11=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#13,#15,(#10));
#13=PERSON_AND_ORGANIZATION(#14,#7);
#14=PERSON('302-30-6149','Quadir','Nur',$,$,$);
#15=PERSON_AND_ORGANIZATION_ROLE('creator');
#44=CC_DESIGN_APPROVAL(#45,(#10));
#45=APPROVAL(#46,'Approved as initial STEP test case part');
#46=APPROVAL_STATUS('approved');
#47=APPROVAL_DATE_TIME(#48,#45);
#48=DATE_AND_TIME(#50,#51);
#50=CALENDAR_DATE(1993,17,7);
#51=LOCAL_TIME(13,29,52.0,#29);
#69=APPROVAL_PERSON_ORGANIZATION(#70,#45,#72);
#70=PERSON_AND_ORGANIZATION(#71,#7);
#71=PERSON('574-20-7069','Kindrick','James',$,$,$);
#72=APPROVAL_ROLE('Authorize part release');
#1251=CONFIGURATION_DESIGN(#1252,#10);
#1252=CONFIGURATION_ITEM('LX','name',$,#1253,'Concept Development');
#1350=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#13,#1351,(#1252));
#1351=PERSON_AND_ORGANIZATION_ROLE('configuration_manager');
#1253=PRODUCT_CONCEPT('Super Gasket','The Super Gasket machined standard part','The Super Gasket Line',#1254);
#1254=PRODUCT_CONCEPT_CONTEXT('structural gasket',#3,'market segment type');
#1255=CC_DESIGN_APPROVAL(#1256,(#1252));
#1256=APPROVAL(#1257,'Not yet approved product configuration');
#1257=APPROVAL_STATUS('not_yet_approved');
#1258=APPROVAL_PERSON_ORGANIZATION(#70,#1256,#1259);
#1259=APPROVAL_ROLE('approval for configuration item');
#1260=APPROVAL_DATE_TIME(#1261,#1256);
#1261=DATE_AND_TIME(#1264,#1263);
#1263=LOCAL_TIME(11,56,19.0,#29);
#1264=ORDINAL_DATE(1993,202) ;
#31=CC_DESIGN_SECURITY_CLASSIFICATION(#32,(#10));
#32=SECURITY_CLASSIFICATION('1993-C1','open availability of STEP test data',#33);
#33=SECURITY_CLASSIFICATION_LEVEL('unclassified');
#34=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#35,#39,(#32));
#35=DATE_AND_TIME(#36,#37);
#36=CALENDAR_DATE(1993,17,7);
#37=LOCAL_TIME(13,45,20.0,#29);
#39=DATE_TIME_ROLE('classification_date');
#40=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#41,#43,(#32));
#41=PERSON_AND_ORGANIZATION(#42,#7);
#42=PERSON('412-89-3456','Dhar','Shantanu',$,('Mr.'),$);
#43=PERSON_AND_ORGANIZATION_ROLE('classification_officer');
#53=CC_DESIGN_APPROVAL(#54,(#32));
#54=APPROVAL(#55,'Approved as unclassified step test data');
#55=APPROVAL_STATUS('approved');
#56=APPROVAL_DATE_TIME(#57,#54);
#57=DATE_AND_TIME(#58,#59);
#58=CALENDAR_DATE(1993,17,7);
#59=LOCAL_TIME(13,47,28.0,#29);
#73=APPROVAL_PERSON_ORGANIZATION(#74,#54,#76);
#74=PERSON_AND_ORGANIZATION(#75,#7);
#75=PERSON('525-94-5792','Matthews','Robert',('S.'),$,$);
#76=APPROVAL_ROLE('Authorize the security code');
#17=PRODUCT_DEFINITION('D1','Detailed drawing as planned for STEP conformance testing',#10,#18);
#18=DESIGN_CONTEXT('assembly specification',#3,'design');
#19=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#13,#23,(#17));
#23=PERSON_AND_ORGANIZATION_ROLE('creator');
#24=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#25,#30,(#17));
#25=DATE_AND_TIME(#27,#28);
#27=CALENDAR_DATE(1993,19,7);
#28=LOCAL_TIME(19,46,55.0,#29);
#29=COORDINATED_UNIVERSAL_TIME_OFFSET(8,$,.BEHIND.);
#30=DATE_TIME_ROLE('creation_date');
#61=CC_DESIGN_APPROVAL(#62,(#17));
#62=APPROVAL(#63,'Approved as STEP conformance testing drawing');
#63=APPROVAL_STATUS('approved');
#64=APPROVAL_DATE_TIME(#65,#62);
#65=DATE_AND_TIME(#66,#67);
#66=CALENDAR_DATE(1993,19,7);
#67=LOCAL_TIME(19,47,51.0,#29);
#77=APPROVAL_PERSON_ORGANIZATION(#70,#62,#79);
#79=APPROVAL_ROLE('Authorize product definition');
#80=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#81,#84,(#10,#1010));
#81=PERSON_AND_ORGANIZATION(#82,#83);
#82=PERSON('CDI-2','Dwaraka','B.',('K.'),$,$);
#83=ORGANIZATION('CDI','Contract Design, Inc.','Contract engineering organization');
#84=PERSON_AND_ORGANIZATION_ROLE('design_supplier');
#88=SUPPLIED_PART_RELATIONSHIP('design','design supplier','The supplier provides detailed designs',#17,#1017);
#85=CC_DESIGN_CERTIFICATION(#86,(#88));
#86=CERTIFICATION('ISO-9000 certified design supplier','quality control',#87);
#87=CERTIFICATION_TYPE('design_supplier');
#89=CC_DESIGN_APPROVAL(#90,(#86));
#90=APPROVAL(#91,'Approved as ISO-9000 certified supplier');
#91=APPROVAL_STATUS('approved');
#92=APPROVAL_PERSON_ORGANIZATION(#70,#90,#93);
#93=APPROVAL_ROLE('Authorize supplier certification');
#94=DATE_AND_TIME(#95,#96);
#95=CALENDAR_DATE(1993,20,4);
#96=LOCAL_TIME(15,47,51.0,#29);
#97=APPROVAL_DATE_TIME(#94,#90);
#98=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#100,#102,(#86));
#99=CALENDAR_DATE(1993,19,4);
#100=DATE_AND_TIME(#99,#101);
#101=LOCAL_TIME(10,41,59.0,#29);
#102=DATE_TIME_ROLE('certification_date');
#1010=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('S-1','For Gasket Rod Assembly',#1,.MADE.);
#1011=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1013,#1016,(#1010));
#1013=PERSON_AND_ORGANIZATION(#1014,#83);
#1014=PERSON('CDI-1','Brandenberg','Chad',$,$,$);
#1016=PERSON_AND_ORGANIZATION_ROLE('creator');
#1044=CC_DESIGN_APPROVAL(#1045,(#1010));
#1045=APPROVAL(#1046,'Approved as test part design');
#1046=APPROVAL_STATUS('approved');
#1047=APPROVAL_DATE_TIME(#1048,#1045);
#1048=DATE_AND_TIME(#1050,#1051);
#1050=CALENDAR_DATE(1993,19,7);
#1051=LOCAL_TIME(19,51,59.0,#29);
#1069=APPROVAL_PERSON_ORGANIZATION(#1070,#1045,#1072);
#1070=PERSON_AND_ORGANIZATION(#82,#83);
#1072=APPROVAL_ROLE('Authorize part version');
#1031=CC_DESIGN_SECURITY_CLASSIFICATION(#1032,(#1010));
#1032=SECURITY_CLASSIFICATION('1993-C2','open availability of test part designs',#1033);
#1033=SECURITY_CLASSIFICATION_LEVEL('unclassified');
#1034=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#1035,#1039,(#1032));
#1035=DATE_AND_TIME(#1036,#1037);
#1036=CALENDAR_DATE(1993,19,7);
#1037=LOCAL_TIME(19,45,41.0,#29);
#1039=DATE_TIME_ROLE('classification_date');
#1040=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1041,#1043,(#1032));
#1041=PERSON_AND_ORGANIZATION(#1042,#83);
#1042=PERSON('CDI-3','Sauter','Mitch',$,$,$);
#1043=PERSON_AND_ORGANIZATION_ROLE('classification_officer');
#1053=CC_DESIGN_APPROVAL(#1054,(#1032));
#1054=APPROVAL(#1055,'Approved as unclassified part design');
#1055=APPROVAL_STATUS('approved');
#1056=APPROVAL_DATE_TIME(#1057,#1054);
#1057=DATE_AND_TIME(#1058,#1059);
#1058=CALENDAR_DATE(1993,19,7);
#1059=LOCAL_TIME(19,47,58.0,#29);
#1073=APPROVAL_PERSON_ORGANIZATION(#81,#1054,#1076);
#1076=APPROVAL_ROLE('Authorize the security code');
#1017=PRODUCT_DEFINITION('D2','Detailed drawing',#1010,#1018);
#1018=DESIGN_CONTEXT('assembly specification',#3,'design');
#1019=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1013,#1023,(#1017));
#1023=PERSON_AND_ORGANIZATION_ROLE('creator');
#1024=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#1025,#1030,(#1017));
#1025=DATE_AND_TIME(#1027,#1028);
#1027=CALENDAR_DATE(1993,18,7);
#1028=LOCAL_TIME(10,51,59.0,#29);
#1030=DATE_TIME_ROLE('creation_date');
#1061=CC_DESIGN_APPROVAL(#1062,(#1017));
#1062=APPROVAL(#1063,'Approved as assembly specification');
#1063=APPROVAL_STATUS('approved');
#1064=APPROVAL_DATE_TIME(#1065,#1062);
#1065=DATE_AND_TIME(#1066,#1067);
#1066=CALENDAR_DATE(1993,19,7);
#1067=LOCAL_TIME(19,51,59.0,#29);
#1077=APPROVAL_PERSON_ORGANIZATION(#81,#1062,#1079);
#1079=APPROVAL_ROLE('Authorize product definition');
#3265=ASSEMBLY_COMPONENT_USAGE('1993-A1','component assembly relationship','assembly relationship of gasket rod assembly to flat ring gasket with holes',#17,#2017,$);
#3281=CC_DESIGN_SECURITY_CLASSIFICATION(#3282,(#3265));
#3282=SECURITY_CLASSIFICATION('1993-C5','open availability of STEP test data',#3283);
#3283=SECURITY_CLASSIFICATION_LEVEL('unclassified');
#3284=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#3285,#3289,(#3282));
#3285=DATE_AND_TIME(#3286,#3287);
#3286=CALENDAR_DATE(1993,19,7);
#3287=LOCAL_TIME(10,45,20.0,#29);
#3289=DATE_TIME_ROLE('classification_date');
#3290=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#41,#3292,(#3282));
#3292=PERSON_AND_ORGANIZATION_ROLE('classification_officer');
#3293=CC_DESIGN_APPROVAL(#3294,(#3282));
#3294=APPROVAL(#3295,'Approved as unclassified step test data');
#3295=APPROVAL_STATUS('approved');
#3296=APPROVAL_DATE_TIME(#3297,#3294);
#3297=DATE_AND_TIME(#3298,#3299);
#3298=CALENDAR_DATE(1993,19,7);
#3299=LOCAL_TIME(10,47,28.0,#29);
#3300=APPROVAL_PERSON_ORGANIZATION(#74,#3294,#3301);
#3301=APPROVAL_ROLE('Authorize the security code');
#2001=PRODUCT('21113','Flat Ring Gasket with Holes','Description for part 21113',(#2002));
#2002=MECHANICAL_CONTEXT('assembly specification',#3,'mechanical');
#2004=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#5,#2008,(#2001));
#2008=PERSON_AND_ORGANIZATION_ROLE('design_owner');
#2009=PRODUCT_RELATED_PRODUCT_CATEGORY('assembly','Part Type for product 21113',(#2001));
#2010=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('B','Description of version with specified source for part 21113',#2001,.BOUGHT.);
#2011=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#13,#2015,(#2010));
#2015=PERSON_AND_ORGANIZATION_ROLE('creator');
#2044=CC_DESIGN_APPROVAL(#2045,(#2010));
#2045=APPROVAL(#2046,'Approved as initial STEP test case part');
#2046=APPROVAL_STATUS('approved');
#2047=APPROVAL_DATE_TIME(#2048,#2045);
#2048=DATE_AND_TIME(#2050,#2051);
#2050=CALENDAR_DATE(1993,17,7);
#2051=LOCAL_TIME(13,29,52.0,#29);
#2069=APPROVAL_PERSON_ORGANIZATION(#70,#2045,#2072);
#2072=APPROVAL_ROLE('Authorize part release');
#2031=CC_DESIGN_SECURITY_CLASSIFICATION(#2032,(#2010));
#2032=SECURITY_CLASSIFICATION('1993-C3','open availability of STEP test data',#2033);
#2033=SECURITY_CLASSIFICATION_LEVEL('unclassified');
#2034=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#2035,#2039,(#2032));
#2035=DATE_AND_TIME(#2036,#2037);
#2036=CALENDAR_DATE(1993,17,7);
#2037=LOCAL_TIME(13,45,20.0,#29);
#2039=DATE_TIME_ROLE('classification_date');
#2040=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#41,#2043,(#2032));
#2043=PERSON_AND_ORGANIZATION_ROLE('classification_officer');
#2053=CC_DESIGN_APPROVAL(#2054,(#2032));
#2054=APPROVAL(#2055,'Approved as unclassified step test data');
#2055=APPROVAL_STATUS('approved');
#2056=APPROVAL_DATE_TIME(#2057,#2054);
#2057=DATE_AND_TIME(#2058,#2059);
#2058=CALENDAR_DATE(1993,17,7);
#2059=LOCAL_TIME(13,47,28.0,#29);
#2073=APPROVAL_PERSON_ORGANIZATION(#74,#2054,#2076);
#2076=APPROVAL_ROLE('Authorize the security code');
#2017=PRODUCT_DEFINITION('D3','Detailed drawing as planned for STEP conformance testing',#2010,#2018);
#2018=DESIGN_CONTEXT('assembly specification',#3,'design');
#2019=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#13,#2023,(#2017));
#2023=PERSON_AND_ORGANIZATION_ROLE('creator');
#2024=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#2025,#2030,(#2017));
#2025=DATE_AND_TIME(#2027,#2028);
#2027=CALENDAR_DATE(1993,19,7);
#2028=LOCAL_TIME(19,46,55.0,#29);
#2030=DATE_TIME_ROLE('creation_date');
#2061=CC_DESIGN_APPROVAL(#2062,(#2017));
#2062=APPROVAL(#2063,'Approved as STEP conformance testing drawing');
#2063=APPROVAL_STATUS('approved');
#2064=APPROVAL_DATE_TIME(#2065,#2062);
#2065=DATE_AND_TIME(#2066,#2067);
#2066=CALENDAR_DATE(1993,19,7);
#2067=LOCAL_TIME(19,47,51.0,#29);
#2077=APPROVAL_PERSON_ORGANIZATION(#70,#2062,#2079);
#2079=APPROVAL_ROLE('Authorize product definition');
#2080=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#81,#2084,(#2010,#3010));
#2084=PERSON_AND_ORGANIZATION_ROLE('design_supplier');
#2088=SUPPLIED_PART_RELATIONSHIP('design','design supplier','The supplier provides assembly specification',#2017,#3017);
#2085=CC_DESIGN_CERTIFICATION(#2086,(#2088));
#2086=CERTIFICATION('ISO-9000 certified design supplier','quality control',#2087);
#2087=CERTIFICATION_TYPE('design_supplier');
#2089=CC_DESIGN_APPROVAL(#2090,(#2086));
#2090=APPROVAL(#2091,'Approved as ISO-9000 certified supplier');
#2091=APPROVAL_STATUS('approved');
#2092=APPROVAL_PERSON_ORGANIZATION(#70,#2090,#2093);
#2093=APPROVAL_ROLE('Authorize supplier certification');
#2094=DATE_AND_TIME(#2095,#2096);
#2095=CALENDAR_DATE(1993,20,4);
#2096=LOCAL_TIME(15,47,51.0,#29);
#2097=APPROVAL_DATE_TIME(#2094,#2090);
#2098=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#2100,#2102,(#2086));
#2099=CALENDAR_DATE(1993,19,4);
#2100=DATE_AND_TIME(#2099,#2101);
#2101=LOCAL_TIME(10,41,59.0,#29);
#2102=DATE_TIME_ROLE('certification_date');
#3010=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('S-1','For Solid Square',#2001,.MADE.);
#3011=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1013,#3016,(#3010));
#3016=PERSON_AND_ORGANIZATION_ROLE('creator');
#3044=CC_DESIGN_APPROVAL(#3045,(#3010));
#3045=APPROVAL(#3046,'Approved as test part design');
#3046=APPROVAL_STATUS('approved');
#3047=APPROVAL_DATE_TIME(#3048,#3045);
#3048=DATE_AND_TIME(#3050,#3051);
#3050=CALENDAR_DATE(1993,19,7);
#3051=LOCAL_TIME(19,51,59.0,#29);
#3069=APPROVAL_PERSON_ORGANIZATION(#1070,#3045,#3072);
#3072=APPROVAL_ROLE('Authorize part version');
#3031=CC_DESIGN_SECURITY_CLASSIFICATION(#3032,(#3010));
#3032=SECURITY_CLASSIFICATION('1993-C4','open availability of test part designs',#3033);
#3033=SECURITY_CLASSIFICATION_LEVEL('unclassified');
#3034=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#3035,#3039,(#3032));
#3035=DATE_AND_TIME(#3036,#3037);
#3036=CALENDAR_DATE(1993,19,7);
#3037=LOCAL_TIME(19,45,41.0,#29);
#3039=DATE_TIME_ROLE('classification_date');
#3040=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1041,#3043,(#3032));
#3043=PERSON_AND_ORGANIZATION_ROLE('classification_officer');
#3053=CC_DESIGN_APPROVAL(#3054,(#3032));
#3054=APPROVAL(#3055,'Approved as unclassified part design');
#3055=APPROVAL_STATUS('approved');
#3056=APPROVAL_DATE_TIME(#3057,#3054);
#3057=DATE_AND_TIME(#3058,#3059);
#3058=CALENDAR_DATE(1993,19,7);
#3059=LOCAL_TIME(19,47,58.0,#29);
#3073=APPROVAL_PERSON_ORGANIZATION(#81,#3054,#3076);
#3076=APPROVAL_ROLE('Authorize the security code');
#3017=PRODUCT_DEFINITION('D4','Detailed drawing',#3010,#3018);
#3018=DESIGN_CONTEXT('assembly specification',#3,'design');
#3019=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1013,#3023,(#3017));
#3023=PERSON_AND_ORGANIZATION_ROLE('creator');
#3024=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#3025,#3030,(#3017));
#3025=DATE_AND_TIME(#3027,#3028);
#3027=CALENDAR_DATE(1993,18,7);
#3028=LOCAL_TIME(10,51,59.0,#29);
#3030=DATE_TIME_ROLE('creation_date');
#3061=CC_DESIGN_APPROVAL(#3062,(#3017));
#3062=APPROVAL(#3063,'Approved as assembly specification');
#3063=APPROVAL_STATUS('approved');
#3064=APPROVAL_DATE_TIME(#3065,#3062);
#3065=DATE_AND_TIME(#3066,#3067);
#3066=CALENDAR_DATE(1993,19,7);
#3067=LOCAL_TIME(19,51,59.0,#29);
#3077=APPROVAL_PERSON_ORGANIZATION(#81,#3062,#3079);
#3079=APPROVAL_ROLE('Authorize product definition');
#5265=(ASSEMBLY_COMPONENT_USAGE('designator 5')
NEXT_ASSEMBLY_USAGE_OCCURRENCE()
PRODUCT_DEFINITION_RELATIONSHIP('1993-N2','next assembly relationship','next occurance assembly relationship of flat ring gasket with holes to rod with conical tip',#2017,#4017)
PRODUCT_DEFINITION_USAGE()
QUANTIFIED_ASSEMBLY_COMPONENT_USAGE(#5305));
#5305=MEASURE_WITH_UNIT(COUNT_MEASURE(4),#5306);
#5306=CONTEXT_DEPENDENT_UNIT(#5307,'parts');
#5307=DIMENSIONAL_EXPONENTS(0.0,0.0,0.0,0.0,0.0,0.0,0.0);
#5281=CC_DESIGN_SECURITY_CLASSIFICATION(#5282,(#5265));
#5282=SECURITY_CLASSIFICATION('1993-C8','open availability of STEP test data',#5283);
#5283=SECURITY_CLASSIFICATION_LEVEL('unclassified');
#5284=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#5285,#5289,(#5282));
#5285=DATE_AND_TIME(#5286,#5287);
#5286=CALENDAR_DATE(1993,19,7);
#5287=LOCAL_TIME(10,45,20.0,#29);
#5289=DATE_TIME_ROLE('classification_date');
#5290=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#41,#5292,(#5282));
#5292=PERSON_AND_ORGANIZATION_ROLE('classification_officer');
#5293=CC_DESIGN_APPROVAL(#5294,(#5282));
#5294=APPROVAL(#5295,'Approved as unclassified step test data');
#5295=APPROVAL_STATUS('approved');
#5296=APPROVAL_DATE_TIME(#5297,#5294);
#5297=DATE_AND_TIME(#5298,#5299);
#5298=CALENDAR_DATE(1993,19,7);
#5299=LOCAL_TIME(10,47,28.0,#29);
#5300=APPROVAL_PERSON_ORGANIZATION(#74,#5294,#5301);
#5301=APPROVAL_ROLE('Authorize the security code');
#4001=PRODUCT('41113','Rod with Conical Tip','Description for part 41113',(#4002));
#4002=MECHANICAL_CONTEXT('assembly specification',#3,'mechanical');
#4004=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#5,#4008,(#4001));
#4008=PERSON_AND_ORGANIZATION_ROLE('design_owner');
#4009=PRODUCT_RELATED_PRODUCT_CATEGORY('detail','Part Type for product 41113',(#4001));
#4010=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('B','Description of version with specified source for part 41113',#4001,.BOUGHT.);
#4011=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#13,#4015,(#4010));
#4015=PERSON_AND_ORGANIZATION_ROLE('creator');
#4044=CC_DESIGN_APPROVAL(#4045,(#4010));
#4045=APPROVAL(#4046,'Approved as initial STEP test case part');
#4046=APPROVAL_STATUS('approved');
#4047=APPROVAL_DATE_TIME(#4048,#4045);
#4048=DATE_AND_TIME(#4050,#4051);
#4050=CALENDAR_DATE(1993,17,7);
#4051=LOCAL_TIME(13,29,52.0,#29);
#4069=APPROVAL_PERSON_ORGANIZATION(#70,#4045,#4072);
#4072=APPROVAL_ROLE('Authorize part release');
#4031=CC_DESIGN_SECURITY_CLASSIFICATION(#4032,(#4010));
#4032=SECURITY_CLASSIFICATION('1993-C6','open availability of STEP test data',#4033);
#4033=SECURITY_CLASSIFICATION_LEVEL('unclassified');
#4034=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#4035,#4039,(#4032));
#4035=DATE_AND_TIME(#4036,#4037);
#4036=CALENDAR_DATE(1993,17,7);
#4037=LOCAL_TIME(13,45,20.0,#29);
#4039=DATE_TIME_ROLE('classification_date');
#4040=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#41,#4043,(#4032));
#4043=PERSON_AND_ORGANIZATION_ROLE('classification_officer');
#4053=CC_DESIGN_APPROVAL(#4054,(#4032));
#4054=APPROVAL(#4055,'Approved as unclassified step test data');
#4055=APPROVAL_STATUS('approved');
#4056=APPROVAL_DATE_TIME(#4057,#4054);
#4057=DATE_AND_TIME(#4058,#4059);
#4058=CALENDAR_DATE(1993,17,7);
#4059=LOCAL_TIME(13,47,28.0,#29);
#4073=APPROVAL_PERSON_ORGANIZATION(#74,#4054,#4076);
#4076=APPROVAL_ROLE('Authorize the security code');
#4017=PRODUCT_DEFINITION('D5','Detailed drawing as planned for STEP conformance testing',#4010,#4018);
#4018=DESIGN_CONTEXT('assembly specification',#3,'design');
#4019=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#13,#4023,(#4017));
#4023=PERSON_AND_ORGANIZATION_ROLE('creator');
#4024=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#4025,#4030,(#4017));
#4025=DATE_AND_TIME(#4027,#4028);
#4027=CALENDAR_DATE(1993,19,7);
#4028=LOCAL_TIME(19,46,55.0,#29);
#4030=DATE_TIME_ROLE('creation_date');
#4061=CC_DESIGN_APPROVAL(#4062,(#4017));
#4062=APPROVAL(#4063,'Approved as STEP conformance testing drawing');
#4063=APPROVAL_STATUS('approved');
#4064=APPROVAL_DATE_TIME(#4065,#4062);
#4065=DATE_AND_TIME(#4066,#4067);
#4066=CALENDAR_DATE(1993,19,7);
#4067=LOCAL_TIME(19,47,51.0,#29);
#4077=APPROVAL_PERSON_ORGANIZATION(#70,#4062,#4079);
#4079=APPROVAL_ROLE('Authorize product definition');
#4080=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#81,#4084,(#4010,#5010));
#4084=PERSON_AND_ORGANIZATION_ROLE('design_supplier');
#4088=SUPPLIED_PART_RELATIONSHIP('design','design supplier','The supplier provides assembly specification',#4017,#5017);
#4085=CC_DESIGN_CERTIFICATION(#4086,(#4088));
#4086=CERTIFICATION('ISO-9000 certified design supplier','quality control',#4087);
#4087=CERTIFICATION_TYPE('design_supplier');
#4089=CC_DESIGN_APPROVAL(#4090,(#4086));
#4090=APPROVAL(#4091,'Approved as ISO-9000 certified supplier');
#4091=APPROVAL_STATUS('approved');
#4092=APPROVAL_PERSON_ORGANIZATION(#70,#4090,#4093);
#4093=APPROVAL_ROLE('Authorize supplier certification');
#4094=DATE_AND_TIME(#4095,#4096);
#4095=CALENDAR_DATE(1993,20,4);
#4096=LOCAL_TIME(15,47,51.0,#29);
#4097=APPROVAL_DATE_TIME(#4094,#4090);
#4098=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#4100,#4102,(#4086));
#4099=CALENDAR_DATE(1993,19,4);
#4100=DATE_AND_TIME(#4099,#4101);
#4101=LOCAL_TIME(10,41,59.0,#29);
#4102=DATE_TIME_ROLE('certification_date');
#5010=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('S-1','For Rod with Conical Tip',#4001,.MADE.);
#5011=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1013,#5016,(#5010));
#5016=PERSON_AND_ORGANIZATION_ROLE('creator');
#5044=CC_DESIGN_APPROVAL(#5045,(#5010));
#5045=APPROVAL(#5046,'Approved as test part design');
#5046=APPROVAL_STATUS('approved');
#5047=APPROVAL_DATE_TIME(#5048,#5045);
#5048=DATE_AND_TIME(#5050,#5051);
#5050=CALENDAR_DATE(1993,19,7);
#5051=LOCAL_TIME(19,51,59.0,#29);
#5069=APPROVAL_PERSON_ORGANIZATION(#1070,#5045,#5072);
#5072=APPROVAL_ROLE('Authorize part version');
#5031=CC_DESIGN_SECURITY_CLASSIFICATION(#5032,(#5010));
#5032=SECURITY_CLASSIFICATION('1993-C7','open availability of test part designs',#5033);
#5033=SECURITY_CLASSIFICATION_LEVEL('unclassified');
#5034=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#5035,#5039,(#5032));
#5035=DATE_AND_TIME(#5036,#5037);
#5036=CALENDAR_DATE(1993,19,7);
#5037=LOCAL_TIME(19,45,41.0,#29);
#5039=DATE_TIME_ROLE('classification_date');
#5040=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1041,#5043,(#5032));
#5043=PERSON_AND_ORGANIZATION_ROLE('classification_officer');
#5053=CC_DESIGN_APPROVAL(#5054,(#5032));
#5054=APPROVAL(#5055,'Approved as unclassified part design');
#5055=APPROVAL_STATUS('approved');
#5056=APPROVAL_DATE_TIME(#5057,#5054);
#5057=DATE_AND_TIME(#5058,#5059);
#5058=CALENDAR_DATE(1993,19,7);
#5059=LOCAL_TIME(19,47,58.0,#29);
#5073=APPROVAL_PERSON_ORGANIZATION(#81,#5054,#5076);
#5076=APPROVAL_ROLE('Authorize the security code');
#5017=PRODUCT_DEFINITION('D6','Detailed drawing',#5010,#5018);
#5018=DESIGN_CONTEXT('assembly specification',#3,'design');
#5019=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1013,#5023,(#5017));
#5023=PERSON_AND_ORGANIZATION_ROLE('creator');
#5024=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#5025,#5030,(#5017));
#5025=DATE_AND_TIME(#5027,#5028);
#5027=CALENDAR_DATE(1993,18,7);
#5028=LOCAL_TIME(10,51,59.0,#29);
#5030=DATE_TIME_ROLE('creation_date');
#5061=CC_DESIGN_APPROVAL(#5062,(#5017));
#5062=APPROVAL(#5063,'Approved as assembly specification');
#5063=APPROVAL_STATUS('approved');
#5064=APPROVAL_DATE_TIME(#5065,#5062);
#5065=DATE_AND_TIME(#5066,#5067);
#5066=CALENDAR_DATE(1993,19,7);
#5067=LOCAL_TIME(19,51,59.0,#29);
#5077=APPROVAL_PERSON_ORGANIZATION(#81,#5062,#5079);
#5079=APPROVAL_ROLE('Authorize product definition');
/* component assembly position : method 1 */
#1211=PRODUCT_DEFINITION_SHAPE('ABR_Shape','Shape relationship between gasket and rod',#5265);
#1210=CONTEXT_DEPENDENT_SHAPE_REPRESENTATION(#1212,#1211);
#1212=( REPRESENTATION_RELATIONSHIP('label','description',#9370,#10370)
REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#1213)
SHAPE_REPRESENTATION_RELATIONSHIP());
#1213=ITEM_DEFINED_TRANSFORMATION('name','description',#9211,#9120);
#1214=CONTEXT_DEPENDENT_SHAPE_REPRESENTATION(#1216,#1211);
#1216=(REPRESENTATION_RELATIONSHIP('label','description',#9370,#10370)
REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#1217)
SHAPE_REPRESENTATION_RELATIONSHIP());
#1217=ITEM_DEFINED_TRANSFORMATION('name','description',#9241,#9120);
#1218=CONTEXT_DEPENDENT_SHAPE_REPRESENTATION(#1220,#1211);
#1220=(REPRESENTATION_RELATIONSHIP('label','description',#9370,#10370)
REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#1221)
SHAPE_REPRESENTATION_RELATIONSHIP());
#1221=ITEM_DEFINED_TRANSFORMATION('name','description',#9271,#9120);
#1222=CONTEXT_DEPENDENT_SHAPE_REPRESENTATION(#1224,#1211);
#1224=(REPRESENTATION_RELATIONSHIP('label','description',#9370,#10370)
REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#1225)
SHAPE_REPRESENTATION_RELATIONSHIP());
#1225=ITEM_DEFINED_TRANSFORMATION('name','description',#9301,#9120);
/* component assembly position : method 2 */
#1230=MAPPED_ITEM('MapPath1',#1234,#9211);
#1231=MAPPED_ITEM('MapPath2',#1234,#9241);
#1232=MAPPED_ITEM('MapPath3',#1234,#9271);
#1233=MAPPED_ITEM('MapPath4',#1234,#9301);
#1234=REPRESENTATION_MAP(#9120,#10370);
#9020=DIMENSIONAL_EXPONENTS(1.0,0.0,0.0,0.0,0.0,0.0,0.0);
#9021=DIMENSIONAL_EXPONENTS(0.0,0.0,0.0,0.0,0.0,0.0,0.0);
#9040 =(LENGTH_UNIT()NAMED_UNIT(*)SI_UNIT(.MILLI.,.METRE.));
#9041 =(NAMED_UNIT(*)PLANE_ANGLE_UNIT()SI_UNIT($,.RADIAN.));
#9042 =(NAMED_UNIT(*)SI_UNIT($,.STERADIAN.)SOLID_ANGLE_UNIT());
#9043 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(0.000001),#9040,'xx','yy');
#9100 = CARTESIAN_POINT('CartPt1',(0.0,0.0,0.0));
#9101 = DIRECTION('Dir1',(0.1,0.0,0.0));
#9103 = DIRECTION('Dir3',(0.0,0.0,1.0));
#9120 = AXIS2_PLACEMENT_3D('Ax2P3D1',#9100,#9103,#9101);
#9121 = PLANE('Plane1',#9120);
#9122 = CIRCLE('Circ1',#9120,40.0);
#9123 = CARTESIAN_POINT('CartPt2',(40.0,0.0,0.0));
#9124 = VERTEX_POINT('VertPt1',#9123);
#9125 = EDGE_CURVE('EdgeCur1',#9124,#9124,#9122,.T.);
#9126 = ORIENTED_EDGE('OriEdge1',*,*,#9125,.T.);
#9127 = EDGE_LOOP('EdgeLoop1',(#9126));
#9128 = FACE_BOUND('FaceBnd1',#9127,.F.);
#9130 = CIRCLE('Circ2',#9120,25.0);
#9131 = CARTESIAN_POINT('CartPt3',(25.0,0.0,0.0));
#9132 = VERTEX_POINT('VertPt2',#9131);
#9133 = EDGE_CURVE('EdgeCur2',#9132,#9132,#9130,.T.);
#9134 = ORIENTED_EDGE('OriEdge2',*,*,#9133,.T.);
#9135 = EDGE_LOOP('EdgeLoop2',(#9134));
#9136 = FACE_BOUND('FaceBnd2',#9135,.T.);
#9140 = CARTESIAN_POINT('CartPt4',(0.0,0.0,5.0));
#9141 = AXIS2_PLACEMENT_3D('Ax2P3D2',#9140,#9103,#9101);
#9142 = PLANE('Plane2',#9141);
#9143 = CIRCLE('Circ3',#9141,40.0);
#9144 = CARTESIAN_POINT('CartPt5',(40.0,0.0,5.0));
#9145 = VERTEX_POINT('VertPt3',#9144);
#9146 = EDGE_CURVE('EdgeCur3',#9145,#9145,#9143,.T.);
#9147 = ORIENTED_EDGE('OriEdge3',*,*,#9146,.T.);
#9148 = EDGE_LOOP('EdgeLoop3',(#9147));
#9149 = FACE_BOUND('FaceBnd3',#9148,.T.);
#9160 = CIRCLE('Circ4',#9141,25.0);
#9161 = CARTESIAN_POINT('CartPt6',(25.0,0.0,5.0));
#9162 = VERTEX_POINT('VertPt4',#9161);
#9163 = EDGE_CURVE('EdgeCur4',#9162,#9162,#9160,.T.);
#9164 = ORIENTED_EDGE('OriEdge4',*,*,#9163,.T.);
#9165 = EDGE_LOOP('EdgeLoop4',(#9164));
#9166 = FACE_BOUND('FaceBnd4',#9165,.F.);
#9180 = CYLINDRICAL_SURFACE('CylSur1',#9120,40.0);
#9190 = FACE_BOUND('FaceBnd5',#9127,.T.);
#9191 = FACE_BOUND('FaceBnd6',#9148,.F.);
#9192 = ADVANCED_FACE('AdvFace1',(#9190,#9191),#9180,.T.);
#9200 = CYLINDRICAL_SURFACE('CylSur2',#9120,25.0);
#9201 = FACE_BOUND('FaceBnd7',#9135,.F.);
#9202 = FACE_BOUND('FaceBnd8',#9165,.T.);
#9203 = ADVANCED_FACE('AdvFace2',(#9201,#9202),#9200,.F.);
#9210 = CARTESIAN_POINT('CartPt7',(0.0,32.5,0.0));
#9211 = AXIS2_PLACEMENT_3D('Ax2P3D3',#9210,#9103,#9101);
#9212 = CIRCLE('Circ5',#9211,2.5);
#9213 = CARTESIAN_POINT('CartPt8',(2.5,32.5,0.0));
#9214 = VERTEX_POINT('VertPt5',#9213);
#9215 = EDGE_CURVE('EdgeCur5',#9214,#9214,#9212,.T.);
#9216 = ORIENTED_EDGE('OriEdge5',*,*,#9215,.T.);
#9217 = EDGE_LOOP('EdgeLoop5',(#9216));
#9218 = FACE_BOUND('FaceBnd9',#9217,.F.);
#9219 = FACE_BOUND('FaceBnd10',#9217,.T.);
#9220 = CARTESIAN_POINT('CartPt9',(0.0,32.5,5.0));
#9221 = AXIS2_PLACEMENT_3D('Ax2P3D4',#9220,#9103,#9101);
#9222 = CIRCLE('Circ6',#9221,5.0);
#9223 = CARTESIAN_POINT('CartPt10',(5.0,32.5,5.0));
#9224 = VERTEX_POINT('VertPt6',#9223);
#9225 = EDGE_CURVE('EdgeCur6',#9224,#9224,#9222,.T.);
#9226 = ORIENTED_EDGE('OriEdge6',*,*,#9225,.T.);
#9227 = EDGE_LOOP('EdgeLoop6',(#9226));
#9228 = FACE_BOUND('FaceBnd11',#9227,.T.);
#9229 = FACE_BOUND('FaceBnd12',#9227,.F.);
#9230 = CONICAL_SURFACE('ConSur1',#9211,2.5,0.46364761);
#9231 = ADVANCED_FACE('AdvFace3',(#9218,#9228),#9230,.F.);
#9240 = CARTESIAN_POINT('CartPt11',(32.5,0.0,0.0));
#9241 = AXIS2_PLACEMENT_3D('Ax2P3D5',#9240,#9103,#9101);
#9242 = CIRCLE('Circ7',#9241,2.5);
#9243 = CARTESIAN_POINT('CartPt12',(35.0,0.0,0.0));
#9244 = VERTEX_POINT('VertPt7',#9243);
#9245 = EDGE_CURVE('EdgeCur7',#9244,#9244,#9242,.T.);
#9246 = ORIENTED_EDGE('OriEdge7',*,*,#9245,.T.);
#9247 = EDGE_LOOP('EdgeLoop7',(#9246));
#9248 = FACE_BOUND('FaceBnd13',#9247,.F.);
#9249 = FACE_BOUND('FaceBnd14',#9247,.T.);
#9250 = CARTESIAN_POINT('CartPt13',(32.5,0.0,5.0));
#9251 = AXIS2_PLACEMENT_3D('Ax2P3D6',#9250,#9103,#9101);
#9252 = CIRCLE('Circ8',#9251,5.0);
#9253 = CARTESIAN_POINT('CartPt14',(37.5,0.0,5.0));
#9254 = VERTEX_POINT('VertPt8',#9253);
#9255 = EDGE_CURVE('EdgeCur8',#9254,#9254,#9252,.T.);
#9256 = ORIENTED_EDGE('OriEdge8',*,*,#9255,.T.);
#9257 = EDGE_LOOP('EdgeLoop8',(#9256));
#9258 = FACE_BOUND('FaceBnd15',#9257,.T.);
#9259 = FACE_BOUND('FaceBnd16',#9257,.F.);
#9260 = CONICAL_SURFACE('ConSur2',#9241,2.5,0.46364761);
#9261 = ADVANCED_FACE('AdvFace4',(#9248,#9258),#9260,.F.);
#9270 = CARTESIAN_POINT('CartPt15',(0.0,-32.5,0.0));
#9271 = AXIS2_PLACEMENT_3D('Ax2P3D7',#9270,#9103,#9101);
#9272 = CIRCLE('Circ9',#9271,2.5);
#9273 = CARTESIAN_POINT('CartPt16',(2.5,-32.5,0.0));
#9274 = VERTEX_POINT('VertPt9',#9273);
#9275 = EDGE_CURVE('EdgeCur9',#9274,#9274,#9272,.T.);
#9276 = ORIENTED_EDGE('OriEdge9',*,*,#9275,.T.);
#9277 = EDGE_LOOP('EdgeLoop9',(#9276));
#9278 = FACE_BOUND('FaceBnd17',#9277,.F.);
#9279 = FACE_BOUND('FaceBnd18',#9277,.T.);
#9280 = CARTESIAN_POINT('CartPt17',(0.0,-32.5,5.0));
#9281 = AXIS2_PLACEMENT_3D('Ax2P3D8',#9280,#9103,#9101);
#9282 = CIRCLE('Circ10',#9281,5.0);
#9283 = CARTESIAN_POINT('CartPt18',(5.0,-32.5,5.0));
#9284 = VERTEX_POINT('VertPt10',#9283);
#9285 = EDGE_CURVE('EdgeCur10',#9284,#9284,#9282,.T.);
#9286 = ORIENTED_EDGE('OriEdge10',*,*,#9285,.T.);
#9287 = EDGE_LOOP('EdgeLoop10',(#9286));
#9288 = FACE_BOUND('FaceBnd19',#9287,.T.);
#9289 = FACE_BOUND('FaceBnd20',#9287,.F.);
#9290 = CONICAL_SURFACE('ConSur3',#9271,2.5,0.46364761);
#9291 = ADVANCED_FACE('AdvFace5',(#9278,#9288),#9290,.F.);
#9300 = CARTESIAN_POINT('CartPt19',(-32.5,0.0,0.0));
#9301 = AXIS2_PLACEMENT_3D('Ax2P3D9',#9300,#9103,#9101);
#9302 = CIRCLE('Circ11',#9301,2.5);
#9303 = CARTESIAN_POINT('CartPt20',(-30.0,0.0,0.0));
#9304 = VERTEX_POINT('VertPt11',#9303);
#9305 = EDGE_CURVE('EdgeCur11',#9304,#9304,#9302,.T.);
#9306 = ORIENTED_EDGE('OriEdge11',*,*,#9305,.T.);
#9307 = EDGE_LOOP('EdgeLoop11',(#9306));
#9308 = FACE_BOUND('FaceBnd21',#9307,.F.);
#9309 = FACE_BOUND('FaceBnd22',#9307,.T.);
#9310 = CARTESIAN_POINT('CartPt21',(-32.5,0.0,5.0));
#9311 = AXIS2_PLACEMENT_3D('Ax2P3D10',#9310,#9103,#9101);
#9312 = CIRCLE('Circ12',#9311,5.0);
#9313 = CARTESIAN_POINT('CartPt22',(37.5,0.0,5.0));
#9314 = VERTEX_POINT('VertPt12',#9313);
#9315 = EDGE_CURVE('EdgeCur12',#9314,#9314,#9312,.T.);
#9316 = ORIENTED_EDGE('OriEdge12',*,*,#9315,.T.);
#9317 = EDGE_LOOP('EdgeLoop12',(#9316));
#9318 = FACE_BOUND('FaceBnd23',#9317,.T.);
#9319 = FACE_BOUND('FaceBnd24',#9317,.F.);
#9320 = CONICAL_SURFACE('ConSur4',#9301,2.5,0.46364761);
#9321 = ADVANCED_FACE('AdvFace6',(#9308,#9318),#9320,.F.);
#9325 = ADVANCED_FACE('AdvFace7',(#9128,#9136,#9219,#9249,#9279,#9309),#9121,.F.);
#9326 = ADVANCED_FACE('AdvFace8',(#9149,#9166,#9229,#9259,#9289,#9319),#9142,.T.);
#9350 = CLOSED_SHELL('CloseSh1',(#9192,#9203,#9231,#9261,#9291,#9321,#9325,#9326));
#9351 = MANIFOLD_SOLID_BREP('ManSolBrep1',#9350);
#9360 = (GEOMETRIC_REPRESENTATION_CONTEXT(3)GLOBAL_UNIT_ASSIGNED_CONTEXT((#9040,#9041,#9042))REPRESENTATION_CONTEXT('CONTEXT for advanced brep test case gasket with conical holes','This is a 3d context using millimeters for linear dimension'));
#9370 = ADVANCED_BREP_SHAPE_REPRESENTATION('ABShapeRep1',(#9351,#1230,#1231,#1232,#1233),#9360);
#10121 = PLANE('Plane3',#9120);
#10122 = CIRCLE('Circ13',#9120,2.5);
#10123 = CARTESIAN_POINT('CartPt23',(2.5,0.0,0.0));
#10124 = VERTEX_POINT('VertPt13',#10123);
#10125 = EDGE_CURVE('EdgeCur13',#10124,#10124,#10122,.T.);
#10126 = ORIENTED_EDGE('OriEdge13',*,*,#10125,.T.);
#10127 = EDGE_LOOP('EdgeLoop13',(#10126));
#10128 = FACE_BOUND('FaceBnd25',#10127,.F.);
#10130 = ADVANCED_FACE('AdvFace9',(#10128),#10121,.F.);
#10140 = CARTESIAN_POINT('CartPt24',(0.0,0.0,5.0));
#10141 = AXIS2_PLACEMENT_3D('Ax2P3D11',#10140,#9103,#9101);
#10143 = CIRCLE('Circ14',#10141,5.0);
#10144 = CARTESIAN_POINT('CartPt25',(5.0,0.0,5.0));
#10145 = VERTEX_POINT('VertPt14',#10144);
#10146 = EDGE_CURVE('EdgeCur14',#10145,#10145,#10143,.T.);
#10147 = ORIENTED_EDGE('OriEdge14',*,*,#10146,.F.);
#10148 = EDGE_LOOP('EdgeLoop14',(#10147));
#10149 = FACE_BOUND('FaceBnd26',#10148,.T.);
#10150 = FACE_BOUND('FaceBnd27',#10127,.T.);
#10160 = CONICAL_SURFACE('ConSur5',#9120,2.5,0.46364761);
#10170 = ADVANCED_FACE('AdvFace10',(#10149,#10150),#10160,.T.);
#10180 = CARTESIAN_POINT('CartPt26',(0.0,0.0,50.0));
#10181 = AXIS2_PLACEMENT_3D('Ax2P3D12',#10180,#9103,#9101);
#10182 = CIRCLE('Circ15',#10181,5.0);
#10183 = CARTESIAN_POINT('CartPt27',(5.0,0.0,50.0));
#10184 = VERTEX_POINT('VertPt15',#10183);
#10185 = EDGE_CURVE('EdgeCur15',#10184,#10184,#10182,.T.);
#10186 = ORIENTED_EDGE('OriEdge15',*,*,#10185,.F.);
#10187 = EDGE_LOOP('EdgeLoop15',(#10186));
#10188 = FACE_BOUND('FaceBnd28',#10187,.T.);
#10190 = FACE_BOUND('FaceBnd29',#10148,.F.);
#10200 = CYLINDRICAL_SURFACE('CylSur3',#10141,5.0);
#10210 = ADVANCED_FACE('AdvFace11',(#10188,#10190),#10200,.T.);
#10211 = PLANE('Plane4',#10181);
#10212 = FACE_BOUND('FaceBnd30',#10187,.F.);
#10213 = ADVANCED_FACE('AdvFace12',(#10212),#10211,.T.);
#10230 = PLANE('Plane5',#10141);
#10232 = ADVANCED_FACE('AdvFace13',(#10190),#10230,.T.);
#10233 = ADVANCED_FACE('AdvFace14',(#10149),#10230,.F.);
#10240 = CLOSED_SHELL('CloseSh2',(#10130,#10170,#10232));
#10250 = CLOSED_SHELL('CloseSh3',(#10233,#10210,#10213));
#10260 = MANIFOLD_SOLID_BREP('ManSolBrep2',#10240);
#10270 = MANIFOLD_SOLID_BREP('ManSolBrep3',#10250);
#10360 = (GEOMETRIC_REPRESENTATION_CONTEXT(3)
GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#9043))
GLOBAL_UNIT_ASSIGNED_CONTEXT((#9040,#9041,#9042))
REPRESENTATION_CONTEXT('CONTEXT for advanced brep test case rod with conical tip aspect','This is a 3d context using millimeters for linear dimension'));
#10370 = ADVANCED_BREP_SHAPE_REPRESENTATION('ABShapeRep2',(#10260,#10270),#10360);
ENDSEC;
END-ISO-10303-21;

View file

@ -1,220 +0,0 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('STEP conformance test data','AP203 class 6 - advanced brep'),'1');
FILE_NAME('gasket1.p21','1994-12-14 T10:00:00',
('S. Dhar','S. Jetli','M. McFarland','J. Kindrick'),
('Industrial Technology Institute',
'P.O. Box 1485',
'Ann Arbor',
'Michigan',
'48106'),'NIST Data Probe, Release March 1993','conformance test suite','K. H. Muralidhar');
FILE_SCHEMA(('CONFIG_CONTROL_DESIGN'));
ENDSEC;
DATA;
#1=PRODUCT('11113','Flat Ring Gasket','Description for part 11113',(#2));
#2=MECHANICAL_CONTEXT('detailed design',#3,'mechanical');
#3=APPLICATION_CONTEXT('Control the configuration of three dimensional design');
#300=APPLICATION_PROTOCOL_DEFINITION('AP definition status','config_control_design', 1994, #3);
#4=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#5,#8,(#1));
#5=PERSON_AND_ORGANIZATION(#6,#7);
#6=PERSON('307-10-5806','Muralidhar','K.',('H.'),$,$);
#7=ORGANIZATION('ITI-Michigan','Industrial Technology Institute','A not-for-profit engineering and research center');
#8=PERSON_AND_ORGANIZATION_ROLE('design_owner');
#9=PRODUCT_RELATED_PRODUCT_CATEGORY('detail','Part Type for product 11113',(#1));
#10=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('A','Description of version with specified source for part 11113',#1,.BOUGHT.);
#11=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#13,#15,(#10));
#13=PERSON_AND_ORGANIZATION(#14,#7);
#14=PERSON('302-30-6149','Quadir','Nur',$,$,$);
#15=PERSON_AND_ORGANIZATION_ROLE('creator');
#44=CC_DESIGN_APPROVAL(#45,(#10));
#45=APPROVAL(#46,'Approved as initial STEP test case part');
#46=APPROVAL_STATUS('approved');
#47=APPROVAL_DATE_TIME(#48,#45);
#48=DATE_AND_TIME(#50,#51);
#50=CALENDAR_DATE(1993,17,7);
#51=LOCAL_TIME(13,29,52.0,#29);
#69=APPROVAL_PERSON_ORGANIZATION(#70,#45,#72);
#70=PERSON_AND_ORGANIZATION(#71,#7);
#71=PERSON('574-20-7069','Kindrick','James',$,$,$);
#72=APPROVAL_ROLE('Authorize part release');
#31=CC_DESIGN_SECURITY_CLASSIFICATION(#32,(#10));
#32=SECURITY_CLASSIFICATION('1993-C1','open availability of STEP test data',#33);
#33=SECURITY_CLASSIFICATION_LEVEL('unclassified');
#34=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#35,#39,(#32));
#35=DATE_AND_TIME(#36,#37);
#36=CALENDAR_DATE(1993,17,7);
#37=LOCAL_TIME(13,45,20.0,#29);
#39=DATE_TIME_ROLE('classification_date');
#40=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#41,#43,(#32));
#41=PERSON_AND_ORGANIZATION(#42,#7);
#42=PERSON('412-89-3456','Dhar','Shantanu',$,('Mr.'),$);
#43=PERSON_AND_ORGANIZATION_ROLE('classification_officer');
#53=CC_DESIGN_APPROVAL(#54,(#32));
#54=APPROVAL(#55,'Approved as unclassified step test data');
#55=APPROVAL_STATUS('approved');
#56=APPROVAL_DATE_TIME(#57,#54);
#57=DATE_AND_TIME(#58,#59);
#58=CALENDAR_DATE(1993,17,7);
#59=LOCAL_TIME(13,47,28.0,#29);
#73=APPROVAL_PERSON_ORGANIZATION(#74,#54,#76);
#74=PERSON_AND_ORGANIZATION(#75,#7);
#75=PERSON('525-94-5792','Matthews','Robert',('S.'),$,$);
#76=APPROVAL_ROLE('Authorize the security code');
#17=PRODUCT_DEFINITION('D1','Detailed drawing as planned for conformance testing',#10,#18);
#18=DESIGN_CONTEXT('detailed design',#3,'design');
#19=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#13,#23,(#17));
#23=PERSON_AND_ORGANIZATION_ROLE('creator');
#24=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#25,#30,(#17));
#25=DATE_AND_TIME(#27,#28);
#27=CALENDAR_DATE(1993,19,7);
#28=LOCAL_TIME(19,46,55.0,#29);
#29=COORDINATED_UNIVERSAL_TIME_OFFSET(8,$,.BEHIND.);
#30=DATE_TIME_ROLE('creation_date');
#61=CC_DESIGN_APPROVAL(#62,(#17));
#62=APPROVAL(#63,'Approved as STEP conformance testing drawing');
#63=APPROVAL_STATUS('approved');
#64=APPROVAL_DATE_TIME(#65,#62);
#65=DATE_AND_TIME(#66,#67);
#66=CALENDAR_DATE(1993,19,7);
#67=LOCAL_TIME(19,47,51.0,#29);
#77=APPROVAL_PERSON_ORGANIZATION(#70,#62,#79);
#79=APPROVAL_ROLE('Authorize product definition');
#80=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#81,#84,(#10,#1010));
#81=PERSON_AND_ORGANIZATION(#82,#83);
#82=PERSON('CDI-2','Dwaraka','B.',('K.'),$,$);
#83=ORGANIZATION('CDI','Contract Design, Inc.','Contract engineering organization.');
#84=PERSON_AND_ORGANIZATION_ROLE('design_supplier');
#88=SUPPLIED_PART_RELATIONSHIP('design','design supplier','The supplier provides detailed designs',#17,#1017);
#85=CC_DESIGN_CERTIFICATION(#86,(#88));
#86=CERTIFICATION('ISO-9000 certified design supplier','quality control',#87);
#87=CERTIFICATION_TYPE('design_supplier');
#89=CC_DESIGN_APPROVAL(#90,(#86));
#90=APPROVAL(#91,'Approved as ISO-9000 certified supplier');
#91=APPROVAL_STATUS('approved');
#92=APPROVAL_PERSON_ORGANIZATION(#70,#90,#93);
#93=APPROVAL_ROLE('Authorize supplier certification');
#94=DATE_AND_TIME(#95,#96);
#95=CALENDAR_DATE(1993,20,4);
#96=LOCAL_TIME(15,47,51.0,#29);
#97=APPROVAL_DATE_TIME(#94,#90);
#98=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#100,#102,(#86));
#99=CALENDAR_DATE(1993,19,4);
#100=DATE_AND_TIME(#99,#101);
#101=LOCAL_TIME(10,41,59.0,#29);
#102=DATE_TIME_ROLE('certification_date');
#1010=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('S-1','For Flat Ring Gasket',#1,.MADE.);
#1011=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1013,#1016,(#1010));
#1013=PERSON_AND_ORGANIZATION(#1014,#83);
#1014=PERSON('CDI-1','Brandenberg','Chad',$,$,$);
#1016=PERSON_AND_ORGANIZATION_ROLE('creator');
#1044=CC_DESIGN_APPROVAL(#1045,(#1010));
#1045=APPROVAL(#1046,'Approved as test part design');
#1046=APPROVAL_STATUS('approved');
#1047=APPROVAL_DATE_TIME(#1048,#1045);
#1048=DATE_AND_TIME(#1050,#1051);
#1050=CALENDAR_DATE(1993,19,7);
#1051=LOCAL_TIME(19,51,59.0,#29);
#1069=APPROVAL_PERSON_ORGANIZATION(#1070,#1045,#1072);
#1070=PERSON_AND_ORGANIZATION(#82,#83);
#1072=APPROVAL_ROLE('Authorize part version');
#1031=CC_DESIGN_SECURITY_CLASSIFICATION(#1032,(#1010));
#1032=SECURITY_CLASSIFICATION('1993-C2','open availability of test part designs',#1033);
#1033=SECURITY_CLASSIFICATION_LEVEL('unclassified');
#1034=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#1035,#1039,(#1032));
#1035=DATE_AND_TIME(#1036,#1037);
#1036=CALENDAR_DATE(1993,19,7);
#1037=LOCAL_TIME(19,45,41.0,#29);
#1039=DATE_TIME_ROLE('classification_date');
#1040=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1041,#1043,(#1032));
#1041=PERSON_AND_ORGANIZATION(#1042,#83);
#1042=PERSON('CDI-3','Sauter','Mitch',$,$,$);
#1043=PERSON_AND_ORGANIZATION_ROLE('classification_officer');
#1053=CC_DESIGN_APPROVAL(#1054,(#1032));
#1054=APPROVAL(#1055,'Approved as unclassified part design');
#1055=APPROVAL_STATUS('approved');
#1056=APPROVAL_DATE_TIME(#1057,#1054);
#1057=DATE_AND_TIME(#1058,#1059);
#1058=CALENDAR_DATE(1993,19,7);
#1059=LOCAL_TIME(19,47,58.0,#29);
#1073=APPROVAL_PERSON_ORGANIZATION(#81,#1054,#1076);
#1076=APPROVAL_ROLE('Authorize the security code');
#1017=PRODUCT_DEFINITION('D2','Description of product for part 11113',#1010,#1018);
#1018=DESIGN_CONTEXT('detailed design',#3,'design');
#1019=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1013,#1023,(#1017));
#1023=PERSON_AND_ORGANIZATION_ROLE('creator');
#1024=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#1025,#1030,(#1017));
#1025=DATE_AND_TIME(#1027,#1028);
#1027=CALENDAR_DATE(1993,18,7);
#1028=LOCAL_TIME(10,51,59.0,#29);
#1030=DATE_TIME_ROLE('creation_date');
#1061=CC_DESIGN_APPROVAL(#1062,(#1017));
#1062=APPROVAL(#1063,'Approved as detailed drawing');
#1063=APPROVAL_STATUS('approved');
#1064=APPROVAL_DATE_TIME(#1065,#1062);
#1065=DATE_AND_TIME(#1066,#1067);
#1066=CALENDAR_DATE(1993,19,7);
#1067=LOCAL_TIME(19,51,59.0,#29);
#1077=APPROVAL_PERSON_ORGANIZATION(#81,#1062,#1079);
#1079=APPROVAL_ROLE('Authorize product definition');
#1080=SHAPE_DEFINITION_REPRESENTATION(#1081,#9240);
#1081=PRODUCT_DEFINITION_SHAPE('ABR_Shape','Shape of Flat Ring Gasket',#17);
#9040 =(LENGTH_UNIT()NAMED_UNIT(*)SI_UNIT(.MILLI.,.METRE.));
#9041 =(NAMED_UNIT(*)PLANE_ANGLE_UNIT()SI_UNIT($,.RADIAN.));
#9042 =(NAMED_UNIT(*)SI_UNIT($,.STERADIAN.)SOLID_ANGLE_UNIT());
#9043 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(0.000001),#9040);
#9100 = CARTESIAN_POINT('CartPt1',(0.0,0.0,0.0));
#9101 = DIRECTION('Dir1',(1.0,0.0,0.0));
#9103 = DIRECTION('Dir3',(0.0,0.0,1.0));
#9120 = AXIS2_PLACEMENT_3D('Ax2P3D1',#9100,#9103,#9101);
#9121 = PLANE('Plane1',#9120);
#9122 = CIRCLE('Circ1',#9120,30.0);
#9123 = CARTESIAN_POINT('CartPt2',(30.0,0.0,0.0));
#9124 = VERTEX_POINT('VertPt1',#9123);
#9125 = EDGE_CURVE('EdgeCur1',#9124,#9124,#9122,.T.);
#9126 = ORIENTED_EDGE('OriEdge1',*,*,#9125,.T.);
#9127 = EDGE_LOOP('EdgeLoop1',(#9126));
#9128 = FACE_BOUND('FaceBnd1',#9127,.F.);
#9130 = CIRCLE('Circ2',#9120,25.0);
#9131 = CARTESIAN_POINT('CartPt3',(25.0,0.0,0.0));
#9132 = VERTEX_POINT('VertPt2',#9131);
#9133 = EDGE_CURVE('EdgeCur2',#9132,#9132,#9130,.T.);
#9134 = ORIENTED_EDGE('OriEdge2',*,*,#9133,.T.);
#9135 = EDGE_LOOP('EdgeLoop2',(#9134));
#9136 = FACE_BOUND('FaceBnd2',#9135,.T.);
#9137 = ADVANCED_FACE('AdvFace1',(#9136,#9128),#9121,.F.);
#9140 = CARTESIAN_POINT('CartPt4',(0.0,0.0,5.0));
#9141 = AXIS2_PLACEMENT_3D('Ax2P3D2',#9140,#9103,#9101);
#9142 = PLANE('Plane2',#9141);
#9143 = CIRCLE('Circ3',#9141,30.0);
#9144 = CARTESIAN_POINT('CartPt5',(30.0,0.0,5.0));
#9145 = VERTEX_POINT('VertPt3',#9144);
#9146 = EDGE_CURVE('EdgeCur3',#9145,#9145,#9143,.T.);
#9147 = ORIENTED_EDGE('OriEdge3',*,*,#9146,.T.);
#9148 = EDGE_LOOP('EdgeLoop3',(#9147));
#9149 = FACE_BOUND('FaceBnd3',#9148,.T.);
#9160 = CIRCLE('Circ4',#9141,25.0);
#9161 = CARTESIAN_POINT('CartPt6',(25.0,0.0,5.0));
#9162 = VERTEX_POINT('VertPt4',#9161);
#9163 = EDGE_CURVE('EdgeCur4',#9162,#9162,#9160,.T.);
#9164 = ORIENTED_EDGE('OriEdge4',*,*,#9163,.T.);
#9165 = EDGE_LOOP('EdgeLoop4',(#9164));
#9166 = FACE_BOUND('FaceBnd4',#9165,.F.);
#9167 = ADVANCED_FACE('AdvFace2',(#9149,#9166),#9142,.T.);
#9180 = CYLINDRICAL_SURFACE('CylSur1',#9120,30.0);
#9190 = FACE_BOUND('FaceBnd5',#9127,.T.);
#9191 = FACE_BOUND('FaceBnd6',#9148,.F.);
#9192 = ADVANCED_FACE('AdvFace3',(#9190,#9191),#9180,.T.);
#9200 = CYLINDRICAL_SURFACE('CylSur2',#9120,25.0);
#9201 = FACE_BOUND('FaceBnd7',#9135,.F.);
#9202 = FACE_BOUND('FaceBnd8',#9165,.T.);
#9203 = ADVANCED_FACE('AdvFace4',(#9201,#9202),#9200,.F.);
#9210 = CLOSED_SHELL('CloseSh1',(#9137,#9167,#9192,#9203));
#9220 = MANIFOLD_SOLID_BREP('ManSolBrep1',#9210);
#9230 = (GEOMETRIC_REPRESENTATION_CONTEXT(3)
GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#9043))
GLOBAL_UNIT_ASSIGNED_CONTEXT((#9040,#9041,#9042))
REPRESENTATION_CONTEXT('CONTEXT for advanced brep test case gasket','This is a 3d context using millimeters for linear dimension'));
#9240 = ADVANCED_BREP_SHAPE_REPRESENTATION('ABShapeRep1',(#9220),#9230);
ENDSEC;
END-ISO-10303-21;

View file

@ -1,340 +0,0 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('STEP conformance test data','AP203 class 6 - advanced brep'),'1');
FILE_NAME('gasket2.p21','1994-12-14 T10:00:00',
('S. Dhar','S. Jetli','M. McFarland','J. Kindrick'),
('Industrial Technology Institute',
'P.O. Box 1485',
'Ann Arbor',
'Michigan',
'48106'),'NIST Data Probe, Release March 1993','conformance test suite','K. H. Muralidhar');
FILE_SCHEMA(('CONFIG_CONTROL_DESIGN'));
ENDSEC;
DATA;
#1=PRODUCT('21113','Flat Ring Gasket with Holes','Description for part 21113',(#2));
#2=MECHANICAL_CONTEXT('detailed design',#3,'mechanical');
#3=APPLICATION_CONTEXT('Control the configuration of three dimensional design');
#300=APPLICATION_PROTOCOL_DEFINITION('AP definition status','config_control_design', 1994, #3);
#4=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#5,#8,(#1));
#5=PERSON_AND_ORGANIZATION(#6,#7);
#6=PERSON('307-10-5806','Muralidhar','K.',('H.'),$,$);
#1097=PERSONAL_ADDRESS($,'17147','New Hamburg Road',$,'Whitmore Lake','Michigan','48189','USA',$,'(313) 769-1234',$,$,(#6));
#7=ORGANIZATION('ITI-Michigan','Industrial Technology Institute','Anot-for-profit engineering and research center');
#8=PERSON_AND_ORGANIZATION_ROLE('design_owner');
#9=PRODUCT_RELATED_PRODUCT_CATEGORY('detail','Part Type for product 21113',(#1));
#1098=PRODUCT_CATEGORY('mechanical','root node');
#1099=PRODUCT_CATEGORY_RELATIONSHIP('root-to-structural','Relates the root to the structural category',#1098,#1100);
#1100=PRODUCT_CATEGORY('structural','The structural product category');
#1101=PRODUCT_CATEGORY_RELATIONSHIP('structural-to-machined','Relate the structural to the machined product categories',#1100,#1102);
#1102=PRODUCT_RELATED_PRODUCT_CATEGORY('machined','Machined category',(#1));
#10=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('A','Description of version with specified source for part 21113',#1,.BOUGHT.);
#11=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#13,#15,(#10));
#13=PERSON_AND_ORGANIZATION(#14,#7);
#14=PERSON('302-30-6149','Quadir','Nur',$,$,$);
#15=PERSON_AND_ORGANIZATION_ROLE('creator');
#44=CC_DESIGN_APPROVAL(#45,(#10));
#45=APPROVAL(#46,'Approved as initial STEP test case part');
#46=APPROVAL_STATUS('approved');
#47=APPROVAL_DATE_TIME(#48,#45);
#48=DATE_AND_TIME(#50,#51);
#50=CALENDAR_DATE(1993,17,7);
#51=LOCAL_TIME(13,29,52.0,#29);
#69=APPROVAL_PERSON_ORGANIZATION(#70,#45,#72);
#70=PERSON_AND_ORGANIZATION(#71,#7);
#71=PERSON('574-20-7069','Kindrick','James',$,$,$);
#72=APPROVAL_ROLE('Authorize part release');
#31=CC_DESIGN_SECURITY_CLASSIFICATION(#32,(#10));
#32=SECURITY_CLASSIFICATION('1993-C1','open availability of STEP test data',#33);
#33=SECURITY_CLASSIFICATION_LEVEL('unclassified');
#34=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#35,#39,(#32));
#35=DATE_AND_TIME(#36,#37);
#36=CALENDAR_DATE(1993,17,7);
#37=LOCAL_TIME(13,45,20.0,#29);
#39=DATE_TIME_ROLE('classification_date');
#40=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#41,#43,(#32));
#41=PERSON_AND_ORGANIZATION(#42,#7);
#42=PERSON('412-89-3456','Dhar','Shantanu',$,('Mr.'),$);
#43=PERSON_AND_ORGANIZATION_ROLE('classification_officer');
#53=CC_DESIGN_APPROVAL(#54,(#32));
#54=APPROVAL(#55,'Approved as unclassified step test data');
#55=APPROVAL_STATUS('approved');
#56=APPROVAL_DATE_TIME(#57,#54);
#57=DATE_AND_TIME(#58,#59);
#58=CALENDAR_DATE(1993,17,7);
#59=LOCAL_TIME(13,47,28.0,#29);
#73=APPROVAL_PERSON_ORGANIZATION(#74,#54,#76);
#74=PERSON_AND_ORGANIZATION(#75,#7);
#75=PERSON('525-94-5792','Matthews','Robert',('S.'),$,$);
#76=APPROVAL_ROLE('Authorize the security code');
#17=PRODUCT_DEFINITION('D1','Detailed drawing as planned for conformance testing',#10,#18);
#18=DESIGN_CONTEXT('detailed design',#3,'design');
#19=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#13,#23,(#17));
#23=PERSON_AND_ORGANIZATION_ROLE('creator');
#24=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#25,#30,(#17));
#25=DATE_AND_TIME(#27,#28);
#27=CALENDAR_DATE(1993,19,7);
#28=LOCAL_TIME(19,46,55.0,#29);
#29=COORDINATED_UNIVERSAL_TIME_OFFSET(8,$,.BEHIND.);
#30=DATE_TIME_ROLE('creation_date');
#61=CC_DESIGN_APPROVAL(#62,(#17));
#62=APPROVAL(#63,'Approved as STEP conformance testing drawing');
#63=APPROVAL_STATUS('approved');
#64=APPROVAL_DATE_TIME(#65,#62);
#65=DATE_AND_TIME(#66,#67);
#66=CALENDAR_DATE(1993,19,7);
#67=LOCAL_TIME(19,47,51.0,#29);
#77=APPROVAL_PERSON_ORGANIZATION(#70,#62,#79);
#79=APPROVAL_ROLE('Authorize product definition');
#80=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#81,#84,(#10,#1010));
#81=PERSON_AND_ORGANIZATION(#82,#83);
#82=PERSON('CDI-2','Dwaraka','B.',('K.'),$,$);
#83=ORGANIZATION('CDI','Contract Design, Inc.','Contract engineering organization');
#1096=ORGANIZATIONAL_ADDRESS($,'2901','Hubbard',$,'Ann Arbor','Michigan','48106','USA','(313) 769-4069','(313) 769-4000',$,$,(#83));
#84=PERSON_AND_ORGANIZATION_ROLE('design_supplier');
#88=SUPPLIED_PART_RELATIONSHIP('design','design supplier','The supplier provides detailed designs',#17,#1017);
#85=CC_DESIGN_CERTIFICATION(#86,(#88));
#86=CERTIFICATION('ISO-9000 certified design supplier','quality control',#87);
#87=CERTIFICATION_TYPE('design_supplier');
#89=CC_DESIGN_APPROVAL(#90,(#86));
#90=APPROVAL(#91,'Approved as ISO-9000 certified supplier');
#91=APPROVAL_STATUS('approved');
#92=APPROVAL_PERSON_ORGANIZATION(#70,#90,#93);
#93=APPROVAL_ROLE('Authorize supplier certification');
#94=DATE_AND_TIME(#95,#96);
#95=CALENDAR_DATE(1993,20,4);
#96=LOCAL_TIME(15,47,51.0,#29);
#97=APPROVAL_DATE_TIME(#94,#90);
#98=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#100,#102,(#86));
#99=CALENDAR_DATE(1993,19,4);
#100=DATE_AND_TIME(#99,#101);
#101=LOCAL_TIME(10,41,59.0,#29);
#102=DATE_TIME_ROLE('certification_date');
#1103=PRODUCT('12345','Ring Gasket - Flat with Holes','CDI''s part 12345 description',(#2));
#1109=PRODUCT_RELATED_PRODUCT_CATEGORY('customer_furnished_equipment','Part Type for product 12345',(#1103));
#1104=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1013,#8,(#1103));
#1010=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('S-1','For Ring Gasket - Flat with Holes ',#1103,.MADE.);
#1011=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1013,#1016,(#1010));
#1013=PERSON_AND_ORGANIZATION(#1014,#83);
#1014=PERSON('CDI-1','Brandenberg','Chad',$,$,$);
#1016=PERSON_AND_ORGANIZATION_ROLE('creator');
#1044=CC_DESIGN_APPROVAL(#1045,(#1010));
#1045=APPROVAL(#1046,'Approved as test part design');
#1046=APPROVAL_STATUS('approved');
#1047=APPROVAL_DATE_TIME(#1048,#1045);
#1048=DATE_AND_TIME(#1050,#1051);
#1050=CALENDAR_DATE(1993,19,7);
#1051=LOCAL_TIME(19,51,59.0,#29);
#1069=APPROVAL_PERSON_ORGANIZATION(#1070,#1045,#1072);
#1070=PERSON_AND_ORGANIZATION(#82,#83);
#1072=APPROVAL_ROLE('Authorize part version');
#1031=CC_DESIGN_SECURITY_CLASSIFICATION(#1032,(#1010));
#1032=SECURITY_CLASSIFICATION('1993-C2','open availability of test part designs',#1033);
#1033=SECURITY_CLASSIFICATION_LEVEL('unclassified');
#1034=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#1035,#1039,(#1032));
#1035=DATE_AND_TIME(#1036,#1037);
#1036=CALENDAR_DATE(1993,19,7);
#1037=LOCAL_TIME(19,45,41.0,#29);
#1039=DATE_TIME_ROLE('classification_date');
#1040=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1041,#1043,(#1032));
#1041=PERSON_AND_ORGANIZATION(#1042,#83);
#1042=PERSON('CDI-3','Sauter','Mitch',$,$,$);
#1043=PERSON_AND_ORGANIZATION_ROLE('classification_officer');
#1053=CC_DESIGN_APPROVAL(#1054,(#1032));
#1054=APPROVAL(#1055,'Approved as unclassified part design');
#1055=APPROVAL_STATUS('approved');
#1056=APPROVAL_DATE_TIME(#1057,#1054);
#1057=DATE_AND_TIME(#1058,#1059);
#1058=CALENDAR_DATE(1993,19,7);
#1059=LOCAL_TIME(19,47,58.0,#29);
#1073=APPROVAL_PERSON_ORGANIZATION(#81,#1054,#1076);
#1076=APPROVAL_ROLE('Authorize the security code');
#1017=PRODUCT_DEFINITION('D2','Description of product for part 12345',#1010,#1018);
#1018=DESIGN_CONTEXT('detailed design',#3,'design');
#1019=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1013,#1023,(#1017));
#1023=PERSON_AND_ORGANIZATION_ROLE('creator');
#1024=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#1025,#1030,(#1017));
#1025=DATE_AND_TIME(#1027,#1028);
#1027=CALENDAR_DATE(1993,18,7);
#1028=LOCAL_TIME(10,51,59.0,#29);
#1030=DATE_TIME_ROLE('creation_date');
#1061=CC_DESIGN_APPROVAL(#1062,(#1017));
#1062=APPROVAL(#1063,'Approved as detailed drawing');
#1063=APPROVAL_STATUS('approved');
#1064=APPROVAL_DATE_TIME(#1065,#1062);
#1065=DATE_AND_TIME(#1066,#1067);
#1066=CALENDAR_DATE(1993,19,7);
#1067=LOCAL_TIME(19,51,59.0,#29);
#1077=APPROVAL_PERSON_ORGANIZATION(#81,#1062,#1079);
#1079=APPROVAL_ROLE('Authorize product definition');
#1080=CC_DESIGN_CONTRACT(#1081,(#10));
#1081=CONTRACT('ITI-1121','Development of STEP conformance testing',#1082);
#1082=CONTRACT_TYPE('fixed_price');
#1083=CC_DESIGN_APPROVAL(#1084,(#1081));
#1084=APPROVAL(#1085,'Approved as active project under contract');
#1085=APPROVAL_STATUS('approved');
#1086=APPROVAL_PERSON_ORGANIZATION(#1087,#1084,#1090);
#1087=PERSON_AND_ORGANIZATION(#1088,#1089);
#1088=PERSON('212-33-7485','Masters','Larry',$,$,$);
#1089=ORGANIZATION('NIST','National Institute of Standards and Technology','Institute within the Department of Commerce');
#1090=APPROVAL_ROLE('Authorized the contract');
#1105=APPROVAL_DATE_TIME(#1106,#1084);
#1106=DATE_AND_TIME(#1107,#1108);
#1107=CALENDAR_DATE(1993,3,5);
#1108=LOCAL_TIME(10,47,28.0,#29);
#1091=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1092,#1095,(#1081));
#1092=PERSON_AND_ORGANIZATION(#1093,#7);
#1093=PERSON('355-55-6849','Kuper','George',$,$,$);
#1095=PERSON_AND_ORGANIZATION_ROLE('contractor');
#1200=SHAPE_DEFINITION_REPRESENTATION(#1201,#9370);
#1201=PRODUCT_DEFINITION_SHAPE('ABR_Shape','Shape of flat ring gasket with conical holes',#17);
#9040 =(LENGTH_UNIT()NAMED_UNIT(*)SI_UNIT(.MILLI.,.METRE.));
#9041 =(NAMED_UNIT(*)PLANE_ANGLE_UNIT()SI_UNIT($,.RADIAN.));
#9042 =(NAMED_UNIT(*)SI_UNIT($,.STERADIAN.)SOLID_ANGLE_UNIT());
#9043 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(0.000001),#9040);
#9100 = CARTESIAN_POINT('CartPt1',(0.0,0.0,0.0));
#9101 = DIRECTION('Dir1',(0.1,0.0,0.0));
#9103 = DIRECTION('Dir3',(0.0,0.0,1.0));
#9120 = AXIS2_PLACEMENT_3D('Ax2P3D1',#9100,#9103,#9101);
#9121 = PLANE('Plane1',#9120);
#9122 = CIRCLE('Circ1',#9120,40.0);
#9123 = CARTESIAN_POINT('CartPt2',(40.0,0.0,0.0));
#9124 = VERTEX_POINT('VertPt1',#9123);
#9125 = EDGE_CURVE('EdgeCur1',#9124,#9124,#9122,.T.);
#9126 = ORIENTED_EDGE('OriEdge1',*,*,#9125,.T.);
#9127 = EDGE_LOOP('EdgeLoop1',(#9126));
#9128 = FACE_BOUND('FaceBnd1',#9127,.F.);
#9130 = CIRCLE('Circ2',#9120,25.0);
#9131 = CARTESIAN_POINT('CartPt3',(25.0,0.0,0.0));
#9132 = VERTEX_POINT('VertPt2',#9131);
#9133 = EDGE_CURVE('EdgeCur2',#9132,#9132,#9130,.T.);
#9134 = ORIENTED_EDGE('OriEdge2',*,*,#9133,.T.);
#9135 = EDGE_LOOP('EdgeLoop2',(#9134));
#9136 = FACE_BOUND('FaceBnd2',#9135,.T.);
#9140 = CARTESIAN_POINT('CartPt4',(0.0,0.0,5.0));
#9141 = AXIS2_PLACEMENT_3D('Ax2P3D2',#9140,#9103,#9101);
#9142 = PLANE('Plane2',#9141);
#9143 = CIRCLE('Circ3',#9141,40.0);
#9144 = CARTESIAN_POINT('CartPt5',(40.0,0.0,5.0));
#9145 = VERTEX_POINT('VertPt3',#9144);
#9146 = EDGE_CURVE('EdgeCur3',#9145,#9145,#9143,.T.);
#9147 = ORIENTED_EDGE('OriEdge3',*,*,#9146,.T.);
#9148 = EDGE_LOOP('EdgeLoop3',(#9147));
#9149 = FACE_BOUND('FaceBnd3',#9148,.T.);
#9160 = CIRCLE('Circ4',#9141,25.0);
#9161 = CARTESIAN_POINT('CartPt6',(25.0,0.0,5.0));
#9162 = VERTEX_POINT('VertPt4',#9161);
#9163 = EDGE_CURVE('EdgeCur4',#9162,#9162,#9160,.T.);
#9164 = ORIENTED_EDGE('OriEdge4',*,*,#9163,.T.);
#9165 = EDGE_LOOP('EdgeLoop4',(#9164));
#9166 = FACE_BOUND('FaceBnd4',#9165,.F.);
#9180 = CYLINDRICAL_SURFACE('CylSur1',#9120,40.0);
#9190 = FACE_BOUND('FaceBnd5',#9127,.T.);
#9191 = FACE_BOUND('FaceBnd6',#9148,.F.);
#9192 = ADVANCED_FACE('AdvFace1',(#9190,#9191),#9180,.T.);
#9200 = CYLINDRICAL_SURFACE('CylSur2',#9120,25.0);
#9201 = FACE_BOUND('FaceBnd7',#9135,.F.);
#9202 = FACE_BOUND('FaceBnd8',#9165,.T.);
#9203 = ADVANCED_FACE('AdvFace2',(#9201,#9202),#9200,.F.);
#9210 = CARTESIAN_POINT('CartPt7',(0.0,32.5,0.0));
#9211 = AXIS2_PLACEMENT_3D('Ax2P3D3',#9210,#9103,#9101);
#9212 = CIRCLE('Circ5',#9211,2.5);
#9213 = CARTESIAN_POINT('CartPt8',(2.5,32.5,0.0));
#9214 = VERTEX_POINT('VertPt5',#9213);
#9215 = EDGE_CURVE('EdgeCur5',#9214,#9214,#9212,.T.);
#9216 = ORIENTED_EDGE('OriEdge5',*,*,#9215,.T.);
#9217 = EDGE_LOOP('EdgeLoop5',(#9216));
#9218 = FACE_BOUND('FaceBnd9',#9217,.F.);
#9219 = FACE_BOUND('FaceBnd10',#9217,.T.);
#9220 = CARTESIAN_POINT('CartPt9',(0.0,32.5,5.0));
#9221 = AXIS2_PLACEMENT_3D('Ax2P3D4',#9220,#9103,#9101);
#9222 = CIRCLE('Circ6',#9221,5.0);
#9223 = CARTESIAN_POINT('CartPt10',(5.0,32.5,5.0));
#9224 = VERTEX_POINT('VertPt6',#9223);
#9225 = EDGE_CURVE('EdgeCur6',#9224,#9224,#9222,.T.);
#9226 = ORIENTED_EDGE('OriEdge6',*,*,#9225,.T.);
#9227 = EDGE_LOOP('EdgeLoop6',(#9226));
#9228 = FACE_BOUND('FaceBnd11',#9227,.T.);
#9229 = FACE_BOUND('FaceBnd12',#9227,.F.);
#9230 = CONICAL_SURFACE('ConSur1',#9211,2.5,0.46364761);
#9231 = ADVANCED_FACE('AdvFace3',(#9218,#9228),#9230,.F.);
#9240 = CARTESIAN_POINT('CartPt11',(32.5,0.0,0.0));
#9241 = AXIS2_PLACEMENT_3D('Ax2P3D5',#9240,#9103,#9101);
#9242 = CIRCLE('Circ7',#9241,2.5);
#9243 = CARTESIAN_POINT('CartPt12',(35.0,0.0,0.0));
#9244 = VERTEX_POINT('VertPt7',#9243);
#9245 = EDGE_CURVE('EdgeCur7',#9244,#9244,#9242,.T.);
#9246 = ORIENTED_EDGE('OriEdge7',*,*,#9245,.T.);
#9247 = EDGE_LOOP('EdgeLoop7',(#9246));
#9248 = FACE_BOUND('FaceBnd13',#9247,.F.);
#9249 = FACE_BOUND('FaceBnd14',#9247,.T.);
#9250 = CARTESIAN_POINT('CartPt13',(32.5,0.0,5.0));
#9251 = AXIS2_PLACEMENT_3D('Ax2P3D6',#9250,#9103,#9101);
#9252 = CIRCLE('Circ8',#9251,5.0);
#9253 = CARTESIAN_POINT('CartPt14',(37.5,0.0,5.0));
#9254 = VERTEX_POINT('VertPt8',#9253);
#9255 = EDGE_CURVE('EdgeCur8',#9254,#9254,#9252,.T.);
#9256 = ORIENTED_EDGE('OriEdge8',*,*,#9255,.T.);
#9257 = EDGE_LOOP('EdgeLoop8',(#9256));
#9258 = FACE_BOUND('FaceBnd15',#9257,.T.);
#9259 = FACE_BOUND('FaceBnd16',#9257,.F.);
#9260 = CONICAL_SURFACE('ConSur2',#9241,2.5,0.46364761);
#9261 = ADVANCED_FACE('AdvFace4',(#9248,#9258),#9260,.F.);
#9270 = CARTESIAN_POINT('CartPt15',(0.0,-32.5,0.0));
#9271 = AXIS2_PLACEMENT_3D('Ax2P3D7',#9270,#9103,#9101);
#9272 = CIRCLE('Circ9',#9271,2.5);
#9273 = CARTESIAN_POINT('CartPt16',(2.5,-32.5,0.0));
#9274 = VERTEX_POINT('VertPt9',#9273);
#9275 = EDGE_CURVE('EdgeCur9',#9274,#9274,#9272,.T.);
#9276 = ORIENTED_EDGE('OriEdge9',*,*,#9275,.T.);
#9277 = EDGE_LOOP('EdgeLoop9',(#9276));
#9278 = FACE_BOUND('FaceBnd17',#9277,.F.);
#9279 = FACE_BOUND('FaceBnd18',#9277,.T.);
#9280 = CARTESIAN_POINT('CartPt17',(0.0,-32.5,5.0));
#9281 = AXIS2_PLACEMENT_3D('Ax2P3D8',#9280,#9103,#9101);
#9282 = CIRCLE('Circ10',#9281,5.0);
#9283 = CARTESIAN_POINT('CartPt18',(5.0,-32.5,5.0));
#9284 = VERTEX_POINT('VertPt10',#9283);
#9285 = EDGE_CURVE('EdgeCur10',#9284,#9284,#9282,.T.);
#9286 = ORIENTED_EDGE('OriEdge10',*,*,#9285,.T.);
#9287 = EDGE_LOOP('EdgeLoop10',(#9286));
#9288 = FACE_BOUND('FaceBnd19',#9287,.T.);
#9289 = FACE_BOUND('FaceBnd20',#9287,.F.);
#9290 = CONICAL_SURFACE('ConSur3',#9271,2.5,0.46364761);
#9291 = ADVANCED_FACE('AdvFace5',(#9278,#9288),#9290,.F.);
#9300 = CARTESIAN_POINT('CartPt19',(-32.5,0.0,0.0));
#9301 = AXIS2_PLACEMENT_3D('Ax2P3D9',#9300,#9103,#9101);
#9302 = CIRCLE('Circ11',#9301,2.5);
#9303 = CARTESIAN_POINT('CartPt20',(-30.0,0.0,0.0));
#9304 = VERTEX_POINT('VertPt11',#9303);
#9305 = EDGE_CURVE('EdgeCur11',#9304,#9304,#9302,.T.);
#9306 = ORIENTED_EDGE('OriEdge11',*,*,#9305,.T.);
#9307 = EDGE_LOOP('EdgeLoop11',(#9306));
#9308 = FACE_BOUND('FaceBnd21',#9307,.F.);
#9309 = FACE_BOUND('FaceBnd22',#9307,.T.);
#9310 = CARTESIAN_POINT('CartPt21',(-32.5,0.0,5.0));
#9311 = AXIS2_PLACEMENT_3D('Ax2P3D10',#9310,#9103,#9101);
#9312 = CIRCLE('Circ12',#9311,5.0);
#9313 = CARTESIAN_POINT('CartPt22',(37.5,0.0,5.0));
#9314 = VERTEX_POINT('VertPt12',#9313);
#9315 = EDGE_CURVE('EdgeCur12',#9314,#9314,#9312,.T.);
#9316 = ORIENTED_EDGE('OriEdge12',*,*,#9315,.T.);
#9317 = EDGE_LOOP('EdgeLoop12',(#9316));
#9318 = FACE_BOUND('FaceBnd23',#9317,.T.);
#9319 = FACE_BOUND('FaceBnd24',#9317,.F.);
#9320 = CONICAL_SURFACE('ConSur4',#9301,2.5,0.46364761);
#9321 = ADVANCED_FACE('AdvFace6',(#9308,#9318),#9320,.F.);
#9325 = ADVANCED_FACE('AdvFace7',(#9128,#9136,#9219,#9249,#9279,#9309),#9121,.F.);
#9326 = ADVANCED_FACE('AdvFace8',(#9149,#9166,#9229,#9259,#9289,#9319),#9142,.T.);
#9350 = CLOSED_SHELL('CloseSh1',(#9192,#9203,#9231,#9261,#9291,#9321,#9325,#9326));
#9351 = MANIFOLD_SOLID_BREP('ManSolBrep1',#9350);
#9360 = (GEOMETRIC_REPRESENTATION_CONTEXT(3)
GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#9043))
GLOBAL_UNIT_ASSIGNED_CONTEXT((#9040,#9041,#9042))
REPRESENTATION_CONTEXT('CONTEXT for advanced brep test case gasket with conical holes','This is a 3d context using millimeters for linear dimension'));
#9370 = ADVANCED_BREP_SHAPE_REPRESENTATION('ABShapeRep1',(#9351),#9360);
ENDSEC;
END-ISO-10303-21;

View file

@ -1,315 +0,0 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('STEP conformance test data','AP203 class 6 - advanced brep'),'1');
FILE_NAME('gasket3.p21','1994-12-14 T10:00:00',
('S. Dhar','S. Jetli','M. McFarland','J. Kindrick'),
('Industrial Technology Institute',
'P.O. Box 1485',
'Ann Arbor',
'Michigan',
'48106'),'NIST Data Probe, Release March 1993','conformance test suite','K. H. Muralidhar');
FILE_SCHEMA(('CONFIG_CONTROL_DESIGN'));
ENDSEC;
DATA;
#1=PRODUCT('31113','Flat Semi-elliptical Gasket','Description for part 31113',(#2));
#2=MECHANICAL_CONTEXT('detailed design',#3,'mechanical');
#3=APPLICATION_CONTEXT('Control the configuration of three dimensional design');
#300=APPLICATION_PROTOCOL_DEFINITION('AP definition status','config_control_design', 1994, #3);
#4=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#5,#8,(#1));
#5=PERSON_AND_ORGANIZATION(#6,#7);
#6=PERSON('307-10-5806','Muralidhar','K.',('H.'),$,('PhD.'));
#1097=PERSONAL_ADDRESS($,'17147','New Hamburg Road',$,'Whitmore Lake','Michigan','48189','USA',$,'(313) 769-1234',$,$,(#6));
#7=ORGANIZATION('ITI-Michigan','Industrial Technology Institute','Anot-for-profit engineering and research center');
#8=PERSON_AND_ORGANIZATION_ROLE('design_owner');
#9=PRODUCT_RELATED_PRODUCT_CATEGORY('detail','Part Type for product 31113',(#1));
#1098=PRODUCT_CATEGORY('mechanical','root node');
#1099=PRODUCT_CATEGORY_RELATIONSHIP('root-to-structural','Relates the root to the structural category',#1098,#1100);
#1100=PRODUCT_CATEGORY('structural','The structural product category');
#1101=PRODUCT_CATEGORY_RELATIONSHIP('structural-to-machined','Relate the structural to the machined product categories',#1100,#1102);
#1102=PRODUCT_RELATED_PRODUCT_CATEGORY('machined','Machined category',(#1));
#10=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('A','Description of version with specified source for part 31113',#1,.BOUGHT.);
#11=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#13,#15,(#10));
#13=PERSON_AND_ORGANIZATION(#14,#7);
#14=PERSON('302-30-6149','Quadir','Nur',$,$,$);
#15=PERSON_AND_ORGANIZATION_ROLE('creator');
#44=CC_DESIGN_APPROVAL(#45,(#10));
#45=APPROVAL(#46,'Approved as initial STEP test case part');
#46=APPROVAL_STATUS('approved');
#47=APPROVAL_DATE_TIME(#48,#45);
#48=DATE_AND_TIME(#50,#51);
#50=CALENDAR_DATE(1993,17,7);
#51=LOCAL_TIME(13,29,52.0,#29);
#69=APPROVAL_PERSON_ORGANIZATION(#70,#45,#72);
#70=PERSON_AND_ORGANIZATION(#71,#7);
#71=PERSON('574-20-7069','Kindrick','James',$,$,$);
#72=APPROVAL_ROLE('Authorize part release');
#31=CC_DESIGN_SECURITY_CLASSIFICATION(#32,(#10));
#32=SECURITY_CLASSIFICATION('1993-C1','open availability of STEP test data',#33);
#33=SECURITY_CLASSIFICATION_LEVEL('unclassified');
#34=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#35,#39,(#32));
#35=DATE_AND_TIME(#36,#37);
#36=CALENDAR_DATE(1993,17,7);
#37=LOCAL_TIME(13,$,$,#29);
#39=DATE_TIME_ROLE('classification_date');
#40=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#41,#43,(#32));
#41=PERSON_AND_ORGANIZATION(#42,#7);
#42=PERSON('412-89-3456','Dhar','Shantanu',$,('Mr.'),$);
#43=PERSON_AND_ORGANIZATION_ROLE('classification_officer');
#53=CC_DESIGN_APPROVAL(#54,(#32));
#54=APPROVAL(#55,'Approved as unclassified step test data');
#55=APPROVAL_STATUS('approved');
#56=APPROVAL_DATE_TIME(#57,#54);
#57=DATE_AND_TIME(#58,#59);
#58=CALENDAR_DATE(1993,17,7);
#59=LOCAL_TIME(13,47,28.0,#29);
#73=APPROVAL_PERSON_ORGANIZATION(#74,#54,#76);
#74=PERSON_AND_ORGANIZATION(#75,#7);
#75=PERSON('525-94-5792','Matthews','Robert',('S.'),$,$);
#76=APPROVAL_ROLE('Authorize the security code');
#17=PRODUCT_DEFINITION('D1','Detailed drawing as planned for conformance testing',#10,#18);
#18=DESIGN_CONTEXT('detailed design',#3,'design');
#19=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#13,#23,(#17));
#23=PERSON_AND_ORGANIZATION_ROLE('creator');
#24=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#25,#30,(#17));
#25=DATE_AND_TIME(#27,#28);
#27=CALENDAR_DATE(1993,19,7);
#28=LOCAL_TIME(19,46,55.0,#29);
#29=COORDINATED_UNIVERSAL_TIME_OFFSET(8,$,.BEHIND.);
#30=DATE_TIME_ROLE('creation_date');
#61=CC_DESIGN_APPROVAL(#62,(#17));
#62=APPROVAL(#63,'Approved as STEP conformance testing drawing');
#63=APPROVAL_STATUS('approved');
#64=APPROVAL_DATE_TIME(#65,#62);
#65=DATE_AND_TIME(#66,#67);
#66=CALENDAR_DATE(1993,19,7);
#67=LOCAL_TIME(19,47,51.0,#29);
#77=APPROVAL_PERSON_ORGANIZATION(#70,#62,#79);
#79=APPROVAL_ROLE('Authorize product definition');
#80=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#81,#84,(#10,#1010));
#81=PERSON_AND_ORGANIZATION(#82,#83);
#82=PERSON('CDI-2','Dwaraka','B.',('K.'),$,$);
#83=ORGANIZATION('CDI','Contract Design, Inc.','Contract engineering organization');
#1096=ORGANIZATIONAL_ADDRESS($,'2901','Hubbard','P.O. Box 1485','Ann Arbor','Michigan','48106','USA','(313) 769-4069','(313) 769-4000',$,$,(#83));
#84=PERSON_AND_ORGANIZATION_ROLE('design_supplier');
#88=SUPPLIED_PART_RELATIONSHIP('design','design supplier','The supplier provides detailed designs',#17,#1017);
#85=CC_DESIGN_CERTIFICATION(#86,(#88));
#86=CERTIFICATION('ISO-9000 certified design supplier','quality control',#87);
#87=CERTIFICATION_TYPE('design_supplier');
#89=CC_DESIGN_APPROVAL(#90,(#86));
#90=APPROVAL(#91,'Approved as ISO-9000 certified supplier');
#91=APPROVAL_STATUS('approved');
#92=APPROVAL_PERSON_ORGANIZATION(#70,#90,#93);
#93=APPROVAL_ROLE('Authorize supplier certification');
#94=DATE_AND_TIME(#95,#96);
#95=CALENDAR_DATE(1993,20,4);
#96=LOCAL_TIME(15,47,51.0,#29);
#97=APPROVAL_DATE_TIME(#94,#90);
#98=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#100,#102,(#86));
#99=CALENDAR_DATE(1993,19,4);
#100=DATE_AND_TIME(#99,#101);
#101=LOCAL_TIME(10,41,59.0,#29);
#102=DATE_TIME_ROLE('certification_date');
#1103=PRODUCT('12345','Cube Solid','CDI''s part 12345 description',(#2));
#1109=PRODUCT_RELATED_PRODUCT_CATEGORY('customer_furnished_equipment','Part Type for product 12345',(#1103));
#1104=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1013,#8,(#1103));
#1010=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('S-1','For Cube Solid',#1103,.MADE.);
#1011=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1013,#1016,(#1010));
#1013=PERSON_AND_ORGANIZATION(#1014,#83);
#1014=PERSON('CDI-1','Brandenberg','Chad',('David','George'),$,$);
#1016=PERSON_AND_ORGANIZATION_ROLE('creator');
#1044=CC_DESIGN_APPROVAL(#1045,(#1010));
#1045=APPROVAL(#1046,'Approved as test part design');
#1046=APPROVAL_STATUS('approved');
#1047=APPROVAL_DATE_TIME(#1048,#1045);
#1048=DATE_AND_TIME(#1050,#1051);
#1050=CALENDAR_DATE(1993,19,7);
#1051=LOCAL_TIME(19,51,59.0,#29);
#1069=APPROVAL_PERSON_ORGANIZATION(#1070,#1045,#1072);
#1070=PERSON_AND_ORGANIZATION(#82,#83);
#1072=APPROVAL_ROLE('Authorize part version');
#1031=CC_DESIGN_SECURITY_CLASSIFICATION(#1032,(#1010));
#1032=SECURITY_CLASSIFICATION('1993-C2','open availability of test part designs',#1033);
#1033=SECURITY_CLASSIFICATION_LEVEL('unclassified');
#1034=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#1035,#1039,(#1032));
#1035=DATE_AND_TIME(#1036,#1037);
#1036=CALENDAR_DATE(1993,19,7);
#1037=LOCAL_TIME(19,45,41.0,#29);
#1039=DATE_TIME_ROLE('classification_date');
#1040=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1041,#1043,(#1032));
#1041=PERSON_AND_ORGANIZATION(#1042,#83);
#1042=PERSON('CDI-3','Sauter','Mitch',$,$,$);
#1043=PERSON_AND_ORGANIZATION_ROLE('classification_officer');
#1053=CC_DESIGN_APPROVAL(#1054,(#1032));
#1054=APPROVAL(#1055,'Approved as unclassified part design');
#1055=APPROVAL_STATUS('approved');
#1056=APPROVAL_DATE_TIME(#1057,#1054);
#1057=DATE_AND_TIME(#1058,#1059);
#1058=CALENDAR_DATE(1993,19,7);
#1059=LOCAL_TIME(19,47,58.0,#29);
#1073=APPROVAL_PERSON_ORGANIZATION(#81,#1054,#1076);
#1076=APPROVAL_ROLE('Authorize the security code');
#1017=PRODUCT_DEFINITION('D2','Description of product for part 12345',#1010,#1018);
#1018=DESIGN_CONTEXT('detailed design',#3,'design');
#1019=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1013,#1023,(#1017));
#1023=PERSON_AND_ORGANIZATION_ROLE('creator');
#1024=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#1025,#1030,(#1017));
#1025=DATE_AND_TIME(#1027,#1028);
#1027=CALENDAR_DATE(1993,18,7);
#1028=LOCAL_TIME(10,51,59.0,#29);
#1030=DATE_TIME_ROLE('creation_date');
#1061=CC_DESIGN_APPROVAL(#1062,(#1017));
#1062=APPROVAL(#1063,'Approved as detailed drawing');
#1063=APPROVAL_STATUS('approved');
#1064=APPROVAL_DATE_TIME(#1065,#1062);
#1065=DATE_AND_TIME(#1066,#1067);
#1066=CALENDAR_DATE(1993,19,7);
#1067=LOCAL_TIME(19,51,59.0,#29);
#1077=APPROVAL_PERSON_ORGANIZATION(#81,#1062,#1079);
#1079=APPROVAL_ROLE('Authorize product definition');
#1080=CC_DESIGN_CONTRACT(#1081,(#10));
#1081=CONTRACT('ITI-1121','Development of STEP conformance testing',#1082);
#1082=CONTRACT_TYPE('fixed_price');
#1083=CC_DESIGN_APPROVAL(#1084,(#1081));
#1084=APPROVAL(#1085,'Approved as active project under contract');
#1085=APPROVAL_STATUS('approved');
#1086=APPROVAL_PERSON_ORGANIZATION(#1087,#1084,#1090);
#1087=PERSON_AND_ORGANIZATION(#1088,#1089);
#1088=PERSON('212-33-7485','Masters','Larry',$,$,$);
#1089=ORGANIZATION('NIST','National Institute of Standards and Technology','Institute within the Department of Commerce');
#1090=APPROVAL_ROLE('Authorized the contract');
#1105=APPROVAL_DATE_TIME(#1106,#1084);
#1106=DATE_AND_TIME(#1107,#1108);
#1107=WEEK_OF_YEAR_AND_DAY_DATE(1993,20,5);
#1108=LOCAL_TIME(14,21,7.0,#29);
#1091=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1092,#1095,(#1081));
#1092=PERSON_AND_ORGANIZATION(#1093,#7);
#1093=PERSON('355-55-6849','Kuper','George',$,$,$);
#1095=PERSON_AND_ORGANIZATION_ROLE('contractor');
#1200=SHAPE_DEFINITION_REPRESENTATION(#1201,#9430);
#1201=PRODUCT_DEFINITION_SHAPE('ABR_Shape','Shape of semi-elliptical gasket',#17);
#9040 =(LENGTH_UNIT()NAMED_UNIT(*)SI_UNIT(.MILLI.,.METRE.));
#9041 =(NAMED_UNIT(*)PLANE_ANGLE_UNIT()SI_UNIT($,.RADIAN.));
#9042 =(NAMED_UNIT(*)SI_UNIT($,.STERADIAN.)SOLID_ANGLE_UNIT());
#9043 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(0.000001),#9040,'xx','yy');
#9100 = CARTESIAN_POINT('CartPt1',(0.0,0.0,0.0));
#9101 = DIRECTION('Dir1',(0.1,0.0,0.0));
#9102 = DIRECTION('Dir2',(0.0,1.0,0.0));
#9103 = DIRECTION('Dir3',(0.0,0.0,1.0));
#9104 = DIRECTION('Dir4',(0.0,0.0,-1.0));
#9120 = AXIS2_PLACEMENT_3D('Ax2P3D1',#9100,#9103,#9101);
#9121 = PLANE('Plane1',#9120);
#9122 = ELLIPSE('Ellip1',#9120,40.0,25.0);
#9123 = CARTESIAN_POINT('CartPt2',(0.0,25.0,0.0));
#9124 = VERTEX_POINT('VertPt1',#9123);
#9125 = CARTESIAN_POINT('CartPt3',(0.0,-25.0,0.0));
#9126 = VERTEX_POINT('VertPt2',#9125);
#9127 = EDGE_CURVE('EdgeCur1',#9124,#9126,#9122,.T.);
#9128 = ORIENTED_EDGE('OriEdge1',*,*,#9127,.F.);
#9130 = VECTOR('Vec1',#9102,50.0);
#9131 = LINE('Line1',#9125,#9130);
#9132 = EDGE_CURVE('EdgeCur2',#9126,#9124,#9131,.T.);
#9133 = ORIENTED_EDGE('OriEdge2',*,*,#9132,.F.);
#9134 = EDGE_LOOP('EdgeLoop1',(#9128,#9133));
#9135 = FACE_BOUND('FaceBnd1',#9134,.T.);
#9140 = CARTESIAN_POINT('CartPt4',(-5.0,0.0,0.0));
#9141 = AXIS2_PLACEMENT_3D('Ax2P3D2',#9140,#9103,#9101);
#9142 = ELLIPSE('Ellip2',#9141,30.0,20.0);
#9143 = CARTESIAN_POINT('CartPt5',(-5.0,20.0,0.0));
#9144 = VERTEX_POINT('VertPt3',#9143);
#9145 = CARTESIAN_POINT('CartPt6',(-5.0,-20.0,0.0));
#9146 = VERTEX_POINT('VertPt4',#9145);
#9147 = EDGE_CURVE('EdgeCur3',#9144,#9146,#9142,.T.);
#9148 = ORIENTED_EDGE('OriEdge3',*,*,#9147,.T.);
#9150 = VECTOR('Vec2',#9102,40.0);
#9151 = LINE('Line2',#9145,#9150);
#9152 = EDGE_CURVE('EdgeCur4',#9146,#9144,#9151,.T.);
#9153 = ORIENTED_EDGE('OriEdge4',*,*,#9152,.T.);
#9154 = EDGE_LOOP('EdgeLoop2',(#9148,#9153));
#9155 = FACE_BOUND('FaceBnd2',#9154,.T.);
#9156 = ADVANCED_FACE('AdvFace1',(#9155,#9135),#9121,.F.);
#9160 = CARTESIAN_POINT('CartPt7',(0.0,0.0,5.0));
#9161 = AXIS2_PLACEMENT_3D('Ax2P3D3',#9160,#9103,#9101);
#9162 = PLANE('Plane2',#9161);
#9163 = ELLIPSE('Ellip3',#9161,40.0,25.0);
#9164 = CARTESIAN_POINT('CartPt8',(0.0,25.0,5.0));
#9165 = VERTEX_POINT('VertPt5',#9164);
#9166 = CARTESIAN_POINT('CartPt9',(0.0,-25.0,5.0));
#9167 = VERTEX_POINT('VertPt6',#9166);
#9168 = EDGE_CURVE('EdgeCur5',#9165,#9167,#9163,.T.);
#9169 = ORIENTED_EDGE('OriEdge5',*,*,#9168,.T.);
#9170 = LINE('Line3',#9166,#9130);
#9171 = EDGE_CURVE('EdgeCur6',#9167,#9165,#9170,.T.);
#9172 = ORIENTED_EDGE('OriEdge6',*,*,#9171,.T.);
#9173 = EDGE_LOOP('EdgeLoop3',(#9169,#9172));
#9174 = FACE_BOUND('FaceBnd3',#9173,.T.);
#9180 = CARTESIAN_POINT('CartPt10',(-5.0,0.0,5.0));
#9181 = AXIS2_PLACEMENT_3D('Ax2P3D4',#9180,#9103,#9101);
#9182 = ELLIPSE('Ellip4',#9181,30.0,20.0);
#9183 = CARTESIAN_POINT('CartPt11',(-5.0,20.0,5.0));
#9184 = VERTEX_POINT('VertPt7',#9183);
#9185 = CARTESIAN_POINT('CartPt12',(-5.0,-20.0,5.0));
#9186 = VERTEX_POINT('VertPt8',#9185);
#9187 = EDGE_CURVE('EdgeCur7',#9184,#9186,#9182,.T.);
#9188 = ORIENTED_EDGE('OriEdge7',*,*,#9187,.F.);
#9190 = LINE('Line4',#9185,#9150);
#9191 = EDGE_CURVE('EdgeCur8',#9186,#9184,#9190,.T.);
#9192 = ORIENTED_EDGE('OriEdge8',*,*,#9191,.F.);
#9193 = EDGE_LOOP('EdgeLoop4',(#9188,#9192));
#9194 = FACE_BOUND('FaceBnd4',#9193,.T.);
#9195 = ADVANCED_FACE('AdvFace2',(#9174,#9194),#9162,.T.);
#9200 = VECTOR('Vec3',#9103,5.0);
#9201 = SURFACE_OF_LINEAR_EXTRUSION('SurLExt1',#9122,#9200);
#9210 = ORIENTED_EDGE('OriEdge9',*,*,#9127,.T.);
#9220 = LINE('Line5',#9125,#9200);
#9221 = EDGE_CURVE('EdgeCur9',#9126,#9167,#9220,.T.);
#9222 = ORIENTED_EDGE('OriEdge10',*,*,#9221,.T.);
#9230 = ORIENTED_EDGE('OriEdge11',*,*,#9168,.F.);
#9240 = LINE('Line6',#9123,#9200);
#9241 = EDGE_CURVE('EdgeCur10',#9165,#9124,#9240,.F.);
#9242 = ORIENTED_EDGE('OriEdge12',*,*,#9241,.T.);
#9250 = EDGE_LOOP('EdgeLoop5',(#9210,#9222,#9230,#9242));
#9251 = FACE_BOUND('FaceBnd5',#9250,.T.);
#9252 = ADVANCED_FACE('AdvFace3',(#9251),#9201,.T.);
#9260 = AXIS2_PLACEMENT_3D('Ax2P3D5',#9100,#9101,#9104);
#9261 = PLANE('Plane3',#9260);
#9270 = ORIENTED_EDGE('OriEdge13',*,*,#9221,.F.);
#9280 = ORIENTED_EDGE('OriEdge14',*,*,#9132,.T.);
#9290 = ORIENTED_EDGE('OriEdge15',*,*,#9241,.F.);
#9300 = ORIENTED_EDGE('OriEdge16',*,*,#9171,.F.);
#9301 = EDGE_LOOP('EdgeLoop6',(#9270,#9280,#9290,#9300));
#9302 = FACE_BOUND('FaceBnd6',#9301,.T.);
#9303 = ADVANCED_FACE('AdvFace4',(#9302),#9261,.T.);
#9310 = SURFACE_OF_LINEAR_EXTRUSION('SurLExt2',#9142,#9200);
#9320 = ORIENTED_EDGE('OriEdge17',*,*,#9147,.F.);
#9330 = LINE('Line7',#9143,#9200);
#9331 = EDGE_CURVE('EdgeCur11',#9144,#9184,#9330,.T.);
#9332 = ORIENTED_EDGE('OriEdge18',*,*,#9331,.T.);
#9340 = ORIENTED_EDGE('OriEdge19',*,*,#9187,.T.);
#9350 = LINE('Line8',#9145,#9200);
#9351 = EDGE_CURVE('EdgeCur12',#9146,#9186,#9350,.F.);
#9352 = ORIENTED_EDGE('OriEdge20',*,*,#9351,.F.);
#9353 = EDGE_LOOP('EdgeLoop7',(#9320,#9332,#9340,#9352));
#9354 = FACE_BOUND('FaceBnd7',#9353,.T.);
#9355 = ADVANCED_FACE('AdvFace5',(#9354),#9310,.F.);
#9360 = AXIS2_PLACEMENT_3D('Ax2P3D6',#9140,#9101,#9104);
#9361 = PLANE('Plane4',#9360);
#9370 = ORIENTED_EDGE('OriEdge21',*,*,#9152,.F.);
#9380 = ORIENTED_EDGE('OriEdge22',*,*,#9351,.T.);
#9390 = ORIENTED_EDGE('OriEdge23',*,*,#9191,.T.);
#9400 = ORIENTED_EDGE('OriEdge24',*,*,#9331,.F.);
#9401 = EDGE_LOOP('EdgeLoop8',(#9370,#9380,#9390,#9400));
#9402 = FACE_BOUND('FaceBnd8',#9401,.T.);
#9403 = ADVANCED_FACE('AdvFace6',(#9402),#9361,.F.);
#9410 = CLOSED_SHELL('CloseSh1',(#9156,#9195,#9252,#9303,#9355,#9403));
#9411 = MANIFOLD_SOLID_BREP('ManSolBrep1',#9410);
#9420 = (GEOMETRIC_REPRESENTATION_CONTEXT(3)
GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#9043))
GLOBAL_UNIT_ASSIGNED_CONTEXT((#9040,#9041,#9042))
REPRESENTATION_CONTEXT('CONTEXT for advanced brep test case semi-elliptical gasket','This is a 3d context using millimeters for linear dimension'));
#9430 = ADVANCED_BREP_SHAPE_REPRESENTATION('ABShapeRep1',(#9411),#9420);
ENDSEC;
END-ISO-10303-21;

View file

@ -1,239 +0,0 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('STEP conformance test data','AP203 class 5 - facetted brep'),'1');
FILE_NAME('hex_prism1.p21','1994-12-14 T10:00:00',
('S. Dhar','S. Jetli','M. McFarland','J. Kindrick'),
('Industrial Technology Institute',
'P.O. Box 1485',
'Ann Arbor',
'Michigan',
'48106'),'NIST Data Probe, Release March 1993','conformance test suite','K. H. Muralidhar');
FILE_SCHEMA(('CONFIG_CONTROL_DESIGN'));
ENDSEC;
DATA;
#1=PRODUCT('11112','Solid Hexagonal Cylinder','Description for part 11112',(#2));
#2=MECHANICAL_CONTEXT('detailed design',#3,'mechanical');
#3=APPLICATION_CONTEXT('Control the configuration of three dimensional design');
#300=APPLICATION_PROTOCOL_DEFINITION('AP definition status','config_control_design', 1994, #3);
#4=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#5,#8,(#1));
#5=PERSON_AND_ORGANIZATION(#6,#7);
#6=PERSON('307-10-5806','Muralidhar','K.',('H.'),$,$);
#7=ORGANIZATION('ITI-Michigan','Industrial Technology Institute','A not-for-profit engineering and research center');
#8=PERSON_AND_ORGANIZATION_ROLE('design_owner');
#9=PRODUCT_RELATED_PRODUCT_CATEGORY('detail','Part Type for product 11112',(#1));
#10=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('A','Description of version with specified source for part 11112',#1,.BOUGHT.);
#11=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#13,#15,(#10));
#13=PERSON_AND_ORGANIZATION(#14,#7);
#14=PERSON('302-30-6149','Quadir','Nur',$,$,$);
#15=PERSON_AND_ORGANIZATION_ROLE('creator');
#44=CC_DESIGN_APPROVAL(#45,(#10));
#45=APPROVAL(#46,'Approved as initial STEP test case part');
#46=APPROVAL_STATUS('approved');
#47=APPROVAL_DATE_TIME(#48,#45);
#48=DATE_AND_TIME(#50,#51);
#50=CALENDAR_DATE(1993,17,7);
#51=LOCAL_TIME(13,29,52.0,#29);
#69=APPROVAL_PERSON_ORGANIZATION(#70,#45,#72);
#70=PERSON_AND_ORGANIZATION(#71,#7);
#71=PERSON('574-20-7069','Kindrick','James',$,$,$);
#72=APPROVAL_ROLE('Authorize part release');
#31=CC_DESIGN_SECURITY_CLASSIFICATION(#32,(#10));
#32=SECURITY_CLASSIFICATION('1993-C1','open availability of STEP test data',#33);
#33=SECURITY_CLASSIFICATION_LEVEL('unclassified');
#34=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#35,#39,(#32));
#35=DATE_AND_TIME(#36,#37);
#36=CALENDAR_DATE(1993,17,7);
#37=LOCAL_TIME(13,45,20.0,#29);
#39=DATE_TIME_ROLE('classification_date');
#40=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#41,#43,(#32));
#41=PERSON_AND_ORGANIZATION(#42,#7);
#42=PERSON('412-89-3456','Dhar','Shantanu',$,('Mr.'),$);
#43=PERSON_AND_ORGANIZATION_ROLE('classification_officer');
#53=CC_DESIGN_APPROVAL(#54,(#32));
#54=APPROVAL(#55,'Approved as unclassified step test data');
#55=APPROVAL_STATUS('approved');
#56=APPROVAL_DATE_TIME(#57,#54);
#57=DATE_AND_TIME(#58,#59);
#58=CALENDAR_DATE(1993,17,7);
#59=LOCAL_TIME(13,47,28.0,#29);
#73=APPROVAL_PERSON_ORGANIZATION(#74,#54,#76);
#74=PERSON_AND_ORGANIZATION(#75,#7);
#75=PERSON('525-94-5792','Matthews','Robert',('S.'),$,$);
#76=APPROVAL_ROLE('Authorize the security code');
#17=PRODUCT_DEFINITION('D1','Detailed drawing as planned for conformance testing',#10,#18);
#18=DESIGN_CONTEXT('detailed design',#3,'design');
#19=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#13,#23,(#17));
#23=PERSON_AND_ORGANIZATION_ROLE('creator');
#24=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#25,#30,(#17));
#25=DATE_AND_TIME(#27,#28);
#27=CALENDAR_DATE(1993,19,7);
#28=LOCAL_TIME(19,46,55.0,#29);
#29=COORDINATED_UNIVERSAL_TIME_OFFSET(8,$,.BEHIND.);
#30=DATE_TIME_ROLE('creation_date');
#61=CC_DESIGN_APPROVAL(#62,(#17));
#62=APPROVAL(#63,'Approved as STEP conformance testing drawing');
#63=APPROVAL_STATUS('approved');
#64=APPROVAL_DATE_TIME(#65,#62);
#65=DATE_AND_TIME(#66,#67);
#66=CALENDAR_DATE(1993,19,7);
#67=LOCAL_TIME(19,47,51.0,#29);
#77=APPROVAL_PERSON_ORGANIZATION(#70,#62,#79);
#79=APPROVAL_ROLE('Authorize product definition');
#80=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#81,#84,(#10,#1010));
#81=PERSON_AND_ORGANIZATION(#82,#83);
#82=PERSON('CDI-2','Dwaraka','B.',('K.'),$,$);
#83=ORGANIZATION('CDI','Contract Design, Inc.','Contract engineering organization.');
#84=PERSON_AND_ORGANIZATION_ROLE('design_supplier');
#88=SUPPLIED_PART_RELATIONSHIP('design','design supplier','The supplier provides detailed designs',#17,#1017);
#85=CC_DESIGN_CERTIFICATION(#86,(#88));
#86=CERTIFICATION('ISO-9000 certified design supplier','quality control',#87);
#87=CERTIFICATION_TYPE('design_supplier');
#89=CC_DESIGN_APPROVAL(#90,(#86));
#90=APPROVAL(#91,'Approved as ISO-9000 certified supplier');
#91=APPROVAL_STATUS('approved');
#92=APPROVAL_PERSON_ORGANIZATION(#70,#90,#93);
#93=APPROVAL_ROLE('Authorize supplier certification');
#94=DATE_AND_TIME(#95,#96);
#95=CALENDAR_DATE(1993,20,4);
#96=LOCAL_TIME(15,47,51.0,#29);
#97=APPROVAL_DATE_TIME(#94,#90);
#98=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#100,#102,(#86));
#99=CALENDAR_DATE(1993,19,4);
#100=DATE_AND_TIME(#99,#101);
#101=LOCAL_TIME(10,41,59.0,#29);
#102=DATE_TIME_ROLE('certification_date');
#1010=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('S-1','For Solid Hexagonal Cylinder',#1,.MADE.);
#1011=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1013,#1016,(#1010));
#1013=PERSON_AND_ORGANIZATION(#1014,#83);
#1014=PERSON('CDI-1','Brandenberg','Chad',$,$,$);
#1016=PERSON_AND_ORGANIZATION_ROLE('creator');
#1044=CC_DESIGN_APPROVAL(#1045,(#1010));
#1045=APPROVAL(#1046,'Approved as test part design');
#1046=APPROVAL_STATUS('approved');
#1047=APPROVAL_DATE_TIME(#1048,#1045);
#1048=DATE_AND_TIME(#1050,#1051);
#1050=CALENDAR_DATE(1993,19,7);
#1051=LOCAL_TIME(19,51,59.0,#29);
#1069=APPROVAL_PERSON_ORGANIZATION(#1070,#1045,#1072);
#1070=PERSON_AND_ORGANIZATION(#82,#83);
#1072=APPROVAL_ROLE('Authorize part version');
#1031=CC_DESIGN_SECURITY_CLASSIFICATION(#1032,(#1010));
#1032=SECURITY_CLASSIFICATION('1993-C2','open availability of test part designs',#1033);
#1033=SECURITY_CLASSIFICATION_LEVEL('unclassified');
#1034=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#1035,#1039,(#1032));
#1035=DATE_AND_TIME(#1036,#1037);
#1036=CALENDAR_DATE(1993,19,7);
#1037=LOCAL_TIME(19,45,41.0,#29);
#1039=DATE_TIME_ROLE('classification_date');
#1040=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1041,#1043,(#1032));
#1041=PERSON_AND_ORGANIZATION(#1042,#83);
#1042=PERSON('CDI-3','Sauter','Mitch',$,$,$);
#1043=PERSON_AND_ORGANIZATION_ROLE('classification_officer');
#1053=CC_DESIGN_APPROVAL(#1054,(#1032));
#1054=APPROVAL(#1055,'Approved as unclassified part design');
#1055=APPROVAL_STATUS('approved');
#1056=APPROVAL_DATE_TIME(#1057,#1054);
#1057=DATE_AND_TIME(#1058,#1059);
#1058=CALENDAR_DATE(1993,19,7);
#1059=LOCAL_TIME(19,47,58.0,#29);
#1073=APPROVAL_PERSON_ORGANIZATION(#81,#1054,#1076);
#1076=APPROVAL_ROLE('Authorize the security code');
#1017=PRODUCT_DEFINITION('D2','Description of product for part 11112',#1010,#1018);
#1018=DESIGN_CONTEXT('detailed design',#3,'design');
#1019=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1013,#1023,(#1017));
#1023=PERSON_AND_ORGANIZATION_ROLE('creator');
#1024=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#1025,#1030,(#1017));
#1025=DATE_AND_TIME(#1027,#1028);
#1027=CALENDAR_DATE(1993,18,7);
#1028=LOCAL_TIME(10,51,59.0,#29);
#1030=DATE_TIME_ROLE('creation_date');
#1061=CC_DESIGN_APPROVAL(#1062,(#1017));
#1062=APPROVAL(#1063,'Approved as detailed drawing');
#1063=APPROVAL_STATUS('approved');
#1064=APPROVAL_DATE_TIME(#1065,#1062);
#1065=DATE_AND_TIME(#1066,#1067);
#1066=CALENDAR_DATE(1993,19,7);
#1067=LOCAL_TIME(19,51,59.0,#29);
#1077=APPROVAL_PERSON_ORGANIZATION(#81,#1062,#1079);
#1079=APPROVAL_ROLE('Authorize product definition');
#1080=SHAPE_DEFINITION_REPRESENTATION(#1081,#9280);
#1081=PRODUCT_DEFINITION_SHAPE('FBR_Shape','Shape of Solid Hexagonal Cylinder',#17);
#9010 = DIMENSIONAL_EXPONENTS(1.0,0.0,0.0,0.0,0.0,0.0,0.0);
#9040 = (LENGTH_UNIT()NAMED_UNIT(*)SI_UNIT(.CENTI.,.METRE.));
#9041 = LENGTH_MEASURE_WITH_UNIT(POSITIVE_LENGTH_MEASURE(2.54),#9040);
#9042 = (CONVERSION_BASED_UNIT('inch',#9041)LENGTH_UNIT()NAMED_UNIT(#9010));
#9043 = (NAMED_UNIT(*)PLANE_ANGLE_UNIT()SI_UNIT($,.RADIAN.));
#9044 = (NAMED_UNIT(*)SI_UNIT($,.STERADIAN.)SOLID_ANGLE_UNIT());
#9045 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(0.000001),#9042,'xx','yy');
#9100 = DIRECTION('Dir1',(0.0,0.0,1.0));
#9101 = DIRECTION('Dir2',(1.0,0.0,0.0));
#9103 = DIRECTION('Dir4',(0.0,0.0,-1.0));
#9104 = DIRECTION('Dir5',(-1.0,0.0,0.0));
#9120 = CARTESIAN_POINT('CartPt1',(0.0,0.0,0.0));
#9121 = CARTESIAN_POINT('CartPt2',(0.0,2.0,0.0));
#9122 = CARTESIAN_POINT('CartPt3',(1.7320508,3.0,0.0));
#9123 = CARTESIAN_POINT('CartPt4',(3.4641016,2.0,0.0));
#9124 = CARTESIAN_POINT('CartPt5',(3.4641016,0.0,0.0));
#9125 = CARTESIAN_POINT('CartPt6',(1.7320508,-1.0,0.0));
#9126 = AXIS2_PLACEMENT_3D('Ax2P3D1',#9120,#9100,#9101);
#9127 = PLANE('Plane1',#9126);
#9128 = POLY_LOOP('PolyLoop1',(#9120,#9121,#9122,#9123,#9124,#9125));
#9129 = FACE_BOUND('FaceBnd1',#9128,.T.);
#9130 = FACE_SURFACE('FaceSurf1',(#9129),#9127,.F.);
#9150 = CARTESIAN_POINT('CartPt7',(0.0,0.0,8.0));
#9151 = CARTESIAN_POINT('CartPt8',(0.0,2.0,8.0));
#9152 = CARTESIAN_POINT('CartPt9',(1.7320508,3.0,8.0));
#9153 = CARTESIAN_POINT('CartPt10',(3.4641016,2.0,8.0));
#9154 = CARTESIAN_POINT('CartPt11',(3.4641016,0.0,8.0));
#9155 = CARTESIAN_POINT('CartPt12',(1.7320508,-1.0,8.0));
#9156 = AXIS2_PLACEMENT_3D('Ax2P3D2',#9150,#9100,#9101);
#9157 = PLANE('Plane2',#9156);
#9158 = POLY_LOOP('PolyLoop2',(#9150,#9151,#9152,#9153,#9154,#9155));
#9159 = FACE_BOUND('FaceBnd2',#9158,.F.);
#9160 = FACE_SURFACE('FaceSurf2',(#9159),#9157,.T.);
#9180 = AXIS2_PLACEMENT_3D('Ax2P3D3',#9120,#9101,#9103);
#9181 = PLANE('Plane3',#9180);
#9182 = POLY_LOOP('PolyLoop3',(#9120,#9121,#9151,#9150));
#9183 = FACE_BOUND('FaceBnd3',#9182,.F.);
#9184 = FACE_SURFACE('FaceSurf3',(#9183),#9181,.F.);
#9190 = DIRECTION('Dir6',(0.5,-0.8660254,0.0));
#9191 = AXIS2_PLACEMENT_3D('Ax2P3D4',#9121,#9190,#9103);
#9192 = PLANE('Plane4',#9191);
#9193 = POLY_LOOP('PolyLoop4',(#9121,#9122,#9152,#9151));
#9194 = FACE_BOUND('FaceBnd4',#9193,.F.);
#9195 = FACE_SURFACE('FaceSurf4',(#9194),#9192,.F.);
#9200 = DIRECTION('Dir7',(-0.5,-0.8660254,0.0));
#9201 = AXIS2_PLACEMENT_3D('Ax2P3D5',#9122,#9200,#9103);
#9202 = PLANE('Plane5',#9201);
#9203 = POLY_LOOP('PolyLoop5',(#9122,#9123,#9153,#9152));
#9204 = FACE_BOUND('FaceBnd5',#9203,.F.);
#9205 = FACE_SURFACE('FaceSurf5',(#9204),#9202,.F.);
#9210 = AXIS2_PLACEMENT_3D('Ax2P3D6',#9123,#9104,#9100);
#9211 = PLANE('Plane6',#9210);
#9212 = POLY_LOOP('PolyLoop6',(#9123,#9124,#9154,#9153));
#9213 = FACE_BOUND('FaceBnd6',#9212,.F.);
#9214 = FACE_SURFACE('FaceSurf6',(#9213),#9211,.F.);
#9220 = DIRECTION('Dir8',(-0.5,0.8660254,0.0));
#9221 = AXIS2_PLACEMENT_3D('Ax2P3D7',#9124,#9220,#9100);
#9222 = PLANE('Plane7',#9221);
#9223 = POLY_LOOP('PolyLoop7',(#9124,#9154,#9155,#9125));
#9224 = FACE_BOUND('FaceBnd7',#9223,.T.);
#9225 = FACE_SURFACE('FaceSurf7',(#9224),#9222,.F.);
#9230 = DIRECTION('Dir9',(0.5,0.8660254,0.0));
#9231 = AXIS2_PLACEMENT_3D('Ax2P3D8',#9125,#9230,#9100);
#9232 = PLANE('Plane8',#9231);
#9233 = POLY_LOOP('PolyLoop8',(#9125,#9120,#9150,#9155));
#9234 = FACE_BOUND('FaceBnd8',#9233,.F.);
#9235 = FACE_SURFACE('FaceSurf8',(#9234),#9232,.F.);
#9250 = CLOSED_SHELL('CloseSh1',(#9130,#9160,#9184,#9195,#9205,#9214,#9225,#9235));
#9260 = FACETED_BREP('FacedBrep1',#9250);
#9270 = (GEOMETRIC_REPRESENTATION_CONTEXT(3)
GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#9045))
GLOBAL_UNIT_ASSIGNED_CONTEXT((#9042,#9043,#9044))
REPRESENTATION_CONTEXT('CONTEXT for facetted brep test case','This is a 3d context using inches for linear dimension'));
#9280 = FACETED_BREP_SHAPE_REPRESENTATION('FBShapeRep1',(#9260),#9270);
ENDSEC;
END-ISO-10303-21;

View file

@ -1,264 +0,0 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('STEP conformance test data','AP203 class 6 - advanced brep'),'1');
FILE_NAME('rod_aspect1.p21','1994-12-14 T10:00:00',
('S. Dhar','S. Jetli','M. McFarland','J. Kindrick'),
('Industrial Technology Institute',
'P.O. Box 1485',
'Ann Arbor',
'Michigan',
'48106'),'NIST Data Probe, Release March 1993','conformance test suite','K. H. Muralidhar');
FILE_SCHEMA(('CONFIG_CONTROL_DESIGN'));
ENDSEC;
DATA;
#1=PRODUCT('41113','Rod with Conical Tip','Description for part 41113',(#2));
#2=MECHANICAL_CONTEXT('detailed design',#3,'mechanical');
#3=APPLICATION_CONTEXT('Control the configuration of three dimensional design');
#300=APPLICATION_PROTOCOL_DEFINITION('AP definition status','config_control_design', 1994, #3);
#4=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#5,#8,(#1));
#5=PERSON_AND_ORGANIZATION(#6,#7);
#6=PERSON('307-10-5806','Muralidhar','K.',('H.'),$,('PhD.'));
#1097=PERSONAL_ADDRESS($,'17147','New Hamburg Road',$,'Whitmore Lake','Michigan','48189','USA',$,'(313) 769-4306',$,$,(#6));
#7=ORGANIZATION('ITI-Michigan','Industrial Technology Institute','Anot-for-profit engineering and research center');
#8=PERSON_AND_ORGANIZATION_ROLE('design_owner');
#2101=PRODUCT_CATEGORY_RELATIONSHIP('root-to-standard','Relate the root to the standard product category',#1098,#1109);
#1109=PRODUCT_CATEGORY('standard_part','Identifies this as a standard part') ;
#1101=PRODUCT_CATEGORY_RELATIONSHIP('standard-to-detail','Relate the standard to the detail product category',#1109,#9);
#9=PRODUCT_RELATED_PRODUCT_CATEGORY('detail','Part Type for product 41113',(#1));
#1098=PRODUCT_CATEGORY('mechanical','mechanical product category: root node');
#1099=PRODUCT_CATEGORY_RELATIONSHIP('root-to-structural','Relates the root to the structural category',#1098,#1100);
#1100=PRODUCT_CATEGORY('structural','The structural product category');
#1110=PRODUCT_CATEGORY_RELATIONSHIP('structural-to-machined', 'Relates the structural to the machined category',#1100,#1102) ;
#1102=PRODUCT_RELATED_PRODUCT_CATEGORY('machined','The machined product category',(#1));
#10=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('A','Description of version with specified source for part 41113',#1,.BOUGHT.);
#11=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#13,#15,(#10));
#13=PERSON_AND_ORGANIZATION(#14,#7);
#14=PERSON('302-30-6149','Quadir','Nur',$,$,$);
#15=PERSON_AND_ORGANIZATION_ROLE('creator');
#44=CC_DESIGN_APPROVAL(#45,(#10));
#45=APPROVAL(#46,'Approved as initial STEP test case part');
#46=APPROVAL_STATUS('approved');
#47=APPROVAL_DATE_TIME(#48,#45);
#48=DATE_AND_TIME(#50,#51);
#50=CALENDAR_DATE(1993,17,7);
#51=LOCAL_TIME(13,29,52.0,#29);
#69=APPROVAL_PERSON_ORGANIZATION(#70,#45,#72);
#70=PERSON_AND_ORGANIZATION(#71,#7);
#71=PERSON('574-20-7069','Kindrick','James',$,$,$);
#72=APPROVAL_ROLE('Authorize part release');
#31=CC_DESIGN_SECURITY_CLASSIFICATION(#32,(#10));
#32=SECURITY_CLASSIFICATION('1993-C1','open availability of STEP test data',#33);
#33=SECURITY_CLASSIFICATION_LEVEL('unclassified');
#34=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#35,#39,(#32));
#35=DATE_AND_TIME(#36,#37);
#36=CALENDAR_DATE(1993,17,7);
#37=LOCAL_TIME(13,$,$,#29);
#39=DATE_TIME_ROLE('classification_date');
#40=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#41,#43,(#32));
#41=PERSON_AND_ORGANIZATION(#42,#7);
#42=PERSON('412-89-3456','Dhar','Shantanu',$,('Mr.'),$);
#43=PERSON_AND_ORGANIZATION_ROLE('classification_officer');
#53=CC_DESIGN_APPROVAL(#54,(#32));
#54=APPROVAL(#55,'Approved as unclassified step test data');
#55=APPROVAL_STATUS('approved');
#56=APPROVAL_DATE_TIME(#57,#54);
#57=DATE_AND_TIME(#58,#59);
#58=CALENDAR_DATE(1993,17,7);
#59=LOCAL_TIME(13,47,28.0,#29);
#73=APPROVAL_PERSON_ORGANIZATION(#74,#54,#76);
#74=PERSON_AND_ORGANIZATION(#75,#7);
#75=PERSON('525-94-5792','Matthews','Robert',('S.'),$,$);
#76=APPROVAL_ROLE('Authorize the security code');
#17=PRODUCT_DEFINITION('D1','Detailed drawing as planned for conformance testing',#10,#18);
#18=DESIGN_CONTEXT('detailed design',#3,'design');
#19=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#13,#23,(#17));
#23=PERSON_AND_ORGANIZATION_ROLE('creator');
#24=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#25,#30,(#17));
#25=DATE_AND_TIME(#27,#28);
#27=CALENDAR_DATE(1993,19,7);
#28=LOCAL_TIME(19,46,55.0,#29);
#29=COORDINATED_UNIVERSAL_TIME_OFFSET(8,$,.BEHIND.);
#30=DATE_TIME_ROLE('creation_date');
#61=CC_DESIGN_APPROVAL(#62,(#17));
#62=APPROVAL(#63,'Approved as STEP conformance testing drawing');
#63=APPROVAL_STATUS('approved');
#64=APPROVAL_DATE_TIME(#65,#62);
#65=DATE_AND_TIME(#66,#67);
#66=CALENDAR_DATE(1993,19,7);
#67=LOCAL_TIME(19,47,51.0,#29);
#77=APPROVAL_PERSON_ORGANIZATION(#70,#62,#79);
#79=APPROVAL_ROLE('Authorize product definition');
#80=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#81,#84,(#10,#1010));
#81=PERSON_AND_ORGANIZATION(#82,#83);
#82=PERSON('CDI-2','Dwaraka','B.',('K.'),$,$);
#83=ORGANIZATION('CDI','Contract Design, Inc.','Contract engineering organization');
#1096=ORGANIZATIONAL_ADDRESS($,'2901','Hubbard','P.O. Box 1485','Ann Arbor','Michigan','48106','USA','(313) 769-4069','(313) 769-4000',$,$,(#83));
#84=PERSON_AND_ORGANIZATION_ROLE('design_supplier');
#88=SUPPLIED_PART_RELATIONSHIP('design','design supplier','The supplier provides detailed designs',#17,#1017);
#85=CC_DESIGN_CERTIFICATION(#86,(#88));
#86=CERTIFICATION('ISO-9000 certified design supplier','quality control',#87);
#87=CERTIFICATION_TYPE('design_supplier');
#89=CC_DESIGN_APPROVAL(#90,(#86));
#90=APPROVAL(#91,'Approved as ISO-9000 certified supplier');
#91=APPROVAL_STATUS('approved');
#92=APPROVAL_PERSON_ORGANIZATION(#70,#90,#93);
#93=APPROVAL_ROLE('Authorize supplier certification');
#94=DATE_AND_TIME(#95,#96);
#95=CALENDAR_DATE(1993,20,4);
#96=LOCAL_TIME(15,47,51.0,#29);
#97=APPROVAL_DATE_TIME(#94,#90);
#98=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#100,#102,(#86));
#99=CALENDAR_DATE(1993,19,4);
#100=DATE_AND_TIME(#99,#101);
#101=LOCAL_TIME(10,41,59.0,#29);
#102=DATE_TIME_ROLE('certification_date');
#1103=PRODUCT('12345','Conical Tip Rod','CDI''s part 12345 description',(#2));
#2009=PRODUCT_RELATED_PRODUCT_CATEGORY('customer_furnished_equipment','Part Type for product 12345',(#1103));
#1104=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1013,#8,(#1103));
#1010=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('S-1','For Conical Tip Rod ',#1103,.MADE.);
#1011=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1013,#1016,(#1010));
#1013=PERSON_AND_ORGANIZATION(#1014,#83);
#1014=PERSON('CDI-1','Brandenberg','Chad',('David','George'),$,$);
#1016=PERSON_AND_ORGANIZATION_ROLE('creator');
#1044=CC_DESIGN_APPROVAL(#1045,(#1010));
#1045=APPROVAL(#1046,'Approved as test part design');
#1046=APPROVAL_STATUS('approved');
#1047=APPROVAL_DATE_TIME(#1048,#1045);
#1048=DATE_AND_TIME(#1050,#1051);
#1050=CALENDAR_DATE(1993,19,7);
#1051=LOCAL_TIME(19,51,59.0,#29);
#1069=APPROVAL_PERSON_ORGANIZATION(#1070,#1045,#1072);
#1070=PERSON_AND_ORGANIZATION(#82,#83);
#1072=APPROVAL_ROLE('Authorize part version');
#1031=CC_DESIGN_SECURITY_CLASSIFICATION(#1032,(#1010));
#1032=SECURITY_CLASSIFICATION('1993-C2','open availability of test part designs',#1033);
#1033=SECURITY_CLASSIFICATION_LEVEL('unclassified');
#1034=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#1035,#1039,(#1032));
#1035=DATE_AND_TIME(#1036,#1037);
#1036=CALENDAR_DATE(1993,19,7);
#1037=LOCAL_TIME(19,45,41.0,#29);
#1039=DATE_TIME_ROLE('classification_date');
#1040=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1041,#1043,(#1032));
#1041=PERSON_AND_ORGANIZATION(#1042,#83);
#1042=PERSON('CDI-3','Sauter','Mitch',$,$,$);
#1043=PERSON_AND_ORGANIZATION_ROLE('classification_officer');
#1111=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#1112,#1115,(#1032));
#1112=DATE_AND_TIME(#1113,#1114);
#1113=CALENDAR_DATE(1993,1,10);
#1114=LOCAL_TIME(9,$,$,#29);
#1115=DATE_TIME_ROLE('declassification_date');
#1053=CC_DESIGN_APPROVAL(#1054,(#1032));
#1054=APPROVAL(#1055,'Approved as unclassified part design');
#1055=APPROVAL_STATUS('approved');
#1056=APPROVAL_DATE_TIME(#1057,#1054);
#1057=DATE_AND_TIME(#1058,#1059);
#1058=CALENDAR_DATE(1993,19,7);
#1059=LOCAL_TIME(19,47,58.0,#29);
#1073=APPROVAL_PERSON_ORGANIZATION(#81,#1054,#1076);
#1076=APPROVAL_ROLE('Authorize the security code');
#1019=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1013,#1023,(#1017));
#1023=PERSON_AND_ORGANIZATION_ROLE('creator');
#1024=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#1025,#1030,(#1017));
#1025=DATE_AND_TIME(#1027,#1028);
#1027=CALENDAR_DATE(1993,18,7);
#1028=LOCAL_TIME(10,51,59.0,#29);
#1030=DATE_TIME_ROLE('creation_date');
#1061=CC_DESIGN_APPROVAL(#1062,(#1017));
#1062=APPROVAL(#1063,'Approved as detailed drawing');
#1063=APPROVAL_STATUS('approved');
#1064=APPROVAL_DATE_TIME(#1065,#1062);
#1065=DATE_AND_TIME(#1066,#1067);
#1066=CALENDAR_DATE(1993,19,7);
#1067=LOCAL_TIME(19,51,59.0,#29);
#1077=APPROVAL_PERSON_ORGANIZATION(#81,#1062,#1079);
#1017=PRODUCT_DEFINITION_WITH_ASSOCIATED_DOCUMENTS('D2','Description of product for part 1234',#1010,#1018, (#1116));
#1018=PRODUCT_DEFINITION_CONTEXT('detailed design',#3,'design');
#1079=APPROVAL_ROLE('Authorize product definition');
#1116=DOCUMENT('rod_aspectA.dhc','Conical Tip Rod CAD file','CAD file for Rod with Conical Tip',#1117);
#1117=DOCUMENT_TYPE('cad_filename');
#1080=CC_DESIGN_CONTRACT(#1081,(#10));
#1081=CONTRACT('ITI-1121','Development of STEP conformance testing',#1082);
#1082=CONTRACT_TYPE('fixed_price');
#1083=CC_DESIGN_APPROVAL(#1084,(#1081));
#1084=APPROVAL(#1085,'Approved as active project under contract');
#1085=APPROVAL_STATUS('approved');
#1086=APPROVAL_PERSON_ORGANIZATION(#1087,#1084,#1090);
#1087=PERSON_AND_ORGANIZATION(#1088,#1089);
#1088=PERSON('212-33-7485','Masters','Larry',$,$,$);
#1089=ORGANIZATION('NIST','National Institute of Standards and Technology','Institute within the Department of Commerce');
#1090=APPROVAL_ROLE('Authorized the contract');
#1105=APPROVAL_DATE_TIME(#1106,#1084);
#1106=DATE_AND_TIME(#1107,#1108);
#1107=WEEK_OF_YEAR_AND_DAY_DATE(1993,20,5);
#1108=LOCAL_TIME(14,21,7.0,#29);
#1091=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1092,#1095,(#1081));
#1092=PERSON_AND_ORGANIZATION(#1093,#7);
#1093=PERSON('355-55-6849','Kuper','George',$,$,$);
#1095=PERSON_AND_ORGANIZATION_ROLE('contractor');
#1200=SHAPE_DEFINITION_REPRESENTATION(#1201,#9370);
#1201=PRODUCT_DEFINITION_SHAPE('ABR_Shape','Shape of rod with conical tip',#17);
#1202=SHAPE_DEFINITION_REPRESENTATION(#1201,#9390);
#9020=DIMENSIONAL_EXPONENTS(1.0,0.0,0.0,0.0,0.0,0.0,0.0);
#9040 =(LENGTH_UNIT()NAMED_UNIT(*)SI_UNIT(.MILLI.,.METRE.));
#9041 =(NAMED_UNIT(*)PLANE_ANGLE_UNIT()SI_UNIT($,.RADIAN.));
#9042 =(NAMED_UNIT(*)SI_UNIT($,.STERADIAN.)SOLID_ANGLE_UNIT());
#9043 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(0.000001),#9040,'xx','yy');
#9100 = CARTESIAN_POINT('CartPt1',(0.0,0.0,0.0));
#9101 = DIRECTION('Dir1',(0.1,0.0,0.0));
#9103 = DIRECTION('Dir3',(0.0,0.0,1.0));
#9120 = AXIS2_PLACEMENT_3D('Ax2P3D1',#9100,#9103,#9101);
#9121 = PLANE('Plane1',#9120);
#9122 = CIRCLE('Circ1',#9120,2.5);
#9123 = CARTESIAN_POINT('CartPt2',(2.5,0.0,0.0));
#9124 = VERTEX_POINT('VertPt1',#9123);
#9125 = EDGE_CURVE('EdgeCur1',#9124,#9124,#9122,.T.);
#9126 = ORIENTED_EDGE('OriEdge1',*,*,#9125,.T.);
#9127 = EDGE_LOOP('EdgeLoop1',(#9126));
#9128 = FACE_BOUND('FaceBnd1',#9127,.F.);
#9130 = ADVANCED_FACE('AdvFace1',(#9128),#9121,.F.);
#9140 = CARTESIAN_POINT('CartPt3',(0.0,0.0,5.0));
#9141 = AXIS2_PLACEMENT_3D('Ax2P3D2',#9140,#9103,#9101);
#9143 = CIRCLE('Circ2',#9141,5.0);
#9144 = CARTESIAN_POINT('CartPt4',(5.0,0.0,5.0));
#9145 = VERTEX_POINT('VertPt2',#9144);
#9146 = EDGE_CURVE('EdgeCur2',#9145,#9145,#9143,.T.);
#9147 = ORIENTED_EDGE('OriEdge2',*,*,#9146,.F.);
#9148 = EDGE_LOOP('EdgeLoop2',(#9147));
#9149 = FACE_BOUND('FaceBnd2',#9148,.T.);
#9150 = FACE_BOUND('FaceBnd3',#9127,.T.);
#9160 = CONICAL_SURFACE('ConSur1',#9120,2.5,0.46364761);
#9170 = ADVANCED_FACE('AdvFace2',(#9149,#9150),#9160,.T.);
#9180 = CARTESIAN_POINT('CartPt5',(0.0,0.0,50.0));
#9181 = AXIS2_PLACEMENT_3D('Ax2P3D3',#9180,#9103,#9101);
#9182 = CIRCLE('Circ3',#9181,5.0);
#9183 = CARTESIAN_POINT('CartPt6',(5.0,0.0,50.0));
#9184 = VERTEX_POINT('VertPt3',#9183);
#9185 = EDGE_CURVE('EdgeCur3',#9184,#9184,#9182,.T.);
#9186 = ORIENTED_EDGE('OriEdge3',*,*,#9185,.F.);
#9187 = EDGE_LOOP('EdgeLoop3',(#9186));
#9188 = FACE_BOUND('FaceBnd4',#9187,.T.);
#9190 = FACE_BOUND('FaceBnd5',#9148,.F.);
#9200 = CYLINDRICAL_SURFACE('CylSur1',#9141,5.0);
#9210 = ADVANCED_FACE('AdvFace3',(#9188,#9190),#9200,.T.);
#9211 = PLANE('Plane2',#9181);
#9212 = FACE_BOUND('FaceBnd6',#9187,.F.);
#9213 = ADVANCED_FACE('AdvFace4',(#9212),#9211,.T.);
#9230 = PLANE('Plane3',#9141);
#9232 = ADVANCED_FACE('AdvFace5',(#9190),#9230,.T.);
#9233 = ADVANCED_FACE('AdvFace6',(#9149),#9230,.F.);
#9240 = CLOSED_SHELL('CloseSh1',(#9130,#9170,#9232));
#9250 = CLOSED_SHELL('CloseSh2',(#9233,#9210,#9213));
#9260 = MANIFOLD_SOLID_BREP('ManSolBrep1',#9240);
#9270 = MANIFOLD_SOLID_BREP('ManSolBrep2',#9250);
#9370 = ADVANCED_BREP_SHAPE_REPRESENTATION('ABShapeRep1',(#9260,#9270),#9360);
#9360 = (GEOMETRIC_REPRESENTATION_CONTEXT(3)
GLOBAL_UNIT_ASSIGNED_CONTEXT((#9040,#9041,#9042))
REPRESENTATION_CONTEXT('CONTEXT for advanced brep test case rod with conical tip aspect','This is a 3d context using millimeters for linear dimension'));
#9390 = ADVANCED_BREP_SHAPE_REPRESENTATION('ABShapeRep2',(#9260),#9380);
#9380 = (GEOMETRIC_REPRESENTATION_CONTEXT(3)
GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#9043))
GLOBAL_UNIT_ASSIGNED_CONTEXT((#9040,#9041,#9042))
REPRESENTATION_CONTEXT('CONTEXT for advanced brep test case conical tip aspect of rod','This is a 3d context using millimeters for linear dimension'));
ENDSEC;
END-ISO-10303-21;

View file

@ -1,467 +0,0 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('STEP conformance test data','AP203 class 2 - ntsw'),'1');
FILE_NAME('star1.p21','1994-12-14 T10:00:00',
('S. Dhar','S. Jetli','M. McFarland','J. Kindrick'),
('Industrial Technology Institute',
'P.O. Box 1485',
'Ann Arbor',
'Michigan',
'48106'),'NIST Data Probe, Release March 1993','conformance test suite','K. H. Muralidhar');
FILE_SCHEMA(('CONFIG_CONTROL_DESIGN'));
ENDSEC;
DATA;
#1=PRODUCT('11114','Star Cog','Description for part 11114',(#2));
#2=MECHANICAL_CONTEXT('detailed design',#3,'mechanical');
#3=APPLICATION_CONTEXT('Control the configuration of three dimensional design');
#300=APPLICATION_PROTOCOL_DEFINITION('AP definition status','config_control_design', 1994, #3);
#4=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#5,#8,(#1));
#5=PERSON_AND_ORGANIZATION(#6,#7);
#6=PERSON('307-10-5806','Muralidhar','K.',('H.'),$,$);
#7=ORGANIZATION('ITI-Michigan','Industrial Technology Institute','A not-for-profit engineering and research center');
#8=PERSON_AND_ORGANIZATION_ROLE('design_owner');
#9=PRODUCT_RELATED_PRODUCT_CATEGORY('detail','Part Type for product 11114',(#1));
#10=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('A','Description of version with specified source for part 11114',#1,.BOUGHT.);
#11=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#13,#15,(#10));
#13=PERSON_AND_ORGANIZATION(#14,#7);
#14=PERSON('302-30-6149','Quadir','Nur',$,$,$);
#15=PERSON_AND_ORGANIZATION_ROLE('creator');
#44=CC_DESIGN_APPROVAL(#45,(#10));
#45=APPROVAL(#46,'Approved as initial STEP test case part');
#46=APPROVAL_STATUS('approved');
#47=APPROVAL_DATE_TIME(#48,#45);
#48=DATE_AND_TIME(#50,#51);
#50=CALENDAR_DATE(1993,17,7);
#51=LOCAL_TIME(13,29,52.0,#29);
#69=APPROVAL_PERSON_ORGANIZATION(#70,#45,#72);
#70=PERSON_AND_ORGANIZATION(#71,#7);
#71=PERSON('574-20-7069','Kindrick','James',$,$,$);
#72=APPROVAL_ROLE('Authorize part release');
#31=CC_DESIGN_SECURITY_CLASSIFICATION(#32,(#10));
#32=SECURITY_CLASSIFICATION('1993-C1','open availability of STEP test data',#33);
#33=SECURITY_CLASSIFICATION_LEVEL('unclassified');
#34=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#35,#39,(#32));
#35=DATE_AND_TIME(#36,#37);
#36=CALENDAR_DATE(1993,17,7);
#37=LOCAL_TIME(13,45,20.0,#29);
#39=DATE_TIME_ROLE('classification_date');
#40=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#41,#43,(#32));
#41=PERSON_AND_ORGANIZATION(#42,#7);
#42=PERSON('412-89-3456','Dhar','Shantanu',$,('Mr.'),$);
#43=PERSON_AND_ORGANIZATION_ROLE('classification_officer');
#53=CC_DESIGN_APPROVAL(#54,(#32));
#54=APPROVAL(#55,'Approved as unclassified step test data');
#55=APPROVAL_STATUS('approved');
#56=APPROVAL_DATE_TIME(#57,#54);
#57=DATE_AND_TIME(#58,#59);
#58=CALENDAR_DATE(1993,17,7);
#59=LOCAL_TIME(13,47,28.0,#29);
#73=APPROVAL_PERSON_ORGANIZATION(#74,#54,#76);
#74=PERSON_AND_ORGANIZATION(#75,#7);
#75=PERSON('525-94-5792','Matthews','Robert',('S.'),$,$);
#76=APPROVAL_ROLE('Authorize the security code');
#17=PRODUCT_DEFINITION('D1','Detailed drawing as planned for conformance testing',#10,#18);
#18=DESIGN_CONTEXT('detailed design',#3,'design');
#19=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#13,#23,(#17));
#23=PERSON_AND_ORGANIZATION_ROLE('creator');
#24=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#25,#30,(#17));
#25=DATE_AND_TIME(#27,#28);
#27=CALENDAR_DATE(1993,19,7);
#28=LOCAL_TIME(19,46,55.0,#29);
#29=COORDINATED_UNIVERSAL_TIME_OFFSET(8,$,.BEHIND.);
#30=DATE_TIME_ROLE('creation_date');
#61=CC_DESIGN_APPROVAL(#62,(#17));
#62=APPROVAL(#63,'Approved as STEP conformance testing drawing');
#63=APPROVAL_STATUS('approved');
#64=APPROVAL_DATE_TIME(#65,#62);
#65=DATE_AND_TIME(#66,#67);
#66=CALENDAR_DATE(1993,19,7);
#67=LOCAL_TIME(19,47,51.0,#29);
#77=APPROVAL_PERSON_ORGANIZATION(#70,#62,#79);
#79=APPROVAL_ROLE('Authorize product definition');
#80=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#81,#84,(#10,#1010));
#81=PERSON_AND_ORGANIZATION(#82,#83);
#82=PERSON('CDI-2','Dwaraka','B.',('K.'),$,$);
#83=ORGANIZATION('CDI','Contract Design, Inc.','Contract engineering organization.');
#84=PERSON_AND_ORGANIZATION_ROLE('design_supplier');
#88=SUPPLIED_PART_RELATIONSHIP('design','design supplier','The supplier provides detailed designs',#17,#1017);
#85=CC_DESIGN_CERTIFICATION(#86,(#88));
#86=CERTIFICATION('ISO-9000 certified design supplier','quality control',#87);
#87=CERTIFICATION_TYPE('design_supplier');
#89=CC_DESIGN_APPROVAL(#90,(#86));
#90=APPROVAL(#91,'Approved as ISO-9000 certified supplier');
#91=APPROVAL_STATUS('approved');
#92=APPROVAL_PERSON_ORGANIZATION(#70,#90,#93);
#93=APPROVAL_ROLE('Authorize supplier certification');
#94=DATE_AND_TIME(#95,#96);
#95=CALENDAR_DATE(1993,20,4);
#96=LOCAL_TIME(15,47,51.0,#29);
#97=APPROVAL_DATE_TIME(#94,#90);
#98=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#100,#102,(#86));
#99=CALENDAR_DATE(1993,19,4);
#100=DATE_AND_TIME(#99,#101);
#101=LOCAL_TIME(10,41,59.0,#29);
#102=DATE_TIME_ROLE('certification_date');
#1010=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('S-1','For Star Cog ',#1,.MADE.);
#1011=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1013,#1016,(#1010));
#1013=PERSON_AND_ORGANIZATION(#1014,#83);
#1014=PERSON('CDI-1','Brandenberg','Chad',$,$,$);
#1016=PERSON_AND_ORGANIZATION_ROLE('creator');
#1044=CC_DESIGN_APPROVAL(#1045,(#1010));
#1045=APPROVAL(#1046,'Approved as test part design');
#1046=APPROVAL_STATUS('approved');
#1047=APPROVAL_DATE_TIME(#1048,#1045);
#1048=DATE_AND_TIME(#1050,#1051);
#1050=CALENDAR_DATE(1993,19,7);
#1051=LOCAL_TIME(19,51,59.0,#29);
#1069=APPROVAL_PERSON_ORGANIZATION(#1070,#1045,#1072);
#1070=PERSON_AND_ORGANIZATION(#82,#83);
#1072=APPROVAL_ROLE('Authorize part version');
#1031=CC_DESIGN_SECURITY_CLASSIFICATION(#1032,(#1010));
#1032=SECURITY_CLASSIFICATION('1993-C2','open availability of test part designs',#1033);
#1033=SECURITY_CLASSIFICATION_LEVEL('unclassified');
#1034=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#1035,#1039,(#1032));
#1035=DATE_AND_TIME(#1036,#1037);
#1036=CALENDAR_DATE(1993,19,7);
#1037=LOCAL_TIME(19,45,41.0,#29);
#1039=DATE_TIME_ROLE('classification_date');
#1040=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1041,#1043,(#1032));
#1041=PERSON_AND_ORGANIZATION(#1042,#83);
#1042=PERSON('CDI-3','Sauter','Mitch',$,$,$);
#1043=PERSON_AND_ORGANIZATION_ROLE('classification_officer');
#1053=CC_DESIGN_APPROVAL(#1054,(#1032));
#1054=APPROVAL(#1055,'Approved as unclassified part design');
#1055=APPROVAL_STATUS('approved');
#1056=APPROVAL_DATE_TIME(#1057,#1054);
#1057=DATE_AND_TIME(#1058,#1059);
#1058=CALENDAR_DATE(1993,19,7);
#1059=LOCAL_TIME(19,47,58.0,#29);
#1073=APPROVAL_PERSON_ORGANIZATION(#81,#1054,#1076);
#1076=APPROVAL_ROLE('Authorize the security code');
#1017=PRODUCT_DEFINITION('D2','Description of product for part 11114',#1010,#1018);
#1018=DESIGN_CONTEXT('detailed design',#3,'design');
#1019=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1013,#1023,(#1017));
#1023=PERSON_AND_ORGANIZATION_ROLE('creator');
#1024=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#1025,#1030,(#1017));
#1025=DATE_AND_TIME(#1027,#1028);
#1027=CALENDAR_DATE(1993,18,7);
#1028=LOCAL_TIME(10,51,59.0,#29);
#1030=DATE_TIME_ROLE('creation_date');
#1061=CC_DESIGN_APPROVAL(#1062,(#1017));
#1062=APPROVAL(#1063,'Approved as detailed drawing');
#1063=APPROVAL_STATUS('approved');
#1064=APPROVAL_DATE_TIME(#1065,#1062);
#1065=DATE_AND_TIME(#1066,#1067);
#1066=CALENDAR_DATE(1993,19,7);
#1067=LOCAL_TIME(19,51,59.0,#29);
#1077=APPROVAL_PERSON_ORGANIZATION(#81,#1062,#1079);
#1079=APPROVAL_ROLE('Authorize product definition');
#1200=SHAPE_DEFINITION_REPRESENTATION(#1201,#9810);
#1201=PRODUCT_DEFINITION_SHAPE('GBWR_Shape','Shape of Star Cog',#17);
#9101=CARTESIAN_POINT('CartPt1',(0.0, 0.0, 0.5));
#9102=CARTESIAN_POINT('CartPt2',(0.125, 0.4841, 0.5));
#9103=CARTESIAN_POINT('CartPt3',(0.125, 0.7500, 0.5));
#9104=CARTESIAN_POINT('CartPt4',(-0.125, 0.4841, 0.5));
#9105=CARTESIAN_POINT('CartPt5',(-0.125, 0.7500, 0.5));
#9107=DIRECTION('Dir1',(0.0, 0.0, 1.0));
#9108=AXIS2_PLACEMENT_3D('Ax2P3D1',#9101,#9107, $);
#9109=CIRCLE('Circ1',#9108, 0.500);
#9110=TRIMMED_CURVE('TrimCur1',#9109, (#9102), (#9104), .F., .CARTESIAN.);
#9111=POLYLINE('PolyLine1',(#9102,#9103,#9105,#9104));
#9120=CARTESIAN_POINT('CartPt6',(0.0, 0.0, 0.0));
#9121=CARTESIAN_POINT('CartPt7',(0.125, 0.4841, 0.0));
#9122=CARTESIAN_POINT('CartPt8',(0.125, 0.7500, 0.0));
#9123=CARTESIAN_POINT('CartPt9',(-0.125, 0.4841, 0.0));
#9124=CARTESIAN_POINT('CartPt10',(-0.125, 0.7500, 0.0));
#9128=AXIS2_PLACEMENT_3D('Ax2P3D2',#9120,#9107, $);
#9129=CIRCLE('Circ2',#9128, 0.500);
#9130=TRIMMED_CURVE('TrimCur2',#9129, (#9121), (#9123), .F., .UNSPECIFIED.);
#9131=POLYLINE('PolyLine2',(#9121,#9122,#9124,#9123));
#9140=CIRCLE('Circ3',#9108, 2.880);
#9141=CIRCLE('Circ4',#9128, 2.880);
#9145=CARTESIAN_POINT('CartPt11',(0.25, 1.5, 0.5));
#9146=CARTESIAN_POINT('CartPt12',(0.25, 1.5, 0.0));
#9150=CARTESIAN_POINT('CartPt13',(0.25, 2.8691, 0.5));
#9151=CARTESIAN_POINT('CartPt14',(0.25, 2.8691, 0.0));
#9153=POLYLINE('PolyLine3',(#9150,#9145,#9146,#9151));
#9155=CARTESIAN_POINT('CartPt15',(0.6013, 2.8165, 0.5));
#9156=CARTESIAN_POINT('CartPt16',(0.6013, 2.8165, 0.0));
#9158=TRIMMED_CURVE('TrimCur3',#9140, (#9150), (#9155), .F., .CARTESIAN.);
#9159=TRIMMED_CURVE('TrimCur4',#9141, (#9151), (#9156), .F., .CARTESIAN.);
#9160=CARTESIAN_POINT('CartPt17',(2.1386, 1.9290, 0.5));
#9161=CARTESIAN_POINT('CartPt18',(2.1386, 1.9290, 0.0));
#9170=CARTESIAN_POINT('CartPt19',(1.81, 3.1350, 0.5));
#9171=AXIS2_PLACEMENT_3D('Ax2P3D3',#9170,#9107, $);
#9172=CIRCLE('Circ5',#9171, 1.25);
#9173=TRIMMED_CURVE('TrimCur5',#9172, (#9155), (#9160), .T., .CARTESIAN.);
#9175=CARTESIAN_POINT('CartPt20',(1.81, 3.1350, 0.0));
#9176=AXIS2_PLACEMENT_3D('Ax2P3D4',#9175,#9107, $);
#9177=CIRCLE('Circ6',#9176, 1.25);
#9178=TRIMMED_CURVE('TrimCur6',#9177, (#9156), (#9161), .T., .CARTESIAN.);
#9180=CARTESIAN_POINT('CartPt21',(2.3579, 1.6511, 0.5));
#9181=CARTESIAN_POINT('CartPt22',(2.3579, 1.6511, 0.0));
#9183=CARTESIAN_POINT('CartPt23',(1.1740, 0.9665, 0.5));
#9184=CARTESIAN_POINT('CartPt24',(1.1740, 0.9665, 0.0));
#9185=POLYLINE('PolyLine4',(#9180,#9183,#9184,#9181));
#9186=CARTESIAN_POINT('CartPt25',(1.0825, 0.625, 0.5));
#9187=CARTESIAN_POINT('CartPt26',(1.0825, 0.625, 0.0));
#9190=CARTESIAN_POINT('CartPt27',(1.4240, 0.5335, 0.5));
#9191=CARTESIAN_POINT('CartPt28',(1.4240, 0.5335, 0.0));
#9194=B_SPLINE_CURVE_WITH_KNOTS('BSCurKnot1',1, (#9183,#9186,#9190), .POLYLINE_FORM., .F.,
.F., (2,1,2), (0.0, 1.0, 2.0), .UNSPECIFIED.);
#9195=B_SPLINE_CURVE_WITH_KNOTS('BSCurKnot2',1, (#9184,#9187,#9191), .POLYLINE_FORM., .F.,
.F., (2,1,2), (0.0, 1.0, 2.0), .UNSPECIFIED.);
#9196=CARTESIAN_POINT('CartPt29',(2.6097, 1.2181, 0.5));
#9197=CARTESIAN_POINT('CartPt30',(2.6097, 1.2181, 0.0));
#9198=POLYLINE('PolyLine5',(#9190,#9196,#9197,#9191));
#9200=CARTESIAN_POINT('CartPt31',(2.7398, 0.8876, 0.5));
#9201=CARTESIAN_POINT('CartPt32',(2.7398, 0.8876, 0.0));
#9205=CARTESIAN_POINT('CartPt33',(2.7398, -0.8876, 0.5));
#9206=CARTESIAN_POINT('CartPt34',(2.7398, -0.8876, 0.0));
#9208=CARTESIAN_POINT('CartPt35',(3.62, 0.0, 0.5));
#9209=AXIS2_PLACEMENT_3D('Ax2P3D5',#9208,#9107, $);
#9210=CIRCLE('Circ7',#9209, 1.25);
#9211=TRIMMED_CURVE('TrimCur7',#9210, (#9200), (#9205), .T., .CARTESIAN.);
#9212=CARTESIAN_POINT('CartPt36',(3.62, 0.0, 0.0));
#9213=AXIS2_PLACEMENT_3D('Ax2P3D6',#9212,#9107, $);
#9214=CIRCLE('Circ8',#9213, 1.25);
#9215=TRIMMED_CURVE('TrimCur8',#9214, (#9201), (#9206), .T., .CARTESIAN.);
#9220=CARTESIAN_POINT('CartPt37',(2.6097, -1.2181, 0.5));
#9221=CARTESIAN_POINT('CartPt38',(2.6097, -1.2181, 0.0));
#9225=CARTESIAN_POINT('CartPt39',(1.4240, -0.5335, 0.5));
#9226=CARTESIAN_POINT('CartPt40',(1.4240, -0.5335, 0.0));
#9227=POLYLINE('PolyLine6',(#9220,#9225,#9226,#9221));
#9230=CARTESIAN_POINT('CartPt41',(1.0825, -0.625, 0.5));
#9231=CARTESIAN_POINT('CartPt42',(1.0825, -0.625, 0.0));
#9235=CARTESIAN_POINT('CartPt43',(1.1740, -0.9665, 0.5));
#9236=CARTESIAN_POINT('CartPt44',(1.1740, -0.9665, 0.0));
#9238=QUASI_UNIFORM_CURVE('QUnifCur1',1, (#9225,#9230,#9235), .POLYLINE_FORM., .F., .F.);
#9239=QUASI_UNIFORM_CURVE('QUnifCur2',1, (#9226,#9231,#9236),.UNSPECIFIED., .U., .U.);
#9240=CARTESIAN_POINT('CartPt45',(2.3579, -1.6511, 0.5));
#9241=CARTESIAN_POINT('CartPt46',(2.3579, -1.6511, 0.0));
#9242=POLYLINE('PolyLine7',(#9235,#9240,#9241,#9236));
#9245=CARTESIAN_POINT('CartPt47',(2.1386, -1.9290, 0.5));
#9246=CARTESIAN_POINT('CartPt48',(2.1386, -1.9290, 0.0));
#9250=CARTESIAN_POINT('CartPt49',(0.6013, -2.8165, 0.5));
#9251=CARTESIAN_POINT('CartPt50',(0.6013, -2.8165, 0.0));
#9255=CARTESIAN_POINT('CartPt51',(1.81, -3.1350, 0.5));
#9256=AXIS2_PLACEMENT_3D('Ax2P3D7',#9255,#9107, $);
#9257=CIRCLE('Circ9',#9256, 1.25);
#9258=TRIMMED_CURVE('TrimCur9',#9257, (#9245), (#9250), .T., .CARTESIAN.);
#9260=CARTESIAN_POINT('CartPt52',(1.81, -3.1350, 0.0));
#9261=AXIS2_PLACEMENT_3D('Ax2P3D8',#9260,#9107, $);
#9262=CIRCLE('Circ10',#9261, 1.25);
#9263=TRIMMED_CURVE('TrimCur10',#9262, (#9246), (#9251), .T., .CARTESIAN.);
#9265=CARTESIAN_POINT('CartPt53',(0.25, -2.8691, 0.5));
#9266=CARTESIAN_POINT('CartPt54',(0.25, -2.8691, 0.0));
#9270=CARTESIAN_POINT('CartPt55',(0.25, -1.5, 0.5));
#9271=CARTESIAN_POINT('CartPt56',(0.25, -1.5, 0.0));
#9272=POLYLINE('PolyLine8',(#9265,#9270,#9271,#9266));
#9275=CARTESIAN_POINT('CartPt57',(0.0, -1.25, 0.5));
#9276=CARTESIAN_POINT('CartPt58',(0.0, -1.25, 0.0));
#9280=CARTESIAN_POINT('CartPt59',(-0.25, -1.5, 0.5));
#9281=CARTESIAN_POINT('CartPt60',(-0.25, -1.5, 0.0));
#9283=QUASI_UNIFORM_CURVE('QUnifCur3',1, (#9270,#9275,#9280), .POLYLINE_FORM., .U., .U.);
#9284=QUASI_UNIFORM_CURVE('QUnifCur4',1, (#9271,#9276,#9281), .UNSPECIFIED., .F., .F.);
#9285=CARTESIAN_POINT('CartPt61',(-0.25, -2.8691, 0.5));
#9286=CARTESIAN_POINT('CartPt62',(-0.25, -2.8691, 0.0));
#9287=POLYLINE('PolyLine9',(#9280,#9285,#9286,#9281));
#9290=CARTESIAN_POINT('CartPt63',(-0.6013, -2.8165, 0.5));
#9291=CARTESIAN_POINT('CartPt64',(-0.6013, -2.8165, 0.0));
#9295=CARTESIAN_POINT('CartPt65',(-2.1386, -1.9290, 0.5));
#9296=CARTESIAN_POINT('CartPt66',(-2.1386, -1.9290, 0.0));
#9300=CARTESIAN_POINT('CartPt67',(-1.81, -3.1350, 0.5));
#9301=AXIS2_PLACEMENT_3D('Ax2P3D9',#9300,#9107, $);
#9302=CIRCLE('Circ11',#9301, 1.25);
#9303=TRIMMED_CURVE('TrimCur11',#9302, (#9290), (#9295), .T., .CARTESIAN.);
#9305=CARTESIAN_POINT('CartPt68',(-1.81, -3.1350, 0.0));
#9306=AXIS2_PLACEMENT_3D('Ax2P3D10',#9305,#9107, $);
#9307=CIRCLE('Circ12',#9306, 1.25);
#9308=TRIMMED_CURVE('TrimCur12',#9307, (#9291), (#9296), .T., .CARTESIAN.);
#9310=CARTESIAN_POINT('CartPt69',(-2.3579, -1.6511, 0.5));
#9311=CARTESIAN_POINT('CartPt70',(-2.3579, -1.6511, 0.0));
#9315=CARTESIAN_POINT('CartPt71',(-1.1740, -0.9665, 0.5));
#9316=CARTESIAN_POINT('CartPt72',(-1.1740, -0.9665, 0.0));
#9317=POLYLINE('PolyLine10',(#9310,#9315,#9316,#9311));
#9320=CARTESIAN_POINT('CartPt73',(-1.0825, -0.625, 0.5));
#9321=CARTESIAN_POINT('CartPt74',(-1.0825, -0.625, 0.0));
#9325=CARTESIAN_POINT('CartPt75',(-1.4240, -0.5335, 0.5));
#9326=CARTESIAN_POINT('CartPt76',(-1.4240, -0.5335, 0.0));
#9328=B_SPLINE_CURVE_WITH_KNOTS('BSCurKnot3',1, (#9315,#9320,#9325), .POLYLINE_FORM., .F.,
.F., (2,1,2), (0.0, 1.0, 2.0), .UNSPECIFIED.);
#9329=B_SPLINE_CURVE_WITH_KNOTS('BSCurKnot4',1, (#9316,#9321,#9326), .POLYLINE_FORM., .F.,
.F., (2,1,2), (0.0, 1.0, 2.0), .UNSPECIFIED.);
#9330=CARTESIAN_POINT('CartPt77',(-2.6097, -1.2181, 0.5));
#9331=CARTESIAN_POINT('CartPt78',(-2.6097, -1.2181, 0.0));
#9332=POLYLINE('PolyLine11',(#9325,#9330,#9331,#9326));
#9335=CARTESIAN_POINT('CartPt79',(-2.7398, -0.8876, 0.5));
#9336=CARTESIAN_POINT('CartPt80',(-2.7398, -0.8876, 0.0));
#9340=CARTESIAN_POINT('CartPt81',(-2.7398, 0.8876, 0.5));
#9341=CARTESIAN_POINT('CartPt82',(-2.7398, 0.8876, 0.0));
#9345=CARTESIAN_POINT('CartPt83',(-3.62, 0.0, 0.5));
#9346=AXIS2_PLACEMENT_3D('Ax2P3D11',#9345,#9107, $);
#9347=CIRCLE('Circ13',#9346, 1.25);
#9348=TRIMMED_CURVE('TrimCur13',#9347, (#9335), (#9340), .T., .CARTESIAN.);
#9350=CARTESIAN_POINT('CartPt84',(-3.62, 0.0, 0.0));
#9351=AXIS2_PLACEMENT_3D('Ax2P3D12',#9350,#9107, $);
#9352=CIRCLE('Circ14',#9351, 1.25);
#9353=TRIMMED_CURVE('TrimCur14',#9352, (#9336), (#9341), .T., .CARTESIAN.);
#9355=CARTESIAN_POINT('CartPt85',(-2.6097, 1.2181, 0.5));
#9356=CARTESIAN_POINT('CartPt86',(-2.6097, 1.2181, 0.0));
#9360=CARTESIAN_POINT('CartPt87',(-1.4240, 0.5335, 0.5));
#9361=CARTESIAN_POINT('CartPt88',(-1.4240, 0.5335, 0.0));
#9362=POLYLINE('PolyLine12',(#9355,#9360,#9361,#9356));
#9365=CARTESIAN_POINT('CartPt89',(-1.0825, 0.625, 0.5));
#9366=CARTESIAN_POINT('CartPt90',(-1.0825, 0.625, 0.0));
#9370=CARTESIAN_POINT('CartPt91',(-1.1740, 0.9665, 0.5));
#9371=CARTESIAN_POINT('CartPt92',(-1.1740, 0.9665, 0.0));
#9373=B_SPLINE_CURVE_WITH_KNOTS('BSCurKnot5',1, (#9360,#9365,#9370), .POLYLINE_FORM., .F.,
.F., (2,1,2), (0.0, 1.0, 2.0), .UNSPECIFIED.);
#9374=B_SPLINE_CURVE_WITH_KNOTS('BSCurKnot6',1, (#9361,#9366,#9371), .POLYLINE_FORM., .F.,
.F., (2,1,2), (0.0, 1.0, 2.0), .UNSPECIFIED.);
#9375=CARTESIAN_POINT('CartPt93',(-2.3579, 1.6511, 0.5));
#9376=CARTESIAN_POINT('CartPt94',(-2.3579, 1.6511, 0.0));
#9377=POLYLINE('PolyLine13',(#9370,#9375,#9376,#9371));
#9380=CARTESIAN_POINT('CartPt95',(-2.1386, 1.9290, 0.5));
#9381=CARTESIAN_POINT('CartPt96',(-2.1386, 1.9290, 0.0));
#9385=CARTESIAN_POINT('CartPt97',(-0.6013, 2.8165, 0.5));
#9386=CARTESIAN_POINT('CartPt98',(-0.6013, 2.8165, 0.0));
#9390=CARTESIAN_POINT('CartPt99',(-1.81, 3.1350, 0.5));
#9391=AXIS2_PLACEMENT_3D('Ax2P3D13',#9390,#9107, $);
#9392=CIRCLE('Circ15',#9391, 1.25);
#9393=TRIMMED_CURVE('TrimCur15',#9392, (#9380), (#9385), .T., .CARTESIAN.);
#9395=CARTESIAN_POINT('CartPt100',(-1.81, 3.1350, 0.0));
#9396=AXIS2_PLACEMENT_3D('Ax2P3D14',#9395,#9107, $);
#9397=CIRCLE('Circ16',#9396, 1.25);
#9398=TRIMMED_CURVE('TrimCur16',#9397, (#9381), (#9386), .T., .CARTESIAN.);
#9400=CARTESIAN_POINT('CartPt101',(-0.25, 2.8691, 0.5));
#9401=CARTESIAN_POINT('CartPt102',(-0.25, 2.8691, 0.0));
#9405=CARTESIAN_POINT('CartPt103',(-0.25, 1.50, 0.5));
#9406=CARTESIAN_POINT('CartPt104',(-0.25, 1.50, 0.0));
#9407=POLYLINE('PolyLine14',(#9400,#9405,#9406,#9401));
#9410=CARTESIAN_POINT('CartPt105',(0.0, 1.25, 0.5));
#9411=CARTESIAN_POINT('CartPt106',(0.0, 1.25, 0.0));
#9413=B_SPLINE_CURVE_WITH_KNOTS('BSCurKnot7',1, (#9405,#9410,#9145), .POLYLINE_FORM., .F.,
.F., (2,1,2), (0.0, 1.0, 2.0), .UNSPECIFIED.);
#9414=B_SPLINE_CURVE_WITH_KNOTS('BSCurKnot8',1, (#9406,#9411,#9146), .POLYLINE_FORM., .F.,
.F., (2,1,2), (0.0, 1.0, 2.0), .UNSPECIFIED.);
#9450=TRIMMED_CURVE('TrimCur17',#9140, (#9160), (#9180), .F., .CARTESIAN.);
#9451=TRIMMED_CURVE('TrimCur18',#9141, (#9161), (#9181), .F., .CARTESIAN.);
#9460=TRIMMED_CURVE('TrimCur19',#9140, (#9196), (#9200), .F., .CARTESIAN.);
#9461=TRIMMED_CURVE('TrimCur20',#9141, (#9197), (#9201), .F., .CARTESIAN.);
#9470=TRIMMED_CURVE('TrimCur21',#9140, (#9205), (#9220), .F., .CARTESIAN.);
#9471=TRIMMED_CURVE('TrimCur22',#9141, (#9206), (#9221), .F., .CARTESIAN.);
#9480=TRIMMED_CURVE('TrimCur23',#9140, (#9240), (#9245), .F., .CARTESIAN.);
#9481=TRIMMED_CURVE('TrimCur24',#9141, (#9241), (#9246), .F., .CARTESIAN.);
#9490=TRIMMED_CURVE('TrimCur25',#9140, (#9250), (#9265), .F., .CARTESIAN.);
#9491=TRIMMED_CURVE('TrimCur26',#9141, (#9251), (#9266), .F., .CARTESIAN.);
#9500=TRIMMED_CURVE('TrimCur27',#9140, (#9285), (#9290), .F., .CARTESIAN.);
#9501=TRIMMED_CURVE('TrimCur28',#9141, (#9286), (#9291), .F., .CARTESIAN.);
#9510=TRIMMED_CURVE('TrimCur29',#9140, (#9295), (#9310), .F., .CARTESIAN.);
#9511=TRIMMED_CURVE('TrimCur30',#9141, (#9296), (#9311), .F., .CARTESIAN.);
#9520=TRIMMED_CURVE('TrimCur31',#9140, (#9330), (#9335), .F., .CARTESIAN.);
#9521=TRIMMED_CURVE('TrimCur32',#9141, (#9331), (#9336), .F., .CARTESIAN.);
#9530=TRIMMED_CURVE('TrimCur33',#9140, (#9340), (#9355), .F., .CARTESIAN.);
#9531=TRIMMED_CURVE('TrimCur34',#9141, (#9341), (#9356), .F., .CARTESIAN.);
#9540=TRIMMED_CURVE('TrimCur35',#9140, (#9375), (#9380), .F., .CARTESIAN.);
#9541=TRIMMED_CURVE('TrimCur36',#9141, (#9376), (#9381), .F., .CARTESIAN.);
#9550=TRIMMED_CURVE('TrimCur37',#9140, (#9385), (#9400), .F., .CARTESIAN.);
#9551=TRIMMED_CURVE('TrimCur38',#9141, (#9386), (#9401), .F., .CARTESIAN.);
#9560 = VECTOR('Vec1',#9107,1.0);
#9561 = LINE('Line1',#9121,#9560);
#9562 = TRIMMED_CURVE('TrimCur39',#9561,(#9121),(#9102),.T.,.CARTESIAN.);
#9565 = LINE('Line2',#9122,#9560);
#9566 = TRIMMED_CURVE('TrimCur40',#9565,(#9121),(#9103),.T.,.CARTESIAN.);
#9570 = LINE('Line3',#9124,#9560);
#9571 = TRIMMED_CURVE('TrimCur41',#9570,(#9124),(#9105),.T.,.CARTESIAN.);
#9575 = LINE('Line4',#9123,#9560);
#9576 = TRIMMED_CURVE('TrimCur42',#9575,(#9123),(#9104),.T.,.CARTESIAN.);
#9580 = LINE('Line5',#9151,#9560);
#9581 = TRIMMED_CURVE('TrimCur43',#9580,(#9151),(#9150),.T.,.CARTESIAN.);
#9585 = LINE('Line6',#9156,#9560);
#9586 = TRIMMED_CURVE('TrimCur44',#9585,(#9156),(#9155),.T.,.CARTESIAN.);
#9590 = LINE('Line7',#9161,#9560);
#9591 = TRIMMED_CURVE('TrimCur45',#9590,(#9161),(#9160),.T.,.CARTESIAN.);
#9595 = LINE('Line8',#9181,#9560);
#9596 = TRIMMED_CURVE('TrimCur46',#9595,(#9181),(#9180),.T.,.CARTESIAN.);
#9600 = LINE('Line9',#9187,#9560);
#9601 = TRIMMED_CURVE('TrimCur47',#9600,(#9187),(#9186),.T.,.CARTESIAN.);
#9605 = LINE('Line10',#9191,#9560);
#9606 = TRIMMED_CURVE('TrimCur48',#9605,(#9191),(#9190),.T.,.CARTESIAN.);
#9610 = LINE('Line11',#9201,#9560);
#9611 = TRIMMED_CURVE('TrimCur49',#9610,(#9201),(#9200),.T.,.CARTESIAN.);
#9615 = LINE('Line12',#9206,#9560);
#9616 = TRIMMED_CURVE('TrimCur50',#9615,(#9206),(#9205),.T.,.CARTESIAN.);
#9620 = LINE('Line13',#9221,#9560);
#9621 = TRIMMED_CURVE('TrimCur51',#9620,(#9221),(#9220),.T.,.CARTESIAN.);
#9625 = LINE('Line14',#9231,#9560);
#9626 = TRIMMED_CURVE('TrimCur52',#9625,(#9231),(#9230),.T.,.CARTESIAN.);
#9630 = LINE('Line15',#9236,#9560);
#9631 = TRIMMED_CURVE('TrimCur53',#9630,(#9236),(#9235),.T.,.CARTESIAN.);
#9635 = LINE('Line16',#9246,#9560);
#9636 = TRIMMED_CURVE('TrimCur54',#9635,(#9246),(#9245),.T.,.CARTESIAN.);
#9640 = LINE('Line17',#9251,#9560);
#9641 = TRIMMED_CURVE('TrimCur55',#9640,(#9251),(#9250),.T.,.CARTESIAN.);
#9645 = LINE('Line18',#9266,#9560);
#9646 = TRIMMED_CURVE('TrimCur56',#9645,(#9266),(#9265),.T.,.CARTESIAN.);
#9650 = LINE('Line19',#9276,#9560);
#9651 = TRIMMED_CURVE('TrimCur57',#9650,(#9276),(#9275),.T.,.CARTESIAN.);
#9655 = LINE('Line20',#9281,#9560);
#9656 = TRIMMED_CURVE('TrimCur58',#9655,(#9281),(#9280),.T.,.CARTESIAN.);
#9660 = LINE('Line21',#9291,#9560);
#9661 = TRIMMED_CURVE('TrimCur59',#9660,(#9291),(#9290),.T.,.CARTESIAN.);
#9665 = LINE('Line22',#9296,#9560);
#9666 = TRIMMED_CURVE('TrimCur60',#9665,(#9296),(#9295),.T.,.CARTESIAN.);
#9670 = LINE('Line23',#9311,#9560);
#9671 = TRIMMED_CURVE('TrimCur61',#9670,(#9311),(#9310),.T.,.CARTESIAN.);
#9675 = LINE('Line24',#9321,#9560);
#9676 = TRIMMED_CURVE('TrimCur62',#9675,(#9321),(#9320),.T.,.CARTESIAN.);
#9680 = LINE('Line25',#9326,#9560);
#9681 = TRIMMED_CURVE('TrimCur63',#9680,(#9326),(#9325),.T.,.CARTESIAN.);
#9685 = LINE('Line26',#9336,#9560);
#9686 = TRIMMED_CURVE('TrimCur64',#9685,(#9336),(#9335),.T.,.CARTESIAN.);
#9690 = LINE('Line27',#9341,#9560);
#9691 = TRIMMED_CURVE('TrimCur65',#9690,(#9341),(#9340),.T.,.CARTESIAN.);
#9695 = LINE('Line28',#9356,#9560);
#9696 = TRIMMED_CURVE('TrimCur66',#9695,(#9356),(#9355),.T.,.CARTESIAN.);
#9700 = LINE('Line29',#9366,#9560);
#9701 = TRIMMED_CURVE('TrimCur67',#9700,(#9366),(#9365),.T.,.CARTESIAN.);
#9705 = LINE('Line30',#9371,#9560);
#9706 = TRIMMED_CURVE('TrimCur68',#9705,(#9371),(#9370),.T.,.CARTESIAN.);
#9710 = LINE('Line31',#9381,#9560);
#9711 = TRIMMED_CURVE('TrimCur69',#9710,(#9381),(#9380),.T.,.CARTESIAN.);
#9715 = LINE('Line32',#9386,#9560);
#9716 = TRIMMED_CURVE('TrimCur70',#9715,(#9386),(#9385),.T.,.CARTESIAN.);
#9720 = LINE('Line33',#9401,#9560);
#9721 = TRIMMED_CURVE('TrimCur71',#9720,(#9401),(#9400),.T.,.CARTESIAN.);
#9725 = LINE('Line34',#9411,#9560);
#9726 = TRIMMED_CURVE('TrimCur72',#9725,(#9411),(#9410),.T.,.CARTESIAN.);
#9800 = GEOMETRIC_CURVE_SET('GeomCurSet1',(#9110,#9111,#9130,#9131,
#9562,#9566,#9571,#9576,#9581,#9153, #9586,#9158,#9159,#9591,#9173,
#9178,#9596,#9185, #9601,#9606,#9194,#9195,#9198,#9611,
#9616,#9211,#9215, #9621,#9227,#9626,#9631,#9238,
#9239,#9242,#9636,#9641, #9258,#9263,#9646,#9272,
#9651,#9656,#9283,#9284,#9287, #9661,#9666,#9303,
#9308,#9671,#9317,#9676, #9681,#9328,#9329,#9332,#9686,#9691,
#9348,#9353,#9696, #9362,#9701,#9706,#9373,#9374,
#9377,#9711,#9716,#9393, #9398,#9721,#9407,#9726,
#9413,#9414,#9450,#9451,#9460,#9461,#9470,#9471,#9480,#9481,#9490,#9491,
#9500,#9501,#9510,#9511,#9520,#9521,#9530,#9531,#9540,#9541,#9550,#9551));
#9815=DIMENSIONAL_EXPONENTS(1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
#9822=(LENGTH_UNIT()NAMED_UNIT(*)SI_UNIT(.CENTI.,.METRE.));
#9824=LENGTH_MEASURE_WITH_UNIT(POSITIVE_LENGTH_MEASURE(2.54),#9822);
#9825=(CONVERSION_BASED_UNIT('inch',#9824)LENGTH_UNIT()NAMED_UNIT(#9815));
#9826=(NAMED_UNIT(*)PLANE_ANGLE_UNIT()SI_UNIT($,.RADIAN.));
#9827=(NAMED_UNIT(*)SI_UNIT($,.STERADIAN.)SOLID_ANGLE_UNIT());
#9828 = (GEOMETRIC_REPRESENTATION_CONTEXT(3)
GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#9829))
GLOBAL_UNIT_ASSIGNED_CONTEXT((#9825,#9826,#9827))
REPRESENTATION_CONTEXT('CONTEXT for gbwr test case star','This is a 3d context using inches for linear dimension'));
#9829 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(0.000001),#9825,'xx','yy');
#9810=GEOMETRICALLY_BOUNDED_WIREFRAME_SHAPE_REPRESENTATION('gbwsr',(#9800),#9828);
ENDSEC;
END-ISO-10303-21;

View file

@ -1,131 +1,36 @@
# To build one or more schemas, configure with
# 'cmake -DSC_BUILD_SCHEMAS="path/to/schema.exp;path/to/schema2.exp"
# you can specify a schema in 3 ways:
# * path relative to build dir
# * path relative to sc/data (this dir)
# * absolute path
#
# cmake goes through the above options in order until it finds one
# that exists. if ${path} is a dir, cmake expects to find a single
# .exp file inside, which it uses. otherwise, ${path} is assumed to
# be an express file.
#this sets a property so that the target doesn't get built by 'make' or 'make all'
#useful when testing generation of schema code/compiling schem libs/etc
FUNCTION( TESTABLE_TARGET target )
if(SCL_ENABLE_TESTING)
set_target_properties( ${target} PROPERTIES EXCLUDE_FROM_ALL ON )
endif()
ENDFUNCTION( TESTABLE_TARGET )
if(NOT "${SC_BUILD_SCHEMAS}" STREQUAL "")
include(${SC_CMAKE_DIR}/schema_scanner/schemaScanner.cmake)
foreach(src ${SC_SDAI_ADDITIONAL_EXES_SRCS})
get_filename_component(name ${src} NAME_WE)
message(STATUS "Additional SDAI executable: ${name}")
endforeach(src ${SC_SDAI_ADDITIONAL_EXES_SRCS})
# To build one or more schemas, configure with
# 'cmake -DSCL_BUILD_SCHEMAS="path/to/schema.exp;path/to/schema2.exp"
if(SC_BUILD_SCHEMAS STREQUAL "ALL")
file(GLOB_RECURSE SC_BUILD_SCHEMAS ${SC_SOURCE_DIR}/data/*.exp)
endif()
foreach(FILE ${SC_BUILD_SCHEMAS})
# figure out an absolute path to the file
LOCATE_SCHEMA(${FILE} abspath)
SCHEMA_CMLIST(${abspath})
endforeach()
endif(NOT "${SC_BUILD_SCHEMAS}" STREQUAL "")
# This function runs fedex on one express file. The generated source goes in a dir
# in the build dir, and it is compiled into a library. A p21read executable is
# compiled and linked to the lib. p21read is used to test the lib.
FUNCTION(BUILD_A_SCHEMA SCHEMA_FILE)
if( EXISTS "${CMAKE_BINARY_DIR}/${SCHEMA_FILE}" ) #try absolute path. if that fails, must already be absolute.
set( SCHEMA_FILE "${CMAKE_BINARY_DIR}/${SCHEMA_FILE}" )
else()
if( NOT EXISTS ${SCHEMA_FILE} )
message( FATAL_ERROR "Cannot find ${CMAKE_BINARY_DIR}/${SCHEMA_FILE} or ${SCHEMA_FILE}")
endif()
endif()
# Local Variables:
# tab-width: 8
# mode: cmake
# indent-tabs-mode: t
# End:
# ex: shiftwidth=2 tabstop=8
if( IS_DIRECTORY ${SCHEMA_FILE} ) #if it is a dir, look for one .exp file inside
file(GLOB SCHEMA_FILE ${SCHEMA_FILE}/*.exp )
endif()
if( NOT EXISTS ${SCHEMA_FILE} )
message(FATAL_ERROR "Expected one express file. Found '${SCHEMA_FILE}' instead.")
endif()
# read the schema name from a line like 'SCHEMA AUTOMOTIVE_DESIGN;'
file(STRINGS ${SCHEMA_FILE} SCHEMA_STATEMENT LIMIT_COUNT 1 REGEX "^SCHEMA .*")
string(REGEX REPLACE "^SCHEMA \(.*\)\;$" "\\1" SCHEMA_N ${SCHEMA_STATEMENT} )
string(TOUPPER ${SCHEMA_N} SCHEMA_LONG_NAME) #fedex_plus always uses upper case for file names
get_filename_component( SCHEMA_SN ${SCHEMA_FILE} NAME )
string( REGEX REPLACE "\(.*\).[Ee][Xx][Pp]" "\\1" SCHEMA_SHORT_NAME ${SCHEMA_SN} )
project( sdai_${SCHEMA_SHORT_NAME} )
message( STATUS "Generating code for ${SCHEMA_SHORT_NAME}.")
set( SCHEMA_OUTPUT_DIR ${CMAKE_BINARY_DIR}/${SCHEMA_SHORT_NAME} )
#the names of the files that will be generated
set( FEDEX_OUT ${SCHEMA_OUTPUT_DIR}/compstructs.cc ${SCHEMA_OUTPUT_DIR}/Sdaiclasses.h
${SCHEMA_OUTPUT_DIR}/schema.cc ${SCHEMA_OUTPUT_DIR}/Sdai${SCHEMA_LONG_NAME}.cc
${SCHEMA_OUTPUT_DIR}/schema.h ${SCHEMA_OUTPUT_DIR}/Sdai${SCHEMA_LONG_NAME}.h
${SCHEMA_OUTPUT_DIR}/SdaiAll.cc ${SCHEMA_OUTPUT_DIR}/Sdai${SCHEMA_LONG_NAME}.init.cc )
# *cannot* use include_directories() because the includes keep piling up - if building
# multiple schemas, each one will use the include dirs from all previous schemas. Since
# one header (schema.h) is always named the same, this will not work. only workaround
# seems to be set_target_properties( <target> PROPERTIES COMPILE_FLAGS <flags> )
set( ${PROJECT_NAME}_COMPILE_FLAGS "-I${CMAKE_CURRENT_SOURCE_DIR} -I${SCL_SOURCE_DIR}/src/cldai -I${SCL_SOURCE_DIR}/src/cleditor -I${SCL_SOURCE_DIR}/src/clutils -I${SCHEMA_OUTPUT_DIR} -I${SCL_SOURCE_DIR}/src/clstepcore -I${SCL_SOURCE_DIR}/src/base" )
add_custom_target( generate_cpp_${SCHEMA_SHORT_NAME} SOURCES ${FEDEX_OUT} )
add_custom_command( OUTPUT ${SCHEMA_OUTPUT_DIR}
COMMAND cmake ARGS -E make_directory ${SCHEMA_OUTPUT_DIR}
COMMENT "Creating ${SCHEMA_OUTPUT_DIR} for schema ${SCHEMA_SHORT_NAME}")
add_custom_command( OUTPUT ${FEDEX_OUT}
COMMAND fedex_plus ARGS ${SCHEMA_FILE}
DEPENDS ${SCHEMA_FILE} ${SCHEMA_OUTPUT_DIR}
WORKING_DIRECTORY ${SCHEMA_OUTPUT_DIR}
COMMENT "Running fedex_plus for ${SCHEMA_SHORT_NAME}..."
VERBATIM )
if(MSVC OR BORLAND)
add_definitions( -DSCL_SCHEMA_DLL_EXPORTS )
add_definitions( -DSCL_BASE_DLL_IMPORTS )
add_definitions( -DSCL_EXPRESS_DLL_IMPORTS )
add_definitions( -DSCL_UTILS_DLL_IMPORTS )
add_definitions( -DSCL_DAI_DLL_IMPORTS )
add_definitions( -DSCL_CORE_DLL_IMPORTS )
add_definitions( -DSCL_EDITOR_DLL_IMPORTS )
endif()
add_library( ${PROJECT_NAME} SHARED ${FEDEX_OUT} )
target_link_libraries(${PROJECT_NAME} stepdai stepcore express stepeditor steputils base )
add_dependencies( ${PROJECT_NAME} generate_cpp_${SCHEMA_SHORT_NAME} )
set_target_properties( ${PROJECT_NAME} PROPERTIES COMPILE_FLAGS
${${PROJECT_NAME}_COMPILE_FLAGS} )
if(APPLE)
set_target_properties(${PROJECT_NAME} PROPERTIES LINK_FLAGS "-flat_namespace -undefined suppress")
endif(APPLE)
TESTABLE_TARGET( ${PROJECT_NAME} )
add_test( NAME generate_cpp_${SCHEMA_SHORT_NAME}
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
COMMAND ${CMAKE_COMMAND} --build .
--target generate_cpp_${SCHEMA_SHORT_NAME}
--config $<CONFIGURATION> )
add_test( NAME build_cpp_${PROJECT_NAME}
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
COMMAND ${CMAKE_COMMAND} --build .
--target p21read_${PROJECT_NAME}
--config $<CONFIGURATION> )
# label the tests and set dependencies
set_tests_properties( generate_cpp_${SCHEMA_SHORT_NAME} PROPERTIES LABELS cpp_schema_gen )
set_tests_properties( build_cpp_${PROJECT_NAME} PROPERTIES DEPENDS generate_cpp_${SCHEMA_SHORT_NAME} LABELS cpp_schema_build )
if(MSVC OR BORLAND)
add_executable( p21read_${PROJECT_NAME} ${SCL_SOURCE_DIR}/src/test/p21read/p21read.cc ${SCL_SOURCE_DIR}/src/fedex_plus/xgetopt.cc )
else()
add_executable( p21read_${PROJECT_NAME} ${SCL_SOURCE_DIR}/src/test/p21read/p21read.cc )
endif()
add_dependencies( p21read_${PROJECT_NAME} version_string )
target_link_libraries( p21read_${PROJECT_NAME} ${PROJECT_NAME} )
set_target_properties( p21read_${PROJECT_NAME} PROPERTIES COMPILE_FLAGS
${${PROJECT_NAME}_COMPILE_FLAGS} )
TESTABLE_TARGET( p21read_${PROJECT_NAME} )
#find all part 21 files in schema dir, add a test for each one
get_filename_component( SCHEMA_DIR ${SCHEMA_FILE} PATH )
file( GLOB_RECURSE P21_FILES ${SCHEMA_DIR}/*.stp ${SCHEMA_DIR}/*.step ${SCHEMA_DIR}/*.p21 )
foreach( TEST_FILE ${P21_FILES} )
get_filename_component( FNAME ${TEST_FILE} NAME_WE )
add_test( NAME read_write_cpp_${SCHEMA_SHORT_NAME}_${FNAME}
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
COMMAND p21read_${PROJECT_NAME} ${TEST_FILE} )
set_tests_properties( read_write_cpp_${SCHEMA_SHORT_NAME}_${FNAME} PROPERTIES DEPENDS build_cpp_${PROJECT_NAME} LABELS cpp_schema_rw )
endforeach()
ENDFUNCTION(BUILD_A_SCHEMA)
if( DEFINED SCL_BUILD_SCHEMAS )
if( SCL_BUILD_SCHEMAS STREQUAL "ALL" )
file( GLOB_RECURSE SCL_BUILD_SCHEMAS ${SCL_SOURCE_DIR}/data/*.exp )
endif()
foreach( ap ${SCL_BUILD_SCHEMAS} )
BUILD_A_SCHEMA( ${ap} )
endforeach()
endif()

File diff suppressed because it is too large Load diff

5331
data/ap203/ap203.exp Normal file

File diff suppressed because it is too large Load diff

364
data/ap209/ATS1-out.stp Normal file
View file

@ -0,0 +1,364 @@
ISO-10303-21;
HEADER;
/******************************************************************************************
* STEP Physical File produced by: The EXPRESS Data Manager Version 5.01.0100.b03 SimDM : 25 Apr 2012
* Module: EDMstepFileFactory/EDMstandAlone
* Creation date: Mon Jul 09 12:24:22 2012
* Host: AER4WA926171Z
* Database: C:\Documents and Settings\johnsjc2\Desktop\AP209\SimDM2010\DevCM\db\d
* Database version: 5207
* Database creation date: Wed Apr 18 15:33:55 2012
* Schema: AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF
* Model: DataRepository.FemTest
* Model creation date: Mon Jul 09 12:24:22 2012
* Header model:
* EDMuser: superuser
* EDMgroup:
* License ID and type: 5565 : Project license. Expiry date: 31 Dec 2012
* EDMstepFileFactory options: 010000000
******************************************************************************************/
FILE_DESCRIPTION((''),'2;1');
FILE_NAME(
'C:\\Documents and Settings\\johnsjc2\\Desktop\\AP209\\SimDM2010\\DevCM\\db\\d.DataRepository.FemTest'
,
'2012-07-09T12:24:22',
('ANONYMOUS USER'),
('ANONYMOUS ORGANISATION'),
'The EXPRESS Data Manager Version 5.01.0100.b03 SimDM : 25 Apr 2012',
'',
'');
FILE_SCHEMA(('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF'));
ENDSEC;
DATA;
#637538235= APPLICATION_CONTEXT('SimDM');
#637538237= PRODUCT_DEFINITION_CONTEXT('assembly definition',#637538235,
'life cycle stage');
#637538239= PRODUCT_DEFINITION('default-id.0',$,#637538240,#637538244);
#637538240= PRODUCT_DEFINITION_FORMATION('default-id.0','',#637538241);
#637538241= PRODUCT('default-id.0','default-fea-part','',(#637538243));
#637538243= PRODUCT_CONTEXT('design_context',#637538235,'design_context'
);
#637538244= PRODUCT_DEFINITION_CONTEXT(
'product_definition_context_name_1',#637538245,'ANALYSIS-STAGE');
#637538245= APPLICATION_CONTEXT('FEA-ANALYSIS-DOMAIN');
#637538247= PRODUCT_DEFINITION_SHAPE('name',$,#637538239);
#637538248= SHAPE_DEFINITION_REPRESENTATION(#637538247,#637538249);
#637538249= POINT_REPRESENTATION('point_representation_name_1',(
#637538251,#637538359),#637538257);
#637538251= NODE_SET('node_set_name_1',(#637538253,#637538295,#637538299
,#637538303,#637538307,#637538311,#637538315,#637538319,#637538323,
#637538327,#637538331,#637538335,#637538339,#637538343,#637538347,
#637538351,#637538355));
#637538253= NODE('1',(#637538255),#637538257,#637538282);
#637538255= CARTESIAN_POINT('1',(0.,-2.,1.));
#637538257=
/* GEOMETRIC_REPRESENTATION_CONTEXT+GLOBAL_UNIT_ASSIGNED_CONTEXT */(
GEOMETRIC_REPRESENTATION_CONTEXT(3)GLOBAL_UNIT_ASSIGNED_CONTEXT((
#637538260,#637538268,#637538271,#637538265,#637538263,#637538274,
#637538275,#637538278,#637538281,#637538267))REPRESENTATION_CONTEXT(
'CORD2R.1','3d'));
#637538260= SI_ENERGY_UNIT((#637538262,#637538264,#637538266),*,$,
.JOULE.);
#637538262= DERIVED_UNIT_ELEMENT(#637538263,1.);
#637538263= /* MASS_UNIT+SI_UNIT */(MASS_UNIT()NAMED_UNIT(*)SI_UNIT(
.KILO.,.GRAM.));
#637538264= DERIVED_UNIT_ELEMENT(#637538265,2.);
#637538265= /* LENGTH_UNIT+SI_UNIT */(LENGTH_UNIT()NAMED_UNIT(*)SI_UNIT(
$,.METRE.));
#637538266= DERIVED_UNIT_ELEMENT(#637538267,-2.);
#637538267= /* SI_UNIT+TIME_UNIT */(NAMED_UNIT(*)SI_UNIT($,.SECOND.)
TIME_UNIT());
#637538268= SI_FORCE_UNIT((#637538262,#637538270,#637538266),*,$,
.NEWTON.);
#637538270= DERIVED_UNIT_ELEMENT(#637538265,1.);
#637538271= SI_FREQUENCY_UNIT((#637538273),*,$,.HERTZ.);
#637538273= DERIVED_UNIT_ELEMENT(#637538267,-1.);
#637538274= /* PLANE_ANGLE_UNIT+SI_UNIT */(NAMED_UNIT(*)PLANE_ANGLE_UNIT
()SI_UNIT($,.RADIAN.));
#637538275= SI_POWER_UNIT((#637538262,#637538264,#637538277),*,$,.WATT.
);
#637538277= DERIVED_UNIT_ELEMENT(#637538267,-3.);
#637538278= SI_PRESSURE_UNIT((#637538262,#637538280,#637538266),*,$,
.PASCAL.);
#637538280= DERIVED_UNIT_ELEMENT(#637538265,-1.);
#637538281= /* SI_UNIT+THERMODYNAMIC_TEMPERATURE_UNIT */(NAMED_UNIT(*)
SI_UNIT($,.DEGREE_CELSIUS.)THERMODYNAMIC_TEMPERATURE_UNIT());
#637538282= FEA_MODEL_3D('Identification',(#637538284),#637538291,
'NASTRAN BDF Converter v0.0.0',('NASTRAN'),'AnalysisModelType');
#637538284= FEA_AXIS2_PLACEMENT_3D('0',#637538285,#637538287,#637538289,
.CARTESIAN.,'FEA_BASIC_COORD_SYSTEM.0');
#637538285= CARTESIAN_POINT('',(0.,0.,0.));
#637538287= DIRECTION('AxisZ',(0.,0.,1.));
#637538289= DIRECTION('RefX',(1.,0.,0.));
#637538291=
/* GEOMETRIC_REPRESENTATION_CONTEXT+GLOBAL_UNIT_ASSIGNED_CONTEXT */(
GEOMETRIC_REPRESENTATION_CONTEXT(3)GLOBAL_UNIT_ASSIGNED_CONTEXT((
#637538260,#637538268,#637538271,#637538265,#637538263,#637538274,
#637538275,#637538278,#637538281,#637538267))REPRESENTATION_CONTEXT(
'FEA_BASIC_COORD_SYSTEM.0','3d'));
#637538295= NODE('2',(#637538297),#637538257,#637538282);
#637538297= CARTESIAN_POINT('2',(1.,-2.,1.));
#637538299= NODE('3',(#637538301),#637538257,#637538282);
#637538301= CARTESIAN_POINT('3',(2.,-2.,1.));
#637538303= NODE('4',(#637538305),#637538257,#637538282);
#637538305= CARTESIAN_POINT('4',(3.,-2.,1.));
#637538307= NODE('5',(#637538309),#637538257,#637538282);
#637538309= CARTESIAN_POINT('5',(4.,-2.,1.));
#637538311= NODE('6',(#637538313),#637538257,#637538282);
#637538313= CARTESIAN_POINT('6',(5.,-2.,1.));
#637538315= NODE('7',(#637538317),#637538257,#637538282);
#637538317= CARTESIAN_POINT('7',(6.,-2.,1.));
#637538319= NODE('8',(#637538321),#637538257,#637538282);
#637538321= CARTESIAN_POINT('8',(7.,-2.,1.));
#637538323= NODE('9',(#637538325),#637538257,#637538282);
#637538325= CARTESIAN_POINT('9',(8.,-2.,1.));
#637538327= NODE('10',(#637538329),#637538257,#637538282);
#637538329= CARTESIAN_POINT('10',(9.,-2.,1.));
#637538331= NODE('11',(#637538333),#637538257,#637538282);
#637538333= CARTESIAN_POINT('11',(10.,-2.,1.));
#637538335= NODE('12',(#637538337),#637538257,#637538282);
#637538337= CARTESIAN_POINT('12',(11.,-2.,1.));
#637538339= NODE('13',(#637538341),#637538257,#637538282);
#637538341= CARTESIAN_POINT('13',(12.,-2.,1.));
#637538343= NODE('14',(#637538345),#637538257,#637538282);
#637538345= CARTESIAN_POINT('14',(13.,-2.,1.));
#637538347= NODE('15',(#637538349),#637538257,#637538282);
#637538349= CARTESIAN_POINT('15',(14.,-2.,1.));
#637538351= NODE('16',(#637538353),#637538257,#637538282);
#637538353= CARTESIAN_POINT('16',(15.,-2.,1.));
#637538355= NODE('17',(#637538357),#637538257,#637538282);
#637538357= CARTESIAN_POINT('17',(16.,-2.,1.));
#637538359= FEA_AXIS2_PLACEMENT_3D('1',#637538360,#637538362,#637538364,
.CARTESIAN.,'CORD2R.1');
#637538360= CARTESIAN_POINT('',(0.,0.,0.));
#637538362= DIRECTION('AxisZ',(0.,0.,1.));
#637538364= DIRECTION('RefX',(1.,0.,0.));
#637538366= FEA_MODEL_DEFINITION('fea_model_definition_id_1',$,
#637538247,.U.);
#637538367= STRUCTURAL_RESPONSE_PROPERTY(
'structural_response_property_id_1',$,#637538366);
#637538368= STRUCTURAL_RESPONSE_PROPERTY_DEFINITION_REPRESENTATION(
#637538367,#637538282);
#637538369= NAME_ATTRIBUTE('',#637538239);
#637538370= APPLIED_CLASSIFICATION_ASSIGNMENT(#637538371,#637538372,(
#637538239));
#637538371= GROUP('default-gpvv-type',$);
#637538372= CLASSIFICATION_ROLE('view_type',$);
#637538374= APPLIED_IDENTIFICATION_ASSIGNMENT('default-id.0',#637538375,
(#637538240,#637538239,#637538241));
#637538375= IDENTIFICATION_ROLE('default-role',$);
#637538377= APPLIED_ORGANIZATION_ASSIGNMENT(#637538378,#637538379,(
#637538374));
#637538378= ORGANIZATION($,'default-organization',$);
#637538379= ORGANIZATION_ROLE('id context');
#637538381= APPLIED_CLASSIFICATION_ASSIGNMENT(#637538382,#637538383,(
#637538374));
#637538382= GROUP('id',$);
#637538383= CLASSIFICATION_ROLE('',$);
#637538385= APPLICATION_PROTOCOL_DEFINITION('status',
'ap203_configuration_controlled_3d_design_of_mechanical_parts_and_assemblies'
,2011,#637538235);
#637538386= DESCRIPTION_ATTRIBUTE('SimDM',#637538235);
#637538387= ID_ATTRIBUTE('SimDM',#637538235);
#637538388= DIMENSIONAL_EXPONENTS(0.,0.,0.,0.,0.,0.,0.);
#637538389= PRODUCT_RELATED_PRODUCT_CATEGORY('document',$,());
#637538391= PRODUCT_RELATED_PRODUCT_CATEGORY('product',$,(#637538241));
#637538393= DESCRIPTION_ATTRIBUTE('',#637538245);
#637538394= CARTESIAN_POINT('0',(0.,0.,0.));
#637538396= DUMMY_NODE('0',(#637538394),#637538291,#637538282);
#637538398= ITEM_DEFINED_TRANSFORMATION('','',#637538284,#637538359);
#637538399= REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION('','',
#637538282,#637538249,#637538398);
#637538400= ELEMENT_MATERIAL('MAT1.1','Fea Material',(#637538402,
#637538417,#637538422));
#637538402= FEA_MATERIAL_PROPERTY_REPRESENTATION(#637538403,#637538405,
#637538409);
#637538403= MATERIAL_PROPERTY('MAT1.1.0',$,#637538404);
#637538404= CHARACTERIZED_OBJECT('material_property',$);
#637538405= REPRESENTATION('representation_id_2',(#637538407),#637538291
);
#637538407= FEA_LINEAR_ELASTICITY('',FEA_ISOTROPIC_SYMMETRIC_TENSOR4_3D(
(10000000.,0.33)));
#637538409= DATA_ENVIRONMENT('DATA_ENV','Property_conditions',(
#637538411));
#637538411= PROPERTY_DEFINITION_REPRESENTATION(#637538412,#637538414);
#637538412= PROPERTY_DEFINITION('Material Property Definition',$,
#637538413);
#637538413= CHARACTERIZED_OBJECT('property',$);
#637538414= REPRESENTATION('representation_id_1',(#637538416),#637538291
);
#637538416= MEASURE_REPRESENTATION_ITEM('representation_item_name_1',
CONTEXT_DEPENDENT_MEASURE(70.),#637538281);
#637538417= FEA_MATERIAL_PROPERTY_REPRESENTATION(#637538418,#637538419,
#637538409);
#637538418= MATERIAL_PROPERTY('MAT1.1.1',$,#637538404);
#637538419= REPRESENTATION('representation_id_3',(#637538421),#637538291
);
#637538421= FEA_MASS_DENSITY('',0.000254);
#637538422= FEA_MATERIAL_PROPERTY_REPRESENTATION(#637538423,#637538424,
#637538409);
#637538423= MATERIAL_PROPERTY('MAT1.1.2',$,#637538404);
#637538424= REPRESENTATION('representation_id_4',(#637538426),#637538291
);
#637538426= FEA_TANGENTIAL_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION('',
ISOTROPIC_SYMMETRIC_TENSOR2_3D(0.));
#637538427= CURVE_3D_ELEMENT_REPRESENTATION('16',(#637538429,#637538433)
,#637538435,(#637538351,#637538355),#637538282,#637538439,#637538443,
#637538400);
#637538429= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538430
);
#637538430= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538431);
#637538431= DIRECTION('undefined',(1.,0.,0.));
#637538433= FEA_PARAMETRIC_POINT('',(1.,0.,0.));
#637538435= PARAMETRIC_REPRESENTATION_CONTEXT(
'parametric_representation_context','parametric');
#637538439= CURVE_3D_ELEMENT_DESCRIPTOR(.LINEAR_ORDER.,'LINEAR_CURVE.CROD',((
ENUMERATED_CURVE_ELEMENT_PURPOSE(.AXIAL.)),(
ENUMERATED_CURVE_ELEMENT_PURPOSE(.TORSION.))));
#637538443= CURVE_3D_ELEMENT_PROPERTY('PROD.1','',(#637538445),(
#637538456,#637538458),(#637538461,#637538464));
#637538445= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538446,#637538447,
#637538449);
#637538446= CURVE_ELEMENT_LOCATION(#637538433);
#637538447= EULER_ANGLES((0.,0.,0.));
#637538449= CURVE_ELEMENT_SECTION_DERIVED_DEFINITIONS('',0.,8.,(
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)),(0.,0.,0.),
0.,CONTEXT_DEPENDENT_MEASURE(0.),(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)),(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)),(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.));
#637538456= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538458= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538461= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538463));
#637538463= CURVE_ELEMENT_END_RELEASE_PACKET(
ENUMERATED_CURVE_ELEMENT_FREEDOM(.NONE.),0.);
#637538464= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538463));
#637538466= CURVE_3D_ELEMENT_REPRESENTATION('15',(#637538429,#637538433)
,#637538435,(#637538347,#637538351),#637538282,#637538439,#637538443,
#637538400);
#637538469= CURVE_3D_ELEMENT_REPRESENTATION('14',(#637538429,#637538433)
,#637538435,(#637538343,#637538347),#637538282,#637538439,#637538443,
#637538400);
#637538472= CURVE_3D_ELEMENT_REPRESENTATION('13',(#637538429,#637538433)
,#637538435,(#637538339,#637538343),#637538282,#637538439,#637538443,
#637538400);
#637538475= CURVE_3D_ELEMENT_REPRESENTATION('12',(#637538429,#637538433)
,#637538435,(#637538335,#637538339),#637538282,#637538439,#637538443,
#637538400);
#637538478= CURVE_3D_ELEMENT_REPRESENTATION('11',(#637538429,#637538433)
,#637538435,(#637538331,#637538335),#637538282,#637538439,#637538443,
#637538400);
#637538481= CURVE_3D_ELEMENT_REPRESENTATION('10',(#637538429,#637538433)
,#637538435,(#637538327,#637538331),#637538282,#637538439,#637538443,
#637538400);
#637538484= CURVE_3D_ELEMENT_REPRESENTATION('9',(#637538429,#637538433),
#637538435,(#637538323,#637538327),#637538282,#637538439,#637538443,
#637538400);
#637538487= CURVE_3D_ELEMENT_REPRESENTATION('8',(#637538429,#637538433),
#637538435,(#637538319,#637538323),#637538282,#637538439,#637538443,
#637538400);
#637538490= CURVE_3D_ELEMENT_REPRESENTATION('7',(#637538429,#637538433),
#637538435,(#637538315,#637538319),#637538282,#637538439,#637538443,
#637538400);
#637538493= CURVE_3D_ELEMENT_REPRESENTATION('6',(#637538429,#637538433),
#637538435,(#637538311,#637538315),#637538282,#637538439,#637538443,
#637538400);
#637538496= CURVE_3D_ELEMENT_REPRESENTATION('5',(#637538429,#637538433),
#637538435,(#637538307,#637538311),#637538282,#637538439,#637538443,
#637538400);
#637538499= CURVE_3D_ELEMENT_REPRESENTATION('4',(#637538429,#637538433),
#637538435,(#637538303,#637538307),#637538282,#637538439,#637538443,
#637538400);
#637538502= CURVE_3D_ELEMENT_REPRESENTATION('3',(#637538429,#637538433),
#637538435,(#637538299,#637538303),#637538282,#637538439,#637538443,
#637538400);
#637538505= CURVE_3D_ELEMENT_REPRESENTATION('2',(#637538429,#637538433),
#637538435,(#637538295,#637538299),#637538282,#637538439,#637538443,
#637538400);
#637538508= CURVE_3D_ELEMENT_REPRESENTATION('1',(#637538429,#637538433),
#637538435,(#637538253,#637538295),#637538282,#637538439,#637538443,
#637538400);
#637538511= ID_ATTRIBUTE('MAT1.1',#637538412);
#637538512= DESCRIPTION_ATTRIBUTE('Elasticity',#637538402);
#637538513= DESCRIPTION_ATTRIBUTE('MassDensity',#637538417);
#637538514= DESCRIPTION_ATTRIBUTE('TangentCTE',#637538422);
#637538515= CONTROL(#637538282,'Control.0','FemConvert',
'MSC.NASTRAN JOB CREATED ON 06-JUL-00 AT 06:14:07',('<SOL>101</SOL>',
'TIME 600','CEND','<GLOBALCASE>0</GLOBALCASE>','<SUBCASE>1</SUBCASE>',
'ENDDATA 8336E13E'),('NASTRAN'));
#637538518= CONTROL_LINEAR_STATIC_ANALYSIS_STEP(#637538515,
'STATIC STEP 1',1,#637538519,'',#637538520);
#637538519= SPECIFIED_STATE('STEP DEFAULT','default_initial_state');
#637538520= CONTROL_LINEAR_STATIC_LOAD_INCREMENT_PROCESS('STATIC STEP 1'
,'',#637538521);
#637538521= SPECIFIED_STATE('Step 1 Base Specified State',
'Relating Specified State');
#637538522= OUTPUT_REQUEST_STATE('Step 1 Output Request State','',(
#637538518));
#637538524= NODAL_FREEDOM_VALUES(#637538522,#637538525,#637538284,
#637538527,(UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.)));
#637538525= NODE_GROUP('','ALL',#637538282,(#637538253,#637538295,
#637538299,#637538303,#637538307,#637538311,#637538315,#637538319,
#637538323,#637538327,#637538331,#637538335,#637538339,#637538343,
#637538347,#637538351,#637538355));
#637538527= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.X_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(
.Y_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(.Z_ROTATION.)));
#637538530= SINGLE_POINT_CONSTRAINT_ELEMENT('SPC1_1.0',(#637538518),
#637538253,#637538284,(#637538533,#637538534,#637538535),'');
#637538533= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.X_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538534= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.Y_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538535= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.Z_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538536= SINGLE_POINT_CONSTRAINT_ELEMENT_VALUES(#637538537,#637538530
,#637538538,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)
,CONTEXT_DEPENDENT_MEASURE(0.)));
#637538537= SPECIFIED_STATE('SPCVALSTATE_1_2','');
#637538538= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.)));
#637538541= SPECIFIED_STATE('SPCCASE_2_2_1','Aggregator SPC 2 Step 1');
#637538542= STATE_RELATIONSHIP(
'SPCCASE_2_2_1 is related to Step 1 Base Specified State','',#637538521,
#637538541);
#637538543= STATE_RELATIONSHIP(
'SPCVALSTATE_1_2 is related to SPCCASE_2_2_1','',#637538541,#637538537);
#637538544= LINEARLY_SUPERIMPOSED_STATE('LOADSTATECOMBINATION_2',
'Overall Factor Combined State');
#637538546= STATE_RELATIONSHIP(
'LOADSTATECOMBINATION_2 is related to Step 1 Base Specified State','',
#637538521,#637538544);
#637538547= STATE_COMPONENT('OverallComp','',#637538544,1.);
#637538549= STATE_RELATIONSHIP(
'LOADSTATEITEM_1 is related to OverallComp','',#637538547,#637538550);
#637538550= LINEARLY_SUPERIMPOSED_STATE('LOADSTATEITEM_1',
'Item Factor State');
#637538551= SPECIFIED_STATE('LOADSTATECORE_1',
'Core Loads Specified State');
#637538552= STATE_RELATIONSHIP(
'LOADSTATECORE_1 is related to ItemComp_2_1','',#637538553,#637538551);
#637538553= STATE_COMPONENT('ItemComp_2_1','',#637538550,1.);
#637538555= NODAL_FREEDOM_ACTION_DEFINITION(#637538551,#637538355,
#637538284,#637538556,(CONTEXT_DEPENDENT_MEASURE(-1000.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538556= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.)));
#637538559= ID_ATTRIBUTE('ALL',#637538525);
ENDSEC;
END-ISO-10303-21;

2069
data/ap209/ATS10-out.stp Normal file

File diff suppressed because it is too large Load diff

2294
data/ap209/ATS10Mod0-out.stp Normal file

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

385
data/ap209/ATS1Mod0-out.stp Normal file
View file

@ -0,0 +1,385 @@
ISO-10303-21;
HEADER;
/******************************************************************************************
* STEP Physical File produced by: The EXPRESS Data Manager Version 5.01.0100.b04 : 12 Apr 2012
* Module: EDMstepFileFactory/EDMstandAlone
* Creation date: Tue Jun 05 10:29:55 2012
* Host: AER4WA926171Z
* Database: C:\Documents and Settings\johnsjc2\Desktop\AP209\SimDM2010\DevCM\db\d
* Database version: 5207
* Database creation date: Wed Apr 18 15:33:55 2012
* Schema: AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF
* Model: DataRepository.FemTest
* Model creation date: Tue Jun 05 10:29:54 2012
* Header model:
* EDMuser: superuser
* EDMgroup:
* License ID and type: 5565 : Project license. Expiry date: 31 Dec 2012
* EDMstepFileFactory options: 010000000
******************************************************************************************/
FILE_DESCRIPTION((''),'2;1');
FILE_NAME(
'C:\\Documents and Settings\\johnsjc2\\Desktop\\AP209\\SimDM2010\\DevCM\\db\\d.DataRepository.FemTest'
,
'2012-06-05T10:29:55',
('ANONYMOUS USER'),
('ANONYMOUS ORGANISATION'),
'The EXPRESS Data Manager Version 5.01.0100.b04 : 12 Apr 2012',
'',
'');
FILE_SCHEMA(('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF'));
ENDSEC;
DATA;
#637538233= APPLICATION_CONTEXT('SimDM');
#637538235= PRODUCT_DEFINITION_CONTEXT('assembly definition',#637538233,
'life cycle stage');
#637538237= PRODUCT_DEFINITION('default-id.0',$,#637538238,#637538242);
#637538238= PRODUCT_DEFINITION_FORMATION('default-id.0','',#637538239);
#637538239= PRODUCT('default-id.0','default-fea-part','',(#637538241));
#637538241= PRODUCT_CONTEXT('design_context',#637538233,'design_context'
);
#637538242= PRODUCT_DEFINITION_CONTEXT(
'product_definition_context_name_1',#637538243,'ANALYSIS-STAGE');
#637538243= APPLICATION_CONTEXT('FEA-ANALYSIS-DOMAIN');
#637538245= PRODUCT_DEFINITION_SHAPE('name',$,#637538237);
#637538246= SHAPE_DEFINITION_REPRESENTATION(#637538245,#637538247);
#637538247= POINT_REPRESENTATION('point_representation_name_1',(
#637538249,#637538357),#637538255);
#637538249= NODE_SET('node_set_name_1',(#637538251,#637538293,#637538297
,#637538301,#637538305,#637538309,#637538313,#637538317,#637538321,
#637538325,#637538329,#637538333,#637538337,#637538341,#637538345,
#637538349,#637538353));
#637538251= NODE('1',(#637538253),#637538255,#637538280);
#637538253= CARTESIAN_POINT('1',(0.,-2.,1.));
#637538255=
/* GEOMETRIC_REPRESENTATION_CONTEXT+GLOBAL_UNIT_ASSIGNED_CONTEXT */(
GEOMETRIC_REPRESENTATION_CONTEXT(3)GLOBAL_UNIT_ASSIGNED_CONTEXT((
#637538258,#637538266,#637538269,#637538263,#637538261,#637538272,
#637538273,#637538276,#637538279,#637538265))REPRESENTATION_CONTEXT(
'CORD2R.1','3d'));
#637538258= SI_ENERGY_UNIT((#637538260,#637538262,#637538264),*,$,
.JOULE.);
#637538260= DERIVED_UNIT_ELEMENT(#637538261,1.);
#637538261= /* MASS_UNIT+SI_UNIT */(MASS_UNIT()NAMED_UNIT(*)SI_UNIT(
.KILO.,.GRAM.));
#637538262= DERIVED_UNIT_ELEMENT(#637538263,2.);
#637538263= /* LENGTH_UNIT+SI_UNIT */(LENGTH_UNIT()NAMED_UNIT(*)SI_UNIT(
$,.METRE.));
#637538264= DERIVED_UNIT_ELEMENT(#637538265,-2.);
#637538265= /* SI_UNIT+TIME_UNIT */(NAMED_UNIT(*)SI_UNIT($,.SECOND.)
TIME_UNIT());
#637538266= SI_FORCE_UNIT((#637538260,#637538268,#637538264),*,$,
.NEWTON.);
#637538268= DERIVED_UNIT_ELEMENT(#637538263,1.);
#637538269= SI_FREQUENCY_UNIT((#637538271),*,$,.HERTZ.);
#637538271= DERIVED_UNIT_ELEMENT(#637538265,-1.);
#637538272= /* PLANE_ANGLE_UNIT+SI_UNIT */(NAMED_UNIT(*)PLANE_ANGLE_UNIT
()SI_UNIT($,.RADIAN.));
#637538273= SI_POWER_UNIT((#637538260,#637538262,#637538275),*,$,.WATT.
);
#637538275= DERIVED_UNIT_ELEMENT(#637538265,-3.);
#637538276= SI_PRESSURE_UNIT((#637538260,#637538278,#637538264),*,$,
.PASCAL.);
#637538278= DERIVED_UNIT_ELEMENT(#637538263,-1.);
#637538279= /* SI_UNIT+THERMODYNAMIC_TEMPERATURE_UNIT */(NAMED_UNIT(*)
SI_UNIT($,.DEGREE_CELSIUS.)THERMODYNAMIC_TEMPERATURE_UNIT());
#637538280= FEA_MODEL_3D('Identification',(#637538282),#637538289,
'NASTRAN BDF Converter v0.0.0',('NASTRAN'),'AnalysisModelType');
#637538282= FEA_AXIS2_PLACEMENT_3D('0',#637538283,#637538285,#637538287,
.CARTESIAN.,'FEA_BASIC_COORD_SYSTEM.0');
#637538283= CARTESIAN_POINT('',(0.,0.,0.));
#637538285= DIRECTION('AxisZ',(0.,0.,1.));
#637538287= DIRECTION('RefX',(1.,0.,0.));
#637538289=
/* GEOMETRIC_REPRESENTATION_CONTEXT+GLOBAL_UNIT_ASSIGNED_CONTEXT */(
GEOMETRIC_REPRESENTATION_CONTEXT(3)GLOBAL_UNIT_ASSIGNED_CONTEXT((
#637538258,#637538266,#637538269,#637538263,#637538261,#637538272,
#637538273,#637538276,#637538279,#637538265))REPRESENTATION_CONTEXT(
'FEA_BASIC_COORD_SYSTEM.0','3d'));
#637538293= NODE('2',(#637538295),#637538255,#637538280);
#637538295= CARTESIAN_POINT('2',(1.,-2.,1.));
#637538297= NODE('3',(#637538299),#637538255,#637538280);
#637538299= CARTESIAN_POINT('3',(2.,-2.,1.));
#637538301= NODE('4',(#637538303),#637538255,#637538280);
#637538303= CARTESIAN_POINT('4',(3.,-2.,1.));
#637538305= NODE('5',(#637538307),#637538255,#637538280);
#637538307= CARTESIAN_POINT('5',(4.,-2.,1.));
#637538309= NODE('6',(#637538311),#637538255,#637538280);
#637538311= CARTESIAN_POINT('6',(5.,-2.,1.));
#637538313= NODE('7',(#637538315),#637538255,#637538280);
#637538315= CARTESIAN_POINT('7',(6.,-2.,1.));
#637538317= NODE('8',(#637538319),#637538255,#637538280);
#637538319= CARTESIAN_POINT('8',(7.,-2.,1.));
#637538321= NODE('9',(#637538323),#637538255,#637538280);
#637538323= CARTESIAN_POINT('9',(8.,-2.,1.));
#637538325= NODE('10',(#637538327),#637538255,#637538280);
#637538327= CARTESIAN_POINT('10',(9.,-2.,1.));
#637538329= NODE('11',(#637538331),#637538255,#637538280);
#637538331= CARTESIAN_POINT('11',(10.,-2.,1.));
#637538333= NODE('12',(#637538335),#637538255,#637538280);
#637538335= CARTESIAN_POINT('12',(11.,-2.,1.));
#637538337= NODE('13',(#637538339),#637538255,#637538280);
#637538339= CARTESIAN_POINT('13',(12.,-2.,1.));
#637538341= NODE('14',(#637538343),#637538255,#637538280);
#637538343= CARTESIAN_POINT('14',(13.,-2.,1.));
#637538345= NODE('15',(#637538347),#637538255,#637538280);
#637538347= CARTESIAN_POINT('15',(14.,-2.,1.));
#637538349= NODE('16',(#637538351),#637538255,#637538280);
#637538351= CARTESIAN_POINT('16',(15.,-2.,1.));
#637538353= NODE('17',(#637538355),#637538255,#637538280);
#637538355= CARTESIAN_POINT('17',(16.,-2.,1.));
#637538357= FEA_AXIS2_PLACEMENT_3D('1',#637538358,#637538360,#637538362,
.CARTESIAN.,'CORD2R.1');
#637538358= CARTESIAN_POINT('',(0.,0.,0.));
#637538360= DIRECTION('AxisZ',(0.,0.,1.));
#637538362= DIRECTION('RefX',(1.,0.,0.));
#637538364= FEA_MODEL_DEFINITION('fea_model_definition_id_1',$,
#637538245,.U.);
#637538365= STRUCTURAL_RESPONSE_PROPERTY(
'structural_response_property_id_1',$,#637538364);
#637538366= STRUCTURAL_RESPONSE_PROPERTY_DEFINITION_REPRESENTATION(
#637538365,#637538280);
#637538367= NAME_ATTRIBUTE('',#637538237);
#637538368= APPLIED_CLASSIFICATION_ASSIGNMENT(#637538369,#637538370,(
#637538237));
#637538369= GROUP('default-gpvv-type',$);
#637538370= CLASSIFICATION_ROLE('view_type',$);
#637538372= APPLIED_IDENTIFICATION_ASSIGNMENT('default-id.0',#637538373,
(#637538238,#637538237,#637538239));
#637538373= IDENTIFICATION_ROLE('default-role',$);
#637538375= APPLIED_ORGANIZATION_ASSIGNMENT(#637538376,#637538377,(
#637538372));
#637538376= ORGANIZATION($,'default-organization',$);
#637538377= ORGANIZATION_ROLE('id context');
#637538379= APPLIED_CLASSIFICATION_ASSIGNMENT(#637538380,#637538381,(
#637538372));
#637538380= GROUP('id',$);
#637538381= CLASSIFICATION_ROLE('',$);
#637538383= APPLICATION_PROTOCOL_DEFINITION('status',
'ap203_configuration_controlled_3d_design_of_mechanical_parts_and_assemblies'
,2011,#637538233);
#637538384= DESCRIPTION_ATTRIBUTE('SimDM',#637538233);
#637538385= ID_ATTRIBUTE('SimDM',#637538233);
#637538386= DIMENSIONAL_EXPONENTS(0.,0.,0.,0.,0.,0.,0.);
#637538387= PRODUCT_RELATED_PRODUCT_CATEGORY('document',$,());
#637538389= PRODUCT_RELATED_PRODUCT_CATEGORY('product',$,(#637538239));
#637538391= DESCRIPTION_ATTRIBUTE('',#637538243);
#637538392= CARTESIAN_POINT('0',(0.,0.,0.));
#637538394= DUMMY_NODE('0',(#637538392),#637538289,#637538280);
#637538396= ITEM_DEFINED_TRANSFORMATION('','',#637538282,#637538357);
#637538397= REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION('','',
#637538280,#637538247,#637538396);
#637538398= ELEMENT_MATERIAL('MAT1.1','Fea Material',(#637538400,
#637538415,#637538420));
#637538400= FEA_MATERIAL_PROPERTY_REPRESENTATION(#637538401,#637538403,
#637538407);
#637538401= MATERIAL_PROPERTY('MAT1.1.0',$,#637538402);
#637538402= CHARACTERIZED_OBJECT('material_property',$);
#637538403= REPRESENTATION('representation_id_2',(#637538405),#637538289
);
#637538405= FEA_LINEAR_ELASTICITY('',FEA_ISOTROPIC_SYMMETRIC_TENSOR4_3D(
(10000000.,0.33)));
#637538407= DATA_ENVIRONMENT('DATA_ENV','Property_conditions',(
#637538409));
#637538409= PROPERTY_DEFINITION_REPRESENTATION(#637538410,#637538412);
#637538410= PROPERTY_DEFINITION('Material Property Definition',$,
#637538411);
#637538411= CHARACTERIZED_OBJECT('property',$);
#637538412= REPRESENTATION('representation_id_1',(#637538414),#637538289
);
#637538414= MEASURE_REPRESENTATION_ITEM('representation_item_name_1',
CONTEXT_DEPENDENT_MEASURE(70.),#637538279);
#637538415= FEA_MATERIAL_PROPERTY_REPRESENTATION(#637538416,#637538417,
#637538407);
#637538416= MATERIAL_PROPERTY('MAT1.1.1',$,#637538402);
#637538417= REPRESENTATION('representation_id_3',(#637538419),#637538289
);
#637538419= FEA_MASS_DENSITY('',0.000254);
#637538420= FEA_MATERIAL_PROPERTY_REPRESENTATION(#637538421,#637538422,
#637538407);
#637538421= MATERIAL_PROPERTY('MAT1.1.2',$,#637538402);
#637538422= REPRESENTATION('representation_id_4',(#637538424),#637538289
);
#637538424= FEA_TANGENTIAL_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION('',
ISOTROPIC_SYMMETRIC_TENSOR2_3D(0.));
#637538425= CURVE_3D_ELEMENT_REPRESENTATION('16',(#637538427,#637538431)
,#637538433,(#637538349,#637538353),#637538280,#637538437,#637538441,
#637538398);
#637538427= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538428
);
#637538428= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538429);
#637538429= DIRECTION('undefined',(1.,0.,0.));
#637538431= FEA_PARAMETRIC_POINT('',(1.,0.,0.));
#637538433= PARAMETRIC_REPRESENTATION_CONTEXT(
'parametric_representation_context','parametric');
#637538437= CURVE_3D_ELEMENT_DESCRIPTOR(.LINEAR_ORDER.,'LINEAR_CURVE.CROD',((
ENUMERATED_CURVE_ELEMENT_PURPOSE(.AXIAL.)),(
ENUMERATED_CURVE_ELEMENT_PURPOSE(.TORSION.))));
#637538441= CURVE_3D_ELEMENT_PROPERTY('PROD.1','',(#637538443),(
#637538454,#637538456),(#637538459,#637538462));
#637538443= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538444,#637538445,
#637538447);
#637538444= CURVE_ELEMENT_LOCATION(#637538431);
#637538445= EULER_ANGLES((0.,0.,0.));
#637538447= CURVE_ELEMENT_SECTION_DERIVED_DEFINITIONS('',0.,8.,(
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)),(0.,0.,0.),
0.,CONTEXT_DEPENDENT_MEASURE(0.),(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)),(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)),(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.));
#637538454= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538456= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538459= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538461));
#637538461= CURVE_ELEMENT_END_RELEASE_PACKET(
ENUMERATED_CURVE_ELEMENT_FREEDOM(.NONE.),0.);
#637538462= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538461));
#637538464= CURVE_3D_ELEMENT_REPRESENTATION('15',(#637538427,#637538431)
,#637538433,(#637538345,#637538349),#637538280,#637538437,#637538441,
#637538398);
#637538467= CURVE_3D_ELEMENT_REPRESENTATION('14',(#637538427,#637538431)
,#637538433,(#637538341,#637538345),#637538280,#637538437,#637538441,
#637538398);
#637538470= CURVE_3D_ELEMENT_REPRESENTATION('13',(#637538427,#637538431)
,#637538433,(#637538337,#637538341),#637538280,#637538437,#637538441,
#637538398);
#637538473= CURVE_3D_ELEMENT_REPRESENTATION('12',(#637538427,#637538431)
,#637538433,(#637538333,#637538337),#637538280,#637538437,#637538441,
#637538398);
#637538476= CURVE_3D_ELEMENT_REPRESENTATION('11',(#637538427,#637538431)
,#637538433,(#637538329,#637538333),#637538280,#637538437,#637538441,
#637538398);
#637538479= CURVE_3D_ELEMENT_REPRESENTATION('10',(#637538427,#637538431)
,#637538433,(#637538325,#637538329),#637538280,#637538437,#637538441,
#637538398);
#637538482= CURVE_3D_ELEMENT_REPRESENTATION('9',(#637538427,#637538431),
#637538433,(#637538321,#637538325),#637538280,#637538437,#637538441,
#637538398);
#637538485= CURVE_3D_ELEMENT_REPRESENTATION('8',(#637538427,#637538431),
#637538433,(#637538317,#637538321),#637538280,#637538437,#637538441,
#637538398);
#637538488= CURVE_3D_ELEMENT_REPRESENTATION('7',(#637538427,#637538431),
#637538433,(#637538313,#637538317),#637538280,#637538437,#637538441,
#637538398);
#637538491= CURVE_3D_ELEMENT_REPRESENTATION('6',(#637538427,#637538431),
#637538433,(#637538309,#637538313),#637538280,#637538437,#637538441,
#637538398);
#637538494= CURVE_3D_ELEMENT_REPRESENTATION('5',(#637538427,#637538431),
#637538433,(#637538305,#637538309),#637538280,#637538437,#637538441,
#637538398);
#637538497= CURVE_3D_ELEMENT_REPRESENTATION('4',(#637538427,#637538431),
#637538433,(#637538301,#637538305),#637538280,#637538437,#637538441,
#637538398);
#637538500= CURVE_3D_ELEMENT_REPRESENTATION('3',(#637538427,#637538431),
#637538433,(#637538297,#637538301),#637538280,#637538437,#637538441,
#637538398);
#637538503= CURVE_3D_ELEMENT_REPRESENTATION('2',(#637538427,#637538431),
#637538433,(#637538293,#637538297),#637538280,#637538437,#637538441,
#637538398);
#637538506= CURVE_3D_ELEMENT_REPRESENTATION('1',(#637538427,#637538431),
#637538433,(#637538251,#637538293),#637538280,#637538437,#637538441,
#637538398);
#637538509= ID_ATTRIBUTE('MAT1.1',#637538410);
#637538510= DESCRIPTION_ATTRIBUTE('Elasticity',#637538400);
#637538511= DESCRIPTION_ATTRIBUTE('MassDensity',#637538415);
#637538512= DESCRIPTION_ATTRIBUTE('TangentCTE',#637538420);
#637538513= CONTROL(#637538280,'Control.0','FemConvert',
'MSC.NASTRAN JOB CREATED ON 06-JUL-00 AT 06:14:07',('<SOL>101</SOL>',
'TIME 600','CEND','<GLOBALCASE>0</GLOBALCASE>','<SUBCASE>1</SUBCASE>',
'<SUBCASE>2</SUBCASE>','ENDDATA'),('NASTRAN'));
#637538516= CONTROL_LINEAR_STATIC_ANALYSIS_STEP(#637538513,
'STATIC STEP 2',2,#637538517,'',#637538518);
#637538517= SPECIFIED_STATE('STEP DEFAULT','default_initial_state');
#637538518= CONTROL_LINEAR_STATIC_LOAD_INCREMENT_PROCESS('STATIC STEP 2'
,'',#637538519);
#637538519= SPECIFIED_STATE('Step 2 Base Specified State',
'Relating Specified State');
#637538520= OUTPUT_REQUEST_STATE('Step 2 Output Request State','',(
#637538516));
#637538522= NODAL_FREEDOM_VALUES(#637538520,#637538523,#637538282,
#637538525,(UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.)));
#637538523= NODE_GROUP('','ALL',#637538280,(#637538251,#637538293,
#637538297,#637538301,#637538305,#637538309,#637538313,#637538317,
#637538321,#637538325,#637538329,#637538333,#637538337,#637538341,
#637538345,#637538349,#637538353));
#637538525= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.X_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(
.Y_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(.Z_ROTATION.)));
#637538528= SINGLE_POINT_CONSTRAINT_ELEMENT('SPC1_1.0',(#637538530,
#637538516),#637538251,#637538282,(#637538534,#637538535,#637538536),''
);
#637538530= CONTROL_LINEAR_STATIC_ANALYSIS_STEP(#637538513,
'STATIC STEP 1',1,#637538517,'',#637538531);
#637538531= CONTROL_LINEAR_STATIC_LOAD_INCREMENT_PROCESS('STATIC STEP 1'
,'',#637538532);
#637538532= SPECIFIED_STATE('Step 1 Base Specified State',
'Relating Specified State');
#637538534= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.X_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538535= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.Y_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538536= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.Z_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538537= SINGLE_POINT_CONSTRAINT_ELEMENT_VALUES(#637538538,#637538528
,#637538539,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)
,CONTEXT_DEPENDENT_MEASURE(0.)));
#637538538= SPECIFIED_STATE('SPCVALSTATE_1_2','');
#637538539= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.)));
#637538542= SPECIFIED_STATE('SPCCASE_2_2_1','Aggregator SPC 2 Step 1');
#637538543= STATE_RELATIONSHIP(
'SPCCASE_2_2_1 is related to Step 1 Base Specified State','',#637538532,
#637538542);
#637538544= STATE_RELATIONSHIP(
'SPCVALSTATE_1_2 is related to SPCCASE_2_2_1','',#637538542,#637538538);
#637538545= LINEARLY_SUPERIMPOSED_STATE('LOADSTATECOMBINATION_2',
'Overall Factor Combined State');
#637538547= STATE_RELATIONSHIP(
'LOADSTATECOMBINATION_2 is related to Step 2 Base Specified State','',
#637538519,#637538545);
#637538548= STATE_RELATIONSHIP(
'LOADSTATECOMBINATION_2 is related to Step 1 Base Specified State','',
#637538532,#637538545);
#637538549= STATE_COMPONENT('OverallComp','',#637538545,1.);
#637538551= STATE_RELATIONSHIP(
'LOADSTATEITEM_1 is related to OverallComp','',#637538549,#637538552);
#637538552= LINEARLY_SUPERIMPOSED_STATE('LOADSTATEITEM_1',
'Item Factor State');
#637538553= SPECIFIED_STATE('LOADSTATECORE_1',
'Core Loads Specified State');
#637538554= STATE_RELATIONSHIP(
'LOADSTATECORE_1 is related to ItemComp_2_1','',#637538555,#637538553);
#637538555= STATE_COMPONENT('ItemComp_2_1','',#637538552,1.);
#637538557= NODAL_FREEDOM_ACTION_DEFINITION(#637538553,#637538353,
#637538282,#637538558,(CONTEXT_DEPENDENT_MEASURE(-1000.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538558= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.)));
#637538561= OUTPUT_REQUEST_STATE('Step 1 Output Request State','',(
#637538530));
#637538563= NODAL_FREEDOM_VALUES(#637538561,#637538523,#637538282,
#637538525,(UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.)));
#637538565= ID_ATTRIBUTE('ALL',#637538523);
#637538566= SPECIFIED_STATE('SPCCASE_2_2_2','Aggregator SPC 2 Step 2');
#637538567= STATE_RELATIONSHIP(
'SPCCASE_2_2_2 is related to Step 2 Base Specified State','',#637538519,
#637538566);
ENDSEC;
END-ISO-10303-21;

View file

@ -0,0 +1,559 @@
ISO-10303-21;
HEADER;
/******************************************************************************************
* STEP Physical File produced by: The EXPRESS Data Manager Version 5.01.0100.b03 SimDM : 25 Apr 2012
* Module: EDMstepFileFactory/EDMstandAlone
* Creation date: Mon Jul 09 13:15:28 2012
* Host: AER4WA926171Z
* Database: C:\Documents and Settings\johnsjc2\Desktop\AP209\SimDM2010\DevCM\db\d
* Database version: 5207
* Database creation date: Wed Apr 18 15:33:55 2012
* Schema: AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF
* Model: DataRepository.FemTest
* Model creation date: Mon Jul 09 13:15:28 2012
* Header model:
* EDMuser: superuser
* EDMgroup:
* License ID and type: 5565 : Project license. Expiry date: 31 Dec 2012
* EDMstepFileFactory options: 010000000
******************************************************************************************/
FILE_DESCRIPTION((''),'2;1');
FILE_NAME(
'C:\\Documents and Settings\\johnsjc2\\Desktop\\AP209\\SimDM2010\\DevCM\\db\\d.DataRepository.FemTest'
,
'2012-07-09T13:15:28',
('ANONYMOUS USER'),
('ANONYMOUS ORGANISATION'),
'The EXPRESS Data Manager Version 5.01.0100.b03 SimDM : 25 Apr 2012',
'',
'');
FILE_SCHEMA(('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF'));
ENDSEC;
DATA;
#637538235= APPLICATION_CONTEXT('SimDM');
#637538237= PRODUCT_DEFINITION_CONTEXT('assembly definition',#637538235,
'life cycle stage');
#637538239= PRODUCT_DEFINITION('default-id.0',$,#637538240,#637538244);
#637538240= PRODUCT_DEFINITION_FORMATION('default-id.0','',#637538241);
#637538241= PRODUCT('default-id.0','default-fea-part','',(#637538243));
#637538243= PRODUCT_CONTEXT('design_context',#637538235,'design_context'
);
#637538244= PRODUCT_DEFINITION_CONTEXT(
'product_definition_context_name_1',#637538245,'ANALYSIS-STAGE');
#637538245= APPLICATION_CONTEXT('FEA-ANALYSIS-DOMAIN');
#637538247= PRODUCT_DEFINITION_SHAPE('name',$,#637538239);
#637538248= SHAPE_DEFINITION_REPRESENTATION(#637538247,#637538249);
#637538249= POINT_REPRESENTATION('point_representation_name_1',(
#637538251,#637538359),#637538257);
#637538251= NODE_SET('node_set_name_1',(#637538253,#637538295,#637538299
,#637538303,#637538307,#637538311,#637538315,#637538319,#637538323,
#637538327,#637538331,#637538335,#637538339,#637538343,#637538347,
#637538351,#637538355));
#637538253= NODE('1',(#637538255),#637538257,#637538282);
#637538255= CARTESIAN_POINT('1',(0.,-2.,1.));
#637538257=
/* GEOMETRIC_REPRESENTATION_CONTEXT+GLOBAL_UNIT_ASSIGNED_CONTEXT */(
GEOMETRIC_REPRESENTATION_CONTEXT(3)GLOBAL_UNIT_ASSIGNED_CONTEXT((
#637538260,#637538268,#637538271,#637538265,#637538263,#637538274,
#637538275,#637538278,#637538281,#637538267))REPRESENTATION_CONTEXT(
'CORD2R.1','3d'));
#637538260= SI_ENERGY_UNIT((#637538262,#637538264,#637538266),*,$,
.JOULE.);
#637538262= DERIVED_UNIT_ELEMENT(#637538263,1.);
#637538263= /* MASS_UNIT+SI_UNIT */(MASS_UNIT()NAMED_UNIT(*)SI_UNIT(
.KILO.,.GRAM.));
#637538264= DERIVED_UNIT_ELEMENT(#637538265,2.);
#637538265= /* LENGTH_UNIT+SI_UNIT */(LENGTH_UNIT()NAMED_UNIT(*)SI_UNIT(
$,.METRE.));
#637538266= DERIVED_UNIT_ELEMENT(#637538267,-2.);
#637538267= /* SI_UNIT+TIME_UNIT */(NAMED_UNIT(*)SI_UNIT($,.SECOND.)
TIME_UNIT());
#637538268= SI_FORCE_UNIT((#637538262,#637538270,#637538266),*,$,
.NEWTON.);
#637538270= DERIVED_UNIT_ELEMENT(#637538265,1.);
#637538271= SI_FREQUENCY_UNIT((#637538273),*,$,.HERTZ.);
#637538273= DERIVED_UNIT_ELEMENT(#637538267,-1.);
#637538274= /* PLANE_ANGLE_UNIT+SI_UNIT */(NAMED_UNIT(*)PLANE_ANGLE_UNIT
()SI_UNIT($,.RADIAN.));
#637538275= SI_POWER_UNIT((#637538262,#637538264,#637538277),*,$,.WATT.
);
#637538277= DERIVED_UNIT_ELEMENT(#637538267,-3.);
#637538278= SI_PRESSURE_UNIT((#637538262,#637538280,#637538266),*,$,
.PASCAL.);
#637538280= DERIVED_UNIT_ELEMENT(#637538265,-1.);
#637538281= /* SI_UNIT+THERMODYNAMIC_TEMPERATURE_UNIT */(NAMED_UNIT(*)
SI_UNIT($,.DEGREE_CELSIUS.)THERMODYNAMIC_TEMPERATURE_UNIT());
#637538282= FEA_MODEL_3D('Identification',(#637538284),#637538291,
'NASTRAN BDF Converter v0.0.0',('NASTRAN'),'AnalysisModelType');
#637538284= FEA_AXIS2_PLACEMENT_3D('0',#637538285,#637538287,#637538289,
.CARTESIAN.,'FEA_BASIC_COORD_SYSTEM.0');
#637538285= CARTESIAN_POINT('',(0.,0.,0.));
#637538287= DIRECTION('AxisZ',(0.,0.,1.));
#637538289= DIRECTION('RefX',(1.,0.,0.));
#637538291=
/* GEOMETRIC_REPRESENTATION_CONTEXT+GLOBAL_UNIT_ASSIGNED_CONTEXT */(
GEOMETRIC_REPRESENTATION_CONTEXT(3)GLOBAL_UNIT_ASSIGNED_CONTEXT((
#637538260,#637538268,#637538271,#637538265,#637538263,#637538274,
#637538275,#637538278,#637538281,#637538267))REPRESENTATION_CONTEXT(
'FEA_BASIC_COORD_SYSTEM.0','3d'));
#637538295= NODE('2',(#637538297),#637538257,#637538282);
#637538297= CARTESIAN_POINT('2',(1.,-2.,1.));
#637538299= NODE('3',(#637538301),#637538257,#637538282);
#637538301= CARTESIAN_POINT('3',(2.,-2.,1.));
#637538303= NODE('4',(#637538305),#637538257,#637538282);
#637538305= CARTESIAN_POINT('4',(3.,-2.,1.));
#637538307= NODE('5',(#637538309),#637538257,#637538282);
#637538309= CARTESIAN_POINT('5',(4.,-2.,1.));
#637538311= NODE('6',(#637538313),#637538257,#637538282);
#637538313= CARTESIAN_POINT('6',(5.,-2.,1.));
#637538315= NODE('7',(#637538317),#637538257,#637538282);
#637538317= CARTESIAN_POINT('7',(6.,-2.,1.));
#637538319= NODE('8',(#637538321),#637538257,#637538282);
#637538321= CARTESIAN_POINT('8',(7.,-2.,1.));
#637538323= NODE('9',(#637538325),#637538257,#637538282);
#637538325= CARTESIAN_POINT('9',(8.,-2.,1.));
#637538327= NODE('10',(#637538329),#637538257,#637538282);
#637538329= CARTESIAN_POINT('10',(9.,-2.,1.));
#637538331= NODE('11',(#637538333),#637538257,#637538282);
#637538333= CARTESIAN_POINT('11',(10.,-2.,1.));
#637538335= NODE('12',(#637538337),#637538257,#637538282);
#637538337= CARTESIAN_POINT('12',(11.,-2.,1.));
#637538339= NODE('13',(#637538341),#637538257,#637538282);
#637538341= CARTESIAN_POINT('13',(12.,-2.,1.));
#637538343= NODE('14',(#637538345),#637538257,#637538282);
#637538345= CARTESIAN_POINT('14',(13.,-2.,1.));
#637538347= NODE('15',(#637538349),#637538257,#637538282);
#637538349= CARTESIAN_POINT('15',(14.,-2.,1.));
#637538351= NODE('16',(#637538353),#637538257,#637538282);
#637538353= CARTESIAN_POINT('16',(15.,-2.,1.));
#637538355= NODE('17',(#637538357),#637538257,#637538282);
#637538357= CARTESIAN_POINT('17',(16.,-2.,1.));
#637538359= FEA_AXIS2_PLACEMENT_3D('1',#637538360,#637538362,#637538364,
.CARTESIAN.,'CORD2R.1');
#637538360= CARTESIAN_POINT('',(0.,0.,0.));
#637538362= DIRECTION('AxisZ',(0.,0.,1.));
#637538364= DIRECTION('RefX',(1.,0.,0.));
#637538366= FEA_MODEL_DEFINITION('fea_model_definition_id_1',$,
#637538247,.U.);
#637538367= STRUCTURAL_RESPONSE_PROPERTY(
'structural_response_property_id_1',$,#637538366);
#637538368= STRUCTURAL_RESPONSE_PROPERTY_DEFINITION_REPRESENTATION(
#637538367,#637538282);
#637538369= NAME_ATTRIBUTE('',#637538239);
#637538370= APPLIED_CLASSIFICATION_ASSIGNMENT(#637538371,#637538372,(
#637538239));
#637538371= GROUP('default-gpvv-type',$);
#637538372= CLASSIFICATION_ROLE('view_type',$);
#637538374= APPLIED_IDENTIFICATION_ASSIGNMENT('default-id.0',#637538375,
(#637538240,#637538239,#637538241));
#637538375= IDENTIFICATION_ROLE('default-role',$);
#637538377= APPLIED_ORGANIZATION_ASSIGNMENT(#637538378,#637538379,(
#637538374));
#637538378= ORGANIZATION($,'default-organization',$);
#637538379= ORGANIZATION_ROLE('id context');
#637538381= APPLIED_CLASSIFICATION_ASSIGNMENT(#637538382,#637538383,(
#637538374));
#637538382= GROUP('id',$);
#637538383= CLASSIFICATION_ROLE('',$);
#637538385= APPLICATION_PROTOCOL_DEFINITION('status',
'ap203_configuration_controlled_3d_design_of_mechanical_parts_and_assemblies'
,2011,#637538235);
#637538386= DESCRIPTION_ATTRIBUTE('SimDM',#637538235);
#637538387= ID_ATTRIBUTE('SimDM',#637538235);
#637538388= DIMENSIONAL_EXPONENTS(0.,0.,0.,0.,0.,0.,0.);
#637538389= PRODUCT_RELATED_PRODUCT_CATEGORY('document',$,());
#637538391= PRODUCT_RELATED_PRODUCT_CATEGORY('product',$,(#637538241));
#637538393= DESCRIPTION_ATTRIBUTE('',#637538245);
#637538394= CARTESIAN_POINT('0',(0.,0.,0.));
#637538396= DUMMY_NODE('0',(#637538394),#637538291,#637538282);
#637538398= ITEM_DEFINED_TRANSFORMATION('','',#637538284,#637538359);
#637538399= REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION('','',
#637538282,#637538249,#637538398);
#637538400= ELEMENT_MATERIAL('MAT1.1','Fea Material',(#637538402,
#637538417,#637538422));
#637538402= FEA_MATERIAL_PROPERTY_REPRESENTATION(#637538403,#637538405,
#637538409);
#637538403= MATERIAL_PROPERTY('MAT1.1.0',$,#637538404);
#637538404= CHARACTERIZED_OBJECT('material_property',$);
#637538405= REPRESENTATION('representation_id_2',(#637538407),#637538291
);
#637538407= FEA_LINEAR_ELASTICITY('',FEA_ISOTROPIC_SYMMETRIC_TENSOR4_3D(
(10000000.,0.33)));
#637538409= DATA_ENVIRONMENT('DATA_ENV','Property_conditions',(
#637538411));
#637538411= PROPERTY_DEFINITION_REPRESENTATION(#637538412,#637538414);
#637538412= PROPERTY_DEFINITION('Material Property Definition',$,
#637538413);
#637538413= CHARACTERIZED_OBJECT('property',$);
#637538414= REPRESENTATION('representation_id_1',(#637538416),#637538291
);
#637538416= MEASURE_REPRESENTATION_ITEM('representation_item_name_1',
CONTEXT_DEPENDENT_MEASURE(70.),#637538281);
#637538417= FEA_MATERIAL_PROPERTY_REPRESENTATION(#637538418,#637538419,
#637538409);
#637538418= MATERIAL_PROPERTY('MAT1.1.1',$,#637538404);
#637538419= REPRESENTATION('representation_id_3',(#637538421),#637538291
);
#637538421= FEA_MASS_DENSITY('',0.000254);
#637538422= FEA_MATERIAL_PROPERTY_REPRESENTATION(#637538423,#637538424,
#637538409);
#637538423= MATERIAL_PROPERTY('MAT1.1.2',$,#637538404);
#637538424= REPRESENTATION('representation_id_4',(#637538426),#637538291
);
#637538426= FEA_TANGENTIAL_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION('',
ISOTROPIC_SYMMETRIC_TENSOR2_3D(0.));
#637538427= CURVE_3D_ELEMENT_REPRESENTATION('16',(#637538429,#637538433)
,#637538435,(#637538351,#637538355),#637538282,#637538439,#637538443,
#637538400);
#637538429= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538430
);
#637538430= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538431);
#637538431= DIRECTION('undefined',(1.,0.,0.));
#637538433= FEA_PARAMETRIC_POINT('',(1.,0.,0.));
#637538435= PARAMETRIC_REPRESENTATION_CONTEXT(
'parametric_representation_context','parametric');
#637538439= CURVE_3D_ELEMENT_DESCRIPTOR(.LINEAR_ORDER.,'LINEAR_CURVE.CROD',((
ENUMERATED_CURVE_ELEMENT_PURPOSE(.AXIAL.)),(
ENUMERATED_CURVE_ELEMENT_PURPOSE(.TORSION.))));
#637538443= CURVE_3D_ELEMENT_PROPERTY('PROD.1','',(#637538445),(
#637538456,#637538458),(#637538461,#637538464));
#637538445= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538446,#637538447,
#637538449);
#637538446= CURVE_ELEMENT_LOCATION(#637538433);
#637538447= EULER_ANGLES((0.,0.,0.));
#637538449= CURVE_ELEMENT_SECTION_DERIVED_DEFINITIONS('',0.,8.,(
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)),(0.,0.,0.),
0.,CONTEXT_DEPENDENT_MEASURE(0.),(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)),(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)),(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.));
#637538456= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538458= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538461= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538463));
#637538463= CURVE_ELEMENT_END_RELEASE_PACKET(
ENUMERATED_CURVE_ELEMENT_FREEDOM(.NONE.),0.);
#637538464= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538463));
#637538466= CURVE_3D_ELEMENT_REPRESENTATION('15',(#637538429,#637538433)
,#637538435,(#637538347,#637538351),#637538282,#637538439,#637538443,
#637538400);
#637538469= CURVE_3D_ELEMENT_REPRESENTATION('14',(#637538429,#637538433)
,#637538435,(#637538343,#637538347),#637538282,#637538439,#637538443,
#637538400);
#637538472= CURVE_3D_ELEMENT_REPRESENTATION('13',(#637538429,#637538433)
,#637538435,(#637538339,#637538343),#637538282,#637538439,#637538443,
#637538400);
#637538475= CURVE_3D_ELEMENT_REPRESENTATION('12',(#637538429,#637538433)
,#637538435,(#637538335,#637538339),#637538282,#637538439,#637538443,
#637538400);
#637538478= CURVE_3D_ELEMENT_REPRESENTATION('11',(#637538429,#637538433)
,#637538435,(#637538331,#637538335),#637538282,#637538439,#637538443,
#637538400);
#637538481= CURVE_3D_ELEMENT_REPRESENTATION('10',(#637538429,#637538433)
,#637538435,(#637538327,#637538331),#637538282,#637538439,#637538443,
#637538400);
#637538484= CURVE_3D_ELEMENT_REPRESENTATION('9',(#637538429,#637538433),
#637538435,(#637538323,#637538327),#637538282,#637538439,#637538443,
#637538400);
#637538487= CURVE_3D_ELEMENT_REPRESENTATION('8',(#637538429,#637538433),
#637538435,(#637538319,#637538323),#637538282,#637538439,#637538443,
#637538400);
#637538490= CURVE_3D_ELEMENT_REPRESENTATION('7',(#637538429,#637538433),
#637538435,(#637538315,#637538319),#637538282,#637538439,#637538443,
#637538400);
#637538493= CURVE_3D_ELEMENT_REPRESENTATION('6',(#637538429,#637538433),
#637538435,(#637538311,#637538315),#637538282,#637538439,#637538443,
#637538400);
#637538496= CURVE_3D_ELEMENT_REPRESENTATION('5',(#637538429,#637538433),
#637538435,(#637538307,#637538311),#637538282,#637538439,#637538443,
#637538400);
#637538499= CURVE_3D_ELEMENT_REPRESENTATION('4',(#637538429,#637538433),
#637538435,(#637538303,#637538307),#637538282,#637538439,#637538443,
#637538400);
#637538502= CURVE_3D_ELEMENT_REPRESENTATION('3',(#637538429,#637538433),
#637538435,(#637538299,#637538303),#637538282,#637538439,#637538443,
#637538400);
#637538505= CURVE_3D_ELEMENT_REPRESENTATION('2',(#637538429,#637538433),
#637538435,(#637538295,#637538299),#637538282,#637538439,#637538443,
#637538400);
#637538508= CURVE_3D_ELEMENT_REPRESENTATION('1',(#637538429,#637538433),
#637538435,(#637538253,#637538295),#637538282,#637538439,#637538443,
#637538400);
#637538511= ID_ATTRIBUTE('MAT1.1',#637538412);
#637538512= DESCRIPTION_ATTRIBUTE('Elasticity',#637538402);
#637538513= DESCRIPTION_ATTRIBUTE('MassDensity',#637538417);
#637538514= DESCRIPTION_ATTRIBUTE('TangentCTE',#637538422);
#637538515= CONTROL(#637538282,'Control.0','FemConvert',
'MSC.NASTRAN JOB CREATED ON 06-JUL-00 AT 06:14:07',('<SOL>101</SOL>',
'TIME 600','CEND','<GLOBALCASE>0</GLOBALCASE>','<SUBCASE>1</SUBCASE>',
'<SUBCASE>2</SUBCASE>','ENDDATA'),('NASTRAN'));
#637538518= RESULT_LINEAR_STATIC_ANALYSIS_SUB_STEP(#637538515,#637538519
,#637538520);
#637538519= RESULT('Result.0','FemConvert',
'MSC.NASTRAN JOB CREATED ON 06-JUL-00 AT 06:14:07');
#637538520= CALCULATED_STATE('Calculated State for Step 2','');
#637538521= CONTROL_RESULT_RELATIONSHIP(#637538522,#637538518);
#637538522= CONTROL_LINEAR_STATIC_ANALYSIS_STEP(#637538515,
'STATIC STEP 2',2,#637538523,'',#637538524);
#637538523= SPECIFIED_STATE('STEP DEFAULT','default_initial_state');
#637538524= CONTROL_LINEAR_STATIC_LOAD_INCREMENT_PROCESS('STATIC STEP 2'
,'',#637538525);
#637538525= SPECIFIED_STATE('Step 2 Base Specified State',
'Relating Specified State');
#637538526= RESULT_LINEAR_STATIC_ANALYSIS_SUB_STEP(#637538515,#637538519
,#637538527);
#637538527= CALCULATED_STATE('Calculated State for Step 1','');
#637538528= CONTROL_RESULT_RELATIONSHIP(#637538529,#637538526);
#637538529= CONTROL_LINEAR_STATIC_ANALYSIS_STEP(#637538515,
'STATIC STEP 1',1,#637538523,'',#637538530);
#637538530= CONTROL_LINEAR_STATIC_LOAD_INCREMENT_PROCESS('STATIC STEP 1'
,'',#637538531);
#637538531= SPECIFIED_STATE('Step 1 Base Specified State',
'Relating Specified State');
#637538532= SPECIFIED_STATE('SPCCASE_2_2_1','Aggregator SPC 2 Step 1');
#637538533= STATE_RELATIONSHIP(
'SPCCASE_2_2_1 is related to Step 1 Base Specified State','',#637538531,
#637538532);
#637538534= STATE_RELATIONSHIP(
'SPCVALSTATE_1_2 is related to SPCCASE_2_2_1','',#637538532,#637538535);
#637538535= SPECIFIED_STATE('SPCVALSTATE_1_2','');
#637538536= SINGLE_POINT_CONSTRAINT_ELEMENT_VALUES(#637538535,#637538537
,#637538543,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)
,CONTEXT_DEPENDENT_MEASURE(0.)));
#637538537= SINGLE_POINT_CONSTRAINT_ELEMENT('SPC1_1.0',(#637538529,
#637538522),#637538253,#637538284,(#637538540,#637538541,#637538542),''
);
#637538540= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.X_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538541= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.Y_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538542= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.Z_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538543= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.)));
#637538546= LINEARLY_SUPERIMPOSED_STATE('LOADSTATECOMBINATION_2',
'Overall Factor Combined State');
#637538548= STATE_RELATIONSHIP(
'LOADSTATECOMBINATION_2 is related to Step 2 Base Specified State','',
#637538525,#637538546);
#637538549= STATE_RELATIONSHIP(
'LOADSTATECOMBINATION_2 is related to Step 1 Base Specified State','',
#637538531,#637538546);
#637538550= STATE_COMPONENT('OverallComp','',#637538546,1.);
#637538552= STATE_RELATIONSHIP(
'LOADSTATEITEM_1 is related to OverallComp','',#637538550,#637538553);
#637538553= LINEARLY_SUPERIMPOSED_STATE('LOADSTATEITEM_1',
'Item Factor State');
#637538554= SPECIFIED_STATE('LOADSTATECORE_1',
'Core Loads Specified State');
#637538555= STATE_RELATIONSHIP(
'LOADSTATECORE_1 is related to ItemComp_2_1','',#637538556,#637538554);
#637538556= STATE_COMPONENT('ItemComp_2_1','',#637538553,1.);
#637538558= NODAL_FREEDOM_ACTION_DEFINITION(#637538554,#637538355,
#637538284,#637538559,(CONTEXT_DEPENDENT_MEASURE(-1000.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538559= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.)));
#637538562= OUTPUT_REQUEST_STATE('Step 1 Output Request State','',(
#637538529));
#637538564= NODAL_FREEDOM_VALUES(#637538562,#637538565,#637538284,
#637538567,(UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.)));
#637538565= NODE_GROUP('','ALL',#637538282,(#637538253,#637538295,
#637538299,#637538303,#637538307,#637538311,#637538315,#637538319,
#637538323,#637538327,#637538331,#637538335,#637538339,#637538343,
#637538347,#637538351,#637538355));
#637538567= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.X_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(
.Y_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(.Z_ROTATION.)));
#637538570= ID_ATTRIBUTE('ALL',#637538565);
#637538571= SPECIFIED_STATE('SPCCASE_2_2_2','Aggregator SPC 2 Step 2');
#637538572= STATE_RELATIONSHIP(
'SPCCASE_2_2_2 is related to Step 2 Base Specified State','',#637538525,
#637538571);
#637538573= OUTPUT_REQUEST_STATE('Step 2 Output Request State','',(
#637538522));
#637538575= NODAL_FREEDOM_VALUES(#637538573,#637538565,#637538284,
#637538567,(UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.)));
#637538577= NODAL_FREEDOM_VALUES(#637538527,#637538253,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538579= NODAL_FREEDOM_VALUES(#637538527,#637538295,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-1.25000000000000E-5),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538581= NODAL_FREEDOM_VALUES(#637538527,#637538299,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-2.50000000000000E-5),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538583= NODAL_FREEDOM_VALUES(#637538527,#637538303,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-3.75000000000000E-5),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538585= NODAL_FREEDOM_VALUES(#637538527,#637538307,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-5.00000000000000E-5),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538587= NODAL_FREEDOM_VALUES(#637538527,#637538311,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-6.25000000000000E-5),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538589= NODAL_FREEDOM_VALUES(#637538527,#637538315,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-7.50000000000000E-5),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538591= NODAL_FREEDOM_VALUES(#637538527,#637538319,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-8.75000000000000E-5),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538593= NODAL_FREEDOM_VALUES(#637538527,#637538323,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.0001),CONTEXT_DEPENDENT_MEASURE
(0.),CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538595= NODAL_FREEDOM_VALUES(#637538527,#637538327,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.0001125),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538597= NODAL_FREEDOM_VALUES(#637538527,#637538331,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.000125),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538599= NODAL_FREEDOM_VALUES(#637538527,#637538335,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.0001375),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538601= NODAL_FREEDOM_VALUES(#637538527,#637538339,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.00015),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538603= NODAL_FREEDOM_VALUES(#637538527,#637538343,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.0001625),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538605= NODAL_FREEDOM_VALUES(#637538527,#637538347,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.000175),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538607= NODAL_FREEDOM_VALUES(#637538527,#637538351,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.0001875),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538609= NODAL_FREEDOM_VALUES(#637538527,#637538355,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.0002),CONTEXT_DEPENDENT_MEASURE
(0.),CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538611= NODAL_FREEDOM_VALUES(#637538520,#637538253,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538613= NODAL_FREEDOM_VALUES(#637538520,#637538295,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-1.25000000000000E-5),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538615= NODAL_FREEDOM_VALUES(#637538520,#637538299,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-2.50000000000000E-5),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538617= NODAL_FREEDOM_VALUES(#637538520,#637538303,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-3.75000000000000E-5),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538619= NODAL_FREEDOM_VALUES(#637538520,#637538307,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-5.00000000000000E-5),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538621= NODAL_FREEDOM_VALUES(#637538520,#637538311,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-6.25000000000000E-5),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538623= NODAL_FREEDOM_VALUES(#637538520,#637538315,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-7.50000000000000E-5),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538625= NODAL_FREEDOM_VALUES(#637538520,#637538319,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-8.75000000000000E-5),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538627= NODAL_FREEDOM_VALUES(#637538520,#637538323,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.0001),CONTEXT_DEPENDENT_MEASURE
(0.),CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538629= NODAL_FREEDOM_VALUES(#637538520,#637538327,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.0001125),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538631= NODAL_FREEDOM_VALUES(#637538520,#637538331,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.000125),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538633= NODAL_FREEDOM_VALUES(#637538520,#637538335,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.0001375),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538635= NODAL_FREEDOM_VALUES(#637538520,#637538339,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.00015),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538637= NODAL_FREEDOM_VALUES(#637538520,#637538343,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.0001625),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538639= NODAL_FREEDOM_VALUES(#637538520,#637538347,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.000175),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538641= NODAL_FREEDOM_VALUES(#637538520,#637538351,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.0001875),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538643= NODAL_FREEDOM_VALUES(#637538520,#637538355,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.0002),CONTEXT_DEPENDENT_MEASURE
(0.),CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
ENDSEC;
END-ISO-10303-21;

685
data/ap209/ATS2-out.stp Normal file
View file

@ -0,0 +1,685 @@
ISO-10303-21;
HEADER;
/******************************************************************************************
* STEP Physical File produced by: The EXPRESS Data Manager Version 5.01.0100.b03 SimDM : 25 Apr 2012
* Module: EDMstepFileFactory/EDMstandAlone
* Creation date: Mon Jul 09 12:24:23 2012
* Host: AER4WA926171Z
* Database: C:\Documents and Settings\johnsjc2\Desktop\AP209\SimDM2010\DevCM\db\d
* Database version: 5207
* Database creation date: Wed Apr 18 15:33:55 2012
* Schema: AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF
* Model: DataRepository.FemTest
* Model creation date: Mon Jul 09 12:24:23 2012
* Header model:
* EDMuser: superuser
* EDMgroup:
* License ID and type: 5565 : Project license. Expiry date: 31 Dec 2012
* EDMstepFileFactory options: 010000000
******************************************************************************************/
FILE_DESCRIPTION((''),'2;1');
FILE_NAME(
'C:\\Documents and Settings\\johnsjc2\\Desktop\\AP209\\SimDM2010\\DevCM\\db\\d.DataRepository.FemTest'
,
'2012-07-09T12:24:23',
('ANONYMOUS USER'),
('ANONYMOUS ORGANISATION'),
'The EXPRESS Data Manager Version 5.01.0100.b03 SimDM : 25 Apr 2012',
'',
'');
FILE_SCHEMA(('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF'));
ENDSEC;
DATA;
#637538235= APPLICATION_CONTEXT('SimDM');
#637538237= PRODUCT_DEFINITION_CONTEXT('assembly definition',#637538235,
'life cycle stage');
#637538239= PRODUCT_DEFINITION('default-id.0',$,#637538240,#637538244);
#637538240= PRODUCT_DEFINITION_FORMATION('default-id.0','',#637538241);
#637538241= PRODUCT('default-id.0','default-fea-part','',(#637538243));
#637538243= PRODUCT_CONTEXT('design_context',#637538235,'design_context'
);
#637538244= PRODUCT_DEFINITION_CONTEXT(
'product_definition_context_name_1',#637538245,'ANALYSIS-STAGE');
#637538245= APPLICATION_CONTEXT('FEA-ANALYSIS-DOMAIN');
#637538247= PRODUCT_DEFINITION_SHAPE('name',$,#637538239);
#637538248= SHAPE_DEFINITION_REPRESENTATION(#637538247,#637538249);
#637538249= POINT_REPRESENTATION('point_representation_name_1',(
#637538251,#637538359),#637538257);
#637538251= NODE_SET('node_set_name_1',(#637538253,#637538295,#637538299
,#637538303,#637538307,#637538311,#637538315,#637538319,#637538323,
#637538327,#637538331,#637538335,#637538339,#637538343,#637538347,
#637538351,#637538355));
#637538253= NODE('1',(#637538255),#637538257,#637538282);
#637538255= CARTESIAN_POINT('1',(0.,-2.,1.));
#637538257=
/* GEOMETRIC_REPRESENTATION_CONTEXT+GLOBAL_UNIT_ASSIGNED_CONTEXT */(
GEOMETRIC_REPRESENTATION_CONTEXT(3)GLOBAL_UNIT_ASSIGNED_CONTEXT((
#637538260,#637538268,#637538271,#637538265,#637538263,#637538274,
#637538275,#637538278,#637538281,#637538267))REPRESENTATION_CONTEXT(
'CORD2R.1','3d'));
#637538260= SI_ENERGY_UNIT((#637538262,#637538264,#637538266),*,$,
.JOULE.);
#637538262= DERIVED_UNIT_ELEMENT(#637538263,1.);
#637538263= /* MASS_UNIT+SI_UNIT */(MASS_UNIT()NAMED_UNIT(*)SI_UNIT(
.KILO.,.GRAM.));
#637538264= DERIVED_UNIT_ELEMENT(#637538265,2.);
#637538265= /* LENGTH_UNIT+SI_UNIT */(LENGTH_UNIT()NAMED_UNIT(*)SI_UNIT(
$,.METRE.));
#637538266= DERIVED_UNIT_ELEMENT(#637538267,-2.);
#637538267= /* SI_UNIT+TIME_UNIT */(NAMED_UNIT(*)SI_UNIT($,.SECOND.)
TIME_UNIT());
#637538268= SI_FORCE_UNIT((#637538262,#637538270,#637538266),*,$,
.NEWTON.);
#637538270= DERIVED_UNIT_ELEMENT(#637538265,1.);
#637538271= SI_FREQUENCY_UNIT((#637538273),*,$,.HERTZ.);
#637538273= DERIVED_UNIT_ELEMENT(#637538267,-1.);
#637538274= /* PLANE_ANGLE_UNIT+SI_UNIT */(NAMED_UNIT(*)PLANE_ANGLE_UNIT
()SI_UNIT($,.RADIAN.));
#637538275= SI_POWER_UNIT((#637538262,#637538264,#637538277),*,$,.WATT.
);
#637538277= DERIVED_UNIT_ELEMENT(#637538267,-3.);
#637538278= SI_PRESSURE_UNIT((#637538262,#637538280,#637538266),*,$,
.PASCAL.);
#637538280= DERIVED_UNIT_ELEMENT(#637538265,-1.);
#637538281= /* SI_UNIT+THERMODYNAMIC_TEMPERATURE_UNIT */(NAMED_UNIT(*)
SI_UNIT($,.DEGREE_CELSIUS.)THERMODYNAMIC_TEMPERATURE_UNIT());
#637538282= FEA_MODEL_3D('Identification',(#637538284),#637538291,
'NASTRAN BDF Converter v0.0.0',('NASTRAN'),'AnalysisModelType');
#637538284= FEA_AXIS2_PLACEMENT_3D('0',#637538285,#637538287,#637538289,
.CARTESIAN.,'FEA_BASIC_COORD_SYSTEM.0');
#637538285= CARTESIAN_POINT('',(0.,0.,0.));
#637538287= DIRECTION('AxisZ',(0.,0.,1.));
#637538289= DIRECTION('RefX',(1.,0.,0.));
#637538291=
/* GEOMETRIC_REPRESENTATION_CONTEXT+GLOBAL_UNIT_ASSIGNED_CONTEXT */(
GEOMETRIC_REPRESENTATION_CONTEXT(3)GLOBAL_UNIT_ASSIGNED_CONTEXT((
#637538260,#637538268,#637538271,#637538265,#637538263,#637538274,
#637538275,#637538278,#637538281,#637538267))REPRESENTATION_CONTEXT(
'FEA_BASIC_COORD_SYSTEM.0','3d'));
#637538295= NODE('2',(#637538297),#637538257,#637538282);
#637538297= CARTESIAN_POINT('2',(1.,-2.,1.));
#637538299= NODE('3',(#637538301),#637538257,#637538282);
#637538301= CARTESIAN_POINT('3',(2.,-2.,1.));
#637538303= NODE('4',(#637538305),#637538257,#637538282);
#637538305= CARTESIAN_POINT('4',(3.,-2.,1.));
#637538307= NODE('5',(#637538309),#637538257,#637538282);
#637538309= CARTESIAN_POINT('5',(4.,-2.,1.));
#637538311= NODE('6',(#637538313),#637538257,#637538282);
#637538313= CARTESIAN_POINT('6',(5.,-2.,1.));
#637538315= NODE('7',(#637538317),#637538257,#637538282);
#637538317= CARTESIAN_POINT('7',(6.,-2.,1.));
#637538319= NODE('8',(#637538321),#637538257,#637538282);
#637538321= CARTESIAN_POINT('8',(7.,-2.,1.));
#637538323= NODE('9',(#637538325),#637538257,#637538282);
#637538325= CARTESIAN_POINT('9',(8.,-2.,1.));
#637538327= NODE('10',(#637538329),#637538257,#637538282);
#637538329= CARTESIAN_POINT('10',(9.,-2.,1.));
#637538331= NODE('11',(#637538333),#637538257,#637538282);
#637538333= CARTESIAN_POINT('11',(10.,-2.,1.));
#637538335= NODE('12',(#637538337),#637538257,#637538282);
#637538337= CARTESIAN_POINT('12',(11.,-2.,1.));
#637538339= NODE('13',(#637538341),#637538257,#637538282);
#637538341= CARTESIAN_POINT('13',(12.,-2.,1.));
#637538343= NODE('14',(#637538345),#637538257,#637538282);
#637538345= CARTESIAN_POINT('14',(13.,-2.,1.));
#637538347= NODE('15',(#637538349),#637538257,#637538282);
#637538349= CARTESIAN_POINT('15',(14.,-2.,1.));
#637538351= NODE('16',(#637538353),#637538257,#637538282);
#637538353= CARTESIAN_POINT('16',(15.,-2.,1.));
#637538355= NODE('17',(#637538357),#637538257,#637538282);
#637538357= CARTESIAN_POINT('17',(16.,-2.,1.));
#637538359= FEA_AXIS2_PLACEMENT_3D('1',#637538360,#637538362,#637538364,
.CARTESIAN.,'CORD2R.1');
#637538360= CARTESIAN_POINT('',(0.,0.,0.));
#637538362= DIRECTION('AxisZ',(0.,0.,1.));
#637538364= DIRECTION('RefX',(1.,0.,0.));
#637538366= FEA_MODEL_DEFINITION('fea_model_definition_id_1',$,
#637538247,.U.);
#637538367= STRUCTURAL_RESPONSE_PROPERTY(
'structural_response_property_id_1',$,#637538366);
#637538368= STRUCTURAL_RESPONSE_PROPERTY_DEFINITION_REPRESENTATION(
#637538367,#637538282);
#637538369= NAME_ATTRIBUTE('',#637538239);
#637538370= APPLIED_CLASSIFICATION_ASSIGNMENT(#637538371,#637538372,(
#637538239));
#637538371= GROUP('default-gpvv-type',$);
#637538372= CLASSIFICATION_ROLE('view_type',$);
#637538374= APPLIED_IDENTIFICATION_ASSIGNMENT('default-id.0',#637538375,
(#637538240,#637538239,#637538241));
#637538375= IDENTIFICATION_ROLE('default-role',$);
#637538377= APPLIED_ORGANIZATION_ASSIGNMENT(#637538378,#637538379,(
#637538374));
#637538378= ORGANIZATION($,'default-organization',$);
#637538379= ORGANIZATION_ROLE('id context');
#637538381= APPLIED_CLASSIFICATION_ASSIGNMENT(#637538382,#637538383,(
#637538374));
#637538382= GROUP('id',$);
#637538383= CLASSIFICATION_ROLE('',$);
#637538385= APPLICATION_PROTOCOL_DEFINITION('status',
'ap203_configuration_controlled_3d_design_of_mechanical_parts_and_assemblies'
,2011,#637538235);
#637538386= DESCRIPTION_ATTRIBUTE('SimDM',#637538235);
#637538387= ID_ATTRIBUTE('SimDM',#637538235);
#637538388= DIMENSIONAL_EXPONENTS(0.,0.,0.,0.,0.,0.,0.);
#637538389= PRODUCT_RELATED_PRODUCT_CATEGORY('document',$,());
#637538391= PRODUCT_RELATED_PRODUCT_CATEGORY('product',$,(#637538241));
#637538393= DESCRIPTION_ATTRIBUTE('',#637538245);
#637538394= CARTESIAN_POINT('0',(0.,0.,0.));
#637538396= DUMMY_NODE('0',(#637538394),#637538291,#637538282);
#637538398= ITEM_DEFINED_TRANSFORMATION('','',#637538284,#637538359);
#637538399= REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION('','',
#637538282,#637538249,#637538398);
#637538400= ELEMENT_MATERIAL('MAT1.1','Fea Material',(#637538402,
#637538417,#637538422));
#637538402= FEA_MATERIAL_PROPERTY_REPRESENTATION(#637538403,#637538405,
#637538409);
#637538403= MATERIAL_PROPERTY('MAT1.1.0',$,#637538404);
#637538404= CHARACTERIZED_OBJECT('material_property',$);
#637538405= REPRESENTATION('representation_id_2',(#637538407),#637538291
);
#637538407= FEA_LINEAR_ELASTICITY('',FEA_ISOTROPIC_SYMMETRIC_TENSOR4_3D(
(10000000.,0.33)));
#637538409= DATA_ENVIRONMENT('DATA_ENV','Property_conditions',(
#637538411));
#637538411= PROPERTY_DEFINITION_REPRESENTATION(#637538412,#637538414);
#637538412= PROPERTY_DEFINITION('Material Property Definition',$,
#637538413);
#637538413= CHARACTERIZED_OBJECT('property',$);
#637538414= REPRESENTATION('representation_id_1',(#637538416),#637538291
);
#637538416= MEASURE_REPRESENTATION_ITEM('representation_item_name_1',
CONTEXT_DEPENDENT_MEASURE(70.),#637538281);
#637538417= FEA_MATERIAL_PROPERTY_REPRESENTATION(#637538418,#637538419,
#637538409);
#637538418= MATERIAL_PROPERTY('MAT1.1.1',$,#637538404);
#637538419= REPRESENTATION('representation_id_3',(#637538421),#637538291
);
#637538421= FEA_MASS_DENSITY('',0.000254);
#637538422= FEA_MATERIAL_PROPERTY_REPRESENTATION(#637538423,#637538424,
#637538409);
#637538423= MATERIAL_PROPERTY('MAT1.1.2',$,#637538404);
#637538424= REPRESENTATION('representation_id_4',(#637538426),#637538291
);
#637538426= FEA_TANGENTIAL_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION('',
ISOTROPIC_SYMMETRIC_TENSOR2_3D(0.));
#637538427= CURVE_3D_ELEMENT_REPRESENTATION('16',(#637538429,#637538433)
,#637538435,(#637538351,#637538355),#637538282,#637538439,#637538445,
#637538400);
#637538429= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538430
);
#637538430= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538431);
#637538431= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538433= FEA_PARAMETRIC_POINT('',(1.,0.,0.));
#637538435= PARAMETRIC_REPRESENTATION_CONTEXT(
'parametric_representation_context','parametric');
#637538439= CURVE_3D_ELEMENT_DESCRIPTOR(.LINEAR_ORDER.,'LINEAR_CURVE.CBAR*',((
ENUMERATED_CURVE_ELEMENT_PURPOSE(.AXIAL.)),(
ENUMERATED_CURVE_ELEMENT_PURPOSE(.Y_Y_BENDING.),
ENUMERATED_CURVE_ELEMENT_PURPOSE(.Z_Z_BENDING.)),(
ENUMERATED_CURVE_ELEMENT_PURPOSE(.TORSION.)),(
ENUMERATED_CURVE_ELEMENT_PURPOSE(.X_Y_SHEAR.),
ENUMERATED_CURVE_ELEMENT_PURPOSE(.X_Z_SHEAR.))));
#637538445= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.16','',(#637538447),(
#637538458,#637538460),(#637538463,#637538470));
#637538447= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538448,#637538449,
#637538451);
#637538448= CURVE_ELEMENT_LOCATION(#637538433);
#637538449= EULER_ANGLES((0.,0.,0.));
#637538451= CURVE_ELEMENT_SECTION_DERIVED_DEFINITIONS('PBAR.1_0',0.,8.,(
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)),(2.667,
10.667,0.),0.,CONTEXT_DEPENDENT_MEASURE(0.),(CONTEXT_DEPENDENT_MEASURE(
0.),CONTEXT_DEPENDENT_MEASURE(0.)),(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)),(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.));
#637538458= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538460= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538463= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538465= CURVE_ELEMENT_END_RELEASE_PACKET(
ENUMERATED_CURVE_ELEMENT_FREEDOM(.X_TRANSLATION.),0.);
#637538466= CURVE_ELEMENT_END_RELEASE_PACKET(
ENUMERATED_CURVE_ELEMENT_FREEDOM(.Y_TRANSLATION.),0.);
#637538467= CURVE_ELEMENT_END_RELEASE_PACKET(
ENUMERATED_CURVE_ELEMENT_FREEDOM(.Z_TRANSLATION.),0.);
#637538468= CURVE_ELEMENT_END_RELEASE_PACKET(
ENUMERATED_CURVE_ELEMENT_FREEDOM(.X_ROTATION.),0.);
#637538469= CURVE_ELEMENT_END_RELEASE_PACKET(
ENUMERATED_CURVE_ELEMENT_FREEDOM(.Z_ROTATION.),0.);
#637538470= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538472= CURVE_3D_ELEMENT_REPRESENTATION('15',(#637538474,#637538433)
,#637538435,(#637538347,#637538351),#637538282,#637538439,#637538479,
#637538400);
#637538474= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538475
);
#637538475= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538476);
#637538476= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538479= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.15','',(#637538481),(
#637538486,#637538488),(#637538491,#637538493));
#637538481= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538482,#637538483,
#637538451);
#637538482= CURVE_ELEMENT_LOCATION(#637538433);
#637538483= EULER_ANGLES((0.,0.,0.));
#637538486= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538488= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538491= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538493= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538495= CURVE_3D_ELEMENT_REPRESENTATION('14',(#637538497,#637538433)
,#637538435,(#637538343,#637538347),#637538282,#637538439,#637538502,
#637538400);
#637538497= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538498
);
#637538498= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538499);
#637538499= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538502= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.14','',(#637538504),(
#637538509,#637538511),(#637538514,#637538516));
#637538504= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538505,#637538506,
#637538451);
#637538505= CURVE_ELEMENT_LOCATION(#637538433);
#637538506= EULER_ANGLES((0.,0.,0.));
#637538509= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538511= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538514= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538516= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538518= CURVE_3D_ELEMENT_REPRESENTATION('13',(#637538520,#637538433)
,#637538435,(#637538339,#637538343),#637538282,#637538439,#637538525,
#637538400);
#637538520= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538521
);
#637538521= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538522);
#637538522= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538525= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.13','',(#637538527),(
#637538532,#637538534),(#637538537,#637538539));
#637538527= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538528,#637538529,
#637538451);
#637538528= CURVE_ELEMENT_LOCATION(#637538433);
#637538529= EULER_ANGLES((0.,0.,0.));
#637538532= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538534= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538537= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538539= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538541= CURVE_3D_ELEMENT_REPRESENTATION('12',(#637538543,#637538433)
,#637538435,(#637538335,#637538339),#637538282,#637538439,#637538548,
#637538400);
#637538543= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538544
);
#637538544= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538545);
#637538545= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538548= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.12','',(#637538550),(
#637538555,#637538557),(#637538560,#637538562));
#637538550= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538551,#637538552,
#637538451);
#637538551= CURVE_ELEMENT_LOCATION(#637538433);
#637538552= EULER_ANGLES((0.,0.,0.));
#637538555= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538557= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538560= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538562= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538564= CURVE_3D_ELEMENT_REPRESENTATION('11',(#637538566,#637538433)
,#637538435,(#637538331,#637538335),#637538282,#637538439,#637538571,
#637538400);
#637538566= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538567
);
#637538567= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538568);
#637538568= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538571= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.11','',(#637538573),(
#637538578,#637538580),(#637538583,#637538585));
#637538573= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538574,#637538575,
#637538451);
#637538574= CURVE_ELEMENT_LOCATION(#637538433);
#637538575= EULER_ANGLES((0.,0.,0.));
#637538578= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538580= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538583= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538585= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538587= CURVE_3D_ELEMENT_REPRESENTATION('10',(#637538589,#637538433)
,#637538435,(#637538327,#637538331),#637538282,#637538439,#637538594,
#637538400);
#637538589= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538590
);
#637538590= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538591);
#637538591= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538594= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.10','',(#637538596),(
#637538601,#637538603),(#637538606,#637538608));
#637538596= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538597,#637538598,
#637538451);
#637538597= CURVE_ELEMENT_LOCATION(#637538433);
#637538598= EULER_ANGLES((0.,0.,0.));
#637538601= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538603= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538606= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538608= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538610= CURVE_3D_ELEMENT_REPRESENTATION('9',(#637538612,#637538433),
#637538435,(#637538323,#637538327),#637538282,#637538439,#637538617,
#637538400);
#637538612= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538613
);
#637538613= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538614);
#637538614= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538617= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.9','',(#637538619),(
#637538624,#637538626),(#637538629,#637538631));
#637538619= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538620,#637538621,
#637538451);
#637538620= CURVE_ELEMENT_LOCATION(#637538433);
#637538621= EULER_ANGLES((0.,0.,0.));
#637538624= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538626= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538629= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538631= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538633= CURVE_3D_ELEMENT_REPRESENTATION('8',(#637538635,#637538433),
#637538435,(#637538319,#637538323),#637538282,#637538439,#637538640,
#637538400);
#637538635= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538636
);
#637538636= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538637);
#637538637= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538640= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.8','',(#637538642),(
#637538647,#637538649),(#637538652,#637538654));
#637538642= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538643,#637538644,
#637538451);
#637538643= CURVE_ELEMENT_LOCATION(#637538433);
#637538644= EULER_ANGLES((0.,0.,0.));
#637538647= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538649= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538652= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538654= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538656= CURVE_3D_ELEMENT_REPRESENTATION('7',(#637538658,#637538433),
#637538435,(#637538315,#637538319),#637538282,#637538439,#637538663,
#637538400);
#637538658= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538659
);
#637538659= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538660);
#637538660= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538663= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.7','',(#637538665),(
#637538670,#637538672),(#637538675,#637538677));
#637538665= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538666,#637538667,
#637538451);
#637538666= CURVE_ELEMENT_LOCATION(#637538433);
#637538667= EULER_ANGLES((0.,0.,0.));
#637538670= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538672= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538675= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538677= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538679= CURVE_3D_ELEMENT_REPRESENTATION('6',(#637538681,#637538433),
#637538435,(#637538311,#637538315),#637538282,#637538439,#637538686,
#637538400);
#637538681= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538682
);
#637538682= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538683);
#637538683= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538686= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.6','',(#637538688),(
#637538693,#637538695),(#637538698,#637538700));
#637538688= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538689,#637538690,
#637538451);
#637538689= CURVE_ELEMENT_LOCATION(#637538433);
#637538690= EULER_ANGLES((0.,0.,0.));
#637538693= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538695= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538698= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538700= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538702= CURVE_3D_ELEMENT_REPRESENTATION('5',(#637538704,#637538433),
#637538435,(#637538307,#637538311),#637538282,#637538439,#637538709,
#637538400);
#637538704= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538705
);
#637538705= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538706);
#637538706= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538709= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.5','',(#637538711),(
#637538716,#637538718),(#637538721,#637538723));
#637538711= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538712,#637538713,
#637538451);
#637538712= CURVE_ELEMENT_LOCATION(#637538433);
#637538713= EULER_ANGLES((0.,0.,0.));
#637538716= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538718= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538721= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538723= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538725= CURVE_3D_ELEMENT_REPRESENTATION('4',(#637538727,#637538433),
#637538435,(#637538303,#637538307),#637538282,#637538439,#637538732,
#637538400);
#637538727= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538728
);
#637538728= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538729);
#637538729= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538732= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.4','',(#637538734),(
#637538739,#637538741),(#637538744,#637538746));
#637538734= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538735,#637538736,
#637538451);
#637538735= CURVE_ELEMENT_LOCATION(#637538433);
#637538736= EULER_ANGLES((0.,0.,0.));
#637538739= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538741= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538744= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538746= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538748= CURVE_3D_ELEMENT_REPRESENTATION('3',(#637538750,#637538433),
#637538435,(#637538299,#637538303),#637538282,#637538439,#637538755,
#637538400);
#637538750= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538751
);
#637538751= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538752);
#637538752= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538755= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.3','',(#637538757),(
#637538762,#637538764),(#637538767,#637538769));
#637538757= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538758,#637538759,
#637538451);
#637538758= CURVE_ELEMENT_LOCATION(#637538433);
#637538759= EULER_ANGLES((0.,0.,0.));
#637538762= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538764= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538767= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538769= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538771= CURVE_3D_ELEMENT_REPRESENTATION('2',(#637538773,#637538433),
#637538435,(#637538295,#637538299),#637538282,#637538439,#637538778,
#637538400);
#637538773= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538774
);
#637538774= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538775);
#637538775= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538778= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.2','',(#637538780),(
#637538785,#637538787),(#637538790,#637538792));
#637538780= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538781,#637538782,
#637538451);
#637538781= CURVE_ELEMENT_LOCATION(#637538433);
#637538782= EULER_ANGLES((0.,0.,0.));
#637538785= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538787= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538790= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538792= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538794= CURVE_3D_ELEMENT_REPRESENTATION('1',(#637538796,#637538433),
#637538435,(#637538253,#637538295),#637538282,#637538439,#637538801,
#637538400);
#637538796= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538797
);
#637538797= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538798);
#637538798= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538801= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.1','',(#637538803),(
#637538808,#637538810),(#637538813,#637538815));
#637538803= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538804,#637538805,
#637538451);
#637538804= CURVE_ELEMENT_LOCATION(#637538433);
#637538805= EULER_ANGLES((0.,0.,0.));
#637538808= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538810= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538813= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538815= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538817= ID_ATTRIBUTE('MAT1.1',#637538412);
#637538818= DESCRIPTION_ATTRIBUTE('Elasticity',#637538402);
#637538819= DESCRIPTION_ATTRIBUTE('MassDensity',#637538417);
#637538820= DESCRIPTION_ATTRIBUTE('TangentCTE',#637538422);
#637538821= CONTROL(#637538282,'Control.0','FemConvert',
'MSC.NASTRAN JOB CREATED ON 10-JUL-00 AT 06:54:00',('<SOL>101</SOL>',
'TIME 600','CEND','<GLOBALCASE>0</GLOBALCASE>','<SUBCASE>1</SUBCASE>',
'ENDDATA 07CFC18D'),('NASTRAN'));
#637538824= CONTROL_LINEAR_STATIC_ANALYSIS_STEP(#637538821,
'STATIC STEP 1',1,#637538825,'',#637538826);
#637538825= SPECIFIED_STATE('STEP DEFAULT','default_initial_state');
#637538826= CONTROL_LINEAR_STATIC_LOAD_INCREMENT_PROCESS('STATIC STEP 1'
,'',#637538827);
#637538827= SPECIFIED_STATE('Step 1 Base Specified State',
'Relating Specified State');
#637538828= OUTPUT_REQUEST_STATE('Step 1 Output Request State','',(
#637538824));
#637538830= NODAL_FREEDOM_VALUES(#637538828,#637538831,#637538284,
#637538833,(UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.)));
#637538831= NODE_GROUP('','ALL',#637538282,(#637538253,#637538295,
#637538299,#637538303,#637538307,#637538311,#637538315,#637538319,
#637538323,#637538327,#637538331,#637538335,#637538339,#637538343,
#637538347,#637538351,#637538355));
#637538833= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.X_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(
.Y_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(.Z_ROTATION.)));
#637538836= SINGLE_POINT_CONSTRAINT_ELEMENT('SPC1_1.0',(#637538824),
#637538253,#637538284,(#637538839,#637538840,#637538841,#637538842,
#637538843,#637538844),'');
#637538839= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.X_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538840= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.Y_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538841= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.Z_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538842= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.X_ROTATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538843= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.Y_ROTATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538844= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.Z_ROTATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538845= SINGLE_POINT_CONSTRAINT_ELEMENT_VALUES(#637538846,#637538836
,#637538847,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)
,CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538846= SPECIFIED_STATE('SPCVALSTATE_1_2','');
#637538847= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.X_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(
.Y_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(.Z_ROTATION.)));
#637538850= SPECIFIED_STATE('SPCCASE_2_2_1','Aggregator SPC 2 Step 1');
#637538851= STATE_RELATIONSHIP(
'SPCCASE_2_2_1 is related to Step 1 Base Specified State','',#637538827,
#637538850);
#637538852= STATE_RELATIONSHIP(
'SPCVALSTATE_1_2 is related to SPCCASE_2_2_1','',#637538850,#637538846);
#637538853= LINEARLY_SUPERIMPOSED_STATE('LOADSTATECOMBINATION_2',
'Overall Factor Combined State');
#637538855= STATE_RELATIONSHIP(
'LOADSTATECOMBINATION_2 is related to Step 1 Base Specified State','',
#637538827,#637538853);
#637538856= STATE_COMPONENT('OverallComp','',#637538853,1.);
#637538858= STATE_RELATIONSHIP(
'LOADSTATEITEM_4 is related to OverallComp','',#637538856,#637538859);
#637538859= LINEARLY_SUPERIMPOSED_STATE('LOADSTATEITEM_4',
'Item Factor State');
#637538860= STATE_RELATIONSHIP(
'LOADSTATEITEM_3 is related to OverallComp','',#637538856,#637538861);
#637538861= LINEARLY_SUPERIMPOSED_STATE('LOADSTATEITEM_3',
'Item Factor State');
#637538862= STATE_RELATIONSHIP(
'LOADSTATEITEM_1 is related to OverallComp','',#637538856,#637538863);
#637538863= LINEARLY_SUPERIMPOSED_STATE('LOADSTATEITEM_1',
'Item Factor State');
#637538864= SPECIFIED_STATE('LOADSTATECORE_1',
'Core Loads Specified State');
#637538865= STATE_RELATIONSHIP(
'LOADSTATECORE_1 is related to ItemComp_2_1','',#637538866,#637538864);
#637538866= STATE_COMPONENT('ItemComp_2_1','',#637538863,1.);
#637538868= NODAL_FREEDOM_ACTION_DEFINITION(#637538864,#637538355,
#637538284,#637538869,(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(-1010.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538869= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.)));
#637538872= SPECIFIED_STATE('LOADSTATECORE_3',
'Core Loads Specified State');
#637538873= STATE_RELATIONSHIP(
'LOADSTATECORE_3 is related to ItemComp_2_3','',#637538874,#637538872);
#637538874= STATE_COMPONENT('ItemComp_2_3','',#637538861,1.);
#637538876= NODAL_FREEDOM_ACTION_DEFINITION(#637538872,#637538331,
#637538284,#637538869,(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(-10.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538878= SPECIFIED_STATE('LOADSTATECORE_4',
'Core Loads Specified State');
#637538879= STATE_RELATIONSHIP(
'LOADSTATECORE_4 is related to ItemComp_2_4','',#637538880,#637538878);
#637538880= STATE_COMPONENT('ItemComp_2_4','',#637538859,1.);
#637538882= NODAL_FREEDOM_ACTION_DEFINITION(#637538878,#637538351,
#637538284,#637538869,(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(-20.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538884= NODAL_FREEDOM_ACTION_DEFINITION(#637538878,#637538347,
#637538284,#637538869,(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(-20.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538886= NODAL_FREEDOM_ACTION_DEFINITION(#637538878,#637538343,
#637538284,#637538869,(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(-20.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538888= NODAL_FREEDOM_ACTION_DEFINITION(#637538878,#637538339,
#637538284,#637538869,(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(-20.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538890= NODAL_FREEDOM_ACTION_DEFINITION(#637538878,#637538335,
#637538284,#637538869,(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(-20.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538892= ID_ATTRIBUTE('ALL',#637538831);
ENDSEC;
END-ISO-10303-21;

705
data/ap209/ATS2Mod0-out.stp Normal file
View file

@ -0,0 +1,705 @@
ISO-10303-21;
HEADER;
/******************************************************************************************
* STEP Physical File produced by: The EXPRESS Data Manager Version 5.01.0100.b04 : 12 Apr 2012
* Module: EDMstepFileFactory/EDMstandAlone
* Creation date: Tue Jun 05 10:29:56 2012
* Host: AER4WA926171Z
* Database: C:\Documents and Settings\johnsjc2\Desktop\AP209\SimDM2010\DevCM\db\d
* Database version: 5207
* Database creation date: Wed Apr 18 15:33:55 2012
* Schema: AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF
* Model: DataRepository.FemTest
* Model creation date: Tue Jun 05 10:29:56 2012
* Header model:
* EDMuser: superuser
* EDMgroup:
* License ID and type: 5565 : Project license. Expiry date: 31 Dec 2012
* EDMstepFileFactory options: 010000000
******************************************************************************************/
FILE_DESCRIPTION((''),'2;1');
FILE_NAME(
'C:\\Documents and Settings\\johnsjc2\\Desktop\\AP209\\SimDM2010\\DevCM\\db\\d.DataRepository.FemTest'
,
'2012-06-05T10:29:56',
('ANONYMOUS USER'),
('ANONYMOUS ORGANISATION'),
'The EXPRESS Data Manager Version 5.01.0100.b04 : 12 Apr 2012',
'',
'');
FILE_SCHEMA(('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF'));
ENDSEC;
DATA;
#637538233= APPLICATION_CONTEXT('SimDM');
#637538235= PRODUCT_DEFINITION_CONTEXT('assembly definition',#637538233,
'life cycle stage');
#637538237= PRODUCT_DEFINITION('default-id.0',$,#637538238,#637538242);
#637538238= PRODUCT_DEFINITION_FORMATION('default-id.0','',#637538239);
#637538239= PRODUCT('default-id.0','default-fea-part','',(#637538241));
#637538241= PRODUCT_CONTEXT('design_context',#637538233,'design_context'
);
#637538242= PRODUCT_DEFINITION_CONTEXT(
'product_definition_context_name_1',#637538243,'ANALYSIS-STAGE');
#637538243= APPLICATION_CONTEXT('FEA-ANALYSIS-DOMAIN');
#637538245= PRODUCT_DEFINITION_SHAPE('name',$,#637538237);
#637538246= SHAPE_DEFINITION_REPRESENTATION(#637538245,#637538247);
#637538247= POINT_REPRESENTATION('point_representation_name_1',(
#637538249,#637538357),#637538255);
#637538249= NODE_SET('node_set_name_1',(#637538251,#637538293,#637538297
,#637538301,#637538305,#637538309,#637538313,#637538317,#637538321,
#637538325,#637538329,#637538333,#637538337,#637538341,#637538345,
#637538349,#637538353));
#637538251= NODE('1',(#637538253),#637538255,#637538280);
#637538253= CARTESIAN_POINT('1',(0.,-2.,1.));
#637538255=
/* GEOMETRIC_REPRESENTATION_CONTEXT+GLOBAL_UNIT_ASSIGNED_CONTEXT */(
GEOMETRIC_REPRESENTATION_CONTEXT(3)GLOBAL_UNIT_ASSIGNED_CONTEXT((
#637538258,#637538266,#637538269,#637538263,#637538261,#637538272,
#637538273,#637538276,#637538279,#637538265))REPRESENTATION_CONTEXT(
'CORD2R.1','3d'));
#637538258= SI_ENERGY_UNIT((#637538260,#637538262,#637538264),*,$,
.JOULE.);
#637538260= DERIVED_UNIT_ELEMENT(#637538261,1.);
#637538261= /* MASS_UNIT+SI_UNIT */(MASS_UNIT()NAMED_UNIT(*)SI_UNIT(
.KILO.,.GRAM.));
#637538262= DERIVED_UNIT_ELEMENT(#637538263,2.);
#637538263= /* LENGTH_UNIT+SI_UNIT */(LENGTH_UNIT()NAMED_UNIT(*)SI_UNIT(
$,.METRE.));
#637538264= DERIVED_UNIT_ELEMENT(#637538265,-2.);
#637538265= /* SI_UNIT+TIME_UNIT */(NAMED_UNIT(*)SI_UNIT($,.SECOND.)
TIME_UNIT());
#637538266= SI_FORCE_UNIT((#637538260,#637538268,#637538264),*,$,
.NEWTON.);
#637538268= DERIVED_UNIT_ELEMENT(#637538263,1.);
#637538269= SI_FREQUENCY_UNIT((#637538271),*,$,.HERTZ.);
#637538271= DERIVED_UNIT_ELEMENT(#637538265,-1.);
#637538272= /* PLANE_ANGLE_UNIT+SI_UNIT */(NAMED_UNIT(*)PLANE_ANGLE_UNIT
()SI_UNIT($,.RADIAN.));
#637538273= SI_POWER_UNIT((#637538260,#637538262,#637538275),*,$,.WATT.
);
#637538275= DERIVED_UNIT_ELEMENT(#637538265,-3.);
#637538276= SI_PRESSURE_UNIT((#637538260,#637538278,#637538264),*,$,
.PASCAL.);
#637538278= DERIVED_UNIT_ELEMENT(#637538263,-1.);
#637538279= /* SI_UNIT+THERMODYNAMIC_TEMPERATURE_UNIT */(NAMED_UNIT(*)
SI_UNIT($,.DEGREE_CELSIUS.)THERMODYNAMIC_TEMPERATURE_UNIT());
#637538280= FEA_MODEL_3D('Identification',(#637538282),#637538289,
'NASTRAN BDF Converter v0.0.0',('NASTRAN'),'AnalysisModelType');
#637538282= FEA_AXIS2_PLACEMENT_3D('0',#637538283,#637538285,#637538287,
.CARTESIAN.,'FEA_BASIC_COORD_SYSTEM.0');
#637538283= CARTESIAN_POINT('',(0.,0.,0.));
#637538285= DIRECTION('AxisZ',(0.,0.,1.));
#637538287= DIRECTION('RefX',(1.,0.,0.));
#637538289=
/* GEOMETRIC_REPRESENTATION_CONTEXT+GLOBAL_UNIT_ASSIGNED_CONTEXT */(
GEOMETRIC_REPRESENTATION_CONTEXT(3)GLOBAL_UNIT_ASSIGNED_CONTEXT((
#637538258,#637538266,#637538269,#637538263,#637538261,#637538272,
#637538273,#637538276,#637538279,#637538265))REPRESENTATION_CONTEXT(
'FEA_BASIC_COORD_SYSTEM.0','3d'));
#637538293= NODE('2',(#637538295),#637538255,#637538280);
#637538295= CARTESIAN_POINT('2',(1.,-2.,1.));
#637538297= NODE('3',(#637538299),#637538255,#637538280);
#637538299= CARTESIAN_POINT('3',(2.,-2.,1.));
#637538301= NODE('4',(#637538303),#637538255,#637538280);
#637538303= CARTESIAN_POINT('4',(3.,-2.,1.));
#637538305= NODE('5',(#637538307),#637538255,#637538280);
#637538307= CARTESIAN_POINT('5',(4.,-2.,1.));
#637538309= NODE('6',(#637538311),#637538255,#637538280);
#637538311= CARTESIAN_POINT('6',(5.,-2.,1.));
#637538313= NODE('7',(#637538315),#637538255,#637538280);
#637538315= CARTESIAN_POINT('7',(6.,-2.,1.));
#637538317= NODE('8',(#637538319),#637538255,#637538280);
#637538319= CARTESIAN_POINT('8',(7.,-2.,1.));
#637538321= NODE('9',(#637538323),#637538255,#637538280);
#637538323= CARTESIAN_POINT('9',(8.,-2.,1.));
#637538325= NODE('10',(#637538327),#637538255,#637538280);
#637538327= CARTESIAN_POINT('10',(9.,-2.,1.));
#637538329= NODE('11',(#637538331),#637538255,#637538280);
#637538331= CARTESIAN_POINT('11',(10.,-2.,1.));
#637538333= NODE('12',(#637538335),#637538255,#637538280);
#637538335= CARTESIAN_POINT('12',(11.,-2.,1.));
#637538337= NODE('13',(#637538339),#637538255,#637538280);
#637538339= CARTESIAN_POINT('13',(12.,-2.,1.));
#637538341= NODE('14',(#637538343),#637538255,#637538280);
#637538343= CARTESIAN_POINT('14',(13.,-2.,1.));
#637538345= NODE('15',(#637538347),#637538255,#637538280);
#637538347= CARTESIAN_POINT('15',(14.,-2.,1.));
#637538349= NODE('16',(#637538351),#637538255,#637538280);
#637538351= CARTESIAN_POINT('16',(15.,-2.,1.));
#637538353= NODE('17',(#637538355),#637538255,#637538280);
#637538355= CARTESIAN_POINT('17',(16.,-2.,1.));
#637538357= FEA_AXIS2_PLACEMENT_3D('1',#637538358,#637538360,#637538362,
.CARTESIAN.,'CORD2R.1');
#637538358= CARTESIAN_POINT('',(0.,0.,0.));
#637538360= DIRECTION('AxisZ',(0.,0.,1.));
#637538362= DIRECTION('RefX',(1.,0.,0.));
#637538364= FEA_MODEL_DEFINITION('fea_model_definition_id_1',$,
#637538245,.U.);
#637538365= STRUCTURAL_RESPONSE_PROPERTY(
'structural_response_property_id_1',$,#637538364);
#637538366= STRUCTURAL_RESPONSE_PROPERTY_DEFINITION_REPRESENTATION(
#637538365,#637538280);
#637538367= NAME_ATTRIBUTE('',#637538237);
#637538368= APPLIED_CLASSIFICATION_ASSIGNMENT(#637538369,#637538370,(
#637538237));
#637538369= GROUP('default-gpvv-type',$);
#637538370= CLASSIFICATION_ROLE('view_type',$);
#637538372= APPLIED_IDENTIFICATION_ASSIGNMENT('default-id.0',#637538373,
(#637538238,#637538237,#637538239));
#637538373= IDENTIFICATION_ROLE('default-role',$);
#637538375= APPLIED_ORGANIZATION_ASSIGNMENT(#637538376,#637538377,(
#637538372));
#637538376= ORGANIZATION($,'default-organization',$);
#637538377= ORGANIZATION_ROLE('id context');
#637538379= APPLIED_CLASSIFICATION_ASSIGNMENT(#637538380,#637538381,(
#637538372));
#637538380= GROUP('id',$);
#637538381= CLASSIFICATION_ROLE('',$);
#637538383= APPLICATION_PROTOCOL_DEFINITION('status',
'ap203_configuration_controlled_3d_design_of_mechanical_parts_and_assemblies'
,2011,#637538233);
#637538384= DESCRIPTION_ATTRIBUTE('SimDM',#637538233);
#637538385= ID_ATTRIBUTE('SimDM',#637538233);
#637538386= DIMENSIONAL_EXPONENTS(0.,0.,0.,0.,0.,0.,0.);
#637538387= PRODUCT_RELATED_PRODUCT_CATEGORY('document',$,());
#637538389= PRODUCT_RELATED_PRODUCT_CATEGORY('product',$,(#637538239));
#637538391= DESCRIPTION_ATTRIBUTE('',#637538243);
#637538392= CARTESIAN_POINT('0',(0.,0.,0.));
#637538394= DUMMY_NODE('0',(#637538392),#637538289,#637538280);
#637538396= ITEM_DEFINED_TRANSFORMATION('','',#637538282,#637538357);
#637538397= REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION('','',
#637538280,#637538247,#637538396);
#637538398= ELEMENT_MATERIAL('MAT1.1','Fea Material',(#637538400,
#637538415,#637538420));
#637538400= FEA_MATERIAL_PROPERTY_REPRESENTATION(#637538401,#637538403,
#637538407);
#637538401= MATERIAL_PROPERTY('MAT1.1.0',$,#637538402);
#637538402= CHARACTERIZED_OBJECT('material_property',$);
#637538403= REPRESENTATION('representation_id_2',(#637538405),#637538289
);
#637538405= FEA_LINEAR_ELASTICITY('',FEA_ISOTROPIC_SYMMETRIC_TENSOR4_3D(
(10000000.,0.33)));
#637538407= DATA_ENVIRONMENT('DATA_ENV','Property_conditions',(
#637538409));
#637538409= PROPERTY_DEFINITION_REPRESENTATION(#637538410,#637538412);
#637538410= PROPERTY_DEFINITION('Material Property Definition',$,
#637538411);
#637538411= CHARACTERIZED_OBJECT('property',$);
#637538412= REPRESENTATION('representation_id_1',(#637538414),#637538289
);
#637538414= MEASURE_REPRESENTATION_ITEM('representation_item_name_1',
CONTEXT_DEPENDENT_MEASURE(70.),#637538279);
#637538415= FEA_MATERIAL_PROPERTY_REPRESENTATION(#637538416,#637538417,
#637538407);
#637538416= MATERIAL_PROPERTY('MAT1.1.1',$,#637538402);
#637538417= REPRESENTATION('representation_id_3',(#637538419),#637538289
);
#637538419= FEA_MASS_DENSITY('',0.000254);
#637538420= FEA_MATERIAL_PROPERTY_REPRESENTATION(#637538421,#637538422,
#637538407);
#637538421= MATERIAL_PROPERTY('MAT1.1.2',$,#637538402);
#637538422= REPRESENTATION('representation_id_4',(#637538424),#637538289
);
#637538424= FEA_TANGENTIAL_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION('',
ISOTROPIC_SYMMETRIC_TENSOR2_3D(0.));
#637538425= CURVE_3D_ELEMENT_REPRESENTATION('16',(#637538427,#637538431)
,#637538433,(#637538349,#637538353),#637538280,#637538437,#637538443,
#637538398);
#637538427= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538428
);
#637538428= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538429);
#637538429= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538431= FEA_PARAMETRIC_POINT('',(1.,0.,0.));
#637538433= PARAMETRIC_REPRESENTATION_CONTEXT(
'parametric_representation_context','parametric');
#637538437= CURVE_3D_ELEMENT_DESCRIPTOR(.LINEAR_ORDER.,'LINEAR_CURVE.CBAR*',((
ENUMERATED_CURVE_ELEMENT_PURPOSE(.AXIAL.)),(
ENUMERATED_CURVE_ELEMENT_PURPOSE(.Y_Y_BENDING.),
ENUMERATED_CURVE_ELEMENT_PURPOSE(.Z_Z_BENDING.)),(
ENUMERATED_CURVE_ELEMENT_PURPOSE(.TORSION.)),(
ENUMERATED_CURVE_ELEMENT_PURPOSE(.X_Y_SHEAR.),
ENUMERATED_CURVE_ELEMENT_PURPOSE(.X_Z_SHEAR.))));
#637538443= CURVE_3D_ELEMENT_PROPERTY('PBAR.1','',(#637538445),(
#637538456,#637538458),(#637538461,#637538468));
#637538445= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538446,#637538447,
#637538449);
#637538446= CURVE_ELEMENT_LOCATION(#637538431);
#637538447= EULER_ANGLES((0.,0.,0.));
#637538449= CURVE_ELEMENT_SECTION_DERIVED_DEFINITIONS('PBAR.1',0.,8.,(
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)),(2.667,
10.667,0.),0.,CONTEXT_DEPENDENT_MEASURE(0.),(CONTEXT_DEPENDENT_MEASURE(
0.),CONTEXT_DEPENDENT_MEASURE(0.)),(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)),(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.));
#637538456= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538458= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538461= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538463= CURVE_ELEMENT_END_RELEASE_PACKET(
ENUMERATED_CURVE_ELEMENT_FREEDOM(.X_TRANSLATION.),0.);
#637538464= CURVE_ELEMENT_END_RELEASE_PACKET(
ENUMERATED_CURVE_ELEMENT_FREEDOM(.Y_TRANSLATION.),0.);
#637538465= CURVE_ELEMENT_END_RELEASE_PACKET(
ENUMERATED_CURVE_ELEMENT_FREEDOM(.Z_TRANSLATION.),0.);
#637538466= CURVE_ELEMENT_END_RELEASE_PACKET(
ENUMERATED_CURVE_ELEMENT_FREEDOM(.X_ROTATION.),0.);
#637538467= CURVE_ELEMENT_END_RELEASE_PACKET(
ENUMERATED_CURVE_ELEMENT_FREEDOM(.Z_ROTATION.),0.);
#637538468= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538470= CURVE_3D_ELEMENT_REPRESENTATION('15',(#637538472,#637538431)
,#637538433,(#637538345,#637538349),#637538280,#637538437,#637538477,
#637538398);
#637538472= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538473
);
#637538473= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538474);
#637538474= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538477= CURVE_3D_ELEMENT_PROPERTY('PBAR.1','',(#637538479),(
#637538484,#637538486),(#637538489,#637538491));
#637538479= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538480,#637538481,
#637538449);
#637538480= CURVE_ELEMENT_LOCATION(#637538431);
#637538481= EULER_ANGLES((0.,0.,0.));
#637538484= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538486= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538489= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538491= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538493= CURVE_3D_ELEMENT_REPRESENTATION('14',(#637538495,#637538431)
,#637538433,(#637538341,#637538345),#637538280,#637538437,#637538500,
#637538398);
#637538495= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538496
);
#637538496= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538497);
#637538497= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538500= CURVE_3D_ELEMENT_PROPERTY('PBAR.1','',(#637538502),(
#637538507,#637538509),(#637538512,#637538514));
#637538502= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538503,#637538504,
#637538449);
#637538503= CURVE_ELEMENT_LOCATION(#637538431);
#637538504= EULER_ANGLES((0.,0.,0.));
#637538507= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538509= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538512= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538514= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538516= CURVE_3D_ELEMENT_REPRESENTATION('13',(#637538518,#637538431)
,#637538433,(#637538337,#637538341),#637538280,#637538437,#637538523,
#637538398);
#637538518= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538519
);
#637538519= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538520);
#637538520= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538523= CURVE_3D_ELEMENT_PROPERTY('PBAR.1','',(#637538525),(
#637538530,#637538532),(#637538535,#637538537));
#637538525= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538526,#637538527,
#637538449);
#637538526= CURVE_ELEMENT_LOCATION(#637538431);
#637538527= EULER_ANGLES((0.,0.,0.));
#637538530= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538532= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538535= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538537= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538539= CURVE_3D_ELEMENT_REPRESENTATION('12',(#637538541,#637538431)
,#637538433,(#637538333,#637538337),#637538280,#637538437,#637538546,
#637538398);
#637538541= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538542
);
#637538542= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538543);
#637538543= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538546= CURVE_3D_ELEMENT_PROPERTY('PBAR.1','',(#637538548),(
#637538553,#637538555),(#637538558,#637538560));
#637538548= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538549,#637538550,
#637538449);
#637538549= CURVE_ELEMENT_LOCATION(#637538431);
#637538550= EULER_ANGLES((0.,0.,0.));
#637538553= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538555= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538558= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538560= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538562= CURVE_3D_ELEMENT_REPRESENTATION('11',(#637538564,#637538431)
,#637538433,(#637538329,#637538333),#637538280,#637538437,#637538569,
#637538398);
#637538564= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538565
);
#637538565= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538566);
#637538566= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538569= CURVE_3D_ELEMENT_PROPERTY('PBAR.1','',(#637538571),(
#637538576,#637538578),(#637538581,#637538583));
#637538571= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538572,#637538573,
#637538449);
#637538572= CURVE_ELEMENT_LOCATION(#637538431);
#637538573= EULER_ANGLES((0.,0.,0.));
#637538576= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538578= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538581= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538583= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538585= CURVE_3D_ELEMENT_REPRESENTATION('10',(#637538587,#637538431)
,#637538433,(#637538325,#637538329),#637538280,#637538437,#637538592,
#637538398);
#637538587= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538588
);
#637538588= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538589);
#637538589= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538592= CURVE_3D_ELEMENT_PROPERTY('PBAR.1','',(#637538594),(
#637538599,#637538601),(#637538604,#637538606));
#637538594= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538595,#637538596,
#637538449);
#637538595= CURVE_ELEMENT_LOCATION(#637538431);
#637538596= EULER_ANGLES((0.,0.,0.));
#637538599= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538601= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538604= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538606= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538608= CURVE_3D_ELEMENT_REPRESENTATION('9',(#637538610,#637538431),
#637538433,(#637538321,#637538325),#637538280,#637538437,#637538615,
#637538398);
#637538610= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538611
);
#637538611= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538612);
#637538612= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538615= CURVE_3D_ELEMENT_PROPERTY('PBAR.1','',(#637538617),(
#637538622,#637538624),(#637538627,#637538629));
#637538617= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538618,#637538619,
#637538449);
#637538618= CURVE_ELEMENT_LOCATION(#637538431);
#637538619= EULER_ANGLES((0.,0.,0.));
#637538622= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538624= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538627= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538629= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538631= CURVE_3D_ELEMENT_REPRESENTATION('8',(#637538633,#637538431),
#637538433,(#637538317,#637538321),#637538280,#637538437,#637538638,
#637538398);
#637538633= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538634
);
#637538634= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538635);
#637538635= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538638= CURVE_3D_ELEMENT_PROPERTY('PBAR.1','',(#637538640),(
#637538645,#637538647),(#637538650,#637538652));
#637538640= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538641,#637538642,
#637538449);
#637538641= CURVE_ELEMENT_LOCATION(#637538431);
#637538642= EULER_ANGLES((0.,0.,0.));
#637538645= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538647= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538650= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538652= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538654= CURVE_3D_ELEMENT_REPRESENTATION('7',(#637538656,#637538431),
#637538433,(#637538313,#637538317),#637538280,#637538437,#637538661,
#637538398);
#637538656= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538657
);
#637538657= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538658);
#637538658= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538661= CURVE_3D_ELEMENT_PROPERTY('PBAR.1','',(#637538663),(
#637538668,#637538670),(#637538673,#637538675));
#637538663= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538664,#637538665,
#637538449);
#637538664= CURVE_ELEMENT_LOCATION(#637538431);
#637538665= EULER_ANGLES((0.,0.,0.));
#637538668= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538670= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538673= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538675= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538677= CURVE_3D_ELEMENT_REPRESENTATION('6',(#637538679,#637538431),
#637538433,(#637538309,#637538313),#637538280,#637538437,#637538684,
#637538398);
#637538679= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538680
);
#637538680= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538681);
#637538681= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538684= CURVE_3D_ELEMENT_PROPERTY('PBAR.1','',(#637538686),(
#637538691,#637538693),(#637538696,#637538698));
#637538686= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538687,#637538688,
#637538449);
#637538687= CURVE_ELEMENT_LOCATION(#637538431);
#637538688= EULER_ANGLES((0.,0.,0.));
#637538691= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538693= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538696= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538698= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538700= CURVE_3D_ELEMENT_REPRESENTATION('5',(#637538702,#637538431),
#637538433,(#637538305,#637538309),#637538280,#637538437,#637538707,
#637538398);
#637538702= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538703
);
#637538703= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538704);
#637538704= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538707= CURVE_3D_ELEMENT_PROPERTY('PBAR.1','',(#637538709),(
#637538714,#637538716),(#637538719,#637538721));
#637538709= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538710,#637538711,
#637538449);
#637538710= CURVE_ELEMENT_LOCATION(#637538431);
#637538711= EULER_ANGLES((0.,0.,0.));
#637538714= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538716= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538719= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538721= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538723= CURVE_3D_ELEMENT_REPRESENTATION('4',(#637538725,#637538431),
#637538433,(#637538301,#637538305),#637538280,#637538437,#637538730,
#637538398);
#637538725= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538726
);
#637538726= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538727);
#637538727= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538730= CURVE_3D_ELEMENT_PROPERTY('PBAR.1','',(#637538732),(
#637538737,#637538739),(#637538742,#637538744));
#637538732= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538733,#637538734,
#637538449);
#637538733= CURVE_ELEMENT_LOCATION(#637538431);
#637538734= EULER_ANGLES((0.,0.,0.));
#637538737= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538739= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538742= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538744= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538746= CURVE_3D_ELEMENT_REPRESENTATION('3',(#637538748,#637538431),
#637538433,(#637538297,#637538301),#637538280,#637538437,#637538753,
#637538398);
#637538748= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538749
);
#637538749= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538750);
#637538750= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538753= CURVE_3D_ELEMENT_PROPERTY('PBAR.1','',(#637538755),(
#637538760,#637538762),(#637538765,#637538767));
#637538755= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538756,#637538757,
#637538449);
#637538756= CURVE_ELEMENT_LOCATION(#637538431);
#637538757= EULER_ANGLES((0.,0.,0.));
#637538760= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538762= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538765= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538767= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538769= CURVE_3D_ELEMENT_REPRESENTATION('2',(#637538771,#637538431),
#637538433,(#637538293,#637538297),#637538280,#637538437,#637538776,
#637538398);
#637538771= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538772
);
#637538772= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538773);
#637538773= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538776= CURVE_3D_ELEMENT_PROPERTY('PBAR.1','',(#637538778),(
#637538783,#637538785),(#637538788,#637538790));
#637538778= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538779,#637538780,
#637538449);
#637538779= CURVE_ELEMENT_LOCATION(#637538431);
#637538780= EULER_ANGLES((0.,0.,0.));
#637538783= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538785= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538788= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538790= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538792= CURVE_3D_ELEMENT_REPRESENTATION('1',(#637538794,#637538431),
#637538433,(#637538251,#637538293),#637538280,#637538437,#637538799,
#637538398);
#637538794= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538795
);
#637538795= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538796);
#637538796= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538799= CURVE_3D_ELEMENT_PROPERTY('PBAR.1','',(#637538801),(
#637538806,#637538808),(#637538811,#637538813));
#637538801= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538802,#637538803,
#637538449);
#637538802= CURVE_ELEMENT_LOCATION(#637538431);
#637538803= EULER_ANGLES((0.,0.,0.));
#637538806= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538808= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538811= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538813= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538815= ID_ATTRIBUTE('MAT1.1',#637538410);
#637538816= DESCRIPTION_ATTRIBUTE('Elasticity',#637538400);
#637538817= DESCRIPTION_ATTRIBUTE('MassDensity',#637538415);
#637538818= DESCRIPTION_ATTRIBUTE('TangentCTE',#637538420);
#637538819= CONTROL(#637538280,'Control.0','FemConvert',
'MSC.NASTRAN JOB CREATED ON 10-JUL-00 AT 06:54:00',('<SOL>101</SOL>',
'TIME 600','CEND','<GLOBALCASE>0</GLOBALCASE>','<SUBCASE>1</SUBCASE>',
'<SUBCASE>2</SUBCASE>','ENDDATA'),('NASTRAN'));
#637538822= CONTROL_LINEAR_STATIC_ANALYSIS_STEP(#637538819,
'STATIC STEP 2',2,#637538823,'',#637538824);
#637538823= SPECIFIED_STATE('STEP DEFAULT','default_initial_state');
#637538824= CONTROL_LINEAR_STATIC_LOAD_INCREMENT_PROCESS('STATIC STEP 2'
,'',#637538825);
#637538825= SPECIFIED_STATE('Step 2 Base Specified State',
'Relating Specified State');
#637538826= OUTPUT_REQUEST_STATE('Step 2 Output Request State','',(
#637538822));
#637538828= NODAL_FREEDOM_VALUES(#637538826,#637538829,#637538282,
#637538831,(UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.)));
#637538829= NODE_GROUP('','ALL',#637538280,(#637538251,#637538293,
#637538297,#637538301,#637538305,#637538309,#637538313,#637538317,
#637538321,#637538325,#637538329,#637538333,#637538337,#637538341,
#637538345,#637538349,#637538353));
#637538831= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.X_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(
.Y_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(.Z_ROTATION.)));
#637538834= SINGLE_POINT_CONSTRAINT_ELEMENT('SPC1_1.0',(#637538836,
#637538822),#637538251,#637538282,(#637538840,#637538841,#637538842,
#637538843,#637538844,#637538845),'');
#637538836= CONTROL_LINEAR_STATIC_ANALYSIS_STEP(#637538819,
'STATIC STEP 1',1,#637538823,'',#637538837);
#637538837= CONTROL_LINEAR_STATIC_LOAD_INCREMENT_PROCESS('STATIC STEP 1'
,'',#637538838);
#637538838= SPECIFIED_STATE('Step 1 Base Specified State',
'Relating Specified State');
#637538840= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.X_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538841= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.Y_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538842= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.Z_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538843= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.X_ROTATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538844= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.Y_ROTATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538845= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.Z_ROTATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538846= SINGLE_POINT_CONSTRAINT_ELEMENT_VALUES(#637538847,#637538834
,#637538848,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)
,CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538847= SPECIFIED_STATE('SPCVALSTATE_1_2','');
#637538848= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.X_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(
.Y_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(.Z_ROTATION.)));
#637538851= SPECIFIED_STATE('SPCCASE_2_2_1','Aggregator SPC 2 Step 1');
#637538852= STATE_RELATIONSHIP(
'SPCCASE_2_2_1 is related to Step 1 Base Specified State','',#637538838,
#637538851);
#637538853= STATE_RELATIONSHIP(
'SPCVALSTATE_1_2 is related to SPCCASE_2_2_1','',#637538851,#637538847);
#637538854= LINEARLY_SUPERIMPOSED_STATE('LOADSTATECOMBINATION_2',
'Overall Factor Combined State');
#637538856= STATE_RELATIONSHIP(
'LOADSTATECOMBINATION_2 is related to Step 2 Base Specified State','',
#637538825,#637538854);
#637538857= STATE_RELATIONSHIP(
'LOADSTATECOMBINATION_2 is related to Step 1 Base Specified State','',
#637538838,#637538854);
#637538858= STATE_COMPONENT('OverallComp','',#637538854,1.);
#637538860= STATE_RELATIONSHIP(
'LOADSTATEITEM_4 is related to OverallComp','',#637538858,#637538861);
#637538861= LINEARLY_SUPERIMPOSED_STATE('LOADSTATEITEM_4',
'Item Factor State');
#637538862= STATE_RELATIONSHIP(
'LOADSTATEITEM_3 is related to OverallComp','',#637538858,#637538863);
#637538863= LINEARLY_SUPERIMPOSED_STATE('LOADSTATEITEM_3',
'Item Factor State');
#637538864= STATE_RELATIONSHIP(
'LOADSTATEITEM_1 is related to OverallComp','',#637538858,#637538865);
#637538865= LINEARLY_SUPERIMPOSED_STATE('LOADSTATEITEM_1',
'Item Factor State');
#637538866= SPECIFIED_STATE('LOADSTATECORE_1',
'Core Loads Specified State');
#637538867= STATE_RELATIONSHIP(
'LOADSTATECORE_1 is related to ItemComp_2_1','',#637538868,#637538866);
#637538868= STATE_COMPONENT('ItemComp_2_1','',#637538865,1.);
#637538870= NODAL_FREEDOM_ACTION_DEFINITION(#637538866,#637538353,
#637538282,#637538871,(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(-1010.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538871= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.)));
#637538874= SPECIFIED_STATE('LOADSTATECORE_3',
'Core Loads Specified State');
#637538875= STATE_RELATIONSHIP(
'LOADSTATECORE_3 is related to ItemComp_2_3','',#637538876,#637538874);
#637538876= STATE_COMPONENT('ItemComp_2_3','',#637538863,1.);
#637538878= NODAL_FREEDOM_ACTION_DEFINITION(#637538874,#637538329,
#637538282,#637538871,(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(-10.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538880= SPECIFIED_STATE('LOADSTATECORE_4',
'Core Loads Specified State');
#637538881= STATE_RELATIONSHIP(
'LOADSTATECORE_4 is related to ItemComp_2_4','',#637538882,#637538880);
#637538882= STATE_COMPONENT('ItemComp_2_4','',#637538861,1.);
#637538884= NODAL_FREEDOM_ACTION_DEFINITION(#637538880,#637538349,
#637538282,#637538871,(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(-20.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538886= NODAL_FREEDOM_ACTION_DEFINITION(#637538880,#637538345,
#637538282,#637538871,(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(-20.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538888= NODAL_FREEDOM_ACTION_DEFINITION(#637538880,#637538341,
#637538282,#637538871,(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(-20.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538890= NODAL_FREEDOM_ACTION_DEFINITION(#637538880,#637538337,
#637538282,#637538871,(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(-20.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538892= NODAL_FREEDOM_ACTION_DEFINITION(#637538880,#637538333,
#637538282,#637538871,(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(-20.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538894= OUTPUT_REQUEST_STATE('Step 1 Output Request State','',(
#637538836));
#637538896= NODAL_FREEDOM_VALUES(#637538894,#637538829,#637538282,
#637538831,(UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.)));
#637538898= ID_ATTRIBUTE('ALL',#637538829);
#637538899= SPECIFIED_STATE('SPCCASE_2_2_2','Aggregator SPC 2 Step 2');
#637538900= STATE_RELATIONSHIP(
'SPCCASE_2_2_2 is related to Step 2 Base Specified State','',#637538825,
#637538899);
ENDSEC;
END-ISO-10303-21;

View file

@ -0,0 +1,851 @@
ISO-10303-21;
HEADER;
/******************************************************************************************
* STEP Physical File produced by: The EXPRESS Data Manager Version 5.01.0100.b03 SimDM : 25 Apr 2012
* Module: EDMstepFileFactory/EDMstandAlone
* Creation date: Mon Jul 09 13:15:29 2012
* Host: AER4WA926171Z
* Database: C:\Documents and Settings\johnsjc2\Desktop\AP209\SimDM2010\DevCM\db\d
* Database version: 5207
* Database creation date: Wed Apr 18 15:33:55 2012
* Schema: AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF
* Model: DataRepository.FemTest
* Model creation date: Mon Jul 09 13:15:29 2012
* Header model:
* EDMuser: superuser
* EDMgroup:
* License ID and type: 5565 : Project license. Expiry date: 31 Dec 2012
* EDMstepFileFactory options: 010000000
******************************************************************************************/
FILE_DESCRIPTION((''),'2;1');
FILE_NAME(
'C:\\Documents and Settings\\johnsjc2\\Desktop\\AP209\\SimDM2010\\DevCM\\db\\d.DataRepository.FemTest'
,
'2012-07-09T13:15:29',
('ANONYMOUS USER'),
('ANONYMOUS ORGANISATION'),
'The EXPRESS Data Manager Version 5.01.0100.b03 SimDM : 25 Apr 2012',
'',
'');
FILE_SCHEMA(('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF'));
ENDSEC;
DATA;
#637538235= APPLICATION_CONTEXT('SimDM');
#637538237= PRODUCT_DEFINITION_CONTEXT('assembly definition',#637538235,
'life cycle stage');
#637538239= PRODUCT_DEFINITION('default-id.0',$,#637538240,#637538244);
#637538240= PRODUCT_DEFINITION_FORMATION('default-id.0','',#637538241);
#637538241= PRODUCT('default-id.0','default-fea-part','',(#637538243));
#637538243= PRODUCT_CONTEXT('design_context',#637538235,'design_context'
);
#637538244= PRODUCT_DEFINITION_CONTEXT(
'product_definition_context_name_1',#637538245,'ANALYSIS-STAGE');
#637538245= APPLICATION_CONTEXT('FEA-ANALYSIS-DOMAIN');
#637538247= PRODUCT_DEFINITION_SHAPE('name',$,#637538239);
#637538248= SHAPE_DEFINITION_REPRESENTATION(#637538247,#637538249);
#637538249= POINT_REPRESENTATION('point_representation_name_1',(
#637538251,#637538359),#637538257);
#637538251= NODE_SET('node_set_name_1',(#637538253,#637538295,#637538299
,#637538303,#637538307,#637538311,#637538315,#637538319,#637538323,
#637538327,#637538331,#637538335,#637538339,#637538343,#637538347,
#637538351,#637538355));
#637538253= NODE('1',(#637538255),#637538257,#637538282);
#637538255= CARTESIAN_POINT('1',(0.,-2.,1.));
#637538257=
/* GEOMETRIC_REPRESENTATION_CONTEXT+GLOBAL_UNIT_ASSIGNED_CONTEXT */(
GEOMETRIC_REPRESENTATION_CONTEXT(3)GLOBAL_UNIT_ASSIGNED_CONTEXT((
#637538260,#637538268,#637538271,#637538265,#637538263,#637538274,
#637538275,#637538278,#637538281,#637538267))REPRESENTATION_CONTEXT(
'CORD2R.1','3d'));
#637538260= SI_ENERGY_UNIT((#637538262,#637538264,#637538266),*,$,
.JOULE.);
#637538262= DERIVED_UNIT_ELEMENT(#637538263,1.);
#637538263= /* MASS_UNIT+SI_UNIT */(MASS_UNIT()NAMED_UNIT(*)SI_UNIT(
.KILO.,.GRAM.));
#637538264= DERIVED_UNIT_ELEMENT(#637538265,2.);
#637538265= /* LENGTH_UNIT+SI_UNIT */(LENGTH_UNIT()NAMED_UNIT(*)SI_UNIT(
$,.METRE.));
#637538266= DERIVED_UNIT_ELEMENT(#637538267,-2.);
#637538267= /* SI_UNIT+TIME_UNIT */(NAMED_UNIT(*)SI_UNIT($,.SECOND.)
TIME_UNIT());
#637538268= SI_FORCE_UNIT((#637538262,#637538270,#637538266),*,$,
.NEWTON.);
#637538270= DERIVED_UNIT_ELEMENT(#637538265,1.);
#637538271= SI_FREQUENCY_UNIT((#637538273),*,$,.HERTZ.);
#637538273= DERIVED_UNIT_ELEMENT(#637538267,-1.);
#637538274= /* PLANE_ANGLE_UNIT+SI_UNIT */(NAMED_UNIT(*)PLANE_ANGLE_UNIT
()SI_UNIT($,.RADIAN.));
#637538275= SI_POWER_UNIT((#637538262,#637538264,#637538277),*,$,.WATT.
);
#637538277= DERIVED_UNIT_ELEMENT(#637538267,-3.);
#637538278= SI_PRESSURE_UNIT((#637538262,#637538280,#637538266),*,$,
.PASCAL.);
#637538280= DERIVED_UNIT_ELEMENT(#637538265,-1.);
#637538281= /* SI_UNIT+THERMODYNAMIC_TEMPERATURE_UNIT */(NAMED_UNIT(*)
SI_UNIT($,.DEGREE_CELSIUS.)THERMODYNAMIC_TEMPERATURE_UNIT());
#637538282= FEA_MODEL_3D('Identification',(#637538284),#637538291,
'NASTRAN BDF Converter v0.0.0',('NASTRAN'),'AnalysisModelType');
#637538284= FEA_AXIS2_PLACEMENT_3D('0',#637538285,#637538287,#637538289,
.CARTESIAN.,'FEA_BASIC_COORD_SYSTEM.0');
#637538285= CARTESIAN_POINT('',(0.,0.,0.));
#637538287= DIRECTION('AxisZ',(0.,0.,1.));
#637538289= DIRECTION('RefX',(1.,0.,0.));
#637538291=
/* GEOMETRIC_REPRESENTATION_CONTEXT+GLOBAL_UNIT_ASSIGNED_CONTEXT */(
GEOMETRIC_REPRESENTATION_CONTEXT(3)GLOBAL_UNIT_ASSIGNED_CONTEXT((
#637538260,#637538268,#637538271,#637538265,#637538263,#637538274,
#637538275,#637538278,#637538281,#637538267))REPRESENTATION_CONTEXT(
'FEA_BASIC_COORD_SYSTEM.0','3d'));
#637538295= NODE('2',(#637538297),#637538257,#637538282);
#637538297= CARTESIAN_POINT('2',(1.,-2.,1.));
#637538299= NODE('3',(#637538301),#637538257,#637538282);
#637538301= CARTESIAN_POINT('3',(2.,-2.,1.));
#637538303= NODE('4',(#637538305),#637538257,#637538282);
#637538305= CARTESIAN_POINT('4',(3.,-2.,1.));
#637538307= NODE('5',(#637538309),#637538257,#637538282);
#637538309= CARTESIAN_POINT('5',(4.,-2.,1.));
#637538311= NODE('6',(#637538313),#637538257,#637538282);
#637538313= CARTESIAN_POINT('6',(5.,-2.,1.));
#637538315= NODE('7',(#637538317),#637538257,#637538282);
#637538317= CARTESIAN_POINT('7',(6.,-2.,1.));
#637538319= NODE('8',(#637538321),#637538257,#637538282);
#637538321= CARTESIAN_POINT('8',(7.,-2.,1.));
#637538323= NODE('9',(#637538325),#637538257,#637538282);
#637538325= CARTESIAN_POINT('9',(8.,-2.,1.));
#637538327= NODE('10',(#637538329),#637538257,#637538282);
#637538329= CARTESIAN_POINT('10',(9.,-2.,1.));
#637538331= NODE('11',(#637538333),#637538257,#637538282);
#637538333= CARTESIAN_POINT('11',(10.,-2.,1.));
#637538335= NODE('12',(#637538337),#637538257,#637538282);
#637538337= CARTESIAN_POINT('12',(11.,-2.,1.));
#637538339= NODE('13',(#637538341),#637538257,#637538282);
#637538341= CARTESIAN_POINT('13',(12.,-2.,1.));
#637538343= NODE('14',(#637538345),#637538257,#637538282);
#637538345= CARTESIAN_POINT('14',(13.,-2.,1.));
#637538347= NODE('15',(#637538349),#637538257,#637538282);
#637538349= CARTESIAN_POINT('15',(14.,-2.,1.));
#637538351= NODE('16',(#637538353),#637538257,#637538282);
#637538353= CARTESIAN_POINT('16',(15.,-2.,1.));
#637538355= NODE('17',(#637538357),#637538257,#637538282);
#637538357= CARTESIAN_POINT('17',(16.,-2.,1.));
#637538359= FEA_AXIS2_PLACEMENT_3D('1',#637538360,#637538362,#637538364,
.CARTESIAN.,'CORD2R.1');
#637538360= CARTESIAN_POINT('',(0.,0.,0.));
#637538362= DIRECTION('AxisZ',(0.,0.,1.));
#637538364= DIRECTION('RefX',(1.,0.,0.));
#637538366= FEA_MODEL_DEFINITION('fea_model_definition_id_1',$,
#637538247,.U.);
#637538367= STRUCTURAL_RESPONSE_PROPERTY(
'structural_response_property_id_1',$,#637538366);
#637538368= STRUCTURAL_RESPONSE_PROPERTY_DEFINITION_REPRESENTATION(
#637538367,#637538282);
#637538369= NAME_ATTRIBUTE('',#637538239);
#637538370= APPLIED_CLASSIFICATION_ASSIGNMENT(#637538371,#637538372,(
#637538239));
#637538371= GROUP('default-gpvv-type',$);
#637538372= CLASSIFICATION_ROLE('view_type',$);
#637538374= APPLIED_IDENTIFICATION_ASSIGNMENT('default-id.0',#637538375,
(#637538240,#637538239,#637538241));
#637538375= IDENTIFICATION_ROLE('default-role',$);
#637538377= APPLIED_ORGANIZATION_ASSIGNMENT(#637538378,#637538379,(
#637538374));
#637538378= ORGANIZATION($,'default-organization',$);
#637538379= ORGANIZATION_ROLE('id context');
#637538381= APPLIED_CLASSIFICATION_ASSIGNMENT(#637538382,#637538383,(
#637538374));
#637538382= GROUP('id',$);
#637538383= CLASSIFICATION_ROLE('',$);
#637538385= APPLICATION_PROTOCOL_DEFINITION('status',
'ap203_configuration_controlled_3d_design_of_mechanical_parts_and_assemblies'
,2011,#637538235);
#637538386= DESCRIPTION_ATTRIBUTE('SimDM',#637538235);
#637538387= ID_ATTRIBUTE('SimDM',#637538235);
#637538388= DIMENSIONAL_EXPONENTS(0.,0.,0.,0.,0.,0.,0.);
#637538389= PRODUCT_RELATED_PRODUCT_CATEGORY('document',$,());
#637538391= PRODUCT_RELATED_PRODUCT_CATEGORY('product',$,(#637538241));
#637538393= DESCRIPTION_ATTRIBUTE('',#637538245);
#637538394= CARTESIAN_POINT('0',(0.,0.,0.));
#637538396= DUMMY_NODE('0',(#637538394),#637538291,#637538282);
#637538398= ITEM_DEFINED_TRANSFORMATION('','',#637538284,#637538359);
#637538399= REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION('','',
#637538282,#637538249,#637538398);
#637538400= ELEMENT_MATERIAL('MAT1.1','Fea Material',(#637538402,
#637538417,#637538422));
#637538402= FEA_MATERIAL_PROPERTY_REPRESENTATION(#637538403,#637538405,
#637538409);
#637538403= MATERIAL_PROPERTY('MAT1.1.0',$,#637538404);
#637538404= CHARACTERIZED_OBJECT('material_property',$);
#637538405= REPRESENTATION('representation_id_2',(#637538407),#637538291
);
#637538407= FEA_LINEAR_ELASTICITY('',FEA_ISOTROPIC_SYMMETRIC_TENSOR4_3D(
(10000000.,0.33)));
#637538409= DATA_ENVIRONMENT('DATA_ENV','Property_conditions',(
#637538411));
#637538411= PROPERTY_DEFINITION_REPRESENTATION(#637538412,#637538414);
#637538412= PROPERTY_DEFINITION('Material Property Definition',$,
#637538413);
#637538413= CHARACTERIZED_OBJECT('property',$);
#637538414= REPRESENTATION('representation_id_1',(#637538416),#637538291
);
#637538416= MEASURE_REPRESENTATION_ITEM('representation_item_name_1',
CONTEXT_DEPENDENT_MEASURE(70.),#637538281);
#637538417= FEA_MATERIAL_PROPERTY_REPRESENTATION(#637538418,#637538419,
#637538409);
#637538418= MATERIAL_PROPERTY('MAT1.1.1',$,#637538404);
#637538419= REPRESENTATION('representation_id_3',(#637538421),#637538291
);
#637538421= FEA_MASS_DENSITY('',0.000254);
#637538422= FEA_MATERIAL_PROPERTY_REPRESENTATION(#637538423,#637538424,
#637538409);
#637538423= MATERIAL_PROPERTY('MAT1.1.2',$,#637538404);
#637538424= REPRESENTATION('representation_id_4',(#637538426),#637538291
);
#637538426= FEA_TANGENTIAL_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION('',
ISOTROPIC_SYMMETRIC_TENSOR2_3D(0.));
#637538427= CURVE_3D_ELEMENT_REPRESENTATION('16',(#637538429,#637538433)
,#637538435,(#637538351,#637538355),#637538282,#637538439,#637538445,
#637538400);
#637538429= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538430
);
#637538430= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538431);
#637538431= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538433= FEA_PARAMETRIC_POINT('',(1.,0.,0.));
#637538435= PARAMETRIC_REPRESENTATION_CONTEXT(
'parametric_representation_context','parametric');
#637538439= CURVE_3D_ELEMENT_DESCRIPTOR(.LINEAR_ORDER.,'LINEAR_CURVE.CBAR*',((
ENUMERATED_CURVE_ELEMENT_PURPOSE(.AXIAL.)),(
ENUMERATED_CURVE_ELEMENT_PURPOSE(.Y_Y_BENDING.),
ENUMERATED_CURVE_ELEMENT_PURPOSE(.Z_Z_BENDING.)),(
ENUMERATED_CURVE_ELEMENT_PURPOSE(.TORSION.)),(
ENUMERATED_CURVE_ELEMENT_PURPOSE(.X_Y_SHEAR.),
ENUMERATED_CURVE_ELEMENT_PURPOSE(.X_Z_SHEAR.))));
#637538445= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.16','',(#637538447),(
#637538458,#637538460),(#637538463,#637538470));
#637538447= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538448,#637538449,
#637538451);
#637538448= CURVE_ELEMENT_LOCATION(#637538433);
#637538449= EULER_ANGLES((0.,0.,0.));
#637538451= CURVE_ELEMENT_SECTION_DERIVED_DEFINITIONS('PBAR.1_0',0.,8.,(
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)),(2.667,
10.667,0.),0.,CONTEXT_DEPENDENT_MEASURE(0.),(CONTEXT_DEPENDENT_MEASURE(
0.),CONTEXT_DEPENDENT_MEASURE(0.)),(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)),(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.));
#637538458= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538460= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538463= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538465= CURVE_ELEMENT_END_RELEASE_PACKET(
ENUMERATED_CURVE_ELEMENT_FREEDOM(.X_TRANSLATION.),0.);
#637538466= CURVE_ELEMENT_END_RELEASE_PACKET(
ENUMERATED_CURVE_ELEMENT_FREEDOM(.Y_TRANSLATION.),0.);
#637538467= CURVE_ELEMENT_END_RELEASE_PACKET(
ENUMERATED_CURVE_ELEMENT_FREEDOM(.Z_TRANSLATION.),0.);
#637538468= CURVE_ELEMENT_END_RELEASE_PACKET(
ENUMERATED_CURVE_ELEMENT_FREEDOM(.X_ROTATION.),0.);
#637538469= CURVE_ELEMENT_END_RELEASE_PACKET(
ENUMERATED_CURVE_ELEMENT_FREEDOM(.Z_ROTATION.),0.);
#637538470= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538472= CURVE_3D_ELEMENT_REPRESENTATION('15',(#637538474,#637538433)
,#637538435,(#637538347,#637538351),#637538282,#637538439,#637538479,
#637538400);
#637538474= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538475
);
#637538475= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538476);
#637538476= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538479= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.15','',(#637538481),(
#637538486,#637538488),(#637538491,#637538493));
#637538481= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538482,#637538483,
#637538451);
#637538482= CURVE_ELEMENT_LOCATION(#637538433);
#637538483= EULER_ANGLES((0.,0.,0.));
#637538486= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538488= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538491= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538493= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538495= CURVE_3D_ELEMENT_REPRESENTATION('14',(#637538497,#637538433)
,#637538435,(#637538343,#637538347),#637538282,#637538439,#637538502,
#637538400);
#637538497= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538498
);
#637538498= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538499);
#637538499= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538502= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.14','',(#637538504),(
#637538509,#637538511),(#637538514,#637538516));
#637538504= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538505,#637538506,
#637538451);
#637538505= CURVE_ELEMENT_LOCATION(#637538433);
#637538506= EULER_ANGLES((0.,0.,0.));
#637538509= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538511= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538514= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538516= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538518= CURVE_3D_ELEMENT_REPRESENTATION('13',(#637538520,#637538433)
,#637538435,(#637538339,#637538343),#637538282,#637538439,#637538525,
#637538400);
#637538520= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538521
);
#637538521= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538522);
#637538522= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538525= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.13','',(#637538527),(
#637538532,#637538534),(#637538537,#637538539));
#637538527= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538528,#637538529,
#637538451);
#637538528= CURVE_ELEMENT_LOCATION(#637538433);
#637538529= EULER_ANGLES((0.,0.,0.));
#637538532= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538534= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538537= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538539= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538541= CURVE_3D_ELEMENT_REPRESENTATION('12',(#637538543,#637538433)
,#637538435,(#637538335,#637538339),#637538282,#637538439,#637538548,
#637538400);
#637538543= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538544
);
#637538544= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538545);
#637538545= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538548= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.12','',(#637538550),(
#637538555,#637538557),(#637538560,#637538562));
#637538550= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538551,#637538552,
#637538451);
#637538551= CURVE_ELEMENT_LOCATION(#637538433);
#637538552= EULER_ANGLES((0.,0.,0.));
#637538555= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538557= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538560= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538562= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538564= CURVE_3D_ELEMENT_REPRESENTATION('11',(#637538566,#637538433)
,#637538435,(#637538331,#637538335),#637538282,#637538439,#637538571,
#637538400);
#637538566= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538567
);
#637538567= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538568);
#637538568= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538571= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.11','',(#637538573),(
#637538578,#637538580),(#637538583,#637538585));
#637538573= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538574,#637538575,
#637538451);
#637538574= CURVE_ELEMENT_LOCATION(#637538433);
#637538575= EULER_ANGLES((0.,0.,0.));
#637538578= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538580= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538583= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538585= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538587= CURVE_3D_ELEMENT_REPRESENTATION('10',(#637538589,#637538433)
,#637538435,(#637538327,#637538331),#637538282,#637538439,#637538594,
#637538400);
#637538589= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538590
);
#637538590= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538591);
#637538591= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538594= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.10','',(#637538596),(
#637538601,#637538603),(#637538606,#637538608));
#637538596= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538597,#637538598,
#637538451);
#637538597= CURVE_ELEMENT_LOCATION(#637538433);
#637538598= EULER_ANGLES((0.,0.,0.));
#637538601= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538603= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538606= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538608= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538610= CURVE_3D_ELEMENT_REPRESENTATION('9',(#637538612,#637538433),
#637538435,(#637538323,#637538327),#637538282,#637538439,#637538617,
#637538400);
#637538612= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538613
);
#637538613= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538614);
#637538614= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538617= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.9','',(#637538619),(
#637538624,#637538626),(#637538629,#637538631));
#637538619= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538620,#637538621,
#637538451);
#637538620= CURVE_ELEMENT_LOCATION(#637538433);
#637538621= EULER_ANGLES((0.,0.,0.));
#637538624= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538626= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538629= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538631= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538633= CURVE_3D_ELEMENT_REPRESENTATION('8',(#637538635,#637538433),
#637538435,(#637538319,#637538323),#637538282,#637538439,#637538640,
#637538400);
#637538635= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538636
);
#637538636= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538637);
#637538637= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538640= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.8','',(#637538642),(
#637538647,#637538649),(#637538652,#637538654));
#637538642= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538643,#637538644,
#637538451);
#637538643= CURVE_ELEMENT_LOCATION(#637538433);
#637538644= EULER_ANGLES((0.,0.,0.));
#637538647= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538649= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538652= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538654= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538656= CURVE_3D_ELEMENT_REPRESENTATION('7',(#637538658,#637538433),
#637538435,(#637538315,#637538319),#637538282,#637538439,#637538663,
#637538400);
#637538658= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538659
);
#637538659= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538660);
#637538660= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538663= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.7','',(#637538665),(
#637538670,#637538672),(#637538675,#637538677));
#637538665= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538666,#637538667,
#637538451);
#637538666= CURVE_ELEMENT_LOCATION(#637538433);
#637538667= EULER_ANGLES((0.,0.,0.));
#637538670= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538672= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538675= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538677= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538679= CURVE_3D_ELEMENT_REPRESENTATION('6',(#637538681,#637538433),
#637538435,(#637538311,#637538315),#637538282,#637538439,#637538686,
#637538400);
#637538681= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538682
);
#637538682= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538683);
#637538683= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538686= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.6','',(#637538688),(
#637538693,#637538695),(#637538698,#637538700));
#637538688= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538689,#637538690,
#637538451);
#637538689= CURVE_ELEMENT_LOCATION(#637538433);
#637538690= EULER_ANGLES((0.,0.,0.));
#637538693= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538695= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538698= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538700= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538702= CURVE_3D_ELEMENT_REPRESENTATION('5',(#637538704,#637538433),
#637538435,(#637538307,#637538311),#637538282,#637538439,#637538709,
#637538400);
#637538704= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538705
);
#637538705= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538706);
#637538706= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538709= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.5','',(#637538711),(
#637538716,#637538718),(#637538721,#637538723));
#637538711= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538712,#637538713,
#637538451);
#637538712= CURVE_ELEMENT_LOCATION(#637538433);
#637538713= EULER_ANGLES((0.,0.,0.));
#637538716= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538718= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538721= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538723= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538725= CURVE_3D_ELEMENT_REPRESENTATION('4',(#637538727,#637538433),
#637538435,(#637538303,#637538307),#637538282,#637538439,#637538732,
#637538400);
#637538727= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538728
);
#637538728= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538729);
#637538729= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538732= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.4','',(#637538734),(
#637538739,#637538741),(#637538744,#637538746));
#637538734= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538735,#637538736,
#637538451);
#637538735= CURVE_ELEMENT_LOCATION(#637538433);
#637538736= EULER_ANGLES((0.,0.,0.));
#637538739= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538741= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538744= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538746= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538748= CURVE_3D_ELEMENT_REPRESENTATION('3',(#637538750,#637538433),
#637538435,(#637538299,#637538303),#637538282,#637538439,#637538755,
#637538400);
#637538750= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538751
);
#637538751= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538752);
#637538752= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538755= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.3','',(#637538757),(
#637538762,#637538764),(#637538767,#637538769));
#637538757= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538758,#637538759,
#637538451);
#637538758= CURVE_ELEMENT_LOCATION(#637538433);
#637538759= EULER_ANGLES((0.,0.,0.));
#637538762= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538764= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538767= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538769= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538771= CURVE_3D_ELEMENT_REPRESENTATION('2',(#637538773,#637538433),
#637538435,(#637538295,#637538299),#637538282,#637538439,#637538778,
#637538400);
#637538773= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538774
);
#637538774= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538775);
#637538775= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538778= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.2','',(#637538780),(
#637538785,#637538787),(#637538790,#637538792));
#637538780= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538781,#637538782,
#637538451);
#637538781= CURVE_ELEMENT_LOCATION(#637538433);
#637538782= EULER_ANGLES((0.,0.,0.));
#637538785= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538787= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538790= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538792= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538794= CURVE_3D_ELEMENT_REPRESENTATION('1',(#637538796,#637538433),
#637538435,(#637538253,#637538295),#637538282,#637538439,#637538801,
#637538400);
#637538796= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538797
);
#637538797= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538798);
#637538798= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538801= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.1','',(#637538803),(
#637538808,#637538810),(#637538813,#637538815));
#637538803= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538804,#637538805,
#637538451);
#637538804= CURVE_ELEMENT_LOCATION(#637538433);
#637538805= EULER_ANGLES((0.,0.,0.));
#637538808= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538810= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538813= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538815= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538817= ID_ATTRIBUTE('MAT1.1',#637538412);
#637538818= DESCRIPTION_ATTRIBUTE('Elasticity',#637538402);
#637538819= DESCRIPTION_ATTRIBUTE('MassDensity',#637538417);
#637538820= DESCRIPTION_ATTRIBUTE('TangentCTE',#637538422);
#637538821= CONTROL(#637538282,'Control.0','FemConvert',
'MSC.NASTRAN JOB CREATED ON 10-JUL-00 AT 06:54:00',('<SOL>101</SOL>',
'TIME 600','CEND','<GLOBALCASE>0</GLOBALCASE>','<SUBCASE>1</SUBCASE>',
'<SUBCASE>2</SUBCASE>','ENDDATA'),('NASTRAN'));
#637538824= RESULT_LINEAR_STATIC_ANALYSIS_SUB_STEP(#637538821,#637538825
,#637538826);
#637538825= RESULT('Result.0','FemConvert',
'MSC.NASTRAN JOB CREATED ON 10-JUL-00 AT 06:54:00');
#637538826= CALCULATED_STATE('Calculated State for Step 2','');
#637538827= CONTROL_RESULT_RELATIONSHIP(#637538828,#637538824);
#637538828= CONTROL_LINEAR_STATIC_ANALYSIS_STEP(#637538821,
'STATIC STEP 2',2,#637538829,'',#637538830);
#637538829= SPECIFIED_STATE('STEP DEFAULT','default_initial_state');
#637538830= CONTROL_LINEAR_STATIC_LOAD_INCREMENT_PROCESS('STATIC STEP 2'
,'',#637538831);
#637538831= SPECIFIED_STATE('Step 2 Base Specified State',
'Relating Specified State');
#637538832= RESULT_LINEAR_STATIC_ANALYSIS_SUB_STEP(#637538821,#637538825
,#637538833);
#637538833= CALCULATED_STATE('Calculated State for Step 1','');
#637538834= CONTROL_RESULT_RELATIONSHIP(#637538835,#637538832);
#637538835= CONTROL_LINEAR_STATIC_ANALYSIS_STEP(#637538821,
'STATIC STEP 1',1,#637538829,'',#637538836);
#637538836= CONTROL_LINEAR_STATIC_LOAD_INCREMENT_PROCESS('STATIC STEP 1'
,'',#637538837);
#637538837= SPECIFIED_STATE('Step 1 Base Specified State',
'Relating Specified State');
#637538838= SPECIFIED_STATE('SPCCASE_2_2_1','Aggregator SPC 2 Step 1');
#637538839= STATE_RELATIONSHIP(
'SPCCASE_2_2_1 is related to Step 1 Base Specified State','',#637538837,
#637538838);
#637538840= STATE_RELATIONSHIP(
'SPCVALSTATE_1_2 is related to SPCCASE_2_2_1','',#637538838,#637538841);
#637538841= SPECIFIED_STATE('SPCVALSTATE_1_2','');
#637538842= SINGLE_POINT_CONSTRAINT_ELEMENT_VALUES(#637538841,#637538843
,#637538852,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)
,CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538843= SINGLE_POINT_CONSTRAINT_ELEMENT('SPC1_1.0',(#637538835,
#637538828),#637538253,#637538284,(#637538846,#637538847,#637538848,
#637538849,#637538850,#637538851),'');
#637538846= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.X_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538847= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.Y_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538848= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.Z_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538849= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.X_ROTATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538850= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.Y_ROTATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538851= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.Z_ROTATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538852= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.X_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(
.Y_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(.Z_ROTATION.)));
#637538855= LINEARLY_SUPERIMPOSED_STATE('LOADSTATECOMBINATION_2',
'Overall Factor Combined State');
#637538857= STATE_RELATIONSHIP(
'LOADSTATECOMBINATION_2 is related to Step 2 Base Specified State','',
#637538831,#637538855);
#637538858= STATE_RELATIONSHIP(
'LOADSTATECOMBINATION_2 is related to Step 1 Base Specified State','',
#637538837,#637538855);
#637538859= STATE_COMPONENT('OverallComp','',#637538855,1.);
#637538861= STATE_RELATIONSHIP(
'LOADSTATEITEM_4 is related to OverallComp','',#637538859,#637538862);
#637538862= LINEARLY_SUPERIMPOSED_STATE('LOADSTATEITEM_4',
'Item Factor State');
#637538863= STATE_RELATIONSHIP(
'LOADSTATEITEM_3 is related to OverallComp','',#637538859,#637538864);
#637538864= LINEARLY_SUPERIMPOSED_STATE('LOADSTATEITEM_3',
'Item Factor State');
#637538865= STATE_RELATIONSHIP(
'LOADSTATEITEM_1 is related to OverallComp','',#637538859,#637538866);
#637538866= LINEARLY_SUPERIMPOSED_STATE('LOADSTATEITEM_1',
'Item Factor State');
#637538867= SPECIFIED_STATE('LOADSTATECORE_1',
'Core Loads Specified State');
#637538868= STATE_RELATIONSHIP(
'LOADSTATECORE_1 is related to ItemComp_2_1','',#637538869,#637538867);
#637538869= STATE_COMPONENT('ItemComp_2_1','',#637538866,1.);
#637538871= NODAL_FREEDOM_ACTION_DEFINITION(#637538867,#637538355,
#637538284,#637538872,(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(-1010.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538872= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.)));
#637538875= SPECIFIED_STATE('LOADSTATECORE_3',
'Core Loads Specified State');
#637538876= STATE_RELATIONSHIP(
'LOADSTATECORE_3 is related to ItemComp_2_3','',#637538877,#637538875);
#637538877= STATE_COMPONENT('ItemComp_2_3','',#637538864,1.);
#637538879= NODAL_FREEDOM_ACTION_DEFINITION(#637538875,#637538331,
#637538284,#637538872,(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(-10.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538881= SPECIFIED_STATE('LOADSTATECORE_4',
'Core Loads Specified State');
#637538882= STATE_RELATIONSHIP(
'LOADSTATECORE_4 is related to ItemComp_2_4','',#637538883,#637538881);
#637538883= STATE_COMPONENT('ItemComp_2_4','',#637538862,1.);
#637538885= NODAL_FREEDOM_ACTION_DEFINITION(#637538881,#637538351,
#637538284,#637538872,(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(-20.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538887= NODAL_FREEDOM_ACTION_DEFINITION(#637538881,#637538347,
#637538284,#637538872,(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(-20.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538889= NODAL_FREEDOM_ACTION_DEFINITION(#637538881,#637538343,
#637538284,#637538872,(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(-20.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538891= NODAL_FREEDOM_ACTION_DEFINITION(#637538881,#637538339,
#637538284,#637538872,(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(-20.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538893= NODAL_FREEDOM_ACTION_DEFINITION(#637538881,#637538335,
#637538284,#637538872,(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(-20.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538895= OUTPUT_REQUEST_STATE('Step 1 Output Request State','',(
#637538835));
#637538897= NODAL_FREEDOM_VALUES(#637538895,#637538898,#637538284,
#637538900,(UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.)));
#637538898= NODE_GROUP('','ALL',#637538282,(#637538253,#637538295,
#637538299,#637538303,#637538307,#637538311,#637538315,#637538319,
#637538323,#637538327,#637538331,#637538335,#637538339,#637538343,
#637538347,#637538351,#637538355));
#637538900= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.X_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(
.Y_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(.Z_ROTATION.)));
#637538903= ID_ATTRIBUTE('ALL',#637538898);
#637538904= SPECIFIED_STATE('SPCCASE_2_2_2','Aggregator SPC 2 Step 2');
#637538905= STATE_RELATIONSHIP(
'SPCCASE_2_2_2 is related to Step 2 Base Specified State','',#637538831,
#637538904);
#637538906= OUTPUT_REQUEST_STATE('Step 2 Output Request State','',(
#637538828));
#637538908= NODAL_FREEDOM_VALUES(#637538906,#637538898,#637538284,
#637538900,(UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.)));
#637538910= NODAL_FREEDOM_VALUES(#637538833,#637538253,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538912= NODAL_FREEDOM_VALUES(#637538833,#637538295,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538914= NODAL_FREEDOM_VALUES(#637538833,#637538299,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538916= NODAL_FREEDOM_VALUES(#637538833,#637538303,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538918= NODAL_FREEDOM_VALUES(#637538833,#637538307,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538920= NODAL_FREEDOM_VALUES(#637538833,#637538311,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538922= NODAL_FREEDOM_VALUES(#637538833,#637538315,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538924= NODAL_FREEDOM_VALUES(#637538833,#637538319,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538926= NODAL_FREEDOM_VALUES(#637538833,#637538323,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538928= NODAL_FREEDOM_VALUES(#637538833,#637538327,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538930= NODAL_FREEDOM_VALUES(#637538833,#637538331,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538932= NODAL_FREEDOM_VALUES(#637538833,#637538335,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538934= NODAL_FREEDOM_VALUES(#637538833,#637538339,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538936= NODAL_FREEDOM_VALUES(#637538833,#637538343,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538938= NODAL_FREEDOM_VALUES(#637538833,#637538347,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538940= NODAL_FREEDOM_VALUES(#637538833,#637538351,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538942= NODAL_FREEDOM_VALUES(#637538833,#637538355,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538944= NODAL_FREEDOM_VALUES(#637538826,#637538253,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538946= NODAL_FREEDOM_VALUES(#637538826,#637538295,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538948= NODAL_FREEDOM_VALUES(#637538826,#637538299,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538950= NODAL_FREEDOM_VALUES(#637538826,#637538303,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538952= NODAL_FREEDOM_VALUES(#637538826,#637538307,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538954= NODAL_FREEDOM_VALUES(#637538826,#637538311,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538956= NODAL_FREEDOM_VALUES(#637538826,#637538315,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538958= NODAL_FREEDOM_VALUES(#637538826,#637538319,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538960= NODAL_FREEDOM_VALUES(#637538826,#637538323,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538962= NODAL_FREEDOM_VALUES(#637538826,#637538327,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538964= NODAL_FREEDOM_VALUES(#637538826,#637538331,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538966= NODAL_FREEDOM_VALUES(#637538826,#637538335,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538968= NODAL_FREEDOM_VALUES(#637538826,#637538339,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538970= NODAL_FREEDOM_VALUES(#637538826,#637538343,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538972= NODAL_FREEDOM_VALUES(#637538826,#637538347,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538974= NODAL_FREEDOM_VALUES(#637538826,#637538351,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538976= NODAL_FREEDOM_VALUES(#637538826,#637538355,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
ENDSEC;
END-ISO-10303-21;

1093
data/ap209/ATS3-out.stp Normal file

File diff suppressed because it is too large Load diff

1149
data/ap209/ATS3Mod0-out.stp Normal file

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

1999
data/ap209/ATS4-out.stp Normal file

File diff suppressed because it is too large Load diff

2224
data/ap209/ATS4Mod0-out.stp Normal file

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

2272
data/ap209/ATS7-out.stp Normal file

File diff suppressed because it is too large Load diff

2341
data/ap209/ATS7Mod0-out.stp Normal file

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

4572
data/ap209/ATS8-out.stp Normal file

File diff suppressed because it is too large Load diff

4929
data/ap209/ATS8Mod0-out.stp Normal file

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,300 +0,0 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION((''), '1');
FILE_NAME('MITRE ',
'1998-08-31T15:05:58+02:00',
(''),
(''),
'CATIA.STEP INTERFACE',
'CATIA SOLUTIONS V4 RELEASE 2.1 FR 4.2.1',
'');
FILE_SCHEMA(('PLANT_SPATIAL_CONFIGURATION'));
ENDSEC;
DATA;
#1=APPLICATION_CONTEXT('process plants');
#2=APPLICATION_PROTOCOL_DEFINITION('CD','plant_spatial_configuration',1995,#1);
#3=PRODUCT_CONTEXT('plant design',#1,'process plant');
#4=PRODUCT_DEFINITION_CONTEXT('physical definition',#1,'physical design');
#5=PRODUCT_DEFINITION_CONTEXT('physical occurrence',#1,'physical design');
#6=PRODUCT_DEFINITION_CONTEXT('functional definition',#1,'functional design');
#7=PRODUCT_DEFINITION_CONTEXT('functional occurrence',#1,'functional design');
#8=PRODUCT_DEFINITION_CONTEXT('catalogue definition',#1,'???? design');
#9=CARTESIAN_POINT($,(0.00000000000,0.00000000000,0.00000000000));
#10=DIMENSIONAL_EXPONENTS(0.00000000000,1.00000000000,0.00000000000,0.00000000000,0.00000000000,0.00000000000,0.00000000000);
#11=(MASS_UNIT()NAMED_UNIT(#10)SI_UNIT(.KILO.,.GRAM.));
#12=DIMENSIONAL_EXPONENTS(1.00000000000,0.00000000000,0.00000000000,0.00000000000,0.00000000000,0.00000000000,0.00000000000);
#13=(LENGTH_UNIT()NAMED_UNIT(#12)SI_UNIT(.MILLI.,.METRE.));
#14=GLOBAL_UNIT_ASSIGNED_CONTEXT($,$,(#13));
#15=DESCRIPTIVE_REPRESENTATION_ITEM('flow direction','in');
#16=REPRESENTATION($,(#15),#14);
#17=DESCRIPTIVE_REPRESENTATION_ITEM('flow direction','out');
#18=REPRESENTATION($,(#17),#14);
#19=PLANT_LINE_DEFINITION('U1-P100-10"-CS150R-FG',$,$,#6,$);
#20=PLANT_LINE_SEGMENT_DEFINITION('en_dur',$,$,#6);
#21=PRODUCT_DEFINITION_RELATIONSHIP($,'',$,#19,#20);
#22=PRODUCT_DEFINITION_SHAPE($,$,#20);
#23=SHAPE_DIMENSION_REPRESENTATION($,(#25),$);
#24=SHAPE_DEFINITION_REPRESENTATION(#22,#23);
#25=(MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE(253.999998062),#13)REPRESENTATION_ITEM('line size'));
#26=DOCUMENT('CS150R',$,$,#28);
#27=PLANT_SPATIAL_CONFIGURATION_DOCUMENT_REFERENCE(#26,$,(#20));
#28=DOCUMENT_TYPE('piping specification');
#29=DOCUMENT_USAGE_CONSTRAINT(#26,'service description',$);
#30=PRODUCT('',$,$,(#3));
#31=PRODUCT_DEFINITION_FORMATION($,$,#30);
#32=PIPING_COMPONENT_DEFINITION($,$,#31,#4);
#33=PRODUCT_DEFINITION_SHAPE($,$,#32);
#34=PIPING_COMPONENT_DEFINITION($,$,#31,#5);
#35=PRODUCT_DEFINITION_SHAPE($,$,#34);
#36=PRODUCT_DEFINITION_RELATIONSHIP($,'definition usage',$,#32,#34);
#37=PIPE_CLASSIFICATION('straight pipe',$);
#38=CLASSIFICATION_ASSIGNMENT(#37,(#32,#34,#88,#90));
#39=PRODUCT_RELATED_PRODUCT_CATEGORY('pipe',$,(#30,#86,#135));
#40=PRODUCT_DEFINITION_RELATIONSHIP($,'realization',$,#20,#34);
#41=PLANT_ITEM_CONNECTOR($,'end 1',#33,$);
#42=PLANT_ITEM_CONNECTOR($,'end 1',#35,$);
#43=SHAPE_ASPECT_RELATIONSHIP('usage',$,#41,#42);
#44=REPRESENTATION($,(#45,#49),$);
#45=CARTESIAN_POINT('location',(1000.00000000,0.00000000000,0.00000000000));
#46=CARTESIAN_POINT($,(1000.00000000,0.00000000000,0.00000000000));
#47=DIRECTION($,(0.101600309323,0.00000000000,0.00000000000));
#48=DIRECTION($,(-0.00000000000,0.00000000000,0.0508001546616));
#49=AXIS2_PLACEMENT_3D('connector orientation',#46,#47,#48);
#50=PROPERTY_DEFINITION($,$,#42);
#51=PROPERTY_DEFINITION_REPRESENTATION(#50,#44);
#52=PLANT_ITEM_CONNECTOR($,'end 2',#33,$);
#53=PLANT_ITEM_CONNECTOR($,'end 2',#35,$);
#54=SHAPE_ASPECT_RELATIONSHIP('usage',$,#52,#53);
#55=REPRESENTATION($,(#56,#60),$);
#56=CARTESIAN_POINT('location',(366.025403784,-4.80740671596E-14,0.00000000000));
#57=CARTESIAN_POINT($,(366.025403784,-4.80740671596E-14,0.00000000000));
#58=DIRECTION($,(-0.101600309323,-0.00000000000,-0.00000000000));
#59=DIRECTION($,(-0.00000000000,0.00000000000,0.0508001546616));
#60=AXIS2_PLACEMENT_3D('connector orientation',#57,#58,#59);
#61=PROPERTY_DEFINITION($,$,#53);
#62=PROPERTY_DEFINITION_REPRESENTATION(#61,#55);
#63=PROPERTY_DEFINITION($,$,#32);
#64=REPRESENTATION('piping component size',(#69),$);
#65=PROPERTY_DEFINITION_REPRESENTATION(#63,#64);
#66=PROPERTY_DEFINITION($,$,#32);
#67=SHAPE_DIMENSION_REPRESENTATION('piping component dimensions',(#70),$);
#68=PROPERTY_DEFINITION_REPRESENTATION(#66,#67);
#69=(MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE(253.999998062),#13)REPRESENTATION_ITEM('nominal size'));
#70=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE(273.050000000),#13)REPRESENTATION_ITEM('outside diameter'));
#71=DOCUMENT($,$,$,#73);
#72=PLANT_SPATIAL_CONFIGURATION_DOCUMENT_REFERENCE(#71,$,(#64));
#73=DOCUMENT_TYPE('dimensional standard');
#74=DOCUMENT_USAGE_CONSTRAINT(#71,'pipe schedule','STANDARD');
#75=PRODUCT_DEFINITION($,$,$,$);
#76=MATERIAL_PROPERTY($,$,#75);
#77=PRODUCT_DEFINITION_USAGE($,$,$,#32,#75);
#78=DOCUMENT_TYPE('material specification');
#79=DOCUMENT('ASTM A 53',$,$,#78);
#80=DOCUMENT_USAGE_CONSTRAINT(#79,$,'Carbon steel');
#81=PLANT_SPATIAL_CONFIGURATION_DOCUMENT_REFERENCE(#79,$,(#75,#128,#179));
#82=DIMENSIONAL_LOCATION($,$,#42,#53);
#83=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE(633.974596216),#13)REPRESENTATION_ITEM('end to end length'));
#84=SHAPE_DIMENSION_REPRESENTATION('pipe dimensional shape',(#83),#14);
#85=DIMENSIONAL_CHARACTERISTIC_REPRESENTATION(#82,#84);
#86=PRODUCT('',$,$,(#3));
#87=PRODUCT_DEFINITION_FORMATION($,$,#86);
#88=PIPING_COMPONENT_DEFINITION($,$,#87,#4);
#89=PRODUCT_DEFINITION_SHAPE($,$,#88);
#90=PIPING_COMPONENT_DEFINITION($,$,#87,#5);
#91=PRODUCT_DEFINITION_SHAPE($,$,#90);
#92=PRODUCT_DEFINITION_RELATIONSHIP($,'definition usage',$,#88,#90);
#93=PRODUCT_DEFINITION_RELATIONSHIP($,'realization',$,#20,#90);
#94=PLANT_ITEM_CONNECTOR($,'end 1',#89,$);
#95=PLANT_ITEM_CONNECTOR($,'end 1',#91,$);
#96=SHAPE_ASPECT_RELATIONSHIP('usage',$,#94,#95);
#97=REPRESENTATION($,(#98,#102),$);
#98=CARTESIAN_POINT('location',(0.00000000000,366.025403784,0.00000000000));
#99=CARTESIAN_POINT($,(0.00000000000,366.025403784,0.00000000000));
#100=DIRECTION($,(-0.00000000000,-0.101600309323,-0.00000000000));
#101=DIRECTION($,(0.0508001546616,0.00000000000,0.00000000000));
#102=AXIS2_PLACEMENT_3D('connector orientation',#99,#100,#101);
#103=PROPERTY_DEFINITION($,$,#95);
#104=PROPERTY_DEFINITION_REPRESENTATION(#103,#97);
#105=PLANT_ITEM_CONNECTOR($,'end 2',#89,$);
#106=PLANT_ITEM_CONNECTOR($,'end 2',#91,$);
#107=SHAPE_ASPECT_RELATIONSHIP('usage',$,#105,#106);
#108=REPRESENTATION($,(#109,#113),$);
#109=CARTESIAN_POINT('location',(0.00000000000,1000.00000000,0.00000000000));
#110=CARTESIAN_POINT($,(0.00000000000,1000.00000000,0.00000000000));
#111=DIRECTION($,(0.00000000000,0.101600309323,0.00000000000));
#112=DIRECTION($,(0.0508001546616,0.00000000000,0.00000000000));
#113=AXIS2_PLACEMENT_3D('connector orientation',#110,#111,#112);
#114=PROPERTY_DEFINITION($,$,#106);
#115=PROPERTY_DEFINITION_REPRESENTATION(#114,#108);
#116=PROPERTY_DEFINITION($,$,#88);
#117=REPRESENTATION('piping component size',(#122),$);
#118=PROPERTY_DEFINITION_REPRESENTATION(#116,#117);
#119=PROPERTY_DEFINITION($,$,#88);
#120=SHAPE_DIMENSION_REPRESENTATION('piping component dimensions',(#123),$);
#121=PROPERTY_DEFINITION_REPRESENTATION(#119,#120);
#122=(MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE(253.999998062),#13)REPRESENTATION_ITEM('nominal size'));
#123=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE(273.050000000),#13)REPRESENTATION_ITEM('outside diameter'));
#124=DOCUMENT($,$,$,#126);
#125=PLANT_SPATIAL_CONFIGURATION_DOCUMENT_REFERENCE(#124,$,(#117));
#126=DOCUMENT_TYPE('dimensional standard');
#127=DOCUMENT_USAGE_CONSTRAINT(#124,'pipe schedule','STANDARD');
#128=PRODUCT_DEFINITION($,$,$,$);
#129=MATERIAL_PROPERTY($,$,#128);
#130=PRODUCT_DEFINITION_USAGE($,$,$,#88,#128);
#131=DIMENSIONAL_LOCATION($,$,#95,#106);
#132=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE(633.974596216),#13)REPRESENTATION_ITEM('end to end length'));
#133=SHAPE_DIMENSION_REPRESENTATION('pipe dimensional shape',(#132),#14);
#134=DIMENSIONAL_CHARACTERISTIC_REPRESENTATION(#131,#133);
#135=PRODUCT('',$,$,(#3));
#136=PRODUCT_DEFINITION_FORMATION($,$,#135);
#137=PIPING_COMPONENT_DEFINITION($,$,#136,#4);
#138=PRODUCT_DEFINITION_SHAPE($,$,#137);
#139=PIPING_COMPONENT_DEFINITION($,$,#136,#5);
#140=PRODUCT_DEFINITION_SHAPE($,$,#139);
#141=PRODUCT_DEFINITION_RELATIONSHIP($,'definition usage',$,#137,#139);
#142=PIPE_CLASSIFICATION('mitre bend pipe',$);
#143=CLASSIFICATION_ASSIGNMENT(#142,(#137,#139));
#144=PRODUCT_DEFINITION_RELATIONSHIP($,'realization',$,#20,#139);
#145=PLANT_ITEM_CONNECTOR($,'end 1',#138,$);
#146=PLANT_ITEM_CONNECTOR($,'end 1',#140,$);
#147=SHAPE_ASPECT_RELATIONSHIP('usage',$,#145,#146);
#148=REPRESENTATION($,(#149,#153),$);
#149=CARTESIAN_POINT('location',(366.025403784,-4.80740671596E-14,0.00000000000));
#150=CARTESIAN_POINT($,(366.025403784,-4.80740671596E-14,0.00000000000));
#151=DIRECTION($,(1.00000000000,-1.31340794006E-16,0.00000000000));
#152=DIRECTION($,(0.00000000000,1.00000000000,0.00000000000));
#153=AXIS2_PLACEMENT_3D('connector orientation',#150,#151,#152);
#154=PROPERTY_DEFINITION($,$,#146);
#155=PROPERTY_DEFINITION_REPRESENTATION(#154,#148);
#156=PLANT_ITEM_CONNECTOR($,'end 2',#138,$);
#157=PLANT_ITEM_CONNECTOR($,'end 2',#140,$);
#158=SHAPE_ASPECT_RELATIONSHIP('usage',$,#156,#157);
#159=REPRESENTATION($,(#160,#164),$);
#160=CARTESIAN_POINT('location',(0.00000000000,366.025403784,0.00000000000));
#161=CARTESIAN_POINT($,(0.00000000000,366.025403784,0.00000000000));
#162=DIRECTION($,(0.00000000000,1.00000000000,0.00000000000));
#163=DIRECTION($,(1.00000000000,0.00000000000,0.00000000000));
#164=AXIS2_PLACEMENT_3D('connector orientation',#161,#162,#163);
#165=PROPERTY_DEFINITION($,$,#157);
#166=PROPERTY_DEFINITION_REPRESENTATION(#165,#159);
#167=PROPERTY_DEFINITION($,$,#137);
#168=REPRESENTATION('piping component size',(#173),$);
#169=PROPERTY_DEFINITION_REPRESENTATION(#167,#168);
#170=PROPERTY_DEFINITION($,$,#137);
#171=SHAPE_DIMENSION_REPRESENTATION('piping component dimensions',(#174),$);
#172=PROPERTY_DEFINITION_REPRESENTATION(#170,#171);
#173=(MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE(253.999998062),#13)REPRESENTATION_ITEM('nominal size'));
#174=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE(273.050000000),#13)REPRESENTATION_ITEM('outside diameter'));
#175=DOCUMENT($,$,$,#177);
#176=PLANT_SPATIAL_CONFIGURATION_DOCUMENT_REFERENCE(#175,$,(#168));
#177=DOCUMENT_TYPE('dimensional standard');
#178=DOCUMENT_USAGE_CONSTRAINT(#175,'pipe schedule','STANDARD');
#179=PRODUCT_DEFINITION($,$,$,$);
#180=MATERIAL_PROPERTY($,$,#179);
#181=PRODUCT_DEFINITION_USAGE($,$,$,#137,#179);
#182=PROPERTY_DEFINITION($,$,#139);
#183=REPRESENTATION('pipe characteristics',(#185),$);
#184=PROPERTY_DEFINITION_REPRESENTATION(#182,#183);
#185=(MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(COUNT_MEASURE(3.00000000000),$)REPRESENTATION_ITEM('number of segments'));
#186=SHAPE_DEFINITION_REPRESENTATION(#33,#187);
#187=SHAPE_REPRESENTATION($,(#235),$);
#188=REPRESENTATION_MAP(#9,#187);
#189=SHAPE_REPRESENTATION($,(#191),#14);
#190=SHAPE_DEFINITION_REPRESENTATION(#35,#189);
#191=MAPPED_ITEM($,#188,#195);
#192=CARTESIAN_POINT($,(1000.00000000,0.00000000000,0.00000000000));
#193=DIRECTION($,(-1.00000000000,0.00000000000,0.00000000000));
#194=DIRECTION($,(0.00000000000,1.00000000000,0.00000000000));
#195=AXIS2_PLACEMENT_3D($,#192,#193,#194);
#196=SHAPE_DEFINITION_REPRESENTATION(#89,#197);
#197=SHAPE_REPRESENTATION($,(#251),$);
#198=REPRESENTATION_MAP(#9,#197);
#199=SHAPE_REPRESENTATION($,(#201),#14);
#200=SHAPE_DEFINITION_REPRESENTATION(#91,#199);
#201=MAPPED_ITEM($,#198,#205);
#202=CARTESIAN_POINT($,(1000.00000000,0.00000000000,0.00000000000));
#203=DIRECTION($,(-1.00000000000,0.00000000000,0.00000000000));
#204=DIRECTION($,(0.00000000000,1.00000000000,0.00000000000));
#205=AXIS2_PLACEMENT_3D($,#202,#203,#204);
#206=SHAPE_DEFINITION_REPRESENTATION(#138,#207);
#207=SHAPE_REPRESENTATION($,(#267,#283),$);
#208=REPRESENTATION_MAP(#9,#207);
#209=SHAPE_REPRESENTATION($,(#211),#14);
#210=SHAPE_DEFINITION_REPRESENTATION(#140,#209);
#211=MAPPED_ITEM($,#208,#215);
#212=CARTESIAN_POINT($,(1000.00000000,0.00000000000,0.00000000000));
#213=DIRECTION($,(-1.00000000000,0.00000000000,0.00000000000));
#214=DIRECTION($,(0.00000000000,1.00000000000,0.00000000000));
#215=AXIS2_PLACEMENT_3D($,#212,#213,#214);
#216=PLANT_ITEM_CONNECTION('',$,$,$,$,'',#146,#53);
#217=CONNECTION_FUNCTIONAL_CLASSIFICATION('fluid transference',$);
#218=CLASSIFICATION_ASSIGNMENT(#217,(#216,#219));
#219=PLANT_ITEM_CONNECTION('',$,$,$,$,'',#157,#95);
#220=CARTESIAN_POINT($,(7.85037143115E-31,0.00000000000,0.00000000000));
#221=DIRECTION($,(-7.58296427752E-17,0.00000000000,1.00000000000));
#222=AXIS1_PLACEMENT($,#220,#221);
#223=RIGHT_CIRCULAR_CYLINDER('',#222,670.556359712,136.525000000);
#224=CARTESIAN_POINT($,(0.00000000000,0.00000000000,0.00000000000));
#225=DIRECTION($,(-0.00000000000,0.00000000000,-1.00000000000));
#226=AXIS2_PLACEMENT_3D($,#224,#225,$);
#227=PLANE($,#226);
#228=HALF_SPACE_SOLID($,#227,$);
#229=CARTESIAN_POINT($,(-4.80740671596E-14,0.00000000000,633.974596216));
#230=DIRECTION($,(0.258819045103,0.00000000000,0.965925826289));
#231=AXIS2_PLACEMENT_3D($,#229,#230,$);
#232=PLANE($,#231);
#233=HALF_SPACE_SOLID($,#232,$);
#234=BOOLEAN_RESULT('',.DIFFERENCE.,#223,#228);
#235=BOOLEAN_RESULT('',.DIFFERENCE.,#234,#233);
#236=CARTESIAN_POINT($,(329.443640288,-0.00000000000,1000.00000000));
#237=DIRECTION($,(1.00000000000,0.00000000000,-8.75605293377E-17));
#238=AXIS1_PLACEMENT($,#236,#237);
#239=RIGHT_CIRCULAR_CYLINDER('',#238,670.556359712,136.525000000);
#240=CARTESIAN_POINT($,(366.025403784,-0.00000000000,1000.00000000));
#241=DIRECTION($,(-0.965925826289,0.00000000000,-0.258819045103));
#242=AXIS2_PLACEMENT_3D($,#240,#241,$);
#243=PLANE($,#242);
#244=HALF_SPACE_SOLID($,#243,$);
#245=CARTESIAN_POINT($,(1000.00000000,-0.00000000000,1000.00000000));
#246=DIRECTION($,(1.00000000000,-0.00000000000,0.00000000000));
#247=AXIS2_PLACEMENT_3D($,#245,#246,$);
#248=PLANE($,#247);
#249=HALF_SPACE_SOLID($,#248,$);
#250=BOOLEAN_RESULT('',.DIFFERENCE.,#239,#244);
#251=BOOLEAN_RESULT('',.DIFFERENCE.,#250,#249);
#252=CARTESIAN_POINT($,(-18.2908817483,0.00000000000,602.293859712));
#253=DIRECTION($,(0.500000000000,-0.00000000000,0.866025403784));
#254=AXIS1_PLACEMENT($,#252,#253);
#255=RIGHT_CIRCULAR_CYLINDER('',#254,341.112719424,136.525000000);
#256=CARTESIAN_POINT($,(-4.80740671596E-14,0.00000000000,633.974596216));
#257=DIRECTION($,(-0.258819045103,0.00000000000,-0.965925826289));
#258=AXIS2_PLACEMENT_3D($,#256,#257,$);
#259=PLANE($,#258);
#260=HALF_SPACE_SOLID($,#259,$);
#261=CARTESIAN_POINT($,(133.974596216,-0.00000000000,866.025403784));
#262=DIRECTION($,(0.707106781187,0.00000000000,0.707106781187));
#263=AXIS2_PLACEMENT_3D($,#261,#262,$);
#264=PLANE($,#263);
#265=HALF_SPACE_SOLID($,#264,$);
#266=BOOLEAN_RESULT('',.DIFFERENCE.,#255,#260);
#267=BOOLEAN_RESULT('',.DIFFERENCE.,#266,#265);
#268=CARTESIAN_POINT($,(102.293859712,-0.00000000000,847.734522036));
#269=DIRECTION($,(0.866025403784,-0.00000000000,0.500000000000));
#270=AXIS1_PLACEMENT($,#268,#269);
#271=RIGHT_CIRCULAR_CYLINDER('',#270,341.112719424,136.525000000);
#272=CARTESIAN_POINT($,(133.974596216,-0.00000000000,866.025403784));
#273=DIRECTION($,(-0.707106781187,0.00000000000,-0.707106781187));
#274=AXIS2_PLACEMENT_3D($,#272,#273,$);
#275=PLANE($,#274);
#276=HALF_SPACE_SOLID($,#275,$);
#277=CARTESIAN_POINT($,(366.025403784,-0.00000000000,1000.00000000));
#278=DIRECTION($,(0.965925826289,0.00000000000,0.258819045103));
#279=AXIS2_PLACEMENT_3D($,#277,#278,$);
#280=PLANE($,#279);
#281=HALF_SPACE_SOLID($,#280,$);
#282=BOOLEAN_RESULT('',.DIFFERENCE.,#271,#276);
#283=BOOLEAN_RESULT('',.DIFFERENCE.,#282,#281);
ENDSEC;
END-ISO-10303-21;

View file

@ -1,299 +0,0 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION((''), '1');
FILE_NAME('MITRE ',
'1998-08-31T15:05:58+02:00',
(''),
(''),
'CATIA.STEP INTERFACE',
'CATIA SOLUTIONS V4 RELEASE 2.1 FR 4.2.1',
'');
FILE_SCHEMA(('PLANT_SPATIAL_CONFIGURATION'));
ENDSEC;
DATA;
#1=APPLICATION_CONTEXT('process plants');
#2=APPLICATION_PROTOCOL_DEFINITION('CD','plant_spatial_configuration',1995,#1);
#3=PRODUCT_CONTEXT('plant design',#1,'process plant');
#4=PRODUCT_DEFINITION_CONTEXT('physical definition',#1,'physical design');
#5=PRODUCT_DEFINITION_CONTEXT('physical occurrence',#1,'physical design');
#6=PRODUCT_DEFINITION_CONTEXT('functional definition',#1,'functional design');
#7=PRODUCT_DEFINITION_CONTEXT('functional occurrence',#1,'functional design');
#8=PRODUCT_DEFINITION_CONTEXT('catalogue definition',#1,'???? design');
#9=CARTESIAN_POINT($,(0.00000000000,0.00000000000,0.00000000000));
#10=DIMENSIONAL_EXPONENTS(0.00000000000,1.00000000000,0.00000000000,0.00000000000,0.00000000000,0.00000000000,0.00000000000);
#11=(MASS_UNIT()NAMED_UNIT(#10)SI_UNIT(.KILO.,.GRAM.));
#12=DIMENSIONAL_EXPONENTS(1.00000000000,0.00000000000,0.00000000000,0.00000000000,0.00000000000,0.00000000000,0.00000000000);
#13=(LENGTH_UNIT()NAMED_UNIT(#12)SI_UNIT(.MILLI.,.METRE.));
#14=GLOBAL_UNIT_ASSIGNED_CONTEXT($,$,(#13));
#15=DESCRIPTIVE_REPRESENTATION_ITEM('flow direction','in');
#16=REPRESENTATION($,(#15),#14);
#17=DESCRIPTIVE_REPRESENTATION_ITEM('flow direction','out');
#18=REPRESENTATION($,(#17),#14);
#19=PLANT_LINE_DEFINITION('U1-P100-10"-CS150R-FG',$,$,#6,$);
#20=PLANT_LINE_SEGMENT_DEFINITION('en_dur',$,$,#6);
#21=PRODUCT_DEFINITION_RELATIONSHIP($,'',$,#19,#20);
#22=PRODUCT_DEFINITION_SHAPE($,$,#20);
#23=SHAPE_DIMENSION_REPRESENTATION($,(#25),$);
#24=SHAPE_DEFINITION_REPRESENTATION(#22,#23);
#25=(MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE(253.999998062),#13)REPRESENTATION_ITEM('line size'));
#26=DOCUMENT('CS150R',$,$,#28);
#27=PLANT_SPATIAL_CONFIGURATION_DOCUMENT_REFERENCE(#26,$,(#20));
#28=DOCUMENT_TYPE('piping specification');
#29=DOCUMENT_USAGE_CONSTRAINT(#26,'service description',$);
#30=PRODUCT('',$,$,(#3));
#31=PRODUCT_DEFINITION_FORMATION($,$,#30);
#32=PIPING_COMPONENT_DEFINITION($,$,#31,#4);
#33=PRODUCT_DEFINITION_SHAPE($,$,#32);
#34=PIPING_COMPONENT_DEFINITION($,$,#31,#5);
#35=PRODUCT_DEFINITION_SHAPE($,$,#34);
#36=PRODUCT_DEFINITION_RELATIONSHIP($,'definition usage',$,#32,#34);
#37=PIPE_CLASSIFICATION('straight pipe',$);
#38=CLASSIFICATION_ASSIGNMENT(#37,(#32,#34,#88,#90));
#39=PRODUCT_RELATED_PRODUCT_CATEGORY('pipe',$,(#30,#86,#135));
#40=PRODUCT_DEFINITION_RELATIONSHIP($,'realization',$,#20,#34);
#41=PLANT_ITEM_CONNECTOR($,'end 1',#33,$);
#42=PLANT_ITEM_CONNECTOR($,'end 1',#35,$);
#43=SHAPE_ASPECT_RELATIONSHIP('usage',$,#41,#42);
#44=REPRESENTATION($,(#45,#49),$);
#45=CARTESIAN_POINT('location',(1000.00000000,0.00000000000,0.00000000000));
#46=CARTESIAN_POINT($,(1000.00000000,0.00000000000,0.00000000000));
#47=DIRECTION($,(0.101600309323,0.00000000000,0.00000000000));
#48=DIRECTION($,(-0.00000000000,0.00000000000,0.0508001546616));
#49=AXIS2_PLACEMENT_3D('connector orientation',#46,#47,#48);
#50=PROPERTY_DEFINITION($,$,#42);
#51=PROPERTY_DEFINITION_REPRESENTATION(#50,#44);
#52=PLANT_ITEM_CONNECTOR($,'end 2',#33,$);
#53=PLANT_ITEM_CONNECTOR($,'end 2',#35,$);
#54=SHAPE_ASPECT_RELATIONSHIP('usage',$,#52,#53);
#55=REPRESENTATION($,(#56,#60),$);
#56=CARTESIAN_POINT('location',(366.025403784,-4.80740671596E-14,0.00000000000));
#57=CARTESIAN_POINT($,(366.025403784,-4.80740671596E-14,0.00000000000));
#58=DIRECTION($,(-0.101600309323,-0.00000000000,-0.00000000000));
#59=DIRECTION($,(-0.00000000000,0.00000000000,0.0508001546616));
#60=AXIS2_PLACEMENT_3D('connector orientation',#57,#58,#59);
#61=PROPERTY_DEFINITION($,$,#53);
#62=PROPERTY_DEFINITION_REPRESENTATION(#61,#55);
#63=PROPERTY_DEFINITION($,$,#32);
#64=REPRESENTATION('piping component size',(#69),$);
#65=PROPERTY_DEFINITION_REPRESENTATION(#63,#64);
#66=PROPERTY_DEFINITION($,$,#32);
#67=SHAPE_DIMENSION_REPRESENTATION('piping component dimensions',(#70),$);
#68=PROPERTY_DEFINITION_REPRESENTATION(#66,#67);
#69=(MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE(253.999998062),#13)REPRESENTATION_ITEM('nominal size'));
#70=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE(273.050000000),#13)REPRESENTATION_ITEM('outside diameter'));
#71=DOCUMENT($,$,$,#73);
#72=PLANT_SPATIAL_CONFIGURATION_DOCUMENT_REFERENCE(#71,$,(#64));
#73=DOCUMENT_TYPE('dimensional standard');
#74=DOCUMENT_USAGE_CONSTRAINT(#71,'pipe schedule','STANDARD');
#75=PRODUCT_DEFINITION($,$,$,$);
#76=MATERIAL_PROPERTY($,$,#75);
#77=PRODUCT_DEFINITION_USAGE($,$,$,#32,#75);
#78=DOCUMENT_TYPE('material specification');
#79=DOCUMENT('ASTM A 53',$,$,#78);
#80=DOCUMENT_USAGE_CONSTRAINT(#79,$,'Carbon steel');
#81=PLANT_SPATIAL_CONFIGURATION_DOCUMENT_REFERENCE(#79,$,(#75,#128,#179));
#82=DIMENSIONAL_LOCATION($,$,#42,#53);
#83=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE(633.974596216),#13)REPRESENTATION_ITEM('end to end length'));
#84=SHAPE_DIMENSION_REPRESENTATION('pipe dimensional shape',(#83),#14);
#85=DIMENSIONAL_CHARACTERISTIC_REPRESENTATION(#82,#84);
#86=PRODUCT('',$,$,(#3));
#87=PRODUCT_DEFINITION_FORMATION($,$,#86);
#88=PIPING_COMPONENT_DEFINITION($,$,#87,#4);
#89=PRODUCT_DEFINITION_SHAPE($,$,#88);
#90=PIPING_COMPONENT_DEFINITION($,$,#87,#5);
#91=PRODUCT_DEFINITION_SHAPE($,$,#90);
#92=PRODUCT_DEFINITION_RELATIONSHIP($,'definition usage',$,#88,#90);
#93=PRODUCT_DEFINITION_RELATIONSHIP($,'realization',$,#20,#90);
#94=PLANT_ITEM_CONNECTOR($,'end 1',#89,$);
#95=PLANT_ITEM_CONNECTOR($,'end 1',#91,$);
#96=SHAPE_ASPECT_RELATIONSHIP('usage',$,#94,#95);
#97=REPRESENTATION($,(#98,#102),$);
#98=CARTESIAN_POINT('location',(0.00000000000,366.025403784,0.00000000000));
#99=CARTESIAN_POINT($,(0.00000000000,366.025403784,0.00000000000));
#100=DIRECTION($,(-0.00000000000,-0.101600309323,-0.00000000000));
#101=DIRECTION($,(0.0508001546616,0.00000000000,0.00000000000));
#102=AXIS2_PLACEMENT_3D('connector orientation',#99,#100,#101);
#103=PROPERTY_DEFINITION($,$,#95);
#104=PROPERTY_DEFINITION_REPRESENTATION(#103,#97);
#105=PLANT_ITEM_CONNECTOR($,'end 2',#89,$);
#106=PLANT_ITEM_CONNECTOR($,'end 2',#91,$);
#107=SHAPE_ASPECT_RELATIONSHIP('usage',$,#105,#106);
#108=REPRESENTATION($,(#109,#113),$);
#109=CARTESIAN_POINT('location',(0.00000000000,1000.00000000,0.00000000000));
#110=CARTESIAN_POINT($,(0.00000000000,1000.00000000,0.00000000000));
#111=DIRECTION($,(0.00000000000,0.101600309323,0.00000000000));
#112=DIRECTION($,(0.0508001546616,0.00000000000,0.00000000000));
#113=AXIS2_PLACEMENT_3D('connector orientation',#110,#111,#112);
#114=PROPERTY_DEFINITION($,$,#106);
#115=PROPERTY_DEFINITION_REPRESENTATION(#114,#108);
#116=PROPERTY_DEFINITION($,$,#88);
#117=REPRESENTATION('piping component size',(#122),$);
#118=PROPERTY_DEFINITION_REPRESENTATION(#116,#117);
#119=PROPERTY_DEFINITION($,$,#88);
#120=SHAPE_DIMENSION_REPRESENTATION('piping component dimensions',(#123),$);
#121=PROPERTY_DEFINITION_REPRESENTATION(#119,#120);
#122=(MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE(253.999998062),#13)REPRESENTATION_ITEM('nominal size'));
#123=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE(273.050000000),#13)REPRESENTATION_ITEM('outside diameter'));
#124=DOCUMENT($,$,$,#126);
#125=PLANT_SPATIAL_CONFIGURATION_DOCUMENT_REFERENCE(#124,$,(#117));
#126=DOCUMENT_TYPE('dimensional standard');
#127=DOCUMENT_USAGE_CONSTRAINT(#124,'pipe schedule','STANDARD');
#128=PRODUCT_DEFINITION($,$,$,$);
#129=MATERIAL_PROPERTY($,$,#128);
#130=PRODUCT_DEFINITION_USAGE($,$,$,#88,#128);
#131=DIMENSIONAL_LOCATION($,$,#95,#106);
#132=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE(633.974596216),#13)REPRESENTATION_ITEM('end to end length'));
#133=SHAPE_DIMENSION_REPRESENTATION('pipe dimensional shape',(#132),#14);
#134=DIMENSIONAL_CHARACTERISTIC_REPRESENTATION(#131,#133);
#135=PRODUCT('',$,$,(#3));
#136=PRODUCT_DEFINITION_FORMATION($,$,#135);
#137=PIPING_COMPONENT_DEFINITION($,$,#136,#4);
#138=PRODUCT_DEFINITION_SHAPE($,$,#137);
#139=PIPING_COMPONENT_DEFINITION($,$,#136,#5);
#140=PRODUCT_DEFINITION_SHAPE($,$,#139);
#141=PRODUCT_DEFINITION_RELATIONSHIP($,'definition usage',$,#137,#139);
#142=PIPE_CLASSIFICATION('mitre bend pipe',$);
#143=CLASSIFICATION_ASSIGNMENT(#142,(#137,#139));
#144=PRODUCT_DEFINITION_RELATIONSHIP($,'realization',$,#20,#139);
#145=PLANT_ITEM_CONNECTOR($,'end 1',#138,$);
#146=PLANT_ITEM_CONNECTOR($,'end 1',#140,$);
#147=SHAPE_ASPECT_RELATIONSHIP('usage',$,#145,#146);
#148=REPRESENTATION($,(#149,#153),$);
#149=CARTESIAN_POINT('location',(366.025403784,-4.80740671596E-14,0.00000000000));
#150=CARTESIAN_POINT($,(366.025403784,-4.80740671596E-14,0.00000000000));
#151=DIRECTION($,(1.00000000000,-1.31340794006E-16,0.00000000000));
#152=DIRECTION($,(0.00000000000,1.00000000000,0.00000000000));
#153=AXIS2_PLACEMENT_3D('connector orientation',#150,#151,#152);
#154=PROPERTY_DEFINITION($,$,#146);
#155=PROPERTY_DEFINITION_REPRESENTATION(#154,#148);
#156=PLANT_ITEM_CONNECTOR($,'end 2',#138,$);
#157=PLANT_ITEM_CONNECTOR($,'end 2',#140,$);
#158=SHAPE_ASPECT_RELATIONSHIP('usage',$,#156,#157);
#159=REPRESENTATION($,(#160,#164),$);
#160=CARTESIAN_POINT('location',(0.00000000000,366.025403784,0.00000000000));
#161=CARTESIAN_POINT($,(0.00000000000,366.025403784,0.00000000000));
#162=DIRECTION($,(0.00000000000,1.00000000000,0.00000000000));
#163=DIRECTION($,(1.00000000000,0.00000000000,0.00000000000));
#164=AXIS2_PLACEMENT_3D('connector orientation',#161,#162,#163);
#165=PROPERTY_DEFINITION($,$,#157);
#166=PROPERTY_DEFINITION_REPRESENTATION(#165,#159);
#167=PROPERTY_DEFINITION($,$,#137);
#168=REPRESENTATION('piping component size',(#173),$);
#169=PROPERTY_DEFINITION_REPRESENTATION(#167,#168);
#170=PROPERTY_DEFINITION($,$,#137);
#171=SHAPE_DIMENSION_REPRESENTATION('piping component dimensions',(#174),$);
#172=PROPERTY_DEFINITION_REPRESENTATION(#170,#171);
#173=(MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE(253.999998062),#13)REPRESENTATION_ITEM('nominal size'));
#174=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE(273.050000000),#13)REPRESENTATION_ITEM('outside diameter'));
#175=DOCUMENT($,$,$,#177);
#176=PLANT_SPATIAL_CONFIGURATION_DOCUMENT_REFERENCE(#175,$,(#168));
#177=DOCUMENT_TYPE('dimensional standard');
#178=DOCUMENT_USAGE_CONSTRAINT(#175,'pipe schedule','STANDARD');
#179=PRODUCT_DEFINITION($,$,$,$);
#180=MATERIAL_PROPERTY($,$,#179);
#181=PRODUCT_DEFINITION_USAGE($,$,$,#137,#179);
#182=PROPERTY_DEFINITION($,$,#139);
#183=REPRESENTATION('pipe characteristics',(#185),$);
#184=PROPERTY_DEFINITION_REPRESENTATION(#182,#183);
#185=(MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(COUNT_MEASURE(3.00000000000),$)REPRESENTATION_ITEM('number of segments'));
#186=SHAPE_DEFINITION_REPRESENTATION(#33,#187);
#187=SHAPE_REPRESENTATION($,(#235),$);
#188=REPRESENTATION_MAP(#9,#187);
#189=SHAPE_REPRESENTATION($,(#191),#14);
#190=SHAPE_DEFINITION_REPRESENTATION(#35,#189);
#191=MAPPED_ITEM($,#188,#195);
#192=CARTESIAN_POINT($,(1000.00000000,0.00000000000,0.00000000000));
#193=DIRECTION($,(-1.00000000000,0.00000000000,0.00000000000));
#194=DIRECTION($,(0.00000000000,1.00000000000,0.00000000000));
#195=AXIS2_PLACEMENT_3D($,#192,#193,#194);
#196=SHAPE_DEFINITION_REPRESENTATION(#89,#197);
#197=SHAPE_REPRESENTATION($,(#251),$);
#198=REPRESENTATION_MAP(#9,#197);
#199=SHAPE_REPRESENTATION($,(#201),#14);
#200=SHAPE_DEFINITION_REPRESENTATION(#91,#199);
#201=MAPPED_ITEM($,#198,#205);
#202=CARTESIAN_POINT($,(1000.00000000,0.00000000000,0.00000000000));
#203=DIRECTION($,(-1.00000000000,0.00000000000,0.00000000000));
#204=DIRECTION($,(0.00000000000,1.00000000000,0.00000000000));
#205=AXIS2_PLACEMENT_3D($,#202,#203,#204);
#206=SHAPE_DEFINITION_REPRESENTATION(#138,#207);
#207=SHAPE_REPRESENTATION($,(#267,#283),$);
#208=REPRESENTATION_MAP(#9,#207);
#209=SHAPE_REPRESENTATION($,(#211),#14);
#210=SHAPE_DEFINITION_REPRESENTATION(#140,#209);
#211=MAPPED_ITEM($,#208,#215);
#212=CARTESIAN_POINT($,(1000.00000000,0.00000000000,0.00000000000));
#213=DIRECTION($,(-1.00000000000,0.00000000000,0.00000000000));
#214=DIRECTION($,(0.00000000000,1.00000000000,0.00000000000));
#215=AXIS2_PLACEMENT_3D($,#212,#213,#214);
#216=PLANT_ITEM_CONNECTION('',$,$,$,$,'',#146,#53);
#217=CONNECTION_FUNCTIONAL_CLASSIFICATION('fluid transference',$);
#218=CLASSIFICATION_ASSIGNMENT(#217,(#216,#219));
#219=PLANT_ITEM_CONNECTION('',$,$,$,$,'',#157,#95);
#220=CARTESIAN_POINT($,(7.85037143115E-31,0.00000000000,0.00000000000));
#221=DIRECTION($,(-7.58296427752E-17,0.00000000000,1.00000000000));
#222=AXIS1_PLACEMENT($,#220,#221);
#223=RIGHT_CIRCULAR_CYLINDER('',#222,670.556359712,136.525000000);
#224=CARTESIAN_POINT($,(0.00000000000,0.00000000000,0.00000000000));
#225=DIRECTION($,(-0.00000000000,0.00000000000,-1.00000000000));
#226=AXIS2_PLACEMENT_3D($,#224,#225,$);
#227=PLANE($,#226);
#228=HALF_SPACE_SOLID($,#227,$);
#229=CARTESIAN_POINT($,(-4.80740671596E-14,0.00000000000,633.974596216));
#230=DIRECTION($,(0.258819045103,0.00000000000,0.965925826289));
#231=AXIS2_PLACEMENT_3D($,#229,#230,$);
#232=PLANE($,#231);
#233=HALF_SPACE_SOLID($,#232,$);
#234=BOOLEAN_RESULT('',.DIFFERENCE.,#223,#228);
#235=BOOLEAN_RESULT('',.DIFFERENCE.,#234,#233);
#236=CARTESIAN_POINT($,(329.443640288,-0.00000000000,1000.00000000));
#237=DIRECTION($,(1.00000000000,0.00000000000,-8.75605293377E-17));
#238=AXIS1_PLACEMENT($,#236,#237);
#239=RIGHT_CIRCULAR_CYLINDER('',#238,670.556359712,136.525000000);
#240=CARTESIAN_POINT($,(366.025403784,-0.00000000000,1000.00000000));
#241=DIRECTION($,(-0.965925826289,0.00000000000,-0.258819045103));
#242=AXIS2_PLACEMENT_3D($,#240,#241,$);
#243=PLANE($,#242);
#244=HALF_SPACE_SOLID($,#243,$);
#245=CARTESIAN_POINT($,(1000.00000000,-0.00000000000,1000.00000000));
#246=DIRECTION($,(1.00000000000,-0.00000000000,0.00000000000));
#247=AXIS2_PLACEMENT_3D($,#245,#246,$);
#248=PLANE($,#247);
#249=HALF_SPACE_SOLID($,#248,$);
#250=BOOLEAN_RESULT('',.DIFFERENCE.,#239,#244);
#251=BOOLEAN_RESULT('',.DIFFERENCE.,#250,#249);
#252=CARTESIAN_POINT($,(-18.2908817483,0.00000000000,602.293859712));
#253=DIRECTION($,(0.500000000000,-0.00000000000,0.866025403784));
#254=AXIS1_PLACEMENT($,#252,#253);
#255=RIGHT_CIRCULAR_CYLINDER('',#254,341.112719424,136.525000000);
#256=CARTESIAN_POINT($,(-4.80740671596E-14,0.00000000000,633.974596216));
#257=DIRECTION($,(-0.258819045103,0.00000000000,-0.965925826289));
#258=AXIS2_PLACEMENT_3D($,#256,#257,$);
#259=PLANE($,#258);
#260=HALF_SPACE_SOLID($,#259,$);
#261=CARTESIAN_POINT($,(133.974596216,-0.00000000000,866.025403784));
#262=DIRECTION($,(0.707106781187,0.00000000000,0.707106781187));
#263=AXIS2_PLACEMENT_3D($,#261,#262,$);
#264=PLANE($,#263);
#265=HALF_SPACE_SOLID($,#264,$);
#266=BOOLEAN_RESULT('',.DIFFERENCE.,#255,#260);
#267=BOOLEAN_RESULT('',.DIFFERENCE.,#266,#265);
#268=CARTESIAN_POINT($,(102.293859712,-0.00000000000,847.734522036));
#269=DIRECTION($,(0.866025403784,-0.00000000000,0.500000000000));
#270=AXIS1_PLACEMENT($,#268,#269);
#271=RIGHT_CIRCULAR_CYLINDER('',#270,341.112719424,136.525000000);
#272=CARTESIAN_POINT($,(133.974596216,-0.00000000000,866.025403784));
#273=DIRECTION($,(-0.707106781187,0.00000000000,-0.707106781187));
#274=AXIS2_PLACEMENT_3D($,#272,#273,$);
#275=PLANE($,#274);
#276=HALF_SPACE_SOLID($,#275,$);
#277=CARTESIAN_POINT($,(366.025403784,-0.00000000000,1000.00000000));
#278=DIRECTION($,(0.965925826289,0.00000000000,0.258819045103));
#279=AXIS2_PLACEMENT_3D($,#277,#278,$);
#280=PLANE($,#279);
#281=HALF_SPACE_SOLID($,#280,$);
#282=BOOLEAN_RESULT('',.DIFFERENCE.,#271,#276);
#283=BOOLEAN_RESULT('',.DIFFERENCE.,#282,#281);
ENDSEC;
END-ISO-10303-21;

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,14 +1,20 @@
SET(scl_MANS
man/man1/dataprobe.1
man/man1/fedex.1
man/man1/fedex_plus.1
man/man1/mkProbe.1
)
set(sc_MANS
man/man1/fedex.1
man/man1/exp2cxx.1
)
if(NOT DEFINED MAN_DIR)
set(MAN_DIR share/man)
endif(NOT DEFINED MAN_DIR)
IF(NOT WIN32)
INSTALL(FILES ${scl_MANS} DESTINATION ${CMAKE_INSTALL_PREFIX}/${MAN_DIR}/man1)
ENDIF(NOT WIN32)
if(NOT WIN32)
install(FILES ${sc_MANS} DESTINATION ${MAN_DIR}/man1)
endif(NOT WIN32)
# Local Variables:
# tab-width: 8
# mode: cmake
# indent-tabs-mode: t
# End:
# ex: shiftwidth=2 tabstop=8

View file

@ -1,4 +1,4 @@
# Doxyfile 1.7.4
# Doxyfile 1.7.6.1
# This file describes the settings to be used by the documentation system
# doxygen (www.doxygen.org) for a project
@ -22,22 +22,23 @@
DOXYFILE_ENCODING = UTF-8
# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
# by quotes) that should identify the project.
# The PROJECT_NAME tag is a single word (or sequence of words) that should
# identify the project. Note that if you do not use Doxywizard you need
# to put quotes around the project name if it contains spaces.
PROJECT_NAME = scl
PROJECT_NAME = SC
# The PROJECT_NUMBER tag can be used to enter a project or revision number.
# This could be handy for archiving the generated documentation or
# if some version control system is used.
PROJECT_NUMBER = 3.2
PROJECT_NUMBER = 0.8
# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer
# a quick idea about the purpose of the project. Keep the description short.
PROJECT_BRIEF = "STEP Class Library"
PROJECT_BRIEF = STEPcode
# With the PROJECT_LOGO tag one can specify an logo or icon that is
# included in the documentation. The maximum height of the logo should not
@ -51,7 +52,7 @@ PROJECT_LOGO =
# If a relative path is entered, it will be relative to the location
# where doxygen was started. If left blank the current directory will be used.
OUTPUT_DIRECTORY = .
OUTPUT_DIRECTORY = /mnt/raid/mark/sc-doxygen
# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
# 4096 sub-directories (in 2 levels) under the output directory of each output
@ -204,6 +205,13 @@ TAB_SIZE = 8
ALIASES =
# This tag can be used to specify a number of word-keyword mappings (TCL only).
# A mapping has the form "name=value". For example adding
# "class=itcl::class" will allow you to use the command class in the
# itcl::class meaning.
TCL_SUBST =
# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
# sources only. Doxygen will then generate output that is more tailored for C.
# For instance, some of the names that are used will be different. The list
@ -293,6 +301,15 @@ SUBGROUPING = YES
INLINE_GROUPED_CLASSES = NO
# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and
# unions with only public data fields will be shown inline in the documentation
# of the scope in which they are defined (i.e. file, namespace, or group
# documentation), provided this scope is documented. If set to NO (the default),
# structs, classes, and unions are shown on a separate page (for HTML and Man
# pages) or section (for LaTeX and RTF).
INLINE_SIMPLE_STRUCTS = NO
# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum
# is documented as struct, union, or enum with the name of the typedef. So
# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
@ -315,10 +332,21 @@ TYPEDEF_HIDES_STRUCT = NO
# a logarithmic scale so increasing the size by one will roughly double the
# memory usage. The cache size is given by this formula:
# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0,
# corresponding to a cache size of 2^16 = 65536 symbols
# corresponding to a cache size of 2^16 = 65536 symbols.
SYMBOL_CACHE_SIZE = 0
# Similar to the SYMBOL_CACHE_SIZE the size of the symbol lookup cache can be
# set using LOOKUP_CACHE_SIZE. This cache is used to resolve symbols given
# their name and scope. Since this can be an expensive process and often the
# same symbol appear multiple times in the code, doxygen keeps a cache of
# pre-resolved symbols. If the cache is too small doxygen will become slower.
# If the cache is too large, memory is wasted. The cache size is given by this
# formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range is 0..9, the default is 0,
# corresponding to a cache size of 2^16 = 65536 symbols.
LOOKUP_CACHE_SIZE = 0
#---------------------------------------------------------------------------
# Build related configuration options
#---------------------------------------------------------------------------
@ -338,7 +366,7 @@ EXTRACT_PRIVATE = NO
# If the EXTRACT_STATIC tag is set to YES all static members of a file
# will be included in the documentation.
EXTRACT_STATIC = NO
EXTRACT_STATIC = YES
# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
# defined locally in source files will be included in the documentation.
@ -559,6 +587,16 @@ FILE_VERSION_FILTER =
LAYOUT_FILE =
# The CITE_BIB_FILES tag can be used to specify one or more bib files
# containing the references data. This must be a list of .bib files. The
# .bib extension is automatically appended if omitted. Using this command
# requires the bibtex tool to be installed. See also
# http://en.wikipedia.org/wiki/BibTeX for more info. For LaTeX the style
# of the bibliography can be controlled using LATEX_BIB_STYLE. To use this
# feature you need bibtex and perl available in the search path.
CITE_BIB_FILES =
#---------------------------------------------------------------------------
# configuration options related to warning and progress messages
#---------------------------------------------------------------------------
@ -621,7 +659,8 @@ WARN_LOGFILE =
INPUT = src \
include \
build/src/express
build/src/express \
build/include
# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
@ -677,13 +716,16 @@ FILE_PATTERNS = *.c \
RECURSIVE = YES
# The EXCLUDE tag can be used to specify files and/or directories that should
# The EXCLUDE tag can be used to specify files and/or directories that should be
# excluded from the INPUT source files. This way you can easily exclude a
# subdirectory from a directory tree whose root is specified with the INPUT tag.
# subdirectory from a directory tree whose root is specified with the INPUT tag.
# Note that relative paths are relative to the directory from which doxygen is
# run.
EXCLUDE =
EXCLUDE = .git \
cmake/
# The EXCLUDE_SYMLINKS tag can be used select whether or not files or
# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
# directories that are symbolic links (a Unix file system feature) are excluded
# from the input.
@ -773,7 +815,7 @@ FILTER_SOURCE_PATTERNS =
# Note: To get rid of all source code in the generated output, make sure also
# VERBATIM_HEADERS is set to NO.
SOURCE_BROWSER = NO
SOURCE_BROWSER = YES
# Setting the INLINE_SOURCES tag to YES will include the body
# of functions and classes directly in the documentation.
@ -865,13 +907,13 @@ HTML_FILE_EXTENSION = .html
# The HTML_HEADER tag can be used to specify a personal HTML header for
# each generated HTML page. If it is left blank doxygen will generate a
# standard header. Note that when using a custom header you are responsible
# standard header. Note that when using a custom header you are responsible
# for the proper inclusion of any scripts and style sheets that doxygen
# needs, which is dependent on the configuration options used.
# It is adviced to generate a default header using "doxygen -w html
# It is advised to generate a default header using "doxygen -w html
# header.html footer.html stylesheet.css YourConfigFile" and then modify
# that header. Note that the header is subject to change so you typically
# have to redo this when upgrading to a newer version of doxygen or when
# have to redo this when upgrading to a newer version of doxygen or when
# changing the value of configuration settings such as GENERATE_TREEVIEW!
HTML_HEADER =
@ -887,7 +929,7 @@ HTML_FOOTER =
# fine-tune the look of the HTML output. If the tag is left blank doxygen
# will generate a default style sheet. Note that doxygen will try to copy
# the style sheet file to the HTML output directory, so don't put your own
# stylesheet in the HTML output directory as well, or it will be erased!
# style sheet in the HTML output directory as well, or it will be erased!
HTML_STYLESHEET =
@ -901,7 +943,7 @@ HTML_STYLESHEET =
HTML_EXTRA_FILES =
# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output.
# Doxygen will adjust the colors in the stylesheet and background images
# Doxygen will adjust the colors in the style sheet and background images
# according to this color. Hue is specified as an angle on a colorwheel,
# see http://en.wikipedia.org/wiki/Hue for more information.
# For instance the value 0 represents red, 60 is yellow, 120 is green,
@ -1096,29 +1138,33 @@ GENERATE_ECLIPSEHELP = NO
ECLIPSE_DOC_ID = org.doxygen.Project
# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
# top of each HTML page. The value NO (the default) enables the index and
# the value YES disables it.
# The DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs)
# at top of each HTML page. The value NO (the default) enables the index and
# the value YES disables it. Since the tabs have the same information as the
# navigation tree you can set this option to NO if you already set
# GENERATE_TREEVIEW to YES.
DISABLE_INDEX = NO
# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values
# (range [0,1..20]) that doxygen will group on one line in the generated HTML
# documentation. Note that a value of 0 will completely suppress the enum
# values from appearing in the overview section.
ENUM_VALUES_PER_LINE = 4
# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
# structure should be generated to display hierarchical information.
# If the tag value is set to YES, a side panel will be generated
# containing a tree-like index structure (just like the one that
# is generated for HTML Help). For this to work a browser that supports
# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser).
# Windows users are probably better off using the HTML help feature.
# Windows users are probably better off using the HTML help feature.
# Since the tree basically has the same information as the tab index you
# could consider to set DISABLE_INDEX to NO when enabling this option.
GENERATE_TREEVIEW = YES
# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values
# (range [0,1..20]) that doxygen will group on one line in the generated HTML
# documentation. Note that a value of 0 will completely suppress the enum
# values from appearing in the overview section.
ENUM_VALUES_PER_LINE = 4
# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories,
# and Class Hierarchy pages using a tree view instead of an ordered list.
@ -1171,6 +1217,11 @@ USE_MATHJAX = NO
MATHJAX_RELPATH = http://www.mathjax.org/mathjax
# The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension
# names that should be enabled during MathJax rendering.
MATHJAX_EXTENSIONS =
# When the SEARCHENGINE tag is enabled doxygen will generate a search box
# for the HTML output. The underlying search engine uses javascript
# and DHTML and should work on any modern browser. Note that when using
@ -1179,7 +1230,7 @@ MATHJAX_RELPATH = http://www.mathjax.org/mathjax
# typically be disabled. For large projects the javascript based search engine
# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution.
SEARCHENGINE = NO
SEARCHENGINE = YES
# When the SERVER_BASED_SEARCH tag is enabled the search engine will be
# implemented using a PHP enabled web server instead of at the web client
@ -1284,6 +1335,12 @@ LATEX_HIDE_INDICES = NO
LATEX_SOURCE_CODE = NO
# The LATEX_BIB_STYLE tag can be used to specify the style to use for the
# bibliography, e.g. plainnat, or ieeetr. The default style is "plain". See
# http://en.wikipedia.org/wiki/BibTeX for more info.
LATEX_BIB_STYLE = plain
#---------------------------------------------------------------------------
# configuration options related to the RTF output
#---------------------------------------------------------------------------
@ -1315,7 +1372,7 @@ COMPACT_RTF = NO
RTF_HYPERLINKS = NO
# Load stylesheet definitions from file. Syntax is similar to doxygen's
# Load style sheet definitions from file. Syntax is similar to doxygen's
# config file, i.e. a series of assignments. You only have to provide
# replacements, missing definitions are set to their default value.
@ -1585,32 +1642,30 @@ HAVE_DOT = YES
DOT_NUM_THREADS = 0
# By default doxygen will write a font called Helvetica to the output
# directory and reference it in all dot files that doxygen generates.
# When you want a differently looking font you can specify the font name
# using DOT_FONTNAME. You need to make sure dot is able to find the font,
# which can be done by putting it in a standard location or by setting the
# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory
# containing the font.
# By default doxygen will use the Helvetica font for all dot files that
# doxygen generates. When you want a differently looking font you can specify
# the font name using DOT_FONTNAME. You need to make sure dot is able to find
# the font, which can be done by putting it in a standard location or by setting
# the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the
# directory containing the font.
DOT_FONTNAME = FreeSans
DOT_FONTNAME = Roboto
# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs.
# The default size is 10pt.
DOT_FONTSIZE = 10
# By default doxygen will tell dot to use the output directory to look for the
# FreeSans.ttf font (which doxygen will put there itself). If you specify a
# different font using DOT_FONTNAME you can set the path where dot
# can find it using this tag.
# By default doxygen will tell dot to use the Helvetica font.
# If you specify a different font using DOT_FONTNAME you can use DOT_FONTPATH to
# set the path where dot can find it.
DOT_FONTPATH =
# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
# will generate a graph for each documented class showing the direct and
# indirect inheritance relations. Setting this tag to YES will force the
# the CLASS_DIAGRAMS tag to NO.
# CLASS_DIAGRAMS tag to NO.
CLASS_GRAPH = YES
@ -1681,10 +1736,21 @@ DIRECTORY_GRAPH = YES
# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
# generated by dot. Possible values are svg, png, jpg, or gif.
# If left blank png will be used.
# If left blank png will be used. If you choose svg you need to set
# HTML_FILE_EXTENSION to xhtml in order to make the SVG files
# visible in IE 9+ (other browsers do not have this requirement).
DOT_IMAGE_FORMAT = png
# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to
# enable generation of interactive SVG images that allow zooming and panning.
# Note that this requires a modern browser other than Internet Explorer.
# Tested and working are Firefox, Chrome, Safari, and Opera. For IE 9+ you
# need to set HTML_FILE_EXTENSION to xhtml in order to make the SVG files
# visible. Older versions of IE do not have SVG support.
INTERACTIVE_SVG = NO
# The tag DOT_PATH can be used to specify the path where the dot tool can be
# found. If left blank, it is assumed the dot tool can be found in the path.
@ -1735,7 +1801,7 @@ DOT_TRANSPARENT = NO
# makes dot run faster, but since only newer versions of dot (>1.8.10)
# support this, this feature is disabled by default.
DOT_MULTI_TARGETS = NO
DOT_MULTI_TARGETS = YES
# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
# generate a legend page explaining the meaning of the various boxes and

View file

@ -68,7 +68,7 @@
<qtHelp collectionFile="./doc/helpcollection.qhc"
projectFile="./doc/helpcollection.qhcp"
storage="./doc/qch" copyAction="copy">
<title>StepClassLibrary</title>
<title>STEPcode</title>
<startPage>qthelp://com.github.mpictor/doc/index.html</startPage>
<!-- See http://doc.trolltech.com/assistant-custom-help-viewer.html for more
settings in the <assistant> section. -->
@ -100,7 +100,7 @@
-->
<project>
<!-- The name of the project -->
<name>StepClassLibrary</name>
<name>STEPcode</name>
<!-- The version number of the documentation -->
<version>0.2</version>
<!-- Whether to build version specific documentation for the projects or not.
@ -132,7 +132,7 @@
<input>./src/clutils</input>
<input>./src/exppp</input>
<input>./src/express</input>
<input>./src/fedex_plus</input>
<input>./src/exp2cxx</input>
<input>./src/test</input>-->
<!-- A list of files/paths to exclude. Add one <exclude> tag per path to
exclude. This will automatically be expanded to exclude input directories
@ -240,7 +240,7 @@
<project>
<name>Fedex Plus</name>
<version> </version>
<input>./src/fedex_plus</input>
<input>./src/exp2cxx</input>
</project>
<project>
<name>Tests</name>

View file

@ -47,16 +47,16 @@ $mathjax
<!-- add module list -->
<div id="navrow0" class="tabs">
<ul class="tablist">
<li><a href="../../doc.StepClassLibrary/doxygen-html/index.html"><span>Main</span></a></li>
<li><a href="../../doc.StepClassLibrary.CLDAI/doxygen-html/index.html"><span>CLDAI</span></a></li>
<li><a href="../../doc.StepClassLibrary.CLEditor/doxygen-html/index.html"><span>CLEditor</span></a></li>
<li><a href="../../doc.StepClassLibrary.CLProbe-ui/doxygen-html/index.html"><span>CLProbe-ui</span></a></li>
<li><a href="../../doc.StepClassLibrary.CLStepCore/doxygen-html/index.html"><span>CLStepCore</span></a></li>
<li><a href="../../doc.StepClassLibrary.CLUtils/doxygen-html/index.html"><span>CLUtils</span></a></li>
<li><a href="../../doc.StepClassLibrary.ExPPP/doxygen-html/index.html"><span>ExPPP</span></a></li>
<li><a href="../../doc.StepClassLibrary.Express/doxygen-html/index.html"><span>Express</span></a></li>
<li><a href="../../doc.StepClassLibrary.Fedex-Plus/doxygen-html/index.html"><span>Fedex-Plus</span></a></li>
<li><a href="../../doc.StepClassLibrary.Tests/doxygen-html/index.html"><span>Tests</span></a></li>
<li><a href="../../doc.STEPcode/doxygen-html/index.html"><span>Main</span></a></li>
<li><a href="../../doc.STEPcode.CLDAI/doxygen-html/index.html"><span>CLDAI</span></a></li>
<li><a href="../../doc.STEPcode.CLEditor/doxygen-html/index.html"><span>CLEditor</span></a></li>
<li><a href="../../doc.STEPcode.CLProbe-ui/doxygen-html/index.html"><span>CLProbe-ui</span></a></li>
<li><a href="../../doc.STEPcode.CLStepCore/doxygen-html/index.html"><span>CLStepCore</span></a></li>
<li><a href="../../doc.STEPcode.CLUtils/doxygen-html/index.html"><span>CLUtils</span></a></li>
<li><a href="../../doc.STEPcode.ExPPP/doxygen-html/index.html"><span>ExPPP</span></a></li>
<li><a href="../../doc.STEPcode.Express/doxygen-html/index.html"><span>Express</span></a></li>
<li><a href="../../doc.STEPcode.Fedex-Plus/doxygen-html/index.html"><span>Fedex-Plus</span></a></li>
<li><a href="../../doc.STEPcode.Tests/doxygen-html/index.html"><span>Tests</span></a></li>
</ul>
</div>
<!-- end module list -->

View file

@ -1,680 +0,0 @@
.\" This manual was prepared by United States Government employees as a
.\" part of their official duties and is, therefore, a work of the U.S.
.\" Government and not subject to copyright.
.\"
.\" $Id: dataprobe.1,v 2.1.0.2 1997/10/27 18:37:10 dar Exp $
.TH DATAPROBE 1 "12 June 1995"
.SH NAME
Data Probe - STEP editing tool
.SH SYNOPSIS
.B dp_{schema_name}
[
.B -saveFile
.I file-name
]
[
.B -saveFreq
.I integer
]
[
.B -workFile
.I file-name
]
[
.B -exchangeFile
.I file-name
]
[
.B -restrict
]
.SH DESCRIPTION
.LP
The Validation Testing System (VTS) Data Probe software is a program
for browsing and editing data corresponding to a conceptual model
described using the language Express. A separate program (fedex_plus)
reads in a schema and generates source code to represent the schema in
C++. This code is linked with the libraries in the STEP Class Library
to create a schema specific editor. The editor is X Windows based and
uses the InterViews Toolkit from Stanford.
.SH OPTIONS
.TP
.B \-s \fIfilename\fP, \fB-saveFile \fIfilename\fP
Designates an alternate backup file. The default file is dpAutoSave.wf.
.TP
.B \-sf \fIseconds\fP, \fB-saveFreq \fIseconds\fP
Specifies the frequency with which a backup file will be saved. The default frequency is 30 seconds.
.TP
.B \-wf \fIfilename\fP, \fB-workFile \fIfilename\fP
Specifies a working file to be loaded into the Data Probe.
.TP
.B \-ef \fIfilename\fP, \fB-exchangeFile \fIfilename\fP
Specifies a STEP exchange file to be loaded into the Data Probe.
.TP
.B \-r, \fB-restrict \fP
Restricts the file chooser menu to files not beginning with a '.'.
.SH USAGE
.LP
The Data Probe supports the editing of data in the format specified in
Part 21 of the ISO 10103. It allows the user to create or modify
instance data, to check for consistency with an Express schema and to
examine the relationships of entities within the schema. These
functions are supported in one or more of the following five types of
Data Probe windows:
.nf
Data Probe Window: supports general Data Probe func-
tionalities, including file management, schema list
browsing, and quitting Data Probe.
Entity Type List window: contains a scrollable list
of schema-specific entities for browsing or creating
instances of entities.
Entity Instance List window: contains a scrollable
list of instances of entities. Supports data view-
ing and modification.
STEP Entity Editor window: occurs for each instance
being edited. Supports several data editing opera-
tions including modify, delete and save.
STEP Entity Descriptor window: contains information
pertaining to an entity type including the list of
attributes and subtypes for the selected entity.
Each of these windows is described in detail below.
.fi
.LP
.I
DATA PROBE WINDOW
.nf
The Data Probe window is one of three windows appearing
initially when the Data Probe is run. It is composed of
the following four sections:
1. title
2. menu bar
3. quick reference
4. message bar
Each of these sections is described in detail below:
.I
Data Probe Window title section:
.fi
.LP
The title section shows the name of the schema for which the Data
Probe was created preceeded by the prefix 'DP-'.
.nf
.I
Data Probe Window menu bar section:
The menu bar consists of two pull-down menus labeled
Quit and File Management.
The Quit pull-down menu allows the user to exit Data
Probe. No warnings will be given before exiting.
The File Management pull-down menu allows the user to
perform operations on the following file types:
Exchange Files Data saved to these files must be in
complete STEP file format and must be
provided for all required attributes
in order to be used by application
programs that will rely on this data.
Working Files These files will not be used by appli-
cation programs and serve the purpose
of storing intermediate data for saving
the editing session.
Backup File This file is written regularly during
a Data Probe session to contain the
current Entity Instance List data. The
backup file is written in Working File
form. The default backup file is
dpAutoSave.wf and is written to the
directory where the command to run Data
Probe was issued unless instructed
otherwise by the user (See 'Backup File'
in table below and OPTIONS above).
The File Management pull-down menu supports file manage-
ment and other options as follows:
Options
Available
.I
with Options Description
Exchange File/ read replaces previous contents of
Working File Entity Instance List data
with the data in the file
selected.
write writes Entity Instance List
data to the file selected and
erases the previous contents
of the file, if any.
append writes Entity Instance List
from data to the file selected.
Backup File choose selects an alternate backup
file to which Entity Instance
List data will be periodic-
ally written.
write writes Entity Instance List
data to current backup file
selected.
Entity verify verifies that the instances
Instance List found in the Entity Instance
List are complete according
to the schema specification.
remove removes all instances in the
Entity Instance List which
are marked for deletion.
clear clears all instances found
in the Entity Instance List
regardless of their current
edit state (see the ENTITY
INSTANCE LIST section).
.I
Data Probe Window quick reference section:
This section shows the key bindings and button codes
available in the Step Entity Editor windows to perform the
following operations:
- close existing window
- open a new window
- get value from list
.I
Data Probe Window message bar section:
This section shows any resulting messages from actions
taken in any of the windows. The Clear button on left
enables the user to clear the current message shown.
.fi
.LP
.I
ENTITY TYPE LIST WINDOW
The Entity Type List is the second of the three windows appearing initially when the Data Probe is run. The Entity Type List displays the list of schema-specific entity types. In addition to the operations outlined in 'Using Lists' below, the Entity Type List allows the user to create an instance as follows:
.nf
.I
Creating an Instance
1. Select an entity type from the type list.
2. Select Create
- use Create button or
- type 'C'.
3. A STEP Entity Editor window appears for editing
the entity selected (See the STEP Entity Editor
Window section below).
.fi
.I
ENTITY INSTANCE LIST WINDOW
The Entity Instance List is the third of three windows initially appearing when the Data Probe is run. When an entity is selected from the Entity Type List or when instances are read in from a file, the instanced entities will appear on the Entity Instance List. In addition to the operations outlined in 'Using Lists' below, the Entity Instance List allows the user to view, modify, and save instances of entities.
.nf
.I
Edit State Markers:
.fi
.LP
The selection of any of the preceeding options is represented by an edit state code. An instance can be marked with an edit state option by typing the key which correlates to that option. The marked option is shown in lower case on the left of the selected instance. When the execute button is pressed, all marked options will be executed, reflected by an upper case letter edit state code which replaces the lower case marker to the left of the intance.
Below is a description of Entity List edit state codes and the keys that are used to select them:
KEY OPERATION EDIT STATE
s save complete (no capital letter) -- All (blank)
attribute values associated with the
instance must be valid and all required
attributes must exist.
i save incomplete -- All attribute values I
associated with the instance must be
valid, however all required attributes
may not exist. This allows attribute
values to be saved even though the entity
is incomplete. It also provides a way
for a user to mark an instance as needing
further attention even if all required
attributes exist.
d delete -- the entities in this edit D
state will be deleted when the contents
of the instance list are written to a
file.
m modify -- open an editor window for M
modifying instances.
v view -- open an editor window for view- V
ing only.
.I
STEP ENTITY EDITOR (SEE) WINDOW
The edit state options described above can also be executed from the STEP Entity Editor Window (SEE). The SEE Window is opened whenever the modify or view option is executed from the Entity Instance List or when an entity is created from the Entity Type List. The following are the operations supported in the SEE window:
.nf
.I
Changing the Edit State of an Entity
save instance to a complete state C-x C-s
save instance to an incomplete state C-x C-i
cancel changes to the entity; reverts C-x C-c
all attribute values to the last
saved (complete or incomplete) values
mark instance for deletion C-x C-d
Each of the above options can also be selected by
clicking the corresponding button in the SEE win-
dow.
.I
Selecting an Attribute
Using mouse:
Point the mouse cursor inside the attribute
editing box desired and click the left mouse
button.
Using key bindings:
select next attribute C-n
select previous attribute C-p
.I
Editing an Attribute
Using mouse:
Point the mouse cursor inside the desired editing
box and click the left mouse button to place the
cursor at the desired postion inside the editing
box.
Using key bindings:
move cursor forward C-f
move cursor backward C-b
move cursor to the end C-e
move cursor to the beginning C-a
move cursor one word forward <esc>-f
move cursor one word backward <esc>-b
Delete and undo:
deleting a portion of the attribute
1. Point the mouse cursor inside the desired attri-
bute editing box, click and hold the left mouse
button.
2. Drag the mouse to the left or right to highlight
desired text.
3. Press <delete> or input a value to replace selec-
ted text.
delete a character in place C-d
delete the previous character <delete> or
C-h
select the remainder of the word
following the cursor to be deleted C-w
select everything following the C-k
cursor to be deleted
select the entire text to be deleted C-u
undo attribute (revert attribute to C-x C-u
the last saved value)
Scrolling:
horizontal grab scroll - use left mouse button
1. Point the mouse inside the attribute list.
2. Press and hold the middle mouse button.
3. Slide the mouse left or right to scroll
the window in the same direction.
horizontal rate scroll - use right mouse button
1. Point the mouse inside the attribute list.
2. Press and hold the right mouse button.
3. Slide the mouse left or right to scroll
the window in the same direction.
The following editing actions are permissable on attributes
that are of type entity only:
edit entity - press the edit button (marked e) or type
C-x C-e
If the attribute contains an entity id, the
identified entity will be put on the screen
in a STEP Entity Editor window.
If the attribute is empty, a new entity of
the type corresponding to the attribute type
will be created and displayed on the screen
in a STEP Entity Editor window. The entity
id corresponding to the newly created entity
will be filled in for the attribute.
select marked entity - press the select mark button
(marked m) or type C-x C-m:
The entity id of the selected entity from the
Entity Instance List will be filed in for the
current atttribute.
.fi
.LP
.I
STEP ENTITY DESCRIPTOR WINDOW (SED)
The SED window enables the user to review information regarding an entity type. It may be opened by selecting the Type Information box in the Entity Type List or SEE window (See the Entity Type List and STEP Entity Editor window sections above). A SED window may also be opened from within a SED window as is described below.
.nf
Format of a SED window:
1. Entity Descriptor Boxes
The body of a SED window is composed of entity descrip-
tor boxes. These boxes are shown in order of inheri-
tance starting with the selected entity type at the bot-
tom of the window up to the root entity type shown at the
top of the window. Each entity descriptor box contains a
title bar, an attribute list and a subtype list described
below.
title bar - contains the name of the entity
in bold print at the left corner and the schema
in which the entity is defined at the right corner.
attribute list - a scrollable list of attributes
defined in the corresponding entity shown on the
left side of the descriptor box.
subtype list - a scrollable list of the subtypes
of the corresponding entity shown on the right side
of the descriptor box.
2. Attr. Type subwindow
The Attr. Type subwindow shown at the bottom of the SED
window displays further information regarding a selected
attrtibute.
Using a SED window:
1. Scrolling the attribute/subtype list
a. Place mouse pointer on up/down arrow.
b. Press right mouse button.
2. Viewing a detailed description of an attribute:
a. Place mouse pointer on desired
attribute.
b. Double click mouse button. A detailed description
of the attribute type will be displayed in the
Attr. Type subwindow located at the bottom of the
SED window.
3. Opening a SED window from the current SED window:
a. Place mouse cursor on the desired entity from
an entity subytpe list.
b. Double click the mouse button. A new SED window
will appear for the entity type selected.
3. Collapsing/Uncollapsing a descriptor box
Collapse - show title bar only
Uncollapse - show attribute and subtype lists
a. Place mouse cursor on collapse button of desired
descriptor box.
b. Click left mouse button. This will cause the
descriptor box to switch from uncollapsed to
collapsed or vice-versa depending on the current
state of the descriptor box.
Exiting a SED window:
1. Place mouse pointer on close button on left
top corner of window
2. Press left mouse button
Warning: Do not use the standard close and quit
options provided for windows. This may
cause you to inadvertantly quit the Data
Probe session. Use the close button pro-
vided.
.fi
.LP
.I
USING LISTS
The following instructions are applicable to both the Entity Instance List and the Entity Type List.
.nf
.I
Selecting an Entry
Using mouse:
Positon the mouse on the entry and click the left
mouse button.
Using keystroke commands:
search formward, selects the entry containing C-s
the substring specified in the search window
reverse search, selects the entry containing C-r
the substring specified in the search window
select next entry C-n
select previous entry C-p
select top entry <
select bottom entry >
deselect selected entry C-h
<delete>
.I
Reviewing Information Regarding an Entity Type
Allows the user to view information regarding attributes
and subtypes and supertypes of an entity type using a
STEP ENTITY DESCRIPTOR (SED) window:
Opening a SED window:
1. Select an entity type from list.
2. Select Type Information by placing the
mouse pointer on the Type Information
box and pressing the left mouse button.
For information on the use of the SED window, see the
STEP Entity Editor window section above.
.I
Scrolling Lists
Using mouse:
1. Position the mouse pointer to the scroll bar and
click.
2. Click (and optionally hold) the up mover or down
mover located above and below the scroll bar
respectively to scroll bar.
vertical grab scroll -- use middle mouse button
1. Point the mouse cursor inside the list.
2. Press and hold the right mouse button.
3. Slide the mouse up or down to move the display
up or down as desired.
vertical rate scroll -- use right mouse button
1. Point the mouse cusor inside the list.
2. Press and hold the right mouse button.
3. Slide the mouse up or down to scroll the list in
the desired direction at a rate increasing as the
mouse is moved away from its original position.
Using key bindings:
scroll list to beginning C-a
scroll list to end C-e
scroll up C-b
C-k
scroll down C-f
C-j
page down C-v
' '
half page down C-d
half page up C-u
.fi
.I
USING BUTTONS TO SELECT OPTIONS
Many of the Data Probe options can be selected by using keystroke commands as described. Some options, however may be selected by using the selection buttons which correspond to those options as follows:
.nf
1. Activate pull-down menu (if applicable):
- Place mouse pointer on menu button
- Press right mouse button and hold
2. Select an option
- Place mouse pointer on selection button correspond-
ing to the desired option
- Press left mouse button to activate option
.fi
.SH SEE ALSO
mkProbe(1)
.LP
ISO 10303-11:1994
.I
\Industrial automation systems and integration - Product data \
representation and exchange - Part 11: Description Methods: The \
EXPRESS Language Reference Manual.
.LP
ISO 10303-21:1994
.I
\Industrial automation systems and integration - Product data \
representation and exchange - Part 21: Implementation methods: \
Clear text encoding of the exchange structure.
.LP
Morris, K.C., Sauderd, D., Ressler, S.,
.I
\Validation Testing System: Reusable Software Component Design,
NISTIR 4937, National Institute of Standards and Technology, October
1992.
.LP
Sauder, D.,
.I
\Data Probe Users Guide,
NISTIR 5141, National Institute of Standards and Technology, March
1993.
.SH NOTE
.LP
The source code for the Data Probe was designed with reusability in
mind. The code uses the STEP Class Library (developed at NIST) and
the InterViews Toolkit (from Stanford). The STEP Class Library is
divided into four libraries: Stepcore & Editor, Utilities, General
User Interface, and Probe. Dependencies between these modules has
been minimized so that the executable program, the Data Probe, can be
easily reconfigured to support different conceptual schemas.
All NISTIR documents may be obtained through the National Technical
Information Service (NTIS), Springfield VA 22161, USA. Postscript
files may be obtained through anonymous ftp from ftp.cme.nist.gov (see
pub/step/nptdocs/readme.txt to determine the appropriate file to
download).

View file

@ -2,12 +2,12 @@
.\" part of their official duties and is, therefore, a work of the U.S.
.\" Government and not subject to copyright.
.\"
.\" $Id: fedex_plus.1,v 2.1.0.2 1998/02/27 23:54:30 sauderd Exp $
.\" $Id: exp2cxx.1,v 2.1.0.2 1998/02/27 23:54:30 sauderd Exp $
.TH FEDEX_PLUS 1 "19 November 1997"
.SH NAME
fedex_plus - EXPRESS compiler and translater
exp2cxx - EXPRESS compiler and translater
.SH SYNOPSIS
fedex_plus [ options ] [ express-file ]
exp2cxx [ options ] [ express-file ]
.nf
Command Arguments:
@ -19,36 +19,36 @@ Command Arguments:
.fi
.SH DESCRIPTION
.LP
fedex_plus is based on the NIST EXPRESS compiler fedex. fedex_plus
exp2cxx is based on the NIST EXPRESS compiler fedex. exp2cxx
translates an EXPRESS file into C++ code and a class library. The C++
library includes classes for representing all the types and entities
in the input EXPRESS file, and a dictionary for describing those
classes. The translation depends on base classes provided in the NIST
STEP Class Library.
fedex_plus does not create C++ representations of the rules,
exp2cxx does not create C++ representations of the rules,
procedures, or any EXPRESS constructs other than schemas, types and
entities. It supports multiple schemas contained in a single file and
complex entities. It generates code which can be integrated with
orbix and ObjectStore.
Combined with the NIST STEP Class Library, the translator provides a
"C++ working form" of an EXPRESS schema. fedex_plus was designed for
"C++ working form" of an EXPRESS schema. exp2cxx was designed for
use together with a graphical data editing system (see dataprobe(1)),
but care has been taken to keep fedex_plus separate so that it can be
but care has been taken to keep exp2cxx separate so that it can be
used as a component of other software systems.
The fedex_plus compiler makes two passes through the EXPRESS file. In
the first pass fedex_plus reads the syntax of the EXPRESS file and
detects any errors. In the second pass fedex_plus converts the
The exp2cxx compiler makes two passes through the EXPRESS file. In
the first pass exp2cxx reads the syntax of the EXPRESS file and
detects any errors. In the second pass exp2cxx converts the
EXPRESS code into C++ source code. The C++ source code is generated
in files in the directory in which fedex_plus was run. The files are
in files in the directory in which exp2cxx was run. The files are
named according to the schema names in the input EXPRESS file.
.SH OPTIONS
.TP
.B -s|S
Tells fedex_plus to use only single-inheritance, rather than multiple
Tells exp2cxx to use only single-inheritance, rather than multiple
inheritance.
.TP
.B -c|C
@ -94,7 +94,7 @@ If no arguments are given in the command line, a list and description
of the options available are sent to stdout.
.SH OUTPUT
fedex_plus sends the following to stdout subject to the options
exp2cxx sends the following to stdout subject to the options
specified when executed:
- a statement indicating that the Express schema is being

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