Compare commits

...
922 Commits
Author SHA1 Message Date
Mark Pictor 8ec8e778a6 test files not committed 2013-11-22 17:37:17 -05:00
Mark Pictor 133f503960 lazy refs thoughts 2013-11-22 17:35:14 -05:00
Mark Pictor 89d941d63c changes to lazyRefs.h - likely to be overwritten 2013-11-21 20:22:10 -05:00
Mark Pictor fe53db9cee add lazyRefs.h 2013-11-17 12:24:01 -05:00
Mark Pictor a9c13f7434 include subsuperiterators header 2013-11-17 12:24:01 -05:00
Mark Pictor 77c0b266c4 improve comments, a few other small changes that don't affect behavior 2013-11-17 12:24:01 -05:00
Mark Pictor 5ef9cc9798 default to case insensitive when searching by instance type 2013-11-17 12:24:01 -05:00
Mark Pictor 3e8050465e _mainRegistry wasn't initialized 2013-11-17 12:24:01 -05:00
Mark Pictor 45ace10eb6 warning about comparison that was always true 2013-11-17 12:24:00 -05:00
Mark Pictor a2c83eacf9 abstract class with non-virtual destructor 2013-11-17 12:24:00 -05:00
Mark Pictor 70f45a9096 use lazyInstMgr for inverse_attr3.cc 2013-11-17 12:24:00 -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
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
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
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
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
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
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
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
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, https://github.com/mpictor/StepClassLibrary/commit/37ac5dc82f6da91a62a39596ad0582649fce91a6; 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
487 changed files with 293737 additions and 245134 deletions
+12
View File
@@ -0,0 +1,12 @@
language: cpp
compiler:
- clang
script: mkdir build && cd build && cmake .. -DSC_ENABLE_TESTING=ON && make -j2 && make -j2 test
branches:
only:
- master
notifications:
irc: "chat.freenode.net#stepcode"
email: scl-dev@groups.google.com
on_success: change
on_failure: always
+4
View File
@@ -9,9 +9,12 @@ Easterbrook, Zach (lainiwakurax)
Greenwald, Erik (erikg, erikgreenwald)
Lanning, Craig (craigl64)
Loman, David (davidloman)
McDonald, Rob (ramcdona)
Morrison, Christopher Sean (sean, morrison, brlcad)
Paviot, Thomas (tpaviot)
Pictor, Mark (mpictor)
Reed, Nick (nickreed)
Shah, Kesha (kesha)
Thomas, Dawn (homovulgaris, madant)
Wouters, Dave (davyw)
Yapp, Clifford (starseeker)
@@ -19,6 +22,7 @@ Yapp, Clifford (starseeker)
Special thanks:
Lubbell, Joshua (NIST)
Stirk, Charlie (CostVision)
Thurman, Tom (TRThurman)
Between 2005 and 2006, Stefan Richter worked to make SCL compatible with
modern ANSI/ISO C++, and modified the build system. His patches are at
+210 -116
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,38 +32,50 @@
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# *******************************************************************
# *** SCL's CMakeLists.txt ***
# *** SC'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
# SC 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)
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)
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 )
@@ -74,27 +86,37 @@ MACRO( OPTION_WITH_DEFAULT OPTION_NAME OPTION_STRING OPTION_DEFAULT )
ENDMACRO( OPTION_WITH_DEFAULT OPTION_NAME OPTION_STRING OPTION_DEFAULT )
# build shared libs by default
OPTION_WITH_DEFAULT(SCL_BUILD_SHARED_LIBS "Build shared libs" ON )
OPTION_WITH_DEFAULT(SC_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(SC_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(SC_PYTHON_GENERATOR "Compile exp2python" ON)
OPTION_WITH_DEFAULT(SC_CPP_GENERATOR "Compile exp2cxx" 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)
OPTION_WITH_DEFAULT(SC_MEMMGR_ENABLE_CHECKS "Enable sc_memmgr's memory leak detection" OFF)
OPTION_WITH_DEFAULT(SC_TRACE_FPRINTF "Enable extra comments in generated code so the code's source in exp2cxx may be located" OFF)
if(NOT DEFINED SC_SDAI_ADDITIONAL_EXES_SRCS )
set( SC_SDAI_ADDITIONAL_EXES_SRCS "" CACHE STRING "Source files for additional executables to be linked with SDAI libs" )
endif(NOT DEFINED SC_SDAI_ADDITIONAL_EXES_SRCS )
if( NOT DEFINED SC_BUILD_SCHEMAS )
set( SCHEMAS_WARNING TRUE )
#this makes SC_BUILD_SCHEMAS show up in cmake-gui
SET(SC_BUILD_SCHEMAS "ALL" CACHE string "Semicolon-separated list of paths to EXPRESS schemas to be built" )
endif( NOT DEFINED SC_BUILD_SCHEMAS )
# 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")
SET(SC_CMAKE_DIR "${SC_SOURCE_DIR}/cmake")
if(NOT IS_SUBBUILD)
SET(CMAKE_MODULE_PATH "${SCL_CMAKE_DIR};${CMAKE_MODULE_PATH}")
SET(CMAKE_MODULE_PATH "${SC_CMAKE_DIR};${CMAKE_MODULE_PATH}")
else(NOT IS_SUBBUILD)
SET(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${SCL_CMAKE_DIR}")
SET(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${SC_CMAKE_DIR}")
endif(NOT IS_SUBBUILD)
INCLUDE(${SCL_CMAKE_DIR}/SCL_Utils.cmake)
INCLUDE(${SC_CMAKE_DIR}/SC_Utils.cmake)
# Save the current LC_ALL, LC_MESSAGES, and LANG environment variables and set them
# to "C" so things like date output are as expected
@@ -111,30 +133,32 @@ IF(_orig_lang)
SET(ENV{LANG} C)
ENDIF(_orig_lang)
#---------------------------------------------------------------------
# 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)
#---------------------------------------------------------------------
# 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)
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(SCL_BUILD_SHARED_LIBS OFF CACHE BOOL "Build shared libs" FORCE )
SET(SCL_BUILD_STATIC_LIBS ON CACHE BOOL "Build static libs" FORCE )
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(SCL_BUILD_TYPE "Debug" CACHE STRING "Build type required by testing framework" FORCE)
ENDIF(SCL_ENABLE_COVERAGE)
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)
#---------------------------------------------------------------------
# The following logic is what allows binaries to run successfully in
@@ -164,58 +188,62 @@ 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)
# When this is a subbuild, assume that the parent project controls these
IF( NOT SC_IS_SUBBUILD )
IF(NOT DEFINED CMAKE_LIBRARY_OUTPUT_DIRECTORY)
SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${SC_BINARY_DIR}/lib CACHE INTERNAL "Single output directory for building all libraries.")
ENDIF(NOT DEFINED CMAKE_LIBRARY_OUTPUT_DIRECTORY)
IF(NOT DEFINED CMAKE_ARCHIVE_OUTPUT_DIRECTORY)
SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${SC_BINARY_DIR}/lib CACHE INTERNAL "Single output directory for building all archives.")
ENDIF(NOT DEFINED CMAKE_ARCHIVE_OUTPUT_DIRECTORY)
IF(NOT DEFINED CMAKE_RUNTIME_OUTPUT_DIRECTORY)
SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${SC_BINARY_DIR}/bin CACHE INTERNAL "Single output directory for building all executables.")
ENDIF(NOT DEFINED CMAKE_RUNTIME_OUTPUT_DIRECTORY)
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()
FOREACH(CFG_TYPE ${CMAKE_CONFIGURATION_TYPES})
STRING(TOUPPER "${CFG_TYPE}" CFG_TYPE)
IF(NOT "CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CFG_TYPE}")
SET("CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CFG_TYPE}" ${SC_BINARY_DIR}/lib CACHE INTERNAL "Single output directory for building all libraries.")
ENDIF(NOT "CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CFG_TYPE}")
IF(NOT "CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CFG_TYPE}")
SET("CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CFG_TYPE}" ${SC_BINARY_DIR}/lib CACHE INTERNAL "Single output directory for building all archives.")
ENDIF(NOT "CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CFG_TYPE}")
IF(NOT "CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CFG_TYPE}")
SET("CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CFG_TYPE}" ${SC_BINARY_DIR}/bin CACHE INTERNAL "Single output directory for building all executables.")
ENDIF(NOT "CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CFG_TYPE}")
ENDFOREACH()
ENDIF( NOT SC_IS_SUBBUILD )
#-----------------------------------------------------------------------------
# Configure install locations.
# Configure install locations.
# The location in which to install SCL. Need a good Debug location
# The location in which to install SC. Need a good Debug location
# for Windows. Only do this if CMAKE_INSTALL_PREFIX hasn't been set
# already, to try and allow parent builds (if any) some control.
if(NOT SCL_IS_SUBBUILD)
if(NOT SC_IS_SUBBUILD)
IF(NOT WIN32)
IF (${CMAKE_BUILD_TYPE} MATCHES "Debug")
SET(SCL_INSTALL_PREFIX "${SCL_SOURCE_DIR}/../scl-install")
SET(SC_INSTALL_PREFIX "${SC_SOURCE_DIR}/../sc-install")
ELSE()
SET(SCL_INSTALL_PREFIX "/usr/local")
SET(SC_INSTALL_PREFIX "/usr/local")
ENDIF()
ENDIF(NOT WIN32)
SET( SCL_INSTALL_PREFIX ${SCL_INSTALL_PREFIX} CACHE
SET( SC_INSTALL_PREFIX ${SC_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)
SET( CMAKE_INSTALL_PREFIX ${SC_INSTALL_PREFIX} CACHE INTERNAL "Prefix prepended to install directories if target destination is not absolute, immutable" FORCE )
endif(NOT SC_IS_SUBBUILD)
OPTION(SCL_BUILD_EXPRESS_ONLY "Only build express parser." OFF)
MARK_AS_ADVANCED(SCL_BUILD_EXPRESS_ONLY)
OPTION(SC_BUILD_EXPRESS_ONLY "Only build express parser." OFF)
MARK_AS_ADVANCED(SC_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
# 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 ${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")
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)
@@ -225,8 +253,67 @@ if(NOT COMMAND CONFIG_H_APPEND)
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}")
file(READ ${SC_SOURCE_DIR}/include/sc_cf_cmake.h.in CONFIG_H_FILE_CONTENTS)
CONFIG_H_APPEND(SC "${CONFIG_H_FILE_CONTENTS}")
# The Express parser uses the tools Perplex, RE2C and Lemon to generate code
# from higher level inputs. Depending on available tools and options, the
# SC build can either re-generate code as part of the build, or use cached
# files that are ready for compilation.
#
# SC_GENERATE_LEXER_PARSER is the "high level" control a user sets to determine
# how the SC build will interact (or not) with these tools. AUTO (the
# default) means it will search for the necessary tools, and use them only if
# everything is found. If not, it will fall back to the cached versions. If
# this option is set to ON and the necessary tools are not found, the
# configure step will fail. If it is set to OFF, SC will not even try to use
# the generators and will instead use the cached sources.
if(NOT SC_GENERATE_LEXER_PARSER)
set(SC_GENERATE_LEXER_PARSER "AUTO" CACHE STRING "Use Perplex, RE2C and Lemon to generate C source code.")
else(NOT SC_GENERATE_LEXER_PARSER)
string(TOUPPER "${SC_GENERATE_LEXER_PARSER}" SC_GENERATE_LEXER_PARSER)
endif(NOT SC_GENERATE_LEXER_PARSER)
set_property(CACHE SC_GENERATE_LEXER_PARSER PROPERTY STRINGS AUTO ON OFF)
if (NOT "${SC_GENERATE_LEXER_PARSER}" STREQUAL "AUTO" AND NOT "${SC_GENERATE_LEXER_PARSER}" STREQUAL "ON" AND NOT "${SC_GENERATE_LEXER_PARSER}" STREQUAL "OFF")
message(WARNING "Unknown value ${SC_GENERATE_LEXER_PARSER} supplied for BRLCAD_WORD_SIZE - defaulting to AUTO")
message(WARNING "Valid options are AUTO, ON and OFF")
set(SC_GENERATE_LEXER_PARSER "AUTO" CACHE STRING "Use Perplex, RE2C and Lemon to generate C source code.")
endif (NOT "${SC_GENERATE_LEXER_PARSER}" STREQUAL "AUTO" AND NOT "${SC_GENERATE_LEXER_PARSER}" STREQUAL "ON" AND NOT "${SC_GENERATE_LEXER_PARSER}" STREQUAL "OFF")
# If the generators have not been turned off, we need to check for them
if(NOT "${SC_GENERATE_LEXER_PARSER}" STREQUAL "OFF")
find_package(LEMON)
find_package(RE2C)
find_package(PERPLEX)
if(LEMON_EXECUTABLE AND LEMON_TEMPLATE AND PERPLEX_EXECUTABLE AND PERPLEX_TEMPLATE AND RE2C_EXECUTABLE)
# Templates may be anywhere - make sure we have a stable path if a relative
# path was specified at CMake time
get_filename_component(lemon_template_fpath "${LEMON_TEMPLATE}" ABSOLUTE)
if(NOT "${lemon_template_fpath}" STREQUAL "${LEMON_TEMPLATE}")
get_filename_component(LEMON_TEMPLATE "${CMAKE_BINARY_DIR}/${LEMON_TEMPLATE}" ABSOLUTE)
endif(NOT "${lemon_template_fpath}" STREQUAL "${LEMON_TEMPLATE}")
get_filename_component(perplex_template_fpath "${PERPLEX_TEMPLATE}" ABSOLUTE)
if(NOT "${perplex_template_fpath}" STREQUAL "${PERPLEX_TEMPLATE}")
get_filename_component(PERPLEX_TEMPLATE "${CMAKE_BINARY_DIR}/${PERPLEX_TEMPLATE}" ABSOLUTE)
endif(NOT "${perplex_template_fpath}" STREQUAL "${PERPLEX_TEMPLATE}")
if(NOT COMMAND LEMON_TARGET)
include(${SC_CMAKE_DIR}/LEMON_Util.cmake)
endif(NOT COMMAND LEMON_TARGET)
if(NOT COMMAND PERPLEX_TARGET)
include(${SC_CMAKE_DIR}/PERPLEX_Util.cmake)
endif(NOT COMMAND PERPLEX_TARGET)
set(SC_GENERATE_LP_SOURCES 1)
else(LEMON_EXECUTABLE AND LEMON_TEMPLATE AND PERPLEX_EXECUTABLE AND PERPLEX_TEMPLATE AND RE2C_EXECUTABLE)
if("${SC_GENERATE_LEXER_PARSER}" STREQUAL "ON")
message(FATAL_ERROR "\nSC_GENERATE_LEXER_PARSER set to ON, but one or more components of the Perplex/RE2C/Lemon toolchain were not found.\n")
else("${SC_GENERATE_LEXER_PARSER}" STREQUAL "ON")
set(SC_GENERATE_LP_SOURCES 0)
endif("${SC_GENERATE_LEXER_PARSER}" STREQUAL "ON")
endif(LEMON_EXECUTABLE AND LEMON_TEMPLATE AND PERPLEX_EXECUTABLE AND PERPLEX_TEMPLATE AND RE2C_EXECUTABLE)
else(NOT "${SC_GENERATE_LEXER_PARSER}" STREQUAL "OFF")
set(SC_GENERATE_LP_SOURCES 0)
endif(NOT "${SC_GENERATE_LEXER_PARSER}" STREQUAL "OFF")
INCLUDE(CheckLibraryExists)
INCLUDE(CheckIncludeFile)
@@ -234,8 +321,6 @@ 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)
@@ -275,24 +360,24 @@ cmake_push_check_state()
CHECK_CXX_SOURCE_RUNS( "${TEST_STD_THREAD}" HAVE_STD_THREAD ) #quotes are *required*!
cmake_pop_check_state()
# Now that all the tests are done, configure the scl_cf.h file:
get_property(CONFIG_H_FILE_CONTENTS GLOBAL PROPERTY SCL_CONFIG_H_CONTENTS)
# 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} ${SCL_BINARY_DIR}/include/scl_cf.h)
configure_file(${CONFIG_H_FILE} ${SC_BINARY_DIR}/${INCLUDE_INSTALL_DIR}/sc_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
################ create sc_version_string.h, http://stackoverflow.com/questions/3780667
# Using 'ver_string' instead of 'sc_version_string.h' is a trick to force the
# command to always execute when the custom target is built. It works because
# a file by that name never exists.
configure_file(${SCL_CMAKE_DIR}/scl_version_string.cmake ${SCL_BINARY_DIR}/scl_version_string.cmake @ONLY)
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 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
# creates sc_version_string.h using cmake script
add_custom_command(OUTPUT ver_string ${CMAKE_CURRENT_BINARY_DIR}/${INCLUDE_INSTALL_DIR}/sc_version_string.h
COMMAND ${CMAKE_COMMAND} -DSOURCE_DIR=${SC_SOURCE_DIR}
-DBINARY_DIR=${SC_BINARY_DIR}
-P ${SC_BINARY_DIR}/sc_version_string.cmake)
# sc_version_string.h is a generated file
set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/${INCLUDE_INSTALL_DIR}/sc_version_string.h
PROPERTIES GENERATED TRUE
HEADER_FILE_ONLY TRUE )
################
@@ -309,44 +394,53 @@ else()
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/exp2cxx)
ADD_SUBDIRECTORY(src/exp2python)
ADD_SUBDIRECTORY(src/clstepcore)
ADD_SUBDIRECTORY(src/cleditor)
ADD_SUBDIRECTORY(src/cldai)
ADD_SUBDIRECTORY(src/clutils)
if( NOT WIN32 ) # don't build cllazyfile on windows until export/import macros are in place
ADD_SUBDIRECTORY( src/cllazyfile )
endif( NOT WIN32 )
ADD_SUBDIRECTORY(include)
ADD_SUBDIRECTORY(data)
IF(SCL_ENABLE_TESTING)
IF(SC_ENABLE_TESTING)
ADD_SUBDIRECTORY( test )
ENDIF(SCL_ENABLE_TESTING)
ENDIF(SC_ENABLE_TESTING)
ADD_SUBDIRECTORY(doc)
if( SCHEMAS_WARNING )
message( "** CMake variable SC_BUILD_SCHEMAS was not set. Defaults to building ALL schemas, which will take a")
message(" while; see http://stepcode.org/mw/index.php?title=STEPcode_CMake_variables#SC_BUILD_SCHEMAS" )
endif( SCHEMAS_WARNING )
message( ".. Don't worry about any messages above about missing headers or failed tests, as long as\n you see '-- Configuring done' below. Headers and features vary by compiler." )
# this is for testing - 'make core' builds everything that isn't generated
add_custom_target( core )
add_dependencies( core stepdai check-express stepeditor fedex_plus )
add_dependencies( core stepdai check-express stepeditor exp2cxx )
if(NOT SCL_IS_SUBBUILD)
if(NOT SC_IS_SUBBUILD)
###############################################################################
# SCL Packaging #
# SC Packaging #
# $make package #
###############################################################################
SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "STEPcode")
SET(CPACK_SET_DESTDIR "ON")
SET(CPACK_PACKAGE_VERSION_MAJOR ${SCL_VERSION_MAJOR})
SET(CPACK_PACKAGE_VERSION_MINOR ${SCL_VERSION_MINOR})
SET(CPACK_PACKAGE_NAME SCL )
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 "SCL Developers <scl-dev@googlegroups.com>")
SET(CPACK_PACKAGE_CONTACT "SC Developers <scl-dev@googlegroups.com>")
INCLUDE(CPack)
########################################################################################
@@ -361,4 +455,4 @@ if(NOT SCL_IS_SUBBUILD)
add_custom_target(uninstall
COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake)
endif(NOT SCL_IS_SUBBUILD)
endif(NOT SC_IS_SUBBUILD)
+1 -1
View File
@@ -10,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
************************************************************************
+16 -16
View File
@@ -6,10 +6,10 @@ 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
@@ -20,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
@@ -38,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.
@@ -47,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`
+52 -33
View File
@@ -1,4 +1,23 @@
STEPcode ------ http://github.com/stepcode/stepcode
STEPcode -- http://github.com/stepcode/stepcode -- http://stepcode.org
************************************************************************
Release 0.7 (April, 2013)
New since v0.6:
* Requires CMake 2.8.7 or later
* Replace *ALL* references to SCL with SC - CMake, source, filenames.
* Lazy loading code (src/cllazyfile)
* greatly reduces memory requirements and loading time when not all
instances are needed
* doesn't work with complex instances yet
* doesn't work on windows or 32-bit platforms yet
* Merged all BRL-CAD changes; now, we can work on the same repo.
* Eliminate compile-time dependency on a lexer and parser
* When lexer/parser changes, use LEMON/RE2C/Perplex (in BRL-CAD repo)
* Fixed several bugs in the class libraries that cause segfaults
* update AP209, 210e3, 242, IFC2
* Fixes for MSVC, Embarcadero (there are still problems with both:
see comments on #178 & #190, also import/export macros)
* Fixed NIST test executables
************************************************************************
Release 0.6 (May, 2012)
@@ -12,7 +31,7 @@ New since v0.5:
* Add AP219, AP238, PDM schema, AP203a1, syntax highlighting files
* Improvements to CMake files, mostly from Cliff @ BRL-CAD (#143, #163, #181)
* Allow runtime bounds for aggregates (discovered with AP209e2) (#166)
* fedex_plus fprintf's can be traced with -DSCL_TRACE_FPRINTF=ON (#176)
* exp2cxx fprintf's can be traced with -DSCL_TRACE_FPRINTF=ON (#176)
************************************************************************
Release 0.5 (Feb 23, 2012)
@@ -22,8 +41,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.
@@ -36,7 +55,7 @@ Release 0.4 (Nov 13, 2011)
New since v0.3:
* Improve p21read performance by ~30%
* Improve fedex_plus performance by ~4300% (!)
* Improve exp2cxx performance by ~4300% (!)
* A variable defined in a LOCAL is not required to have a type label
(affected ap242,210e3,209)
* Enums and entities are allowed to have the same names
@@ -62,7 +81,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
@@ -94,7 +113,7 @@ What's new since the SCL 3.2 release in 1998?
* Bring SCL closer to alignment with modern coding standards - replace
String class with std::string, fix all GCC warnings
* Builds on Linux, OSX, and Windows; requires mingw on Windows.
* Add debugging option -d 9 -l nnn -u nnn to fedex_plus. This limits
* Add debugging option -d 9 -l nnn -u nnn to exp2cxx. This limits
parser debug output to a specified range of lines in the schema.
For a detailed list of changes, see
@@ -175,7 +194,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
@@ -190,7 +209,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 )
@@ -307,20 +326,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)
@@ -330,7 +349,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.
-----------------------------------------------------
@@ -346,7 +365,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
@@ -391,7 +410,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.
@@ -438,7 +457,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
@@ -446,7 +465,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
@@ -458,16 +477,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. ;-)
@@ -579,18 +598,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
@@ -627,12 +646,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() =
@@ -673,14 +692,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.
--------------------
@@ -756,10 +775,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.
@@ -1019,7 +1038,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.
+2 -2
View File
@@ -1,5 +1,5 @@
***********************************************************************
STEPcode v0.6 -- http://github.com/stepcode/stepcode
STEPcode v0.7 -- 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
@@ -49,7 +49,7 @@ to match the current formatting. The main points are:
(see http://www.stack.nl/~dimitri/doxygen/docblocks.html)
If in doubt about a large patch, run astyle with the config file
misc/astyle.cfg.
misc/astyle.cfg.
Download astyle from http://sourceforge.net/projects/astyle/files/astyle/
***********************************************************************
-1
View File
@@ -1 +0,0 @@
0.6
+1
View File
@@ -0,0 +1 @@
0.7
+74
View File
@@ -0,0 +1,74 @@
#
# - Find lemon executable and provides macros to generate custom build rules
# The module defines the following variables
#
# LEMON_EXECUTABLE - path to the lemon program
# LEMON_TEMPLATE - location of the lemon template file
#=============================================================================
# F I N D L E M O N . C M A K E
#
# Originally based off of FindBISON.cmake from Kitware's CMake distribution
#
# Copyright (c) 2010-2012 United States Government as represented by
# the U.S. Army Research Laboratory.
# Copyright 2009 Kitware, Inc.
# Copyright 2006 Tristan Carel
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
#
# * The names of the authors may not be used to endorse or promote
# products derived from this software without specific prior written
# permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#=============================================================================
find_program(LEMON_EXECUTABLE lemon DOC "path to the lemon executable")
mark_as_advanced(LEMON_EXECUTABLE)
if(LEMON_EXECUTABLE AND NOT LEMON_TEMPLATE)
get_filename_component(lemon_path ${LEMON_EXECUTABLE} PATH)
if(lemon_path)
set(LEMON_TEMPLATE "")
if(EXISTS ${lemon_path}/lempar.c)
set(LEMON_TEMPLATE "${lemon_path}/lempar.c")
endif(EXISTS ${lemon_path}/lempar.c)
if(EXISTS /usr/share/lemon/lempar.c)
set(LEMON_TEMPLATE "/usr/share/lemon/lempar.c")
endif(EXISTS /usr/share/lemon/lempar.c)
endif(lemon_path)
endif(LEMON_EXECUTABLE AND NOT LEMON_TEMPLATE)
include(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(LEMON DEFAULT_MSG LEMON_EXECUTABLE LEMON_TEMPLATE)
mark_as_advanced(LEMON_TEMPLATE)
#============================================================
# FindLEMON.cmake ends here
# Local Variables:
# tab-width: 8
# mode: cmake
# indent-tabs-mode: t
# End:
# ex: shiftwidth=2 tabstop=8
-161
View File
@@ -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
+79
View File
@@ -0,0 +1,79 @@
#
# - Find perplex executable and provides macros to generate custom build rules
# The module defines the following variables
#
# PERPLEX_EXECUTABLE - path to the perplex program
# PERPLEX_TEMPLATE - location of the perplex template file
#=============================================================================
# F I N D P E R P L E X . C M A K E
#
# Originally based off of FindBISON.cmake from Kitware's CMake distribution
#
# Copyright (c) 2010-2012 United States Government as represented by
# the U.S. Army Research Laboratory.
# Copyright 2009 Kitware, Inc.
# Copyright 2006 Tristan Carel
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
#
# * The names of the authors may not be used to endorse or promote
# products derived from this software without specific prior written
# permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#=============================================================================
find_program(PERPLEX_EXECUTABLE perplex DOC "path to the perplex executable")
mark_as_advanced(PERPLEX_EXECUTABLE)
if(PERPLEX_EXECUTABLE AND NOT PERPLEX_TEMPLATE)
get_filename_component(perplex_path ${PERPLEX_EXECUTABLE} PATH)
if(perplex_path)
set(PERPLEX_TEMPLATE "")
if(EXISTS ${perplex_path}/../share/perplex/perplex_template.c)
get_filename_component(perplex_template_path "${perplex_path}/../share/perplex/perplex_template.c" ABSOLUTE)
set(PERPLEX_TEMPLATE "${perplex_template_path}")
endif(EXISTS ${perplex_path}/../share/perplex/perplex_template.c)
if(EXISTS ${perplex_path}/../share/perplex_template.c AND NOT PERPLEX_TEMPLATE)
get_filename_component(perplex_template_path "${perplex_path}/../share/perplex_template.c" ABSOLUTE)
set(PERPLEX_TEMPLATE "${perplex_template_path}")
endif(EXISTS ${perplex_path}/../share/perplex_template.c AND NOT PERPLEX_TEMPLATE)
endif(perplex_path)
if(EXISTS /usr/share/perplex/perplex_template.c AND NOT PERPLEX_TEMPLATE)
set(PERPLEX_TEMPLATE "/usr/share/perplex/perplex_template.c")
endif(EXISTS /usr/share/perplex/perplex_template.c AND NOT PERPLEX_TEMPLATE)
endif(PERPLEX_EXECUTABLE AND NOT PERPLEX_TEMPLATE)
include(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(PERPLEX DEFAULT_MSG PERPLEX_EXECUTABLE PERPLEX_TEMPLATE)
mark_as_advanced(PERPLEX_TEMPLATE)
#============================================================
# FindPERPLEX.cmake ends here
# Local Variables:
# tab-width: 8
# mode: cmake
# indent-tabs-mode: t
# End:
# ex: shiftwidth=2 tabstop=8
+10
View File
@@ -0,0 +1,10 @@
# The module defines the following variables:
# RE2C_EXECUTABLE - the path to the re2c executable
#
#=============================================================================
find_program(RE2C_EXECUTABLE re2c DOC "path to the re2c executable")
mark_as_advanced(RE2C_EXECUTABLE)
include(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(RE2C DEFAULT_MSG RE2C_EXECUTABLE)
-165
View File
@@ -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
+81
View File
@@ -0,0 +1,81 @@
# Utility routines for managing generated files with CMake
macro(MD5 filename md5sum)
file(READ "${filename}" RAW_MD5_FILE)
string(REGEX REPLACE "\r" "" STRIPPED_MD5_FILE "${RAW_MD5_FILE}")
string(MD5 ${md5sum} "${STRIPPED_MD5_FILE}")
endmacro(MD5)
macro(FILEVAR filename var)
string(REGEX REPLACE "[^a-zA-Z0-9]" "_" ${var} ${filename})
endmacro(FILEVAR)
macro(VERIFY_FILES filelist warn resultvar)
set(${resultvar} 1)
foreach(fileitem ${filelist})
# Deal with absolute and relative paths a bit differently
get_filename_component(ITEM_ABS_PATH "${fileitem}" ABSOLUTE)
if("${fileitem}" STREQUAL "${ITEM_ABS_PATH}")
set(filefullname "${fileitem}")
else("${fileitem}" STREQUAL "${ITEM_ABS_PATH}")
set(filefullname "${CURRENT_SOURCE_DIR}/${fileitem}")
endif("${fileitem}" STREQUAL "${ITEM_ABS_PATH}")
get_filename_component(filename "${fileitem}" NAME)
# Got filename components sorted - proceed
if(NOT EXISTS ${filefullname})
message(FATAL_ERROR "Attempted to verify non-existant file ${filefullname}")
endif(NOT EXISTS ${filefullname})
FILEVAR(${filename} filevar)
if(NOT baseline_${filevar}_md5)
message(FATAL_ERROR "No baseline MD5 available for ${filename} - baseline_${filevar}_md5 is not defined")
endif(NOT baseline_${filevar}_md5)
MD5(${filefullname} ${filevar}_md5)
if(NOT "${${filevar}_md5}" STREQUAL "${baseline_${filevar}_md5}")
if("${warn}" STREQUAL "1")
message("\n${filename} differs from baseline: baseline md5 hash is ${baseline_${filevar}_md5} and current hash is ${${filevar}_md5}\n")
endif("${warn}" STREQUAL "1")
set(${resultvar} 0)
endif(NOT "${${filevar}_md5}" STREQUAL "${baseline_${filevar}_md5}")
endforeach(fileitem ${filelist})
endmacro(VERIFY_FILES filelist resultvar)
macro(WRITE_MD5_SUMS filelist outfile)
foreach(fileitem ${filelist})
# Deal with absolute and relative paths a bit differently
get_filename_component(ITEM_ABS_PATH "${fileitem}" ABSOLUTE)
if("${fileitem}" STREQUAL "${ITEM_ABS_PATH}")
set(filefullname "${fileitem}")
else("${fileitem}" STREQUAL "${ITEM_ABS_PATH}")
set(filefullname "${CURRENT_SOURCE_DIR}/${fileitem}")
endif("${fileitem}" STREQUAL "${ITEM_ABS_PATH}")
get_filename_component(filename "${fileitem}" NAME)
# Got filename components sorted - proceed
if(NOT EXISTS ${filefullname})
message(FATAL_ERROR "Attempted to get MD5 sum of non-existant file ${filefullname}")
endif(NOT EXISTS ${filefullname})
FILEVAR(${filename} filevar)
MD5(${filefullname} ${filevar}_md5)
file(APPEND ${outfile} "set(baseline_${filevar}_md5 ${${filevar}_md5})\n")
endforeach(fileitem ${filelist})
endmacro(WRITE_MD5_SUMS)
macro(GET_GENERATOR_EXEC_VERSIONS)
# Read lemon version
execute_process(COMMAND ${LEMON_EXECUTABLE} -x OUTPUT_VARIABLE lemon_version)
string(REPLACE "Lemon version " "" lemon_version "${lemon_version}")
string(STRIP "${lemon_version}" lemon_version)
# Read re2c version
execute_process(COMMAND ${RE2C_EXECUTABLE} -V OUTPUT_VARIABLE re2c_version)
string(STRIP "${re2c_version}" re2c_version)
# Read perplex version
execute_process(COMMAND ${PERPLEX_EXECUTABLE} -v OUTPUT_VARIABLE perplex_version)
string(STRIP "${perplex_version}" perplex_version)
endmacro(GET_GENERATOR_EXEC_VERSIONS)
# Local Variables:
# tab-width: 8
# mode: cmake
# indent-tabs-mode: t
# End:
# ex: shiftwidth=2 tabstop=8
+146
View File
@@ -0,0 +1,146 @@
# Defines the macro
# LEMON_TARGET(<Name> <LemonInput> <LemonSource> <LemonHeader>
# [<ArgString>])
# which will create a custom rule to generate a parser. <LemonInput> is
# the path to a lemon file. <LemonSource> is the desired name for the
# generated source file. <LemonHeader> is the desired name for the
# generated header which contains the token list. Anything in the optional
# <ArgString> parameter is appended to the lemon command line.
#
# ====================================================================
# Example:
#
# find_package(LEMON)
# LEMON_TARGET(MyParser parser.y parser.c parser.h)
# add_executable(Foo main.cpp ${LEMON_MyParser_OUTPUTS})
# ====================================================================
#
#=============================================================================
#
# Originally based off of FindBISON.cmake from Kitware's CMake distribution
#
# Copyright (c) 2010-2012 United States Government as represented by
# the U.S. Army Research Laboratory.
# Copyright 2009 Kitware, Inc.
# Copyright 2006 Tristan Carel
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
#
# * The names of the authors may not be used to endorse or promote
# products derived from this software without specific prior written
# permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#=============================================================================
#============================================================
# LEMON_TARGET (public macro)
#============================================================
#
macro(LEMON_TARGET Name LemonInput LemonSource LemonHeader)
if(NOT ${ARGC} EQUAL 4 AND NOT ${ARGC} EQUAL 5)
message(SEND_ERROR "Usage")
else()
get_filename_component(LemonInputFull ${LemonInput} ABSOLUTE)
get_filename_component(LemonSourceFull ${LemonSource} ABSOLUTE)
get_filename_component(LemonHeaderFull ${LemonHeader} ABSOLUTE)
if(NOT ${LemonInput} STREQUAL ${LemonInputFull})
set(LEMON_${Name}_INPUT "${CMAKE_CURRENT_BINARY_DIR}/${LemonInput}")
else(NOT ${LemonInput} STREQUAL ${LemonInputFull})
set(LEMON_${Name}_INPUT "${LemonInput}")
endif(NOT ${LemonInput} STREQUAL ${LemonInputFull})
if(NOT ${LemonSource} STREQUAL ${LemonSourceFull})
set(LEMON_${Name}_OUTPUT_SOURCE "${CMAKE_CURRENT_BINARY_DIR}/${LemonSource}")
else(NOT ${LemonSource} STREQUAL ${LemonSourceFull})
set(LEMON_${Name}_OUTPUT_SOURCE "${LemonSource}")
endif(NOT ${LemonSource} STREQUAL ${LemonSourceFull})
if(NOT ${LemonHeader} STREQUAL ${LemonHeaderFull})
set(LEMON_${Name}_OUTPUT_HEADER "${CMAKE_CURRENT_BINARY_DIR}/${LemonHeader}")
else(NOT ${LemonHeader} STREQUAL ${LemonHeaderFull})
set(LEMON_${Name}_OUTPUT_HEADER "${LemonHeader}")
endif(NOT ${LemonHeader} STREQUAL ${LemonHeaderFull})
set(LEMON_${Name}_EXTRA_ARGS "${ARGV4}")
# get input name minus path
get_filename_component(INPUT_NAME "${LemonInput}" NAME)
set(LEMON_BIN_INPUT ${CMAKE_CURRENT_BINARY_DIR}/${INPUT_NAME})
# names of lemon output files will be based on the name of the input file
string(REGEX REPLACE "^(.*)(\\.[^.]*)$" "\\1.c" LEMON_GEN_SOURCE "${INPUT_NAME}")
string(REGEX REPLACE "^(.*)(\\.[^.]*)$" "\\1.h" LEMON_GEN_HEADER "${INPUT_NAME}")
string(REGEX REPLACE "^(.*)(\\.[^.]*)$" "\\1.out" LEMON_GEN_OUT "${INPUT_NAME}")
# copy input to bin directory and run lemon
add_custom_command(
OUTPUT ${LEMON_GEN_OUT} ${LEMON_GEN_SOURCE} ${LEMON_GEN_HEADER}
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/${LemonInput} ${LEMON_BIN_INPUT}
COMMAND ${LEMON_EXECUTABLE} ${INPUT_NAME} ${LEMON_${Name}_EXTRA_ARGS}
DEPENDS ${LemonInput} ${LEMON_TEMPLATE} ${LEMON_EXECUTABLE_TARGET}
COMMENT "[LEMON][${Name}] Building parser with ${LEMON_EXECUTABLE}"
)
# rename generated outputs
if(NOT "${LemonSource}" STREQUAL "${LEMON_GEN_SOURCE}")
add_custom_command(
OUTPUT ${LemonSource}
COMMAND ${CMAKE_COMMAND} -E copy ${LEMON_GEN_SOURCE} ${LemonSource}
DEPENDS ${LemonInput} ${LEMON_EXECUTABLE_TARGET} ${LEMON_GEN_SOURCE}
)
set(LEMON_${Name}_OUTPUTS ${LemonSource} ${LEMON_${Name}_OUTPUTS})
endif(NOT "${LemonSource}" STREQUAL "${LEMON_GEN_SOURCE}")
if(NOT "${LemonHeader}" STREQUAL "${LEMON_GEN_HEADER}")
add_custom_command(
OUTPUT ${LemonHeader}
COMMAND ${CMAKE_COMMAND} -E copy ${LEMON_GEN_HEADER} ${LemonHeader}
DEPENDS ${LemonInput} ${LEMON_EXECUTABLE_TARGET} ${LEMON_GEN_HEADER}
)
set(LEMON_${Name}_OUTPUTS ${LemonHeader} ${LEMON_${Name}_OUTPUTS})
endif(NOT "${LemonHeader}" STREQUAL "${LEMON_GEN_HEADER}")
set(LEMON_${Name}_OUTPUTS ${LEMON_GEN_OUT} ${LemonSource} ${LemonHeader})
# make sure we clean up generated output and copied input
if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}")
set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES "${LEMON_${Name}_OUTPUTS}")
else("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}")
set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES "${LEMON_${Name}_OUTPUTS};${LEMON_BIN_INPUT}")
endif("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}")
# macro ran successfully
set(LEMON_${Name}_DEFINED TRUE)
endif(NOT ${ARGC} EQUAL 4 AND NOT ${ARGC} EQUAL 5)
endmacro(LEMON_TARGET)
#
#============================================================
# LEMON_Utils.cmake ends here
# Local Variables:
# tab-width: 8
# mode: cmake
# indent-tabs-mode: t
# End:
# ex: shiftwidth=2 tabstop=8
+134
View File
@@ -0,0 +1,134 @@
# Defines two macros - PERPLEX_TARGET, which takes perplex inputs and
# runs both perplex and re2c to generate C source code/headers, and
# ADD_PERPLEX_LEMON_DEPENDENCY which is used to set up dependencies between
# scanner and parser targets when necessary.
#
# #====================================================================
# Example:
#
# find_package(LEMON)
# find_package(RE2C)
# find_package(PERPLEX)
#
# LEMON_TARGET(MyParser parser.y ${CMAKE_CURRENT_BINARY_DIR}/parser.cpp
# PERPLEX_TARGET(MyScanner scanner.re ${CMAKE_CURRENT_BINARY_DIR}/scanner.cpp ${CMAKE_CURRENT_BINARY_DIR}/scanner_header.hpp)
# ADD_PERPLEX_LEMON_DEPENDENCY(MyScanner MyParser)
#
# include_directories(${CMAKE_CURRENT_BINARY_DIR})
# add_executable(Foo
# Foo.cc
# ${LEMON_MyParser_OUTPUTS}
# ${PERPLEX_MyScanner_OUTPUTS}
# )
# ====================================================================
#
#=============================================================================
#
# Originally based off of FindBISON.cmake from Kitware's CMake distribution
#
# Copyright (c) 2010-2012 United States Government as represented by
# the U.S. Army Research Laboratory.
# Copyright 2009 Kitware, Inc.
# Copyright 2006 Tristan Carel
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
#
# * The names of the authors may not be used to endorse or promote
# products derived from this software without specific prior written
# permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#=============================================================================
#============================================================
# PERPLEX_TARGET (public macro)
#============================================================
macro(PERPLEX_TARGET Name Input OutputSrc OutputHeader)
if(${ARGC} GREATER 4)
set(Template ${ARGV4})
else(${ARGC} GREATER 4)
if(PERPLEX_TEMPLATE)
set(Template ${PERPLEX_TEMPLATE})
else(PERPLEX_TEMPLATE)
message(FATAL_ERROR "\nNo Perplex template file specifed - please specify the file using the PERPLEX_TEMPLATE variable:\ncmake .. -DPERPLEX_TEMPLATE=/path/to/template_file.c\n")
endif(PERPLEX_TEMPLATE)
endif(${ARGC} GREATER 4)
get_filename_component(OutputName ${OutputSrc} NAME)
set(re2c_src "${CMAKE_CURRENT_BINARY_DIR}/${OutputName}.re")
add_custom_command(
OUTPUT ${re2c_src} ${OutputHeader}
COMMAND ${PERPLEX_EXECUTABLE} -c -o ${re2c_src} -i ${OutputHeader} -t ${Template} ${Input}
DEPENDS ${Input} ${Template} ${PERPLEX_EXECUTABLE_TARGET} ${RE2C_EXECUTABLE_TARGET}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
COMMENT "[PERPLEX][${Name}] Generating re2c input with ${PERPLEX_EXECUTABLE}"
)
if(NOT DEBUGGING_GENERATED_SOURCES)
add_custom_command(
OUTPUT ${OutputSrc}
COMMAND ${RE2C_EXECUTABLE} --no-debug-info --no-generation-date -c -o ${OutputSrc} ${re2c_src}
DEPENDS ${Input} ${re2c_src} ${OutputHeader} ${PERPLEX_EXECUTABLE_TARGET} ${RE2C_EXECUTABLE_TARGET}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
COMMENT "[RE2C][${Name}] Building scanner with ${RE2C_EXECUTABLE}"
)
else(NOT DEBUGGING_GENERATED_SOURCES)
add_custom_command(
OUTPUT ${OutputSrc}
COMMAND ${RE2C_EXECUTABLE} --no-generation-date -c -o ${OutputSrc} ${re2c_src}
DEPENDS ${Input} ${re2c_src} ${OutputHeader} ${PERPLEX_EXECUTABLE_TARGET} ${RE2C_EXECUTABLE_TARGET}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
COMMENT "[RE2C][${Name}] Building scanner with ${RE2C_EXECUTABLE}"
)
endif(NOT DEBUGGING_GENERATED_SOURCES)
set(PERPLEX_${Name}_DEFINED TRUE)
set(PERPLEX_${Name}_OUTPUTS ${OutputSrc})
set(PERPLEX_${Name}_INPUT ${Input})
endmacro(PERPLEX_TARGET)
#============================================================
# ADD_PERPLEX_LEMON_DEPENDENCY (public macro)
#============================================================
macro(ADD_PERPLEX_LEMON_DEPENDENCY PERPLEXTarget LemonTarget)
if(NOT PERPLEX_${PERPLEXTarget}_OUTPUTS)
message(SEND_ERROR "PERPLEX target `${PERPLEXTarget}' does not exists.")
endif()
if(NOT LEMON_${LemonTarget}_OUTPUT_HEADER)
message(SEND_ERROR "Lemon target `${LemonTarget}' does not exists.")
endif()
set_source_files_properties(${PERPLEX_${PERPLEXTarget}_OUTPUTS}
PROPERTIES OBJECT_DEPENDS ${LEMON_${LemonTarget}_OUTPUT_HEADER})
endmacro(ADD_PERPLEX_LEMON_DEPENDENCY)
#============================================================
# PERPLEX_Utils.cmake ends here
# Local Variables:
# tab-width: 8
# mode: cmake
# indent-tabs-mode: t
# End:
# ex: shiftwidth=2 tabstop=8
+37 -36
View File
@@ -3,12 +3,12 @@
MACRO(DEFINE_DLL_EXPORTS libname)
IF( MSVC OR BORLAND )
if( ${libname} MATCHES "sdai_.*" )
set( export "SCL_SCHEMA_DLL_EXPORTS" )
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 "SCL_${UPPER_CORE}_DLL_EXPORTS" )
set( export "SC_${UPPER_CORE}_DLL_EXPORTS" )
endif()
get_target_property(defs ${libname} COMPILE_DEFINITIONS )
if( defs ) #if no properties, ${defs} will be defs-NOTFOUND which CMake interprets as false
@@ -31,7 +31,7 @@ MACRO( DEFINE_DLL_IMPORTS tgt libs )
STRING(REGEX REPLACE "lib" "" shortname "${lib}")
STRING(REGEX REPLACE "step" "" LOWERCORE "${shortname}")
STRING(TOUPPER ${LOWERCORE} UPPER_CORE)
list( APPEND defs "SCL_${UPPER_CORE}_DLL_IMPORTS" )
list( APPEND defs "SC_${UPPER_CORE}_DLL_IMPORTS" )
endforeach( lib ${libs} )
if( DEFINED defs )
if( defs )
@@ -47,20 +47,18 @@ ENDMACRO( DEFINE_DLL_IMPORTS tgt libs )
# EXCLUDE_FROM_ALL cannot be set on targets that are to be installed,
# so either test the target or install it - but not both
MACRO(EXCLUDE_OR_INSTALL target dest arg_3 )
if( NOT ( ( SCL_ENABLE_TESTING ) AND ( "${arg_3}" STREQUAL "TESTABLE" ) ) )
if( NOT ( ( SC_ENABLE_TESTING ) AND ( "${arg_3}" STREQUAL "TESTABLE" ) ) )
INSTALL(TARGETS ${target} DESTINATION ${dest})
else( NOT ( ( SCL_ENABLE_TESTING ) AND ( "${arg_3}" STREQUAL "TESTABLE" ) ) )
else( NOT ( ( SC_ENABLE_TESTING ) AND ( "${arg_3}" STREQUAL "TESTABLE" ) ) )
set_target_properties( ${target} PROPERTIES EXCLUDE_FROM_ALL ON )
endif( NOT ( ( SCL_ENABLE_TESTING ) AND ( "${arg_3}" STREQUAL "TESTABLE" ) ) )
endif( NOT ( ( SC_ENABLE_TESTING ) AND ( "${arg_3}" STREQUAL "TESTABLE" ) ) )
ENDMACRO(EXCLUDE_OR_INSTALL target dest arg_3 )
#SCL_ADDEXEC( execname "source files" "linked libs" ["TESTABLE"] ["MSVC flag" ...])
#SC_ADDEXEC( execname "source files" "linked libs" ["TESTABLE"] ["MSVC flag" ...])
# optional 4th argument of "TESTABLE", passed to EXCLUDE_OR_INSTALL macro
# optional args can also be used by MSVC-specific code, but it looks like these two uses
# will not conflict because the MSVC args must contain "STRICT"
MACRO(SCL_ADDEXEC execname srcs libs)
STRING(REGEX REPLACE " " ";" srcslist "${srcs}")
STRING(REGEX REPLACE " " ";" libslist "${libs}")
MACRO(SC_ADDEXEC execname srcslist libslist)
add_executable(${execname} ${srcslist})
target_link_libraries(${execname} ${libslist})
DEFINE_DLL_IMPORTS(${execname} "${libslist}") #add import definitions for all libs that the executable is linked to
@@ -68,70 +66,73 @@ MACRO(SCL_ADDEXEC execname srcs libs)
# 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)
IF(${extraarg} MATCHES "STRICT" AND SC-ENABLE_STRICT)
SET(LOCAL_COMPILE_FLAGS "${LOCAL_COMPILE_FLAGS} ${STRICT_FLAGS}")
ENDIF(${extraarg} MATCHES "STRICT" AND SCL-ENABLE_STRICT)
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(SCL_ADDEXEC execname srcs libs)
ENDMACRO(SC_ADDEXEC execname srcslist libslist)
#SCL_ADDLIB( libname "source files" "linked libs" ["TESTABLE"] ["MSVC flag" ...])
#SC_ADDLIB( libname "source files" "linked libs" ["TESTABLE"] ["MSVC flag" ...])
# optional 4th argument of "TESTABLE", passed to EXCLUDE_OR_INSTALL macro
# optional args can also be used by MSVC-specific code, but it looks like these two uses
# will not conflict because the MSVC args must contain "STRICT"
MACRO(SCL_ADDLIB libname srcs libs)
STRING(REGEX REPLACE " " ";" srcslist "${srcs}")
STRING(REGEX REPLACE " " ";" libslist1 "${libs}")
MACRO(SC_ADDLIB libname srcslist libslist)
STRING(REGEX REPLACE "-framework;" "-framework " libslist "${libslist1}")
IF(SCL_BUILD_SHARED_LIBS)
IF(SC_BUILD_SHARED_LIBS)
add_library(${libname} SHARED ${srcslist})
DEFINE_DLL_EXPORTS(${libname})
if(NOT ${libs} MATCHES "NONE")
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 ${SCL_ABI_VERSION} SOVERSION ${SCL_ABI_SOVERSION} )
endif(NOT "${libs}" MATCHES "NONE")
SET_TARGET_PROPERTIES(${libname} PROPERTIES VERSION ${SC_ABI_VERSION} SOVERSION ${SC_ABI_SOVERSION} )
EXCLUDE_OR_INSTALL( ${libname} "lib" "${ARGV3}" )
if(APPLE)
set_target_properties(${libname} PROPERTIES LINK_FLAGS "-flat_namespace -undefined suppress")
endif(APPLE)
ENDIF(SCL_BUILD_SHARED_LIBS)
IF(SCL_BUILD_STATIC_LIBS AND NOT MSVC)
add_library(${libname}-static STATIC ${srcslist})
DEFINE_DLL_EXPORTS(${libname}-static)
ENDIF(SC_BUILD_SHARED_LIBS)
IF(SC_BUILD_STATIC_LIBS AND NOT MSVC)
if( NOT SC_BUILD_SHARED_LIBS )
set( staticlibname "${libname}" )
else()
set( staticlibname "${libname}-static" )
endif( NOT SC_BUILD_SHARED_LIBS )
add_library(${staticlibname} STATIC ${srcslist})
DEFINE_DLL_EXPORTS(${staticlibname})
if(NOT ${libs} MATCHES "NONE")
target_link_libraries(${libname}-static "${libslist}")
DEFINE_DLL_IMPORTS(${libname}-static ${libslist} )
target_link_libraries(${staticlibname} "${libslist}")
DEFINE_DLL_IMPORTS(${staticlibname} ${libslist} )
endif(NOT ${libs} MATCHES "NONE")
IF(NOT WIN32)
SET_TARGET_PROPERTIES(${libname}-static PROPERTIES OUTPUT_NAME "${libname}")
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(${libname}-static PROPERTIES PREFIX "lib")
SET_TARGET_PROPERTIES(${staticlibname} PROPERTIES PREFIX "lib")
ENDIF(WIN32)
EXCLUDE_OR_INSTALL( ${libname}-static "lib" "${ARGV3}" )
EXCLUDE_OR_INSTALL( ${staticlibname} "lib" "${ARGV3}" )
if(APPLE)
set_target_properties(${libname}-static PROPERTIES LINK_FLAGS "-flat_namespace -undefined suppress")
set_target_properties(${staticlibname} PROPERTIES LINK_FLAGS "-flat_namespace -undefined suppress")
endif(APPLE)
ENDIF(SCL_BUILD_STATIC_LIBS AND NOT MSVC)
ENDIF(SC_BUILD_STATIC_LIBS AND NOT MSVC)
# Enable extra compiler flags if local libraries and/or global options dictate
SET(LOCAL_COMPILE_FLAGS "")
FOREACH(extraarg ${ARGN})
IF(${extraarg} MATCHES "STRICT" AND SCL-ENABLE_STRICT)
IF(${extraarg} MATCHES "STRICT" AND SC-ENABLE_STRICT)
SET(LOCAL_COMPILE_FLAGS "${LOCAL_COMPILE_FLAGS} ${STRICT_FLAGS}")
ENDIF(${extraarg} MATCHES "STRICT" AND SCL-ENABLE_STRICT)
ENDIF(${extraarg} MATCHES "STRICT" AND SC-ENABLE_STRICT)
ENDFOREACH(extraarg ${ARGN})
IF(LOCAL_COMPILE_FLAGS)
IF(BUILD_SHARED_LIBS)
SET_TARGET_PROPERTIES(${libname} PROPERTIES COMPILE_FLAGS ${LOCAL_COMPILE_FLAGS})
ENDIF(BUILD_SHARED_LIBS)
IF(BUILD_STATIC_LIBS AND NOT MSVC)
SET_TARGET_PROPERTIES(${libname}-static PROPERTIES COMPILE_FLAGS ${LOCAL_COMPILE_FLAGS})
SET_TARGET_PROPERTIES(${staticlibname} PROPERTIES COMPILE_FLAGS ${LOCAL_COMPILE_FLAGS})
ENDIF(BUILD_STATIC_LIBS AND NOT MSVC)
ENDIF(LOCAL_COMPILE_FLAGS)
ENDMACRO(SCL_ADDLIB libname srcs libs)
ENDMACRO(SC_ADDLIB libname srcslist libslist)
+102
View File
@@ -0,0 +1,102 @@
# Inherit the parent CMake setting
set(CURRENT_SOURCE_DIR "@CMAKE_CURRENT_SOURCE_DIR@")
set(LEMON_EXECUTABLE "@LEMON_EXECUTABLE@")
set(RE2C_EXECUTABLE "@RE2C_EXECUTABLE@")
set(PERPLEX_EXECUTABLE "@PERPLEX_EXECUTABLE@")
set(SYNC_SCRIPT "@SYNC_SCRIPT@")
set(SYNC_TARGET_NAME "@SYNC_TARGET_NAME@")
set(DEBUGGING_GENERATED_SOURCES "@DEBUGGING_GENERATED_SOURCES@")
if(NOT DEBUGGING_GENERATED_SOURCES)
# Include the file the provides the baseline against which
# current files will be compared
include("@BASELINE_INFORMATION_FILE@")
# Define a variety of convenience routines
include("@PROJECT_CMAKE_DIR@/Generated_Source_Utils.cmake")
# The following need to be checked:
#
# 1. baseline input MD5 hashes against the current input
# hashes. If the cached sources were generated using
# inputs other than the current inputs, note they are
# out of sync but don't stop. Templates used by perplex
# and lemon are part of this group.
#
# 2. baseline cached source MD5 hashes against current
# cached source MD5 hashes. Making sure no changes
# have been made to the generated sources. If the
# cached sources need to be updated (see #1, for example)
# their MD5 hashes need to be updated at the same time.
#
# 3. MD5 hashes of output generated by the tools against
# the MD5 hashes of the equalivent cached sources, if
# a) the tool versions are the same b) the input MD5
# hash comparisions were the same and c) the baseline
# test from #2 passed. This is done to detect platform
# differences in output sources, but is only valid if
# the input files are in their "pristine" state and the
# toolchain is equalivent to that used for the baseline.
# Individually verify all of the files in question.
set(input_files "@INPUT_FILELIST@")
VERIFY_FILES("${input_files}" 0 input_unchanged)
set(template_files "@TEMPLATE_FILELIST@")
VERIFY_FILES("${template_files}" 1 templates_unchanged)
set(cached_files "@CACHED_FILELIST@")
VERIFY_FILES("${cached_files}" 1 cached_unchanged)
if(cached_unchanged)
message( "Cached generated source code has not been modified.")
else()
message(FATAL_ERROR "Cached generated sources do not match the MD5 hashes present in /home/mark/step/sc/src/express/generated/verification_info.cmake - if updating cached sources, remember that the build enforces the requirement that associated MD5 hashes in /home/mark/step/sc/src/express/generated/verification_info.cmake are current as well. Cached generated sources should not be directly edited.")
endif(cached_unchanged)
GET_GENERATOR_EXEC_VERSIONS()
if("${lemon_version}" VERSION_EQUAL "${baseline_lemon_version}" AND "${perplex_version}" VERSION_EQUAL "${baseline_perplex_version}" AND "${re2c_version}" VERSION_EQUAL "${baseline_re2c_version}")
set(tool_versions_equal 1)
else()
set(tool_versions_equal 0)
endif()
if(NOT input_unchanged)
if(templates_unchanged AND tool_versions_equal)
message("Input files changed - syncing cached outputs")
execute_process(COMMAND ${CMAKE_COMMAND} -P ${SYNC_SCRIPT} OUTPUT_VARIABLE output)
else(templates_unchanged AND tool_versions_equal)
if(NOT templates_unchanged AND NOT tool_versions_equal)
message("Input files have been updated, but templates and current tool versions do not match those previously used to generate cached sources. Automatic syncing will not proceed.")
message("To force syncing, use the build target ${SYNC_TARGET_NAME}")
else(NOT templates_unchanged AND NOT tool_versions_equal)
if(NOT templates_unchanged)
message("Input files have been updated, but templates do not match those previously used to generate cached sources. Automatic syncing will not proceed.")
message("To force syncing, use the build target ${SYNC_TARGET_NAME}")
endif(NOT templates_unchanged)
if(NOT tool_versions_equal)
message("Input files have been updated, but tool versions do not match those previously used to generate cached sources. Automatic syncing will not proceed.")
message("To force syncing, use the build target ${SYNC_TARGET_NAME}")
endif(NOT tool_versions_equal)
endif(NOT templates_unchanged AND NOT tool_versions_equal)
endif(templates_unchanged AND tool_versions_equal)
else(NOT input_unchanged)
if(templates_unchanged AND cached_unchanged AND tool_versions_equal)
# Under these conditions, the uncached generated output should be equal to the cached files.
# Check if it is - a difference here may indicate a platform-specific behavior in one of the
# generators.
set(build_files "@BUILD_OUTPUT_FILELIST@")
VERIFY_FILES("${build_files}" 1 platform_unchanged)
if(NOT platform_unchanged)
message("Note: give these build inputs and tools, source files should be identical to generated files. Differences were still observed - possible indiciation of platform-specific generator behavior.")
endif(NOT platform_unchanged)
endif(templates_unchanged AND cached_unchanged AND tool_versions_equal)
endif(NOT input_unchanged)
else(NOT DEBUGGING_GENERATED_SOURCES)
message("\nNote: DEBUGGING_GENERATED_SOURCES is enabled - generated outputs will contain configuration-specific debugging information, so syncing cached output files is not possible. To restore normal behavior, disable DEBUGGING_GENERATED_SOURCES.\n")
endif(NOT DEBUGGING_GENERATED_SOURCES)
# Local Variables:
# tab-width: 8
# mode: cmake
# indent-tabs-mode: t
# End:
# ex: shiftwidth=2 tabstop=8
+80
View File
@@ -0,0 +1,80 @@
# creates sc_version_string.h, which defines sc_version()
# sc_version() returns a pretty commit description and a build timestamp.
# http://stackoverflow.com/questions/3780667
# http://www.cmake.org/pipermail/cmake/2009-February/027014.html
set(SC_IS_SUBBUILD "@SC_IS_SUBBUILD@")
#---------- find commit id ------------------
#use git for a pretty commit id
#uses 'git describe --tags', so tags are required in the repo
#create a tag with 'git tag <name>' and 'git push --tags'
#if git can't be found, uses contents of SC_VERSION.txt
set(VERS_FILE ${SOURCE_DIR}/SC_VERSION.txt )
if( EXISTS ${SOURCE_DIR}/.git )
find_package(Git QUIET)
if(GIT_FOUND)
execute_process(COMMAND ${GIT_EXECUTABLE} describe --tags WORKING_DIRECTORY ${SOURCE_DIR}
RESULT_VARIABLE res_var OUTPUT_VARIABLE GIT_COMMIT_ID )
if( NOT ${res_var} EQUAL 0 )
file( READ ${VERS_FILE} GIT_COMMIT_ID LIMIT 255 )
if(NOT SC_IS_SUBBUILD)
message( WARNING "Git failed (probably no tags in repo). Build will contain revision info from ${VERS_FILE}." )
endif(NOT SC_IS_SUBBUILD)
endif()
else(GIT_FOUND)
file( READ ${VERS_FILE} GIT_COMMIT_ID LIMIT 255 )
if(NOT SC_IS_SUBBUILD)
message( WARNING "Git not found. Build will contain revision info from ${VERS_FILE}." )
endif(NOT SC_IS_SUBBUILD)
endif(GIT_FOUND)
else()
file( READ ${VERS_FILE} GIT_COMMIT_ID LIMIT 255 )
if(NOT SC_IS_SUBBUILD)
message( WARNING "Git failed ('.git' not found). Build will contain revision info from ${VERS_FILE}." )
endif(NOT SC_IS_SUBBUILD)
endif()
string( REPLACE "\n" "" GIT_COMMIT_ID ${GIT_COMMIT_ID} )
#-------------- date and time ---------------
#once cmake_minimum_required is >= 2.8.11, we can use TIMESTAMP:
#string( TIMESTAMP date_time_string )
if( UNIX )
execute_process( COMMAND date "+%d %b %Y %H:%M" OUTPUT_VARIABLE date_time_string OUTPUT_STRIP_TRAILING_WHITESPACE )
elseif( WIN32 )
execute_process( COMMAND cmd /c date /t OUTPUT_VARIABLE currentDate OUTPUT_STRIP_TRAILING_WHITESPACE )
execute_process( COMMAND cmd /c time /t OUTPUT_VARIABLE currentTime OUTPUT_STRIP_TRAILING_WHITESPACE )
set ( date_time_string "${currentDate} ${currentTime}" )
else()
set( date_time_string "\" __DATE__ \" \" __TIME__ \" " )
if( NOT SC_IS_SUBBUILD )
message( STATUS "Unknown platform - using date from preprocessor" )
endif( NOT SC_IS_SUBBUILD )
endif()
set( header_string "/* sc_version_string.h - written by cmake. Changes will be lost! */\n"
"#ifndef SC_VERSION_STRING\n"
"#define SC_VERSION_STRING\n\n"
"/*\n** The git commit id looks like \"test-1-g5e1fb47\", where test is the\n"
"** name of the last tagged git revision, 1 is the number of commits since that tag,\n"
"** 'g' is unknown, and 5e1fb47 is the first 7 chars of the git sha1 commit id.\n"
"** timestamp is created from date/time commands on known platforms, and uses\n"
"** preprocessor macros elsewhere.\n*/\n\n"
"static char sc_version[512] = {\n"
" \"git commit id: ${GIT_COMMIT_ID}, build timestamp ${date_time_string}\"\n"
"}\;\n\n"
"#endif\n"
)
file(WRITE sc_version_string.h.txt ${header_string} )
# copy the file to the final header only if the version changes
# reduces needless rebuilds
execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different
sc_version_string.h.txt ${BINARY_DIR}/include/sc_version_string.h)
if(NOT SC_IS_SUBBUILD)
message("-- sc_version_string.h is up-to-date.")
endif(NOT SC_IS_SUBBUILD)
-58
View File
@@ -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)
+83
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
+39
View File
@@ -0,0 +1,39 @@
# Inherit the parent CMake setting
set(DEBUGGING_GENERATED_SOURCES @DEBUGGING_GENERATED_SOURCES@)
set(CURRENT_SOURCE_DIR @CMAKE_CURRENT_SOURCE_DIR@)
# Include the file the provides the baseline against which
# current files will be compared
if(NOT DEBUGGING_GENERATED_SOURCES)
include(@BASELINE_INFORMATION_FILE@)
# Define a variety of convenience routines
include(@PROJECT_CMAKE_DIR@/Generated_Source_Utils.cmake)
# Individually verify all of the files in question.
set(filelist "@CACHED_FILELIST@")
VERIFY_FILES("${filelist}" 1 srcs_pass)
if( srcs_pass)
message( "Generated source code has not been modified.")
else(srcs_pass)
message(FATAL_ERROR "Generated sources have been modified. These files should never be modified directly except when debugging faulty output from the generators - changes to lexer and parser logic should be made to the generator input files. If this is a debugging situation, set the variable DEBUGGING_GENERATED_SOURCES to ON during the CMake configure.")
endif(srcs_pass)
# If we got by that test, see if it looks like these
# sources came from the current input files. It's not
# a failure condition if they didn't, but warn about it.
set(filelist "@INPUT_FILELIST@")
VERIFY_FILES("${filelist}" 0 inputs_same)
if(NOT inputs_same)
message("Note: cached generated sources are not in sync with input files.")
endif(NOT inputs_same)
endif(NOT DEBUGGING_GENERATED_SOURCES)
# Local Variables:
# tab-width: 8
# mode: cmake
# indent-tabs-mode: t
# End:
# ex: shiftwidth=2 tabstop=8
+3 -3
View File
@@ -8,14 +8,14 @@ set( CTEST_MEMORYCHECK_COMMAND /usr/bin/valgrind )
set( CTEST_INITIAL_CACHE "
SITE:STRING=${CTEST_SITE}
BUILDNAME:STRING=${CTEST_BUILD_NAME}
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_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_....*" )
File diff suppressed because it is too large Load Diff
-22
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.
-227
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;
-219
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;
-699
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;
-220
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;
-340
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;
-315
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;
-239
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;
-264
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;
-467
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;
+106 -31
View File
@@ -1,16 +1,32 @@
# To build one or more schemas, configure with
# 'cmake -DSCL_BUILD_SCHEMAS="path/to/schema.exp;path/to/schema2.exp"
# To build one or more schemas, configure with
# 'cmake -DSC_BUILD_SCHEMAS="path/to/schema.exp;path/to/schema2.exp"
# This function runs fedex on one express file. The generated source goes in a dir
# in the build dir, and it is compiled into a library. A p21read executable is
MACRO(RELATIVE_PATH_TO_TOPLEVEL current_dir rel_path)
string(REPLACE "${SC_SOURCE_DIR}" "" subpath "${current_dir}")
string(REGEX REPLACE "^/" "" subpath "${subpath}")
string(LENGTH "${subpath}" PATH_LENGTH)
if(PATH_LENGTH GREATER 0)
set(${rel_path} "..")
get_filename_component(subpath "${subpath}" PATH)
string(LENGTH "${subpath}" PATH_LENGTH)
while(PATH_LENGTH GREATER 0)
set(${rel_path} "${${rel_path}}/..")
get_filename_component(subpath "${subpath}" PATH)
string(LENGTH "${subpath}" PATH_LENGTH)
endwhile(PATH_LENGTH GREATER 0)
endif(PATH_LENGTH GREATER 0)
ENDMACRO(RELATIVE_PATH_TO_TOPLEVEL current_dir rel_path)
# This function runs fedex on one express file. The generated source goes in a dir
# in the build dir, and it is compiled into a library. A p21read executable is
# compiled and linked to the lib. p21read is used to test the lib.
FUNCTION(BUILD_A_SCHEMA SCHEMA_FILE)
if( EXISTS "${CMAKE_BINARY_DIR}/${SCHEMA_FILE}" ) #try absolute path. if that fails, must already be absolute.
if( EXISTS "${CMAKE_BINARY_DIR}/${SCHEMA_FILE}" ) #is it a path relative to build dir?
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()
elseif( EXISTS "${SC_SOURCE_DIR}/data/${SCHEMA_FILE}" ) # path relative to STEPcode/data?
set( SCHEMA_FILE "${SC_SOURCE_DIR}/data/${SCHEMA_FILE}" )
elseif( NOT EXISTS ${SCHEMA_FILE} ) # absolute path
message( FATAL_ERROR "Cannot find ${CMAKE_BINARY_DIR}/${SCHEMA_FILE} or ${SC_SOURCE_DIR}/data/${SCHEMA_FILE} or ${SCHEMA_FILE}" )
endif()
if( IS_DIRECTORY ${SCHEMA_FILE} ) #if it is a dir, look for one .exp file inside
@@ -24,41 +40,60 @@ FUNCTION(BUILD_A_SCHEMA SCHEMA_FILE)
# read the schema name from a line like 'SCHEMA AUTOMOTIVE_DESIGN;'
file(STRINGS ${SCHEMA_FILE} SCHEMA_STATEMENT LIMIT_COUNT 1 REGEX "^SCHEMA .*")
string(REGEX REPLACE "^SCHEMA \(.*\)\;$" "\\1" SCHEMA_N ${SCHEMA_STATEMENT} )
string(TOUPPER ${SCHEMA_N} SCHEMA_LONG_NAME) #fedex_plus always uses upper case for file names
string(TOUPPER ${SCHEMA_N} SCHEMA_LONG_NAME) #exp2cxx 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} )
set( SCHEMA_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/${SCHEMA_SHORT_NAME} )
#the names of the files that will be generated
set( FEDEX_OUT ${SCHEMA_OUTPUT_DIR}/compstructs.cc ${SCHEMA_OUTPUT_DIR}/Sdaiclasses.h
${SCHEMA_OUTPUT_DIR}/schema.cc ${SCHEMA_OUTPUT_DIR}/Sdai${SCHEMA_LONG_NAME}.cc
${SCHEMA_OUTPUT_DIR}/schema.h ${SCHEMA_OUTPUT_DIR}/Sdai${SCHEMA_LONG_NAME}.h
${SCHEMA_OUTPUT_DIR}/SdaiAll.cc ${SCHEMA_OUTPUT_DIR}/Sdai${SCHEMA_LONG_NAME}.init.cc )
set( FEDEX_HEADERS ${SCHEMA_OUTPUT_DIR}/Sdaiclasses.h ${SCHEMA_OUTPUT_DIR}/schema.h
${SCHEMA_OUTPUT_DIR}/Sdai${SCHEMA_LONG_NAME}.h )
set( FEDEX_OUT ${SCHEMA_OUTPUT_DIR}/compstructs.cc ${SCHEMA_OUTPUT_DIR}/schema.cc
${SCHEMA_OUTPUT_DIR}/Sdai${SCHEMA_LONG_NAME}.cc ${SCHEMA_OUTPUT_DIR}/SdaiAll.cc
${SCHEMA_OUTPUT_DIR}/Sdai${SCHEMA_LONG_NAME}.init.cc ${FEDEX_HEADERS} )
install( FILES ${FEDEX_HEADERS} DESTINATION include/${SCHEMA_SHORT_NAME} )
# *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" )
set( ${PROJECT_NAME}_COMPILE_FLAGS "-I${CMAKE_CURRENT_SOURCE_DIR} -I${SC_SOURCE_DIR}/src/cldai -I${SC_SOURCE_DIR}/src/cleditor -I${SC_SOURCE_DIR}/src/clutils -I${SCHEMA_OUTPUT_DIR} -I${SC_SOURCE_DIR}/src/clstepcore -I${SC_SOURCE_DIR}/src/base" )
add_custom_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}
COMMAND ${CMAKE_COMMAND} ARGS -E make_directory ${SCHEMA_OUTPUT_DIR}
COMMENT "Creating ${SCHEMA_OUTPUT_DIR} for schema ${SCHEMA_SHORT_NAME}")
add_custom_command( OUTPUT ${FEDEX_OUT}
COMMAND fedex_plus ARGS ${SCHEMA_FILE}
COMMAND exp2cxx ARGS ${SCHEMA_FILE}
DEPENDS ${SCHEMA_FILE} ${SCHEMA_OUTPUT_DIR}
WORKING_DIRECTORY ${SCHEMA_OUTPUT_DIR}
COMMENT "Running fedex_plus for ${SCHEMA_SHORT_NAME}..."
COMMENT "Running exp2cxx for ${SCHEMA_SHORT_NAME}..."
VERBATIM )
add_custom_target( generate_cpp_${SCHEMA_SHORT_NAME} DEPENDS ${FEDEX_OUT} SOURCES ${FEDEX_OUT} )
if( SC_ENABLE_COVERAGE AND NOT SC_COVER_SCHEMAS )
# Coverage will always be sparse on schema libs. Compiling the libs with the -fprofile-arcs and
# -ftest-coverage is extremely slow. We can avoid that by temporarily changing build type to release.
set( PREV_BUILD_TYPE ${CMAKE_BUILD_TYPE} )
set( CMAKE_BUILD_TYPE "Release" )
endif( SC_ENABLE_COVERAGE AND NOT SC_COVER_SCHEMAS )
# if testing is enabled, "TESTABLE" sets property EXCLUDE_FROM_ALL and prevents installation
SCL_ADDLIB( ${PROJECT_NAME} "${FEDEX_OUT}" "stepdai stepcore express stepeditor steputils base" "TESTABLE" )
SC_ADDLIB( ${PROJECT_NAME} "${FEDEX_OUT}" "stepdai;stepcore;stepeditor;steputils;base" "TESTABLE" )
add_dependencies( ${PROJECT_NAME} generate_cpp_${SCHEMA_SHORT_NAME} )
set_target_properties( ${PROJECT_NAME} PROPERTIES COMPILE_FLAGS
${${PROJECT_NAME}_COMPILE_FLAGS} )
if( TARGET ${PROJECT_NAME}-static )
set_target_properties( ${PROJECT_NAME}-static PROPERTIES COMPILE_FLAGS
${${PROJECT_NAME}_COMPILE_FLAGS} )
endif( TARGET ${PROJECT_NAME}-static )
if( SC_ENABLE_COVERAGE AND NOT SC_COVER_SCHEMAS )
set( CMAKE_BUILD_TYPE ${PREV_BUILD_TYPE} )
endif( SC_ENABLE_COVERAGE AND NOT SC_COVER_SCHEMAS )
add_test( NAME generate_cpp_${SCHEMA_SHORT_NAME}
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
@@ -70,18 +105,45 @@ FUNCTION(BUILD_A_SCHEMA SCHEMA_FILE)
COMMAND ${CMAKE_COMMAND} --build .
--target p21read_${PROJECT_NAME}
--config $<CONFIGURATION> )
if(NOT WIN32)
add_test( NAME build_lazy_cpp_${PROJECT_NAME}
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
COMMAND ${CMAKE_COMMAND} --build .
--target lazy_${PROJECT_NAME}
--config $<CONFIGURATION> )
endif(NOT WIN32)
# label the tests and set dependencies
set_tests_properties( generate_cpp_${SCHEMA_SHORT_NAME} PROPERTIES LABELS cpp_schema_gen )
set_tests_properties( build_cpp_${PROJECT_NAME} PROPERTIES DEPENDS generate_cpp_${SCHEMA_SHORT_NAME} LABELS cpp_schema_build )
if(NOT WIN32)
set_tests_properties( build_lazy_cpp_${PROJECT_NAME} build_cpp_${PROJECT_NAME} PROPERTIES DEPENDS generate_cpp_${SCHEMA_SHORT_NAME} LABELS cpp_schema_build )
endif(NOT WIN32)
if(MSVC OR BORLAND)
set( WIN_EXTRA_SRCS ${SCL_SOURCE_DIR}/src/fedex_plus/xgetopt.cc )
endif()
SCL_ADDEXEC( p21read_${PROJECT_NAME} "${SCL_SOURCE_DIR}/src/test/p21read/p21read.cc ${WIN_EXTRA_SRCS}" "${PROJECT_NAME}" "TESTABLE" )
RELATIVE_PATH_TO_TOPLEVEL(${CMAKE_CURRENT_SOURCE_DIR} RELATIVE_PATH_COMPONENT)
SC_ADDEXEC( p21read_${PROJECT_NAME} "${RELATIVE_PATH_COMPONENT}/src/test/p21read/p21read.cc" "${PROJECT_NAME};base" "TESTABLE" )
if(NOT WIN32)
SC_ADDEXEC( lazy_${PROJECT_NAME} "${RELATIVE_PATH_COMPONENT}/src/cllazyfile/lazy_test.cc" "${PROJECT_NAME};steplazyfile;stepeditor" "TESTABLE" )
endif(NOT WIN32)
add_dependencies( p21read_${PROJECT_NAME} version_string )
if(NOT WIN32)
add_dependencies( lazy_${PROJECT_NAME} version_string )
endif(NOT WIN32)
set_target_properties( p21read_${PROJECT_NAME} PROPERTIES COMPILE_FLAGS
${${PROJECT_NAME}_COMPILE_FLAGS} )
if(NOT WIN32)
set_target_properties( lazy_${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "${${PROJECT_NAME}_COMPILE_FLAGS} -I${SC_SOURCE_DIR}/src/base/judy/src" )
endif(NOT WIN32)
#add user-defined executables
foreach( src ${SC_SDAI_ADDITIONAL_EXES_SRCS} )
get_filename_component( name ${src} NAME_WE )
get_filename_component( path ${src} ABSOLUTE )
SC_ADDEXEC( ${name}_${PROJECT_NAME} "${src}" "${PROJECT_NAME};base" "TESTABLE" )
add_dependencies( ${name}_${PROJECT_NAME} version_string )
set_target_properties( ${name}_${PROJECT_NAME} PROPERTIES COMPILE_FLAGS
"${${PROJECT_NAME}_COMPILE_FLAGS} -I${path}" )
endforeach( src ${SC_SDAI_ADDITIONAL_EXES_SRCS} )
#find all part 21 files in schema dir, add a test for each one
get_filename_component( SCHEMA_DIR ${SCHEMA_FILE} PATH )
@@ -92,15 +154,28 @@ FUNCTION(BUILD_A_SCHEMA SCHEMA_FILE)
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
COMMAND p21read_${PROJECT_NAME} ${TEST_FILE} )
set_tests_properties( read_write_cpp_${SCHEMA_SHORT_NAME}_${FNAME} PROPERTIES DEPENDS build_cpp_${PROJECT_NAME} LABELS cpp_schema_rw )
if(NOT WIN32)
add_test( NAME read_lazy_cpp_${SCHEMA_SHORT_NAME}_${FNAME}
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
COMMAND lazy_${PROJECT_NAME} ${TEST_FILE} )
set_tests_properties( read_lazy_cpp_${SCHEMA_SHORT_NAME}_${FNAME} PROPERTIES DEPENDS build_lazy_cpp_${PROJECT_NAME} LABELS cpp_schema_rw )
endif(NOT WIN32)
endforeach()
ENDFUNCTION(BUILD_A_SCHEMA)
if( DEFINED SCL_BUILD_SCHEMAS )
if( SCL_BUILD_SCHEMAS STREQUAL "ALL" )
file( GLOB_RECURSE SCL_BUILD_SCHEMAS ${SCL_SOURCE_DIR}/data/*.exp )
#----------------------------------------------------------------------------------------------------
if( DEFINED SC_BUILD_SCHEMAS )
foreach( src ${SC_SDAI_ADDITIONAL_EXES_SRCS} )
get_filename_component( name ${src} NAME_WE )
message( STATUS "Additional SDAI executable: ${name}" )
endforeach( src ${SC_SDAI_ADDITIONAL_EXES_SRCS} )
if( SC_BUILD_SCHEMAS STREQUAL "ALL" )
file( GLOB_RECURSE SC_BUILD_SCHEMAS ${SC_SOURCE_DIR}/data/*.exp )
endif()
foreach( ap ${SCL_BUILD_SCHEMAS} )
foreach( ap ${SC_BUILD_SCHEMAS} )
BUILD_A_SCHEMA( ${ap} )
endforeach()
endif()
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
-300
View File
@@ -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;
-299
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;
+364
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.,'LINEAR_CURVE.CROD',((
ENUMERATED_CURVE_ELEMENT_PURPOSE(.AXIAL.)),(
ENUMERATED_CURVE_ELEMENT_PURPOSE(.TORSION.))));
#637538443= CURVE_3D_ELEMENT_PROPERTY('PROD.1','',(#637538445),(
#637538456,#637538458),(#637538461,#637538464));
#637538445= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538446,#637538447,
#637538449);
#637538446= CURVE_ELEMENT_LOCATION(#637538433);
#637538447= EULER_ANGLES((0.,0.,0.));
#637538449= CURVE_ELEMENT_SECTION_DERIVED_DEFINITIONS('',0.,8.,(
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)),(0.,0.,0.),
0.,CONTEXT_DEPENDENT_MEASURE(0.),(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)),(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)),(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.));
#637538456= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538458= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538461= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538463));
#637538463= CURVE_ELEMENT_END_RELEASE_PACKET(
ENUMERATED_CURVE_ELEMENT_FREEDOM(.NONE.),0.);
#637538464= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538463));
#637538466= CURVE_3D_ELEMENT_REPRESENTATION('15',(#637538429,#637538433)
,#637538435,(#637538347,#637538351),#637538282,#637538439,#637538443,
#637538400);
#637538469= CURVE_3D_ELEMENT_REPRESENTATION('14',(#637538429,#637538433)
,#637538435,(#637538343,#637538347),#637538282,#637538439,#637538443,
#637538400);
#637538472= CURVE_3D_ELEMENT_REPRESENTATION('13',(#637538429,#637538433)
,#637538435,(#637538339,#637538343),#637538282,#637538439,#637538443,
#637538400);
#637538475= CURVE_3D_ELEMENT_REPRESENTATION('12',(#637538429,#637538433)
,#637538435,(#637538335,#637538339),#637538282,#637538439,#637538443,
#637538400);
#637538478= CURVE_3D_ELEMENT_REPRESENTATION('11',(#637538429,#637538433)
,#637538435,(#637538331,#637538335),#637538282,#637538439,#637538443,
#637538400);
#637538481= CURVE_3D_ELEMENT_REPRESENTATION('10',(#637538429,#637538433)
,#637538435,(#637538327,#637538331),#637538282,#637538439,#637538443,
#637538400);
#637538484= CURVE_3D_ELEMENT_REPRESENTATION('9',(#637538429,#637538433),
#637538435,(#637538323,#637538327),#637538282,#637538439,#637538443,
#637538400);
#637538487= CURVE_3D_ELEMENT_REPRESENTATION('8',(#637538429,#637538433),
#637538435,(#637538319,#637538323),#637538282,#637538439,#637538443,
#637538400);
#637538490= CURVE_3D_ELEMENT_REPRESENTATION('7',(#637538429,#637538433),
#637538435,(#637538315,#637538319),#637538282,#637538439,#637538443,
#637538400);
#637538493= CURVE_3D_ELEMENT_REPRESENTATION('6',(#637538429,#637538433),
#637538435,(#637538311,#637538315),#637538282,#637538439,#637538443,
#637538400);
#637538496= CURVE_3D_ELEMENT_REPRESENTATION('5',(#637538429,#637538433),
#637538435,(#637538307,#637538311),#637538282,#637538439,#637538443,
#637538400);
#637538499= CURVE_3D_ELEMENT_REPRESENTATION('4',(#637538429,#637538433),
#637538435,(#637538303,#637538307),#637538282,#637538439,#637538443,
#637538400);
#637538502= CURVE_3D_ELEMENT_REPRESENTATION('3',(#637538429,#637538433),
#637538435,(#637538299,#637538303),#637538282,#637538439,#637538443,
#637538400);
#637538505= CURVE_3D_ELEMENT_REPRESENTATION('2',(#637538429,#637538433),
#637538435,(#637538295,#637538299),#637538282,#637538439,#637538443,
#637538400);
#637538508= CURVE_3D_ELEMENT_REPRESENTATION('1',(#637538429,#637538433),
#637538435,(#637538253,#637538295),#637538282,#637538439,#637538443,
#637538400);
#637538511= ID_ATTRIBUTE('MAT1.1',#637538412);
#637538512= DESCRIPTION_ATTRIBUTE('Elasticity',#637538402);
#637538513= DESCRIPTION_ATTRIBUTE('MassDensity',#637538417);
#637538514= DESCRIPTION_ATTRIBUTE('TangentCTE',#637538422);
#637538515= CONTROL(#637538282,'Control.0','FemConvert',
'MSC.NASTRAN JOB CREATED ON 06-JUL-00 AT 06:14:07',('<SOL>101</SOL>',
'TIME 600','CEND','<GLOBALCASE>0</GLOBALCASE>','<SUBCASE>1</SUBCASE>',
'ENDDATA 8336E13E'),('NASTRAN'));
#637538518= CONTROL_LINEAR_STATIC_ANALYSIS_STEP(#637538515,
'STATIC STEP 1',1,#637538519,'',#637538520);
#637538519= SPECIFIED_STATE('STEP DEFAULT','default_initial_state');
#637538520= CONTROL_LINEAR_STATIC_LOAD_INCREMENT_PROCESS('STATIC STEP 1'
,'',#637538521);
#637538521= SPECIFIED_STATE('Step 1 Base Specified State',
'Relating Specified State');
#637538522= OUTPUT_REQUEST_STATE('Step 1 Output Request State','',(
#637538518));
#637538524= NODAL_FREEDOM_VALUES(#637538522,#637538525,#637538284,
#637538527,(UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.)));
#637538525= NODE_GROUP('','ALL',#637538282,(#637538253,#637538295,
#637538299,#637538303,#637538307,#637538311,#637538315,#637538319,
#637538323,#637538327,#637538331,#637538335,#637538339,#637538343,
#637538347,#637538351,#637538355));
#637538527= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.X_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(
.Y_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(.Z_ROTATION.)));
#637538530= SINGLE_POINT_CONSTRAINT_ELEMENT('SPC1_1.0',(#637538518),
#637538253,#637538284,(#637538533,#637538534,#637538535),'');
#637538533= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.X_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538534= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.Y_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538535= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.Z_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538536= SINGLE_POINT_CONSTRAINT_ELEMENT_VALUES(#637538537,#637538530
,#637538538,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)
,CONTEXT_DEPENDENT_MEASURE(0.)));
#637538537= SPECIFIED_STATE('SPCVALSTATE_1_2','');
#637538538= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.)));
#637538541= SPECIFIED_STATE('SPCCASE_2_2_1','Aggregator SPC 2 Step 1');
#637538542= STATE_RELATIONSHIP(
'SPCCASE_2_2_1 is related to Step 1 Base Specified State','',#637538521,
#637538541);
#637538543= STATE_RELATIONSHIP(
'SPCVALSTATE_1_2 is related to SPCCASE_2_2_1','',#637538541,#637538537);
#637538544= LINEARLY_SUPERIMPOSED_STATE('LOADSTATECOMBINATION_2',
'Overall Factor Combined State');
#637538546= STATE_RELATIONSHIP(
'LOADSTATECOMBINATION_2 is related to Step 1 Base Specified State','',
#637538521,#637538544);
#637538547= STATE_COMPONENT('OverallComp','',#637538544,1.);
#637538549= STATE_RELATIONSHIP(
'LOADSTATEITEM_1 is related to OverallComp','',#637538547,#637538550);
#637538550= LINEARLY_SUPERIMPOSED_STATE('LOADSTATEITEM_1',
'Item Factor State');
#637538551= SPECIFIED_STATE('LOADSTATECORE_1',
'Core Loads Specified State');
#637538552= STATE_RELATIONSHIP(
'LOADSTATECORE_1 is related to ItemComp_2_1','',#637538553,#637538551);
#637538553= STATE_COMPONENT('ItemComp_2_1','',#637538550,1.);
#637538555= NODAL_FREEDOM_ACTION_DEFINITION(#637538551,#637538355,
#637538284,#637538556,(CONTEXT_DEPENDENT_MEASURE(-1000.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538556= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.)));
#637538559= ID_ATTRIBUTE('ALL',#637538525);
ENDSEC;
END-ISO-10303-21;
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+385
View File
@@ -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.,'LINEAR_CURVE.CROD',((
ENUMERATED_CURVE_ELEMENT_PURPOSE(.AXIAL.)),(
ENUMERATED_CURVE_ELEMENT_PURPOSE(.TORSION.))));
#637538441= CURVE_3D_ELEMENT_PROPERTY('PROD.1','',(#637538443),(
#637538454,#637538456),(#637538459,#637538462));
#637538443= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538444,#637538445,
#637538447);
#637538444= CURVE_ELEMENT_LOCATION(#637538431);
#637538445= EULER_ANGLES((0.,0.,0.));
#637538447= CURVE_ELEMENT_SECTION_DERIVED_DEFINITIONS('',0.,8.,(
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)),(0.,0.,0.),
0.,CONTEXT_DEPENDENT_MEASURE(0.),(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)),(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)),(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.));
#637538454= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538456= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538459= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538461));
#637538461= CURVE_ELEMENT_END_RELEASE_PACKET(
ENUMERATED_CURVE_ELEMENT_FREEDOM(.NONE.),0.);
#637538462= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538461));
#637538464= CURVE_3D_ELEMENT_REPRESENTATION('15',(#637538427,#637538431)
,#637538433,(#637538345,#637538349),#637538280,#637538437,#637538441,
#637538398);
#637538467= CURVE_3D_ELEMENT_REPRESENTATION('14',(#637538427,#637538431)
,#637538433,(#637538341,#637538345),#637538280,#637538437,#637538441,
#637538398);
#637538470= CURVE_3D_ELEMENT_REPRESENTATION('13',(#637538427,#637538431)
,#637538433,(#637538337,#637538341),#637538280,#637538437,#637538441,
#637538398);
#637538473= CURVE_3D_ELEMENT_REPRESENTATION('12',(#637538427,#637538431)
,#637538433,(#637538333,#637538337),#637538280,#637538437,#637538441,
#637538398);
#637538476= CURVE_3D_ELEMENT_REPRESENTATION('11',(#637538427,#637538431)
,#637538433,(#637538329,#637538333),#637538280,#637538437,#637538441,
#637538398);
#637538479= CURVE_3D_ELEMENT_REPRESENTATION('10',(#637538427,#637538431)
,#637538433,(#637538325,#637538329),#637538280,#637538437,#637538441,
#637538398);
#637538482= CURVE_3D_ELEMENT_REPRESENTATION('9',(#637538427,#637538431),
#637538433,(#637538321,#637538325),#637538280,#637538437,#637538441,
#637538398);
#637538485= CURVE_3D_ELEMENT_REPRESENTATION('8',(#637538427,#637538431),
#637538433,(#637538317,#637538321),#637538280,#637538437,#637538441,
#637538398);
#637538488= CURVE_3D_ELEMENT_REPRESENTATION('7',(#637538427,#637538431),
#637538433,(#637538313,#637538317),#637538280,#637538437,#637538441,
#637538398);
#637538491= CURVE_3D_ELEMENT_REPRESENTATION('6',(#637538427,#637538431),
#637538433,(#637538309,#637538313),#637538280,#637538437,#637538441,
#637538398);
#637538494= CURVE_3D_ELEMENT_REPRESENTATION('5',(#637538427,#637538431),
#637538433,(#637538305,#637538309),#637538280,#637538437,#637538441,
#637538398);
#637538497= CURVE_3D_ELEMENT_REPRESENTATION('4',(#637538427,#637538431),
#637538433,(#637538301,#637538305),#637538280,#637538437,#637538441,
#637538398);
#637538500= CURVE_3D_ELEMENT_REPRESENTATION('3',(#637538427,#637538431),
#637538433,(#637538297,#637538301),#637538280,#637538437,#637538441,
#637538398);
#637538503= CURVE_3D_ELEMENT_REPRESENTATION('2',(#637538427,#637538431),
#637538433,(#637538293,#637538297),#637538280,#637538437,#637538441,
#637538398);
#637538506= CURVE_3D_ELEMENT_REPRESENTATION('1',(#637538427,#637538431),
#637538433,(#637538251,#637538293),#637538280,#637538437,#637538441,
#637538398);
#637538509= ID_ATTRIBUTE('MAT1.1',#637538410);
#637538510= DESCRIPTION_ATTRIBUTE('Elasticity',#637538400);
#637538511= DESCRIPTION_ATTRIBUTE('MassDensity',#637538415);
#637538512= DESCRIPTION_ATTRIBUTE('TangentCTE',#637538420);
#637538513= CONTROL(#637538280,'Control.0','FemConvert',
'MSC.NASTRAN JOB CREATED ON 06-JUL-00 AT 06:14:07',('<SOL>101</SOL>',
'TIME 600','CEND','<GLOBALCASE>0</GLOBALCASE>','<SUBCASE>1</SUBCASE>',
'<SUBCASE>2</SUBCASE>','ENDDATA'),('NASTRAN'));
#637538516= CONTROL_LINEAR_STATIC_ANALYSIS_STEP(#637538513,
'STATIC STEP 2',2,#637538517,'',#637538518);
#637538517= SPECIFIED_STATE('STEP DEFAULT','default_initial_state');
#637538518= CONTROL_LINEAR_STATIC_LOAD_INCREMENT_PROCESS('STATIC STEP 2'
,'',#637538519);
#637538519= SPECIFIED_STATE('Step 2 Base Specified State',
'Relating Specified State');
#637538520= OUTPUT_REQUEST_STATE('Step 2 Output Request State','',(
#637538516));
#637538522= NODAL_FREEDOM_VALUES(#637538520,#637538523,#637538282,
#637538525,(UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.)));
#637538523= NODE_GROUP('','ALL',#637538280,(#637538251,#637538293,
#637538297,#637538301,#637538305,#637538309,#637538313,#637538317,
#637538321,#637538325,#637538329,#637538333,#637538337,#637538341,
#637538345,#637538349,#637538353));
#637538525= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.X_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(
.Y_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(.Z_ROTATION.)));
#637538528= SINGLE_POINT_CONSTRAINT_ELEMENT('SPC1_1.0',(#637538530,
#637538516),#637538251,#637538282,(#637538534,#637538535,#637538536),''
);
#637538530= CONTROL_LINEAR_STATIC_ANALYSIS_STEP(#637538513,
'STATIC STEP 1',1,#637538517,'',#637538531);
#637538531= CONTROL_LINEAR_STATIC_LOAD_INCREMENT_PROCESS('STATIC STEP 1'
,'',#637538532);
#637538532= SPECIFIED_STATE('Step 1 Base Specified State',
'Relating Specified State');
#637538534= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.X_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538535= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.Y_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538536= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.Z_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538537= SINGLE_POINT_CONSTRAINT_ELEMENT_VALUES(#637538538,#637538528
,#637538539,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)
,CONTEXT_DEPENDENT_MEASURE(0.)));
#637538538= SPECIFIED_STATE('SPCVALSTATE_1_2','');
#637538539= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.)));
#637538542= SPECIFIED_STATE('SPCCASE_2_2_1','Aggregator SPC 2 Step 1');
#637538543= STATE_RELATIONSHIP(
'SPCCASE_2_2_1 is related to Step 1 Base Specified State','',#637538532,
#637538542);
#637538544= STATE_RELATIONSHIP(
'SPCVALSTATE_1_2 is related to SPCCASE_2_2_1','',#637538542,#637538538);
#637538545= LINEARLY_SUPERIMPOSED_STATE('LOADSTATECOMBINATION_2',
'Overall Factor Combined State');
#637538547= STATE_RELATIONSHIP(
'LOADSTATECOMBINATION_2 is related to Step 2 Base Specified State','',
#637538519,#637538545);
#637538548= STATE_RELATIONSHIP(
'LOADSTATECOMBINATION_2 is related to Step 1 Base Specified State','',
#637538532,#637538545);
#637538549= STATE_COMPONENT('OverallComp','',#637538545,1.);
#637538551= STATE_RELATIONSHIP(
'LOADSTATEITEM_1 is related to OverallComp','',#637538549,#637538552);
#637538552= LINEARLY_SUPERIMPOSED_STATE('LOADSTATEITEM_1',
'Item Factor State');
#637538553= SPECIFIED_STATE('LOADSTATECORE_1',
'Core Loads Specified State');
#637538554= STATE_RELATIONSHIP(
'LOADSTATECORE_1 is related to ItemComp_2_1','',#637538555,#637538553);
#637538555= STATE_COMPONENT('ItemComp_2_1','',#637538552,1.);
#637538557= NODAL_FREEDOM_ACTION_DEFINITION(#637538553,#637538353,
#637538282,#637538558,(CONTEXT_DEPENDENT_MEASURE(-1000.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538558= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.)));
#637538561= OUTPUT_REQUEST_STATE('Step 1 Output Request State','',(
#637538530));
#637538563= NODAL_FREEDOM_VALUES(#637538561,#637538523,#637538282,
#637538525,(UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.)));
#637538565= ID_ATTRIBUTE('ALL',#637538523);
#637538566= SPECIFIED_STATE('SPCCASE_2_2_2','Aggregator SPC 2 Step 2');
#637538567= STATE_RELATIONSHIP(
'SPCCASE_2_2_2 is related to Step 2 Base Specified State','',#637538519,
#637538566);
ENDSEC;
END-ISO-10303-21;
+559
View File
@@ -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.,'LINEAR_CURVE.CROD',((
ENUMERATED_CURVE_ELEMENT_PURPOSE(.AXIAL.)),(
ENUMERATED_CURVE_ELEMENT_PURPOSE(.TORSION.))));
#637538443= CURVE_3D_ELEMENT_PROPERTY('PROD.1','',(#637538445),(
#637538456,#637538458),(#637538461,#637538464));
#637538445= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538446,#637538447,
#637538449);
#637538446= CURVE_ELEMENT_LOCATION(#637538433);
#637538447= EULER_ANGLES((0.,0.,0.));
#637538449= CURVE_ELEMENT_SECTION_DERIVED_DEFINITIONS('',0.,8.,(
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)),(0.,0.,0.),
0.,CONTEXT_DEPENDENT_MEASURE(0.),(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)),(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)),(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.));
#637538456= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538458= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538461= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538463));
#637538463= CURVE_ELEMENT_END_RELEASE_PACKET(
ENUMERATED_CURVE_ELEMENT_FREEDOM(.NONE.),0.);
#637538464= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538463));
#637538466= CURVE_3D_ELEMENT_REPRESENTATION('15',(#637538429,#637538433)
,#637538435,(#637538347,#637538351),#637538282,#637538439,#637538443,
#637538400);
#637538469= CURVE_3D_ELEMENT_REPRESENTATION('14',(#637538429,#637538433)
,#637538435,(#637538343,#637538347),#637538282,#637538439,#637538443,
#637538400);
#637538472= CURVE_3D_ELEMENT_REPRESENTATION('13',(#637538429,#637538433)
,#637538435,(#637538339,#637538343),#637538282,#637538439,#637538443,
#637538400);
#637538475= CURVE_3D_ELEMENT_REPRESENTATION('12',(#637538429,#637538433)
,#637538435,(#637538335,#637538339),#637538282,#637538439,#637538443,
#637538400);
#637538478= CURVE_3D_ELEMENT_REPRESENTATION('11',(#637538429,#637538433)
,#637538435,(#637538331,#637538335),#637538282,#637538439,#637538443,
#637538400);
#637538481= CURVE_3D_ELEMENT_REPRESENTATION('10',(#637538429,#637538433)
,#637538435,(#637538327,#637538331),#637538282,#637538439,#637538443,
#637538400);
#637538484= CURVE_3D_ELEMENT_REPRESENTATION('9',(#637538429,#637538433),
#637538435,(#637538323,#637538327),#637538282,#637538439,#637538443,
#637538400);
#637538487= CURVE_3D_ELEMENT_REPRESENTATION('8',(#637538429,#637538433),
#637538435,(#637538319,#637538323),#637538282,#637538439,#637538443,
#637538400);
#637538490= CURVE_3D_ELEMENT_REPRESENTATION('7',(#637538429,#637538433),
#637538435,(#637538315,#637538319),#637538282,#637538439,#637538443,
#637538400);
#637538493= CURVE_3D_ELEMENT_REPRESENTATION('6',(#637538429,#637538433),
#637538435,(#637538311,#637538315),#637538282,#637538439,#637538443,
#637538400);
#637538496= CURVE_3D_ELEMENT_REPRESENTATION('5',(#637538429,#637538433),
#637538435,(#637538307,#637538311),#637538282,#637538439,#637538443,
#637538400);
#637538499= CURVE_3D_ELEMENT_REPRESENTATION('4',(#637538429,#637538433),
#637538435,(#637538303,#637538307),#637538282,#637538439,#637538443,
#637538400);
#637538502= CURVE_3D_ELEMENT_REPRESENTATION('3',(#637538429,#637538433),
#637538435,(#637538299,#637538303),#637538282,#637538439,#637538443,
#637538400);
#637538505= CURVE_3D_ELEMENT_REPRESENTATION('2',(#637538429,#637538433),
#637538435,(#637538295,#637538299),#637538282,#637538439,#637538443,
#637538400);
#637538508= CURVE_3D_ELEMENT_REPRESENTATION('1',(#637538429,#637538433),
#637538435,(#637538253,#637538295),#637538282,#637538439,#637538443,
#637538400);
#637538511= ID_ATTRIBUTE('MAT1.1',#637538412);
#637538512= DESCRIPTION_ATTRIBUTE('Elasticity',#637538402);
#637538513= DESCRIPTION_ATTRIBUTE('MassDensity',#637538417);
#637538514= DESCRIPTION_ATTRIBUTE('TangentCTE',#637538422);
#637538515= CONTROL(#637538282,'Control.0','FemConvert',
'MSC.NASTRAN JOB CREATED ON 06-JUL-00 AT 06:14:07',('<SOL>101</SOL>',
'TIME 600','CEND','<GLOBALCASE>0</GLOBALCASE>','<SUBCASE>1</SUBCASE>',
'<SUBCASE>2</SUBCASE>','ENDDATA'),('NASTRAN'));
#637538518= RESULT_LINEAR_STATIC_ANALYSIS_SUB_STEP(#637538515,#637538519
,#637538520);
#637538519= RESULT('Result.0','FemConvert',
'MSC.NASTRAN JOB CREATED ON 06-JUL-00 AT 06:14:07');
#637538520= CALCULATED_STATE('Calculated State for Step 2','');
#637538521= CONTROL_RESULT_RELATIONSHIP(#637538522,#637538518);
#637538522= CONTROL_LINEAR_STATIC_ANALYSIS_STEP(#637538515,
'STATIC STEP 2',2,#637538523,'',#637538524);
#637538523= SPECIFIED_STATE('STEP DEFAULT','default_initial_state');
#637538524= CONTROL_LINEAR_STATIC_LOAD_INCREMENT_PROCESS('STATIC STEP 2'
,'',#637538525);
#637538525= SPECIFIED_STATE('Step 2 Base Specified State',
'Relating Specified State');
#637538526= RESULT_LINEAR_STATIC_ANALYSIS_SUB_STEP(#637538515,#637538519
,#637538527);
#637538527= CALCULATED_STATE('Calculated State for Step 1','');
#637538528= CONTROL_RESULT_RELATIONSHIP(#637538529,#637538526);
#637538529= CONTROL_LINEAR_STATIC_ANALYSIS_STEP(#637538515,
'STATIC STEP 1',1,#637538523,'',#637538530);
#637538530= CONTROL_LINEAR_STATIC_LOAD_INCREMENT_PROCESS('STATIC STEP 1'
,'',#637538531);
#637538531= SPECIFIED_STATE('Step 1 Base Specified State',
'Relating Specified State');
#637538532= SPECIFIED_STATE('SPCCASE_2_2_1','Aggregator SPC 2 Step 1');
#637538533= STATE_RELATIONSHIP(
'SPCCASE_2_2_1 is related to Step 1 Base Specified State','',#637538531,
#637538532);
#637538534= STATE_RELATIONSHIP(
'SPCVALSTATE_1_2 is related to SPCCASE_2_2_1','',#637538532,#637538535);
#637538535= SPECIFIED_STATE('SPCVALSTATE_1_2','');
#637538536= SINGLE_POINT_CONSTRAINT_ELEMENT_VALUES(#637538535,#637538537
,#637538543,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)
,CONTEXT_DEPENDENT_MEASURE(0.)));
#637538537= SINGLE_POINT_CONSTRAINT_ELEMENT('SPC1_1.0',(#637538529,
#637538522),#637538253,#637538284,(#637538540,#637538541,#637538542),''
);
#637538540= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.X_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538541= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.Y_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538542= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.Z_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538543= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.)));
#637538546= LINEARLY_SUPERIMPOSED_STATE('LOADSTATECOMBINATION_2',
'Overall Factor Combined State');
#637538548= STATE_RELATIONSHIP(
'LOADSTATECOMBINATION_2 is related to Step 2 Base Specified State','',
#637538525,#637538546);
#637538549= STATE_RELATIONSHIP(
'LOADSTATECOMBINATION_2 is related to Step 1 Base Specified State','',
#637538531,#637538546);
#637538550= STATE_COMPONENT('OverallComp','',#637538546,1.);
#637538552= STATE_RELATIONSHIP(
'LOADSTATEITEM_1 is related to OverallComp','',#637538550,#637538553);
#637538553= LINEARLY_SUPERIMPOSED_STATE('LOADSTATEITEM_1',
'Item Factor State');
#637538554= SPECIFIED_STATE('LOADSTATECORE_1',
'Core Loads Specified State');
#637538555= STATE_RELATIONSHIP(
'LOADSTATECORE_1 is related to ItemComp_2_1','',#637538556,#637538554);
#637538556= STATE_COMPONENT('ItemComp_2_1','',#637538553,1.);
#637538558= NODAL_FREEDOM_ACTION_DEFINITION(#637538554,#637538355,
#637538284,#637538559,(CONTEXT_DEPENDENT_MEASURE(-1000.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538559= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.)));
#637538562= OUTPUT_REQUEST_STATE('Step 1 Output Request State','',(
#637538529));
#637538564= NODAL_FREEDOM_VALUES(#637538562,#637538565,#637538284,
#637538567,(UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.)));
#637538565= NODE_GROUP('','ALL',#637538282,(#637538253,#637538295,
#637538299,#637538303,#637538307,#637538311,#637538315,#637538319,
#637538323,#637538327,#637538331,#637538335,#637538339,#637538343,
#637538347,#637538351,#637538355));
#637538567= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.X_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(
.Y_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(.Z_ROTATION.)));
#637538570= ID_ATTRIBUTE('ALL',#637538565);
#637538571= SPECIFIED_STATE('SPCCASE_2_2_2','Aggregator SPC 2 Step 2');
#637538572= STATE_RELATIONSHIP(
'SPCCASE_2_2_2 is related to Step 2 Base Specified State','',#637538525,
#637538571);
#637538573= OUTPUT_REQUEST_STATE('Step 2 Output Request State','',(
#637538522));
#637538575= NODAL_FREEDOM_VALUES(#637538573,#637538565,#637538284,
#637538567,(UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.)));
#637538577= NODAL_FREEDOM_VALUES(#637538527,#637538253,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538579= NODAL_FREEDOM_VALUES(#637538527,#637538295,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-1.25000000000000E-5),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538581= NODAL_FREEDOM_VALUES(#637538527,#637538299,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-2.50000000000000E-5),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538583= NODAL_FREEDOM_VALUES(#637538527,#637538303,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-3.75000000000000E-5),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538585= NODAL_FREEDOM_VALUES(#637538527,#637538307,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-5.00000000000000E-5),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538587= NODAL_FREEDOM_VALUES(#637538527,#637538311,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-6.25000000000000E-5),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538589= NODAL_FREEDOM_VALUES(#637538527,#637538315,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-7.50000000000000E-5),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538591= NODAL_FREEDOM_VALUES(#637538527,#637538319,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-8.75000000000000E-5),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538593= NODAL_FREEDOM_VALUES(#637538527,#637538323,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.0001),CONTEXT_DEPENDENT_MEASURE
(0.),CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538595= NODAL_FREEDOM_VALUES(#637538527,#637538327,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.0001125),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538597= NODAL_FREEDOM_VALUES(#637538527,#637538331,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.000125),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538599= NODAL_FREEDOM_VALUES(#637538527,#637538335,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.0001375),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538601= NODAL_FREEDOM_VALUES(#637538527,#637538339,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.00015),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538603= NODAL_FREEDOM_VALUES(#637538527,#637538343,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.0001625),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538605= NODAL_FREEDOM_VALUES(#637538527,#637538347,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.000175),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538607= NODAL_FREEDOM_VALUES(#637538527,#637538351,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.0001875),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538609= NODAL_FREEDOM_VALUES(#637538527,#637538355,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.0002),CONTEXT_DEPENDENT_MEASURE
(0.),CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538611= NODAL_FREEDOM_VALUES(#637538520,#637538253,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538613= NODAL_FREEDOM_VALUES(#637538520,#637538295,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-1.25000000000000E-5),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538615= NODAL_FREEDOM_VALUES(#637538520,#637538299,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-2.50000000000000E-5),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538617= NODAL_FREEDOM_VALUES(#637538520,#637538303,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-3.75000000000000E-5),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538619= NODAL_FREEDOM_VALUES(#637538520,#637538307,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-5.00000000000000E-5),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538621= NODAL_FREEDOM_VALUES(#637538520,#637538311,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-6.25000000000000E-5),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538623= NODAL_FREEDOM_VALUES(#637538520,#637538315,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-7.50000000000000E-5),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538625= NODAL_FREEDOM_VALUES(#637538520,#637538319,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-8.75000000000000E-5),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538627= NODAL_FREEDOM_VALUES(#637538520,#637538323,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.0001),CONTEXT_DEPENDENT_MEASURE
(0.),CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538629= NODAL_FREEDOM_VALUES(#637538520,#637538327,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.0001125),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538631= NODAL_FREEDOM_VALUES(#637538520,#637538331,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.000125),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538633= NODAL_FREEDOM_VALUES(#637538520,#637538335,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.0001375),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538635= NODAL_FREEDOM_VALUES(#637538520,#637538339,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.00015),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538637= NODAL_FREEDOM_VALUES(#637538520,#637538343,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.0001625),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538639= NODAL_FREEDOM_VALUES(#637538520,#637538347,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.000175),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538641= NODAL_FREEDOM_VALUES(#637538520,#637538351,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.0001875),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)));
#637538643= NODAL_FREEDOM_VALUES(#637538520,#637538355,#637538284,
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.0002),CONTEXT_DEPENDENT_MEASURE
(0.),CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
ENDSEC;
END-ISO-10303-21;
+685
View File
@@ -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.,'LINEAR_CURVE.CBAR*',((
ENUMERATED_CURVE_ELEMENT_PURPOSE(.AXIAL.)),(
ENUMERATED_CURVE_ELEMENT_PURPOSE(.Y_Y_BENDING.),
ENUMERATED_CURVE_ELEMENT_PURPOSE(.Z_Z_BENDING.)),(
ENUMERATED_CURVE_ELEMENT_PURPOSE(.TORSION.)),(
ENUMERATED_CURVE_ELEMENT_PURPOSE(.X_Y_SHEAR.),
ENUMERATED_CURVE_ELEMENT_PURPOSE(.X_Z_SHEAR.))));
#637538445= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.16','',(#637538447),(
#637538458,#637538460),(#637538463,#637538470));
#637538447= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538448,#637538449,
#637538451);
#637538448= CURVE_ELEMENT_LOCATION(#637538433);
#637538449= EULER_ANGLES((0.,0.,0.));
#637538451= CURVE_ELEMENT_SECTION_DERIVED_DEFINITIONS('PBAR.1_0',0.,8.,(
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)),(2.667,
10.667,0.),0.,CONTEXT_DEPENDENT_MEASURE(0.),(CONTEXT_DEPENDENT_MEASURE(
0.),CONTEXT_DEPENDENT_MEASURE(0.)),(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)),(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.));
#637538458= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538460= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538463= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538465= CURVE_ELEMENT_END_RELEASE_PACKET(
ENUMERATED_CURVE_ELEMENT_FREEDOM(.X_TRANSLATION.),0.);
#637538466= CURVE_ELEMENT_END_RELEASE_PACKET(
ENUMERATED_CURVE_ELEMENT_FREEDOM(.Y_TRANSLATION.),0.);
#637538467= CURVE_ELEMENT_END_RELEASE_PACKET(
ENUMERATED_CURVE_ELEMENT_FREEDOM(.Z_TRANSLATION.),0.);
#637538468= CURVE_ELEMENT_END_RELEASE_PACKET(
ENUMERATED_CURVE_ELEMENT_FREEDOM(.X_ROTATION.),0.);
#637538469= CURVE_ELEMENT_END_RELEASE_PACKET(
ENUMERATED_CURVE_ELEMENT_FREEDOM(.Z_ROTATION.),0.);
#637538470= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538472= CURVE_3D_ELEMENT_REPRESENTATION('15',(#637538474,#637538433)
,#637538435,(#637538347,#637538351),#637538282,#637538439,#637538479,
#637538400);
#637538474= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538475
);
#637538475= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538476);
#637538476= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538479= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.15','',(#637538481),(
#637538486,#637538488),(#637538491,#637538493));
#637538481= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538482,#637538483,
#637538451);
#637538482= CURVE_ELEMENT_LOCATION(#637538433);
#637538483= EULER_ANGLES((0.,0.,0.));
#637538486= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538488= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538491= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538493= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538495= CURVE_3D_ELEMENT_REPRESENTATION('14',(#637538497,#637538433)
,#637538435,(#637538343,#637538347),#637538282,#637538439,#637538502,
#637538400);
#637538497= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538498
);
#637538498= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538499);
#637538499= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538502= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.14','',(#637538504),(
#637538509,#637538511),(#637538514,#637538516));
#637538504= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538505,#637538506,
#637538451);
#637538505= CURVE_ELEMENT_LOCATION(#637538433);
#637538506= EULER_ANGLES((0.,0.,0.));
#637538509= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538511= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538514= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538516= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538518= CURVE_3D_ELEMENT_REPRESENTATION('13',(#637538520,#637538433)
,#637538435,(#637538339,#637538343),#637538282,#637538439,#637538525,
#637538400);
#637538520= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538521
);
#637538521= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538522);
#637538522= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538525= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.13','',(#637538527),(
#637538532,#637538534),(#637538537,#637538539));
#637538527= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538528,#637538529,
#637538451);
#637538528= CURVE_ELEMENT_LOCATION(#637538433);
#637538529= EULER_ANGLES((0.,0.,0.));
#637538532= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538534= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538537= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538539= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538541= CURVE_3D_ELEMENT_REPRESENTATION('12',(#637538543,#637538433)
,#637538435,(#637538335,#637538339),#637538282,#637538439,#637538548,
#637538400);
#637538543= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538544
);
#637538544= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538545);
#637538545= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538548= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.12','',(#637538550),(
#637538555,#637538557),(#637538560,#637538562));
#637538550= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538551,#637538552,
#637538451);
#637538551= CURVE_ELEMENT_LOCATION(#637538433);
#637538552= EULER_ANGLES((0.,0.,0.));
#637538555= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538557= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538560= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538562= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538564= CURVE_3D_ELEMENT_REPRESENTATION('11',(#637538566,#637538433)
,#637538435,(#637538331,#637538335),#637538282,#637538439,#637538571,
#637538400);
#637538566= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538567
);
#637538567= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538568);
#637538568= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538571= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.11','',(#637538573),(
#637538578,#637538580),(#637538583,#637538585));
#637538573= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538574,#637538575,
#637538451);
#637538574= CURVE_ELEMENT_LOCATION(#637538433);
#637538575= EULER_ANGLES((0.,0.,0.));
#637538578= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538580= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538583= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538585= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538587= CURVE_3D_ELEMENT_REPRESENTATION('10',(#637538589,#637538433)
,#637538435,(#637538327,#637538331),#637538282,#637538439,#637538594,
#637538400);
#637538589= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538590
);
#637538590= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538591);
#637538591= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538594= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.10','',(#637538596),(
#637538601,#637538603),(#637538606,#637538608));
#637538596= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538597,#637538598,
#637538451);
#637538597= CURVE_ELEMENT_LOCATION(#637538433);
#637538598= EULER_ANGLES((0.,0.,0.));
#637538601= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538603= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538606= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538608= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538610= CURVE_3D_ELEMENT_REPRESENTATION('9',(#637538612,#637538433),
#637538435,(#637538323,#637538327),#637538282,#637538439,#637538617,
#637538400);
#637538612= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538613
);
#637538613= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538614);
#637538614= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538617= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.9','',(#637538619),(
#637538624,#637538626),(#637538629,#637538631));
#637538619= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538620,#637538621,
#637538451);
#637538620= CURVE_ELEMENT_LOCATION(#637538433);
#637538621= EULER_ANGLES((0.,0.,0.));
#637538624= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538626= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538629= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538631= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538633= CURVE_3D_ELEMENT_REPRESENTATION('8',(#637538635,#637538433),
#637538435,(#637538319,#637538323),#637538282,#637538439,#637538640,
#637538400);
#637538635= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538636
);
#637538636= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538637);
#637538637= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538640= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.8','',(#637538642),(
#637538647,#637538649),(#637538652,#637538654));
#637538642= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538643,#637538644,
#637538451);
#637538643= CURVE_ELEMENT_LOCATION(#637538433);
#637538644= EULER_ANGLES((0.,0.,0.));
#637538647= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538649= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538652= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538654= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538656= CURVE_3D_ELEMENT_REPRESENTATION('7',(#637538658,#637538433),
#637538435,(#637538315,#637538319),#637538282,#637538439,#637538663,
#637538400);
#637538658= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538659
);
#637538659= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538660);
#637538660= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538663= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.7','',(#637538665),(
#637538670,#637538672),(#637538675,#637538677));
#637538665= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538666,#637538667,
#637538451);
#637538666= CURVE_ELEMENT_LOCATION(#637538433);
#637538667= EULER_ANGLES((0.,0.,0.));
#637538670= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538672= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538675= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538677= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538679= CURVE_3D_ELEMENT_REPRESENTATION('6',(#637538681,#637538433),
#637538435,(#637538311,#637538315),#637538282,#637538439,#637538686,
#637538400);
#637538681= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538682
);
#637538682= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538683);
#637538683= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538686= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.6','',(#637538688),(
#637538693,#637538695),(#637538698,#637538700));
#637538688= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538689,#637538690,
#637538451);
#637538689= CURVE_ELEMENT_LOCATION(#637538433);
#637538690= EULER_ANGLES((0.,0.,0.));
#637538693= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538695= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538698= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538700= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538702= CURVE_3D_ELEMENT_REPRESENTATION('5',(#637538704,#637538433),
#637538435,(#637538307,#637538311),#637538282,#637538439,#637538709,
#637538400);
#637538704= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538705
);
#637538705= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538706);
#637538706= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538709= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.5','',(#637538711),(
#637538716,#637538718),(#637538721,#637538723));
#637538711= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538712,#637538713,
#637538451);
#637538712= CURVE_ELEMENT_LOCATION(#637538433);
#637538713= EULER_ANGLES((0.,0.,0.));
#637538716= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538718= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538721= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538723= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538725= CURVE_3D_ELEMENT_REPRESENTATION('4',(#637538727,#637538433),
#637538435,(#637538303,#637538307),#637538282,#637538439,#637538732,
#637538400);
#637538727= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538728
);
#637538728= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538729);
#637538729= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538732= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.4','',(#637538734),(
#637538739,#637538741),(#637538744,#637538746));
#637538734= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538735,#637538736,
#637538451);
#637538735= CURVE_ELEMENT_LOCATION(#637538433);
#637538736= EULER_ANGLES((0.,0.,0.));
#637538739= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538741= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538744= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538746= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538748= CURVE_3D_ELEMENT_REPRESENTATION('3',(#637538750,#637538433),
#637538435,(#637538299,#637538303),#637538282,#637538439,#637538755,
#637538400);
#637538750= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538751
);
#637538751= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538752);
#637538752= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538755= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.3','',(#637538757),(
#637538762,#637538764),(#637538767,#637538769));
#637538757= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538758,#637538759,
#637538451);
#637538758= CURVE_ELEMENT_LOCATION(#637538433);
#637538759= EULER_ANGLES((0.,0.,0.));
#637538762= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538764= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538767= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538769= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538771= CURVE_3D_ELEMENT_REPRESENTATION('2',(#637538773,#637538433),
#637538435,(#637538295,#637538299),#637538282,#637538439,#637538778,
#637538400);
#637538773= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538774
);
#637538774= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538775);
#637538775= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538778= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.2','',(#637538780),(
#637538785,#637538787),(#637538790,#637538792));
#637538780= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538781,#637538782,
#637538451);
#637538781= CURVE_ELEMENT_LOCATION(#637538433);
#637538782= EULER_ANGLES((0.,0.,0.));
#637538785= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538787= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538790= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538792= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538794= CURVE_3D_ELEMENT_REPRESENTATION('1',(#637538796,#637538433),
#637538435,(#637538253,#637538295),#637538282,#637538439,#637538801,
#637538400);
#637538796= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538797
);
#637538797= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538798);
#637538798= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538801= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.1','',(#637538803),(
#637538808,#637538810),(#637538813,#637538815));
#637538803= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538804,#637538805,
#637538451);
#637538804= CURVE_ELEMENT_LOCATION(#637538433);
#637538805= EULER_ANGLES((0.,0.,0.));
#637538808= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538810= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538813= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538815= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538817= ID_ATTRIBUTE('MAT1.1',#637538412);
#637538818= DESCRIPTION_ATTRIBUTE('Elasticity',#637538402);
#637538819= DESCRIPTION_ATTRIBUTE('MassDensity',#637538417);
#637538820= DESCRIPTION_ATTRIBUTE('TangentCTE',#637538422);
#637538821= CONTROL(#637538282,'Control.0','FemConvert',
'MSC.NASTRAN JOB CREATED ON 10-JUL-00 AT 06:54:00',('<SOL>101</SOL>',
'TIME 600','CEND','<GLOBALCASE>0</GLOBALCASE>','<SUBCASE>1</SUBCASE>',
'ENDDATA 07CFC18D'),('NASTRAN'));
#637538824= CONTROL_LINEAR_STATIC_ANALYSIS_STEP(#637538821,
'STATIC STEP 1',1,#637538825,'',#637538826);
#637538825= SPECIFIED_STATE('STEP DEFAULT','default_initial_state');
#637538826= CONTROL_LINEAR_STATIC_LOAD_INCREMENT_PROCESS('STATIC STEP 1'
,'',#637538827);
#637538827= SPECIFIED_STATE('Step 1 Base Specified State',
'Relating Specified State');
#637538828= OUTPUT_REQUEST_STATE('Step 1 Output Request State','',(
#637538824));
#637538830= NODAL_FREEDOM_VALUES(#637538828,#637538831,#637538284,
#637538833,(UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.)));
#637538831= NODE_GROUP('','ALL',#637538282,(#637538253,#637538295,
#637538299,#637538303,#637538307,#637538311,#637538315,#637538319,
#637538323,#637538327,#637538331,#637538335,#637538339,#637538343,
#637538347,#637538351,#637538355));
#637538833= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.X_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(
.Y_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(.Z_ROTATION.)));
#637538836= SINGLE_POINT_CONSTRAINT_ELEMENT('SPC1_1.0',(#637538824),
#637538253,#637538284,(#637538839,#637538840,#637538841,#637538842,
#637538843,#637538844),'');
#637538839= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.X_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538840= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.Y_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538841= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.Z_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538842= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.X_ROTATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538843= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.Y_ROTATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538844= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.Z_ROTATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538845= SINGLE_POINT_CONSTRAINT_ELEMENT_VALUES(#637538846,#637538836
,#637538847,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)
,CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538846= SPECIFIED_STATE('SPCVALSTATE_1_2','');
#637538847= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.X_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(
.Y_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(.Z_ROTATION.)));
#637538850= SPECIFIED_STATE('SPCCASE_2_2_1','Aggregator SPC 2 Step 1');
#637538851= STATE_RELATIONSHIP(
'SPCCASE_2_2_1 is related to Step 1 Base Specified State','',#637538827,
#637538850);
#637538852= STATE_RELATIONSHIP(
'SPCVALSTATE_1_2 is related to SPCCASE_2_2_1','',#637538850,#637538846);
#637538853= LINEARLY_SUPERIMPOSED_STATE('LOADSTATECOMBINATION_2',
'Overall Factor Combined State');
#637538855= STATE_RELATIONSHIP(
'LOADSTATECOMBINATION_2 is related to Step 1 Base Specified State','',
#637538827,#637538853);
#637538856= STATE_COMPONENT('OverallComp','',#637538853,1.);
#637538858= STATE_RELATIONSHIP(
'LOADSTATEITEM_4 is related to OverallComp','',#637538856,#637538859);
#637538859= LINEARLY_SUPERIMPOSED_STATE('LOADSTATEITEM_4',
'Item Factor State');
#637538860= STATE_RELATIONSHIP(
'LOADSTATEITEM_3 is related to OverallComp','',#637538856,#637538861);
#637538861= LINEARLY_SUPERIMPOSED_STATE('LOADSTATEITEM_3',
'Item Factor State');
#637538862= STATE_RELATIONSHIP(
'LOADSTATEITEM_1 is related to OverallComp','',#637538856,#637538863);
#637538863= LINEARLY_SUPERIMPOSED_STATE('LOADSTATEITEM_1',
'Item Factor State');
#637538864= SPECIFIED_STATE('LOADSTATECORE_1',
'Core Loads Specified State');
#637538865= STATE_RELATIONSHIP(
'LOADSTATECORE_1 is related to ItemComp_2_1','',#637538866,#637538864);
#637538866= STATE_COMPONENT('ItemComp_2_1','',#637538863,1.);
#637538868= NODAL_FREEDOM_ACTION_DEFINITION(#637538864,#637538355,
#637538284,#637538869,(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(-1010.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538869= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.)));
#637538872= SPECIFIED_STATE('LOADSTATECORE_3',
'Core Loads Specified State');
#637538873= STATE_RELATIONSHIP(
'LOADSTATECORE_3 is related to ItemComp_2_3','',#637538874,#637538872);
#637538874= STATE_COMPONENT('ItemComp_2_3','',#637538861,1.);
#637538876= NODAL_FREEDOM_ACTION_DEFINITION(#637538872,#637538331,
#637538284,#637538869,(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(-10.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538878= SPECIFIED_STATE('LOADSTATECORE_4',
'Core Loads Specified State');
#637538879= STATE_RELATIONSHIP(
'LOADSTATECORE_4 is related to ItemComp_2_4','',#637538880,#637538878);
#637538880= STATE_COMPONENT('ItemComp_2_4','',#637538859,1.);
#637538882= NODAL_FREEDOM_ACTION_DEFINITION(#637538878,#637538351,
#637538284,#637538869,(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(-20.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538884= NODAL_FREEDOM_ACTION_DEFINITION(#637538878,#637538347,
#637538284,#637538869,(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(-20.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538886= NODAL_FREEDOM_ACTION_DEFINITION(#637538878,#637538343,
#637538284,#637538869,(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(-20.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538888= NODAL_FREEDOM_ACTION_DEFINITION(#637538878,#637538339,
#637538284,#637538869,(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(-20.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538890= NODAL_FREEDOM_ACTION_DEFINITION(#637538878,#637538335,
#637538284,#637538869,(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(-20.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538892= ID_ATTRIBUTE('ALL',#637538831);
ENDSEC;
END-ISO-10303-21;
+705
View File
@@ -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.,'LINEAR_CURVE.CBAR*',((
ENUMERATED_CURVE_ELEMENT_PURPOSE(.AXIAL.)),(
ENUMERATED_CURVE_ELEMENT_PURPOSE(.Y_Y_BENDING.),
ENUMERATED_CURVE_ELEMENT_PURPOSE(.Z_Z_BENDING.)),(
ENUMERATED_CURVE_ELEMENT_PURPOSE(.TORSION.)),(
ENUMERATED_CURVE_ELEMENT_PURPOSE(.X_Y_SHEAR.),
ENUMERATED_CURVE_ELEMENT_PURPOSE(.X_Z_SHEAR.))));
#637538443= CURVE_3D_ELEMENT_PROPERTY('PBAR.1','',(#637538445),(
#637538456,#637538458),(#637538461,#637538468));
#637538445= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538446,#637538447,
#637538449);
#637538446= CURVE_ELEMENT_LOCATION(#637538431);
#637538447= EULER_ANGLES((0.,0.,0.));
#637538449= CURVE_ELEMENT_SECTION_DERIVED_DEFINITIONS('PBAR.1',0.,8.,(
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)),(2.667,
10.667,0.),0.,CONTEXT_DEPENDENT_MEASURE(0.),(CONTEXT_DEPENDENT_MEASURE(
0.),CONTEXT_DEPENDENT_MEASURE(0.)),(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)),(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.));
#637538456= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538458= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538461= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538463= CURVE_ELEMENT_END_RELEASE_PACKET(
ENUMERATED_CURVE_ELEMENT_FREEDOM(.X_TRANSLATION.),0.);
#637538464= CURVE_ELEMENT_END_RELEASE_PACKET(
ENUMERATED_CURVE_ELEMENT_FREEDOM(.Y_TRANSLATION.),0.);
#637538465= CURVE_ELEMENT_END_RELEASE_PACKET(
ENUMERATED_CURVE_ELEMENT_FREEDOM(.Z_TRANSLATION.),0.);
#637538466= CURVE_ELEMENT_END_RELEASE_PACKET(
ENUMERATED_CURVE_ELEMENT_FREEDOM(.X_ROTATION.),0.);
#637538467= CURVE_ELEMENT_END_RELEASE_PACKET(
ENUMERATED_CURVE_ELEMENT_FREEDOM(.Z_ROTATION.),0.);
#637538468= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538470= CURVE_3D_ELEMENT_REPRESENTATION('15',(#637538472,#637538431)
,#637538433,(#637538345,#637538349),#637538280,#637538437,#637538477,
#637538398);
#637538472= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538473
);
#637538473= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538474);
#637538474= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538477= CURVE_3D_ELEMENT_PROPERTY('PBAR.1','',(#637538479),(
#637538484,#637538486),(#637538489,#637538491));
#637538479= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538480,#637538481,
#637538449);
#637538480= CURVE_ELEMENT_LOCATION(#637538431);
#637538481= EULER_ANGLES((0.,0.,0.));
#637538484= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538486= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538489= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538491= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538493= CURVE_3D_ELEMENT_REPRESENTATION('14',(#637538495,#637538431)
,#637538433,(#637538341,#637538345),#637538280,#637538437,#637538500,
#637538398);
#637538495= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538496
);
#637538496= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538497);
#637538497= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538500= CURVE_3D_ELEMENT_PROPERTY('PBAR.1','',(#637538502),(
#637538507,#637538509),(#637538512,#637538514));
#637538502= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538503,#637538504,
#637538449);
#637538503= CURVE_ELEMENT_LOCATION(#637538431);
#637538504= EULER_ANGLES((0.,0.,0.));
#637538507= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538509= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538512= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538514= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538516= CURVE_3D_ELEMENT_REPRESENTATION('13',(#637538518,#637538431)
,#637538433,(#637538337,#637538341),#637538280,#637538437,#637538523,
#637538398);
#637538518= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538519
);
#637538519= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538520);
#637538520= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538523= CURVE_3D_ELEMENT_PROPERTY('PBAR.1','',(#637538525),(
#637538530,#637538532),(#637538535,#637538537));
#637538525= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538526,#637538527,
#637538449);
#637538526= CURVE_ELEMENT_LOCATION(#637538431);
#637538527= EULER_ANGLES((0.,0.,0.));
#637538530= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538532= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538535= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538537= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538539= CURVE_3D_ELEMENT_REPRESENTATION('12',(#637538541,#637538431)
,#637538433,(#637538333,#637538337),#637538280,#637538437,#637538546,
#637538398);
#637538541= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538542
);
#637538542= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538543);
#637538543= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538546= CURVE_3D_ELEMENT_PROPERTY('PBAR.1','',(#637538548),(
#637538553,#637538555),(#637538558,#637538560));
#637538548= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538549,#637538550,
#637538449);
#637538549= CURVE_ELEMENT_LOCATION(#637538431);
#637538550= EULER_ANGLES((0.,0.,0.));
#637538553= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538555= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538558= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538560= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538562= CURVE_3D_ELEMENT_REPRESENTATION('11',(#637538564,#637538431)
,#637538433,(#637538329,#637538333),#637538280,#637538437,#637538569,
#637538398);
#637538564= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538565
);
#637538565= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538566);
#637538566= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538569= CURVE_3D_ELEMENT_PROPERTY('PBAR.1','',(#637538571),(
#637538576,#637538578),(#637538581,#637538583));
#637538571= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538572,#637538573,
#637538449);
#637538572= CURVE_ELEMENT_LOCATION(#637538431);
#637538573= EULER_ANGLES((0.,0.,0.));
#637538576= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538578= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538581= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538583= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538585= CURVE_3D_ELEMENT_REPRESENTATION('10',(#637538587,#637538431)
,#637538433,(#637538325,#637538329),#637538280,#637538437,#637538592,
#637538398);
#637538587= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538588
);
#637538588= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538589);
#637538589= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538592= CURVE_3D_ELEMENT_PROPERTY('PBAR.1','',(#637538594),(
#637538599,#637538601),(#637538604,#637538606));
#637538594= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538595,#637538596,
#637538449);
#637538595= CURVE_ELEMENT_LOCATION(#637538431);
#637538596= EULER_ANGLES((0.,0.,0.));
#637538599= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538601= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538604= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538606= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538608= CURVE_3D_ELEMENT_REPRESENTATION('9',(#637538610,#637538431),
#637538433,(#637538321,#637538325),#637538280,#637538437,#637538615,
#637538398);
#637538610= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538611
);
#637538611= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538612);
#637538612= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538615= CURVE_3D_ELEMENT_PROPERTY('PBAR.1','',(#637538617),(
#637538622,#637538624),(#637538627,#637538629));
#637538617= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538618,#637538619,
#637538449);
#637538618= CURVE_ELEMENT_LOCATION(#637538431);
#637538619= EULER_ANGLES((0.,0.,0.));
#637538622= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538624= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538627= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538629= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538631= CURVE_3D_ELEMENT_REPRESENTATION('8',(#637538633,#637538431),
#637538433,(#637538317,#637538321),#637538280,#637538437,#637538638,
#637538398);
#637538633= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538634
);
#637538634= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538635);
#637538635= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538638= CURVE_3D_ELEMENT_PROPERTY('PBAR.1','',(#637538640),(
#637538645,#637538647),(#637538650,#637538652));
#637538640= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538641,#637538642,
#637538449);
#637538641= CURVE_ELEMENT_LOCATION(#637538431);
#637538642= EULER_ANGLES((0.,0.,0.));
#637538645= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538647= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538650= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538652= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538654= CURVE_3D_ELEMENT_REPRESENTATION('7',(#637538656,#637538431),
#637538433,(#637538313,#637538317),#637538280,#637538437,#637538661,
#637538398);
#637538656= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538657
);
#637538657= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538658);
#637538658= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538661= CURVE_3D_ELEMENT_PROPERTY('PBAR.1','',(#637538663),(
#637538668,#637538670),(#637538673,#637538675));
#637538663= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538664,#637538665,
#637538449);
#637538664= CURVE_ELEMENT_LOCATION(#637538431);
#637538665= EULER_ANGLES((0.,0.,0.));
#637538668= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538670= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538673= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538675= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538677= CURVE_3D_ELEMENT_REPRESENTATION('6',(#637538679,#637538431),
#637538433,(#637538309,#637538313),#637538280,#637538437,#637538684,
#637538398);
#637538679= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538680
);
#637538680= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538681);
#637538681= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538684= CURVE_3D_ELEMENT_PROPERTY('PBAR.1','',(#637538686),(
#637538691,#637538693),(#637538696,#637538698));
#637538686= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538687,#637538688,
#637538449);
#637538687= CURVE_ELEMENT_LOCATION(#637538431);
#637538688= EULER_ANGLES((0.,0.,0.));
#637538691= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538693= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538696= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538698= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538700= CURVE_3D_ELEMENT_REPRESENTATION('5',(#637538702,#637538431),
#637538433,(#637538305,#637538309),#637538280,#637538437,#637538707,
#637538398);
#637538702= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538703
);
#637538703= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538704);
#637538704= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538707= CURVE_3D_ELEMENT_PROPERTY('PBAR.1','',(#637538709),(
#637538714,#637538716),(#637538719,#637538721));
#637538709= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538710,#637538711,
#637538449);
#637538710= CURVE_ELEMENT_LOCATION(#637538431);
#637538711= EULER_ANGLES((0.,0.,0.));
#637538714= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538716= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538719= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538721= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538723= CURVE_3D_ELEMENT_REPRESENTATION('4',(#637538725,#637538431),
#637538433,(#637538301,#637538305),#637538280,#637538437,#637538730,
#637538398);
#637538725= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538726
);
#637538726= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538727);
#637538727= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538730= CURVE_3D_ELEMENT_PROPERTY('PBAR.1','',(#637538732),(
#637538737,#637538739),(#637538742,#637538744));
#637538732= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538733,#637538734,
#637538449);
#637538733= CURVE_ELEMENT_LOCATION(#637538431);
#637538734= EULER_ANGLES((0.,0.,0.));
#637538737= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538739= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538742= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538744= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538746= CURVE_3D_ELEMENT_REPRESENTATION('3',(#637538748,#637538431),
#637538433,(#637538297,#637538301),#637538280,#637538437,#637538753,
#637538398);
#637538748= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538749
);
#637538749= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538750);
#637538750= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538753= CURVE_3D_ELEMENT_PROPERTY('PBAR.1','',(#637538755),(
#637538760,#637538762),(#637538765,#637538767));
#637538755= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538756,#637538757,
#637538449);
#637538756= CURVE_ELEMENT_LOCATION(#637538431);
#637538757= EULER_ANGLES((0.,0.,0.));
#637538760= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538762= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538765= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538767= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538769= CURVE_3D_ELEMENT_REPRESENTATION('2',(#637538771,#637538431),
#637538433,(#637538293,#637538297),#637538280,#637538437,#637538776,
#637538398);
#637538771= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538772
);
#637538772= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538773);
#637538773= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538776= CURVE_3D_ELEMENT_PROPERTY('PBAR.1','',(#637538778),(
#637538783,#637538785),(#637538788,#637538790));
#637538778= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538779,#637538780,
#637538449);
#637538779= CURVE_ELEMENT_LOCATION(#637538431);
#637538780= EULER_ANGLES((0.,0.,0.));
#637538783= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538785= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538788= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538790= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538792= CURVE_3D_ELEMENT_REPRESENTATION('1',(#637538794,#637538431),
#637538433,(#637538251,#637538293),#637538280,#637538437,#637538799,
#637538398);
#637538794= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538795
);
#637538795= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538796);
#637538796= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538799= CURVE_3D_ELEMENT_PROPERTY('PBAR.1','',(#637538801),(
#637538806,#637538808),(#637538811,#637538813));
#637538801= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538802,#637538803,
#637538449);
#637538802= CURVE_ELEMENT_LOCATION(#637538431);
#637538803= EULER_ANGLES((0.,0.,0.));
#637538806= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538808= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
#637538811= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538813= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
#637538465,#637538466,#637538467));
#637538815= ID_ATTRIBUTE('MAT1.1',#637538410);
#637538816= DESCRIPTION_ATTRIBUTE('Elasticity',#637538400);
#637538817= DESCRIPTION_ATTRIBUTE('MassDensity',#637538415);
#637538818= DESCRIPTION_ATTRIBUTE('TangentCTE',#637538420);
#637538819= CONTROL(#637538280,'Control.0','FemConvert',
'MSC.NASTRAN JOB CREATED ON 10-JUL-00 AT 06:54:00',('<SOL>101</SOL>',
'TIME 600','CEND','<GLOBALCASE>0</GLOBALCASE>','<SUBCASE>1</SUBCASE>',
'<SUBCASE>2</SUBCASE>','ENDDATA'),('NASTRAN'));
#637538822= CONTROL_LINEAR_STATIC_ANALYSIS_STEP(#637538819,
'STATIC STEP 2',2,#637538823,'',#637538824);
#637538823= SPECIFIED_STATE('STEP DEFAULT','default_initial_state');
#637538824= CONTROL_LINEAR_STATIC_LOAD_INCREMENT_PROCESS('STATIC STEP 2'
,'',#637538825);
#637538825= SPECIFIED_STATE('Step 2 Base Specified State',
'Relating Specified State');
#637538826= OUTPUT_REQUEST_STATE('Step 2 Output Request State','',(
#637538822));
#637538828= NODAL_FREEDOM_VALUES(#637538826,#637538829,#637538282,
#637538831,(UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.)));
#637538829= NODE_GROUP('','ALL',#637538280,(#637538251,#637538293,
#637538297,#637538301,#637538305,#637538309,#637538313,#637538317,
#637538321,#637538325,#637538329,#637538333,#637538337,#637538341,
#637538345,#637538349,#637538353));
#637538831= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.X_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(
.Y_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(.Z_ROTATION.)));
#637538834= SINGLE_POINT_CONSTRAINT_ELEMENT('SPC1_1.0',(#637538836,
#637538822),#637538251,#637538282,(#637538840,#637538841,#637538842,
#637538843,#637538844,#637538845),'');
#637538836= CONTROL_LINEAR_STATIC_ANALYSIS_STEP(#637538819,
'STATIC STEP 1',1,#637538823,'',#637538837);
#637538837= CONTROL_LINEAR_STATIC_LOAD_INCREMENT_PROCESS('STATIC STEP 1'
,'',#637538838);
#637538838= SPECIFIED_STATE('Step 1 Base Specified State',
'Relating Specified State');
#637538840= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.X_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538841= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.Y_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538842= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.Z_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538843= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.X_ROTATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538844= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.Y_ROTATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538845= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.Z_ROTATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538846= SINGLE_POINT_CONSTRAINT_ELEMENT_VALUES(#637538847,#637538834
,#637538848,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)
,CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538847= SPECIFIED_STATE('SPCVALSTATE_1_2','');
#637538848= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.X_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(
.Y_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(.Z_ROTATION.)));
#637538851= SPECIFIED_STATE('SPCCASE_2_2_1','Aggregator SPC 2 Step 1');
#637538852= STATE_RELATIONSHIP(
'SPCCASE_2_2_1 is related to Step 1 Base Specified State','',#637538838,
#637538851);
#637538853= STATE_RELATIONSHIP(
'SPCVALSTATE_1_2 is related to SPCCASE_2_2_1','',#637538851,#637538847);
#637538854= LINEARLY_SUPERIMPOSED_STATE('LOADSTATECOMBINATION_2',
'Overall Factor Combined State');
#637538856= STATE_RELATIONSHIP(
'LOADSTATECOMBINATION_2 is related to Step 2 Base Specified State','',
#637538825,#637538854);
#637538857= STATE_RELATIONSHIP(
'LOADSTATECOMBINATION_2 is related to Step 1 Base Specified State','',
#637538838,#637538854);
#637538858= STATE_COMPONENT('OverallComp','',#637538854,1.);
#637538860= STATE_RELATIONSHIP(
'LOADSTATEITEM_4 is related to OverallComp','',#637538858,#637538861);
#637538861= LINEARLY_SUPERIMPOSED_STATE('LOADSTATEITEM_4',
'Item Factor State');
#637538862= STATE_RELATIONSHIP(
'LOADSTATEITEM_3 is related to OverallComp','',#637538858,#637538863);
#637538863= LINEARLY_SUPERIMPOSED_STATE('LOADSTATEITEM_3',
'Item Factor State');
#637538864= STATE_RELATIONSHIP(
'LOADSTATEITEM_1 is related to OverallComp','',#637538858,#637538865);
#637538865= LINEARLY_SUPERIMPOSED_STATE('LOADSTATEITEM_1',
'Item Factor State');
#637538866= SPECIFIED_STATE('LOADSTATECORE_1',
'Core Loads Specified State');
#637538867= STATE_RELATIONSHIP(
'LOADSTATECORE_1 is related to ItemComp_2_1','',#637538868,#637538866);
#637538868= STATE_COMPONENT('ItemComp_2_1','',#637538865,1.);
#637538870= NODAL_FREEDOM_ACTION_DEFINITION(#637538866,#637538353,
#637538282,#637538871,(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(-1010.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538871= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.)));
#637538874= SPECIFIED_STATE('LOADSTATECORE_3',
'Core Loads Specified State');
#637538875= STATE_RELATIONSHIP(
'LOADSTATECORE_3 is related to ItemComp_2_3','',#637538876,#637538874);
#637538876= STATE_COMPONENT('ItemComp_2_3','',#637538863,1.);
#637538878= NODAL_FREEDOM_ACTION_DEFINITION(#637538874,#637538329,
#637538282,#637538871,(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(-10.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538880= SPECIFIED_STATE('LOADSTATECORE_4',
'Core Loads Specified State');
#637538881= STATE_RELATIONSHIP(
'LOADSTATECORE_4 is related to ItemComp_2_4','',#637538882,#637538880);
#637538882= STATE_COMPONENT('ItemComp_2_4','',#637538861,1.);
#637538884= NODAL_FREEDOM_ACTION_DEFINITION(#637538880,#637538349,
#637538282,#637538871,(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(-20.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538886= NODAL_FREEDOM_ACTION_DEFINITION(#637538880,#637538345,
#637538282,#637538871,(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(-20.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538888= NODAL_FREEDOM_ACTION_DEFINITION(#637538880,#637538341,
#637538282,#637538871,(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(-20.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538890= NODAL_FREEDOM_ACTION_DEFINITION(#637538880,#637538337,
#637538282,#637538871,(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(-20.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538892= NODAL_FREEDOM_ACTION_DEFINITION(#637538880,#637538333,
#637538282,#637538871,(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(-20.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538894= OUTPUT_REQUEST_STATE('Step 1 Output Request State','',(
#637538836));
#637538896= NODAL_FREEDOM_VALUES(#637538894,#637538829,#637538282,
#637538831,(UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.)));
#637538898= ID_ATTRIBUTE('ALL',#637538829);
#637538899= SPECIFIED_STATE('SPCCASE_2_2_2','Aggregator SPC 2 Step 2');
#637538900= STATE_RELATIONSHIP(
'SPCCASE_2_2_2 is related to Step 2 Base Specified State','',#637538825,
#637538899);
ENDSEC;
END-ISO-10303-21;
+851
View File
@@ -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.,'LINEAR_CURVE.CBAR*',((
ENUMERATED_CURVE_ELEMENT_PURPOSE(.AXIAL.)),(
ENUMERATED_CURVE_ELEMENT_PURPOSE(.Y_Y_BENDING.),
ENUMERATED_CURVE_ELEMENT_PURPOSE(.Z_Z_BENDING.)),(
ENUMERATED_CURVE_ELEMENT_PURPOSE(.TORSION.)),(
ENUMERATED_CURVE_ELEMENT_PURPOSE(.X_Y_SHEAR.),
ENUMERATED_CURVE_ELEMENT_PURPOSE(.X_Z_SHEAR.))));
#637538445= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.16','',(#637538447),(
#637538458,#637538460),(#637538463,#637538470));
#637538447= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538448,#637538449,
#637538451);
#637538448= CURVE_ELEMENT_LOCATION(#637538433);
#637538449= EULER_ANGLES((0.,0.,0.));
#637538451= CURVE_ELEMENT_SECTION_DERIVED_DEFINITIONS('PBAR.1_0',0.,8.,(
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)),(2.667,
10.667,0.),0.,CONTEXT_DEPENDENT_MEASURE(0.),(CONTEXT_DEPENDENT_MEASURE(
0.),CONTEXT_DEPENDENT_MEASURE(0.)),(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)),(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.)),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.));
#637538458= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538460= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538463= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538465= CURVE_ELEMENT_END_RELEASE_PACKET(
ENUMERATED_CURVE_ELEMENT_FREEDOM(.X_TRANSLATION.),0.);
#637538466= CURVE_ELEMENT_END_RELEASE_PACKET(
ENUMERATED_CURVE_ELEMENT_FREEDOM(.Y_TRANSLATION.),0.);
#637538467= CURVE_ELEMENT_END_RELEASE_PACKET(
ENUMERATED_CURVE_ELEMENT_FREEDOM(.Z_TRANSLATION.),0.);
#637538468= CURVE_ELEMENT_END_RELEASE_PACKET(
ENUMERATED_CURVE_ELEMENT_FREEDOM(.X_ROTATION.),0.);
#637538469= CURVE_ELEMENT_END_RELEASE_PACKET(
ENUMERATED_CURVE_ELEMENT_FREEDOM(.Z_ROTATION.),0.);
#637538470= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538472= CURVE_3D_ELEMENT_REPRESENTATION('15',(#637538474,#637538433)
,#637538435,(#637538347,#637538351),#637538282,#637538439,#637538479,
#637538400);
#637538474= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538475
);
#637538475= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538476);
#637538476= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538479= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.15','',(#637538481),(
#637538486,#637538488),(#637538491,#637538493));
#637538481= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538482,#637538483,
#637538451);
#637538482= CURVE_ELEMENT_LOCATION(#637538433);
#637538483= EULER_ANGLES((0.,0.,0.));
#637538486= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538488= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538491= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538493= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538495= CURVE_3D_ELEMENT_REPRESENTATION('14',(#637538497,#637538433)
,#637538435,(#637538343,#637538347),#637538282,#637538439,#637538502,
#637538400);
#637538497= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538498
);
#637538498= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538499);
#637538499= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538502= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.14','',(#637538504),(
#637538509,#637538511),(#637538514,#637538516));
#637538504= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538505,#637538506,
#637538451);
#637538505= CURVE_ELEMENT_LOCATION(#637538433);
#637538506= EULER_ANGLES((0.,0.,0.));
#637538509= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538511= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538514= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538516= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538518= CURVE_3D_ELEMENT_REPRESENTATION('13',(#637538520,#637538433)
,#637538435,(#637538339,#637538343),#637538282,#637538439,#637538525,
#637538400);
#637538520= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538521
);
#637538521= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538522);
#637538522= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538525= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.13','',(#637538527),(
#637538532,#637538534),(#637538537,#637538539));
#637538527= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538528,#637538529,
#637538451);
#637538528= CURVE_ELEMENT_LOCATION(#637538433);
#637538529= EULER_ANGLES((0.,0.,0.));
#637538532= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538534= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538537= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538539= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538541= CURVE_3D_ELEMENT_REPRESENTATION('12',(#637538543,#637538433)
,#637538435,(#637538335,#637538339),#637538282,#637538439,#637538548,
#637538400);
#637538543= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538544
);
#637538544= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538545);
#637538545= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538548= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.12','',(#637538550),(
#637538555,#637538557),(#637538560,#637538562));
#637538550= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538551,#637538552,
#637538451);
#637538551= CURVE_ELEMENT_LOCATION(#637538433);
#637538552= EULER_ANGLES((0.,0.,0.));
#637538555= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538557= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538560= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538562= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538564= CURVE_3D_ELEMENT_REPRESENTATION('11',(#637538566,#637538433)
,#637538435,(#637538331,#637538335),#637538282,#637538439,#637538571,
#637538400);
#637538566= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538567
);
#637538567= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538568);
#637538568= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538571= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.11','',(#637538573),(
#637538578,#637538580),(#637538583,#637538585));
#637538573= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538574,#637538575,
#637538451);
#637538574= CURVE_ELEMENT_LOCATION(#637538433);
#637538575= EULER_ANGLES((0.,0.,0.));
#637538578= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538580= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538583= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538585= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538587= CURVE_3D_ELEMENT_REPRESENTATION('10',(#637538589,#637538433)
,#637538435,(#637538327,#637538331),#637538282,#637538439,#637538594,
#637538400);
#637538589= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538590
);
#637538590= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538591);
#637538591= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538594= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.10','',(#637538596),(
#637538601,#637538603),(#637538606,#637538608));
#637538596= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538597,#637538598,
#637538451);
#637538597= CURVE_ELEMENT_LOCATION(#637538433);
#637538598= EULER_ANGLES((0.,0.,0.));
#637538601= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538603= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538606= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538608= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538610= CURVE_3D_ELEMENT_REPRESENTATION('9',(#637538612,#637538433),
#637538435,(#637538323,#637538327),#637538282,#637538439,#637538617,
#637538400);
#637538612= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538613
);
#637538613= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538614);
#637538614= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538617= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.9','',(#637538619),(
#637538624,#637538626),(#637538629,#637538631));
#637538619= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538620,#637538621,
#637538451);
#637538620= CURVE_ELEMENT_LOCATION(#637538433);
#637538621= EULER_ANGLES((0.,0.,0.));
#637538624= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538626= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538629= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538631= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538633= CURVE_3D_ELEMENT_REPRESENTATION('8',(#637538635,#637538433),
#637538435,(#637538319,#637538323),#637538282,#637538439,#637538640,
#637538400);
#637538635= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538636
);
#637538636= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538637);
#637538637= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538640= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.8','',(#637538642),(
#637538647,#637538649),(#637538652,#637538654));
#637538642= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538643,#637538644,
#637538451);
#637538643= CURVE_ELEMENT_LOCATION(#637538433);
#637538644= EULER_ANGLES((0.,0.,0.));
#637538647= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538649= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538652= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538654= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538656= CURVE_3D_ELEMENT_REPRESENTATION('7',(#637538658,#637538433),
#637538435,(#637538315,#637538319),#637538282,#637538439,#637538663,
#637538400);
#637538658= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538659
);
#637538659= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538660);
#637538660= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538663= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.7','',(#637538665),(
#637538670,#637538672),(#637538675,#637538677));
#637538665= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538666,#637538667,
#637538451);
#637538666= CURVE_ELEMENT_LOCATION(#637538433);
#637538667= EULER_ANGLES((0.,0.,0.));
#637538670= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538672= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538675= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538677= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538679= CURVE_3D_ELEMENT_REPRESENTATION('6',(#637538681,#637538433),
#637538435,(#637538311,#637538315),#637538282,#637538439,#637538686,
#637538400);
#637538681= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538682
);
#637538682= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538683);
#637538683= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538686= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.6','',(#637538688),(
#637538693,#637538695),(#637538698,#637538700));
#637538688= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538689,#637538690,
#637538451);
#637538689= CURVE_ELEMENT_LOCATION(#637538433);
#637538690= EULER_ANGLES((0.,0.,0.));
#637538693= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538695= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538698= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538700= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538702= CURVE_3D_ELEMENT_REPRESENTATION('5',(#637538704,#637538433),
#637538435,(#637538307,#637538311),#637538282,#637538439,#637538709,
#637538400);
#637538704= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538705
);
#637538705= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538706);
#637538706= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538709= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.5','',(#637538711),(
#637538716,#637538718),(#637538721,#637538723));
#637538711= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538712,#637538713,
#637538451);
#637538712= CURVE_ELEMENT_LOCATION(#637538433);
#637538713= EULER_ANGLES((0.,0.,0.));
#637538716= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538718= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538721= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538723= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538725= CURVE_3D_ELEMENT_REPRESENTATION('4',(#637538727,#637538433),
#637538435,(#637538303,#637538307),#637538282,#637538439,#637538732,
#637538400);
#637538727= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538728
);
#637538728= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538729);
#637538729= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538732= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.4','',(#637538734),(
#637538739,#637538741),(#637538744,#637538746));
#637538734= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538735,#637538736,
#637538451);
#637538735= CURVE_ELEMENT_LOCATION(#637538433);
#637538736= EULER_ANGLES((0.,0.,0.));
#637538739= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538741= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538744= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538746= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538748= CURVE_3D_ELEMENT_REPRESENTATION('3',(#637538750,#637538433),
#637538435,(#637538299,#637538303),#637538282,#637538439,#637538755,
#637538400);
#637538750= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538751
);
#637538751= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538752);
#637538752= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538755= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.3','',(#637538757),(
#637538762,#637538764),(#637538767,#637538769));
#637538757= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538758,#637538759,
#637538451);
#637538758= CURVE_ELEMENT_LOCATION(#637538433);
#637538759= EULER_ANGLES((0.,0.,0.));
#637538762= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538764= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538767= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538769= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538771= CURVE_3D_ELEMENT_REPRESENTATION('2',(#637538773,#637538433),
#637538435,(#637538295,#637538299),#637538282,#637538439,#637538778,
#637538400);
#637538773= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538774
);
#637538774= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538775);
#637538775= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538778= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.2','',(#637538780),(
#637538785,#637538787),(#637538790,#637538792));
#637538780= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538781,#637538782,
#637538451);
#637538781= CURVE_ELEMENT_LOCATION(#637538433);
#637538782= EULER_ANGLES((0.,0.,0.));
#637538785= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538787= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538790= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538792= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538794= CURVE_3D_ELEMENT_REPRESENTATION('1',(#637538796,#637538433),
#637538435,(#637538253,#637538295),#637538282,#637538439,#637538801,
#637538400);
#637538796= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538797
);
#637538797= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
#637538798);
#637538798= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
#637538801= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.1','',(#637538803),(
#637538808,#637538810),(#637538813,#637538815));
#637538803= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538804,#637538805,
#637538451);
#637538804= CURVE_ELEMENT_LOCATION(#637538433);
#637538805= EULER_ANGLES((0.,0.,0.));
#637538808= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538810= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
#637538813= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538815= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
#637538467,#637538468,#637538469));
#637538817= ID_ATTRIBUTE('MAT1.1',#637538412);
#637538818= DESCRIPTION_ATTRIBUTE('Elasticity',#637538402);
#637538819= DESCRIPTION_ATTRIBUTE('MassDensity',#637538417);
#637538820= DESCRIPTION_ATTRIBUTE('TangentCTE',#637538422);
#637538821= CONTROL(#637538282,'Control.0','FemConvert',
'MSC.NASTRAN JOB CREATED ON 10-JUL-00 AT 06:54:00',('<SOL>101</SOL>',
'TIME 600','CEND','<GLOBALCASE>0</GLOBALCASE>','<SUBCASE>1</SUBCASE>',
'<SUBCASE>2</SUBCASE>','ENDDATA'),('NASTRAN'));
#637538824= RESULT_LINEAR_STATIC_ANALYSIS_SUB_STEP(#637538821,#637538825
,#637538826);
#637538825= RESULT('Result.0','FemConvert',
'MSC.NASTRAN JOB CREATED ON 10-JUL-00 AT 06:54:00');
#637538826= CALCULATED_STATE('Calculated State for Step 2','');
#637538827= CONTROL_RESULT_RELATIONSHIP(#637538828,#637538824);
#637538828= CONTROL_LINEAR_STATIC_ANALYSIS_STEP(#637538821,
'STATIC STEP 2',2,#637538829,'',#637538830);
#637538829= SPECIFIED_STATE('STEP DEFAULT','default_initial_state');
#637538830= CONTROL_LINEAR_STATIC_LOAD_INCREMENT_PROCESS('STATIC STEP 2'
,'',#637538831);
#637538831= SPECIFIED_STATE('Step 2 Base Specified State',
'Relating Specified State');
#637538832= RESULT_LINEAR_STATIC_ANALYSIS_SUB_STEP(#637538821,#637538825
,#637538833);
#637538833= CALCULATED_STATE('Calculated State for Step 1','');
#637538834= CONTROL_RESULT_RELATIONSHIP(#637538835,#637538832);
#637538835= CONTROL_LINEAR_STATIC_ANALYSIS_STEP(#637538821,
'STATIC STEP 1',1,#637538829,'',#637538836);
#637538836= CONTROL_LINEAR_STATIC_LOAD_INCREMENT_PROCESS('STATIC STEP 1'
,'',#637538837);
#637538837= SPECIFIED_STATE('Step 1 Base Specified State',
'Relating Specified State');
#637538838= SPECIFIED_STATE('SPCCASE_2_2_1','Aggregator SPC 2 Step 1');
#637538839= STATE_RELATIONSHIP(
'SPCCASE_2_2_1 is related to Step 1 Base Specified State','',#637538837,
#637538838);
#637538840= STATE_RELATIONSHIP(
'SPCVALSTATE_1_2 is related to SPCCASE_2_2_1','',#637538838,#637538841);
#637538841= SPECIFIED_STATE('SPCVALSTATE_1_2','');
#637538842= SINGLE_POINT_CONSTRAINT_ELEMENT_VALUES(#637538841,#637538843
,#637538852,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)
,CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538843= SINGLE_POINT_CONSTRAINT_ELEMENT('SPC1_1.0',(#637538835,
#637538828),#637538253,#637538284,(#637538846,#637538847,#637538848,
#637538849,#637538850,#637538851),'');
#637538846= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.X_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538847= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.Y_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538848= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.Z_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538849= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.X_ROTATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538850= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.Y_ROTATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538851= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
.Z_ROTATION.),CONTEXT_DEPENDENT_MEASURE(1.));
#637538852= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.X_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(
.Y_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(.Z_ROTATION.)));
#637538855= LINEARLY_SUPERIMPOSED_STATE('LOADSTATECOMBINATION_2',
'Overall Factor Combined State');
#637538857= STATE_RELATIONSHIP(
'LOADSTATECOMBINATION_2 is related to Step 2 Base Specified State','',
#637538831,#637538855);
#637538858= STATE_RELATIONSHIP(
'LOADSTATECOMBINATION_2 is related to Step 1 Base Specified State','',
#637538837,#637538855);
#637538859= STATE_COMPONENT('OverallComp','',#637538855,1.);
#637538861= STATE_RELATIONSHIP(
'LOADSTATEITEM_4 is related to OverallComp','',#637538859,#637538862);
#637538862= LINEARLY_SUPERIMPOSED_STATE('LOADSTATEITEM_4',
'Item Factor State');
#637538863= STATE_RELATIONSHIP(
'LOADSTATEITEM_3 is related to OverallComp','',#637538859,#637538864);
#637538864= LINEARLY_SUPERIMPOSED_STATE('LOADSTATEITEM_3',
'Item Factor State');
#637538865= STATE_RELATIONSHIP(
'LOADSTATEITEM_1 is related to OverallComp','',#637538859,#637538866);
#637538866= LINEARLY_SUPERIMPOSED_STATE('LOADSTATEITEM_1',
'Item Factor State');
#637538867= SPECIFIED_STATE('LOADSTATECORE_1',
'Core Loads Specified State');
#637538868= STATE_RELATIONSHIP(
'LOADSTATECORE_1 is related to ItemComp_2_1','',#637538869,#637538867);
#637538869= STATE_COMPONENT('ItemComp_2_1','',#637538866,1.);
#637538871= NODAL_FREEDOM_ACTION_DEFINITION(#637538867,#637538355,
#637538284,#637538872,(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(-1010.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538872= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.)));
#637538875= SPECIFIED_STATE('LOADSTATECORE_3',
'Core Loads Specified State');
#637538876= STATE_RELATIONSHIP(
'LOADSTATECORE_3 is related to ItemComp_2_3','',#637538877,#637538875);
#637538877= STATE_COMPONENT('ItemComp_2_3','',#637538864,1.);
#637538879= NODAL_FREEDOM_ACTION_DEFINITION(#637538875,#637538331,
#637538284,#637538872,(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(-10.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538881= SPECIFIED_STATE('LOADSTATECORE_4',
'Core Loads Specified State');
#637538882= STATE_RELATIONSHIP(
'LOADSTATECORE_4 is related to ItemComp_2_4','',#637538883,#637538881);
#637538883= STATE_COMPONENT('ItemComp_2_4','',#637538862,1.);
#637538885= NODAL_FREEDOM_ACTION_DEFINITION(#637538881,#637538351,
#637538284,#637538872,(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(-20.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538887= NODAL_FREEDOM_ACTION_DEFINITION(#637538881,#637538347,
#637538284,#637538872,(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(-20.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538889= NODAL_FREEDOM_ACTION_DEFINITION(#637538881,#637538343,
#637538284,#637538872,(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(-20.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538891= NODAL_FREEDOM_ACTION_DEFINITION(#637538881,#637538339,
#637538284,#637538872,(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(-20.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538893= NODAL_FREEDOM_ACTION_DEFINITION(#637538881,#637538335,
#637538284,#637538872,(CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(-20.),CONTEXT_DEPENDENT_MEASURE(0.)),
.APPLIED_LOADS.);
#637538895= OUTPUT_REQUEST_STATE('Step 1 Output Request State','',(
#637538835));
#637538897= NODAL_FREEDOM_VALUES(#637538895,#637538898,#637538284,
#637538900,(UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.)));
#637538898= NODE_GROUP('','ALL',#637538282,(#637538253,#637538295,
#637538299,#637538303,#637538307,#637538311,#637538315,#637538319,
#637538323,#637538327,#637538331,#637538335,#637538339,#637538343,
#637538347,#637538351,#637538355));
#637538900= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.),
ENUMERATED_DEGREE_OF_FREEDOM(.X_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(
.Y_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(.Z_ROTATION.)));
#637538903= ID_ATTRIBUTE('ALL',#637538898);
#637538904= SPECIFIED_STATE('SPCCASE_2_2_2','Aggregator SPC 2 Step 2');
#637538905= STATE_RELATIONSHIP(
'SPCCASE_2_2_2 is related to Step 2 Base Specified State','',#637538831,
#637538904);
#637538906= OUTPUT_REQUEST_STATE('Step 2 Output Request State','',(
#637538828));
#637538908= NODAL_FREEDOM_VALUES(#637538906,#637538898,#637538284,
#637538900,(UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
.UNSPECIFIED.)));
#637538910= NODAL_FREEDOM_VALUES(#637538833,#637538253,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538912= NODAL_FREEDOM_VALUES(#637538833,#637538295,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538914= NODAL_FREEDOM_VALUES(#637538833,#637538299,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538916= NODAL_FREEDOM_VALUES(#637538833,#637538303,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538918= NODAL_FREEDOM_VALUES(#637538833,#637538307,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538920= NODAL_FREEDOM_VALUES(#637538833,#637538311,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538922= NODAL_FREEDOM_VALUES(#637538833,#637538315,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538924= NODAL_FREEDOM_VALUES(#637538833,#637538319,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538926= NODAL_FREEDOM_VALUES(#637538833,#637538323,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538928= NODAL_FREEDOM_VALUES(#637538833,#637538327,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538930= NODAL_FREEDOM_VALUES(#637538833,#637538331,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538932= NODAL_FREEDOM_VALUES(#637538833,#637538335,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538934= NODAL_FREEDOM_VALUES(#637538833,#637538339,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538936= NODAL_FREEDOM_VALUES(#637538833,#637538343,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538938= NODAL_FREEDOM_VALUES(#637538833,#637538347,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538940= NODAL_FREEDOM_VALUES(#637538833,#637538351,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538942= NODAL_FREEDOM_VALUES(#637538833,#637538355,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538944= NODAL_FREEDOM_VALUES(#637538826,#637538253,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538946= NODAL_FREEDOM_VALUES(#637538826,#637538295,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538948= NODAL_FREEDOM_VALUES(#637538826,#637538299,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538950= NODAL_FREEDOM_VALUES(#637538826,#637538303,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538952= NODAL_FREEDOM_VALUES(#637538826,#637538307,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538954= NODAL_FREEDOM_VALUES(#637538826,#637538311,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538956= NODAL_FREEDOM_VALUES(#637538826,#637538315,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538958= NODAL_FREEDOM_VALUES(#637538826,#637538319,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538960= NODAL_FREEDOM_VALUES(#637538826,#637538323,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538962= NODAL_FREEDOM_VALUES(#637538826,#637538327,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538964= NODAL_FREEDOM_VALUES(#637538826,#637538331,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538966= NODAL_FREEDOM_VALUES(#637538826,#637538335,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538968= NODAL_FREEDOM_VALUES(#637538826,#637538339,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538970= NODAL_FREEDOM_VALUES(#637538826,#637538343,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538972= NODAL_FREEDOM_VALUES(#637538826,#637538347,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538974= NODAL_FREEDOM_VALUES(#637538826,#637538351,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
#637538976= NODAL_FREEDOM_VALUES(#637538826,#637538355,#637538284,
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
ENDSEC;
END-ISO-10303-21;
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+23477 -21817
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+3 -5
View File
@@ -1,8 +1,6 @@
SET(scl_MANS
man/man1/dataprobe.1
SET(sc_MANS
man/man1/fedex.1
man/man1/fedex_plus.1
man/man1/mkProbe.1
man/man1/exp2cxx.1
)
if(NOT DEFINED MAN_DIR)
@@ -10,5 +8,5 @@ if(NOT DEFINED MAN_DIR)
endif(NOT DEFINED MAN_DIR)
IF(NOT WIN32)
INSTALL(FILES ${scl_MANS} DESTINATION ${CMAKE_INSTALL_PREFIX}/${MAN_DIR}/man1)
INSTALL(FILES ${sc_MANS} DESTINATION ${MAN_DIR}/man1)
ENDIF(NOT WIN32)
+2 -2
View File
@@ -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>
-680
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).
@@ -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
-195
View File
@@ -1,195 +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: mkProbe.1,v 2.1.0.3 1997/10/23 17:03:36 kcm Exp $
.TH MKPROBE 1 "23 October 1997"
.SH NAME
mkProbe - script file used to generate a Data Probe or Part 21 file
reader executable for an EXPRESS schema.
.SH SYNOPSIS
.B mkProbe
[
.B -ilsSpP
]
[
.B -R
.I pdes-root
]
[
.B -E
.I express-path
]
.I express-file schema-name
.SH DESCRIPTION
.LP
mkProbe enables you to create a C++ library based on an EXPRESS file
and an executable Data Probe or Part 21 file reader application. The
Data Probe allows you to examine, input, and modify a data file
corresponding to an EXPRESS schema. The Data Probe generated is
specific to the express-file given as the first argument in the
mkProbe command. The Part 21 file reader simply reads and writes a
Part 21 file and outputs any errors encountered in the file.
.LP
The schema-name argument designates a location in which to place the
executable. The directory selected (see OPTIONS below) is searched
for the schema name provided. If schema-name does not exist, a
directory will be created using the name provided. schema-name is
also used as a suffix for the name of the executable.
.LP
A new directory is created under the directory from which the script
was run. fedex_plus is called from this directory to generate the C++
classes to represent the schema information (a.k.a. the Schema Class
Library.)
The new directory contains the following:
.nf
.ft B
1) the source code for the C++ classes generated by fedex_plus using
the first argument,
2) the object files generated from the source code above,
3) the library created from the object files above,
4) your new Data Probe executable (or p21read if the -p option was
used.)
i.e. under the directory from which the
script was run you will find the
following executable:
{schema-name}/dp_{schema-name}
(or {schema-name}/p21read_{schema-name})
.fi
.ft R
.SH OPTIONS
.TP
.B -i
Indicates that the new Data Probe should be installed into the PDES
root directory. If -i is not specified the new Data Probe will be
created in the directory from which the mkProbe script is run.
.TP
.B -l
Tells the script to only generate the library for the schema, and
not to create the Data Probe application.
.TP
.B -p
.PD 0
.TP
.B -P
Tells the script to generate the Part 21 file reader for the schema,
rather than the Data Probe application.
.TP
.B -s
.PD 0
.TP
.B -S
Tells fedex_plus to use only single-inheritance, rather than multiple
inheritance.
.PD
.TP
.BI -R " pdes_root"
Set the PDES root directory. This is the directory that mkProbe will
consider the root of the source tree.
The PDES root directory can also be defined by the environment
variable PDES_ROOT. This variable should be set using the appropriate
shell command. For example, C shell users would give the command
.nf
.ft B
setenv PDES_ROOT ~pdes
.fi
.ft R
If the
.B -r
option is not given, and the PDES_ROOT environment variable is not
set, mkProbe looks for the directory /proj/pdevel to use as the root.
.TP
.BI -E " express-path"
Specifies an EXPRESS_PATH environment variable to be used when
fedex_plus is executed in mkProbe. If this option is not set, mkProbe
will use the current EXPRESS_PATH environment variable. For more
information, see the documentation on the
.I NIST EXPRESS Toolkit.
.TP
.I express-file
The Express file used to create the schema specific Data Probe.
.TP
.I schema-name
A schema name which is used for naming a new directory and the Data
Probe executable.
.SH EXAMPLES
.nf
.ft B
Input command line location and name
----------------------------------------------------
mkProbe part41.exp pt41 ./pt41/dp_pt41
mkProbe -p part41.exp pt41 ./pt41/p21read_pt41
mkProbe -i part41.exp pt41 $PDES_ROOT/arch/Probes/pt41/dp_pt41
.ft R
.SH OUTPUT
If errors are detected, the output generated shows the following:
- Errors in input
- Compilation errors
If no errors are encountered, the output generated shows
the following:
- The name of the new Data Probe generated
- Instructions for running Data Probe
.SH SEE ALSO
fedex_plus(1)
.LP
http://scl.nist.gov
.LP
ISO 10303-11:1994
.I
\Industrial Automation Systems and Integration - Product Data \
Representation and Exchange - Part 11: Description Methods: The \
EXPRESS Language Reference Manual.
.LP
Morris, K.C., Sauderd, D., Ressler, S.,
.I
\Validation Testing System: Reusable Software Component Design,
NISTIR 4937, National Institute of Standards and Technology, October
1992.
.LP
Sauder, D.,
.I
\Data Probe Users Guide,
NISTIR 5141, National Institute of Standards and Technology, March
1993.
.SH NOTE
.LP
All NISTIR documents may be obtained through the National Technical
Information Service (NTIS), Springfield VA 22161, USA or through the
web. See http://scl.nist.gov for a listing of related
documentation.
+91
View File
@@ -0,0 +1,91 @@
#
# CMakeLists.txt for AP203 Minimum
#
# This file is released to the public domain. Any part of this file may be
# freely copied in part or in full for any purpose. No acknowledgment is required
# for the use of this file.
#
PROJECT( AP203Minimum )
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
# Set STEPCODE_ROOT_DIR to point to the root of the STEPcode source tree.
if( NOT DEFINED STEPCODE_ROOT_DIR )
message( FATAL_ERROR "STEPCODE_ROOT_DIR is not defined! Set via cmake-gui or on command line:\n cmake .. -DSTEPCODE_ROOT_DIR=/path/to/sc" )
endif( NOT DEFINED STEPCODE_ROOT_DIR )
# STEPCODE_ROOT_DIR is relative or absolute path?
if( EXISTS "${CMAKE_BINARY_DIR}/${STEPCODE_ROOT_DIR}/SC_VERSION.txt" )
set( STEPCODE_ROOT_DIR "${CMAKE_BINARY_DIR}/${STEPCODE_ROOT_DIR}" )
message( "** STEPCODE_ROOT_DIR is a relative path; converted to absolute path: ${STEPCODE_ROOT_DIR}." )
else()
if( NOT EXISTS "${STEPCODE_ROOT_DIR}/SC_VERSION.txt" )
message( FATAL_ERROR "**** Cannot locate STEPCODE_ROOT_DIR - try an absolute path." )
endif( NOT EXISTS "${STEPCODE_ROOT_DIR}/SC_VERSION.txt" )
endif( EXISTS "${CMAKE_BINARY_DIR}/${STEPCODE_ROOT_DIR}/SC_VERSION.txt" )
# Use STEPcode as library, but build from this build process.
set( SC_IS_SUBBUILD TRUE )
# Build type, DEBUG or RELEASE
if( NOT DEFINED CMAKE_BUILD_TYPE )
set( CMAKE_BUILD_TYPE Debug )
endif( NOT DEFINED CMAKE_BUILD_TYPE )
set( SC_BUILD_TYPE ${CMAKE_BUILD_TYPE} )
# Path to STEPcode
set( STEPCODE_BUILD_DIR ${CMAKE_BINARY_DIR}/sc CACHE PATH "STEPcode build subdir" )
# STEP schema to build and link against.
set( SCHEMA ap203 )
set( SC_BUILD_SCHEMAS ${SCHEMA} CACHE INTERNAL "Schema, internal, immutable" FORCE )
# Parse out schema name and library.
set( SCHEMA_PATH "${STEPCODE_ROOT_DIR}/data/${SCHEMA}/*.exp" )
file( GLOB SCHEMA_FILE "${SCHEMA_PATH}" )
if( NOT EXISTS ${SCHEMA_FILE} )
message( FATAL_ERROR "Cannot find the schema; cannot continue. Looked for ${SCHEMA_PATH} from ${CMAKE_CURRENT_LIST_DIR}" )
endif( NOT EXISTS ${SCHEMA_FILE} )
get_filename_component( SCHEMA_SN ${SCHEMA_FILE} NAME )
string( REGEX REPLACE "\(.*\).[Ee][Xx][Pp]" "\\1" SCHEMA_LINK_NAME ${SCHEMA_SN} )
set( STEPCODE_LIBRARIES base stepcore stepeditor stepdai steputils sdai_${SCHEMA_LINK_NAME} )
# Add STEPCode project to CMake build.
add_subdirectory( ${STEPCODE_ROOT_DIR} "${CMAKE_CURRENT_BINARY_DIR}/sc" EXCLUDE_FROM_ALL )
# Set up STEPcode include directories.
set( STEPCODE_INCLUDE_DIR
${STEPCODE_ROOT_DIR}/src/base
${STEPCODE_ROOT_DIR}/src/clstepcore
${STEPCODE_ROOT_DIR}/src/cldai
${STEPCODE_ROOT_DIR}/src/clutils
${STEPCODE_ROOT_DIR}/src/cleditor
${STEPCODE_BUILD_DIR}/include
${STEPCODE_ROOT_DIR}/include
${CMAKE_BINARY_DIR}
)
# Reset sane values for build destination. Otherwise, everything ends up in ${CMAKE_BINARY_DIR}/sc
set( CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib )
set( CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin )
include_directories(
${STEPCODE_INCLUDE_DIR}
)
# Application sources and headers
set( SRCS
ap203min.cpp
)
set( HDRS
)
add_executable( ${PROJECT_NAME} ${SRCS} ${HDRS} )
target_link_libraries( ${PROJECT_NAME} ${STEPCODE_LIBRARIES} )
set_target_properties( ${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "-I${STEPCODE_BUILD_DIR}/data/${SCHEMA_LINK_NAME}" )
+723
View File
@@ -0,0 +1,723 @@
//*****************************************************************************
// AP203 Minimum
//
// This program is intended to serve as a tutorial example for programmers
// interested in learning about ISO 10303 (STEP), the STEPcode project, and
// the AP203 portion of STEP.
//
// This program creates and connects the minimum set of entities required
// to form a valid AP203 STEP file. Inspiration for this program came from
// Appendix B of 'Recommended Practices for AP 203' released to the public
// domain in 1998 by PDES Inc. The recommended practices document is
// available online at:
//
// http://www.steptools.com/support/stdev_docs/express/ap203/recprac203v8.pdf
//
// The recommended practices document states:
//
// "This document has been developed by the PDES, Inc. Industry
// consortium to aid in accelerating the implementation of the
// STEP standard. It has not been copyrighted to allow for the
// free exchange of the information. PDES, Inc. Requests that
// anyone using this information provide acknowledgment that
// PDES, Inc. was the original author."
//
// In the same spirit, this program is released to the public domain. Any
// part of this program may be freely copied in part or in full for any
// purpose. No acknowledgment is required for the use of this code.
//
// This program was written by Rob McDonald in October 2013. Since that
// time, it has been maintained by the STEPcode project.
//
//****************************************************************************/
// This program uses CMake to build Makefiles or other project files. It
// includes a CMakeLists.txt program that also builds STEPcode as a sub-build.
// To compile, you must tell CMake where your STEPcode source tree is located
// by setting STEPCODE_ROOT_DIR. To compile:
//
// $ pwd
// .../stepcode/example/ap203min
// $ mkdir build
// $ cd build
// $ cmake .. -DSTEPCODE_ROOT_DIR=../../..
// $ make
// $ cd bin
// $ ls
// AP203Minimum
// $./AP203Minimum
// AP203Minimum outfile.stp
extern void
SchemaInit( class Registry & );
#include <STEPfile.h>
#include <sdai.h>
#include <STEPattribute.h>
#include <ExpDict.h>
#include <Registry.h>
#include <errordesc.h>
#include <STEPcomplex.h>
#include <SdaiHeaderSchema.h>
#include "schema.h"
#include <SdaiCONFIG_CONTROL_DESIGN.h>
#ifdef HAVE_UNISTD_H
# include <unistd.h>
#endif
enum LenEnum { MM, CM, M, IN, FT, YD };
enum AngEnum { RAD, DEG };
STEPcomplex * Geometric_Context( Registry * registry, InstMgr * instance_list, const LenEnum & len, const AngEnum & angle, const char * tolstr ) {
int instance_cnt = 0;
STEPattribute * attr;
STEPcomplex * stepcomplex;
SdaiDimensional_exponents * dimensional_exp = new SdaiDimensional_exponents();
dimensional_exp->length_exponent_( 0.0 );
dimensional_exp->mass_exponent_( 0.0 );
dimensional_exp->time_exponent_( 0.0 );
dimensional_exp->electric_current_exponent_( 0.0 );
dimensional_exp->thermodynamic_temperature_exponent_( 0.0 );
dimensional_exp->amount_of_substance_exponent_( 0.0 );
dimensional_exp->luminous_intensity_exponent_( 0.0 );
instance_list->Append( ( SDAI_Application_instance * ) dimensional_exp, completeSE );
instance_cnt++;
STEPcomplex * ua_length;
// First set up metric units if appropriate. Default to mm.
// If imperial units, set up mm to be used as base to define imperial units.
Si_prefix pfx = Si_prefix__milli;
switch( len ) {
case CM:
pfx = Si_prefix__centi;
break;
case M:
pfx = Si_prefix_unset;
break;
}
const char * ua_length_types[4] = { "length_unit", "named_unit", "si_unit", "*" };
ua_length = new STEPcomplex( registry, ( const char ** ) ua_length_types, instance_cnt );
stepcomplex = ua_length->head;
while( stepcomplex ) {
if( !strcmp( stepcomplex->EntityName(), "Si_Unit" ) ) {
stepcomplex->ResetAttributes();
while( ( attr = stepcomplex->NextAttribute() ) != NULL ) {
if( !strcmp( attr->Name(), "prefix" ) ) {
attr->Enum( new SdaiSi_prefix_var( pfx ) );
}
if( !strcmp( attr->Name(), "name" ) ) {
attr->Enum( new SdaiSi_unit_name_var( Si_unit_name__metre ) );
}
}
}
stepcomplex = stepcomplex->sc;
}
instance_list->Append( ( SDAI_Application_instance * ) ua_length, completeSE );
instance_cnt++;
// If imperial, create conversion based unit.
if( len >= IN ) {
STEPcomplex * len_mm = ua_length;
char lenname[10];
double lenconv;
switch( len ) {
case IN:
strcat( lenname, "'INCH'\0" );
lenconv = 25.4;
break;
case FT:
strcat( lenname, "'FOOT'\0" );
lenconv = 25.4 * 12.0;
break;
case YD:
strcat( lenname, "'YARD'\0" );
lenconv = 25.4 * 36.0;
break;
}
SdaiUnit * len_unit = new SdaiUnit( ( SdaiNamed_unit * ) len_mm );
SdaiMeasure_value * len_measure_value = new SdaiMeasure_value( lenconv, config_control_design::t_measure_value );
len_measure_value->SetUnderlyingType( config_control_design::t_length_measure );
SdaiLength_measure_with_unit * len_measure_with_unit = new SdaiLength_measure_with_unit();
len_measure_with_unit->value_component_( len_measure_value );
len_measure_with_unit->unit_component_( len_unit );
instance_list->Append( ( SDAI_Application_instance * ) len_measure_with_unit, completeSE );
instance_cnt++;
SdaiDimensional_exponents * dimensional_exp_len = new SdaiDimensional_exponents();
dimensional_exp_len->length_exponent_( 1.0 );
dimensional_exp_len->mass_exponent_( 0.0 );
dimensional_exp_len->time_exponent_( 0.0 );
dimensional_exp_len->electric_current_exponent_( 0.0 );
dimensional_exp_len->thermodynamic_temperature_exponent_( 0.0 );
dimensional_exp_len->amount_of_substance_exponent_( 0.0 );
dimensional_exp_len->luminous_intensity_exponent_( 0.0 );
instance_list->Append( ( SDAI_Application_instance * ) dimensional_exp_len, completeSE );
instance_cnt++;
const char * ua_conv_len_types[4] = { "conversion_based_unit", "named_unit", "length_unit", "*" };
ua_length = new STEPcomplex( registry, ( const char ** ) ua_conv_len_types, instance_cnt );
stepcomplex = ua_length->head;
while( stepcomplex ) {
if( !strcmp( stepcomplex->EntityName(), "Conversion_Based_Unit" ) ) {
stepcomplex->ResetAttributes();
while( ( attr = stepcomplex->NextAttribute() ) != NULL ) {
if( !strcmp( attr->Name(), "name" ) ) {
attr->StrToVal( lenname );
}
if( !strcmp( attr->Name(), "conversion_factor" ) ) {
attr->Entity( ( STEPentity * )( len_measure_with_unit ) );
}
}
}
if( !strcmp( stepcomplex->EntityName(), "Named_Unit" ) ) {
stepcomplex->ResetAttributes();
while( ( attr = stepcomplex->NextAttribute() ) != NULL ) {
if( !strcmp( attr->Name(), "dimensions" ) ) {
attr->Entity( ( STEPentity * )( dimensional_exp_len ) );
}
}
}
stepcomplex = stepcomplex->sc;
}
instance_list->Append( ( SDAI_Application_instance * ) ua_length, completeSE );
instance_cnt++;
}
SdaiUncertainty_measure_with_unit * uncertainty = ( SdaiUncertainty_measure_with_unit * )registry->ObjCreate( "UNCERTAINTY_MEASURE_WITH_UNIT" );
uncertainty->name_( "'DISTANCE_ACCURACY_VALUE'" );
uncertainty->description_( "'Threshold below which geometry imperfections (such as overlaps) are not considered errors.'" );
SdaiUnit * tol_unit = new SdaiUnit( ( SdaiNamed_unit * ) ua_length );
uncertainty->ResetAttributes();
{
while( ( attr = uncertainty->NextAttribute() ) != NULL ) {
if( !strcmp( attr->Name(), "unit_component" ) ) {
attr->Select( tol_unit );
}
if( !strcmp( attr->Name(), "value_component" ) ) {
attr->StrToVal( tolstr );
}
}
}
instance_list->Append( ( SDAI_Application_instance * ) uncertainty, completeSE );
instance_cnt++;
// First set up radians as base angle unit.
const char * ua_plane_angle_types[4] = { "named_unit", "plane_angle_unit", "si_unit", "*" };
STEPcomplex * ua_plane_angle = new STEPcomplex( registry, ( const char ** ) ua_plane_angle_types, instance_cnt );
stepcomplex = ua_plane_angle->head;
while( stepcomplex ) {
if( !strcmp( stepcomplex->EntityName(), "Si_Unit" ) ) {
stepcomplex->ResetAttributes();
while( ( attr = stepcomplex->NextAttribute() ) != NULL ) {
if( !strcmp( attr->Name(), "name" ) ) {
attr->Enum( new SdaiSi_unit_name_var( Si_unit_name__radian ) );
}
}
}
stepcomplex = stepcomplex->sc;
}
instance_list->Append( ( SDAI_Application_instance * ) ua_plane_angle, completeSE );
instance_cnt++;
// If degrees, create conversion based unit.
if( angle == DEG ) {
STEPcomplex * ang_rad = ua_plane_angle;
const double angconv = ( 3.14159265358979323846264338327950 / 180.0 );
SdaiUnit * p_ang_unit = new SdaiUnit( ( SdaiNamed_unit * ) ang_rad );
SdaiMeasure_value * p_ang_measure_value = new SdaiMeasure_value( angconv, config_control_design::t_measure_value );
p_ang_measure_value->SetUnderlyingType( config_control_design::t_plane_angle_measure );
SdaiPlane_angle_measure_with_unit * p_ang_measure_with_unit = new SdaiPlane_angle_measure_with_unit();
p_ang_measure_with_unit->value_component_( p_ang_measure_value );
p_ang_measure_with_unit->unit_component_( p_ang_unit );
instance_list->Append( ( SDAI_Application_instance * ) p_ang_measure_with_unit, completeSE );
instance_cnt++;
const char * ua_conv_angle_types[4] = { "conversion_based_unit", "named_unit", "plane_angle_unit", "*" };
ua_plane_angle = new STEPcomplex( registry, ( const char ** ) ua_conv_angle_types, instance_cnt );
stepcomplex = ua_plane_angle->head;
while( stepcomplex ) {
if( !strcmp( stepcomplex->EntityName(), "Conversion_Based_Unit" ) ) {
stepcomplex->ResetAttributes();
while( ( attr = stepcomplex->NextAttribute() ) != NULL ) {
if( !strcmp( attr->Name(), "name" ) ) {
attr->StrToVal( "'DEGREES'" );
}
if( !strcmp( attr->Name(), "conversion_factor" ) ) {
attr->Entity( ( STEPentity * )( p_ang_measure_with_unit ) );
}
}
}
if( !strcmp( stepcomplex->EntityName(), "Named_Unit" ) ) {
stepcomplex->ResetAttributes();
while( ( attr = stepcomplex->NextAttribute() ) != NULL ) {
if( !strcmp( attr->Name(), "dimensions" ) ) {
attr->Entity( ( STEPentity * )( dimensional_exp ) );
}
}
}
stepcomplex = stepcomplex->sc;
}
instance_list->Append( ( SDAI_Application_instance * ) ua_plane_angle, completeSE );
instance_cnt++;
}
const char * ua_solid_angle_types[4] = { "named_unit", "si_unit", "solid_angle_unit", "*" };
STEPcomplex * ua_solid_angle = new STEPcomplex( registry, ( const char ** ) ua_solid_angle_types, instance_cnt );
stepcomplex = ua_solid_angle->head;
while( stepcomplex ) {
if( !strcmp( stepcomplex->EntityName(), "Si_Unit" ) ) {
stepcomplex->ResetAttributes();
while( ( attr = stepcomplex->NextAttribute() ) != NULL ) {
if( !strcmp( attr->Name(), "name" ) ) {
attr->Enum( new SdaiSi_unit_name_var( Si_unit_name__steradian ) );
}
}
}
stepcomplex = stepcomplex->sc;
}
instance_list->Append( ( SDAI_Application_instance * ) ua_solid_angle, completeSE );
instance_cnt++;
// All units set up, stored in: ua_length, ua_plane_angle, ua_solid_angle
const char * entNmArr[5] = { "geometric_representation_context", "global_uncertainty_assigned_context", "global_unit_assigned_context", "representation_context", "*" };
STEPcomplex * complex_entity = new STEPcomplex( registry, ( const char ** ) entNmArr, instance_cnt );
stepcomplex = complex_entity->head;
while( stepcomplex ) {
if( !strcmp( stepcomplex->EntityName(), "Geometric_Representation_Context" ) ) {
stepcomplex->ResetAttributes();
while( ( attr = stepcomplex->NextAttribute() ) != NULL ) {
if( !strcmp( attr->Name(), "coordinate_space_dimension" ) ) {
attr->StrToVal( "3" );
}
}
}
if( !strcmp( stepcomplex->EntityName(), "Global_Uncertainty_Assigned_Context" ) ) {
stepcomplex->ResetAttributes();
while( ( attr = stepcomplex->NextAttribute() ) != NULL ) {
if( !strcmp( attr->Name(), "uncertainty" ) ) {
EntityAggregate * unc_agg = new EntityAggregate();
unc_agg->AddNode( new EntityNode( ( SDAI_Application_instance * ) uncertainty ) );
attr->Aggregate( unc_agg );
}
}
}
if( !strcmp( stepcomplex->EntityName(), "Global_Unit_Assigned_Context" ) ) {
stepcomplex->ResetAttributes();
while( ( attr = stepcomplex->NextAttribute() ) != NULL ) {
std::string attrval;
if( !strcmp( attr->Name(), "units" ) ) {
EntityAggregate * unit_assigned_agg = new EntityAggregate();
unit_assigned_agg->AddNode( new EntityNode( ( SDAI_Application_instance * ) ua_length ) );
unit_assigned_agg->AddNode( new EntityNode( ( SDAI_Application_instance * ) ua_plane_angle ) );
unit_assigned_agg->AddNode( new EntityNode( ( SDAI_Application_instance * ) ua_solid_angle ) );
attr->Aggregate( unit_assigned_agg );
}
}
}
if( !strcmp( stepcomplex->EntityName(), "Representation_Context" ) ) {
stepcomplex->ResetAttributes();
while( ( attr = stepcomplex->NextAttribute() ) != NULL ) {
if( !strcmp( attr->Name(), "context_identifier" ) ) {
attr->StrToVal( "'STANDARD'" );
}
if( !strcmp( attr->Name(), "context_type" ) ) {
attr->StrToVal( "'3D'" );
}
}
}
stepcomplex = stepcomplex->sc;
}
instance_list->Append( ( SDAI_Application_instance * ) complex_entity, completeSE );
instance_cnt++;
return complex_entity;
}
SdaiCartesian_point * MakePoint( Registry * registry, InstMgr * instance_list, const double & x, const double & y, const double & z ) {
SdaiCartesian_point * pnt = ( SdaiCartesian_point * ) registry->ObjCreate( "CARTESIAN_POINT" );
pnt->name_( "''" );
RealAggregate * coords = pnt->coordinates_();
RealNode * xnode = new RealNode();
xnode->value = x;
coords->AddNode( xnode );
RealNode * ynode = new RealNode();
ynode->value = y;
coords->AddNode( ynode );
RealNode * znode = new RealNode();
znode->value = z;
coords->AddNode( znode );
instance_list->Append( ( SDAI_Application_instance * ) pnt, completeSE );
return pnt;
}
SdaiDirection * MakeDirection( Registry * registry, InstMgr * instance_list, const double & x, const double & y, const double & z ) {
SdaiDirection * dir = ( SdaiDirection * ) registry->ObjCreate( "DIRECTION" );
dir->name_( "''" );
RealAggregate * components = dir->direction_ratios_();
RealNode * xnode = new RealNode();
xnode->value = x;
components->AddNode( xnode );
RealNode * ynode = new RealNode();
ynode->value = y;
components->AddNode( ynode );
RealNode * znode = new RealNode();
znode->value = z;
components->AddNode( znode );
instance_list->Append( ( SDAI_Application_instance * ) dir, completeSE );
return dir;
}
SdaiAxis2_placement_3d * DefaultAxis( Registry * registry, InstMgr * instance_list ) {
SdaiCartesian_point * pnt = MakePoint( registry, instance_list, 0.0, 0.0, 0.0 );
SdaiDirection * axis = MakeDirection( registry, instance_list, 0.0, 0.0, 1.0 );
SdaiDirection * refd = MakeDirection( registry, instance_list, 1.0, 0.0, 0.0 );
SdaiAxis2_placement_3d * placement = ( SdaiAxis2_placement_3d * ) registry->ObjCreate( "AXIS2_PLACEMENT_3D" );
placement->name_( "''" );
placement->location_( pnt );
placement->axis_( axis );
placement->ref_direction_( refd );
instance_list->Append( ( SDAI_Application_instance * ) placement, completeSE );
return placement;
}
SdaiDate_and_time * DateTime( Registry * registry, InstMgr * instance_list ) {
SdaiCalendar_date * caldate = ( SdaiCalendar_date * ) registry->ObjCreate( "CALENDAR_DATE" );
instance_list->Append( ( SDAI_Application_instance * ) caldate, completeSE );
caldate->year_component_( 2000 );
caldate->month_component_( 1 );
caldate->day_component_( 1 );
SdaiCoordinated_universal_time_offset * tzone = ( SdaiCoordinated_universal_time_offset * ) registry->ObjCreate( "COORDINATED_UNIVERSAL_TIME_OFFSET" );
instance_list->Append( ( SDAI_Application_instance * ) tzone, completeSE );
tzone->hour_offset_( 0 );
tzone->minute_offset_( 0 );
tzone->sense_( Ahead_or_behind__behind );
SdaiLocal_time * loctime = ( SdaiLocal_time * ) registry->ObjCreate( "LOCAL_TIME" );
instance_list->Append( ( SDAI_Application_instance * ) loctime, completeSE );
loctime->hour_component_( 12 );
loctime->minute_component_( 0 );
loctime->second_component_( 0 );
loctime->zone_( tzone );
SdaiDate_and_time * date_time = ( SdaiDate_and_time * ) registry->ObjCreate( "DATE_AND_TIME" );
instance_list->Append( ( SDAI_Application_instance * )date_time, completeSE );
date_time->date_component_( caldate );
date_time->time_component_( loctime );
return date_time;
}
SdaiSecurity_classification * Classification( Registry * registry, InstMgr * instance_list, SdaiPerson_and_organization * per_org, SdaiDate_and_time * date_time, SdaiProduct_definition_formation_with_specified_source * prod_def_form ) {
SdaiSecurity_classification_level * level = ( SdaiSecurity_classification_level * ) registry->ObjCreate( "SECURITY_CLASSIFICATION_LEVEL" );
instance_list->Append( ( SDAI_Application_instance * ) level, completeSE );
level->name_( "'unclassified'" );
SdaiSecurity_classification * clas = ( SdaiSecurity_classification * ) registry->ObjCreate( "SECURITY_CLASSIFICATION" );
instance_list->Append( ( SDAI_Application_instance * ) clas, completeSE );
clas->name_( "''" );
clas->purpose_( "''" );
clas->security_level_( level );
SdaiCc_design_security_classification * des_class = ( SdaiCc_design_security_classification * ) registry->ObjCreate( "CC_DESIGN_SECURITY_CLASSIFICATION" );
instance_list->Append( ( SDAI_Application_instance * ) des_class, completeSE );
des_class->assigned_security_classification_( clas );
des_class->items_()->AddNode( new EntityNode( ( SDAI_Application_instance * ) prod_def_form ) );
SdaiPerson_and_organization_role * class_role = ( SdaiPerson_and_organization_role * ) registry->ObjCreate( "PERSON_AND_ORGANIZATION_ROLE" );
instance_list->Append( ( SDAI_Application_instance * ) class_role, completeSE );
class_role->name_( "'classification_officer'" );
SdaiCc_design_person_and_organization_assignment * class_personorg = ( SdaiCc_design_person_and_organization_assignment * ) registry->ObjCreate( "CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT" );
instance_list->Append( ( SDAI_Application_instance * ) class_personorg, completeSE );
class_personorg->assigned_person_and_organization_( per_org );
class_personorg->items_()->AddNode( new EntityNode( ( SDAI_Application_instance * ) clas ) );
class_personorg->role_( class_role );
SdaiDate_time_role * class_datetime = ( SdaiDate_time_role * ) registry->ObjCreate( "DATE_TIME_ROLE" );
instance_list->Append( ( SDAI_Application_instance * ) class_datetime, completeSE );
class_datetime->name_( "'classification_date'" );
SdaiCc_design_date_and_time_assignment * assign = ( SdaiCc_design_date_and_time_assignment * ) registry->ObjCreate( "CC_DESIGN_DATE_AND_TIME_ASSIGNMENT" );
instance_list->Append( ( SDAI_Application_instance * ) assign, completeSE );
assign->assigned_date_and_time_( date_time );
assign->items_()->AddNode( new EntityNode( ( SDAI_Application_instance * ) clas ) );
assign->role_( class_datetime );
return clas;
}
int main( void ) {
// The registry contains information about types present in the current schema; SchemaInit is a function in the schema-specific SDAI library
Registry * registry = new Registry( SchemaInit );
// The InstMgr holds instances that have been created or that have been loaded from a file
InstMgr * instance_list = new InstMgr();
// Increment FileId so entities start at #1 instead of #0.
instance_list->NextFileId();
// STEPfile takes care of reading and writing Part 21 files
STEPfile * sfile = new STEPfile( *registry, *instance_list, "", false );
registry->ResetSchemas();
registry->ResetEntities();
// Build file header
InstMgr * header_instances = sfile->HeaderInstances();
SdaiFile_name * fn = ( SdaiFile_name * ) sfile->HeaderDefaultFileName();
header_instances->Append( ( SDAI_Application_instance * ) fn, completeSE );
fn->name_( "'outfile.stp'" );
fn->time_stamp_( "''" );
fn->author_()->AddNode( new StringNode( "''" ) );
fn->organization_()->AddNode( new StringNode( "''" ) );
fn->preprocessor_version_( "''" );
fn->originating_system_( "''" );
fn->authorization_( "''" );
SdaiFile_description * fd = ( SdaiFile_description * ) sfile->HeaderDefaultFileDescription();
header_instances->Append( ( SDAI_Application_instance * ) fd, completeSE );
fd->description_()->AddNode( new StringNode( "''" ) );
fd->implementation_level_( "'1'" );
SdaiFile_schema * fs = ( SdaiFile_schema * ) sfile->HeaderDefaultFileSchema();
header_instances->Append( ( SDAI_Application_instance * ) fs, completeSE );
fs->schema_identifiers_()->AddNode( new StringNode( "'CONFIG_CONTROL_DESIGN'" ) );
// Build file data. The entities have been created and added in order such that no entity
// references a later entity. This is not required, but has been done to give a logical
// flow to the source and the resulting STEP file.
// Stand-in date and time.
SdaiDate_and_time * date_time = DateTime( registry, instance_list );
// Global units and tolerance.
STEPcomplex * context = Geometric_Context( registry, instance_list, MM, DEG, "0.0001" );
// Primary coordinate system.
SdaiAxis2_placement_3d * orig_transform = DefaultAxis( registry, instance_list );
// Basic context through product and shape representation
SdaiApplication_context * app_context = ( SdaiApplication_context * ) registry->ObjCreate( "APPLICATION_CONTEXT" );
instance_list->Append( ( SDAI_Application_instance * ) app_context, completeSE );
app_context->application_( "'configuration controlled 3d designs of mechanical parts and assemblies'" );
SdaiMechanical_context * mech_context = ( SdaiMechanical_context * ) registry->ObjCreate( "MECHANICAL_CONTEXT" );
instance_list->Append( ( SDAI_Application_instance * ) mech_context, completeSE );
mech_context->name_( "''" );
mech_context->discipline_type_( "'mechanical'" );
mech_context->frame_of_reference_( app_context );
SdaiApplication_protocol_definition * app_protocol = ( SdaiApplication_protocol_definition * ) registry->ObjCreate( "APPLICATION_PROTOCOL_DEFINITION" );
instance_list->Append( ( SDAI_Application_instance * ) app_protocol, completeSE );
app_protocol->status_( "'international standard'" );
app_protocol->application_protocol_year_( 1994 );
app_protocol->application_interpreted_model_schema_name_( "'config_control_design'" );
app_protocol->application_( app_context );
SdaiDesign_context * design_context = ( SdaiDesign_context * ) registry->ObjCreate( "DESIGN_CONTEXT" );
instance_list->Append( ( SDAI_Application_instance * ) design_context, completeSE );
design_context->name_( "''" );
design_context->life_cycle_stage_( "'design'" );
design_context->frame_of_reference_( app_context );
SdaiProduct * prod = ( SdaiProduct * ) registry->ObjCreate( "PRODUCT" );
instance_list->Append( ( SDAI_Application_instance * ) prod, completeSE );
prod->id_( "''" );
prod->name_( "'prodname'" );
prod->description_( "''" );
prod->frame_of_reference_()->AddNode( new EntityNode( ( SDAI_Application_instance * ) mech_context ) );
SdaiProduct_related_product_category * prodcat = ( SdaiProduct_related_product_category * ) registry->ObjCreate( "PRODUCT_RELATED_PRODUCT_CATEGORY" );
instance_list->Append( ( SDAI_Application_instance * ) prodcat, completeSE );
prodcat->name_( "'assembly'" );
prodcat->description_( "''" );
prodcat->products_()->AddNode( new EntityNode( ( SDAI_Application_instance * ) prod ) );
SdaiProduct_definition_formation_with_specified_source * prod_def_form = ( SdaiProduct_definition_formation_with_specified_source * ) registry->ObjCreate( "PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE" );
instance_list->Append( ( SDAI_Application_instance * ) prod_def_form, completeSE );
prod_def_form->id_( "''" );
prod_def_form->description_( "''" );
prod_def_form->of_product_( prod );
prod_def_form->make_or_buy_( Source__made );
SdaiProduct_definition * prod_def = ( SdaiProduct_definition * ) registry->ObjCreate( "PRODUCT_DEFINITION" );
instance_list->Append( ( SDAI_Application_instance * ) prod_def, completeSE );
prod_def->id_( "''" );
prod_def->description_( "''" );
prod_def->frame_of_reference_( design_context );
prod_def->formation_( prod_def_form );
SdaiProduct_definition_shape * pshape = ( SdaiProduct_definition_shape * ) registry->ObjCreate( "PRODUCT_DEFINITION_SHAPE" );
instance_list->Append( ( SDAI_Application_instance * ) pshape, completeSE );
pshape->name_( "''" );
pshape->description_( "'ProductShapeDescription'" );
pshape->definition_( new SdaiCharacterized_definition( new SdaiCharacterized_product_definition( prod_def ) ) );
SdaiShape_representation * shape_rep = ( SdaiShape_representation * ) registry->ObjCreate( "SHAPE_REPRESENTATION" );
instance_list->Append( ( SDAI_Application_instance * ) shape_rep, completeSE );
shape_rep->name_( "''" ); // Document?
shape_rep->items_()->AddNode( new EntityNode( ( SDAI_Application_instance * ) orig_transform ) );
shape_rep->context_of_items_( ( SdaiRepresentation_context * ) context );
SdaiShape_definition_representation * shape_def_rep = ( SdaiShape_definition_representation * ) registry->ObjCreate( "SHAPE_DEFINITION_REPRESENTATION" );
instance_list->Append( ( SDAI_Application_instance * ) shape_def_rep, completeSE );
shape_def_rep->definition_( pshape );
shape_def_rep->used_representation_( shape_rep );
// Stand-in person and org.
SdaiPerson * person = ( SdaiPerson * ) registry->ObjCreate( "PERSON" );
instance_list->Append( ( SDAI_Application_instance * ) person, completeSE );
person->id_( "''" );
person->last_name_( "'Doe'" );
person->first_name_( "'John'" );
SdaiOrganization * org = ( SdaiOrganization * ) registry->ObjCreate( "ORGANIZATION" );
instance_list->Append( ( SDAI_Application_instance * ) org, completeSE );
org->id_( "''" );
org->name_( "''" );
org->description_( "''" );
SdaiPerson_and_organization * per_org = ( SdaiPerson_and_organization * ) registry->ObjCreate( "PERSON_AND_ORGANIZATION" );
instance_list->Append( ( SDAI_Application_instance * ) per_org, completeSE );
per_org->the_person_( person );
per_org->the_organization_( org );
// Required roles.
SdaiPerson_and_organization_role * creator_role = ( SdaiPerson_and_organization_role * ) registry->ObjCreate( "PERSON_AND_ORGANIZATION_ROLE" );
instance_list->Append( ( SDAI_Application_instance * ) creator_role, completeSE );
creator_role->name_( "'creator'" );
SdaiPerson_and_organization_role * owner_role = ( SdaiPerson_and_organization_role * ) registry->ObjCreate( "PERSON_AND_ORGANIZATION_ROLE" );
instance_list->Append( ( SDAI_Application_instance * ) owner_role, completeSE );
owner_role->name_( "'design_owner'" );
SdaiPerson_and_organization_role * supplier_role = ( SdaiPerson_and_organization_role * ) registry->ObjCreate( "PERSON_AND_ORGANIZATION_ROLE" );
instance_list->Append( ( SDAI_Application_instance * ) supplier_role, completeSE );
supplier_role->name_( "'design_supplier'" );
// Basic approval.
SdaiApproval_status * approval_status = ( SdaiApproval_status * ) registry->ObjCreate( "APPROVAL_STATUS" );
instance_list->Append( ( SDAI_Application_instance * ) approval_status, completeSE );
approval_status->name_( "'approved'" );
SdaiApproval * approval = ( SdaiApproval * ) registry->ObjCreate( "APPROVAL" );
instance_list->Append( ( SDAI_Application_instance * ) approval, completeSE );
approval->status_( approval_status );
approval->level_( "''" );
SdaiApproval_date_time * app_date_time = ( SdaiApproval_date_time * ) registry->ObjCreate( "APPROVAL_DATE_TIME" );
instance_list->Append( ( SDAI_Application_instance * ) app_date_time, completeSE );
app_date_time->date_time_( new SdaiDate_time_select( date_time ) );
app_date_time->dated_approval_( approval );
SdaiApproval_role * app_role = ( SdaiApproval_role * ) registry->ObjCreate( "APPROVAL_ROLE" );
instance_list->Append( ( SDAI_Application_instance * ) app_role, completeSE );
app_role->role_( "'approver'" );
SdaiApproval_person_organization * app_per_org = ( SdaiApproval_person_organization * ) registry->ObjCreate( "APPROVAL_PERSON_ORGANIZATION" );
instance_list->Append( ( SDAI_Application_instance * ) app_per_org, completeSE );
app_per_org->person_organization_( new SdaiPerson_organization_select( per_org ) );
app_per_org->authorized_approval_( approval );
app_per_org->role_( app_role );
// Basic Classification.
SdaiSecurity_classification * clas = Classification( registry, instance_list, per_org, date_time, prod_def_form );
// Basic CC approval.
SdaiCc_design_approval * desapproval = ( SdaiCc_design_approval * ) registry->ObjCreate( "CC_DESIGN_APPROVAL" );
instance_list->Append( ( SDAI_Application_instance * ) desapproval, completeSE );
desapproval->assigned_approval_( approval );
desapproval->items_()->AddNode( new EntityNode( ( SDAI_Application_instance * ) prod_def ) );
desapproval->items_()->AddNode( new EntityNode( ( SDAI_Application_instance * ) prod_def_form ) );
desapproval->items_()->AddNode( new EntityNode( ( SDAI_Application_instance * ) clas ) );
SdaiCc_design_person_and_organization_assignment * creatorpersonorg = ( SdaiCc_design_person_and_organization_assignment * ) registry->ObjCreate( "CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT" );
instance_list->Append( ( SDAI_Application_instance * ) creatorpersonorg, completeSE );
creatorpersonorg->assigned_person_and_organization_( per_org );
creatorpersonorg->items_()->AddNode( new EntityNode( ( SDAI_Application_instance * ) prod_def ) );
creatorpersonorg->items_()->AddNode( new EntityNode( ( SDAI_Application_instance * ) prod_def_form ) );
creatorpersonorg->role_( creator_role );
SdaiCc_design_person_and_organization_assignment * supplierpersonorg = ( SdaiCc_design_person_and_organization_assignment * ) registry->ObjCreate( "CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT" );
instance_list->Append( ( SDAI_Application_instance * ) supplierpersonorg, completeSE );
supplierpersonorg->assigned_person_and_organization_( per_org );
supplierpersonorg->items_()->AddNode( new EntityNode( ( SDAI_Application_instance * ) prod_def_form ) );
supplierpersonorg->role_( supplier_role );
SdaiDate_time_role * datetimerole = ( SdaiDate_time_role * ) registry->ObjCreate( "DATE_TIME_ROLE" );
instance_list->Append( ( SDAI_Application_instance * ) datetimerole, completeSE );
datetimerole->name_( "'creation_date'" );
SdaiCc_design_date_and_time_assignment * assign = ( SdaiCc_design_date_and_time_assignment * ) registry->ObjCreate( "CC_DESIGN_DATE_AND_TIME_ASSIGNMENT" );
instance_list->Append( ( SDAI_Application_instance * ) assign, completeSE );
assign->assigned_date_and_time_( date_time );
assign->items_()->AddNode( new EntityNode( ( SDAI_Application_instance * ) prod_def ) );
assign->role_( datetimerole );
SdaiCc_design_person_and_organization_assignment * ownerpersonorg = ( SdaiCc_design_person_and_organization_assignment * ) registry->ObjCreate( "CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT" );
instance_list->Append( ( SDAI_Application_instance * ) ownerpersonorg, completeSE );
ownerpersonorg->assigned_person_and_organization_( per_org );
ownerpersonorg->items_()->AddNode( new EntityNode( ( SDAI_Application_instance * ) prod ) );
ownerpersonorg->role_( owner_role );
sfile->WriteExchangeFile( "outfile.stp" );
if( sfile->Error().severity() < SEVERITY_USERMSG ) {
sfile->Error().PrintContents( cout );
}
header_instances->DeleteInstances();
instance_list->DeleteInstances();
delete registry;
delete instance_list;
delete sfile;
printf( "Done!\n" );
}
+14 -10
View File
@@ -2,11 +2,8 @@ SET(express_HDRS
express/alg.h
express/basic.h
express/caseitem.h
express/de_end.h
express/decstart.h
express/defstart.h
express/dict.h
express/entity.h
express/dict.h
express/entity.h
express/error.h
express/expbasic.h
express/expr.h
@@ -24,13 +21,20 @@ SET(express_HDRS
express/type.h
express/variable.h
)
install(FILES ${express_HDRS} DESTINATION include/express)
install(FILES ${express_HDRS}
DESTINATION ${INCLUDE_INSTALL_DIR}/stepcode/express)
SET(exppp_HDRS
exppp/exppp.h
)
install(FILES ${exppp_HDRS} DESTINATION include/exppp)
install(FILES ${exppp_HDRS}
DESTINATION ${INCLUDE_INSTALL_DIR}/stepcode/exppp)
SET(SCL_noinst_HEADERS
sclprefixes.h
)
install(FILES ordered_attrs.h
sc_export.h
sc_stdbool.h
DESTINATION ${INCLUDE_INSTALL_DIR}/stepcode)
install(FILES ${SC_BINARY_DIR}/${INCLUDE_INSTALL_DIR}/sc_cf.h
${SC_BINARY_DIR}/${INCLUDE_INSTALL_DIR}/sc_version_string.h
DESTINATION ${INCLUDE_INSTALL_DIR}/stepcode)
+65 -53
View File
@@ -1,58 +1,70 @@
#include <scl_export.h>
#ifndef EXPPP_H
#define EXPPP_H
extern SCL_EXPPP_EXPORT int exppp_nesting_indent; /* default nesting indent */
extern SCL_EXPPP_EXPORT int exppp_continuation_indent; /* default nesting indent for */
/* continuation lines */
extern SCL_EXPPP_EXPORT int exppp_linelength; /* leave some slop for closing */
/* parens. \n is not included in */
/* this count either */
extern SCL_EXPPP_EXPORT bool exppp_rmpp; /* if true, create rmpp */
extern SCL_EXPPP_EXPORT bool exppp_alphabetize; /* if true, alphabetize */
extern SCL_EXPPP_EXPORT bool exppp_terse; /* don't describe action to stdout */
extern SCL_EXPPP_EXPORT bool exppp_reference_info; /* if true, add commentary */
/* about where things came from */
extern SCL_EXPPP_EXPORT bool exppp_preserve_comments; /* if true, preserve comments where */
/* possible */
extern SCL_EXPPP_EXPORT char * exppp_output_filename; /* force output filename */
#include <sc_stdbool.h>
SCL_EXPPP_EXPORT void EXPRESSout( Express e );
#include <sc_export.h>
SCL_EXPPP_EXPORT void ENTITYout( Entity e );
SCL_EXPPP_EXPORT void EXPRout( Expression expr );
SCL_EXPPP_EXPORT void FUNCout( Function f );
SCL_EXPPP_EXPORT void PROCout( Procedure p );
SCL_EXPPP_EXPORT void RULEout( Rule r );
SCL_EXPPP_EXPORT char * SCHEMAout( Schema s );
SCL_EXPPP_EXPORT void SCHEMAref_out( Schema s );
SCL_EXPPP_EXPORT void STMTout( Statement s );
SCL_EXPPP_EXPORT void TYPEout( Type t );
SCL_EXPPP_EXPORT void TYPEhead_out( Type t );
SCL_EXPPP_EXPORT void TYPEbody_out( Type t );
SCL_EXPPP_EXPORT void WHEREout( Linked_List w );
#include "../express/expbasic.h"
#include "../express/express.h"
SCL_EXPPP_EXPORT char * REFto_string( Dictionary refdict, Linked_List reflist, char * type, int level );
SCL_EXPPP_EXPORT char * ENTITYto_string( Entity e );
SCL_EXPPP_EXPORT char * SUBTYPEto_string( Expression e );
SCL_EXPPP_EXPORT char * EXPRto_string( Expression expr );
SCL_EXPPP_EXPORT char * FUNCto_string( Function f );
SCL_EXPPP_EXPORT char * PROCto_string( Procedure p );
SCL_EXPPP_EXPORT char * RULEto_string( Rule r );
SCL_EXPPP_EXPORT char * SCHEMAref_to_string( Schema s );
SCL_EXPPP_EXPORT char * STMTto_string( Statement s );
SCL_EXPPP_EXPORT char * TYPEto_string( Type t );
SCL_EXPPP_EXPORT char * TYPEhead_to_string( Type t );
SCL_EXPPP_EXPORT char * TYPEbody_to_string( Type t );
SCL_EXPPP_EXPORT char * WHEREto_string( Linked_List w );
extern SC_EXPPP_EXPORT const int exppp_nesting_indent; /**< default nesting indent */
extern SC_EXPPP_EXPORT const int exppp_continuation_indent; /**< default nesting indent for continuation lines */
extern SC_EXPPP_EXPORT int exppp_linelength; /**< leave some slop for closing parens.
* \n is not included in this count either */
extern SC_EXPPP_EXPORT bool exppp_alphabetize; /**< if true, alphabetize */
extern SC_EXPPP_EXPORT bool exppp_terse; /**< don't describe action to stdout */
extern SC_EXPPP_EXPORT bool exppp_reference_info; /**< if true, add commentary about where things came from */
extern SC_EXPPP_EXPORT char * exppp_output_filename; /**< force output filename */
extern SC_EXPPP_EXPORT bool exppp_output_filename_reset; /**< if true, force output filename */
extern SC_EXPPP_EXPORT bool exppp_print_to_stdout; /**< if true, print to stdout */
extern SC_EXPPP_EXPORT bool exppp_aggressively_wrap_consts; /**< for constants, print one item per line */
extern SC_EXPPP_EXPORT bool exppp_tail_comment; /**< print tail comment, such as END_ENTITY; --entity_name */
SCL_EXPPP_EXPORT int REFto_buffer( Dictionary refdict, Linked_List reflist, char * type, int level, char * buffer, int length );
SCL_EXPPP_EXPORT int ENTITYto_buffer( Entity e, char * buffer, int length );
SCL_EXPPP_EXPORT int EXPRto_buffer( Expression e, char * buffer, int length );
SCL_EXPPP_EXPORT int FUNCto_buffer( Function e, char * buffer, int length );
SCL_EXPPP_EXPORT int PROCto_buffer( Procedure e, char * buffer, int length );
SCL_EXPPP_EXPORT int RULEto_buffer( Rule e, char * buffer, int length );
SCL_EXPPP_EXPORT int SCHEMAref_to_buffer( Schema s, char * buffer, int length );
SCL_EXPPP_EXPORT int STMTto_buffer( Statement s, char * buffer, int length );
SCL_EXPPP_EXPORT int TYPEto_buffer( Type t, char * buffer, int length );
SCL_EXPPP_EXPORT int TYPEhead_to_buffer( Type t, char * buffer, int length );
SCL_EXPPP_EXPORT int TYPEbody_to_buffer( Type t, char * buffer, int length );
SCL_EXPPP_EXPORT int WHEREto_buffer( Linked_List w, char * buffer, int length );
SC_EXPPP_EXPORT void EXPRESSout( Express e );
SC_EXPPP_EXPORT void ENTITYout( Entity e );
SC_EXPPP_EXPORT void EXPRout( Expression expr );
SC_EXPPP_EXPORT void FUNCout( Function f );
SC_EXPPP_EXPORT void PROCout( Procedure p );
SC_EXPPP_EXPORT void RULEout( Rule r );
SC_EXPPP_EXPORT char * SCHEMAout( Schema s );
SC_EXPPP_EXPORT void SCHEMAref_out( Schema s );
SC_EXPPP_EXPORT void STMTout( Statement s );
SC_EXPPP_EXPORT void TYPEout( Type t );
SC_EXPPP_EXPORT void TYPEhead_out( Type t );
SC_EXPPP_EXPORT void TYPEbody_out( Type t );
SC_EXPPP_EXPORT void WHEREout( Linked_List w );
SC_EXPPP_EXPORT char * REFto_string( Dictionary refdict, Linked_List reflist, char * type, int level );
SC_EXPPP_EXPORT char * ENTITYto_string( Entity e );
SC_EXPPP_EXPORT char * SUBTYPEto_string( Expression e );
SC_EXPPP_EXPORT char * EXPRto_string( Expression expr );
SC_EXPPP_EXPORT char * FUNCto_string( Function f );
SC_EXPPP_EXPORT char * PROCto_string( Procedure p );
SC_EXPPP_EXPORT char * RULEto_string( Rule r );
SC_EXPPP_EXPORT char * SCHEMAref_to_string( Schema s );
SC_EXPPP_EXPORT char * STMTto_string( Statement s );
SC_EXPPP_EXPORT char * TYPEto_string( Type t );
SC_EXPPP_EXPORT char * TYPEhead_to_string( Type t );
SC_EXPPP_EXPORT char * TYPEbody_to_string( Type t );
SC_EXPPP_EXPORT char * WHEREto_string( Linked_List w );
SC_EXPPP_EXPORT int REFto_buffer( Dictionary refdict, Linked_List reflist, char * type, int level, char * buffer, int length );
SC_EXPPP_EXPORT int ENTITYto_buffer( Entity e, char * buffer, int length );
SC_EXPPP_EXPORT int EXPRto_buffer( Expression e, char * buffer, int length );
SC_EXPPP_EXPORT int FUNCto_buffer( Function e, char * buffer, int length );
SC_EXPPP_EXPORT int PROCto_buffer( Procedure e, char * buffer, int length );
SC_EXPPP_EXPORT int RULEto_buffer( Rule e, char * buffer, int length );
SC_EXPPP_EXPORT int SCHEMAref_to_buffer( Schema s, char * buffer, int length );
SC_EXPPP_EXPORT int STMTto_buffer( Statement s, char * buffer, int length );
SC_EXPPP_EXPORT int TYPEto_buffer( Type t, char * buffer, int length );
SC_EXPPP_EXPORT int TYPEhead_to_buffer( Type t, char * buffer, int length );
SC_EXPPP_EXPORT int TYPEbody_to_buffer( Type t, char * buffer, int length );
SC_EXPPP_EXPORT int WHEREto_buffer( Linked_List w, char * buffer, int length );
SC_EXPPP_EXPORT int EXPRlength( Expression e );
extern SC_EXPPP_EXPORT void tail_comment( const char * name );
extern SC_EXPPP_EXPORT int count_newlines( char * s );
#endif
+8 -25
View File
@@ -37,10 +37,6 @@
*
*/
/*************/
/* constants */
/*************/
/*****************/
/* packages used */
/*****************/
@@ -59,10 +55,6 @@ typedef struct Scope_ * Function;
typedef struct Scope_ * Rule;
typedef struct Where_ * Where;
/****************/
/* modules used */
/****************/
/***************************/
/* hidden type definitions */
/***************************/
@@ -117,19 +109,11 @@ struct Where_ {
/* global variables */
/********************/
#ifdef ALGORITHM_C
#include "defstart.h"
#else
#include "decstart.h"
#endif /* ALGORITHM_C */
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head ALG_fl;
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head FUNC_fl;
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head RULE_fl;
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head PROC_fl;
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head WHERE_fl;
#include "de_end.h"
extern SC_EXPRESS_EXPORT struct freelist_head ALG_fl;
extern SC_EXPRESS_EXPORT struct freelist_head FUNC_fl;
extern SC_EXPRESS_EXPORT struct freelist_head RULE_fl;
extern SC_EXPRESS_EXPORT struct freelist_head PROC_fl;
extern SC_EXPRESS_EXPORT struct freelist_head WHERE_fl;
/******************************/
/* macro function definitions */
@@ -177,9 +161,8 @@ GLOBAL SCL_EXPRESS_EXPORT struct freelist_head WHERE_fl;
/* function prototypes */
/***********************/
extern SCL_EXPRESS_EXPORT Scope ALGcreate PROTO( ( char ) );
extern SCL_EXPRESS_EXPORT void ALGinitialize PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT void ALGput_full_text PROTO( ( Scope, int, int ) );
extern SC_EXPRESS_EXPORT Scope ALGcreate PROTO( ( char ) );
extern SC_EXPRESS_EXPORT void ALGinitialize PROTO( ( void ) );
extern SC_EXPRESS_EXPORT void ALGput_full_text PROTO( ( Scope, int, int ) );
#endif /* ALGORITHM_H */
+3 -3
View File
@@ -71,8 +71,8 @@
*
*/
#include <scl_cf.h>
#include <scl_export.h>
#include <sc_cf.h>
#include <sc_export.h>
#include <stdio.h>
/******************************/
@@ -82,7 +82,7 @@
#ifdef HAVE_STDBOOL_H
# include <stdbool.h>
#else
# include <scl_stdbool.h>
# include <sc_stdbool.h>
#endif
/************************/
+3 -11
View File
@@ -70,15 +70,7 @@ struct Case_Item_ {
/* global variables */
/********************/
#ifdef CASE_ITEM_C
#include "defstart.h"
#else
#include "decstart.h"
#endif /*CASE_ITEM_C*/
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head CASE_IT_fl;
#include "de_end.h"
extern SC_EXPRESS_EXPORT struct freelist_head CASE_IT_fl;
/******************************/
/* macro function definitions */
@@ -94,7 +86,7 @@ GLOBAL SCL_EXPRESS_EXPORT struct freelist_head CASE_IT_fl;
#define CASE_IT_new() (struct Case_Item_ *)MEM_new(&CASE_IT_fl)
#define CASE_IT_destroy(x) MEM_destroy(&CASE_IT_fl,(Freelist *)(Generic)x)
extern SCL_EXPRESS_EXPORT Case_Item CASE_ITcreate PROTO( ( Linked_List, struct Statement_ * ) );
extern SCL_EXPRESS_EXPORT void CASE_ITinitialize PROTO( ( void ) );
extern SC_EXPRESS_EXPORT Case_Item CASE_ITcreate PROTO( ( Linked_List, struct Statement_ * ) );
extern SC_EXPRESS_EXPORT void CASE_ITinitialize PROTO( ( void ) );
#endif /*CASE_ITEM_H*/
+10 -18
View File
@@ -72,15 +72,7 @@ typedef HashEntry DictionaryEntry;
/* global variables */
/********************/
#ifdef DICTIONARY_C
#include "defstart.h"
#else
#include "decstart.h"
#endif /*DICTIONARY_C*/
GLOBAL SCL_EXPRESS_EXPORT char DICT_type; /**< set as a side-effect of DICT lookup routines to type of object found */
#include "de_end.h"
extern SC_EXPRESS_EXPORT char DICT_type; /**< set as a side-effect of DICT lookup routines to type of object found */
/*******************************/
/* macro function definitions */
@@ -105,14 +97,14 @@ GLOBAL SCL_EXPRESS_EXPORT char DICT_type; /**< set as a side-effect of DICT loo
/* function prototypes */
/***********************/
extern SCL_EXPRESS_EXPORT void DICTinitialize PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT void DICTcleanup PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT int DICTdefine PROTO( ( Dictionary, char *, Generic, Symbol *, char ) );
extern SCL_EXPRESS_EXPORT int DICT_define PROTO( ( Dictionary, char *, Generic, Symbol *, char ) );
extern SCL_EXPRESS_EXPORT void DICTundefine PROTO( ( Dictionary, char * ) );
extern SCL_EXPRESS_EXPORT Generic DICTlookup PROTO( ( Dictionary, char * ) );
extern SCL_EXPRESS_EXPORT Generic DICTlookup_symbol PROTO( ( Dictionary, char *, Symbol ** ) );
extern SCL_EXPRESS_EXPORT Generic DICTdo PROTO( ( DictionaryEntry * ) );
extern SCL_EXPRESS_EXPORT void DICTprint PROTO( ( Dictionary ) );
extern SC_EXPRESS_EXPORT void DICTinitialize PROTO( ( void ) );
extern SC_EXPRESS_EXPORT void DICTcleanup PROTO( ( void ) );
extern SC_EXPRESS_EXPORT int DICTdefine PROTO( ( Dictionary, char *, Generic, Symbol *, char ) );
extern SC_EXPRESS_EXPORT int DICT_define PROTO( ( Dictionary, char *, Generic, Symbol *, char ) );
extern SC_EXPRESS_EXPORT void DICTundefine PROTO( ( Dictionary, char * ) );
extern SC_EXPRESS_EXPORT Generic DICTlookup PROTO( ( Dictionary, char * ) );
extern SC_EXPRESS_EXPORT Generic DICTlookup_symbol PROTO( ( Dictionary, char *, Symbol ** ) );
extern SC_EXPRESS_EXPORT Generic DICTdo PROTO( ( DictionaryEntry * ) );
extern SC_EXPRESS_EXPORT void DICTprint PROTO( ( Dictionary ) );
#endif /*DICTIONARY_H*/
+17 -26
View File
@@ -60,7 +60,7 @@
/* packages used */
/*****************/
#include <scl_export.h>
#include <sc_export.h>
#include "expbasic.h" /* get basic definitions */
#include "symbol.h"
#include "scope.h"
@@ -102,17 +102,8 @@ struct Entity_ {
/* global variables */
/********************/
#ifdef ENTITY_C
#include "defstart.h"
#else
#include "decstart.h"
#endif /* ENTITY_C */
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head ENTITY_fl;
GLOBAL SCL_EXPRESS_EXPORT int ENTITY_MARK INITIALLY( 0 );
#include "de_end.h"
extern SC_EXPRESS_EXPORT struct freelist_head ENTITY_fl;
extern SC_EXPRESS_EXPORT int ENTITY_MARK;
/******************************/
/* macro function definitions */
@@ -149,19 +140,19 @@ GLOBAL SCL_EXPRESS_EXPORT int ENTITY_MARK INITIALLY( 0 );
/* function prototypes */
/***********************/
extern SCL_EXPRESS_EXPORT struct Scope_ * ENTITYcreate PROTO( ( struct Symbol_ * ) );
extern SCL_EXPRESS_EXPORT void ENTITYinitialize PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT void ENTITYadd_attribute PROTO( ( struct Scope_ *, struct Variable_ * ) );
extern SCL_EXPRESS_EXPORT struct Scope_ * ENTITYcopy PROTO( ( struct Scope_ * ) );
extern SCL_EXPRESS_EXPORT Entity ENTITYfind_inherited_entity PROTO( ( struct Scope_ *, char *, int ) );
extern SCL_EXPRESS_EXPORT Variable ENTITYfind_inherited_attribute PROTO( ( struct Scope_ *, char *, struct Symbol_ ** ) );
extern SCL_EXPRESS_EXPORT Variable ENTITYresolve_attr_ref PROTO( ( Entity, Symbol *, Symbol * ) );
extern SCL_EXPRESS_EXPORT bool ENTITYhas_immediate_supertype PROTO( ( Entity, Entity ) );
extern SCL_EXPRESS_EXPORT Variable ENTITYget_named_attribute PROTO( ( Entity, char * ) );
extern SCL_EXPRESS_EXPORT Linked_List ENTITYget_all_attributes PROTO( ( Entity ) );
extern SCL_EXPRESS_EXPORT bool ENTITYhas_supertype PROTO( ( Entity, Entity ) );
extern SCL_EXPRESS_EXPORT void ENTITYadd_instance PROTO( ( Entity, Generic ) );
extern SCL_EXPRESS_EXPORT int ENTITYget_initial_offset PROTO( ( Entity ) );
extern SCL_EXPRESS_EXPORT bool ENTITYdeclares_variable PROTO( ( Entity, struct Variable_ * ) );
extern SC_EXPRESS_EXPORT struct Scope_ * ENTITYcreate PROTO( ( struct Symbol_ * ) );
extern SC_EXPRESS_EXPORT void ENTITYinitialize PROTO( ( void ) );
extern SC_EXPRESS_EXPORT void ENTITYadd_attribute PROTO( ( struct Scope_ *, struct Variable_ * ) );
extern SC_EXPRESS_EXPORT struct Scope_ * ENTITYcopy PROTO( ( struct Scope_ * ) );
extern SC_EXPRESS_EXPORT Entity ENTITYfind_inherited_entity PROTO( ( struct Scope_ *, char *, int ) );
extern SC_EXPRESS_EXPORT Variable ENTITYfind_inherited_attribute PROTO( ( struct Scope_ *, char *, struct Symbol_ ** ) );
extern SC_EXPRESS_EXPORT Variable ENTITYresolve_attr_ref PROTO( ( Entity, Symbol *, Symbol * ) );
extern SC_EXPRESS_EXPORT bool ENTITYhas_immediate_supertype PROTO( ( Entity, Entity ) );
extern SC_EXPRESS_EXPORT Variable ENTITYget_named_attribute PROTO( ( Entity, char * ) );
extern SC_EXPRESS_EXPORT Linked_List ENTITYget_all_attributes PROTO( ( Entity ) );
extern SC_EXPRESS_EXPORT bool ENTITYhas_supertype PROTO( ( Entity, Entity ) );
extern SC_EXPRESS_EXPORT void ENTITYadd_instance PROTO( ( Entity, Generic ) );
extern SC_EXPRESS_EXPORT int ENTITYget_initial_offset PROTO( ( Entity ) );
extern SC_EXPRESS_EXPORT int ENTITYdeclares_variable PROTO( ( Entity, struct Variable_ * ) );
#endif /* ENTITY_H */
+33 -48
View File
@@ -28,7 +28,7 @@
* prettied up interface to print_objects_when_running
*/
#include <scl_export.h>
#include <sc_export.h>
#include "basic.h" /* get basic definitions */
#include <setjmp.h>
@@ -66,6 +66,7 @@ typedef struct Error_ {
bool enabled;
Severity severity;
char * message;
int serial; /* used to give each type of error a unique identifier */
} * Error;
typedef struct Error_Warning_ {
@@ -81,37 +82,29 @@ typedef struct Error_Warning_ {
/* global variables */
/********************/
#ifdef ERROR_C
#include "defstart.h"
#else
#include "decstart.h"
#endif /* ERROR_C */
GLOBAL SCL_EXPRESS_EXPORT bool __ERROR_buffer_errors INITIALLY( false );
GLOBAL SCL_EXPRESS_EXPORT char * current_filename INITIALLY( "stdin" );
extern SC_EXPRESS_EXPORT bool __ERROR_buffer_errors;
extern SC_EXPRESS_EXPORT char * current_filename;
/* flag to remember whether non-warning errors have occurred */
GLOBAL SCL_EXPRESS_EXPORT bool ERRORoccurred INITIALLY( false );
extern SC_EXPRESS_EXPORT bool ERRORoccurred;
GLOBAL SCL_EXPRESS_EXPORT Error experrc INITIALLY( ERROR_none );
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_subordinate_failed INITIALLY( ERROR_none );
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_syntax_expecting INITIALLY( ERROR_none );
extern SC_EXPRESS_EXPORT Error experrc;
extern SC_EXPRESS_EXPORT Error ERROR_subordinate_failed;
extern SC_EXPRESS_EXPORT Error ERROR_syntax_expecting;
/* all of these are 1 if true, 0 if false switches */
/* for debugging fedex */
GLOBAL SCL_EXPRESS_EXPORT int ERRORdebugging INITIALLY( 0 );
extern SC_EXPRESS_EXPORT int ERRORdebugging;
/* for debugging malloc during resolution */
GLOBAL SCL_EXPRESS_EXPORT int malloc_debug_resolve INITIALLY( 0 );
extern SC_EXPRESS_EXPORT int malloc_debug_resolve;
/* for debugging yacc/lex */
GLOBAL SCL_EXPRESS_EXPORT int debug INITIALLY( 0 );
extern SC_EXPRESS_EXPORT int debug;
GLOBAL SCL_EXPRESS_EXPORT struct Linked_List_ * ERRORwarnings;
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head ERROR_OPT_fl;
extern SC_EXPRESS_EXPORT struct Linked_List_ * ERRORwarnings;
extern SC_EXPRESS_EXPORT struct freelist_head ERROR_OPT_fl;
GLOBAL SCL_EXPRESS_EXPORT void ( *ERRORusage_function ) PROTO( ( void ) );
#include "de_end.h"
extern SC_EXPRESS_EXPORT void ( *ERRORusage_function )( void );
/******************************/
/* macro function definitions */
@@ -125,16 +118,14 @@ GLOBAL SCL_EXPRESS_EXPORT void ( *ERRORusage_function ) PROTO( ( void ) );
/***********************/
#if defined(__MSVC__) || defined(__BORLAND__)
extern SCL_EXPRESS_EXPORT void ERROR_start_message_buffer PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT void ERROR_flush_message_buffer PROTO( ( void ) );
extern SC_EXPRESS_EXPORT void ERROR_start_message_buffer PROTO( ( void ) );
extern SC_EXPRESS_EXPORT void ERROR_flush_message_buffer PROTO( ( void ) );
#endif
/********************/
/* Inline functions */
/********************/
#if supports_inline_functions || defined(ERROR_C)
static_inline void ERRORdisable( Error error ) {
if( error != ERROR_none ) {
error->enabled = false;
@@ -176,38 +167,32 @@ static_inline void ERRORflush_messages( void ) {
}
}
#endif /*supports_inline_functions || defined(ERROR_C)*/
/***********************/
/* function prototypes */
/***********************/
extern SCL_EXPRESS_EXPORT void ERRORinitialize PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT void ERRORinitialize_after_LIST PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT void ERRORcleanup PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT void ERRORnospace PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT void ERRORabort PROTO( ( int ) );
extern SCL_EXPRESS_EXPORT Error ERRORcreate PROTO( ( char *, Severity ) );
extern SCL_EXPRESS_EXPORT void ERRORreport PROTO( ( Error, ... ) );
extern SCL_EXPRESS_EXPORT void ERRORdestroy PROTO( ( Error ) );
extern SC_EXPRESS_EXPORT void ERRORinitialize PROTO( ( void ) );
extern SC_EXPRESS_EXPORT void ERRORinitialize_after_LIST PROTO( ( void ) );
extern SC_EXPRESS_EXPORT void ERRORcleanup PROTO( ( void ) );
extern SC_EXPRESS_EXPORT void ERRORnospace PROTO( ( void ) );
extern SC_EXPRESS_EXPORT void ERRORabort PROTO( ( int ) );
extern SC_EXPRESS_EXPORT Error ERRORcreate PROTO( ( char *, Severity ) );
extern SC_EXPRESS_EXPORT void ERRORreport PROTO( ( Error, ... ) );
extern SC_EXPRESS_EXPORT void ERRORdestroy PROTO( ( Error ) );
struct Symbol_; /* mention Symbol to avoid warning on following line */
extern SCL_EXPRESS_EXPORT void ERRORreport_with_symbol PROTO( ( Error, struct Symbol_ *, ... ) );
extern SCL_EXPRESS_EXPORT void ERRORreport_with_line PROTO( ( Error, int, ... ) );
#if !supports_inline_functions
extern SCL_EXPRESS_EXPORT void ERRORbuffer_messages PROTO( ( bool ) );
extern SCL_EXPRESS_EXPORT void ERRORflush_messages PROTO( ( void ) );
#endif
extern SC_EXPRESS_EXPORT void ERRORreport_with_symbol PROTO( ( Error, struct Symbol_ *, ... ) );
extern SC_EXPRESS_EXPORT void ERRORreport_with_line PROTO( ( Error, int, ... ) );
#if !defined(__MSVC__) && !defined(__BORLAND__)
extern SCL_EXPRESS_EXPORT void ERROR_start_message_buffer PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT void ERROR_flush_message_buffer PROTO( ( void ) );
extern SC_EXPRESS_EXPORT void ERROR_start_message_buffer PROTO( ( void ) );
extern SC_EXPRESS_EXPORT void ERROR_flush_message_buffer PROTO( ( void ) );
#endif
extern SCL_EXPRESS_EXPORT void ERRORcreate_warning PROTO( ( char *, Error ) );
extern SCL_EXPRESS_EXPORT void ERRORset_warning PROTO( ( char *, int ) );
extern SCL_EXPRESS_EXPORT void ERRORset_all_warnings PROTO( ( int ) );
extern SCL_EXPRESS_EXPORT void ERRORsafe PROTO( ( jmp_buf env ) );
extern SCL_EXPRESS_EXPORT void ERRORunsafe PROTO( ( void ) );
extern SC_EXPRESS_EXPORT void ERRORcreate_warning PROTO( ( char *, Error ) );
extern SC_EXPRESS_EXPORT void ERRORset_warning PROTO( ( char *, int ) );
extern SC_EXPRESS_EXPORT void ERRORset_all_warnings PROTO( ( int ) );
extern SC_EXPRESS_EXPORT void ERRORsafe PROTO( ( jmp_buf env ) );
extern SC_EXPRESS_EXPORT void ERRORunsafe PROTO( ( void ) );
#endif /* ERROR_H */
+2 -3
View File
@@ -1,4 +1,3 @@
/*
* This software was developed by U.S. Government employees as part of
* their official duties and is not subject to copyright.
@@ -127,8 +126,8 @@ typedef char * Binary;
#define OBJ_EXPRESSION 'x' /**< so far only enums get looked up by name & */
#define OBJ_ENUM 'x' /**< appear this way, perhaps they should be variables? */
#define OBJ_AMBIG_ENUM 'z' /**< enumerations of the same name which are
* visible in the same scope when qualified
* z is of no mnemonic significance (so far) */
* visible in the same scope when qualified
* z is of no mnemonic significance (so far) */
#define IS_ENUM(x) (((x) == OBJ_ENUM) || ((x) == OBJ_AMBIG_ENUM))
/** these represent a different way of selecting classes of objects
+28 -56
View File
@@ -1,7 +1,7 @@
#ifndef EXPRESSION_H
#define EXPRESSION_H
/** **********************************************************************
/*********************************************************************//**
** Module: Expression \file expr.h
** Description: This module implements the Expression abstraction.
** Several types of expressions are supported: identifiers,
@@ -60,7 +60,7 @@
/* packages used */
/*****************/
#include <scl_export.h>
#include <sc_export.h>
#include <math.h>
#include "expbasic.h" /* get basic definitions */
@@ -142,7 +142,7 @@ struct Funcall {
union expr_union {
int integer;
float real;
double real;
char * attribute; /**< inverse .... for 'attr' */
char * binary;
int logical;
@@ -185,31 +185,23 @@ struct EXPop_entry {
/* global variables */
/********************/
#ifdef EXPRESSION_C
#include "defstart.h"
#else
#include "decstart.h"
#endif /*EXPRESSION_C*/
extern SC_EXPRESS_EXPORT struct EXPop_entry EXPop_table[OP_LAST];
GLOBAL SCL_EXPRESS_EXPORT struct EXPop_entry EXPop_table[OP_LAST];
extern SC_EXPRESS_EXPORT Expression LITERAL_E;
extern SC_EXPRESS_EXPORT Expression LITERAL_INFINITY;
extern SC_EXPRESS_EXPORT Expression LITERAL_PI;
extern SC_EXPRESS_EXPORT Expression LITERAL_ZERO;
extern SC_EXPRESS_EXPORT Expression LITERAL_ONE;
GLOBAL SCL_EXPRESS_EXPORT Expression LITERAL_E INITIALLY( EXPRESSION_NULL );
GLOBAL SCL_EXPRESS_EXPORT Expression LITERAL_INFINITY INITIALLY( EXPRESSION_NULL );
GLOBAL SCL_EXPRESS_EXPORT Expression LITERAL_PI INITIALLY( EXPRESSION_NULL );
GLOBAL SCL_EXPRESS_EXPORT Expression LITERAL_ZERO INITIALLY( EXPRESSION_NULL );
GLOBAL SCL_EXPRESS_EXPORT Expression LITERAL_ONE;
extern SC_EXPRESS_EXPORT Error ERROR_bad_qualification;
extern SC_EXPRESS_EXPORT Error ERROR_integer_expression_expected;
extern SC_EXPRESS_EXPORT Error ERROR_implicit_downcast;
extern SC_EXPRESS_EXPORT Error ERROR_ambig_implicit_downcast;
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_bad_qualification INITIALLY( ERROR_none );
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_integer_expression_expected INITIALLY( ERROR_none );
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_implicit_downcast INITIALLY( ERROR_none );
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_ambig_implicit_downcast INITIALLY( ERROR_none );
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head EXP_fl;
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head OP_fl;
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head QUERY_fl;
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head QUAL_ATTR_fl;
#include "de_end.h"
extern SC_EXPRESS_EXPORT struct freelist_head EXP_fl;
extern SC_EXPRESS_EXPORT struct freelist_head OP_fl;
extern SC_EXPRESS_EXPORT struct freelist_head QUERY_fl;
extern SC_EXPRESS_EXPORT struct freelist_head QUAL_ATTR_fl;
/******************************/
/* macro function definitions */
@@ -262,36 +254,16 @@ GLOBAL SCL_EXPRESS_EXPORT struct freelist_head QUAL_ATTR_fl;
/* function prototypes */
/***********************/
extern SCL_EXPRESS_EXPORT Expression EXPcreate PROTO( ( Type ) );
extern SCL_EXPRESS_EXPORT Expression EXPcreate_simple PROTO( ( Type ) );
extern SCL_EXPRESS_EXPORT Expression EXPcreate_from_symbol PROTO( ( Type, Symbol * ) );
extern SCL_EXPRESS_EXPORT Expression UN_EXPcreate PROTO( ( Op_Code, Expression ) );
extern SCL_EXPRESS_EXPORT Expression BIN_EXPcreate PROTO( ( Op_Code, Expression, Expression ) );
extern SCL_EXPRESS_EXPORT Expression TERN_EXPcreate PROTO( ( Op_Code, Expression, Expression, Expression ) );
extern SCL_EXPRESS_EXPORT Expression QUERYcreate PROTO( ( Symbol *, Expression ) );
extern SCL_EXPRESS_EXPORT void EXPinitialize PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT void EXPcleanup PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT Type EXPtype PROTO( ( Expression, struct Scope_ * ) );
extern SCL_EXPRESS_EXPORT int EXPget_integer_value PROTO( ( Expression ) );
/********************/
/* inline functions */
/********************/
#if supports_inline_functions || defined(EXPRESSION_C)
static_inline
int
OPget_number_of_operands( Op_Code op ) {
if( ( op == OP_NEGATE ) || ( op == OP_NOT ) ) {
return 1;
} else if( op == OP_SUBCOMPONENT ) {
return 3;
} else {
return 2;
}
}
#endif /* supports_inline_functions || defined(EXPRESSION_C) */
extern SC_EXPRESS_EXPORT Expression EXPcreate PROTO( ( Type ) );
extern SC_EXPRESS_EXPORT Expression EXPcreate_simple PROTO( ( Type ) );
extern SC_EXPRESS_EXPORT Expression EXPcreate_from_symbol PROTO( ( Type, Symbol * ) );
extern SC_EXPRESS_EXPORT Expression UN_EXPcreate PROTO( ( Op_Code, Expression ) );
extern SC_EXPRESS_EXPORT Expression BIN_EXPcreate PROTO( ( Op_Code, Expression, Expression ) );
extern SC_EXPRESS_EXPORT Expression TERN_EXPcreate PROTO( ( Op_Code, Expression, Expression, Expression ) );
extern SC_EXPRESS_EXPORT Expression QUERYcreate PROTO( ( Symbol *, Expression ) );
extern SC_EXPRESS_EXPORT void EXPinitialize PROTO( ( void ) );
extern SC_EXPRESS_EXPORT void EXPcleanup PROTO( ( void ) );
extern SC_EXPRESS_EXPORT Type EXPtype PROTO( ( Expression, struct Scope_ * ) );
extern SC_EXPRESS_EXPORT int EXPget_integer_value PROTO( ( Expression ) );
#endif /*EXPRESSION_H*/
+154 -169
View File
@@ -88,169 +88,153 @@ struct Express_ {
/* global variables */
/********************/
#ifdef EXPRESS_C
# define GLOBAL
# define INITIALLY(value) = value
#else
# define GLOBAL extern
# define INITIALLY(value)
#endif /*EXPRESS_C*/
extern SC_EXPRESS_EXPORT char * input_filename;
extern SC_EXPRESS_EXPORT Linked_List EXPRESS_path;
extern SC_EXPRESS_EXPORT int EXPRESSpass;
#ifdef YYDEBUG
extern SCL_EXPRESS_EXPORT int yydebug;
extern SCL_EXPRESS_EXPORT int yydbg_upper_limit;
extern SCL_EXPRESS_EXPORT int yydbg_lower_limit;
extern SCL_EXPRESS_EXPORT int yydbg_verbose;
#endif
extern SC_EXPRESS_EXPORT void ( *EXPRESSinit_args ) PROTO( ( int, char ** ) );
extern SC_EXPRESS_EXPORT void ( *EXPRESSinit_parse ) PROTO( ( void ) );
extern SC_EXPRESS_EXPORT int ( *EXPRESSfail ) PROTO( ( Express ) );
extern SC_EXPRESS_EXPORT int ( *EXPRESSsucceed ) PROTO( ( Express ) );
extern SC_EXPRESS_EXPORT void ( *EXPRESSbackend ) PROTO( ( Express ) );
extern SC_EXPRESS_EXPORT char * EXPRESSprogram_name;
extern char EXPRESSgetopt_options[]; /* initialized elsewhere */
extern SC_EXPRESS_EXPORT int ( *EXPRESSgetopt ) PROTO( ( int, char * ) );
extern SC_EXPRESS_EXPORT bool EXPRESSignore_duplicate_schemas;
GLOBAL SCL_EXPRESS_EXPORT Linked_List EXPRESS_path;
GLOBAL SCL_EXPRESS_EXPORT int EXPRESSpass;
extern SC_EXPRESS_EXPORT Dictionary EXPRESSbuiltins; /* procedures/functions */
GLOBAL SCL_EXPRESS_EXPORT void ( *EXPRESSinit_args ) PROTO( ( int, char ** ) ) INITIALLY( 0 );
GLOBAL SCL_EXPRESS_EXPORT void ( *EXPRESSinit_parse ) PROTO( ( void ) ) INITIALLY( 0 );
GLOBAL SCL_EXPRESS_EXPORT int ( *EXPRESSfail ) PROTO( ( Express ) ) INITIALLY( 0 );
GLOBAL SCL_EXPRESS_EXPORT int ( *EXPRESSsucceed ) PROTO( ( Express ) ) INITIALLY( 0 );
GLOBAL SCL_EXPRESS_EXPORT void ( *EXPRESSbackend ) PROTO( ( Express ) ) INITIALLY( 0 );
GLOBAL SCL_EXPRESS_EXPORT char * EXPRESSprogram_name;
extern char EXPRESSgetopt_options[256]; /**< initialized elsewhere */
GLOBAL SCL_EXPRESS_EXPORT int ( *EXPRESSgetopt ) PROTO( ( int, char * ) ) INITIALLY( 0 );
GLOBAL SCL_EXPRESS_EXPORT bool EXPRESSignore_duplicate_schemas INITIALLY( false );
extern SC_EXPRESS_EXPORT Error ERROR_bail_out;
extern SC_EXPRESS_EXPORT Error ERROR_syntax;
extern SC_EXPRESS_EXPORT Error ERROR_unlabelled_param_type;
extern SC_EXPRESS_EXPORT Error ERROR_file_unreadable;
extern SC_EXPRESS_EXPORT Error ERROR_file_unwriteable;
extern SC_EXPRESS_EXPORT Error ERROR_warn_unsupported_lang_feat;
extern SC_EXPRESS_EXPORT Error ERROR_warn_small_real;
GLOBAL SCL_EXPRESS_EXPORT Dictionary EXPRESSbuiltins; /**< procedures/functions */
extern SC_EXPRESS_EXPORT struct Scope_ * FUNC_NVL;
extern SC_EXPRESS_EXPORT struct Scope_ * FUNC_USEDIN;
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_bail_out INITIALLY( ERROR_none );
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_syntax INITIALLY( ERROR_none );
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_unlabelled_param_type INITIALLY( ERROR_none );
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_file_unreadable;
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_file_unwriteable;
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_warn_unsupported_lang_feat;
GLOBAL SCL_EXPRESS_EXPORT struct Scope_ * FUNC_NVL;
GLOBAL SCL_EXPRESS_EXPORT struct Scope_ * FUNC_USEDIN;
GLOBAL SCL_EXPRESS_EXPORT char * KW_ABS INITIALLY( "ABS" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_ABSTRACT INITIALLY( "ABSTRACT" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_ACOS INITIALLY( "ACOS" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_AGGREGATE INITIALLY( "AGGREGATE" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_ALIAS INITIALLY( "ALIAS" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_AND INITIALLY( "AND" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_ANDOR INITIALLY( "ANDOR" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_ARRAY INITIALLY( "ARRAY" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_AS INITIALLY( "AS" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_ASIN INITIALLY( "ASIN" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_ATAN INITIALLY( "ATAN" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_BAG INITIALLY( "BAG" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_BEGIN INITIALLY( "BEGIN" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_BINARY INITIALLY( "BINARY" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_BLENGTH INITIALLY( "BLENGTH" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_BOOLEAN INITIALLY( "BOOLEAN" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_BY INITIALLY( "BY" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_CASE INITIALLY( "CASE" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_CONST_E INITIALLY( "CONST_E" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_CONSTANT INITIALLY( "CONSTANT" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_CONTEXT INITIALLY( "CONTEXT" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_COS INITIALLY( "COS" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_DERIVE INITIALLY( "DERIVE" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_DIV INITIALLY( "DIV" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_ELSE INITIALLY( "ELSE" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_END INITIALLY( "END" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_END_ALIAS INITIALLY( "END_ALIAS" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_END_CASE INITIALLY( "END_CASE" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_END_CONSTANT INITIALLY( "END_CONSTANT" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_END_CONTEXT INITIALLY( "END_CONTEXT" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_END_ENTITY INITIALLY( "END_ENTITY" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_END_FUNCTION INITIALLY( "END_FUNCTION" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_END_IF INITIALLY( "END_IF" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_END_LOCAL INITIALLY( "END_LOCAL" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_END_MODEL INITIALLY( "END_MODEL" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_END_PROCEDURE INITIALLY( "END_PROCEDURE" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_END_REPEAT INITIALLY( "END_REPEAT" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_END_RULE INITIALLY( "END_RULE" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_END_SCHEMA INITIALLY( "END_SCHEMA" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_END_TYPE INITIALLY( "END_TYPE" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_ENTITY INITIALLY( "ENTITY" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_ENUMERATION INITIALLY( "ENUMERATION" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_ESCAPE INITIALLY( "ESCAPE" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_EXISTS INITIALLY( "EXISTS" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_EXP INITIALLY( "EXP" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_FALSE INITIALLY( "FALSE" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_FIXED INITIALLY( "FIXED" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_FOR INITIALLY( "FOR" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_FORMAT INITIALLY( "FORMAT" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_FROM INITIALLY( "FROM" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_FUNCTION INITIALLY( "FUNCTION" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_GENERIC INITIALLY( "GENERIC" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_HIBOUND INITIALLY( "HIBOUND" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_HIINDEX INITIALLY( "HIINDEX" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_IF INITIALLY( "IF" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_IN INITIALLY( "IN" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_INCLUDE INITIALLY( "INCLUDE" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_INSERT INITIALLY( "INSERT" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_INTEGER INITIALLY( "INTEGER" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_INVERSE INITIALLY( "INVERSE" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_LENGTH INITIALLY( "LENGTH" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_LIKE INITIALLY( "LIKE" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_LIST INITIALLY( "LIST" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_LOBOUND INITIALLY( "LOBOUND" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_LOCAL INITIALLY( "LOCAL" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_LOG INITIALLY( "LOG" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_LOG10 INITIALLY( "LOG10" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_LOG2 INITIALLY( "LOG2" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_LOGICAL INITIALLY( "LOGICAL" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_LOINDEX INITIALLY( "LOINDEX" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_MOD INITIALLY( "MOD" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_MODEL INITIALLY( "MODEL" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_NOT INITIALLY( "NOT" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_NUMBER INITIALLY( "NUMBER" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_NVL INITIALLY( "NVL" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_ODD INITIALLY( "ODD" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_OF INITIALLY( "OF" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_ONEOF INITIALLY( "ONEOF" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_OPTIONAL INITIALLY( "OPTIONAL" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_OR INITIALLY( "OR" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_OTHERWISE INITIALLY( "OTHERWISE" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_PI INITIALLY( "PI" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_PROCEDURE INITIALLY( "PROCEDURE" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_QUERY INITIALLY( "QUERY" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_REAL INITIALLY( "REAL" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_REFERENCE INITIALLY( "REFERENCE" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_REMOVE INITIALLY( "REMOVE" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_REPEAT INITIALLY( "REPEAT" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_RETURN INITIALLY( "RETURN" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_ROLESOF INITIALLY( "ROLESOF" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_RULE INITIALLY( "RULE" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_SCHEMA INITIALLY( "SCHEMA" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_SELECT INITIALLY( "SELECT" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_SELF INITIALLY( "SELF" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_SET INITIALLY( "SET" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_SIN INITIALLY( "SIN" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_SIZEOF INITIALLY( "SIZEOF" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_SKIP INITIALLY( "SKIP" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_SQRT INITIALLY( "SQRT" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_STRING INITIALLY( "STRING" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_SUBTYPE INITIALLY( "SUBTYPE" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_SUPERTYPE INITIALLY( "SUPERTYPE" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_TAN INITIALLY( "TAN" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_THEN INITIALLY( "THEN" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_TO INITIALLY( "TO" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_TRUE INITIALLY( "TRUE" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_TYPE INITIALLY( "TYPE" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_TYPEOF INITIALLY( "TYPEOF" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_UNIQUE INITIALLY( "UNIQUE" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_UNKNOWN INITIALLY( "UNKNOWN" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_UNTIL INITIALLY( "UNTIL" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_USE INITIALLY( "USE" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_USEDIN INITIALLY( "USEDIN" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_VALUE INITIALLY( "VALUE" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_VALUE_IN INITIALLY( "VALUE_IN" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_VALUE_UNIQUE INITIALLY( "VALUE_UNIQUE" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_VAR INITIALLY( "VAR" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_WHERE INITIALLY( "WHERE" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_WHILE INITIALLY( "WHILE" );
GLOBAL SCL_EXPRESS_EXPORT char * KW_XOR INITIALLY( "XOR" );
#undef GLOBAL
#undef INITIALLY
extern SC_EXPRESS_EXPORT char * KW_ABS;
extern SC_EXPRESS_EXPORT char * KW_ABSTRACT;
extern SC_EXPRESS_EXPORT char * KW_ACOS;
extern SC_EXPRESS_EXPORT char * KW_AGGREGATE;
extern SC_EXPRESS_EXPORT char * KW_ALIAS;
extern SC_EXPRESS_EXPORT char * KW_AND;
extern SC_EXPRESS_EXPORT char * KW_ANDOR;
extern SC_EXPRESS_EXPORT char * KW_ARRAY;
extern SC_EXPRESS_EXPORT char * KW_AS;
extern SC_EXPRESS_EXPORT char * KW_ASIN;
extern SC_EXPRESS_EXPORT char * KW_ATAN;
extern SC_EXPRESS_EXPORT char * KW_BAG;
extern SC_EXPRESS_EXPORT char * KW_BEGIN;
extern SC_EXPRESS_EXPORT char * KW_BINARY;
extern SC_EXPRESS_EXPORT char * KW_BLENGTH;
extern SC_EXPRESS_EXPORT char * KW_BOOLEAN;
extern SC_EXPRESS_EXPORT char * KW_BY;
extern SC_EXPRESS_EXPORT char * KW_CASE;
extern SC_EXPRESS_EXPORT char * KW_CONST_E;
extern SC_EXPRESS_EXPORT char * KW_CONSTANT;
extern SC_EXPRESS_EXPORT char * KW_CONTEXT;
extern SC_EXPRESS_EXPORT char * KW_COS;
extern SC_EXPRESS_EXPORT char * KW_DERIVE;
extern SC_EXPRESS_EXPORT char * KW_DIV;
extern SC_EXPRESS_EXPORT char * KW_ELSE;
extern SC_EXPRESS_EXPORT char * KW_END;
extern SC_EXPRESS_EXPORT char * KW_END_ALIAS;
extern SC_EXPRESS_EXPORT char * KW_END_CASE;
extern SC_EXPRESS_EXPORT char * KW_END_CONSTANT;
extern SC_EXPRESS_EXPORT char * KW_END_CONTEXT;
extern SC_EXPRESS_EXPORT char * KW_END_ENTITY;
extern SC_EXPRESS_EXPORT char * KW_END_FUNCTION;
extern SC_EXPRESS_EXPORT char * KW_END_IF;
extern SC_EXPRESS_EXPORT char * KW_END_LOCAL;
extern SC_EXPRESS_EXPORT char * KW_END_MODEL;
extern SC_EXPRESS_EXPORT char * KW_END_PROCEDURE;
extern SC_EXPRESS_EXPORT char * KW_END_REPEAT;
extern SC_EXPRESS_EXPORT char * KW_END_RULE;
extern SC_EXPRESS_EXPORT char * KW_END_SCHEMA;
extern SC_EXPRESS_EXPORT char * KW_END_TYPE;
extern SC_EXPRESS_EXPORT char * KW_ENTITY;
extern SC_EXPRESS_EXPORT char * KW_ENUMERATION;
extern SC_EXPRESS_EXPORT char * KW_ESCAPE;
extern SC_EXPRESS_EXPORT char * KW_EXISTS;
extern SC_EXPRESS_EXPORT char * KW_EXP;
extern SC_EXPRESS_EXPORT char * KW_FALSE;
extern SC_EXPRESS_EXPORT char * KW_FIXED;
extern SC_EXPRESS_EXPORT char * KW_FOR;
extern SC_EXPRESS_EXPORT char * KW_FORMAT;
extern SC_EXPRESS_EXPORT char * KW_FROM;
extern SC_EXPRESS_EXPORT char * KW_FUNCTION;
extern SC_EXPRESS_EXPORT char * KW_GENERIC;
extern SC_EXPRESS_EXPORT char * KW_HIBOUND;
extern SC_EXPRESS_EXPORT char * KW_HIINDEX;
extern SC_EXPRESS_EXPORT char * KW_IF;
extern SC_EXPRESS_EXPORT char * KW_IN;
extern SC_EXPRESS_EXPORT char * KW_INCLUDE;
extern SC_EXPRESS_EXPORT char * KW_INSERT;
extern SC_EXPRESS_EXPORT char * KW_INTEGER;
extern SC_EXPRESS_EXPORT char * KW_INVERSE;
extern SC_EXPRESS_EXPORT char * KW_LENGTH;
extern SC_EXPRESS_EXPORT char * KW_LIKE;
extern SC_EXPRESS_EXPORT char * KW_LIST;
extern SC_EXPRESS_EXPORT char * KW_LOBOUND;
extern SC_EXPRESS_EXPORT char * KW_LOCAL;
extern SC_EXPRESS_EXPORT char * KW_LOG;
extern SC_EXPRESS_EXPORT char * KW_LOG10;
extern SC_EXPRESS_EXPORT char * KW_LOG2;
extern SC_EXPRESS_EXPORT char * KW_LOGICAL;
extern SC_EXPRESS_EXPORT char * KW_LOINDEX;
extern SC_EXPRESS_EXPORT char * KW_MOD;
extern SC_EXPRESS_EXPORT char * KW_MODEL;
extern SC_EXPRESS_EXPORT char * KW_NOT;
extern SC_EXPRESS_EXPORT char * KW_NUMBER;
extern SC_EXPRESS_EXPORT char * KW_NVL;
extern SC_EXPRESS_EXPORT char * KW_ODD;
extern SC_EXPRESS_EXPORT char * KW_OF;
extern SC_EXPRESS_EXPORT char * KW_ONEOF;
extern SC_EXPRESS_EXPORT char * KW_OPTIONAL;
extern SC_EXPRESS_EXPORT char * KW_OR;
extern SC_EXPRESS_EXPORT char * KW_OTHERWISE;
extern SC_EXPRESS_EXPORT char * KW_PI;
extern SC_EXPRESS_EXPORT char * KW_PROCEDURE;
extern SC_EXPRESS_EXPORT char * KW_QUERY;
extern SC_EXPRESS_EXPORT char * KW_REAL;
extern SC_EXPRESS_EXPORT char * KW_REFERENCE;
extern SC_EXPRESS_EXPORT char * KW_REMOVE;
extern SC_EXPRESS_EXPORT char * KW_REPEAT;
extern SC_EXPRESS_EXPORT char * KW_RETURN;
extern SC_EXPRESS_EXPORT char * KW_ROLESOF;
extern SC_EXPRESS_EXPORT char * KW_RULE;
extern SC_EXPRESS_EXPORT char * KW_SCHEMA;
extern SC_EXPRESS_EXPORT char * KW_SELECT;
extern SC_EXPRESS_EXPORT char * KW_SELF;
extern SC_EXPRESS_EXPORT char * KW_SET;
extern SC_EXPRESS_EXPORT char * KW_SIN;
extern SC_EXPRESS_EXPORT char * KW_SIZEOF;
extern SC_EXPRESS_EXPORT char * KW_SKIP;
extern SC_EXPRESS_EXPORT char * KW_SQRT;
extern SC_EXPRESS_EXPORT char * KW_STRING;
extern SC_EXPRESS_EXPORT char * KW_SUBTYPE;
extern SC_EXPRESS_EXPORT char * KW_SUPERTYPE;
extern SC_EXPRESS_EXPORT char * KW_TAN;
extern SC_EXPRESS_EXPORT char * KW_THEN;
extern SC_EXPRESS_EXPORT char * KW_TO;
extern SC_EXPRESS_EXPORT char * KW_TRUE;
extern SC_EXPRESS_EXPORT char * KW_TYPE;
extern SC_EXPRESS_EXPORT char * KW_TYPEOF;
extern SC_EXPRESS_EXPORT char * KW_UNIQUE;
extern SC_EXPRESS_EXPORT char * KW_UNKNOWN;
extern SC_EXPRESS_EXPORT char * KW_UNTIL;
extern SC_EXPRESS_EXPORT char * KW_USE;
extern SC_EXPRESS_EXPORT char * KW_USEDIN;
extern SC_EXPRESS_EXPORT char * KW_VALUE;
extern SC_EXPRESS_EXPORT char * KW_VALUE_IN;
extern SC_EXPRESS_EXPORT char * KW_VALUE_UNIQUE;
extern SC_EXPRESS_EXPORT char * KW_VAR;
extern SC_EXPRESS_EXPORT char * KW_WHERE;
extern SC_EXPRESS_EXPORT char * KW_WHILE;
extern SC_EXPRESS_EXPORT char * KW_XOR;
/******************************/
/* macro function definitions */
@@ -265,16 +249,17 @@ GLOBAL SCL_EXPRESS_EXPORT char * KW_XOR INITIALLY( "XOR" );
/* function prototypes */
/***********************/
extern SCL_EXPRESS_EXPORT Express EXPRESScreate PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT void EXPRESSdestroy PROTO( ( Express ) );
extern SCL_EXPRESS_EXPORT void EXPRESSparse PROTO( ( Express, FILE *, char * ) );
extern SCL_EXPRESS_EXPORT void EXPRESSinitialize PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT void EXPRESScleanup PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT void EXPRESSresolve PROTO( ( Express ) );
extern SCL_EXPRESS_EXPORT char * EXPRESSversion PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT int EXPRESS_fail PROTO( ( Express ) );
extern SCL_EXPRESS_EXPORT int EXPRESS_succeed PROTO( ( Express ) );
extern void EXPRESSinit_init PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT void build_complex( Express );
extern SC_EXPRESS_EXPORT Express EXPRESScreate PROTO( ( void ) );
extern SC_EXPRESS_EXPORT void EXPRESSdestroy PROTO( ( Express ) );
extern SC_EXPRESS_EXPORT void EXPRESSparse PROTO( ( Express, FILE *, char * ) );
extern SC_EXPRESS_EXPORT void EXPRESSinitialize PROTO( ( void ) );
extern SC_EXPRESS_EXPORT void EXPRESScleanup PROTO( ( void ) );
extern SC_EXPRESS_EXPORT void EXPRESSresolve PROTO( ( Express ) );
extern SC_EXPRESS_EXPORT char * EXPRESSversion PROTO( ( void ) );
extern SC_EXPRESS_EXPORT int EXPRESS_fail PROTO( ( Express ) );
extern SC_EXPRESS_EXPORT int EXPRESS_succeed PROTO( ( Express ) );
extern void EXPRESSinit_init PROTO( ( void ) );
extern SC_EXPRESS_EXPORT void EXPRESSusage( int _exit ); /**< exit unless _exit is non-zero */
extern SC_EXPRESS_EXPORT void build_complex( Express );
#endif /*EXPRESS_H*/
+12 -27
View File
@@ -100,11 +100,7 @@
/* packages used */
/*****************/
#include <scl_export.h>
#ifdef HASH_C
#include <assert.h>
#endif /*HASH_C*/
#include <sc_export.h>
#include "memory.h"
/************/
@@ -135,7 +131,7 @@ typedef struct Hash_Table_ {
#endif
unsigned int p; /**< Next bucket to be split */
unsigned int maxp; /**< upper bound on p during expansion */
long KeyCount; /**< current # keys */
unsigned int KeyCount; /**< current # keys */
unsigned int SegmentCount; /**< current # segments */
unsigned int MinLoadFactor;
unsigned int MaxLoadFactor;
@@ -160,19 +156,8 @@ typedef struct {
/* global variables */
/********************/
#ifdef HASH_C
# define GLOBAL
# define INITIALLY(value) = value
#else
# define GLOBAL extern
# define INITIALLY(value)
#endif /*HASH_C*/
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head HASH_Table_fl;
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head HASH_Element_fl;
#undef GLOBAL
#undef INITIALLY
extern SC_EXPRESS_EXPORT struct freelist_head HASH_Table_fl;
extern SC_EXPRESS_EXPORT struct freelist_head HASH_Element_fl;
/******************************/
/* macro function definitions */
@@ -208,13 +193,13 @@ This change only seems to have affected hash.h and hash.c
/* function prototypes */
/***********************/
extern SCL_EXPRESS_EXPORT void HASHinitialize PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT Hash_Table HASHcreate PROTO( ( unsigned ) );
extern SCL_EXPRESS_EXPORT Hash_Table HASHcopy PROTO( ( Hash_Table ) );
extern SCL_EXPRESS_EXPORT void HASHdestroy PROTO( ( Hash_Table ) );
extern SCL_EXPRESS_EXPORT Element HASHsearch PROTO( ( Hash_Table, Element, Action ) );
extern SCL_EXPRESS_EXPORT void HASHlistinit PROTO( ( Hash_Table, HashEntry * ) );
extern SCL_EXPRESS_EXPORT void HASHlistinit_by_type PROTO( ( Hash_Table, HashEntry *, char ) );
extern SCL_EXPRESS_EXPORT Element HASHlist PROTO( ( HashEntry * ) );
extern SC_EXPRESS_EXPORT void HASHinitialize PROTO( ( void ) );
extern SC_EXPRESS_EXPORT Hash_Table HASHcreate PROTO( ( unsigned ) );
extern SC_EXPRESS_EXPORT Hash_Table HASHcopy PROTO( ( Hash_Table ) );
extern SC_EXPRESS_EXPORT void HASHdestroy PROTO( ( Hash_Table ) );
extern SC_EXPRESS_EXPORT Element HASHsearch PROTO( ( Hash_Table, Element, Action ) );
extern SC_EXPRESS_EXPORT void HASHlistinit PROTO( ( Hash_Table, HashEntry * ) );
extern SC_EXPRESS_EXPORT void HASHlistinit_by_type PROTO( ( Hash_Table, HashEntry *, char ) );
extern SC_EXPRESS_EXPORT Element HASHlist PROTO( ( HashEntry * ) );
#endif /*HASH_H*/
+30 -91
View File
@@ -38,7 +38,7 @@
/* packages used */
/*****************/
#include <scl_export.h>
#include <sc_export.h>
#include <ctype.h>
#include "basic.h"
#include "error.h"
@@ -68,31 +68,19 @@ typedef struct Scan_Buffer {
/* global variables */
/********************/
#ifdef LEX_ACTIONS_C
# define GLOBAL
# define INITIALLY(value) = value
#else
# define GLOBAL extern
# define INITIALLY(value)
#endif /* LEX_ACTIONS_C */
extern SC_EXPRESS_EXPORT Scan_Buffer SCAN_buffers[SCAN_NESTING_DEPTH];
extern SC_EXPRESS_EXPORT int SCAN_current_buffer;
extern SC_EXPRESS_EXPORT char * SCANcurrent;
GLOBAL SCL_EXPRESS_EXPORT Scan_Buffer SCAN_buffers[SCAN_NESTING_DEPTH];
GLOBAL SCL_EXPRESS_EXPORT int SCAN_current_buffer INITIALLY( 0 );
GLOBAL SCL_EXPRESS_EXPORT char * SCANcurrent;
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_include_file INITIALLY( ERROR_none );
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_unmatched_close_comment INITIALLY( ERROR_none );
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_unmatched_open_comment INITIALLY( ERROR_none );
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_unterminated_string INITIALLY( ERROR_none );
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_encoded_string_bad_digit INITIALLY( ERROR_none );
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_encoded_string_bad_count INITIALLY( ERROR_none );
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_bad_identifier INITIALLY( ERROR_none );
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_unexpected_character INITIALLY( ERROR_none );
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_nonascii_char;
#undef GLOBAL
#undef INITIALLY
extern SC_EXPRESS_EXPORT Error ERROR_include_file;
extern SC_EXPRESS_EXPORT Error ERROR_unmatched_close_comment;
extern SC_EXPRESS_EXPORT Error ERROR_unmatched_open_comment;
extern SC_EXPRESS_EXPORT Error ERROR_unterminated_string;
extern SC_EXPRESS_EXPORT Error ERROR_encoded_string_bad_digit;
extern SC_EXPRESS_EXPORT Error ERROR_encoded_string_bad_count;
extern SC_EXPRESS_EXPORT Error ERROR_bad_identifier;
extern SC_EXPRESS_EXPORT Error ERROR_unexpected_character;
extern SC_EXPRESS_EXPORT Error ERROR_nonascii_char;
/******************************/
/* macro function definitions */
@@ -111,71 +99,22 @@ GLOBAL SCL_EXPRESS_EXPORT Error ERROR_nonascii_char;
/* function prototypes */
/***********************/
extern SCL_EXPRESS_EXPORT int yylex PROTO( ( void ) ); /* the scanner */
extern SCL_EXPRESS_EXPORT void SCANinitialize PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT int SCANprocess_real_literal PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT int SCANprocess_integer_literal PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT int SCANprocess_binary_literal PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT int SCANprocess_logical_literal PROTO( ( char * ) );
extern SCL_EXPRESS_EXPORT int SCANprocess_identifier_or_keyword PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT int SCANprocess_string PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT int SCANprocess_encoded_string PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT int SCANprocess_semicolon PROTO( ( int ) );
extern SCL_EXPRESS_EXPORT void SCANsave_comment PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT bool SCANread PROTO( ( void ) );
#if macros_bit_the_dust
extern SCL_EXPRESS_EXPORT void SCANdefine_macro PROTO( ( char *, char * ) );
#endif
extern SCL_EXPRESS_EXPORT void SCANinclude_file PROTO( ( char * ) );
SCL_EXPRESS_EXPORT void SCANlowerize PROTO( ( char * ) );
SCL_EXPRESS_EXPORT void SCANupperize PROTO( ( char * ) );
extern SCL_EXPRESS_EXPORT char * SCANstrdup PROTO( ( char * ) );
extern SCL_EXPRESS_EXPORT long SCANtell PROTO( ( void ) );
/*******************************/
/* inline function definitions */
/*******************************/
#if supports_inline_functions || defined(LEX_ACTIONS_C)
static_inline
int
SCANnextchar( char * buffer ) {
extern bool SCANread( void );
#ifdef keep_nul
static int escaped = 0;
#endif
if( SCANtext_ready || SCANread() ) {
#ifdef keep_nul
if( !*SCANcurrent ) {
buffer[0] = SCAN_ESCAPE;
*SCANcurrent = '0';
return 1;
} else if( ( *SCANcurrent == SCAN_ESCAPE ) && !escaped ) {
escaped = 1;
buffer[0] = SCAN_ESCAPE;
return 1;
}
SCANbuffer.numRead--;
#endif
buffer[0] = *( SCANcurrent++ );
#ifdef __MSVC__
if( !__isascii( buffer[0] ) ) {
#else
if( !isascii( buffer[0] ) ) {
#endif
ERRORreport_with_line( ERROR_nonascii_char, yylineno,
0xff & buffer[0] );
buffer[0] = ' '; /* substitute space */
}
return 1;
} else {
return 0;
}
}
#endif /* supports_inline_functions || defined(LEX_ACTIONS_C) */
extern SC_EXPRESS_EXPORT void SCANinitialize PROTO( ( void ) );
extern SC_EXPRESS_EXPORT void SCANcleanup( void );
extern SC_EXPRESS_EXPORT int SCANprocess_real_literal PROTO( ( const char * ) );
extern SC_EXPRESS_EXPORT int SCANprocess_integer_literal PROTO( ( const char * ) );
extern SC_EXPRESS_EXPORT int SCANprocess_binary_literal PROTO( ( const char * ) );
extern SC_EXPRESS_EXPORT int SCANprocess_logical_literal PROTO( ( char * ) );
extern SC_EXPRESS_EXPORT int SCANprocess_identifier_or_keyword PROTO( ( const char * ) );
extern SC_EXPRESS_EXPORT int SCANprocess_string PROTO( ( const char * ) );
extern SC_EXPRESS_EXPORT int SCANprocess_encoded_string PROTO( ( const char * ) );
extern SC_EXPRESS_EXPORT int SCANprocess_semicolon PROTO( ( const char *, int ) );
extern SC_EXPRESS_EXPORT void SCANsave_comment PROTO( ( const char * ) );
extern SC_EXPRESS_EXPORT bool SCANread PROTO( ( void ) );
extern SC_EXPRESS_EXPORT void SCANinclude_file PROTO( ( char * ) );
SC_EXPRESS_EXPORT void SCANlowerize PROTO( ( char * ) );
SC_EXPRESS_EXPORT void SCANupperize PROTO( ( char * ) );
extern SC_EXPRESS_EXPORT char * SCANstrdup PROTO( ( const char * ) );
extern SC_EXPRESS_EXPORT long SCANtell PROTO( ( void ) );
#endif /* LEX_ACTIONS_H */
+35 -72
View File
@@ -36,7 +36,7 @@
/* packages used */
/*****************/
#include <scl_export.h>
#include <sc_export.h>
#include "basic.h"
#include "memory.h"
@@ -70,18 +70,9 @@ struct Linked_List_ {
/* global variables */
/********************/
#ifdef LINKED_LIST_C
#include "defstart.h"
#else
#include "decstart.h"
#endif /*LINKED_LIST_C*/
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_empty_list INITIALLY( ERROR_none );
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head LINK_fl;
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head LIST_fl;
GLOBAL SCL_EXPRESS_EXPORT Linked_List LINK__l; /* for LISTcreate_with macro - ugh */
#include "de_end.h"
extern SC_EXPRESS_EXPORT Error ERROR_empty_list;
extern SC_EXPRESS_EXPORT struct freelist_head LINK_fl;
extern SC_EXPRESS_EXPORT struct freelist_head LIST_fl;
/******************************/
/* macro function definitions */
@@ -92,24 +83,25 @@ GLOBAL SCL_EXPRESS_EXPORT Linked_List LINK__l; /* for LISTcreate_with macro
#define LIST_new() (struct Linked_List_ *)MEM_new(&LIST_fl)
#define LIST_destroy(x) MEM_destroy(&LIST_fl,(Freelist *)(Generic)x)
/** following could be optimized */
#define LISTcreate_with(x) (LINK__l = LISTcreate()),\
LISTadd(LINK__l,x),\
LINK_l)
/** accessing links */
#define LINKdata(link) (link)->data
#define LINKnext(link) (link)->next
#define LINKprev(link) (link)->prev
/** iteration */
#define LISTdo(list, elt, type) \
{struct Linked_List_ * __l = (list); \
type elt; \
Link __p; \
if (__l) { \
for (__p = __l->mark; (__p = __p->next) != __l->mark; ) { \
(elt) = (type)((__p)->data);
#define LISTdo(list, elt, type) LISTdo_n( list, elt, type, a )
/** LISTdo_n: LISTdo with nesting
* parameter 'uniq' changes the variable names, allowing us to nest it without -Wshadow warnings
*/
#define LISTdo_n(list, elt, type, uniq) \
{struct Linked_List_ * _ ## uniq ## l = (list); \
type elt; \
Link _ ## uniq ## p; \
if( _ ## uniq ## l ) { \
for( _ ## uniq ## p = _ ## uniq ## l->mark; \
( _ ## uniq ## p = _ ## uniq ## p->next ) != _ ## uniq ## l->mark; ) { \
( elt ) = ( type ) ( ( _ ## uniq ## p )->data );
#define LISTdo_links(list, link) \
{Linked_List __i = (list); \
@@ -124,58 +116,29 @@ GLOBAL SCL_EXPRESS_EXPORT Linked_List LINK__l; /* for LISTcreate_with macro
(((struct Linked_List_*)list)->mark->next->data)
/** function aliases */
#define LISTadd(list, item) LISTadd_last(list, item)
#define LISTadd_all(list, items) \
LISTdo(items, e, Generic) \
LISTadd(list, e); \
LISTod;
LISTdo(items, e, Generic) { \
LISTadd_last(list, e); \
} LISTod;
/***********************/
/* function prototypes */
/***********************/
extern SCL_EXPRESS_EXPORT void LISTinitialize PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT void LISTcleanup PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT Linked_List LISTcreate PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT Linked_List LISTcopy PROTO( ( Linked_List ) );
extern SCL_EXPRESS_EXPORT Generic LISTadd_first PROTO( ( Linked_List, Generic ) );
extern SCL_EXPRESS_EXPORT Generic LISTadd_last PROTO( ( Linked_List, Generic ) );
extern SCL_EXPRESS_EXPORT Generic LISTadd_after PROTO( ( Linked_List, Link, Generic ) );
extern SCL_EXPRESS_EXPORT Generic LISTadd_before PROTO( ( Linked_List, Link, Generic ) );
extern SCL_EXPRESS_EXPORT Generic LISTremove_first PROTO( ( Linked_List ) );
extern SCL_EXPRESS_EXPORT Generic LISTremove PROTO( ( Linked_List, Link ) );
extern SCL_EXPRESS_EXPORT Generic LISTget_first PROTO( ( Linked_List ) );
extern SCL_EXPRESS_EXPORT Generic LISTget_second PROTO( ( Linked_List ) );
extern SCL_EXPRESS_EXPORT Generic LISTget_nth PROTO( ( Linked_List, int ) );
extern SCL_EXPRESS_EXPORT void LISTfree PROTO( ( Linked_List ) );
extern SCL_EXPRESS_EXPORT int LISTget_length PROTO( ( Linked_List ) );
/*******************************/
/* inline function definitions */
/*******************************/
#if !defined(__BORLAND__)
#if supports_inline_functions || defined(LINKED_LIST_C)
static_inline
bool
LISTempty( Linked_List list ) {
if( !list ) {
return true;
}
if( list->mark->next == list->mark ) {
return true;
}
return false;
}
#endif /* supports_inline_functions || defined(LINKED_LIST_C) */
#else
extern SCL_EXPRESS_EXPORT bool LISTempty( Linked_List list );
#endif
extern SC_EXPRESS_EXPORT void LISTinitialize PROTO( ( void ) );
extern SC_EXPRESS_EXPORT void LISTcleanup PROTO( ( void ) );
extern SC_EXPRESS_EXPORT Linked_List LISTcreate PROTO( ( void ) );
extern SC_EXPRESS_EXPORT Linked_List LISTcopy PROTO( ( Linked_List ) );
extern SC_EXPRESS_EXPORT Generic LISTadd_first PROTO( ( Linked_List, Generic ) );
extern SC_EXPRESS_EXPORT Generic LISTadd_last PROTO( ( Linked_List, Generic ) );
extern SC_EXPRESS_EXPORT Generic LISTadd_after PROTO( ( Linked_List, Link, Generic ) );
extern SC_EXPRESS_EXPORT Generic LISTadd_before PROTO( ( Linked_List, Link, Generic ) );
extern SC_EXPRESS_EXPORT Generic LISTremove_first PROTO( ( Linked_List ) );
extern SC_EXPRESS_EXPORT Generic LISTget_first PROTO( ( Linked_List ) );
extern SC_EXPRESS_EXPORT Generic LISTget_second PROTO( ( Linked_List ) );
extern SC_EXPRESS_EXPORT Generic LISTget_nth PROTO( ( Linked_List, int ) );
extern SC_EXPRESS_EXPORT void LISTfree PROTO( ( Linked_List ) );
extern SC_EXPRESS_EXPORT int LISTget_length PROTO( ( Linked_List ) );
extern SC_EXPRESS_EXPORT bool LISTempty( Linked_List list );
#endif /*LINKED_LIST_H*/
+7 -16
View File
@@ -28,7 +28,7 @@
/* packages used */
/*****************/
#include <scl_export.h>
#include <sc_export.h>
/** \file memory.h - defs for fixed size block memory allocator */
@@ -53,7 +53,7 @@ struct freelist_head {
int size; /**< size of a single elt incl. next ptr */
int bytes; /**< if we run out, allocate memory by this many bytes */
Freelist * freelist;
#if SPACE_PROFILE
#ifdef SPACE_PROFILE
int count;
#endif
};
@@ -62,18 +62,11 @@ char * nnew();
#include "error.h"
/* should be MEMORY_C but there is none, so we'll tie it to express.c */
#ifdef EXPRESS_C
#include "defstart.h"
#else
#include "decstart.h"
#endif /* EXPRESS_C */
/***********************************************/
/* space allocation macros with error package: */
/***********************************************/
extern int yylineno;
extern SC_EXPRESS_EXPORT int yylineno;
/** CALLOC grabs and initializes to all 0s space for the indicated
* number of instances of the indicated type */
@@ -82,12 +75,10 @@ extern int yylineno;
fprintf(stderr,"fedex: out of space");\
} else {}
SCL_EXPRESS_EXPORT void _MEMinitialize PROTO( ( void ) );
SCL_EXPRESS_EXPORT void MEMinitialize PROTO( ( struct freelist_head *, int, int, int ) );
SCL_EXPRESS_EXPORT void MEM_destroy PROTO( ( struct freelist_head *, Freelist * ) );
SCL_EXPRESS_EXPORT Generic MEM_new PROTO( ( struct freelist_head * ) );
#include "de_end.h"
SC_EXPRESS_EXPORT void _MEMinitialize PROTO( ( void ) );
SC_EXPRESS_EXPORT void MEMinitialize PROTO( ( struct freelist_head * flh, unsigned int size, int alloc1, int alloc2 ) );
SC_EXPRESS_EXPORT void MEM_destroy PROTO( ( struct freelist_head *, Freelist * ) );
SC_EXPRESS_EXPORT Generic MEM_new PROTO( ( struct freelist_head * ) );
#endif /* MEMORY_H */
+6 -16
View File
@@ -55,7 +55,7 @@
/* packages used */
/*****************/
#include <scl_export.h>
#include <sc_export.h>
#include "basic.h" /* get basic definitions */
#include "symbol.h"
@@ -81,15 +81,7 @@ struct Object {
/* global variables */
/********************/
#ifdef OBJECT_C
#include "defstart.h"
#else
#include "decstart.h"
#endif /*OBJECT_C */
GLOBAL SCL_EXPRESS_EXPORT struct Object * OBJ;
#include "de_end.h"
extern SC_EXPRESS_EXPORT struct Object * OBJ;
/******************************/
/* macro function definitions */
@@ -101,15 +93,13 @@ GLOBAL SCL_EXPRESS_EXPORT struct Object * OBJ;
#define OBJtype_is_oneof(_type_,class) (OBJ[(int)_type_].bits & (class))
#define OBJget_name(obj,type) (OBJget_symbol(obj,type)->name)
/* removed #define statements for obsolete fn macros OBJequal OBJfree OBJreference OBJget_data */
/***********************/
/* function prototypes */
/***********************/
extern SCL_EXPRESS_EXPORT void OBJinitialize PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT void OBJcleanup PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT void OBJcreate PROTO( ( char, struct Symbol_ * ( * )( Generic ), char *, int ) );
extern SCL_EXPRESS_EXPORT Symbol * UNK_get_symbol PROTO( ( Generic x ) );
extern SC_EXPRESS_EXPORT void OBJinitialize PROTO( ( void ) );
extern SC_EXPRESS_EXPORT void OBJcleanup PROTO( ( void ) );
extern SC_EXPRESS_EXPORT void OBJcreate PROTO( ( char, struct Symbol_ * ( * )( Generic ), char *, int ) );
extern SC_EXPRESS_EXPORT Symbol * UNK_get_symbol PROTO( ( Generic x ) );
#endif /*OBJECT_H*/
+24 -32
View File
@@ -28,7 +28,7 @@
* Initial revision
*/
#include <scl_export.h>
#include <sc_export.h>
#include "expbasic.h" /* get basic definitions */
#include "type.h"
#include "variable.h"
@@ -45,35 +45,27 @@
/* global variables */
/********************/
#ifdef RESOLVE_C
# define GLOBAL
# define INITIALLY(value) = value
#else
# define GLOBAL extern
# define INITIALLY(value)
#endif /*RESOLVE_C*/
extern SC_EXPRESS_EXPORT int print_objects_while_running;
GLOBAL SCL_EXPRESS_EXPORT int print_objects_while_running INITIALLY( 0 );
extern SC_EXPRESS_EXPORT Error ERROR_undefined_attribute;
extern SC_EXPRESS_EXPORT Error ERROR_undefined_type;
extern SC_EXPRESS_EXPORT Error ERROR_undefined_schema;
extern SC_EXPRESS_EXPORT Error ERROR_unknown_attr_in_entity;
extern SC_EXPRESS_EXPORT Error ERROR_unknown_subtype;
extern SC_EXPRESS_EXPORT Error ERROR_unknown_supertype;
extern SC_EXPRESS_EXPORT Error ERROR_circular_reference;
extern SC_EXPRESS_EXPORT Error ERROR_ambiguous_attribute;
extern SC_EXPRESS_EXPORT Error ERROR_ambiguous_group;
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_undefined_attribute INITIALLY( ERROR_none );
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_undefined_type INITIALLY( ERROR_none );
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_undefined_schema INITIALLY( ERROR_none );
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_unknown_attr_in_entity INITIALLY( ERROR_none );
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_unknown_subtype INITIALLY( ERROR_none );
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_unknown_supertype INITIALLY( ERROR_none );
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_circular_reference INITIALLY( ERROR_none );
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_ambiguous_attribute INITIALLY( ERROR_none );
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_ambiguous_group INITIALLY( ERROR_none );
#undef GLOBAL
#undef INITIALLY
extern SC_EXPRESS_EXPORT Error WARNING_case_skip_label;
extern SC_EXPRESS_EXPORT Error WARNING_fn_skip_branch;
/* macros */
/* cheaper doing the check here, then inside the function call. Return */
/* immediately for RESOLVED, FAILED_TO_RESOLVE, and RESOLVE_IN_PROGRESS */
#define TYPEresolve(t,s) if (is_resolvable((*(t)))) TYPE_resolve((t))
#define VARresolve_types(v,s) if (is_resolvable((v)->name)) VAR_resolve_types((v),(s))
#define TYPEresolve(t) if (is_resolvable((*(t)))) TYPE_resolve((t))
#define VARresolve_types(v) if (is_resolvable((v)->name)) VAR_resolve_types((v))
#define VARresolve_expressions(v,s) if (is_resolvable((v)->name)) VAR_resolve_expressions((v),(s))
#define EXPresolve(expr,scope,type) if (!is_resolved(expr)) EXP_resolve(expr,scope,type)
@@ -81,14 +73,14 @@ GLOBAL SCL_EXPRESS_EXPORT Error ERROR_ambiguous_group INITIALLY( ERROR_
/* function prototypes */
/***********************/
extern SCL_EXPRESS_EXPORT void RESOLVEinitialize PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT void RESOLVEcleanup PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT void SCOPEresolve_expressions_statements PROTO( ( Scope ) );
extern SCL_EXPRESS_EXPORT void SCOPEresolve_subsupers PROTO( ( Scope ) );
extern SCL_EXPRESS_EXPORT void SCOPEresolve_types PROTO( ( Scope ) );
extern SCL_EXPRESS_EXPORT void TYPE_resolve PROTO( ( Type * ) );
extern SCL_EXPRESS_EXPORT void EXP_resolve PROTO( ( Expression, Scope, Type ) );
extern SCL_EXPRESS_EXPORT void ALGresolve PROTO( ( Scope ) );
extern SCL_EXPRESS_EXPORT void SCHEMAresolve PROTO( ( Scope ) );
extern SC_EXPRESS_EXPORT void RESOLVEinitialize PROTO( ( void ) );
extern SC_EXPRESS_EXPORT void RESOLVEcleanup PROTO( ( void ) );
extern SC_EXPRESS_EXPORT void SCOPEresolve_expressions_statements PROTO( ( Scope ) );
extern SC_EXPRESS_EXPORT void SCOPEresolve_subsupers PROTO( ( Scope ) );
extern SC_EXPRESS_EXPORT void SCOPEresolve_types PROTO( ( Scope ) );
extern SC_EXPRESS_EXPORT void TYPE_resolve PROTO( ( Type * ) );
extern SC_EXPRESS_EXPORT void EXP_resolve PROTO( ( Expression, Scope, Type ) );
extern SC_EXPRESS_EXPORT void ALGresolve PROTO( ( Scope ) );
extern SC_EXPRESS_EXPORT void SCHEMAresolve PROTO( ( Scope ) );
#endif /*RESOLVE_H*/
+21 -33
View File
@@ -50,7 +50,7 @@
/* packages used */
/*****************/
#include <scl_export.h>
#include <sc_export.h>
#include "expbasic.h" /* get basic definitions */
#include "symbol.h"
#include "scope.h"
@@ -88,7 +88,7 @@ struct Schema_ {
Linked_List reflist;
Linked_List uselist;
/** \var refdict, usedict
* dictionarys into which are entered renames for each specific
* dictionarys into which are entered renames for each specific
* object specified in a rename clause (even if it uses the same
* name */
Dictionary refdict;
@@ -96,7 +96,7 @@ struct Schema_ {
Linked_List use_schemas; /**< lists of schemas that are fully use'd
* entries can be 0 if schemas weren't found during RENAMEresolve */
Linked_List ref_schemas; /**< lists of schemas that are fully ref'd
Linked_List ref_schemas; /**< lists of schemas that are fully ref'd
* entries can be 0 if schemas weren't found during RENAMEresolve */
};
@@ -104,22 +104,11 @@ struct Schema_ {
/* global variables */
/********************/
#ifdef SCHEMA_C
# define GLOBAL
# define INITIALLY(value) = value
#else
# define GLOBAL extern
# define INITIALLY(value)
#endif /* SCHEMA_C */
extern SC_EXPRESS_EXPORT struct freelist_head REN_fl;
extern SC_EXPRESS_EXPORT struct freelist_head SCOPE_fl;
extern SC_EXPRESS_EXPORT struct freelist_head SCHEMA_fl;
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head REN_fl;
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head SCOPE_fl;
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head SCHEMA_fl;
GLOBAL SCL_EXPRESS_EXPORT int __SCOPE_search_id INITIALLY( 0 );
#undef GLOBAL
#undef INITIALLY
extern SC_EXPRESS_EXPORT int __SCOPE_search_id;
/******************************/
/* macro function definitions */
@@ -144,21 +133,20 @@ GLOBAL SCL_EXPRESS_EXPORT int __SCOPE_search_id INITIALLY( 0 );
/* function prototypes */
/***********************/
extern SCL_EXPRESS_EXPORT Variable VARfind PROTO( ( Scope, char *, int ) );
extern SCL_EXPRESS_EXPORT Schema SCHEMAcreate PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT void SCHEMAinitialize PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT void SCHEMAadd_use PROTO( ( Schema, Symbol *, Symbol *, Symbol * ) );
extern SCL_EXPRESS_EXPORT void SCHEMAadd_reference PROTO( ( Schema, Symbol *, Symbol *, Symbol * ) );
extern SCL_EXPRESS_EXPORT void SCHEMAdefine_use PROTO( ( Schema, Rename * ) );
extern SCL_EXPRESS_EXPORT void SCHEMAdefine_reference PROTO( ( Schema, Rename * ) );
extern SCL_EXPRESS_EXPORT Generic SCHEMAfind PROTO( ( Schema, char * name, int search_refs ) );
extern SCL_EXPRESS_EXPORT Scope SCOPEcreate PROTO( ( char ) );
extern SCL_EXPRESS_EXPORT Scope SCOPEcreate_tiny PROTO( ( char ) );
extern SCL_EXPRESS_EXPORT Scope SCOPEcreate_nostab PROTO( ( char ) );
extern SCL_EXPRESS_EXPORT void SCOPEdestroy PROTO( ( Scope ) );
extern SCL_EXPRESS_EXPORT Linked_List SCHEMAget_entities_use PROTO( ( Scope ) );
extern SCL_EXPRESS_EXPORT Linked_List SCHEMAget_entities_ref PROTO( ( Scope ) );
extern SC_EXPRESS_EXPORT Variable VARfind PROTO( ( Scope, char *, int ) );
extern SC_EXPRESS_EXPORT Schema SCHEMAcreate PROTO( ( void ) );
extern SC_EXPRESS_EXPORT void SCHEMAinitialize PROTO( ( void ) );
extern SC_EXPRESS_EXPORT void SCHEMAadd_use PROTO( ( Schema, Symbol *, Symbol *, Symbol * ) );
extern SC_EXPRESS_EXPORT void SCHEMAadd_reference PROTO( ( Schema, Symbol *, Symbol *, Symbol * ) );
extern SC_EXPRESS_EXPORT void SCHEMAdefine_use PROTO( ( Schema, Rename * ) );
extern SC_EXPRESS_EXPORT void SCHEMAdefine_reference PROTO( ( Schema, Rename * ) );
extern SC_EXPRESS_EXPORT Generic SCHEMAfind PROTO( ( Schema, char * name, int search_refs ) );
extern SC_EXPRESS_EXPORT Scope SCOPEcreate PROTO( ( char ) );
extern SC_EXPRESS_EXPORT Scope SCOPEcreate_tiny PROTO( ( char ) );
extern SC_EXPRESS_EXPORT Scope SCOPEcreate_nostab PROTO( ( char ) );
extern SC_EXPRESS_EXPORT void SCOPEdestroy PROTO( ( Scope ) );
extern SC_EXPRESS_EXPORT Linked_List SCHEMAget_entities_use PROTO( ( Scope ) );
extern SC_EXPRESS_EXPORT Linked_List SCHEMAget_entities_ref PROTO( ( Scope ) );
#endif /* SCHEMA_H */
+11 -22
View File
@@ -49,7 +49,7 @@
/* modules used */
/****************/
#include <scl_export.h>
#include <sc_export.h>
#include "type.h"
#include "variable.h"
#include "entity.h"
@@ -82,7 +82,7 @@ struct Scope_ {
char type; /* see above */
ClientData clientData; /**< user may use this for any purpose */
int search_id; /**< key to avoid searching this scope twice */
Dictionary symbol_table,enum_table;
Dictionary symbol_table, enum_table;
struct Scope_ * superscope;
union {
struct Procedure_ * proc;
@@ -99,17 +99,6 @@ struct Scope_ {
Linked_List where; /**< optional where clause */
};
/********************/
/* global variables */
/********************/
#ifdef SCOPE_C
#include "defstart.h"
#else
#include "decstart.h"
#endif /* SCOPE_C */
#include "de_end.h"
/******************************/
/* macro function definitions */
/******************************/
@@ -145,14 +134,14 @@ struct Scope_ {
/* function prototypes */
/***********************/
extern SCL_EXPRESS_EXPORT struct Symbol_ * SCOPE_get_symbol PROTO( ( Generic ) );
extern SCL_EXPRESS_EXPORT void SCOPE_get_entities PROTO( ( Scope, Linked_List ) );
extern SCL_EXPRESS_EXPORT Linked_List SCOPEget_entities PROTO( ( Scope ) );
extern SCL_EXPRESS_EXPORT Linked_List SCOPEget_entities_superclass_order PROTO( ( Scope ) );
extern SCL_EXPRESS_EXPORT Generic SCOPEfind PROTO( ( Scope, char *, int ) );
extern SCL_EXPRESS_EXPORT void SCOPE_get_functions PROTO( ( Scope, Linked_List ) );
extern SCL_EXPRESS_EXPORT Linked_List SCOPEget_functions PROTO( ( Scope ) );
extern SCL_EXPRESS_EXPORT void SCOPE_get_rules PROTO( ( Scope, Linked_List ) );
extern SCL_EXPRESS_EXPORT Linked_List SCOPEget_rules PROTO( ( Scope ) );
extern SC_EXPRESS_EXPORT struct Symbol_ * SCOPE_get_symbol PROTO( ( Generic ) );
extern SC_EXPRESS_EXPORT void SCOPE_get_entities PROTO( ( Scope, Linked_List ) );
extern SC_EXPRESS_EXPORT Linked_List SCOPEget_entities PROTO( ( Scope ) );
extern SC_EXPRESS_EXPORT Linked_List SCOPEget_entities_superclass_order PROTO( ( Scope ) );
extern SC_EXPRESS_EXPORT Generic SCOPEfind PROTO( ( Scope, char *, int ) );
extern SC_EXPRESS_EXPORT void SCOPE_get_functions PROTO( ( Scope, Linked_List ) );
extern SC_EXPRESS_EXPORT Linked_List SCOPEget_functions PROTO( ( Scope ) );
extern SC_EXPRESS_EXPORT void SCOPE_get_rules PROTO( ( Scope, Linked_List ) );
extern SC_EXPRESS_EXPORT Linked_List SCOPEget_rules PROTO( ( Scope ) );
#endif /* SCOPE_H */
+25 -33
View File
@@ -48,7 +48,7 @@
/* packages used */
/*****************/
#include <scl_export.h>
#include <sc_export.h>
#include "expbasic.h" /* get basic definitions */
#include "scope.h"
@@ -131,7 +131,7 @@ struct Compound_Statement_ {
struct Conditional_ {
Expression test;
Linked_List code; /**< list of statements */
Linked_List code; /**< list of statements */
Linked_List otherwise; /**< list of statements */
};
@@ -164,28 +164,20 @@ struct Return_Statement_ {
/* global variables */
/********************/
#ifdef STATEMENT_C
#include "defstart.h"
#else
#include "decstart.h"
#endif /*STATEMENT_C*/
extern SC_EXPRESS_EXPORT struct freelist_head STMT_fl;
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head STMT_fl;
extern SC_EXPRESS_EXPORT struct freelist_head ALIAS_fl;
extern SC_EXPRESS_EXPORT struct freelist_head ASSIGN_fl;
extern SC_EXPRESS_EXPORT struct freelist_head CASE_fl;
extern SC_EXPRESS_EXPORT struct freelist_head COMP_STMT_fl;
extern SC_EXPRESS_EXPORT struct freelist_head COND_fl;
extern SC_EXPRESS_EXPORT struct freelist_head LOOP_fl;
extern SC_EXPRESS_EXPORT struct freelist_head PCALL_fl;
extern SC_EXPRESS_EXPORT struct freelist_head RET_fl;
extern SC_EXPRESS_EXPORT struct freelist_head INCR_fl;
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head ALIAS_fl;
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head ASSIGN_fl;
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head CASE_fl;
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head COMP_STMT_fl;
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head COND_fl;
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head LOOP_fl;
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head PCALL_fl;
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head RET_fl;
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head INCR_fl;
GLOBAL SCL_EXPRESS_EXPORT Statement STATEMENT_ESCAPE INITIALLY( STATEMENT_NULL );
GLOBAL SCL_EXPRESS_EXPORT Statement STATEMENT_SKIP INITIALLY( STATEMENT_NULL );
#include "de_end.h"
extern SC_EXPRESS_EXPORT Statement STATEMENT_ESCAPE;
extern SC_EXPRESS_EXPORT Statement STATEMENT_SKIP;
/******************************/
/* macro function definitions */
@@ -233,17 +225,17 @@ GLOBAL SCL_EXPRESS_EXPORT Statement STATEMENT_SKIP INITIALLY( STATEMENT_
/* function prototypes */
/***********************/
extern SCL_EXPRESS_EXPORT Statement STMTcreate PROTO( ( int ) );
extern SCL_EXPRESS_EXPORT Statement ALIAScreate PROTO( ( struct Scope_ *, Variable, Linked_List ) );
extern SCL_EXPRESS_EXPORT Statement CASEcreate PROTO( ( Expression , Linked_List ) );
extern SCL_EXPRESS_EXPORT Statement ASSIGNcreate PROTO( ( Expression , Expression ) );
extern SCL_EXPRESS_EXPORT Statement COMP_STMTcreate PROTO( ( Linked_List ) );
extern SCL_EXPRESS_EXPORT Statement CONDcreate PROTO( ( Expression, Linked_List, Linked_List ) );
extern SCL_EXPRESS_EXPORT Statement LOOPcreate PROTO( ( struct Scope_ *, Expression, Expression, Linked_List ) );
extern SCL_EXPRESS_EXPORT Statement PCALLcreate PROTO( ( Linked_List ) );
extern SCL_EXPRESS_EXPORT Statement RETcreate PROTO( ( Expression ) );
extern SCL_EXPRESS_EXPORT void STMTinitialize PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT struct Scope_ * INCR_CTLcreate PROTO( ( Symbol *, Expression start,
extern SC_EXPRESS_EXPORT Statement STMTcreate PROTO( ( int ) );
extern SC_EXPRESS_EXPORT Statement ALIAScreate PROTO( ( struct Scope_ *, Variable, Linked_List ) );
extern SC_EXPRESS_EXPORT Statement CASEcreate PROTO( ( Expression , Linked_List ) );
extern SC_EXPRESS_EXPORT Statement ASSIGNcreate PROTO( ( Expression , Expression ) );
extern SC_EXPRESS_EXPORT Statement COMP_STMTcreate PROTO( ( Linked_List ) );
extern SC_EXPRESS_EXPORT Statement CONDcreate PROTO( ( Expression, Linked_List, Linked_List ) );
extern SC_EXPRESS_EXPORT Statement LOOPcreate PROTO( ( struct Scope_ *, Expression, Expression, Linked_List ) );
extern SC_EXPRESS_EXPORT Statement PCALLcreate PROTO( ( Linked_List ) );
extern SC_EXPRESS_EXPORT Statement RETcreate PROTO( ( Expression ) );
extern SC_EXPRESS_EXPORT void STMTinitialize PROTO( ( void ) );
extern SC_EXPRESS_EXPORT struct Scope_ * INCR_CTLcreate PROTO( ( Symbol *, Expression start,
Expression end, Expression increment ) );
#endif /*STATEMENT_H*/
+5 -14
View File
@@ -43,7 +43,7 @@
/* packages used */
/*****************/
#include <scl_export.h>
#include <sc_export.h>
#include "basic.h" /* get basic definitions */
#include "memory.h"
@@ -60,7 +60,7 @@ typedef struct Symbol_ Symbol;
struct Symbol_ {
char * name;
char * filename;
unsigned int line;
int line;
char resolved;
};
@@ -72,15 +72,7 @@ struct Symbol_ {
/* global variables */
/********************/
#ifdef SYMBOL_C
#include "defstart.h"
#else
#include "decstart.h"
#endif /* SYMBOL_C */
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head SYMBOL_fl;
#include "de_end.h"
extern SC_EXPRESS_EXPORT struct freelist_head SYMBOL_fl;
/******************************/
/* macro function definitions */
@@ -96,8 +88,7 @@ GLOBAL SCL_EXPRESS_EXPORT struct freelist_head SYMBOL_fl;
/* function prototypes */
/***********************/
extern SCL_EXPRESS_EXPORT void SYMBOLinitialize( void );
SCL_EXPRESS_EXPORT Symbol * SYMBOLcreate( char * name, int line, char * filename );
extern SC_EXPRESS_EXPORT void SYMBOLinitialize PROTO( ( void ) );
SC_EXPRESS_EXPORT Symbol * SYMBOLcreate( char * name, int line, char * filename );
#endif /* SYMBOL_H */
+49 -53
View File
@@ -106,7 +106,7 @@ enum type_enum {
/* packages used */
/*****************/
#include <scl_export.h>
#include <sc_export.h>
#include "expbasic.h" /* get basic definitions */
#include "symbol.h"
#include "object.h"
@@ -159,7 +159,11 @@ struct TypeBody_ {
unsigned optional : 1;
unsigned fixed : 1;
unsigned shared : 1; /**< type is shared */
unsigned repeat : 1; /**< expression is a repeat count*/
unsigned repeat : 1; /**< Expression is the number of repetitions of the previous Expression
* 10303-11:2004 production #203
* element = expression [ ':' repetition ] .
* TODO exp2cxx and exp2py do not use this! Are all use cases handled by libexppp?
*/
unsigned encoded : 1; /**< encoded string */
} flags;
Type base; /**< underlying base type if any can also contain true type if this type is a type reference */
@@ -176,51 +180,43 @@ struct TypeBody_ {
/* global variables */
/********************/
#ifdef TYPE_C
#include "defstart.h"
#else
#include "decstart.h"
#endif /* TYPE_C */
/* Very commonly-used read-only types */
/* non-constant versions probably aren't necessary? */
GLOBAL SCL_EXPRESS_EXPORT Type Type_Bad;
GLOBAL SCL_EXPRESS_EXPORT Type Type_Unknown;
GLOBAL SCL_EXPRESS_EXPORT Type Type_Dont_Care;
GLOBAL SCL_EXPRESS_EXPORT Type Type_Runtime; /**< indicates that this object can't be
extern SC_EXPRESS_EXPORT Type Type_Bad;
extern SC_EXPRESS_EXPORT Type Type_Unknown;
extern SC_EXPRESS_EXPORT Type Type_Dont_Care;
extern SC_EXPRESS_EXPORT Type Type_Runtime; /**< indicates that this object can't be
calculated now but must be deferred
until (the mythical) runtime */
GLOBAL SCL_EXPRESS_EXPORT Type Type_Binary;
GLOBAL SCL_EXPRESS_EXPORT Type Type_Boolean;
GLOBAL SCL_EXPRESS_EXPORT Type Type_Enumeration;
GLOBAL SCL_EXPRESS_EXPORT Type Type_Expression;
GLOBAL SCL_EXPRESS_EXPORT Type Type_Aggregate;
GLOBAL SCL_EXPRESS_EXPORT Type Type_Integer;
GLOBAL SCL_EXPRESS_EXPORT Type Type_Integer;
GLOBAL SCL_EXPRESS_EXPORT Type Type_Number;
GLOBAL SCL_EXPRESS_EXPORT Type Type_Real;
GLOBAL SCL_EXPRESS_EXPORT Type Type_String;
GLOBAL SCL_EXPRESS_EXPORT Type Type_String_Encoded;
GLOBAL SCL_EXPRESS_EXPORT Type Type_Logical;
GLOBAL SCL_EXPRESS_EXPORT Type Type_Set;
GLOBAL SCL_EXPRESS_EXPORT Type Type_Attribute;
GLOBAL SCL_EXPRESS_EXPORT Type Type_Entity;
GLOBAL SCL_EXPRESS_EXPORT Type Type_Funcall;
GLOBAL SCL_EXPRESS_EXPORT Type Type_Generic;
GLOBAL SCL_EXPRESS_EXPORT Type Type_Identifier;
GLOBAL SCL_EXPRESS_EXPORT Type Type_Oneof;
GLOBAL SCL_EXPRESS_EXPORT Type Type_Query;
GLOBAL SCL_EXPRESS_EXPORT Type Type_Self;
GLOBAL SCL_EXPRESS_EXPORT Type Type_Set_Of_String;
GLOBAL SCL_EXPRESS_EXPORT Type Type_Set_Of_Generic;
GLOBAL SCL_EXPRESS_EXPORT Type Type_Bag_Of_Generic;
extern SC_EXPRESS_EXPORT Type Type_Binary;
extern SC_EXPRESS_EXPORT Type Type_Boolean;
extern SC_EXPRESS_EXPORT Type Type_Enumeration;
extern SC_EXPRESS_EXPORT Type Type_Expression;
extern SC_EXPRESS_EXPORT Type Type_Aggregate;
extern SC_EXPRESS_EXPORT Type Type_Repeat;
extern SC_EXPRESS_EXPORT Type Type_Integer;
extern SC_EXPRESS_EXPORT Type Type_Number;
extern SC_EXPRESS_EXPORT Type Type_Real;
extern SC_EXPRESS_EXPORT Type Type_String;
extern SC_EXPRESS_EXPORT Type Type_String_Encoded;
extern SC_EXPRESS_EXPORT Type Type_Logical;
extern SC_EXPRESS_EXPORT Type Type_Set;
extern SC_EXPRESS_EXPORT Type Type_Attribute;
extern SC_EXPRESS_EXPORT Type Type_Entity;
extern SC_EXPRESS_EXPORT Type Type_Funcall;
extern SC_EXPRESS_EXPORT Type Type_Generic;
extern SC_EXPRESS_EXPORT Type Type_Identifier;
extern SC_EXPRESS_EXPORT Type Type_Oneof;
extern SC_EXPRESS_EXPORT Type Type_Query;
extern SC_EXPRESS_EXPORT Type Type_Self;
extern SC_EXPRESS_EXPORT Type Type_Set_Of_String;
extern SC_EXPRESS_EXPORT Type Type_Set_Of_Generic;
extern SC_EXPRESS_EXPORT Type Type_Bag_Of_Generic;
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head TYPEHEAD_fl;
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head TYPEBODY_fl;
extern SC_EXPRESS_EXPORT struct freelist_head TYPEHEAD_fl;
extern SC_EXPRESS_EXPORT struct freelist_head TYPEBODY_fl;
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_corrupted_type INITIALLY( ERROR_none );
#include "de_end.h"
extern SC_EXPRESS_EXPORT Error ERROR_corrupted_type;
/******************************/
/* macro function definitions */
@@ -296,20 +292,20 @@ GLOBAL SCL_EXPRESS_EXPORT Error ERROR_corrupted_type INITIALLY( ERROR_none );
/* function prototypes */
/***********************/
extern SCL_EXPRESS_EXPORT Type TYPEcreate_partial PROTO( ( struct Symbol_ *, Scope ) );
extern SC_EXPRESS_EXPORT Type TYPEcreate_partial PROTO( ( struct Symbol_ *, Scope ) );
extern SCL_EXPRESS_EXPORT Type TYPEcreate PROTO( ( enum type_enum ) );
extern SCL_EXPRESS_EXPORT Type TYPEcreate_from_body_anonymously PROTO( ( TypeBody ) );
extern SCL_EXPRESS_EXPORT Type TYPEcreate_name PROTO( ( struct Symbol_ * ) );
extern SCL_EXPRESS_EXPORT Type TYPEcreate_nostab PROTO( ( struct Symbol_ *, Scope, char ) );
extern SCL_EXPRESS_EXPORT TypeBody TYPEBODYcreate PROTO( ( enum type_enum ) );
extern SCL_EXPRESS_EXPORT void TYPEinitialize PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT void TYPEcleanup PROTO( ( void ) );
extern SC_EXPRESS_EXPORT Type TYPEcreate PROTO( ( enum type_enum ) );
extern SC_EXPRESS_EXPORT Type TYPEcreate_from_body_anonymously PROTO( ( TypeBody ) );
extern SC_EXPRESS_EXPORT Type TYPEcreate_name PROTO( ( struct Symbol_ * ) );
extern SC_EXPRESS_EXPORT Type TYPEcreate_nostab PROTO( ( struct Symbol_ *, Scope, char ) );
extern SC_EXPRESS_EXPORT TypeBody TYPEBODYcreate PROTO( ( enum type_enum ) );
extern SC_EXPRESS_EXPORT void TYPEinitialize PROTO( ( void ) );
extern SC_EXPRESS_EXPORT void TYPEcleanup PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT bool TYPEinherits_from PROTO( ( Type, enum type_enum ) );
extern SCL_EXPRESS_EXPORT Type TYPEget_nonaggregate_base_type PROTO( ( Type ) );
extern SC_EXPRESS_EXPORT bool TYPEinherits_from PROTO( ( Type, enum type_enum ) );
extern SC_EXPRESS_EXPORT Type TYPEget_nonaggregate_base_type PROTO( ( Type ) );
extern SCL_EXPRESS_EXPORT Type TYPEcreate_user_defined_type PROTO( ( Type, Scope, struct Symbol_ * ) );
extern SCL_EXPRESS_EXPORT Type TYPEcreate_user_defined_tag PROTO( ( Type, Scope, struct Symbol_ * ) );
extern SC_EXPRESS_EXPORT Type TYPEcreate_user_defined_type PROTO( ( Type, Scope, struct Symbol_ * ) );
extern SC_EXPRESS_EXPORT Type TYPEcreate_user_defined_tag PROTO( ( Type, Scope, struct Symbol_ * ) );
#endif /* TYPE_H */
+11 -20
View File
@@ -76,21 +76,20 @@ typedef struct Variable_ * Variable;
/***************************/
struct Variable_ {
Expression name; /**< Symbol is inside of 'name' below */
Expression name; /**< Symbol is inside of 'name' */
Type type;
Expression initializer; /**< or 'derived' */
int offset;
struct {
int optional : 1; /**< OPTIONAL keyword */
int var : 1; /**< VAR keyword */
int constant : 1; /**< from CONSTANT...END_CONSTANT */
int unique : 1; /**< appears in UNIQUE list */
int parameter : 1; /**< is a formal parameter */
int attribute : 1; /**< is an attribute (rule parameters are marked this way, too) */
unsigned int optional : 1; /**< OPTIONAL keyword */
unsigned int var : 1; /**< VAR keyword */
unsigned int constant : 1; /**< from CONSTANT...END_CONSTANT */
unsigned int unique : 1; /**< appears in UNIQUE list */
unsigned int parameter : 1; /**< is a formal parameter */
unsigned int attribute : 1; /**< is an attribute (rule parameters are marked this way, too) */
} flags;
#define query_symbol inverse_symbol
Symbol * inverse_symbol; /**< entity symbol */
Variable inverse_attribute; /**< attribute related by inverse relationship */
};
@@ -99,15 +98,7 @@ struct Variable_ {
/* global variables */
/********************/
#ifdef VARIABLE_C
#include "defstart.h"
#else
#include "decstart.h"
#endif /* VARIABLE_C */
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head VAR_fl;
#include "de_end.h"
extern SC_EXPRESS_EXPORT struct freelist_head VAR_fl;
/******************************/
/* macro function definitions */
@@ -133,8 +124,8 @@ GLOBAL SCL_EXPRESS_EXPORT struct freelist_head VAR_fl;
/* function prototypes */
/***********************/
extern SCL_EXPRESS_EXPORT Variable VARcreate PROTO( ( Expression, Type ) );
extern SCL_EXPRESS_EXPORT void VARinitialize PROTO( ( void ) );
extern SCL_EXPRESS_EXPORT char * VARget_simple_name PROTO( ( Variable ) );
extern SC_EXPRESS_EXPORT Variable VARcreate PROTO( ( Expression, Type ) );
extern SC_EXPRESS_EXPORT void VARinitialize PROTO( ( void ) );
extern SC_EXPRESS_EXPORT char * VARget_simple_name PROTO( ( Variable ) );
#endif /* VARIABLE_H */

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