From 404b621a01a00a0e2d72738bb0e07cad7d47bc3a Mon Sep 17 00:00:00 2001 From: rnv Date: Thu, 1 Nov 2018 11:31:44 +0300 Subject: [PATCH] Finalize OCCT patches --- .gitattributes | 3 + .../matplotlib.001_build_procedure.patch | 53 +- config/patches/occt/README | 15 + .../occt/matplotlib.001_build_procedure.patch | 90 + .../occt/med.001.bug_correct_cmake.patch | 37 + config/patches/occt/netgen.001.common.patch | 45375 ++++++++++++++++ config/patches/occt/opencv.001_compile.patch | 22 + config/patches/occt/opencv.002_gcc6.patch | 131 + .../occt/planegcs.001_for_shaper.patch | 647 + 9 files changed, 46353 insertions(+), 20 deletions(-) create mode 100644 .gitattributes create mode 100644 config/patches/occt/matplotlib.001_build_procedure.patch create mode 100644 config/patches/occt/med.001.bug_correct_cmake.patch create mode 100644 config/patches/occt/netgen.001.common.patch create mode 100644 config/patches/occt/opencv.001_compile.patch create mode 100644 config/patches/occt/opencv.002_gcc6.patch create mode 100644 config/patches/occt/planegcs.001_for_shaper.patch diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..dbb5ba5 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,3 @@ +.gitattributes eol=lf +.gitignore eol=lf +*.patch binary diff --git a/config/patches/matplotlib.001_build_procedure.patch b/config/patches/matplotlib.001_build_procedure.patch index c0aae3d..6890524 100644 --- a/config/patches/matplotlib.001_build_procedure.patch +++ b/config/patches/matplotlib.001_build_procedure.patch @@ -1,8 +1,8 @@ -diff -NaurwB matplotlib-1.4.3__1/setup.cfg matplotlib-1.4.3__0/setup.cfg ---- matplotlib-1.4.3__0/setup.cfg 1970-01-01 03:00:00.000000000 +0300 -+++ matplotlib-1.4.3__1/setup.cfg 2017-03-15 14:42:36.569265032 +0300 -@@ -0,0 +1,86 @@ -+# Rename this file to setup.cfg to modify matplotlib's +diff -Naur matplotlib-2.2.2_SRC_orig/setup.cfg matplotlib-2.2.2_SRC_modif/setup.cfg +--- matplotlib-2.2.2_SRC_orig/setup.cfg 1970-01-01 03:00:00.000000000 +0300 ++++ matplotlib-2.2.2_SRC_modif/setup.cfg 2018-11-01 10:05:22.479529732 +0300 +@@ -0,0 +1,99 @@ ++# Rename this file to setup.cfg to modify Matplotlib's +# build options. + +[egg_info] @@ -13,31 +13,38 @@ diff -NaurwB matplotlib-1.4.3__1/setup.cfg matplotlib-1.4.3__0/setup.cfg +# This can be a single directory or a comma-delimited list of directories. +#basedirlist = /usr + ++[test] ++# If you plan to develop Matplotlib and run or add to the test suite, ++# set this to True. It will download and build a specific version of ++# FreeType, and then use that to build the ft2font extension. This ++# ensures that test images are exactly reproducible. ++#local_freetype = False ++ +[status] +# To suppress display of the dependencies and their versions +# at the top of the build log, uncomment the following line: -+#suppress = False ++#suppress = True + +[packages] -+# There are a number of subpackages of matplotlib that are considered -+# optional. They are all installed by default, but they may be turned -+# off here. ++# There are a number of subpackages of Matplotlib that are considered ++# optional. All except tests are installed by default, but that can ++# be changed here. +# -+tests = False ++#tests = False +sample_data = False -+toolkits = True ++toolkits = False +# Tests for the toolkits are only automatically installed +# if the tests and toolkits packages are also getting installed. +#toolkits_tests = auto + +[gui_support] -+# Matplotlib supports multiple GUI toolkits, including Cocoa, -+# GTK, Fltk, MacOSX, Qt, Qt4, Tk, and WX. Support for many of ++# Matplotlib supports multiple GUI toolkits, including ++# GTK, MacOSX, Qt4, Qt5, Tk, and WX. Support for many of +# these toolkits requires AGG, the Anti-Grain Geometry library, -+# which is provided by matplotlib and built by default. ++# which is provided by Matplotlib and built by default. +# +# Some backends are written in pure Python, and others require -+# extension code to be compiled. By default, matplotlib checks for ++# extension code to be compiled. By default, Matplotlib checks for +# these GUI toolkits during installation and, if present, compiles the +# required extensions to support the toolkit. +# @@ -53,7 +60,7 @@ diff -NaurwB matplotlib-1.4.3__1/setup.cfg matplotlib-1.4.3__0/setup.cfg +# therefore they are installed unconditionally. +# +# You can uncomment any the following lines to change this -+# behavior. Acceptible values are: ++# behavior. Acceptable values are: +# +# True: build the extension. Exits with a warning if the +# required dependencies are not available @@ -70,7 +77,7 @@ diff -NaurwB matplotlib-1.4.3__1/setup.cfg matplotlib-1.4.3__0/setup.cfg +#gtkagg = auto +#macosx = auto +#pyside = auto -+qt5agg = auto ++qt4agg = auto +#tkagg = auto +#windowing = auto +#wxagg = auto @@ -78,13 +85,19 @@ diff -NaurwB matplotlib-1.4.3__1/setup.cfg matplotlib-1.4.3__0/setup.cfg +[rc_options] +# User-configurable options +# -+# Default backend, one of: Agg, Cairo, CocoaAgg, GTK, GTKAgg, GTKCairo, -+# FltkAgg, MacOSX, Pdf, Ps, QtAgg, Qt4Agg, SVG, TkAgg, WX, WXAgg. ++# Default backend, one of: Agg, Cairo, GTK, GTKAgg, GTKCairo, ++# GTK3Agg, GTK3Cairo, MacOSX, Pdf, Ps, Qt4Agg, Qt5Agg, SVG, TkAgg, WX, WXAgg. +# +# The Agg, Ps, Pdf and SVG backends do not require external +# dependencies. Do not choose GTK, GTKAgg, GTKCairo, MacOSX, or TkAgg -+# if you have disabled the relevent extension modules. Agg will be used ++# if you have disabled the relevant extension modules. Agg will be used +# by default. +# +backend = Qt5Agg +# ++ ++[package_data] ++# Package additional files found in the lib/matplotlib directories. ++# ++# On Windows, package DLL files. ++#dlls = True diff --git a/config/patches/occt/README b/config/patches/occt/README index 0a0ede4..7e72364 100644 --- a/config/patches/occt/README +++ b/config/patches/occt/README @@ -35,3 +35,18 @@ Comments 9. omniorb ! Patch is applied to installed omniorb in order to set correct path to python3 executable +10. matplotlib + - matplotlib.001_build_procedure.patch : patch for creation matplotlib configuration file for build procedure + +11. med + - med.001.bug_correct_cmake.patch : patch to correct med-4.0.0r1 CMake build procedure + +12. opencv + - opencv.001_compile.patch : patch to reduce gcc optimization level + - opencv.002_gcc6.patch : patch for gcc 6 version + +13. netgen + - netgen.001.common.patch : common patch for netgen + +14. planegcs + - planegcs.001_for_shaper.patch : patch planegcs for Shaper module needs diff --git a/config/patches/occt/matplotlib.001_build_procedure.patch b/config/patches/occt/matplotlib.001_build_procedure.patch new file mode 100644 index 0000000..c0aae3d --- /dev/null +++ b/config/patches/occt/matplotlib.001_build_procedure.patch @@ -0,0 +1,90 @@ +diff -NaurwB matplotlib-1.4.3__1/setup.cfg matplotlib-1.4.3__0/setup.cfg +--- matplotlib-1.4.3__0/setup.cfg 1970-01-01 03:00:00.000000000 +0300 ++++ matplotlib-1.4.3__1/setup.cfg 2017-03-15 14:42:36.569265032 +0300 +@@ -0,0 +1,86 @@ ++# Rename this file to setup.cfg to modify matplotlib's ++# build options. ++ ++[egg_info] ++tag_svn_revision = 1 ++ ++[directories] ++# Uncomment to override the default basedir in setupext.py. ++# This can be a single directory or a comma-delimited list of directories. ++#basedirlist = /usr ++ ++[status] ++# To suppress display of the dependencies and their versions ++# at the top of the build log, uncomment the following line: ++#suppress = False ++ ++[packages] ++# There are a number of subpackages of matplotlib that are considered ++# optional. They are all installed by default, but they may be turned ++# off here. ++# ++tests = False ++sample_data = False ++toolkits = True ++# Tests for the toolkits are only automatically installed ++# if the tests and toolkits packages are also getting installed. ++#toolkits_tests = auto ++ ++[gui_support] ++# Matplotlib supports multiple GUI toolkits, including Cocoa, ++# GTK, Fltk, MacOSX, Qt, Qt4, Tk, and WX. Support for many of ++# these toolkits requires AGG, the Anti-Grain Geometry library, ++# which is provided by matplotlib and built by default. ++# ++# Some backends are written in pure Python, and others require ++# extension code to be compiled. By default, matplotlib checks for ++# these GUI toolkits during installation and, if present, compiles the ++# required extensions to support the toolkit. ++# ++# - GTK 2.x support of any kind requires the GTK runtime environment ++# headers and PyGTK. ++# - Tk support requires Tk development headers and Tkinter. ++# - Mac OSX backend requires the Cocoa headers included with XCode. ++# - Windowing is MS-Windows specific, and requires the "windows.h" ++# header. ++# ++# The other GUI toolkits do not require any extension code, and can be ++# used as long as the libraries are installed on your system -- ++# therefore they are installed unconditionally. ++# ++# You can uncomment any the following lines to change this ++# behavior. Acceptible values are: ++# ++# True: build the extension. Exits with a warning if the ++# required dependencies are not available ++# False: do not build the extension ++# auto: build if the required dependencies are available, ++# otherwise skip silently. This is the default ++# behavior ++# ++#agg = auto ++#cairo = auto ++#gtk = auto ++#gtk3agg = auto ++#gtk3cairo = auto ++#gtkagg = auto ++#macosx = auto ++#pyside = auto ++qt5agg = auto ++#tkagg = auto ++#windowing = auto ++#wxagg = auto ++ ++[rc_options] ++# User-configurable options ++# ++# Default backend, one of: Agg, Cairo, CocoaAgg, GTK, GTKAgg, GTKCairo, ++# FltkAgg, MacOSX, Pdf, Ps, QtAgg, Qt4Agg, SVG, TkAgg, WX, WXAgg. ++# ++# The Agg, Ps, Pdf and SVG backends do not require external ++# dependencies. Do not choose GTK, GTKAgg, GTKCairo, MacOSX, or TkAgg ++# if you have disabled the relevent extension modules. Agg will be used ++# by default. ++# ++backend = Qt5Agg ++# diff --git a/config/patches/occt/med.001.bug_correct_cmake.patch b/config/patches/occt/med.001.bug_correct_cmake.patch new file mode 100644 index 0000000..e477630 --- /dev/null +++ b/config/patches/occt/med.001.bug_correct_cmake.patch @@ -0,0 +1,37 @@ +diff -Naur --exclude=CVS --exclude=.git med-4.0.0rc1.orig/CMakeLists.txt med-4.0.0rc1.patched/CMakeLists.txt +--- med-4.0.0rc1.orig/CMakeLists.txt 2018-10-24 18:38:31.000000000 +0300 ++++ med-4.0.0rc1.patched/CMakeLists.txt 2018-10-30 18:57:34.000000000 +0300 +@@ -121,7 +121,8 @@ + + ## Installation of the doc + IF(MEDFILE_INSTALL_DOC) +- INSTALL(DIRECTORY doc DESTINATION ${CMAKE_INSTALL_PREFIX}/share) ++ INSTALL(DIRECTORY doc/html.dox/ DESTINATION ${CMAKE_INSTALL_PREFIX}/share/doc/med REGEX "Makefile*" EXCLUDE PATTERN "*.am" EXCLUDE) ++ INSTALL(DIRECTORY doc/gif doc/jpg doc/png DESTINATION ${CMAKE_INSTALL_PREFIX}/share/doc/med FILES_MATCHING PATTERN "*.gif" PATTERN "*.jpg" PATTERN "*.svg" PATTERN "*.png") + ENDIF() + + ####################### +diff -Naur --exclude=CVS --exclude=.git med-4.0.0rc1.orig/config/cmake_files/medMacros.cmake med-4.0.0rc1.patched/config/cmake_files/medMacros.cmake +--- med-4.0.0rc1.orig/config/cmake_files/medMacros.cmake 2018-10-22 11:36:07.000000000 +0300 ++++ med-4.0.0rc1.patched/config/cmake_files/medMacros.cmake 2018-10-30 19:03:44.673012496 +0300 +@@ -406,7 +406,7 @@ + + ADD_DEFINITIONS(-DH5_USE_16_API) + IF(WIN32 AND MEDFILE_BUILD_SHARED_LIBS) +- ADD_DEFINITIONS(-D_HDF5USEDLL_) ++ ADD_DEFINITIONS(-D_HDF5USEDLL_ -DH5_BUILT_AS_DYNAMIC_LIB=1) + ENDIF() + + # Take what is exposed by the standard FIND_PACKAGE() +diff -Naur --exclude=CVS --exclude=.git med-4.0.0rc1.orig/python/CMakeLists.txt med-4.0.0rc1.patched/python/CMakeLists.txt +--- med-4.0.0rc1.orig/python/CMakeLists.txt 2018-10-23 01:43:04.000000000 +0300 ++++ med-4.0.0rc1.patched/python/CMakeLists.txt 2018-10-30 19:03:44.657012959 +0300 +@@ -24,7 +24,7 @@ + medparameter_module.i + medprofile_module.i + medsubdomain_module.i +- medstructelement.i ++ medstructelement_module.i + ) + + IF(APPLE) diff --git a/config/patches/occt/netgen.001.common.patch b/config/patches/occt/netgen.001.common.patch new file mode 100644 index 0000000..135c34f --- /dev/null +++ b/config/patches/occt/netgen.001.common.patch @@ -0,0 +1,45375 @@ +diff -Naur netgen-5.3.1_SRC_orig/Makefile.am netgen-5.3.1_SRC_modif/Makefile.am +--- netgen-5.3.1_SRC_orig/Makefile.am 2014-08-29 13:55:03.000000000 +0400 ++++ netgen-5.3.1_SRC_modif/Makefile.am 2018-03-01 15:41:03.989158469 +0300 +@@ -2,7 +2,7 @@ + + METASOURCES = AUTO + +-SUBDIRS = libsrc ng tutorials doc windows nglib ++SUBDIRS = libsrc nglib #tutorials doc windows nglib + + # TESTS = ng/netgen -batchmode + +diff -Naur netgen-5.3.1_SRC_orig/Makefile.in netgen-5.3.1_SRC_modif/Makefile.in +--- netgen-5.3.1_SRC_orig/Makefile.in 2014-10-06 15:04:37.000000000 +0400 ++++ netgen-5.3.1_SRC_modif/Makefile.in 2018-03-01 15:41:03.990158362 +0300 +@@ -280,7 +280,7 @@ + top_srcdir = @top_srcdir@ + ACLOCAL_AMFLAGS = -I m4 + METASOURCES = AUTO +-SUBDIRS = libsrc ng tutorials doc windows nglib ++SUBDIRS = libsrc nglib #tutorials doc windows nglib + all: config.h + $(MAKE) $(AM_MAKEFLAGS) all-recursive + +diff -Naur netgen-5.3.1_SRC_orig/configure.ac netgen-5.3.1_SRC_modif/configure.ac +--- netgen-5.3.1_SRC_orig/configure.ac 2014-10-06 15:00:17.000000000 +0400 ++++ netgen-5.3.1_SRC_modif/configure.ac 2018-03-01 15:41:03.990158362 +0300 +@@ -20,7 +20,7 @@ + CXXFLAGS="$CXXFLAGS $OPENMP_CXXFLAGS" + # LDFLAGS="$LDFLAGS $OPENMP_CXXFLAGS" + +-AM_PROG_AR ++m4_ifdef([AM_PROG_AR], [AM_PROG_AR]) + AC_PROG_LIBTOOL + LT_INIT + +@@ -42,8 +42,8 @@ + + if test a$occon = atrue ; then + +- AC_SUBST([OCCFLAGS], ["-DOCCGEOMETRY -I$occdir/inc -I/usr/include/opencascade"]) +- AC_SUBST([OCCLIBS], ["-L$occdir/lib -lTKernel -lTKGeomBase -lTKMath -lTKG2d -lTKG3d -lTKXSBase -lTKOffset -lTKFillet -lTKShHealing -lTKMesh -lTKMeshVS -lTKTopAlgo -lTKGeomAlgo -lTKBool -lTKPrim -lTKBO -lTKIGES -lTKBRep -lTKSTEPBase -lTKSTEP -lTKSTL -lTKSTEPAttr -lTKSTEP209 -lTKXDESTEP -lTKXDEIGES -lTKXCAF -lTKLCAF -lFWOSPlugin"]) ++ AC_SUBST([OCCFLAGS], ["-DOCCGEOMETRY -I$occdir/include/opencascade"]) ++ AC_SUBST([OCCLIBS], ["-L$occdir/lib -lTKernel -lTKGeomBase -lTKMath -lTKG2d -lTKG3d -lTKXSBase -lTKOffset -lTKFillet -lTKShHealing -lTKMesh -lTKMeshVS -lTKTopAlgo -lTKGeomAlgo -lTKBool -lTKPrim -lTKBO -lTKIGES -lTKBRep -lTKSTEPBase -lTKSTEP -lTKSTL -lTKSTEPAttr -lTKSTEP209 -lTKXDESTEP -lTKXDEIGES -lTKXCAF -lTKLCAF"]) + + # -lTKDCAF + +diff -Naur netgen-5.3.1_SRC_orig/libsrc/csg/Makefile.am netgen-5.3.1_SRC_modif/libsrc/csg/Makefile.am +--- netgen-5.3.1_SRC_orig/libsrc/csg/Makefile.am 2014-08-29 13:54:06.000000000 +0400 ++++ netgen-5.3.1_SRC_modif/libsrc/csg/Makefile.am 2018-03-01 15:41:03.990158362 +0300 +@@ -8,7 +8,7 @@ + AM_CPPFLAGS = -I$(top_srcdir)/libsrc/include $(TCL_INCLUDES) + METASOURCES = AUTO + +-lib_LTLIBRARIES = libcsg.la ++noinst_LTLIBRARIES = libcsg.la + + + libcsg_la_SOURCES = algprim.cpp brick.cpp \ +@@ -17,12 +17,9 @@ + manifold.cpp meshsurf.cpp polyhedra.cpp revolution.cpp singularref.cpp \ + solid.cpp specpoin.cpp spline3d.cpp surface.cpp triapprox.cpp + +-libcsg_la_LIBADD = $(top_builddir)/libsrc/meshing/libmesh.la +- +- + + if NGGUI +-lib_LTLIBRARIES += libcsgvis.la ++lib_LTLIBRARIES = libcsgvis.la + + libcsgvis_la_SOURCES = vscsg.cpp csgpkg.cpp + libcsgvis_la_LIBADD = libcsg.la +diff -Naur netgen-5.3.1_SRC_orig/libsrc/general/parthreads.cpp netgen-5.3.1_SRC_modif/libsrc/general/parthreads.cpp +--- netgen-5.3.1_SRC_orig/libsrc/general/parthreads.cpp 2014-08-29 13:54:06.000000000 +0400 ++++ netgen-5.3.1_SRC_modif/libsrc/general/parthreads.cpp 2018-03-01 15:45:08.691877252 +0300 +@@ -1,40 +1,40 @@ +-/**************************************************************************/ +-/* File: parthreads.cpp */ +-/* Author: Joachim Schoeberl */ +-/* Date: 01. Jun. 95 */ +-/**************************************************************************/ +- +- +-#include +-#include +- +-/* +- +-namespace netgen +-{ +- using namespace netgen; +- +-#ifdef WIN32 +- +- NgLock :: NgLock (NgMutex & mut) +- : sl(&mut.cs) +- { +- ; +- } +- +- void NgLock :: Lock () +- { +- sl.Lock(); +- } +- void NgLock :: UnLock () +- { +- sl.Unlock(); +- } +- +- +-#else +- +-#endif +-} +- +-*/ ++/**************************************************************************/ ++/* File: parthreads.cpp */ ++/* Author: Joachim Schoeberl */ ++/* Date: 01. Jun. 95 */ ++/**************************************************************************/ ++ ++ ++#include ++#include ++ ++/* ++ ++namespace netgen ++{ ++ using namespace netgen; ++ ++#ifdef WIN32 ++ ++ NgLock :: NgLock (NgMutex & mut) ++ : sl(&mut.cs) ++ { ++ ; ++ } ++ ++ void NgLock :: Lock () ++ { ++ sl.Lock(); ++ } ++ void NgLock :: UnLock () ++ { ++ sl.Unlock(); ++ } ++ ++ ++#else ++ ++#endif ++} ++ ++*/ +diff -Naur netgen-5.3.1_SRC_orig/libsrc/geom2d/Makefile.am netgen-5.3.1_SRC_modif/libsrc/geom2d/Makefile.am +--- netgen-5.3.1_SRC_orig/libsrc/geom2d/Makefile.am 2014-08-29 13:54:06.000000000 +0400 ++++ netgen-5.3.1_SRC_modif/libsrc/geom2d/Makefile.am 2018-03-01 15:41:03.990158362 +0300 +@@ -4,16 +4,15 @@ + + METASOURCES = AUTO + +-lib_LTLIBRARIES = libgeom2d.la ++noinst_LTLIBRARIES = libgeom2d.la + + if NGGUI +-lib_LTLIBRARIES += libgeom2dvis.la ++lib_LTLIBRARIES = libgeom2dvis.la + endif + + + + libgeom2d_la_SOURCES = genmesh2d.cpp geom2dmesh.cpp geometry2d.cpp +-libgeom2d_la_LIBADD = $(top_builddir)/libsrc/meshing/libmesh.la + + libgeom2dvis_la_SOURCES = geom2dpkg.cpp vsgeom2d.cpp + libgeom2dvis_la_LIBADD = libgeom2d.la +diff -Naur netgen-5.3.1_SRC_orig/libsrc/interface/Makefile.am netgen-5.3.1_SRC_modif/libsrc/interface/Makefile.am +--- netgen-5.3.1_SRC_orig/libsrc/interface/Makefile.am 2014-08-29 13:54:02.000000000 +0400 ++++ netgen-5.3.1_SRC_modif/libsrc/interface/Makefile.am 2018-03-01 15:41:03.990158362 +0300 +@@ -2,14 +2,11 @@ + + AM_CPPFLAGS = -I$(top_srcdir)/libsrc/include -I$(top_srcdir)/libsrc/interface $(MPI_INCLUDES) $(TCL_INCLUDES) -DOPENGL + METASOURCES = AUTO +-lib_LTLIBRARIES = libinterface.la ++noinst_LTLIBRARIES = libinterface.la + libinterface_la_SOURCES = nginterface.cpp nginterface_v2.cpp \ + read_fnf_mesh.cpp readtetmesh.cpp readuser.cpp writeabaqus.cpp writediffpack.cpp \ + writedolfin.cpp writeelmer.cpp writefeap.cpp writefluent.cpp writegmsh.cpp writejcm.cpp \ + writepermas.cpp writetecplot.cpp writetet.cpp writetochnog.cpp writeuser.cpp \ + wuchemnitz.cpp writegmsh2.cpp writeOpenFOAM15x.cpp + +- +-libinterface_la_LIBADD = $(top_builddir)/libsrc/meshing/libmesh.la +- + # libinterface_la_LDFLAGS = -rdynamic +diff -Naur netgen-5.3.1_SRC_orig/libsrc/interface/writeOpenFOAM15x.cpp netgen-5.3.1_SRC_modif/libsrc/interface/writeOpenFOAM15x.cpp +--- netgen-5.3.1_SRC_orig/libsrc/interface/writeOpenFOAM15x.cpp 2014-08-29 13:54:02.000000000 +0400 ++++ netgen-5.3.1_SRC_modif/libsrc/interface/writeOpenFOAM15x.cpp 2018-03-01 15:45:08.692877144 +0300 +@@ -1,811 +1,811 @@ +-/*! \file writeOpenFOAM15x.cpp +-* \brief Export Netgen Mesh in the OpenFOAM 1.5+ File format +-* \author Philippose Rajan +-* \date 25 October 2009 +-* +-* This function extends the export capabilities of +-* Netgen to include the OpenFOAM 1.5+ File Format. +-* +-* The OpenFOAM 1.5+ mesh format consists of a set of 5 files +-* which together define the mesh points, faces, cells and +-* boundary conditions. +-* +-* The files are: +-* 1. points -> A list of the point co-ordinates +-* 2. faces -> A list of the faces with format (pnt_ind1 pnt_ind2 .... pnt_ind) +-* 3. owner -> The owner cell of each face +-* 4. neighbour -> The neighbour cell of each face +-* 5. boundary -> The set of boundaries with name, start face, and num. of faces +-* +-* For a detailed description of the format, refer to the following link: +-* http://openfoamwiki.net/index.php/Write_OpenFOAM_meshes +-* +-*/ +- +-#include +- +-#include +-#include +-#include +-#include +-#include +- +- +-namespace netgen +-{ +-#include "writeuser.hpp" +- +- // Global arrays used to maintain the owner, neighbour and face lists +- // so that they are accessible across functions +- static Array owner_facelist; +- static Array owner_celllist; +- static Array neighbour_celllist; +- static Array surfelem_bclist; +- static Array surfelem_lists; +- +- +- +- static void WriteOpenFOAM15xBanner(ostream * outfile) +- { +- static char FOAMversion[4] = "1.5"; +- static char spaces[40]; +- +- memset(spaces, ' ', 40); +- spaces[38 - strlen(FOAMversion)] = '\0'; +- +- *outfile << +- "/*--------------------------------*- C++ -*----------------------------------*\\\n"; +- +- *outfile << +- "| ========= | |\n" +- "| \\\\ / F ield | OpenFOAM: The Open Source CFD Toolbox |\n" +- "| \\\\ / O peration | Version: " << FOAMversion << spaces << "|\n" +- "| \\\\ / A nd | Web: http://www.OpenFOAM.org |\n" +- "| \\\\/ M anipulation | |\n" +- "\\*---------------------------------------------------------------------------*/\n"; +- +- } +- +- +- +- static void WriteOpenFOAM15xDividerStart(ostream * outfile) +- { +- *outfile << +- "// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //\n"; +- } +- +- +- +- static void WriteOpenFOAM15xDividerEnd(ostream * outfile) +- { +- *outfile << +- "// ************************************************************************* //\n"; +- } +- +- +- +- static bool BuildOwnerNeighbourLists (const Mesh & mesh) +- { +- // Clear all the arrays +- owner_facelist.DeleteAll(); +- owner_celllist.DeleteAll(); +- neighbour_celllist.DeleteAll(); +- surfelem_bclist.DeleteAll(); +- surfelem_lists.DeleteAll(); +- +- const MeshTopology& meshtopo = mesh.GetTopology(); +- +- // Update the mesh topology structures +- const_cast (meshtopo).SetBuildEdges(true); +- const_cast (meshtopo).SetBuildFaces(true); +- const_cast (meshtopo).Update(); +- +- // Extract important mesh metrics +- int ne = mesh.GetNE(); +- int nse = mesh.GetNSE(); +- int totfaces = meshtopo.GetNFaces(); +- +- // Preset the size of the arrays to speed up future operations +- // Number of internal faces = total faces - num. of surface faces +- owner_facelist.SetSize(totfaces - nse); +- owner_celllist.SetSize(totfaces - nse); +- neighbour_celllist.SetSize(totfaces - nse); +- surfelem_bclist.SetSize(nse); +- surfelem_lists.SetSize(nse); +- +- // Initialise arrays to zero if required +- neighbour_celllist = 0; +- +- // Array used to keep track of Faces which have already been +- // processed and added to the Owner list... In addition, also the +- // location where the face appears in the Owner list is also stored +- // to speed up creation of the Neighbour list +- Array ownerfaces(totfaces); +- ownerfaces = 0; +- +- // Array to hold the set of local faces of each volume element +- // while running through the set of volume elements +- // NOTE: The size is set automatically by the Netgen topology function +- Array locfaces; +- +- // Secondary indices used to independently advance the owner +- // and boundary condition arrays within the main loop +- int owner_ind = 1; +- int bc_ind = 1; +- +- // Loop through all the volume elements +- for(int elind = 1; elind <= ne; elind++) +- { +- // Extract the current volume element +- // const Element & el = mesh.VolumeElement(elind); +- +- // Get the face numbers of the faces of the current volume element +- // The values returned are given a sign depending on the orientation +- // of the faces. This is used while writing the faces file, to +- // determine whether or not to invert the face triangle before writing +- // it to file +- meshtopo.GetElementFaces(elind,locfaces,true); +- +- // Loop through the faces +- for(int i = 1; i <= locfaces.Size(); i++) +- { +- // The absolute value of a face number (because the faces +- // returned by the GetElementFaces function prepend it +- // with a sign depending on the face orientation) +- int absfacenr = abs(locfaces.Elem(i)); +- +- // If the face already exists in the owner list, add +- // the current cell into the neighbour list, in the +- // same location where the face appears in the owner list +- int owner_face = ownerfaces.Elem(absfacenr); +- if(owner_face) +- { +- neighbour_celllist.Elem(owner_face) = elind; +- +- // From this point on, the code within this "if" block +- // basically sorts the order of the the Neighbour cells (along +- // with the faces list) in ascending order. +- // The approach used is..... to traverse the owner and neighbour cell lists +- // up and down, and sort the neighbour cells of a given owner cell +- // as the list evolves. +- // NOTE: A value of "zero" in the neighbour list implies that +- // the neighbour has not been found yet, so the "zero" locations need +- // to be skipped while sorting in ascending order +- int curr_owner = owner_celllist.Elem(owner_face); +- +- int peek_loc = owner_face - 1; +- int new_loc = owner_face; +- +- // Traversing upwards in the list +- while((owner_celllist.Elem(peek_loc) == curr_owner) && (peek_loc >= 1)) +- { +- if((neighbour_celllist.Elem(peek_loc) != 0) +- && (neighbour_celllist.Elem(new_loc) < neighbour_celllist.Elem(peek_loc))) +- { +- Swap(neighbour_celllist.Elem(new_loc),neighbour_celllist.Elem(peek_loc)); +- Swap(owner_facelist.Elem(new_loc),owner_facelist.Elem(peek_loc)); +- new_loc = peek_loc; +- } +- +- peek_loc--; +- } +- +- peek_loc = owner_face + 1; +- +- // Traversing downwards in the list +- while((owner_celllist.Elem(peek_loc) == curr_owner) && (peek_loc <= owner_ind)) +- { +- if((neighbour_celllist.Elem(peek_loc) != 0) +- && (neighbour_celllist.Elem(new_loc) > neighbour_celllist.Elem(peek_loc))) +- { +- Swap(neighbour_celllist.Elem(new_loc),neighbour_celllist.Elem(peek_loc)); +- Swap(owner_facelist.Elem(new_loc),owner_facelist.Elem(peek_loc)); +- new_loc = peek_loc; +- } +- +- peek_loc++; +- } +- +- continue; +- } +- +- // Check if the face is a surface element (boundary face) +- // if not, add the current volume element and the corresponding face into +- // the owner list +- int surfelem = meshtopo.GetFace2SurfaceElement(absfacenr); +- if(!surfelem) +- { +- // If it is a new face which has not been listed before, +- // add the current cell into the owner list, and save +- // the index location to be used later by the neighbour list +- owner_celllist.Elem(owner_ind) = elind; +- owner_facelist.Elem(owner_ind) = locfaces.Elem(i); +- // Update the array to indicate that the face is already processed +- ownerfaces.Elem(absfacenr) = owner_ind; +- +- owner_ind++; +- } +- // If the face is a boundary face, extract the boundary condition number of the +- // face, and append that along with the face number and the current cell +- // into the various surface elements lists +- else +- { +- Element2d sel = mesh.SurfaceElement(surfelem); +- surfelem_bclist.Elem(bc_ind) = mesh.GetFaceDescriptor(sel.GetIndex()).BCProperty(); +- surfelem_lists.Elem(bc_ind) = INDEX_2(locfaces.Elem(i),elind); +- +- bc_ind++; +- } +- } +- } +- +- // This correction is required in cases where the mesh has been "uniform refined".... for +- // some reason, the number of faces reported by Netgen is higher than the actual number +- // of faces in the mesh +- owner_facelist.SetSize(owner_ind-1); +- owner_celllist.SetSize(owner_ind-1); +- neighbour_celllist.SetSize(owner_ind-1); +- +- +- // Sort the list of surface elements in ascending order of boundary condition number +- // also sort the cell list in the same manner +- QuickSort(surfelem_bclist,surfelem_lists); +- +-/* +- // Debugging output to a file +- ofstream dbg("OpenFOAMDebug.log"); +- +- dbg << " ------- Boundary List -------- \n"; +- +- for(int i = 1; i <= surfelem_bclist.Size(); i++) +- { +- dbg << "bc = " << surfelem_bclist.Elem(i) +- << " : face = " << surfelem_lists.Elem(i).I1() +- << " : cell = " << surfelem_lists.Elem(i).I2() << "\n"; +- } +- +- dbg << "\n ------- Owner / Face / Neighbour List ------- \n"; +- +- for(int i = 1; i <= owner_celllist.Size(); i++) +- { +- dbg << "Ind:" << i << " :: (" +- << owner_celllist.Elem(i) << " " +- << owner_facelist.Elem(i) << " " +- << neighbour_celllist.Elem(i) << ")\n"; +- } +- +- dbg.close(); +-*/ +- return(false); +- } +- +- +- +- static void WriteNeighbourFile (ostream * outfile) +- { +- // Write the OpenFOAM standard banner and dividers, etc... +- WriteOpenFOAM15xBanner(outfile); +- *outfile << "FoamFile \n" +- << "{ \n" +- << " version 2.0; \n" +- << " format ascii; \n" +- << " class labelList; \n" +- << " note \"Mesh generated and converted using NETGEN-" << PACKAGE_VERSION << "\"; \n" +- << " location \"constant\\polyMesh\"; \n" +- << " object neighbour; \n" +- << "} \n"; +- WriteOpenFOAM15xDividerStart(outfile); +- +- *outfile << "\n\n"; +- +- int nneighbours = neighbour_celllist.Size(); +- +- *outfile << nneighbours << "\n"; +- +- *outfile << "(\n"; +- +- // Write the neighbour cells to file +- for(int i = 1; i <= neighbour_celllist.Size(); i++) +- { +- *outfile << neighbour_celllist.Elem(i) - 1 << "\n"; +- } +- *outfile << ")\n\n"; +- WriteOpenFOAM15xDividerEnd(outfile); +- } +- +- +- +- static void WriteOwnerFile (ostream * outfile) +- { +- // Write the OpenFOAM standard banner and dividers, etc... +- WriteOpenFOAM15xBanner(outfile); +- *outfile << "FoamFile \n" +- << "{ \n" +- << " version 2.0; \n" +- << " format ascii; \n" +- << " class labelList; \n" +- << " note \"Mesh generated and converted using NETGEN-" << PACKAGE_VERSION << "\"; \n" +- << " location \"constant\\polyMesh\"; \n" +- << " object owner; \n" +- << "} \n"; +- WriteOpenFOAM15xDividerStart(outfile); +- +- *outfile << "\n\n"; +- +- int nowners = owner_celllist.Size() + surfelem_lists.Size(); +- +- *outfile << nowners << "\n"; +- +- *outfile << "(\n"; +- +- // Write the owners of the internal cells to file +- for(int i = 1; i <= owner_celllist.Size(); i++) +- { +- *outfile << owner_celllist.Elem(i) - 1 << "\n"; +- } +- +- // Write the owners of the boundary cells to file +- // (Written in order of ascending boundary condition numbers) +- for(int i = 1; i <= surfelem_lists.Size(); i++) +- { +- *outfile << surfelem_lists.Elem(i).I2() - 1 << "\n"; +- } +- *outfile << ")\n\n"; +- WriteOpenFOAM15xDividerEnd(outfile); +- } +- +- +- +- static void WriteFacesFile (ostream * outfile, const Mesh & mesh) +- { +- const MeshTopology& meshtopo = mesh.GetTopology(); +- +- // Write the OpenFOAM standard banner and dividers, etc... +- WriteOpenFOAM15xBanner(outfile); +- *outfile << "FoamFile \n" +- << "{ \n" +- << " version 2.0; \n" +- << " format ascii; \n" +- << " class faceList; \n" +- << " note \"Mesh generated and converted using NETGEN-" << PACKAGE_VERSION << "\"; \n" +- << " location \"constant\\polyMesh\"; \n" +- << " object faces; \n" +- << "} \n"; +- WriteOpenFOAM15xDividerStart(outfile); +- +- *outfile << "\n\n"; +- +- int nfaces = owner_facelist.Size() + surfelem_lists.Size(); +- +- *outfile << nfaces << "\n"; +- +- *outfile << "(\n"; +- +- // Array to hold the indices of the points of each face to +- // flip if required +- Array facepnts; +- +- // Write the faces in the order specified in the owners lists of the +- // internal cells and the boundary cells +- for(int i = 1; i <= owner_facelist.Size(); i++) +- { +- int face_w_orientation = owner_facelist.Elem(i); +- int facenr = abs(face_w_orientation); +- +- meshtopo.GetFaceVertices(facenr,facepnts); +- +- // Get the orientation of the face, and invert it if required +- // Since the faces already have the orientation "embedded" into +- // them by means of the prepended sign, only this needs to be +- // checked for... +- if(face_w_orientation > 0) +- { +- int tmppnts = 0; +- +- if(facepnts.Size() == 4) +- { +- tmppnts = facepnts.Elem(1); +- facepnts.Elem(1) = facepnts.Elem(2); +- facepnts.Elem(2) = tmppnts; +- +- tmppnts = facepnts.Elem(3); +- facepnts.Elem(3) = facepnts.Elem(4); +- facepnts.Elem(4) = tmppnts; +- } +- else if(facepnts.Size() == 3) +- { +- tmppnts = facepnts.Elem(1); +- facepnts.Elem(1) = facepnts.Elem(3); +- facepnts.Elem(3) = tmppnts; +- } +- } +- +- *outfile << facepnts.Size(); +- *outfile << "("; +- for(int j = 1; j <= facepnts.Size(); j++) +- { +- *outfile << facepnts.Elem(j)-1; +- if(j != facepnts.Size()) *outfile << " "; +- } +- *outfile << ")\n"; +- } +- +- // Now append the faces of the surface elements (written in +- // ascending order of boundary condition number) also into +- // the faces file +- for(int i = 1; i <= surfelem_lists.Size(); i++) +- { +- int face_w_orientation = surfelem_lists.Elem(i).I1(); +- int facenr = abs(face_w_orientation); +- +- meshtopo.GetFaceVertices(facenr,facepnts); +- +- // Get the orientation of the face, and invert it if required +- if(face_w_orientation > 0) +- { +- int tmppnts = 0; +- +- if(facepnts.Size() == 4) +- { +- tmppnts = facepnts.Elem(1); +- facepnts.Elem(1) = facepnts.Elem(2); +- facepnts.Elem(2) = tmppnts; +- +- tmppnts = facepnts.Elem(3); +- facepnts.Elem(3) = facepnts.Elem(4); +- facepnts.Elem(4) = tmppnts; +- } +- else if(facepnts.Size() == 3) +- { +- tmppnts = facepnts.Elem(1); +- facepnts.Elem(1) = facepnts.Elem(3); +- facepnts.Elem(3) = tmppnts; +- } +- } +- +- *outfile << facepnts.Size(); +- *outfile << "("; +- for(int j = 1; j <= facepnts.Size(); j++) +- { +- *outfile << facepnts.Elem(j)-1; +- if(j != facepnts.Size()) *outfile << " "; +- } +- *outfile << ")\n"; +- } +- +- *outfile << ")\n\n"; +- WriteOpenFOAM15xDividerEnd(outfile); +- } +- +- +- +- static void WritePointsFile (ostream * outfile, const Mesh & mesh) +- { +- int np = mesh.GetNP(); +- +- // Write the OpenFOAM standard banner and dividers, etc... +- WriteOpenFOAM15xBanner(outfile); +- *outfile << "FoamFile \n" +- << "{ \n" +- << " version 2.0; \n" +- << " format ascii; \n" +- << " class vectorField; \n" +- << " note \"Mesh generated and converted using NETGEN-" << PACKAGE_VERSION << "\"; \n" +- << " location \"constant\\polyMesh\"; \n" +- << " object points; \n" +- << "} \n"; +- WriteOpenFOAM15xDividerStart(outfile); +- +- *outfile << "\n\n"; +- +- // Number of points in the following list +- *outfile << np << "\n"; +- +- outfile->precision(6); +- outfile->setf (ios::fixed, ios::floatfield); +- outfile->setf (ios::showpoint); +- +- // Coordinate list starts here +- *outfile << "(\n"; +- +- for(int i = 1; i <= np; i++) +- { +- const Point3d & p = mesh.Point(i); +- +- // Write coordinates to file +- *outfile << "("; +- *outfile << p.X() << " "; +- *outfile << p.Y() << " "; +- *outfile << p.Z(); +- *outfile << ")\n"; +- } +- *outfile << ")\n\n"; +- WriteOpenFOAM15xDividerEnd(outfile); +- } +- +- +- +- static void WriteBoundaryFile (ostream * outfile) +- { +- // Write the OpenFOAM standard banner and dividers, etc... +- WriteOpenFOAM15xBanner(outfile); +- *outfile << "FoamFile \n" +- << "{ \n" +- << " version 2.0; \n" +- << " format ascii; \n" +- << " class polyBoundaryMesh; \n" +- << " note \"Mesh generated and converted using NETGEN-" << PACKAGE_VERSION << "\"; \n" +- << " location \"constant\\polyMesh\"; \n" +- << " object boundary; \n" +- << "} \n"; +- WriteOpenFOAM15xDividerStart(outfile); +- +- *outfile << "\n"; +- +- +- Array bcarray; +- int ind = 1; +- +- // Since the boundary conditions are already sorted in ascending +- // order, the last element will give the maximum number of possible +- // boundary condition entries +- int bcmax = surfelem_bclist.Elem(surfelem_bclist.Size()); +- +- bcarray.SetSize(bcmax+1); +- +- bcarray.Elem(ind) = INDEX_3(surfelem_bclist.Elem(1),1,0); +- +- for(int i = 2; i <= surfelem_bclist.Size(); i++) +- { +- if(surfelem_bclist.Elem(i) == bcarray.Elem(ind).I1()) +- { +- bcarray.Elem(ind).I2() = bcarray.Elem(ind).I2()+1; +- } +- else +- { +- ind++; +- bcarray.Elem(ind) = INDEX_3(surfelem_bclist.Elem(i),1,i-1); +- } +- } +- +- bcarray.SetSize(ind); +- +- *outfile << bcarray.Size() << "\n"; +- *outfile << "(\n"; +- +- int startface = 0; +- +- for(int i = 1; i <= bcarray.Size(); i++) +- { +- startface = owner_celllist.Size() + bcarray.Elem(i).I3(); +- +- *outfile << " patch" << bcarray.Elem(i).I1() << "\n" +- << " {\n" +- << " type patch;\n" +- << " physicalType patch;\n" +- << " nFaces " << bcarray.Elem(i).I2() << ";\n" +- << " startFace " << startface << ";\n" +- << " }\n"; +- } +- +- *outfile << ")\n\n"; +- WriteOpenFOAM15xDividerEnd(outfile); +- } +- +- +- +- void WriteOpenFOAM15xFormat (const Mesh & mesh, const string & casename, const bool compressed) +- { +- bool error = false; +- char casefiles[256]; +- +- // Make sure that the mesh data has been updated +- const_cast (mesh).Compress(); +- const_cast (mesh).CalcSurfacesOfNode(); +- const_cast (mesh).RebuildSurfaceElementLists(); +- const_cast (mesh).BuildElementSearchTree(); +- +- +- int np = mesh.GetNP(); +- int nse = mesh.GetNSE(); +- int ne = mesh.GetNE(); +- +- cout << "Write OpenFOAM 1.5+ Mesh Files....\n"; +- +- // Abort if there are no points, surface elements or volume elements +- if((np <= 0) || (ne <= 0) || (nse <= 0)) +- { +- cout << "Export Error: Invalid mesh.... Aborting!\n"; +- return; +- } +- +- // OpenFOAM only supports linear meshes! +- if(mparam.secondorder || mesh.GetCurvedElements().IsHighOrder()) +- { +- cout << "Export Error: OpenFOAM 1.5+ does not support non-linear elements.... Aborting!\n"; +- return; +- } +- +- if(( (mesh.SurfaceElement(nse/2).GetType() != TRIG) +- && (mesh.SurfaceElement(nse/2).GetType() != QUAD) ) +- || (mesh.VolumeElement(ne/2).GetType() == TET10) +- || (mesh.VolumeElement(ne/2).GetType() == PRISM12)) +- { +- cout << "Export Error: OpenFOAM 1.5+ does not support non-linear elements.... Aborting!\n"; +- return; +- } +- +- +- cout << "Writing OpenFOAM 1.5+ Mesh files to case: " << casename << "\n"; +- +- // Create the case directory if it does not already exist +- // NOTE: This needs to be improved for the Linux variant....!!! +- #ifdef WIN32 +- char casedir[256]; +- sprintf(casedir, "mkdir %s\\constant\\polyMesh", casename.c_str()); +- system(casedir); +- #else +- char casedir[256]; +- mkdir(casename.c_str(), S_IRWXU|S_IRWXG); +- sprintf(casedir, "%s/constant", casename.c_str()); +- mkdir(casedir, S_IRWXU|S_IRWXG); +- sprintf(casedir, "%s/constant/polyMesh", casename.c_str()); +- mkdir(casedir, S_IRWXU|S_IRWXG); +- #endif +- +- // Open handles to the five required mesh files +- // points +- // faces +- // owner +- // neighbour +- // boundary +- ostream *outfile_pnts; +- ostream *outfile_faces; +- ostream *outfile_own; +- ostream *outfile_nei; +- ostream *outfile_bnd; +- +- if(compressed) +- { +- sprintf(casefiles, "%s/constant/polyMesh/points.gz", casename.c_str()); +- outfile_pnts = new ogzstream(casefiles); +- } +- else +- { +- sprintf(casefiles, "%s/constant/polyMesh/points", casename.c_str()); +- outfile_pnts = new ofstream(casefiles); +- } +- +- if(compressed) +- { +- sprintf(casefiles, "%s/constant/polyMesh/faces.gz", casename.c_str()); +- outfile_faces = new ogzstream(casefiles); +- } +- else +- { +- sprintf(casefiles, "%s/constant/polyMesh/faces", casename.c_str()); +- outfile_faces = new ofstream(casefiles); +- } +- +- if(compressed) +- { +- sprintf(casefiles, "%s/constant/polyMesh/owner.gz", casename.c_str()); +- outfile_own = new ogzstream(casefiles); +- } +- else +- { +- sprintf(casefiles, "%s/constant/polyMesh/owner", casename.c_str()); +- outfile_own = new ofstream(casefiles); +- } +- +- if(compressed) +- { +- sprintf(casefiles, "%s/constant/polyMesh/neighbour.gz", casename.c_str()); +- outfile_nei = new ogzstream(casefiles); +- } +- else +- { +- sprintf(casefiles, "%s/constant/polyMesh/neighbour", casename.c_str()); +- outfile_nei = new ofstream(casefiles); +- } +- +- // Note... the boundary file is not compressed +- sprintf(casefiles, "%s/constant/polyMesh/boundary", casename.c_str()); +- outfile_bnd = new ofstream(casefiles); +- +- ResetTime(); +- +- // Build the owner, neighbour, faces and boundary lists +- // from the Netgen mesh +- cout << "\nBuilding Owner, Neighbour and Face Lists: "; +- +- error = BuildOwnerNeighbourLists(mesh); +- +- cout << "Done! (Time Elapsed = " << GetTime() << " sec)\n"; +- +- +- // Write the "owner" file +- if(outfile_own->good() && !error) +- { +- cout << "Writing the owner file: "; +- WriteOwnerFile(outfile_own); +- delete outfile_own; +- cout << "Done! (Time Elapsed = " << GetTime() << " sec)\n"; +- } +- else +- { +- cout << "Export Error: Error creating file: owner.... Aborting\n"; +- error = true; +- } +- +- +- // Write the "neighbour" file +- if(outfile_nei->good() && !error) +- { +- cout << "Writing the neighbour file: "; +- WriteNeighbourFile(outfile_nei); +- delete outfile_nei; +- cout << "Done! (Time Elapsed = " << GetTime() << " sec)\n"; +- } +- else +- { +- cout << "Export Error: Error creating file: neighbour.... Aborting\n"; +- error = true; +- } +- +- +- // Write the "faces" file +- if(outfile_faces->good() && !error) +- { +- cout << "Writing the faces file: "; +- WriteFacesFile(outfile_faces, mesh); +- delete outfile_faces; +- cout << "Done! (Time Elapsed = " << GetTime() << " sec)\n"; +- } +- else +- { +- cout << "Export Error: Error creating file: faces.... Aborting\n"; +- error = true; +- } +- +- +- // Write the "points" file +- if(outfile_pnts->good() && !error) +- { +- cout << "Writing the points file: "; +- WritePointsFile(outfile_pnts,mesh); +- delete outfile_pnts; +- cout << "Done! (Time Elapsed = " << GetTime() << " sec)\n"; +- } +- else +- { +- cout << "Export Error: Error creating file: points.... Aborting\n"; +- error = true; +- } +- +- +- // Write the "boundary" file +- if(outfile_bnd->good() && !error) +- { +- cout << "Writing the boundary file: "; +- WriteBoundaryFile(outfile_bnd); +- delete outfile_bnd; +- cout << "Done! (Time Elapsed = " << GetTime() << " sec)\n"; +- } +- else +- { +- cout << "Export Error: Error creating file: boundary.... Aborting\n"; +- error = true; +- } +- +- if(!error) +- { +- cout << "OpenFOAM 1.5+ Export successfully completed (Time elapsed = " << GetTime() << " sec) !\n"; +- } +- else +- { +- cout << "Error in OpenFOAM 1.5+ Export.... Aborted!\n"; +- } +- } +-} +- ++/*! \file writeOpenFOAM15x.cpp ++* \brief Export Netgen Mesh in the OpenFOAM 1.5+ File format ++* \author Philippose Rajan ++* \date 25 October 2009 ++* ++* This function extends the export capabilities of ++* Netgen to include the OpenFOAM 1.5+ File Format. ++* ++* The OpenFOAM 1.5+ mesh format consists of a set of 5 files ++* which together define the mesh points, faces, cells and ++* boundary conditions. ++* ++* The files are: ++* 1. points -> A list of the point co-ordinates ++* 2. faces -> A list of the faces with format (pnt_ind1 pnt_ind2 .... pnt_ind) ++* 3. owner -> The owner cell of each face ++* 4. neighbour -> The neighbour cell of each face ++* 5. boundary -> The set of boundaries with name, start face, and num. of faces ++* ++* For a detailed description of the format, refer to the following link: ++* http://openfoamwiki.net/index.php/Write_OpenFOAM_meshes ++* ++*/ ++ ++#include ++ ++#include ++#include ++#include ++#include ++#include ++ ++ ++namespace netgen ++{ ++#include "writeuser.hpp" ++ ++ // Global arrays used to maintain the owner, neighbour and face lists ++ // so that they are accessible across functions ++ static Array owner_facelist; ++ static Array owner_celllist; ++ static Array neighbour_celllist; ++ static Array surfelem_bclist; ++ static Array surfelem_lists; ++ ++ ++ ++ static void WriteOpenFOAM15xBanner(ostream * outfile) ++ { ++ static char FOAMversion[4] = "1.5"; ++ static char spaces[40]; ++ ++ memset(spaces, ' ', 40); ++ spaces[38 - strlen(FOAMversion)] = '\0'; ++ ++ *outfile << ++ "/*--------------------------------*- C++ -*----------------------------------*\\\n"; ++ ++ *outfile << ++ "| ========= | |\n" ++ "| \\\\ / F ield | OpenFOAM: The Open Source CFD Toolbox |\n" ++ "| \\\\ / O peration | Version: " << FOAMversion << spaces << "|\n" ++ "| \\\\ / A nd | Web: http://www.OpenFOAM.org |\n" ++ "| \\\\/ M anipulation | |\n" ++ "\\*---------------------------------------------------------------------------*/\n"; ++ ++ } ++ ++ ++ ++ static void WriteOpenFOAM15xDividerStart(ostream * outfile) ++ { ++ *outfile << ++ "// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //\n"; ++ } ++ ++ ++ ++ static void WriteOpenFOAM15xDividerEnd(ostream * outfile) ++ { ++ *outfile << ++ "// ************************************************************************* //\n"; ++ } ++ ++ ++ ++ static bool BuildOwnerNeighbourLists (const Mesh & mesh) ++ { ++ // Clear all the arrays ++ owner_facelist.DeleteAll(); ++ owner_celllist.DeleteAll(); ++ neighbour_celllist.DeleteAll(); ++ surfelem_bclist.DeleteAll(); ++ surfelem_lists.DeleteAll(); ++ ++ const MeshTopology& meshtopo = mesh.GetTopology(); ++ ++ // Update the mesh topology structures ++ const_cast (meshtopo).SetBuildEdges(true); ++ const_cast (meshtopo).SetBuildFaces(true); ++ const_cast (meshtopo).Update(); ++ ++ // Extract important mesh metrics ++ int ne = mesh.GetNE(); ++ int nse = mesh.GetNSE(); ++ int totfaces = meshtopo.GetNFaces(); ++ ++ // Preset the size of the arrays to speed up future operations ++ // Number of internal faces = total faces - num. of surface faces ++ owner_facelist.SetSize(totfaces - nse); ++ owner_celllist.SetSize(totfaces - nse); ++ neighbour_celllist.SetSize(totfaces - nse); ++ surfelem_bclist.SetSize(nse); ++ surfelem_lists.SetSize(nse); ++ ++ // Initialise arrays to zero if required ++ neighbour_celllist = 0; ++ ++ // Array used to keep track of Faces which have already been ++ // processed and added to the Owner list... In addition, also the ++ // location where the face appears in the Owner list is also stored ++ // to speed up creation of the Neighbour list ++ Array ownerfaces(totfaces); ++ ownerfaces = 0; ++ ++ // Array to hold the set of local faces of each volume element ++ // while running through the set of volume elements ++ // NOTE: The size is set automatically by the Netgen topology function ++ Array locfaces; ++ ++ // Secondary indices used to independently advance the owner ++ // and boundary condition arrays within the main loop ++ int owner_ind = 1; ++ int bc_ind = 1; ++ ++ // Loop through all the volume elements ++ for(int elind = 1; elind <= ne; elind++) ++ { ++ // Extract the current volume element ++ // const Element & el = mesh.VolumeElement(elind); ++ ++ // Get the face numbers of the faces of the current volume element ++ // The values returned are given a sign depending on the orientation ++ // of the faces. This is used while writing the faces file, to ++ // determine whether or not to invert the face triangle before writing ++ // it to file ++ meshtopo.GetElementFaces(elind,locfaces,true); ++ ++ // Loop through the faces ++ for(int i = 1; i <= locfaces.Size(); i++) ++ { ++ // The absolute value of a face number (because the faces ++ // returned by the GetElementFaces function prepend it ++ // with a sign depending on the face orientation) ++ int absfacenr = abs(locfaces.Elem(i)); ++ ++ // If the face already exists in the owner list, add ++ // the current cell into the neighbour list, in the ++ // same location where the face appears in the owner list ++ int owner_face = ownerfaces.Elem(absfacenr); ++ if(owner_face) ++ { ++ neighbour_celllist.Elem(owner_face) = elind; ++ ++ // From this point on, the code within this "if" block ++ // basically sorts the order of the the Neighbour cells (along ++ // with the faces list) in ascending order. ++ // The approach used is..... to traverse the owner and neighbour cell lists ++ // up and down, and sort the neighbour cells of a given owner cell ++ // as the list evolves. ++ // NOTE: A value of "zero" in the neighbour list implies that ++ // the neighbour has not been found yet, so the "zero" locations need ++ // to be skipped while sorting in ascending order ++ int curr_owner = owner_celllist.Elem(owner_face); ++ ++ int peek_loc = owner_face - 1; ++ int new_loc = owner_face; ++ ++ // Traversing upwards in the list ++ while((owner_celllist.Elem(peek_loc) == curr_owner) && (peek_loc >= 1)) ++ { ++ if((neighbour_celllist.Elem(peek_loc) != 0) ++ && (neighbour_celllist.Elem(new_loc) < neighbour_celllist.Elem(peek_loc))) ++ { ++ Swap(neighbour_celllist.Elem(new_loc),neighbour_celllist.Elem(peek_loc)); ++ Swap(owner_facelist.Elem(new_loc),owner_facelist.Elem(peek_loc)); ++ new_loc = peek_loc; ++ } ++ ++ peek_loc--; ++ } ++ ++ peek_loc = owner_face + 1; ++ ++ // Traversing downwards in the list ++ while((owner_celllist.Elem(peek_loc) == curr_owner) && (peek_loc <= owner_ind)) ++ { ++ if((neighbour_celllist.Elem(peek_loc) != 0) ++ && (neighbour_celllist.Elem(new_loc) > neighbour_celllist.Elem(peek_loc))) ++ { ++ Swap(neighbour_celllist.Elem(new_loc),neighbour_celllist.Elem(peek_loc)); ++ Swap(owner_facelist.Elem(new_loc),owner_facelist.Elem(peek_loc)); ++ new_loc = peek_loc; ++ } ++ ++ peek_loc++; ++ } ++ ++ continue; ++ } ++ ++ // Check if the face is a surface element (boundary face) ++ // if not, add the current volume element and the corresponding face into ++ // the owner list ++ int surfelem = meshtopo.GetFace2SurfaceElement(absfacenr); ++ if(!surfelem) ++ { ++ // If it is a new face which has not been listed before, ++ // add the current cell into the owner list, and save ++ // the index location to be used later by the neighbour list ++ owner_celllist.Elem(owner_ind) = elind; ++ owner_facelist.Elem(owner_ind) = locfaces.Elem(i); ++ // Update the array to indicate that the face is already processed ++ ownerfaces.Elem(absfacenr) = owner_ind; ++ ++ owner_ind++; ++ } ++ // If the face is a boundary face, extract the boundary condition number of the ++ // face, and append that along with the face number and the current cell ++ // into the various surface elements lists ++ else ++ { ++ Element2d sel = mesh.SurfaceElement(surfelem); ++ surfelem_bclist.Elem(bc_ind) = mesh.GetFaceDescriptor(sel.GetIndex()).BCProperty(); ++ surfelem_lists.Elem(bc_ind) = INDEX_2(locfaces.Elem(i),elind); ++ ++ bc_ind++; ++ } ++ } ++ } ++ ++ // This correction is required in cases where the mesh has been "uniform refined".... for ++ // some reason, the number of faces reported by Netgen is higher than the actual number ++ // of faces in the mesh ++ owner_facelist.SetSize(owner_ind-1); ++ owner_celllist.SetSize(owner_ind-1); ++ neighbour_celllist.SetSize(owner_ind-1); ++ ++ ++ // Sort the list of surface elements in ascending order of boundary condition number ++ // also sort the cell list in the same manner ++ QuickSort(surfelem_bclist,surfelem_lists); ++ ++/* ++ // Debugging output to a file ++ ofstream dbg("OpenFOAMDebug.log"); ++ ++ dbg << " ------- Boundary List -------- \n"; ++ ++ for(int i = 1; i <= surfelem_bclist.Size(); i++) ++ { ++ dbg << "bc = " << surfelem_bclist.Elem(i) ++ << " : face = " << surfelem_lists.Elem(i).I1() ++ << " : cell = " << surfelem_lists.Elem(i).I2() << "\n"; ++ } ++ ++ dbg << "\n ------- Owner / Face / Neighbour List ------- \n"; ++ ++ for(int i = 1; i <= owner_celllist.Size(); i++) ++ { ++ dbg << "Ind:" << i << " :: (" ++ << owner_celllist.Elem(i) << " " ++ << owner_facelist.Elem(i) << " " ++ << neighbour_celllist.Elem(i) << ")\n"; ++ } ++ ++ dbg.close(); ++*/ ++ return(false); ++ } ++ ++ ++ ++ static void WriteNeighbourFile (ostream * outfile) ++ { ++ // Write the OpenFOAM standard banner and dividers, etc... ++ WriteOpenFOAM15xBanner(outfile); ++ *outfile << "FoamFile \n" ++ << "{ \n" ++ << " version 2.0; \n" ++ << " format ascii; \n" ++ << " class labelList; \n" ++ << " note \"Mesh generated and converted using NETGEN-" << PACKAGE_VERSION << "\"; \n" ++ << " location \"constant\\polyMesh\"; \n" ++ << " object neighbour; \n" ++ << "} \n"; ++ WriteOpenFOAM15xDividerStart(outfile); ++ ++ *outfile << "\n\n"; ++ ++ int nneighbours = neighbour_celllist.Size(); ++ ++ *outfile << nneighbours << "\n"; ++ ++ *outfile << "(\n"; ++ ++ // Write the neighbour cells to file ++ for(int i = 1; i <= neighbour_celllist.Size(); i++) ++ { ++ *outfile << neighbour_celllist.Elem(i) - 1 << "\n"; ++ } ++ *outfile << ")\n\n"; ++ WriteOpenFOAM15xDividerEnd(outfile); ++ } ++ ++ ++ ++ static void WriteOwnerFile (ostream * outfile) ++ { ++ // Write the OpenFOAM standard banner and dividers, etc... ++ WriteOpenFOAM15xBanner(outfile); ++ *outfile << "FoamFile \n" ++ << "{ \n" ++ << " version 2.0; \n" ++ << " format ascii; \n" ++ << " class labelList; \n" ++ << " note \"Mesh generated and converted using NETGEN-" << PACKAGE_VERSION << "\"; \n" ++ << " location \"constant\\polyMesh\"; \n" ++ << " object owner; \n" ++ << "} \n"; ++ WriteOpenFOAM15xDividerStart(outfile); ++ ++ *outfile << "\n\n"; ++ ++ int nowners = owner_celllist.Size() + surfelem_lists.Size(); ++ ++ *outfile << nowners << "\n"; ++ ++ *outfile << "(\n"; ++ ++ // Write the owners of the internal cells to file ++ for(int i = 1; i <= owner_celllist.Size(); i++) ++ { ++ *outfile << owner_celllist.Elem(i) - 1 << "\n"; ++ } ++ ++ // Write the owners of the boundary cells to file ++ // (Written in order of ascending boundary condition numbers) ++ for(int i = 1; i <= surfelem_lists.Size(); i++) ++ { ++ *outfile << surfelem_lists.Elem(i).I2() - 1 << "\n"; ++ } ++ *outfile << ")\n\n"; ++ WriteOpenFOAM15xDividerEnd(outfile); ++ } ++ ++ ++ ++ static void WriteFacesFile (ostream * outfile, const Mesh & mesh) ++ { ++ const MeshTopology& meshtopo = mesh.GetTopology(); ++ ++ // Write the OpenFOAM standard banner and dividers, etc... ++ WriteOpenFOAM15xBanner(outfile); ++ *outfile << "FoamFile \n" ++ << "{ \n" ++ << " version 2.0; \n" ++ << " format ascii; \n" ++ << " class faceList; \n" ++ << " note \"Mesh generated and converted using NETGEN-" << PACKAGE_VERSION << "\"; \n" ++ << " location \"constant\\polyMesh\"; \n" ++ << " object faces; \n" ++ << "} \n"; ++ WriteOpenFOAM15xDividerStart(outfile); ++ ++ *outfile << "\n\n"; ++ ++ int nfaces = owner_facelist.Size() + surfelem_lists.Size(); ++ ++ *outfile << nfaces << "\n"; ++ ++ *outfile << "(\n"; ++ ++ // Array to hold the indices of the points of each face to ++ // flip if required ++ Array facepnts; ++ ++ // Write the faces in the order specified in the owners lists of the ++ // internal cells and the boundary cells ++ for(int i = 1; i <= owner_facelist.Size(); i++) ++ { ++ int face_w_orientation = owner_facelist.Elem(i); ++ int facenr = abs(face_w_orientation); ++ ++ meshtopo.GetFaceVertices(facenr,facepnts); ++ ++ // Get the orientation of the face, and invert it if required ++ // Since the faces already have the orientation "embedded" into ++ // them by means of the prepended sign, only this needs to be ++ // checked for... ++ if(face_w_orientation > 0) ++ { ++ int tmppnts = 0; ++ ++ if(facepnts.Size() == 4) ++ { ++ tmppnts = facepnts.Elem(1); ++ facepnts.Elem(1) = facepnts.Elem(2); ++ facepnts.Elem(2) = tmppnts; ++ ++ tmppnts = facepnts.Elem(3); ++ facepnts.Elem(3) = facepnts.Elem(4); ++ facepnts.Elem(4) = tmppnts; ++ } ++ else if(facepnts.Size() == 3) ++ { ++ tmppnts = facepnts.Elem(1); ++ facepnts.Elem(1) = facepnts.Elem(3); ++ facepnts.Elem(3) = tmppnts; ++ } ++ } ++ ++ *outfile << facepnts.Size(); ++ *outfile << "("; ++ for(int j = 1; j <= facepnts.Size(); j++) ++ { ++ *outfile << facepnts.Elem(j)-1; ++ if(j != facepnts.Size()) *outfile << " "; ++ } ++ *outfile << ")\n"; ++ } ++ ++ // Now append the faces of the surface elements (written in ++ // ascending order of boundary condition number) also into ++ // the faces file ++ for(int i = 1; i <= surfelem_lists.Size(); i++) ++ { ++ int face_w_orientation = surfelem_lists.Elem(i).I1(); ++ int facenr = abs(face_w_orientation); ++ ++ meshtopo.GetFaceVertices(facenr,facepnts); ++ ++ // Get the orientation of the face, and invert it if required ++ if(face_w_orientation > 0) ++ { ++ int tmppnts = 0; ++ ++ if(facepnts.Size() == 4) ++ { ++ tmppnts = facepnts.Elem(1); ++ facepnts.Elem(1) = facepnts.Elem(2); ++ facepnts.Elem(2) = tmppnts; ++ ++ tmppnts = facepnts.Elem(3); ++ facepnts.Elem(3) = facepnts.Elem(4); ++ facepnts.Elem(4) = tmppnts; ++ } ++ else if(facepnts.Size() == 3) ++ { ++ tmppnts = facepnts.Elem(1); ++ facepnts.Elem(1) = facepnts.Elem(3); ++ facepnts.Elem(3) = tmppnts; ++ } ++ } ++ ++ *outfile << facepnts.Size(); ++ *outfile << "("; ++ for(int j = 1; j <= facepnts.Size(); j++) ++ { ++ *outfile << facepnts.Elem(j)-1; ++ if(j != facepnts.Size()) *outfile << " "; ++ } ++ *outfile << ")\n"; ++ } ++ ++ *outfile << ")\n\n"; ++ WriteOpenFOAM15xDividerEnd(outfile); ++ } ++ ++ ++ ++ static void WritePointsFile (ostream * outfile, const Mesh & mesh) ++ { ++ int np = mesh.GetNP(); ++ ++ // Write the OpenFOAM standard banner and dividers, etc... ++ WriteOpenFOAM15xBanner(outfile); ++ *outfile << "FoamFile \n" ++ << "{ \n" ++ << " version 2.0; \n" ++ << " format ascii; \n" ++ << " class vectorField; \n" ++ << " note \"Mesh generated and converted using NETGEN-" << PACKAGE_VERSION << "\"; \n" ++ << " location \"constant\\polyMesh\"; \n" ++ << " object points; \n" ++ << "} \n"; ++ WriteOpenFOAM15xDividerStart(outfile); ++ ++ *outfile << "\n\n"; ++ ++ // Number of points in the following list ++ *outfile << np << "\n"; ++ ++ outfile->precision(6); ++ outfile->setf (ios::fixed, ios::floatfield); ++ outfile->setf (ios::showpoint); ++ ++ // Coordinate list starts here ++ *outfile << "(\n"; ++ ++ for(int i = 1; i <= np; i++) ++ { ++ const Point3d & p = mesh.Point(i); ++ ++ // Write coordinates to file ++ *outfile << "("; ++ *outfile << p.X() << " "; ++ *outfile << p.Y() << " "; ++ *outfile << p.Z(); ++ *outfile << ")\n"; ++ } ++ *outfile << ")\n\n"; ++ WriteOpenFOAM15xDividerEnd(outfile); ++ } ++ ++ ++ ++ static void WriteBoundaryFile (ostream * outfile) ++ { ++ // Write the OpenFOAM standard banner and dividers, etc... ++ WriteOpenFOAM15xBanner(outfile); ++ *outfile << "FoamFile \n" ++ << "{ \n" ++ << " version 2.0; \n" ++ << " format ascii; \n" ++ << " class polyBoundaryMesh; \n" ++ << " note \"Mesh generated and converted using NETGEN-" << PACKAGE_VERSION << "\"; \n" ++ << " location \"constant\\polyMesh\"; \n" ++ << " object boundary; \n" ++ << "} \n"; ++ WriteOpenFOAM15xDividerStart(outfile); ++ ++ *outfile << "\n"; ++ ++ ++ Array bcarray; ++ int ind = 1; ++ ++ // Since the boundary conditions are already sorted in ascending ++ // order, the last element will give the maximum number of possible ++ // boundary condition entries ++ int bcmax = surfelem_bclist.Elem(surfelem_bclist.Size()); ++ ++ bcarray.SetSize(bcmax+1); ++ ++ bcarray.Elem(ind) = INDEX_3(surfelem_bclist.Elem(1),1,0); ++ ++ for(int i = 2; i <= surfelem_bclist.Size(); i++) ++ { ++ if(surfelem_bclist.Elem(i) == bcarray.Elem(ind).I1()) ++ { ++ bcarray.Elem(ind).I2() = bcarray.Elem(ind).I2()+1; ++ } ++ else ++ { ++ ind++; ++ bcarray.Elem(ind) = INDEX_3(surfelem_bclist.Elem(i),1,i-1); ++ } ++ } ++ ++ bcarray.SetSize(ind); ++ ++ *outfile << bcarray.Size() << "\n"; ++ *outfile << "(\n"; ++ ++ int startface = 0; ++ ++ for(int i = 1; i <= bcarray.Size(); i++) ++ { ++ startface = owner_celllist.Size() + bcarray.Elem(i).I3(); ++ ++ *outfile << " patch" << bcarray.Elem(i).I1() << "\n" ++ << " {\n" ++ << " type patch;\n" ++ << " physicalType patch;\n" ++ << " nFaces " << bcarray.Elem(i).I2() << ";\n" ++ << " startFace " << startface << ";\n" ++ << " }\n"; ++ } ++ ++ *outfile << ")\n\n"; ++ WriteOpenFOAM15xDividerEnd(outfile); ++ } ++ ++ ++ ++ void WriteOpenFOAM15xFormat (const Mesh & mesh, const string & casename, const bool compressed) ++ { ++ bool error = false; ++ char casefiles[256]; ++ ++ // Make sure that the mesh data has been updated ++ const_cast (mesh).Compress(); ++ const_cast (mesh).CalcSurfacesOfNode(); ++ const_cast (mesh).RebuildSurfaceElementLists(); ++ const_cast (mesh).BuildElementSearchTree(); ++ ++ ++ int np = mesh.GetNP(); ++ int nse = mesh.GetNSE(); ++ int ne = mesh.GetNE(); ++ ++ cout << "Write OpenFOAM 1.5+ Mesh Files....\n"; ++ ++ // Abort if there are no points, surface elements or volume elements ++ if((np <= 0) || (ne <= 0) || (nse <= 0)) ++ { ++ cout << "Export Error: Invalid mesh.... Aborting!\n"; ++ return; ++ } ++ ++ // OpenFOAM only supports linear meshes! ++ if(mparam.secondorder || mesh.GetCurvedElements().IsHighOrder()) ++ { ++ cout << "Export Error: OpenFOAM 1.5+ does not support non-linear elements.... Aborting!\n"; ++ return; ++ } ++ ++ if(( (mesh.SurfaceElement(nse/2).GetType() != TRIG) ++ && (mesh.SurfaceElement(nse/2).GetType() != QUAD) ) ++ || (mesh.VolumeElement(ne/2).GetType() == TET10) ++ || (mesh.VolumeElement(ne/2).GetType() == PRISM12)) ++ { ++ cout << "Export Error: OpenFOAM 1.5+ does not support non-linear elements.... Aborting!\n"; ++ return; ++ } ++ ++ ++ cout << "Writing OpenFOAM 1.5+ Mesh files to case: " << casename << "\n"; ++ ++ // Create the case directory if it does not already exist ++ // NOTE: This needs to be improved for the Linux variant....!!! ++ #ifdef WIN32 ++ char casedir[256]; ++ sprintf(casedir, "mkdir %s\\constant\\polyMesh", casename.c_str()); ++ system(casedir); ++ #else ++ char casedir[256]; ++ mkdir(casename.c_str(), S_IRWXU|S_IRWXG); ++ sprintf(casedir, "%s/constant", casename.c_str()); ++ mkdir(casedir, S_IRWXU|S_IRWXG); ++ sprintf(casedir, "%s/constant/polyMesh", casename.c_str()); ++ mkdir(casedir, S_IRWXU|S_IRWXG); ++ #endif ++ ++ // Open handles to the five required mesh files ++ // points ++ // faces ++ // owner ++ // neighbour ++ // boundary ++ ostream *outfile_pnts; ++ ostream *outfile_faces; ++ ostream *outfile_own; ++ ostream *outfile_nei; ++ ostream *outfile_bnd; ++ ++ if(compressed) ++ { ++ sprintf(casefiles, "%s/constant/polyMesh/points.gz", casename.c_str()); ++ outfile_pnts = new ogzstream(casefiles); ++ } ++ else ++ { ++ sprintf(casefiles, "%s/constant/polyMesh/points", casename.c_str()); ++ outfile_pnts = new ofstream(casefiles); ++ } ++ ++ if(compressed) ++ { ++ sprintf(casefiles, "%s/constant/polyMesh/faces.gz", casename.c_str()); ++ outfile_faces = new ogzstream(casefiles); ++ } ++ else ++ { ++ sprintf(casefiles, "%s/constant/polyMesh/faces", casename.c_str()); ++ outfile_faces = new ofstream(casefiles); ++ } ++ ++ if(compressed) ++ { ++ sprintf(casefiles, "%s/constant/polyMesh/owner.gz", casename.c_str()); ++ outfile_own = new ogzstream(casefiles); ++ } ++ else ++ { ++ sprintf(casefiles, "%s/constant/polyMesh/owner", casename.c_str()); ++ outfile_own = new ofstream(casefiles); ++ } ++ ++ if(compressed) ++ { ++ sprintf(casefiles, "%s/constant/polyMesh/neighbour.gz", casename.c_str()); ++ outfile_nei = new ogzstream(casefiles); ++ } ++ else ++ { ++ sprintf(casefiles, "%s/constant/polyMesh/neighbour", casename.c_str()); ++ outfile_nei = new ofstream(casefiles); ++ } ++ ++ // Note... the boundary file is not compressed ++ sprintf(casefiles, "%s/constant/polyMesh/boundary", casename.c_str()); ++ outfile_bnd = new ofstream(casefiles); ++ ++ ResetTime(); ++ ++ // Build the owner, neighbour, faces and boundary lists ++ // from the Netgen mesh ++ cout << "\nBuilding Owner, Neighbour and Face Lists: "; ++ ++ error = BuildOwnerNeighbourLists(mesh); ++ ++ cout << "Done! (Time Elapsed = " << GetTime() << " sec)\n"; ++ ++ ++ // Write the "owner" file ++ if(outfile_own->good() && !error) ++ { ++ cout << "Writing the owner file: "; ++ WriteOwnerFile(outfile_own); ++ delete outfile_own; ++ cout << "Done! (Time Elapsed = " << GetTime() << " sec)\n"; ++ } ++ else ++ { ++ cout << "Export Error: Error creating file: owner.... Aborting\n"; ++ error = true; ++ } ++ ++ ++ // Write the "neighbour" file ++ if(outfile_nei->good() && !error) ++ { ++ cout << "Writing the neighbour file: "; ++ WriteNeighbourFile(outfile_nei); ++ delete outfile_nei; ++ cout << "Done! (Time Elapsed = " << GetTime() << " sec)\n"; ++ } ++ else ++ { ++ cout << "Export Error: Error creating file: neighbour.... Aborting\n"; ++ error = true; ++ } ++ ++ ++ // Write the "faces" file ++ if(outfile_faces->good() && !error) ++ { ++ cout << "Writing the faces file: "; ++ WriteFacesFile(outfile_faces, mesh); ++ delete outfile_faces; ++ cout << "Done! (Time Elapsed = " << GetTime() << " sec)\n"; ++ } ++ else ++ { ++ cout << "Export Error: Error creating file: faces.... Aborting\n"; ++ error = true; ++ } ++ ++ ++ // Write the "points" file ++ if(outfile_pnts->good() && !error) ++ { ++ cout << "Writing the points file: "; ++ WritePointsFile(outfile_pnts,mesh); ++ delete outfile_pnts; ++ cout << "Done! (Time Elapsed = " << GetTime() << " sec)\n"; ++ } ++ else ++ { ++ cout << "Export Error: Error creating file: points.... Aborting\n"; ++ error = true; ++ } ++ ++ ++ // Write the "boundary" file ++ if(outfile_bnd->good() && !error) ++ { ++ cout << "Writing the boundary file: "; ++ WriteBoundaryFile(outfile_bnd); ++ delete outfile_bnd; ++ cout << "Done! (Time Elapsed = " << GetTime() << " sec)\n"; ++ } ++ else ++ { ++ cout << "Export Error: Error creating file: boundary.... Aborting\n"; ++ error = true; ++ } ++ ++ if(!error) ++ { ++ cout << "OpenFOAM 1.5+ Export successfully completed (Time elapsed = " << GetTime() << " sec) !\n"; ++ } ++ else ++ { ++ cout << "Error in OpenFOAM 1.5+ Export.... Aborted!\n"; ++ } ++ } ++} ++ +diff -Naur netgen-5.3.1_SRC_orig/libsrc/interface/writeuser.cpp netgen-5.3.1_SRC_modif/libsrc/interface/writeuser.cpp +--- netgen-5.3.1_SRC_orig/libsrc/interface/writeuser.cpp 2014-08-29 13:54:02.000000000 +0400 ++++ netgen-5.3.1_SRC_modif/libsrc/interface/writeuser.cpp 2018-03-01 15:45:08.693877037 +0300 +@@ -1,1040 +1,1040 @@ +-// +-// Write user dependent output file +-// +- +-#include +- +-#include +-#include +-#include +-#include +-#include +- +-namespace netgen +-{ +-#include "writeuser.hpp" +- +- +- void RegisterUserFormats (Array & names, +- Array & extensions) +- +-{ +- const char *types[] = +- { +- "Neutral Format", ".mesh", +- "Surface Mesh Format", ".mesh" , +- "DIFFPACK Format", ".mesh", +- "TecPlot Format", ".mesh", +- "Tochnog Format", ".mesh", +- "Abaqus Format", ".mesh", +- "Fluent Format", ".mesh", +- "Permas Format", ".mesh", +- "FEAP Format", ".mesh", +- "Elmer Format", "*", +- "STL Format", ".stl", +- "STL Extended Format", ".stl", +- "VRML Format", ".*", +- "Gmsh Format", ".gmsh", +- "Gmsh2 Format", ".gmsh2", +- "OpenFOAM 1.5+ Format", "*", +- "OpenFOAM 1.5+ Compressed", "*", +- "JCMwave Format", ".jcm", +- "TET Format", ".tet", +- // { "Chemnitz Format" }, +- 0 +- }; +- +- for (int i = 0; types[2*i]; i++) +- { +- names.Append (types[2*i]); +- extensions.Append (types[2*i+1]); +- } +-} +- +- +- +-bool WriteUserFormat (const string & format, +- const Mesh & mesh, +- const NetgenGeometry & hgeom, +- const string & filename) +-{ +- const CSGeometry & geom = *dynamic_cast (&hgeom); +- +- PrintMessage (1, "Export mesh to file ", filename, +- ", format is ", format); +- +- if (format == "Neutral Format") +- WriteNeutralFormat (mesh, geom, filename); +- +- else if (format == "Surface Mesh Format") +- WriteSurfaceFormat (mesh, filename); +- +- else if (format == "DIFFPACK Format") +- WriteDiffPackFormat (mesh, geom, filename); +- +- else if (format == "Tochnog Format") +- WriteTochnogFormat (mesh, filename); +- +- else if (format == "TecPlot Format") +- cerr << "ERROR: TecPlot format currently out of order" << endl; +- // WriteTecPlotFormat (mesh, geom, filename); +- +- else if (format == "Abaqus Format") +- WriteAbaqusFormat (mesh, filename); +- +- else if (format == "Fluent Format") +- WriteFluentFormat (mesh, filename); +- +- else if (format == "Permas Format") +- WritePermasFormat (mesh, filename); +- +- else if (format == "FEAP Format") +- WriteFEAPFormat (mesh, filename); +- +- else if (format == "Elmer Format") +- WriteElmerFormat (mesh, filename); +- +- else if (format == "STL Format") +- WriteSTLFormat (mesh, filename); +- +- // Philippose - 16 August 2010 +- // Added additional STL Export in which +- // each face of the geometry is treated +- // as a separate "solid" entity +- else if (format == "STL Extended Format") +- WriteSTLExtFormat (mesh, filename); +- +- else if (format == "VRML Format") +- WriteVRMLFormat (mesh, 1, filename); +- +- else if (format == "Fepp Format") +- WriteFEPPFormat (mesh, geom, filename); +- +- else if (format == "EdgeElement Format") +- WriteEdgeElementFormat (mesh, geom, filename); +- +- else if (format == "Chemnitz Format") +- WriteUserChemnitz (mesh, filename); +- +- else if (format == "Gmsh Format") +- WriteGmshFormat (mesh, geom, filename); +- +- // Philippose - 29/01/2009 +- // Added Gmsh v2.xx Mesh export capability +- else if (format == "Gmsh2 Format") +- WriteGmsh2Format (mesh, geom, filename); +- +- // Philippose - 25/10/2009 +- // Added OpenFOAM 1.5+ Mesh export capability +- else if (format == "OpenFOAM 1.5+ Format") +- WriteOpenFOAM15xFormat (mesh, filename, false); +- +- else if (format == "OpenFOAM 1.5+ Compressed") +- WriteOpenFOAM15xFormat (mesh, filename, true); +- +- else if (format == "JCMwave Format") +- WriteJCMFormat (mesh, geom, filename); +- +-#ifdef OLIVER +- else if (format == "TET Format") +- WriteTETFormat( mesh, filename);//, "High Frequency" ); +-#endif +- +- else +- { +- return 1; +- } +- +- return 0; +-} +- +- +- +- +-/* +- * Neutral mesh format +- * points, elements, surface elements +- */ +- +-void WriteNeutralFormat (const Mesh & mesh, +- const CSGeometry & geom, +- const string & filename) +-{ +- cout << "write neutral, new" << endl; +- int np = mesh.GetNP(); +- int ne = mesh.GetNE(); +- int nse = mesh.GetNSE(); +- int nseg = mesh.GetNSeg(); +- int i, j; +- +- int inverttets = mparam.inverttets; +- int invertsurf = mparam.inverttrigs; +- +- ofstream outfile (filename.c_str()); +- +- outfile.precision(6); +- outfile.setf (ios::fixed, ios::floatfield); +- outfile.setf (ios::showpoint); +- +- outfile << np << "\n"; +- +- for (i = 1; i <= np; i++) +- { +- const Point3d & p = mesh.Point(i); +- +- outfile.width(10); +- outfile << p.X() << " "; +- outfile.width(9); +- outfile << p.Y() << " "; +- if (mesh.GetDimension() == 3) +- { +- outfile.width(9); +- outfile << p.Z(); +- } +- outfile << "\n"; +- } +- +- if (mesh.GetDimension() == 3) +- { +- outfile << ne << "\n"; +- for (i = 1; i <= ne; i++) +- { +- Element el = mesh.VolumeElement(i); +- if (inverttets) +- el.Invert(); +- outfile.width(4); +- outfile << el.GetIndex() << " "; +- for (j = 1; j <= el.GetNP(); j++) +- { +- outfile << " "; +- outfile.width(8); +- outfile << el.PNum(j); +- } +- outfile << "\n"; +- } +- } +- +- outfile << nse << "\n"; +- for (i = 1; i <= nse; i++) +- { +- Element2d el = mesh.SurfaceElement(i); +- if (invertsurf) +- el.Invert(); +- outfile.width(4); +- outfile << mesh.GetFaceDescriptor (el.GetIndex()).BCProperty() << " "; +- for (j = 1; j <= el.GetNP(); j++) +- { +- outfile << " "; +- outfile.width(8); +- outfile << el.PNum(j); +- } +- outfile << "\n"; +- } +- +- +- if (mesh.GetDimension() == 2) +- { +- outfile << nseg << "\n"; +- for (i = 1; i <= nseg; i++) +- { +- const Segment & seg = mesh.LineSegment(i); +- outfile.width(4); +- outfile << seg.si << " "; +- +- outfile << " "; +- outfile.width(8); +- outfile << seg[0]; +- outfile << " "; +- outfile.width(8); +- outfile << seg[1]; +- +- outfile << "\n"; +- } +- } +-} +- +- +- +- +- +- +- +- +- +-void WriteSurfaceFormat (const Mesh & mesh, +- const string & filename) +-{ +- // surface mesh +- int i, j; +- +- cout << "Write Surface Mesh" << endl; +- +- ofstream outfile (filename.c_str()); +- +- outfile << "surfacemesh" << endl; +- +- outfile << mesh.GetNP() << endl; +- for (i = 1; i <= mesh.GetNP(); i++) +- { +- for (j = 0; j < 3; j++) +- { +- outfile.width(10); +- outfile << mesh.Point(i)(j) << " "; +- } +- outfile << endl; +- } +- outfile << mesh.GetNSE() << endl; +- for (i = 1; i <= mesh.GetNSE(); i++) +- { +- for (j = 1; j <= 3; j++) +- { +- outfile.width(8); +- outfile << mesh.SurfaceElement(i).PNum(j); +- } +- outfile << endl; +- } +-} +- +- +- +- +- +-/* +- * save surface mesh as STL file +- */ +- +-void WriteSTLFormat (const Mesh & mesh, +- const string & filename) +-{ +- cout << "\nWrite STL Surface Mesh" << endl; +- +- ostream *outfile; +- +- if(filename.substr(filename.length()-3,3) == ".gz") +- outfile = new ogzstream(filename.c_str()); +- else +- outfile = new ofstream(filename.c_str()); +- +- int i; +- +- outfile->precision(10); +- +- *outfile << "solid" << endl; +- +- for (i = 1; i <= mesh.GetNSE(); i++) +- { +- *outfile << "facet normal "; +- const Point3d& p1 = mesh.Point(mesh.SurfaceElement(i).PNum(1)); +- const Point3d& p2 = mesh.Point(mesh.SurfaceElement(i).PNum(2)); +- const Point3d& p3 = mesh.Point(mesh.SurfaceElement(i).PNum(3)); +- +- Vec3d normal = Cross(p2-p1,p3-p1); +- if (normal.Length() != 0) +- { +- normal /= (normal.Length()); +- } +- +- *outfile << normal.X() << " " << normal.Y() << " " << normal.Z() << "\n"; +- *outfile << "outer loop\n"; +- +- *outfile << "vertex " << p1.X() << " " << p1.Y() << " " << p1.Z() << "\n"; +- *outfile << "vertex " << p2.X() << " " << p2.Y() << " " << p2.Z() << "\n"; +- *outfile << "vertex " << p3.X() << " " << p3.Y() << " " << p3.Z() << "\n"; +- +- *outfile << "endloop\n"; +- *outfile << "endfacet\n"; +- } +- *outfile << "endsolid" << endl; +-} +- +- +- +- +- +-/* +- * Philippose - 16 August 2010 +- * Save surface mesh as STL file +- * with a separate solid definition +- * for each face +- * - This helps in splitting up the +- * STL into named boundary faces +- * when using a third-party mesher +- */ +-void WriteSTLExtFormat (const Mesh & mesh, +- const string & filename) +-{ +- cout << "\nWrite STL Surface Mesh (with separated boundary faces)" << endl; +- +- ostream *outfile; +- +- if(filename.substr(filename.length()-3,3) == ".gz") +- outfile = new ogzstream(filename.c_str()); +- else +- outfile = new ofstream(filename.c_str()); +- +- outfile->precision(10); +- +- int numBCs = 0; +- +- Array faceBCs; +- TABLE faceBCMapping; +- +- faceBCs.SetSize(mesh.GetNFD()); +- faceBCMapping.SetSize(mesh.GetNFD()); +- +- faceBCs = -1; +- +- // Collect the BC numbers used in the mesh +- for(int faceNr = 1; faceNr <= mesh.GetNFD(); faceNr++) +- { +- int bcNum = mesh.GetFaceDescriptor(faceNr).BCProperty(); +- +- if(faceBCs.Pos(bcNum) < 0) +- { +- numBCs++; +- faceBCs.Set(numBCs,bcNum); +- faceBCMapping.Add1(numBCs,faceNr); +- } +- else +- { +- faceBCMapping.Add1(faceBCs.Pos(bcNum)+1,faceNr); +- } +- } +- +- faceBCs.SetSize(numBCs); +- faceBCMapping.ChangeSize(numBCs); +- +- // Now actually write the data to file +- for(int bcInd = 1; bcInd <= faceBCs.Size(); bcInd++) +- { +- *outfile << "solid Boundary_" << faceBCs.Elem(bcInd) << "\n"; +- +- for(int faceNr = 1;faceNr <= faceBCMapping.EntrySize(bcInd); faceNr++) +- { +- Array faceSei; +- mesh.GetSurfaceElementsOfFace(faceBCMapping.Get(bcInd,faceNr),faceSei); +- +- for (int i = 0; i < faceSei.Size(); i++) +- { +- *outfile << "facet normal "; +- const Point3d& p1 = mesh.Point(mesh.SurfaceElement(faceSei[i]).PNum(1)); +- const Point3d& p2 = mesh.Point(mesh.SurfaceElement(faceSei[i]).PNum(2)); +- const Point3d& p3 = mesh.Point(mesh.SurfaceElement(faceSei[i]).PNum(3)); +- +- Vec3d normal = Cross(p2-p1,p3-p1); +- if (normal.Length() != 0) +- { +- normal /= (normal.Length()); +- } +- +- *outfile << normal.X() << " " << normal.Y() << " " << normal.Z() << "\n"; +- *outfile << "outer loop\n"; +- +- *outfile << "vertex " << p1.X() << " " << p1.Y() << " " << p1.Z() << "\n"; +- *outfile << "vertex " << p2.X() << " " << p2.Y() << " " << p2.Z() << "\n"; +- *outfile << "vertex " << p3.X() << " " << p3.Y() << " " << p3.Z() << "\n"; +- +- *outfile << "endloop\n"; +- *outfile << "endfacet\n"; +- } +- } +- *outfile << "endsolid Boundary_" << faceBCs.Elem(bcInd) << "\n"; +- } +-} +- +- +- +- +-/* +- * +- * write surface mesh as VRML file +- * +- */ +- +-void WriteVRMLFormat (const Mesh & mesh, +- bool faces, +- const string & filename) +-{ +- +- if (faces) +- +- { +- // Output in VRML, IndexedFaceSet is used +- // Bartosz Sawicki +- +- int np = mesh.GetNP(); +- int nse = mesh.GetNSE(); +- int i, j; +- +- ofstream outfile (filename.c_str()); +- +- outfile.precision(6); +- outfile.setf (ios::fixed, ios::floatfield); +- outfile.setf (ios::showpoint); +- +- outfile << "#VRML V2.0 utf8 \n" +- "Background {\n" +- " skyColor [1 1 1]\n" +- " groundColor [1 1 1]\n" +- "}\n" +- "Group{ children [\n" +- "Shape{ \n" +- "appearance Appearance { material Material { }} \n" +- "geometry IndexedFaceSet { \n" +- "coord Coordinate { point [ \n"; +- +- +- for (i = 1; i <= np; i++) +- { +- const Point3d & p = mesh.Point(i); +- outfile.width(10); +- outfile << p.X() << " "; +- outfile << p.Y() << " "; +- outfile << p.Z() << " \n"; +- } +- +- outfile << " ] } \n" +- "coordIndex [ \n"; +- +- for (i = 1; i <= nse; i++) +- { +- const Element2d & el = mesh.SurfaceElement(i); +- +- for (j = 1; j <= 3; j++) +- { +- outfile.width(8); +- outfile << el.PNum(j)-1; +- } +- outfile << " -1 \n"; +- } +- +- outfile << " ] \n"; +- +- //define number and RGB definitions of colors +- outfile << "color Color { color [1 0 0, 0 1 0, 0 0 1, 1 1 0]} \n" +- "colorIndex [\n"; +- +- for (i = 1; i <= nse; i++) +- { +- outfile << mesh.GetFaceDescriptor(mesh.SurfaceElement(i).GetIndex ()).BCProperty(); +- outfile << endl; +- } +- +- outfile << " ] \n" +- "colorPerVertex FALSE \n" +- "creaseAngle 0 \n" +- "solid FALSE \n" +- "ccw FALSE \n" +- "convex TRUE \n" +- "} } # end of Shape\n" +- "] }\n"; +- +- } /* end of VRMLFACES */ +- +- +- else +- +- { +- // Output in VRML, IndexedLineSet is used +- // Bartosz Sawicki +- +- int np = mesh.GetNP(); +- int nse = mesh.GetNSE(); +- int i, j; +- +- ofstream outfile (filename.c_str()); +- +- outfile.precision(6); +- outfile.setf (ios::fixed, ios::floatfield); +- outfile.setf (ios::showpoint); +- +- outfile << "#VRML V2.0 utf8 \n" +- "Background {\n" +- " skyColor [1 1 1]\n" +- " groundColor [1 1 1]\n" +- "}\n" +- "Group{ children [\n" +- "Shape{ \n" +- "appearance Appearance { material Material { }} \n" +- "geometry IndexedLineSet { \n" +- "coord Coordinate { point [ \n"; +- +- +- for (i = 1; i <= np; i++) +- { +- const Point3d & p = mesh.Point(i); +- outfile.width(10); +- outfile << p.X() << " "; +- outfile << p.Y() << " "; +- outfile << p.Z() << " \n"; +- } +- +- outfile << " ] } \n" +- "coordIndex [ \n"; +- +- for (i = 1; i <= nse; i++) +- { +- const Element2d & el = mesh.SurfaceElement(i); +- +- for (j = 1; j <= 3; j++) +- { +- outfile.width(8); +- outfile << el.PNum(j)-1; +- } +- outfile.width(8); +- outfile << el.PNum(1)-1; +- outfile << " -1 \n"; +- } +- +- outfile << " ] \n"; +- +-/* Uncomment if you want color mesh +- outfile << "color Color { color [1 1 1, 0 1 0, 0 0 1, 1 1 0]} \n" +- "colorIndex [\n"; +- +- for (i = 1; i <= nse; i++) +- { +- outfile << mesh.GetFaceDescriptor(mesh.SurfaceElement(i).GetIndex ()).BCProperty(); +- outfile << endl; +- } +- +- outfile << " ] \n" +-*/ +- outfile << "colorPerVertex FALSE \n" +- "} } #end of Shape\n" +- "] } \n"; +- +- } +- +-} +- +- +- +- +- +- +-/* +- * FEPP .. a finite element package developed at University Linz, Austria +- */ +-void WriteFEPPFormat (const Mesh & mesh, +- const CSGeometry & geom, +- const string & filename) +-{ +- +- ofstream outfile (filename.c_str()); +- +- if (mesh.GetDimension() == 3) +- +- { +- +- // output for FEPP +- +- int np = mesh.GetNP(); +- int ne = mesh.GetNE(); +- int nse = mesh.GetNSE(); +- int ns = mesh.GetNFD(); +- int i, j; +- +- outfile.precision(5); +- outfile.setf (ios::fixed, ios::floatfield); +- outfile.setf (ios::showpoint); +- +- outfile << "volumemesh4" << endl; +- outfile << nse << endl; +- for (i = 1; i <= nse; i++) +- { +- const Element2d & el = mesh.SurfaceElement(i); +- +- // int facenr = mesh.facedecoding.Get(el.GetIndex()).surfnr; +- outfile.width(4); +- outfile << el.GetIndex() << " "; +- outfile.width(4); +- // outfile << mesh.GetFaceDescriptor(el.GetIndex()).BCProperty() << " "; +- outfile << mesh.GetFaceDescriptor(el.GetIndex()).BCProperty() << " "; +- outfile.width(4); +- outfile << el.GetNP() << " "; +- for (j = 1; j <= el.GetNP(); j++) +- { +- outfile.width(8); +- outfile << el.PNum(j); +- } +- outfile << "\n"; +- } +- +- +- outfile << ne << "\n"; +- for (i = 1; i <= ne; i++) +- { +- const Element & el = mesh.VolumeElement(i); +- outfile.width(4); +- outfile << el.GetIndex() << " "; +- outfile.width(4); +- outfile << el.GetNP() << " "; +- for (j = 1; j <= el.GetNP(); j++) +- { +- outfile.width(8); +- outfile << el.PNum(j); +- } +- outfile << "\n"; +- } +- +- outfile << np << "\n"; +- for (i = 1; i <= np; i++) +- { +- const Point3d & p = mesh.Point(i); +- +- outfile.width(10); +- outfile << p.X() << " "; +- outfile.width(9); +- outfile << p.Y() << " "; +- outfile.width(9); +- outfile << p.Z() << "\n"; +- } +- +- /* +- if (typ == WRITE_FEPPML) +- { +- int nbn = mesh.mlbetweennodes.Size(); +- outfile << nbn << "\n"; +- for (i = 1; i <= nbn; i++) +- outfile << mesh.mlbetweennodes.Get(i).I1() << " " +- << mesh.mlbetweennodes.Get(i).I2() << "\n"; +- +- +- // int ncon = mesh.connectedtonode.Size(); +- // outfile << ncon << "\n"; +- // for (i = 1; i <= ncon; i++) +- // outfile << i << " " << mesh.connectedtonode.Get(i) << endl; +- } +- */ +- +- +- // write CSG surfaces +- if (&geom && geom.GetNSurf() >= ns) +- { +- outfile << ns << endl; +- for (i = 1; i <= ns; i++) +- geom.GetSurface(mesh.GetFaceDescriptor(i).SurfNr())->Print(outfile); +- } +- else +- outfile << "0" << endl; +- } +- +- +- else +- +- { // 2D fepp format +- +- ; +- /* +- extern SplineGeometry2d * geometry2d; +- if (geometry2d) +- Save2DMesh (mesh, &geometry2d->GetSplines(), outfile); +- else +- Save2DMesh (mesh, 0, outfile); +- */ +- } +-} +- +- +- +- +- +- +-/* +- * Edge element mesh format +- * points, elements, edges +- */ +- +-void WriteEdgeElementFormat (const Mesh & mesh, +- const CSGeometry & geom, +- const string & filename) +-{ +- cout << "write edge element format" << endl; +- +- const MeshTopology * top = &mesh.GetTopology(); +- int npoints = mesh.GetNP(); +- int nelements = mesh.GetNE(); +- int nsurfelem = mesh.GetNSE(); +- int nedges = top->GetNEdges(); +- int i, j; +- +- int inverttets = mparam.inverttets; +- int invertsurf = mparam.inverttrigs; +- Array edges; +- +- ofstream outfile (filename.c_str()); +- +- outfile.precision(6); +- outfile.setf (ios::fixed, ios::floatfield); +- outfile.setf (ios::showpoint); +- +- +- // vertices with coordinates +- outfile << npoints << "\n"; +- for (i = 1; i <= npoints; i++) +- { +- const Point3d & p = mesh.Point(i); +- +- outfile.width(10); +- outfile << p.X() << " "; +- outfile.width(9); +- outfile << p.Y() << " "; +- outfile.width(9); +- outfile << p.Z() << "\n"; +- } +- +- // element - edge - list +- outfile << nelements << " " << nedges << "\n"; +- for (i = 1; i <= nelements; i++) +- { +- Element el = mesh.VolumeElement(i); +- if (inverttets) +- el.Invert(); +- outfile.width(4); +- outfile << el.GetIndex() << " "; +- outfile.width(8); +- outfile << el.GetNP(); +- for (j = 1; j <= el.GetNP(); j++) +- { +- outfile << " "; +- outfile.width(8); +- outfile << el.PNum(j); +- } +- +- top->GetElementEdges(i,edges); +- outfile << endl << " "; +- outfile.width(8); +- outfile << edges.Size(); +- for (j=1; j <= edges.Size(); j++) +- { +- outfile << " "; +- outfile.width(8); +- outfile << edges[j-1]; +- } +- outfile << "\n"; +- +- // orientation: +- top->GetElementEdgeOrientations(i,edges); +- outfile << " "; +- for (j=1; j <= edges.Size(); j++) +- { +- outfile << " "; +- outfile.width(8); +- outfile << edges[j-1]; +- } +- outfile << "\n"; +- } +- +- // surface element - edge - list (with boundary conditions) +- outfile << nsurfelem << "\n"; +- for (i = 1; i <= nsurfelem; i++) +- { +- Element2d el = mesh.SurfaceElement(i); +- if (invertsurf) +- el.Invert(); +- outfile.width(4); +- outfile << mesh.GetFaceDescriptor (el.GetIndex()).BCProperty() << " "; +- outfile.width(8); +- outfile << el.GetNP(); +- for (j = 1; j <= el.GetNP(); j++) +- { +- outfile << " "; +- outfile.width(8); +- outfile << el.PNum(j); +- } +- +- top->GetSurfaceElementEdges(i,edges); +- outfile << endl << " "; +- outfile.width(8); +- outfile << edges.Size(); +- for (j=1; j <= edges.Size(); j++) +- { +- outfile << " "; +- outfile.width(8); +- outfile << edges[j-1]; +- } +- outfile << "\n"; +- } +- +- +- int v1, v2; +- // edge - vertex - list +- outfile << nedges << "\n"; +- for (i=1; i <= nedges; i++) +- { +- top->GetEdgeVertices(i,v1,v2); +- outfile.width(4); +- outfile << v1; +- outfile << " "; +- outfile.width(8); +- outfile << v2 << endl; +- } +-} +- +- +- +- +- +- +- +- +- +-#ifdef OLDSTYLE_WRITE +- +- +-void WriteFile (int typ, +- const Mesh & mesh, +- const CSGeometry & geom, +- const char * filename, +- const char * geomfile, +- double h) +-{ +- +- +- int inverttets = mparam.inverttets; +- int invertsurf = mparam.inverttrigs; +- +- +- +- +- +- +- +- +- if (typ == WRITE_EDGEELEMENT) +- { +- // write edge element file +- // Peter Harscher, ETHZ +- +- cout << "Write Edge-Element Format" << endl; +- +- ofstream outfile (filename); +- +- int i, j; +- int ned; +- +- // hash table representing edges; +- INDEX_2_HASHTABLE edgeht(mesh.GetNP()); +- +- // list of edges +- Array edgelist; +- +- // edge (point) on boundary ? +- BitArray bedge, bpoint(mesh.GetNP()); +- +- static int eledges[6][2] = { { 1, 2 } , { 1, 3 } , { 1, 4 }, +- { 2, 3 } , { 2, 4 } , { 3, 4 } }; +- +- // fill hashtable (point1, point2) ----> edgenr +- for (i = 1; i <= mesh.GetNE(); i++) +- { +- const Element & el = mesh.VolumeElement (i); +- INDEX_2 edge; +- for (j = 1; j <= 6; j++) +- { +- edge.I1() = el.PNum (eledges[j-1][0]); +- edge.I2() = el.PNum (eledges[j-1][1]); +- edge.Sort(); +- +- if (!edgeht.Used (edge)) +- { +- edgelist.Append (edge); +- edgeht.Set (edge, edgelist.Size()); +- } +- } +- } +- +- +- // set bedges, bpoints +- bedge.SetSize (edgelist.Size()); +- bedge.Clear(); +- bpoint.Clear(); +- +- for (i = 1; i <= mesh.GetNSE(); i++) +- { +- const Element2d & sel = mesh.SurfaceElement(i); +- for (j = 1; j <= 3; j++) +- { +- bpoint.Set (sel.PNum(j)); +- +- INDEX_2 edge; +- edge.I1() = sel.PNum(j); +- edge.I2() = sel.PNum(j%3+1); +- edge.Sort(); +- +- bedge.Set (edgeht.Get (edge)); +- } +- } +- +- +- +- outfile << mesh.GetNE() << endl; +- // write element ---> point +- for (i = 1; i <= mesh.GetNE(); i++) +- { +- const Element & el = mesh.VolumeElement(i); +- +- outfile.width(8); +- outfile << i; +- for (j = 1; j <= 4; j++) +- { +- outfile.width(8); +- outfile << el.PNum(j); +- } +- outfile << endl; +- } +- +- // write element ---> edge +- for (i = 1; i <= mesh.GetNE(); i++) +- { +- const Element & el = mesh.VolumeElement (i); +- INDEX_2 edge; +- for (j = 1; j <= 6; j++) +- { +- edge.I1() = el.PNum (eledges[j-1][0]); +- edge.I2() = el.PNum (eledges[j-1][1]); +- edge.Sort(); +- +- outfile.width(8); +- outfile << edgeht.Get (edge); +- } +- outfile << endl; +- } +- +- // write points +- outfile << mesh.GetNP() << endl; +- outfile.precision (6); +- for (i = 1; i <= mesh.GetNP(); i++) +- { +- const Point3d & p = mesh.Point(i); +- +- for (j = 1; j <= 3; j++) +- { +- outfile.width(8); +- outfile << p.X(j); +- } +- outfile << " " +- << (bpoint.Test(i) ? "1" : 0) << endl; +- } +- +- // write edges +- outfile << edgelist.Size() << endl; +- for (i = 1; i <= edgelist.Size(); i++) +- { +- outfile.width(8); +- outfile << edgelist.Get(i).I1(); +- outfile.width(8); +- outfile << edgelist.Get(i).I2(); +- outfile << " " +- << (bedge.Test(i) ? "1" : "0") << endl; +- } +- } +- +- +- +- +-} +-#endif +-} +- ++// ++// Write user dependent output file ++// ++ ++#include ++ ++#include ++#include ++#include ++#include ++#include ++ ++namespace netgen ++{ ++#include "writeuser.hpp" ++ ++ ++ void RegisterUserFormats (Array & names, ++ Array & extensions) ++ ++{ ++ const char *types[] = ++ { ++ "Neutral Format", ".mesh", ++ "Surface Mesh Format", ".mesh" , ++ "DIFFPACK Format", ".mesh", ++ "TecPlot Format", ".mesh", ++ "Tochnog Format", ".mesh", ++ "Abaqus Format", ".mesh", ++ "Fluent Format", ".mesh", ++ "Permas Format", ".mesh", ++ "FEAP Format", ".mesh", ++ "Elmer Format", "*", ++ "STL Format", ".stl", ++ "STL Extended Format", ".stl", ++ "VRML Format", ".*", ++ "Gmsh Format", ".gmsh", ++ "Gmsh2 Format", ".gmsh2", ++ "OpenFOAM 1.5+ Format", "*", ++ "OpenFOAM 1.5+ Compressed", "*", ++ "JCMwave Format", ".jcm", ++ "TET Format", ".tet", ++ // { "Chemnitz Format" }, ++ 0 ++ }; ++ ++ for (int i = 0; types[2*i]; i++) ++ { ++ names.Append (types[2*i]); ++ extensions.Append (types[2*i+1]); ++ } ++} ++ ++ ++ ++bool WriteUserFormat (const string & format, ++ const Mesh & mesh, ++ const NetgenGeometry & hgeom, ++ const string & filename) ++{ ++ const CSGeometry & geom = *dynamic_cast (&hgeom); ++ ++ PrintMessage (1, "Export mesh to file ", filename, ++ ", format is ", format); ++ ++ if (format == "Neutral Format") ++ WriteNeutralFormat (mesh, geom, filename); ++ ++ else if (format == "Surface Mesh Format") ++ WriteSurfaceFormat (mesh, filename); ++ ++ else if (format == "DIFFPACK Format") ++ WriteDiffPackFormat (mesh, geom, filename); ++ ++ else if (format == "Tochnog Format") ++ WriteTochnogFormat (mesh, filename); ++ ++ else if (format == "TecPlot Format") ++ cerr << "ERROR: TecPlot format currently out of order" << endl; ++ // WriteTecPlotFormat (mesh, geom, filename); ++ ++ else if (format == "Abaqus Format") ++ WriteAbaqusFormat (mesh, filename); ++ ++ else if (format == "Fluent Format") ++ WriteFluentFormat (mesh, filename); ++ ++ else if (format == "Permas Format") ++ WritePermasFormat (mesh, filename); ++ ++ else if (format == "FEAP Format") ++ WriteFEAPFormat (mesh, filename); ++ ++ else if (format == "Elmer Format") ++ WriteElmerFormat (mesh, filename); ++ ++ else if (format == "STL Format") ++ WriteSTLFormat (mesh, filename); ++ ++ // Philippose - 16 August 2010 ++ // Added additional STL Export in which ++ // each face of the geometry is treated ++ // as a separate "solid" entity ++ else if (format == "STL Extended Format") ++ WriteSTLExtFormat (mesh, filename); ++ ++ else if (format == "VRML Format") ++ WriteVRMLFormat (mesh, 1, filename); ++ ++ else if (format == "Fepp Format") ++ WriteFEPPFormat (mesh, geom, filename); ++ ++ else if (format == "EdgeElement Format") ++ WriteEdgeElementFormat (mesh, geom, filename); ++ ++ else if (format == "Chemnitz Format") ++ WriteUserChemnitz (mesh, filename); ++ ++ else if (format == "Gmsh Format") ++ WriteGmshFormat (mesh, geom, filename); ++ ++ // Philippose - 29/01/2009 ++ // Added Gmsh v2.xx Mesh export capability ++ else if (format == "Gmsh2 Format") ++ WriteGmsh2Format (mesh, geom, filename); ++ ++ // Philippose - 25/10/2009 ++ // Added OpenFOAM 1.5+ Mesh export capability ++ else if (format == "OpenFOAM 1.5+ Format") ++ WriteOpenFOAM15xFormat (mesh, filename, false); ++ ++ else if (format == "OpenFOAM 1.5+ Compressed") ++ WriteOpenFOAM15xFormat (mesh, filename, true); ++ ++ else if (format == "JCMwave Format") ++ WriteJCMFormat (mesh, geom, filename); ++ ++#ifdef OLIVER ++ else if (format == "TET Format") ++ WriteTETFormat( mesh, filename);//, "High Frequency" ); ++#endif ++ ++ else ++ { ++ return 1; ++ } ++ ++ return 0; ++} ++ ++ ++ ++ ++/* ++ * Neutral mesh format ++ * points, elements, surface elements ++ */ ++ ++void WriteNeutralFormat (const Mesh & mesh, ++ const CSGeometry & geom, ++ const string & filename) ++{ ++ cout << "write neutral, new" << endl; ++ int np = mesh.GetNP(); ++ int ne = mesh.GetNE(); ++ int nse = mesh.GetNSE(); ++ int nseg = mesh.GetNSeg(); ++ int i, j; ++ ++ int inverttets = mparam.inverttets; ++ int invertsurf = mparam.inverttrigs; ++ ++ ofstream outfile (filename.c_str()); ++ ++ outfile.precision(6); ++ outfile.setf (ios::fixed, ios::floatfield); ++ outfile.setf (ios::showpoint); ++ ++ outfile << np << "\n"; ++ ++ for (i = 1; i <= np; i++) ++ { ++ const Point3d & p = mesh.Point(i); ++ ++ outfile.width(10); ++ outfile << p.X() << " "; ++ outfile.width(9); ++ outfile << p.Y() << " "; ++ if (mesh.GetDimension() == 3) ++ { ++ outfile.width(9); ++ outfile << p.Z(); ++ } ++ outfile << "\n"; ++ } ++ ++ if (mesh.GetDimension() == 3) ++ { ++ outfile << ne << "\n"; ++ for (i = 1; i <= ne; i++) ++ { ++ Element el = mesh.VolumeElement(i); ++ if (inverttets) ++ el.Invert(); ++ outfile.width(4); ++ outfile << el.GetIndex() << " "; ++ for (j = 1; j <= el.GetNP(); j++) ++ { ++ outfile << " "; ++ outfile.width(8); ++ outfile << el.PNum(j); ++ } ++ outfile << "\n"; ++ } ++ } ++ ++ outfile << nse << "\n"; ++ for (i = 1; i <= nse; i++) ++ { ++ Element2d el = mesh.SurfaceElement(i); ++ if (invertsurf) ++ el.Invert(); ++ outfile.width(4); ++ outfile << mesh.GetFaceDescriptor (el.GetIndex()).BCProperty() << " "; ++ for (j = 1; j <= el.GetNP(); j++) ++ { ++ outfile << " "; ++ outfile.width(8); ++ outfile << el.PNum(j); ++ } ++ outfile << "\n"; ++ } ++ ++ ++ if (mesh.GetDimension() == 2) ++ { ++ outfile << nseg << "\n"; ++ for (i = 1; i <= nseg; i++) ++ { ++ const Segment & seg = mesh.LineSegment(i); ++ outfile.width(4); ++ outfile << seg.si << " "; ++ ++ outfile << " "; ++ outfile.width(8); ++ outfile << seg[0]; ++ outfile << " "; ++ outfile.width(8); ++ outfile << seg[1]; ++ ++ outfile << "\n"; ++ } ++ } ++} ++ ++ ++ ++ ++ ++ ++ ++ ++ ++void WriteSurfaceFormat (const Mesh & mesh, ++ const string & filename) ++{ ++ // surface mesh ++ int i, j; ++ ++ cout << "Write Surface Mesh" << endl; ++ ++ ofstream outfile (filename.c_str()); ++ ++ outfile << "surfacemesh" << endl; ++ ++ outfile << mesh.GetNP() << endl; ++ for (i = 1; i <= mesh.GetNP(); i++) ++ { ++ for (j = 0; j < 3; j++) ++ { ++ outfile.width(10); ++ outfile << mesh.Point(i)(j) << " "; ++ } ++ outfile << endl; ++ } ++ outfile << mesh.GetNSE() << endl; ++ for (i = 1; i <= mesh.GetNSE(); i++) ++ { ++ for (j = 1; j <= 3; j++) ++ { ++ outfile.width(8); ++ outfile << mesh.SurfaceElement(i).PNum(j); ++ } ++ outfile << endl; ++ } ++} ++ ++ ++ ++ ++ ++/* ++ * save surface mesh as STL file ++ */ ++ ++void WriteSTLFormat (const Mesh & mesh, ++ const string & filename) ++{ ++ cout << "\nWrite STL Surface Mesh" << endl; ++ ++ ostream *outfile; ++ ++ if(filename.substr(filename.length()-3,3) == ".gz") ++ outfile = new ogzstream(filename.c_str()); ++ else ++ outfile = new ofstream(filename.c_str()); ++ ++ int i; ++ ++ outfile->precision(10); ++ ++ *outfile << "solid" << endl; ++ ++ for (i = 1; i <= mesh.GetNSE(); i++) ++ { ++ *outfile << "facet normal "; ++ const Point3d& p1 = mesh.Point(mesh.SurfaceElement(i).PNum(1)); ++ const Point3d& p2 = mesh.Point(mesh.SurfaceElement(i).PNum(2)); ++ const Point3d& p3 = mesh.Point(mesh.SurfaceElement(i).PNum(3)); ++ ++ Vec3d normal = Cross(p2-p1,p3-p1); ++ if (normal.Length() != 0) ++ { ++ normal /= (normal.Length()); ++ } ++ ++ *outfile << normal.X() << " " << normal.Y() << " " << normal.Z() << "\n"; ++ *outfile << "outer loop\n"; ++ ++ *outfile << "vertex " << p1.X() << " " << p1.Y() << " " << p1.Z() << "\n"; ++ *outfile << "vertex " << p2.X() << " " << p2.Y() << " " << p2.Z() << "\n"; ++ *outfile << "vertex " << p3.X() << " " << p3.Y() << " " << p3.Z() << "\n"; ++ ++ *outfile << "endloop\n"; ++ *outfile << "endfacet\n"; ++ } ++ *outfile << "endsolid" << endl; ++} ++ ++ ++ ++ ++ ++/* ++ * Philippose - 16 August 2010 ++ * Save surface mesh as STL file ++ * with a separate solid definition ++ * for each face ++ * - This helps in splitting up the ++ * STL into named boundary faces ++ * when using a third-party mesher ++ */ ++void WriteSTLExtFormat (const Mesh & mesh, ++ const string & filename) ++{ ++ cout << "\nWrite STL Surface Mesh (with separated boundary faces)" << endl; ++ ++ ostream *outfile; ++ ++ if(filename.substr(filename.length()-3,3) == ".gz") ++ outfile = new ogzstream(filename.c_str()); ++ else ++ outfile = new ofstream(filename.c_str()); ++ ++ outfile->precision(10); ++ ++ int numBCs = 0; ++ ++ Array faceBCs; ++ TABLE faceBCMapping; ++ ++ faceBCs.SetSize(mesh.GetNFD()); ++ faceBCMapping.SetSize(mesh.GetNFD()); ++ ++ faceBCs = -1; ++ ++ // Collect the BC numbers used in the mesh ++ for(int faceNr = 1; faceNr <= mesh.GetNFD(); faceNr++) ++ { ++ int bcNum = mesh.GetFaceDescriptor(faceNr).BCProperty(); ++ ++ if(faceBCs.Pos(bcNum) < 0) ++ { ++ numBCs++; ++ faceBCs.Set(numBCs,bcNum); ++ faceBCMapping.Add1(numBCs,faceNr); ++ } ++ else ++ { ++ faceBCMapping.Add1(faceBCs.Pos(bcNum)+1,faceNr); ++ } ++ } ++ ++ faceBCs.SetSize(numBCs); ++ faceBCMapping.ChangeSize(numBCs); ++ ++ // Now actually write the data to file ++ for(int bcInd = 1; bcInd <= faceBCs.Size(); bcInd++) ++ { ++ *outfile << "solid Boundary_" << faceBCs.Elem(bcInd) << "\n"; ++ ++ for(int faceNr = 1;faceNr <= faceBCMapping.EntrySize(bcInd); faceNr++) ++ { ++ Array faceSei; ++ mesh.GetSurfaceElementsOfFace(faceBCMapping.Get(bcInd,faceNr),faceSei); ++ ++ for (int i = 0; i < faceSei.Size(); i++) ++ { ++ *outfile << "facet normal "; ++ const Point3d& p1 = mesh.Point(mesh.SurfaceElement(faceSei[i]).PNum(1)); ++ const Point3d& p2 = mesh.Point(mesh.SurfaceElement(faceSei[i]).PNum(2)); ++ const Point3d& p3 = mesh.Point(mesh.SurfaceElement(faceSei[i]).PNum(3)); ++ ++ Vec3d normal = Cross(p2-p1,p3-p1); ++ if (normal.Length() != 0) ++ { ++ normal /= (normal.Length()); ++ } ++ ++ *outfile << normal.X() << " " << normal.Y() << " " << normal.Z() << "\n"; ++ *outfile << "outer loop\n"; ++ ++ *outfile << "vertex " << p1.X() << " " << p1.Y() << " " << p1.Z() << "\n"; ++ *outfile << "vertex " << p2.X() << " " << p2.Y() << " " << p2.Z() << "\n"; ++ *outfile << "vertex " << p3.X() << " " << p3.Y() << " " << p3.Z() << "\n"; ++ ++ *outfile << "endloop\n"; ++ *outfile << "endfacet\n"; ++ } ++ } ++ *outfile << "endsolid Boundary_" << faceBCs.Elem(bcInd) << "\n"; ++ } ++} ++ ++ ++ ++ ++/* ++ * ++ * write surface mesh as VRML file ++ * ++ */ ++ ++void WriteVRMLFormat (const Mesh & mesh, ++ bool faces, ++ const string & filename) ++{ ++ ++ if (faces) ++ ++ { ++ // Output in VRML, IndexedFaceSet is used ++ // Bartosz Sawicki ++ ++ int np = mesh.GetNP(); ++ int nse = mesh.GetNSE(); ++ int i, j; ++ ++ ofstream outfile (filename.c_str()); ++ ++ outfile.precision(6); ++ outfile.setf (ios::fixed, ios::floatfield); ++ outfile.setf (ios::showpoint); ++ ++ outfile << "#VRML V2.0 utf8 \n" ++ "Background {\n" ++ " skyColor [1 1 1]\n" ++ " groundColor [1 1 1]\n" ++ "}\n" ++ "Group{ children [\n" ++ "Shape{ \n" ++ "appearance Appearance { material Material { }} \n" ++ "geometry IndexedFaceSet { \n" ++ "coord Coordinate { point [ \n"; ++ ++ ++ for (i = 1; i <= np; i++) ++ { ++ const Point3d & p = mesh.Point(i); ++ outfile.width(10); ++ outfile << p.X() << " "; ++ outfile << p.Y() << " "; ++ outfile << p.Z() << " \n"; ++ } ++ ++ outfile << " ] } \n" ++ "coordIndex [ \n"; ++ ++ for (i = 1; i <= nse; i++) ++ { ++ const Element2d & el = mesh.SurfaceElement(i); ++ ++ for (j = 1; j <= 3; j++) ++ { ++ outfile.width(8); ++ outfile << el.PNum(j)-1; ++ } ++ outfile << " -1 \n"; ++ } ++ ++ outfile << " ] \n"; ++ ++ //define number and RGB definitions of colors ++ outfile << "color Color { color [1 0 0, 0 1 0, 0 0 1, 1 1 0]} \n" ++ "colorIndex [\n"; ++ ++ for (i = 1; i <= nse; i++) ++ { ++ outfile << mesh.GetFaceDescriptor(mesh.SurfaceElement(i).GetIndex ()).BCProperty(); ++ outfile << endl; ++ } ++ ++ outfile << " ] \n" ++ "colorPerVertex FALSE \n" ++ "creaseAngle 0 \n" ++ "solid FALSE \n" ++ "ccw FALSE \n" ++ "convex TRUE \n" ++ "} } # end of Shape\n" ++ "] }\n"; ++ ++ } /* end of VRMLFACES */ ++ ++ ++ else ++ ++ { ++ // Output in VRML, IndexedLineSet is used ++ // Bartosz Sawicki ++ ++ int np = mesh.GetNP(); ++ int nse = mesh.GetNSE(); ++ int i, j; ++ ++ ofstream outfile (filename.c_str()); ++ ++ outfile.precision(6); ++ outfile.setf (ios::fixed, ios::floatfield); ++ outfile.setf (ios::showpoint); ++ ++ outfile << "#VRML V2.0 utf8 \n" ++ "Background {\n" ++ " skyColor [1 1 1]\n" ++ " groundColor [1 1 1]\n" ++ "}\n" ++ "Group{ children [\n" ++ "Shape{ \n" ++ "appearance Appearance { material Material { }} \n" ++ "geometry IndexedLineSet { \n" ++ "coord Coordinate { point [ \n"; ++ ++ ++ for (i = 1; i <= np; i++) ++ { ++ const Point3d & p = mesh.Point(i); ++ outfile.width(10); ++ outfile << p.X() << " "; ++ outfile << p.Y() << " "; ++ outfile << p.Z() << " \n"; ++ } ++ ++ outfile << " ] } \n" ++ "coordIndex [ \n"; ++ ++ for (i = 1; i <= nse; i++) ++ { ++ const Element2d & el = mesh.SurfaceElement(i); ++ ++ for (j = 1; j <= 3; j++) ++ { ++ outfile.width(8); ++ outfile << el.PNum(j)-1; ++ } ++ outfile.width(8); ++ outfile << el.PNum(1)-1; ++ outfile << " -1 \n"; ++ } ++ ++ outfile << " ] \n"; ++ ++/* Uncomment if you want color mesh ++ outfile << "color Color { color [1 1 1, 0 1 0, 0 0 1, 1 1 0]} \n" ++ "colorIndex [\n"; ++ ++ for (i = 1; i <= nse; i++) ++ { ++ outfile << mesh.GetFaceDescriptor(mesh.SurfaceElement(i).GetIndex ()).BCProperty(); ++ outfile << endl; ++ } ++ ++ outfile << " ] \n" ++*/ ++ outfile << "colorPerVertex FALSE \n" ++ "} } #end of Shape\n" ++ "] } \n"; ++ ++ } ++ ++} ++ ++ ++ ++ ++ ++ ++/* ++ * FEPP .. a finite element package developed at University Linz, Austria ++ */ ++void WriteFEPPFormat (const Mesh & mesh, ++ const CSGeometry & geom, ++ const string & filename) ++{ ++ ++ ofstream outfile (filename.c_str()); ++ ++ if (mesh.GetDimension() == 3) ++ ++ { ++ ++ // output for FEPP ++ ++ int np = mesh.GetNP(); ++ int ne = mesh.GetNE(); ++ int nse = mesh.GetNSE(); ++ int ns = mesh.GetNFD(); ++ int i, j; ++ ++ outfile.precision(5); ++ outfile.setf (ios::fixed, ios::floatfield); ++ outfile.setf (ios::showpoint); ++ ++ outfile << "volumemesh4" << endl; ++ outfile << nse << endl; ++ for (i = 1; i <= nse; i++) ++ { ++ const Element2d & el = mesh.SurfaceElement(i); ++ ++ // int facenr = mesh.facedecoding.Get(el.GetIndex()).surfnr; ++ outfile.width(4); ++ outfile << el.GetIndex() << " "; ++ outfile.width(4); ++ // outfile << mesh.GetFaceDescriptor(el.GetIndex()).BCProperty() << " "; ++ outfile << mesh.GetFaceDescriptor(el.GetIndex()).BCProperty() << " "; ++ outfile.width(4); ++ outfile << el.GetNP() << " "; ++ for (j = 1; j <= el.GetNP(); j++) ++ { ++ outfile.width(8); ++ outfile << el.PNum(j); ++ } ++ outfile << "\n"; ++ } ++ ++ ++ outfile << ne << "\n"; ++ for (i = 1; i <= ne; i++) ++ { ++ const Element & el = mesh.VolumeElement(i); ++ outfile.width(4); ++ outfile << el.GetIndex() << " "; ++ outfile.width(4); ++ outfile << el.GetNP() << " "; ++ for (j = 1; j <= el.GetNP(); j++) ++ { ++ outfile.width(8); ++ outfile << el.PNum(j); ++ } ++ outfile << "\n"; ++ } ++ ++ outfile << np << "\n"; ++ for (i = 1; i <= np; i++) ++ { ++ const Point3d & p = mesh.Point(i); ++ ++ outfile.width(10); ++ outfile << p.X() << " "; ++ outfile.width(9); ++ outfile << p.Y() << " "; ++ outfile.width(9); ++ outfile << p.Z() << "\n"; ++ } ++ ++ /* ++ if (typ == WRITE_FEPPML) ++ { ++ int nbn = mesh.mlbetweennodes.Size(); ++ outfile << nbn << "\n"; ++ for (i = 1; i <= nbn; i++) ++ outfile << mesh.mlbetweennodes.Get(i).I1() << " " ++ << mesh.mlbetweennodes.Get(i).I2() << "\n"; ++ ++ ++ // int ncon = mesh.connectedtonode.Size(); ++ // outfile << ncon << "\n"; ++ // for (i = 1; i <= ncon; i++) ++ // outfile << i << " " << mesh.connectedtonode.Get(i) << endl; ++ } ++ */ ++ ++ ++ // write CSG surfaces ++ if (&geom && geom.GetNSurf() >= ns) ++ { ++ outfile << ns << endl; ++ for (i = 1; i <= ns; i++) ++ geom.GetSurface(mesh.GetFaceDescriptor(i).SurfNr())->Print(outfile); ++ } ++ else ++ outfile << "0" << endl; ++ } ++ ++ ++ else ++ ++ { // 2D fepp format ++ ++ ; ++ /* ++ extern SplineGeometry2d * geometry2d; ++ if (geometry2d) ++ Save2DMesh (mesh, &geometry2d->GetSplines(), outfile); ++ else ++ Save2DMesh (mesh, 0, outfile); ++ */ ++ } ++} ++ ++ ++ ++ ++ ++ ++/* ++ * Edge element mesh format ++ * points, elements, edges ++ */ ++ ++void WriteEdgeElementFormat (const Mesh & mesh, ++ const CSGeometry & geom, ++ const string & filename) ++{ ++ cout << "write edge element format" << endl; ++ ++ const MeshTopology * top = &mesh.GetTopology(); ++ int npoints = mesh.GetNP(); ++ int nelements = mesh.GetNE(); ++ int nsurfelem = mesh.GetNSE(); ++ int nedges = top->GetNEdges(); ++ int i, j; ++ ++ int inverttets = mparam.inverttets; ++ int invertsurf = mparam.inverttrigs; ++ Array edges; ++ ++ ofstream outfile (filename.c_str()); ++ ++ outfile.precision(6); ++ outfile.setf (ios::fixed, ios::floatfield); ++ outfile.setf (ios::showpoint); ++ ++ ++ // vertices with coordinates ++ outfile << npoints << "\n"; ++ for (i = 1; i <= npoints; i++) ++ { ++ const Point3d & p = mesh.Point(i); ++ ++ outfile.width(10); ++ outfile << p.X() << " "; ++ outfile.width(9); ++ outfile << p.Y() << " "; ++ outfile.width(9); ++ outfile << p.Z() << "\n"; ++ } ++ ++ // element - edge - list ++ outfile << nelements << " " << nedges << "\n"; ++ for (i = 1; i <= nelements; i++) ++ { ++ Element el = mesh.VolumeElement(i); ++ if (inverttets) ++ el.Invert(); ++ outfile.width(4); ++ outfile << el.GetIndex() << " "; ++ outfile.width(8); ++ outfile << el.GetNP(); ++ for (j = 1; j <= el.GetNP(); j++) ++ { ++ outfile << " "; ++ outfile.width(8); ++ outfile << el.PNum(j); ++ } ++ ++ top->GetElementEdges(i,edges); ++ outfile << endl << " "; ++ outfile.width(8); ++ outfile << edges.Size(); ++ for (j=1; j <= edges.Size(); j++) ++ { ++ outfile << " "; ++ outfile.width(8); ++ outfile << edges[j-1]; ++ } ++ outfile << "\n"; ++ ++ // orientation: ++ top->GetElementEdgeOrientations(i,edges); ++ outfile << " "; ++ for (j=1; j <= edges.Size(); j++) ++ { ++ outfile << " "; ++ outfile.width(8); ++ outfile << edges[j-1]; ++ } ++ outfile << "\n"; ++ } ++ ++ // surface element - edge - list (with boundary conditions) ++ outfile << nsurfelem << "\n"; ++ for (i = 1; i <= nsurfelem; i++) ++ { ++ Element2d el = mesh.SurfaceElement(i); ++ if (invertsurf) ++ el.Invert(); ++ outfile.width(4); ++ outfile << mesh.GetFaceDescriptor (el.GetIndex()).BCProperty() << " "; ++ outfile.width(8); ++ outfile << el.GetNP(); ++ for (j = 1; j <= el.GetNP(); j++) ++ { ++ outfile << " "; ++ outfile.width(8); ++ outfile << el.PNum(j); ++ } ++ ++ top->GetSurfaceElementEdges(i,edges); ++ outfile << endl << " "; ++ outfile.width(8); ++ outfile << edges.Size(); ++ for (j=1; j <= edges.Size(); j++) ++ { ++ outfile << " "; ++ outfile.width(8); ++ outfile << edges[j-1]; ++ } ++ outfile << "\n"; ++ } ++ ++ ++ int v1, v2; ++ // edge - vertex - list ++ outfile << nedges << "\n"; ++ for (i=1; i <= nedges; i++) ++ { ++ top->GetEdgeVertices(i,v1,v2); ++ outfile.width(4); ++ outfile << v1; ++ outfile << " "; ++ outfile.width(8); ++ outfile << v2 << endl; ++ } ++} ++ ++ ++ ++ ++ ++ ++ ++ ++ ++#ifdef OLDSTYLE_WRITE ++ ++ ++void WriteFile (int typ, ++ const Mesh & mesh, ++ const CSGeometry & geom, ++ const char * filename, ++ const char * geomfile, ++ double h) ++{ ++ ++ ++ int inverttets = mparam.inverttets; ++ int invertsurf = mparam.inverttrigs; ++ ++ ++ ++ ++ ++ ++ ++ ++ if (typ == WRITE_EDGEELEMENT) ++ { ++ // write edge element file ++ // Peter Harscher, ETHZ ++ ++ cout << "Write Edge-Element Format" << endl; ++ ++ ofstream outfile (filename); ++ ++ int i, j; ++ int ned; ++ ++ // hash table representing edges; ++ INDEX_2_HASHTABLE edgeht(mesh.GetNP()); ++ ++ // list of edges ++ Array edgelist; ++ ++ // edge (point) on boundary ? ++ BitArray bedge, bpoint(mesh.GetNP()); ++ ++ static int eledges[6][2] = { { 1, 2 } , { 1, 3 } , { 1, 4 }, ++ { 2, 3 } , { 2, 4 } , { 3, 4 } }; ++ ++ // fill hashtable (point1, point2) ----> edgenr ++ for (i = 1; i <= mesh.GetNE(); i++) ++ { ++ const Element & el = mesh.VolumeElement (i); ++ INDEX_2 edge; ++ for (j = 1; j <= 6; j++) ++ { ++ edge.I1() = el.PNum (eledges[j-1][0]); ++ edge.I2() = el.PNum (eledges[j-1][1]); ++ edge.Sort(); ++ ++ if (!edgeht.Used (edge)) ++ { ++ edgelist.Append (edge); ++ edgeht.Set (edge, edgelist.Size()); ++ } ++ } ++ } ++ ++ ++ // set bedges, bpoints ++ bedge.SetSize (edgelist.Size()); ++ bedge.Clear(); ++ bpoint.Clear(); ++ ++ for (i = 1; i <= mesh.GetNSE(); i++) ++ { ++ const Element2d & sel = mesh.SurfaceElement(i); ++ for (j = 1; j <= 3; j++) ++ { ++ bpoint.Set (sel.PNum(j)); ++ ++ INDEX_2 edge; ++ edge.I1() = sel.PNum(j); ++ edge.I2() = sel.PNum(j%3+1); ++ edge.Sort(); ++ ++ bedge.Set (edgeht.Get (edge)); ++ } ++ } ++ ++ ++ ++ outfile << mesh.GetNE() << endl; ++ // write element ---> point ++ for (i = 1; i <= mesh.GetNE(); i++) ++ { ++ const Element & el = mesh.VolumeElement(i); ++ ++ outfile.width(8); ++ outfile << i; ++ for (j = 1; j <= 4; j++) ++ { ++ outfile.width(8); ++ outfile << el.PNum(j); ++ } ++ outfile << endl; ++ } ++ ++ // write element ---> edge ++ for (i = 1; i <= mesh.GetNE(); i++) ++ { ++ const Element & el = mesh.VolumeElement (i); ++ INDEX_2 edge; ++ for (j = 1; j <= 6; j++) ++ { ++ edge.I1() = el.PNum (eledges[j-1][0]); ++ edge.I2() = el.PNum (eledges[j-1][1]); ++ edge.Sort(); ++ ++ outfile.width(8); ++ outfile << edgeht.Get (edge); ++ } ++ outfile << endl; ++ } ++ ++ // write points ++ outfile << mesh.GetNP() << endl; ++ outfile.precision (6); ++ for (i = 1; i <= mesh.GetNP(); i++) ++ { ++ const Point3d & p = mesh.Point(i); ++ ++ for (j = 1; j <= 3; j++) ++ { ++ outfile.width(8); ++ outfile << p.X(j); ++ } ++ outfile << " " ++ << (bpoint.Test(i) ? "1" : 0) << endl; ++ } ++ ++ // write edges ++ outfile << edgelist.Size() << endl; ++ for (i = 1; i <= edgelist.Size(); i++) ++ { ++ outfile.width(8); ++ outfile << edgelist.Get(i).I1(); ++ outfile.width(8); ++ outfile << edgelist.Get(i).I2(); ++ outfile << " " ++ << (bedge.Test(i) ? "1" : "0") << endl; ++ } ++ } ++ ++ ++ ++ ++} ++#endif ++} ++ +diff -Naur netgen-5.3.1_SRC_orig/libsrc/interface/writeuser.hpp netgen-5.3.1_SRC_modif/libsrc/interface/writeuser.hpp +--- netgen-5.3.1_SRC_orig/libsrc/interface/writeuser.hpp 2014-08-29 13:54:02.000000000 +0400 ++++ netgen-5.3.1_SRC_modif/libsrc/interface/writeuser.hpp 2018-03-01 15:45:08.693877037 +0300 +@@ -1,166 +1,166 @@ +-#ifndef WRITEUSER +-#define WRITEUSER +- +-/**************************************************************************/ +-/* File: writeuser.hh */ +-/* Authors: many */ +-/* Date: 10. Dec. 97 */ +-/**************************************************************************/ +- +- +-extern +-void WriteFile (int typ, +- const Mesh & mesh, +- const CSGeometry & geom, +- const char * filename, +- const char * geomfile = NULL, +- double h = 0); +- +- +- +-extern +-void ReadFile (Mesh & mesh, +- const string & filename); +- +- +- +- +- +- +-extern +-void WriteNeutralFormat (const Mesh & mesh, +- const CSGeometry & geom, +- const string & filename); +- +-extern +-void WriteSurfaceFormat (const Mesh & mesh, +- const string & filename); +- +-extern +-void WriteSTLFormat (const Mesh & mesh, +- const string & filename); +- +- +-// Philippose - 16 August 2010 +-// Added the STL Extended format in which +-// each face of the geometry is treated as +-// a separate "solid" entity in the STL file +-extern +-void WriteSTLExtFormat (const Mesh & mesh, +- const string & filename); +- +- +-extern +-void WriteVRMLFormat (const Mesh & mesh, +- bool faces, +- const string & filename); +- +-extern +-void WriteFEPPFormat (const Mesh & mesh, +- const CSGeometry & geom, +- const string & filename); +- +-extern +-void WriteGmshFormat (const Mesh & mesh, +- const CSGeometry & geom, +- const string & filename); +- +- +-// Philippose - 29/01/2009 +-// Added GMSH v2.xx Mesh Export support +-void WriteGmsh2Format (const Mesh & mesh, +- const CSGeometry & geom, +- const string & filename); +- +- +-// Philippose - 25/10/2009 +-// Added OpenFOAM 1.5+ Mesh Export support +-extern +-void WriteOpenFOAM15xFormat (const Mesh & mesh, +- const string & casename, +- const bool compressed); +- +- +-extern +-void WriteUserChemnitz (const Mesh & mesh, +- const string & filename); +- +-extern +-void WriteJCMFormat (const Mesh & mesh, +- const CSGeometry & geom, +- const string & filename); +- +- +-extern +-void WriteDiffPackFormat (const Mesh & mesh, +- const CSGeometry & geom, +- const string & filename); +- +-extern +-void WriteTochnogFormat (const Mesh & mesh, +- const string & filename); +- +-extern +-void WriteTecPlotFormat (const Mesh & mesh, +- const CSGeometry & geom, +- const string & filename); +- +-extern +-void WriteAbaqusFormat (const Mesh & mesh, +- const string & filename); +- +-extern +-void WriteFluentFormat (const Mesh & mesh, +- const string & filename); +- +-extern +-void WritePermasFormat (const Mesh & mesh, +- const string & filename); +- +-extern +-void WriteFEAPFormat (const Mesh & mesh, +- const string & filename); +- +-extern +-void WriteElmerFormat (const Mesh & mesh, +- const string & filename); +- +- +-extern +-void WriteEdgeElementFormat (const Mesh & mesh, +- const CSGeometry & geom, +- const string & filename); +- +- +- +-#ifdef OLIVER +-extern +-void WriteTETFormat (const Mesh & mesh, +- const string & filename); +- +-#endif +- +-extern void ReadTETFormat (Mesh & mesh, +- const string & filename); +- +- +-extern void ReadFNFFormat (Mesh & mesh, +- const string & filename); +- +- +- +-void WriteDolfinFormat (const Mesh & mesh, +- const string & filename); +- +- +-extern void RegisterUserFormats (Array & names, +- Array & extensions); +- +- +-extern bool WriteUserFormat (const string & format, +- const Mesh & mesh, +- const NetgenGeometry & geom, +- const string & filename); +- +-#endif +- ++#ifndef WRITEUSER ++#define WRITEUSER ++ ++/**************************************************************************/ ++/* File: writeuser.hh */ ++/* Authors: many */ ++/* Date: 10. Dec. 97 */ ++/**************************************************************************/ ++ ++ ++extern ++void WriteFile (int typ, ++ const Mesh & mesh, ++ const CSGeometry & geom, ++ const char * filename, ++ const char * geomfile = NULL, ++ double h = 0); ++ ++ ++ ++extern ++void ReadFile (Mesh & mesh, ++ const string & filename); ++ ++ ++ ++ ++ ++ ++extern ++void WriteNeutralFormat (const Mesh & mesh, ++ const CSGeometry & geom, ++ const string & filename); ++ ++extern ++void WriteSurfaceFormat (const Mesh & mesh, ++ const string & filename); ++ ++extern ++void WriteSTLFormat (const Mesh & mesh, ++ const string & filename); ++ ++ ++// Philippose - 16 August 2010 ++// Added the STL Extended format in which ++// each face of the geometry is treated as ++// a separate "solid" entity in the STL file ++extern ++void WriteSTLExtFormat (const Mesh & mesh, ++ const string & filename); ++ ++ ++extern ++void WriteVRMLFormat (const Mesh & mesh, ++ bool faces, ++ const string & filename); ++ ++extern ++void WriteFEPPFormat (const Mesh & mesh, ++ const CSGeometry & geom, ++ const string & filename); ++ ++extern ++void WriteGmshFormat (const Mesh & mesh, ++ const CSGeometry & geom, ++ const string & filename); ++ ++ ++// Philippose - 29/01/2009 ++// Added GMSH v2.xx Mesh Export support ++void WriteGmsh2Format (const Mesh & mesh, ++ const CSGeometry & geom, ++ const string & filename); ++ ++ ++// Philippose - 25/10/2009 ++// Added OpenFOAM 1.5+ Mesh Export support ++extern ++void WriteOpenFOAM15xFormat (const Mesh & mesh, ++ const string & casename, ++ const bool compressed); ++ ++ ++extern ++void WriteUserChemnitz (const Mesh & mesh, ++ const string & filename); ++ ++extern ++void WriteJCMFormat (const Mesh & mesh, ++ const CSGeometry & geom, ++ const string & filename); ++ ++ ++extern ++void WriteDiffPackFormat (const Mesh & mesh, ++ const CSGeometry & geom, ++ const string & filename); ++ ++extern ++void WriteTochnogFormat (const Mesh & mesh, ++ const string & filename); ++ ++extern ++void WriteTecPlotFormat (const Mesh & mesh, ++ const CSGeometry & geom, ++ const string & filename); ++ ++extern ++void WriteAbaqusFormat (const Mesh & mesh, ++ const string & filename); ++ ++extern ++void WriteFluentFormat (const Mesh & mesh, ++ const string & filename); ++ ++extern ++void WritePermasFormat (const Mesh & mesh, ++ const string & filename); ++ ++extern ++void WriteFEAPFormat (const Mesh & mesh, ++ const string & filename); ++ ++extern ++void WriteElmerFormat (const Mesh & mesh, ++ const string & filename); ++ ++ ++extern ++void WriteEdgeElementFormat (const Mesh & mesh, ++ const CSGeometry & geom, ++ const string & filename); ++ ++ ++ ++#ifdef OLIVER ++extern ++void WriteTETFormat (const Mesh & mesh, ++ const string & filename); ++ ++#endif ++ ++extern void ReadTETFormat (Mesh & mesh, ++ const string & filename); ++ ++ ++extern void ReadFNFFormat (Mesh & mesh, ++ const string & filename); ++ ++ ++ ++void WriteDolfinFormat (const Mesh & mesh, ++ const string & filename); ++ ++ ++extern void RegisterUserFormats (Array & names, ++ Array & extensions); ++ ++ ++extern bool WriteUserFormat (const string & format, ++ const Mesh & mesh, ++ const NetgenGeometry & geom, ++ const string & filename); ++ ++#endif ++ +diff -Naur netgen-5.3.1_SRC_orig/libsrc/meshing/Makefile.am netgen-5.3.1_SRC_modif/libsrc/meshing/Makefile.am +--- netgen-5.3.1_SRC_orig/libsrc/meshing/Makefile.am 2014-08-29 13:54:05.000000000 +0400 ++++ netgen-5.3.1_SRC_modif/libsrc/meshing/Makefile.am 2018-03-01 15:41:03.991158254 +0300 +@@ -15,7 +15,7 @@ + + METASOURCES = AUTO + +-lib_LTLIBRARIES = libmesh.la ++noinst_LTLIBRARIES = libmesh.la + + libmesh_la_SOURCES = adfront2.cpp adfront3.cpp bisect.cpp boundarylayer.cpp \ + clusters.cpp curvedelems.cpp delaunay.cpp delaunay2d.cpp \ +@@ -30,8 +30,5 @@ + topology.cpp triarls.cpp validate.cpp zrefine.cpp bcfunctions.cpp \ + parallelmesh.cpp paralleltop.cpp paralleltop.hpp basegeom.cpp + +-libmesh_la_LIBADD = $(top_builddir)/libsrc/linalg/libla.la \ +- $(top_builddir)/libsrc/gprim/libgprim.la \ +- $(top_builddir)/libsrc/general/libgen.la \ +- -lz ++libmesh_la_LIBADD = -lz + +diff -Naur netgen-5.3.1_SRC_orig/libsrc/meshing/findip.hpp netgen-5.3.1_SRC_modif/libsrc/meshing/findip.hpp +--- netgen-5.3.1_SRC_orig/libsrc/meshing/findip.hpp 2014-08-29 13:54:05.000000000 +0400 ++++ netgen-5.3.1_SRC_modif/libsrc/meshing/findip.hpp 2018-03-01 15:41:03.991158254 +0300 +@@ -75,6 +75,9 @@ + static int timer = NgProfiler::CreateTimer ("FindInnerPoint"); + NgProfiler::RegionTimer reg (timer); + ++ if ( points.Size() < 3 ) ++ return 0; ++ + Array a; + Array c; + Mat<3> m, inv; +diff -Naur netgen-5.3.1_SRC_orig/libsrc/meshing/improve3.cpp netgen-5.3.1_SRC_modif/libsrc/meshing/improve3.cpp +--- netgen-5.3.1_SRC_orig/libsrc/meshing/improve3.cpp 2014-08-29 13:54:05.000000000 +0400 ++++ netgen-5.3.1_SRC_modif/libsrc/meshing/improve3.cpp 2018-03-01 15:41:03.991158254 +0300 +@@ -1219,6 +1219,7 @@ + + tetused = 0; + tetused[0] = 1; ++ int nbtetused = 0; + + for (int l = 2; l < nsuround; l++) + { +@@ -1239,10 +1240,12 @@ + + tetused[k] = 1; + suroundpts[l] = newpi; ++ ++nbtetused; + } + } + } +- ++ if ( nbtetused < nsuround ) ++ continue; + + bad1 = 0; + for (int k = 0; k < nsuround; k++) +diff -Naur netgen-5.3.1_SRC_orig/libsrc/meshing/meshtype.cpp netgen-5.3.1_SRC_modif/libsrc/meshing/meshtype.cpp +--- netgen-5.3.1_SRC_orig/libsrc/meshing/meshtype.cpp 2014-08-29 13:54:05.000000000 +0400 ++++ netgen-5.3.1_SRC_modif/libsrc/meshing/meshtype.cpp 2018-03-01 15:41:03.992158147 +0300 +@@ -1,4 +1,5 @@ + #include ++#include // to get DBL_MIN defined + + #include "meshing.hpp" + +@@ -666,7 +667,8 @@ + + double det = trans.Det(); + +- if (det <= 0) ++ // if (det <= 0) ++ if (det <= DBL_MIN) // avoid FPE + err += 1e12; + else + err += frob * frob / det; +@@ -722,7 +724,8 @@ + + double det = trans(0,0)*trans(1,1)-trans(1,0)*trans(0,1); + +- if (det <= 0) ++ // if (det <= 0) ++ if (det <= DBL_MIN) // avoid FPE + { + dd = 0; + return 1e12; +@@ -806,7 +809,8 @@ + = dtrans(0,0) * trans(1,1) - trans(0,1) * dtrans(1,0) + + trans(0,0) * dtrans(1,1) - dtrans(0,1) * trans(1,0); + +- if (det <= 0) ++ // if (det <= 0) ++ if (det <= DBL_MIN) // avoid FPE + err += 1e12; + else + { +@@ -856,7 +860,8 @@ + frob /= 2; + + double det = trans.Det(); +- if (det <= 0) ++ //if (det <= 0) ++ if (det <= DBL_MIN) // avoid FPE + err += 1e12; + else + err += frob * frob / det; +@@ -1864,7 +1869,8 @@ + case PYRAMID: + { + double noz = 1-p(2); +- if (noz == 0.0) noz = 1e-10; ++ //if (noz == 0.0) noz = 1e-10; ++ if (noz <= DBL_MIN) noz = 1e-10; // avoid FPE + + double xi = p(0) / noz; + double eta = p(1) / noz; +@@ -2030,7 +2036,8 @@ + + double det = -trans.Det(); + +- if (det <= 0) ++ //if (det <= 0) ++ if (det <= DBL_MIN) // avoid FPE + err += 1e12; + else + err += frob * frob * frob / det; +@@ -2102,7 +2109,8 @@ + ddet *= -1; + + +- if (det <= 0) ++ //if (det <= 0) ++ if (det <= DBL_MIN) // avoid FPE + err += 1e12; + else + { +@@ -2184,7 +2192,7 @@ + + det *= -1; + +- if (det <= 0) ++ if (det <= DBL_MIN) + err += 1e12; + else + { +diff -Naur netgen-5.3.1_SRC_orig/libsrc/meshing/meshtype.hpp netgen-5.3.1_SRC_modif/libsrc/meshing/meshtype.hpp +--- netgen-5.3.1_SRC_orig/libsrc/meshing/meshtype.hpp 2014-08-29 13:54:05.000000000 +0400 ++++ netgen-5.3.1_SRC_modif/libsrc/meshing/meshtype.hpp 2018-03-01 15:41:03.992158147 +0300 +@@ -15,6 +15,7 @@ + Classes for NETGEN + */ + ++class Mesh; // added due to compilation errors on some platforms + + + enum ELEMENT_TYPE { +@@ -360,7 +361,7 @@ + { + #ifdef DEBUG + if (typ != QUAD && typ != QUAD6 && typ != QUAD8) +- PrintSysError ("element2d::GetNV not implemented for typ", typ) ++ PrintSysError ("element2d::GetNV not implemented for typ", typ); + #endif + return 4; + } +@@ -618,7 +619,7 @@ + return 8; + default: + #ifdef DEBUG +- PrintSysError ("Element3d::GetNV not implemented for typ ", typ) ++ PrintSysError ("Element3d::GetNV not implemented for typ ", typ); + #endif + ; + } +@@ -682,7 +683,7 @@ + case PRISM12: return 5; + default: + #ifdef DEBUG +- PrintSysError ("element3d::GetNFaces not implemented for typ", typ) ++ PrintSysError ("element3d::GetNFaces not implemented for typ", typ); + #endif + ; + } +diff -Naur netgen-5.3.1_SRC_orig/libsrc/occ/Makefile.am netgen-5.3.1_SRC_modif/libsrc/occ/Makefile.am +--- netgen-5.3.1_SRC_orig/libsrc/occ/Makefile.am 2014-08-29 13:54:03.000000000 +0400 ++++ netgen-5.3.1_SRC_modif/libsrc/occ/Makefile.am 2018-03-01 15:41:03.993158039 +0300 +@@ -14,10 +14,10 @@ + + METASOURCES = AUTO + +-lib_LTLIBRARIES = libocc.la ++noinst_LTLIBRARIES = libocc.la + + if NGGUI +-lib_LTLIBRARIES += liboccvis.la ++lib_LTLIBRARIES = liboccvis.la + endif + + +diff -Naur netgen-5.3.1_SRC_orig/libsrc/occ/Partition_Inter2d.cxx netgen-5.3.1_SRC_modif/libsrc/occ/Partition_Inter2d.cxx +--- netgen-5.3.1_SRC_orig/libsrc/occ/Partition_Inter2d.cxx 2014-08-29 13:54:03.000000000 +0400 ++++ netgen-5.3.1_SRC_modif/libsrc/occ/Partition_Inter2d.cxx 2018-03-01 15:41:03.993158039 +0300 +@@ -47,9 +47,7 @@ + #include + #include + #include +-#include + #include +-#include + #include + #include + #include +diff -Naur netgen-5.3.1_SRC_orig/libsrc/occ/Partition_Inter2d.hxx netgen-5.3.1_SRC_modif/libsrc/occ/Partition_Inter2d.hxx +--- netgen-5.3.1_SRC_orig/libsrc/occ/Partition_Inter2d.hxx 2014-08-29 13:54:03.000000000 +0400 ++++ netgen-5.3.1_SRC_modif/libsrc/occ/Partition_Inter2d.hxx 2018-03-01 15:41:03.993158039 +0300 +@@ -27,7 +27,9 @@ + #ifndef _Partition_Inter2d_HeaderFile + #define _Partition_Inter2d_HeaderFile + +-#ifndef _Handle_BRepAlgo_AsDes_HeaderFile ++#include ++ ++#if OCC_VERSION_MAJOR < 7 + #include + #endif + #ifndef _Standard_Real_HeaderFile +@@ -36,11 +38,13 @@ + #ifndef _Standard_Boolean_HeaderFile + #include + #endif ++ ++#include ++#include ++ + class BRepAlgo_AsDes; + class TopoDS_Face; +-class TopTools_MapOfShape; + class TopoDS_Vertex; +-class TopTools_ListOfShape; + class TopoDS_Edge; + + +diff -Naur netgen-5.3.1_SRC_orig/libsrc/occ/Partition_Inter3d.cxx netgen-5.3.1_SRC_modif/libsrc/occ/Partition_Inter3d.cxx +--- netgen-5.3.1_SRC_orig/libsrc/occ/Partition_Inter3d.cxx 2014-08-29 13:54:03.000000000 +0400 ++++ netgen-5.3.1_SRC_modif/libsrc/occ/Partition_Inter3d.cxx 2018-03-01 15:41:03.993158039 +0300 +@@ -48,7 +48,6 @@ + #include + #include + #include +-#include + #include + #include + #include +@@ -206,7 +205,7 @@ + Handle (Geom_Surface) S = BRep_Tool::Surface(F,L); + + if (S->IsKind(STANDARD_TYPE(Geom_RectangularTrimmedSurface))) { +- S = (*(Handle_Geom_RectangularTrimmedSurface*)&S)->BasisSurface(); ++ S = Handle(Geom_RectangularTrimmedSurface)::DownCast (S)->BasisSurface(); + } + if (!S->IsUPeriodic() && !S->IsVPeriodic()) + return; +diff -Naur netgen-5.3.1_SRC_orig/libsrc/occ/Partition_Inter3d.hxx netgen-5.3.1_SRC_modif/libsrc/occ/Partition_Inter3d.hxx +--- netgen-5.3.1_SRC_orig/libsrc/occ/Partition_Inter3d.hxx 2014-08-29 13:54:03.000000000 +0400 ++++ netgen-5.3.1_SRC_modif/libsrc/occ/Partition_Inter3d.hxx 2018-03-01 15:41:03.993158039 +0300 +@@ -27,7 +27,9 @@ + #ifndef _Partition_Inter3d_HeaderFile + #define _Partition_Inter3d_HeaderFile + +-#ifndef _Handle_BRepAlgo_AsDes_HeaderFile ++#include ++ ++#if OCC_VERSION_MAJOR < 7 + #include + #endif + #ifndef _TopTools_DataMapOfShapeListOfShape_HeaderFile +@@ -36,6 +38,9 @@ + #ifndef _TopTools_MapOfShape_HeaderFile + #include + #endif ++#ifndef _TopTools_ListOfShape_HeaderFile ++#include ++#endif + #ifndef _TopTools_DataMapOfShapeShape_HeaderFile + #include + #endif +@@ -43,10 +48,7 @@ + #include + #endif + class BRepAlgo_AsDes; +-class TopTools_ListOfShape; +-class TopTools_DataMapOfShapeShape; + class TopoDS_Face; +-class TopTools_MapOfShape; + class TopoDS_Shape; + class TopoDS_Vertex; + class TopoDS_Edge; +@@ -83,13 +85,13 @@ + void FacesPartition(const TopoDS_Face& F1,const TopoDS_Face& F2) ; + Standard_Boolean IsDone(const TopoDS_Face& F1,const TopoDS_Face& F2) const; + TopTools_MapOfShape& TouchedFaces() ; +- Handle_BRepAlgo_AsDes AsDes() const; ++ Handle(BRepAlgo_AsDes) AsDes() const; + TopTools_MapOfShape& NewEdges() ; + Standard_Boolean HasSameDomainF(const TopoDS_Shape& F) const; + Standard_Boolean IsSameDomainF(const TopoDS_Shape& F1,const TopoDS_Shape& F2) const; + const TopTools_ListOfShape& SameDomain(const TopoDS_Face& F) const; + TopoDS_Vertex ReplaceSameDomainV(const TopoDS_Vertex& V,const TopoDS_Edge& E) const; +- Handle_BRepAlgo_AsDes SectionEdgesAD() const; ++ Handle(BRepAlgo_AsDes) SectionEdgesAD() const; + Standard_Boolean IsSectionEdge(const TopoDS_Edge& E) const; + Standard_Boolean HasSectionEdge(const TopoDS_Face& F) const; + Standard_Boolean IsSplitOn(const TopoDS_Edge& NewE,const TopoDS_Edge& OldE,const TopoDS_Face& F) const; +@@ -121,11 +123,11 @@ + + // Fields PRIVATE + // +- Handle_BRepAlgo_AsDes myAsDes; ++ Handle(BRepAlgo_AsDes) myAsDes; + TopTools_DataMapOfShapeListOfShape myDone; + TopTools_MapOfShape myTouched; + TopTools_MapOfShape myNewEdges; +- Handle_BRepAlgo_AsDes mySectionEdgesAD; ++ Handle(BRepAlgo_AsDes) mySectionEdgesAD; + TopTools_DataMapOfShapeListOfShape mySameDomainFM; + TopTools_DataMapOfShapeShape mySameDomainVM; + +diff -Naur netgen-5.3.1_SRC_orig/libsrc/occ/Partition_Loop.hxx netgen-5.3.1_SRC_modif/libsrc/occ/Partition_Loop.hxx +--- netgen-5.3.1_SRC_orig/libsrc/occ/Partition_Loop.hxx 2014-08-29 13:54:03.000000000 +0400 ++++ netgen-5.3.1_SRC_modif/libsrc/occ/Partition_Loop.hxx 2018-03-01 15:41:03.994157932 +0300 +@@ -38,8 +38,6 @@ + #endif + class TopoDS_Face; + class TopoDS_Edge; +-class TopTools_ListOfShape; +- + + #ifndef _Standard_HeaderFile + #include +diff -Naur netgen-5.3.1_SRC_orig/libsrc/occ/Partition_Loop2d.cxx netgen-5.3.1_SRC_modif/libsrc/occ/Partition_Loop2d.cxx +--- netgen-5.3.1_SRC_orig/libsrc/occ/Partition_Loop2d.cxx 2014-08-29 13:54:03.000000000 +0400 ++++ netgen-5.3.1_SRC_modif/libsrc/occ/Partition_Loop2d.cxx 2018-03-01 15:41:03.994157932 +0300 +@@ -210,7 +210,7 @@ + Cc->D1(uc, PC, CTg1); + if (!isForward) CTg1.Reverse(); + +- Standard_Real anglemin = 3 * PI, tolAng = 1.e-8; ++ Standard_Real anglemin = 3 * M_PI, tolAng = 1.e-8; + + // select an edge whose first derivative is most left of CTg1 + // ie an angle between Tg1 and CTg1 is least +@@ -234,7 +234,7 @@ + // -PI < angle < PI + Standard_Real angle = Tg1.Angle(CTg1); + +- if (PI - Abs(angle) <= tolAng) ++ if (M_PI - Abs(angle) <= tolAng) + { + // an angle is too close to PI; assure that an angle sign really + // reflects an edge position: +PI - an edge is worst, +diff -Naur netgen-5.3.1_SRC_orig/libsrc/occ/Partition_Loop2d.hxx netgen-5.3.1_SRC_modif/libsrc/occ/Partition_Loop2d.hxx +--- netgen-5.3.1_SRC_orig/libsrc/occ/Partition_Loop2d.hxx 2014-08-29 13:54:03.000000000 +0400 ++++ netgen-5.3.1_SRC_modif/libsrc/occ/Partition_Loop2d.hxx 2018-03-01 15:41:03.994157932 +0300 +@@ -24,7 +24,6 @@ + #endif + class TopoDS_Face; + class TopoDS_Edge; +-class TopTools_ListOfShape; + class BRepAlgo_Image; + + +diff -Naur netgen-5.3.1_SRC_orig/libsrc/occ/Partition_Loop3d.hxx netgen-5.3.1_SRC_modif/libsrc/occ/Partition_Loop3d.hxx +--- netgen-5.3.1_SRC_orig/libsrc/occ/Partition_Loop3d.hxx 2014-08-29 13:54:03.000000000 +0400 ++++ netgen-5.3.1_SRC_modif/libsrc/occ/Partition_Loop3d.hxx 2018-03-01 15:41:03.994157932 +0300 +@@ -13,6 +13,9 @@ + #ifndef _TopTools_ListOfShape_HeaderFile + #include + #endif ++#ifndef _TopTools_MapOfOrientedShape_HeaderFile ++#include ++#endif + #ifndef _TopTools_IndexedDataMapOfShapeListOfShape_HeaderFile + #include + #endif +@@ -23,8 +26,6 @@ + #include + #endif + class TopoDS_Shape; +-class TopTools_ListOfShape; +-class TopTools_MapOfOrientedShape; + class TopoDS_Edge; + class TopoDS_Face; + class gp_Vec; +diff -Naur netgen-5.3.1_SRC_orig/libsrc/occ/Partition_Spliter.cxx netgen-5.3.1_SRC_modif/libsrc/occ/Partition_Spliter.cxx +--- netgen-5.3.1_SRC_orig/libsrc/occ/Partition_Spliter.cxx 2014-08-29 13:54:03.000000000 +0400 ++++ netgen-5.3.1_SRC_modif/libsrc/occ/Partition_Spliter.cxx 2018-03-01 15:41:03.995157825 +0300 +@@ -48,7 +48,6 @@ + #include + #include + #include +-#include + #include + #include + +diff -Naur netgen-5.3.1_SRC_orig/libsrc/occ/Partition_Spliter.hxx netgen-5.3.1_SRC_modif/libsrc/occ/Partition_Spliter.hxx +--- netgen-5.3.1_SRC_orig/libsrc/occ/Partition_Spliter.hxx 2014-08-29 13:54:03.000000000 +0400 ++++ netgen-5.3.1_SRC_modif/libsrc/occ/Partition_Spliter.hxx 2018-03-01 15:41:03.995157825 +0300 +@@ -28,9 +28,6 @@ + #ifndef _TopTools_DataMapOfShapeShape_HeaderFile + #include + #endif +-#ifndef _Handle_BRepAlgo_AsDes_HeaderFile +-#include +-#endif + #ifndef _BRepAlgo_Image_HeaderFile + #include + #endif +@@ -45,7 +42,6 @@ + #endif + class BRepAlgo_AsDes; + class TopoDS_Shape; +-class TopTools_ListOfShape; + class TopoDS_Edge; + + +@@ -129,7 +125,7 @@ + TopTools_DataMapOfShapeShape myFaceShapeMap; + TopTools_DataMapOfShapeShape myInternalFaces; + TopTools_DataMapOfShapeShape myIntNotClFaces; +- Handle_BRepAlgo_AsDes myAsDes; ++ Handle(BRepAlgo_AsDes) myAsDes; + BRepAlgo_Image myImagesFaces; + BRepAlgo_Image myImagesEdges; + BRepAlgo_Image myImageShape; +diff -Naur netgen-5.3.1_SRC_orig/libsrc/occ/occconstruction.cpp netgen-5.3.1_SRC_modif/libsrc/occ/occconstruction.cpp +--- netgen-5.3.1_SRC_orig/libsrc/occ/occconstruction.cpp 2014-08-29 13:54:03.000000000 +0400 ++++ netgen-5.3.1_SRC_modif/libsrc/occ/occconstruction.cpp 2018-03-01 15:41:03.995157825 +0300 +@@ -28,7 +28,7 @@ + #include + #include + #include +-#include ++//#include + //#include + #include + #include +diff -Naur netgen-5.3.1_SRC_orig/libsrc/occ/occgenmesh.cpp netgen-5.3.1_SRC_modif/libsrc/occ/occgenmesh.cpp +--- netgen-5.3.1_SRC_orig/libsrc/occ/occgenmesh.cpp 2014-08-29 13:54:03.000000000 +0400 ++++ netgen-5.3.1_SRC_modif/libsrc/occ/occgenmesh.cpp 2018-03-01 15:45:08.690877359 +0300 +@@ -1,1467 +1,1570 @@ +-#ifdef OCCGEOMETRY +- +-#include +-#include +-#include +- +- +-namespace netgen +-{ +- +-#include "occmeshsurf.hpp" +- +-#define TCL_OK 0 +-#define TCL_ERROR 1 +- +-#define DIVIDEEDGESECTIONS 1000 +-#define IGNORECURVELENGTH 1e-4 +-#define VSMALL 1e-10 +- +- +- bool merge_solids = 1; +- +- +- // can you please explain what you intend to compute here (JS) !!! +- double Line :: Dist (Line l) +- { +- Vec<3> n = p1-p0; +- Vec<3> q = l.p1-l.p0; +- double nq = n*q; +- +- Point<3> p = p0 + 0.5*n; +- double lambda = (p-l.p0)*n / (nq + VSMALL); +- +- if (lambda >= 0 && lambda <= 1) +- { +- double d = (p-l.p0-lambda*q).Length(); +- // if (d < 1e-3) d = 1e99; +- return d; +- } +- else +- return 1e99; +- } +- +- +- +- double Line :: Length () +- { +- return (p1-p0).Length(); +- } +- +- +- +- inline Point<3> occ2ng (const gp_Pnt & p) +- { +- return Point<3> (p.X(), p.Y(), p.Z()); +- } +- +- +- +- double ComputeH (double kappa) +- { +- double hret; +- kappa *= mparam.curvaturesafety; +- +- if (mparam.maxh * kappa < 1) +- hret = mparam.maxh; +- else +- hret = 1 / (kappa + VSMALL); +- +- if (mparam.maxh < hret) +- hret = mparam.maxh; +- +- return (hret); +- } +- +- +- +- +- void RestrictHTriangle (gp_Pnt2d & par0, gp_Pnt2d & par1, gp_Pnt2d & par2, +- BRepLProp_SLProps * prop, Mesh & mesh, int depth, double h = 0) +- { +- int ls = -1; +- +- gp_Pnt pnt0,pnt1,pnt2; +- +- prop->SetParameters (par0.X(), par0.Y()); +- pnt0 = prop->Value(); +- +- prop->SetParameters (par1.X(), par1.Y()); +- pnt1 = prop->Value(); +- +- prop->SetParameters (par2.X(), par2.Y()); +- pnt2 = prop->Value(); +- +- double aux; +- double maxside = pnt0.Distance(pnt1); +- ls = 2; +- aux = pnt1.Distance(pnt2); +- if(aux > maxside) +- { +- maxside = aux; +- ls = 0; +- } +- aux = pnt2.Distance(pnt0); +- if(aux > maxside) +- { +- maxside = aux; +- ls = 1; +- } +- +- +- +- gp_Pnt2d parmid; +- +- parmid.SetX( (par0.X()+par1.X()+par2.X()) / 3 ); +- parmid.SetY( (par0.Y()+par1.Y()+par2.Y()) / 3 ); +- +- if (depth%3 == 0) +- { +- double curvature = 0; +- +- prop->SetParameters (parmid.X(), parmid.Y()); +- if (!prop->IsCurvatureDefined()) +- { +- (*testout) << "curvature not defined!" << endl; +- return; +- } +- curvature = max(fabs(prop->MinCurvature()), +- fabs(prop->MaxCurvature())); +- +- prop->SetParameters (par0.X(), par0.Y()); +- if (!prop->IsCurvatureDefined()) +- { +- (*testout) << "curvature not defined!" << endl; +- return; +- } +- curvature = max(curvature,max(fabs(prop->MinCurvature()), +- fabs(prop->MaxCurvature()))); +- +- prop->SetParameters (par1.X(), par1.Y()); +- if (!prop->IsCurvatureDefined()) +- { +- (*testout) << "curvature not defined!" << endl; +- return; +- } +- curvature = max(curvature,max(fabs(prop->MinCurvature()), +- fabs(prop->MaxCurvature()))); +- +- prop->SetParameters (par2.X(), par2.Y()); +- if (!prop->IsCurvatureDefined()) +- { +- (*testout) << "curvature not defined!" << endl; +- return; +- } +- curvature = max(curvature,max(fabs(prop->MinCurvature()), +- fabs(prop->MaxCurvature()))); +- +- //(*testout) << "curvature " << curvature << endl; +- +- if (curvature < 1e-3) +- { +- //(*testout) << "curvature too small (" << curvature << ")!" << endl; +- return; +- // return war bis 10.2.05 auskommentiert +- } +- +- +- +- h = ComputeH (curvature+1e-10); +- +- if(h < 1e-4*maxside) +- return; +- +- +- if (h > 30) return; +- } +- +- if (h < maxside && depth < 10) +- { +- //cout << "\r h " << h << flush; +- gp_Pnt2d pm; +- +- //cout << "h " << h << " maxside " << maxside << " depth " << depth << endl; +- //cout << "par0 " << par0.X() << " " << par0.Y() +- //<< " par1 " << par1.X() << " " << par1.Y() +- // << " par2 " << par2.X() << " " << par2.Y()<< endl; +- +- if(ls == 0) +- { +- pm.SetX(0.5*(par1.X()+par2.X())); pm.SetY(0.5*(par1.Y()+par2.Y())); +- RestrictHTriangle(pm, par2, par0, prop, mesh, depth+1, h); +- RestrictHTriangle(pm, par0, par1, prop, mesh, depth+1, h); +- } +- else if(ls == 1) +- { +- pm.SetX(0.5*(par0.X()+par2.X())); pm.SetY(0.5*(par0.Y()+par2.Y())); +- RestrictHTriangle(pm, par1, par2, prop, mesh, depth+1, h); +- RestrictHTriangle(pm, par0, par1, prop, mesh, depth+1, h); +- } +- else if(ls == 2) +- { +- pm.SetX(0.5*(par0.X()+par1.X())); pm.SetY(0.5*(par0.Y()+par1.Y())); +- RestrictHTriangle(pm, par1, par2, prop, mesh, depth+1, h); +- RestrictHTriangle(pm, par2, par0, prop, mesh, depth+1, h); +- } +- +- } +- else +- { +- gp_Pnt pnt; +- Point3d p3d; +- +- prop->SetParameters (parmid.X(), parmid.Y()); +- pnt = prop->Value(); +- p3d = Point3d(pnt.X(), pnt.Y(), pnt.Z()); +- mesh.RestrictLocalH (p3d, h); +- +- p3d = Point3d(pnt0.X(), pnt0.Y(), pnt0.Z()); +- mesh.RestrictLocalH (p3d, h); +- +- p3d = Point3d(pnt1.X(), pnt1.Y(), pnt1.Z()); +- mesh.RestrictLocalH (p3d, h); +- +- p3d = Point3d(pnt2.X(), pnt2.Y(), pnt2.Z()); +- mesh.RestrictLocalH (p3d, h); +- +- //(*testout) << "p = " << p3d << ", h = " << h << ", maxside = " << maxside << endl; +- +- } +- } +- +- +- +- void DivideEdge (TopoDS_Edge & edge, Array & ps, +- Array & params, Mesh & mesh) +- { +- double s0, s1; +- double maxh = mparam.maxh; +- int nsubedges = 1; +- gp_Pnt pnt, oldpnt; +- double svalue[DIVIDEEDGESECTIONS]; +- +- GProp_GProps system; +- BRepGProp::LinearProperties(edge, system); +- double L = system.Mass(); +- +- Handle(Geom_Curve) c = BRep_Tool::Curve(edge, s0, s1); +- +- double hvalue[DIVIDEEDGESECTIONS+1]; +- hvalue[0] = 0; +- pnt = c->Value(s0); +- +- double olddist = 0; +- double dist = 0; +- +- int tmpVal = (int)(DIVIDEEDGESECTIONS); +- +- for (int i = 1; i <= tmpVal; i++) +- { +- oldpnt = pnt; +- pnt = c->Value(s0+(i/double(DIVIDEEDGESECTIONS))*(s1-s0)); +- hvalue[i] = hvalue[i-1] + +- 1.0/mesh.GetH(Point3d(pnt.X(), pnt.Y(), pnt.Z()))* +- pnt.Distance(oldpnt); +- +- //(*testout) << "mesh.GetH(Point3d(pnt.X(), pnt.Y(), pnt.Z())) " << mesh.GetH(Point3d(pnt.X(), pnt.Y(), pnt.Z())) +- // << " pnt.Distance(oldpnt) " << pnt.Distance(oldpnt) << endl; +- +- olddist = dist; +- dist = pnt.Distance(oldpnt); +- } +- +- // nsubedges = int(ceil(hvalue[DIVIDEEDGESECTIONS])); +- nsubedges = max (1, int(floor(hvalue[DIVIDEEDGESECTIONS]+0.5))); +- +- ps.SetSize(nsubedges-1); +- params.SetSize(nsubedges+1); +- +- int i = 1; +- int i1 = 0; +- do +- { +- if (hvalue[i1]/hvalue[DIVIDEEDGESECTIONS]*nsubedges >= i) +- { +- params[i] = s0+(i1/double(DIVIDEEDGESECTIONS))*(s1-s0); +- pnt = c->Value(params[i]); +- ps[i-1] = MeshPoint (Point3d(pnt.X(), pnt.Y(), pnt.Z())); +- i++; +- } +- i1++; +- if (i1 > DIVIDEEDGESECTIONS) +- { +- nsubedges = i; +- ps.SetSize(nsubedges-1); +- params.SetSize(nsubedges+1); +- cout << "divide edge: local h too small" << endl; +- } +- } while (i < nsubedges); +- +- params[0] = s0; +- params[nsubedges] = s1; +- +- if (params[nsubedges] <= params[nsubedges-1]) +- { +- cout << "CORRECTED" << endl; +- ps.SetSize (nsubedges-2); +- params.SetSize (nsubedges); +- params[nsubedges] = s1; +- } +- } +- +- +- +- +- void OCCFindEdges (OCCGeometry & geom, Mesh & mesh) +- { +- const char * savetask = multithread.task; +- multithread.task = "Edge meshing"; +- +- (*testout) << "edge meshing" << endl; +- +- int nvertices = geom.vmap.Extent(); +- int nedges = geom.emap.Extent(); +- +- (*testout) << "nvertices = " << nvertices << endl; +- (*testout) << "nedges = " << nedges << endl; +- +- double eps = 1e-6 * geom.GetBoundingBox().Diam(); +- +- for (int i = 1; i <= nvertices; i++) +- { +- gp_Pnt pnt = BRep_Tool::Pnt (TopoDS::Vertex(geom.vmap(i))); +- MeshPoint mp( Point<3>(pnt.X(), pnt.Y(), pnt.Z()) ); +- +- bool exists = 0; +- if (merge_solids) +- for (PointIndex pi = 1; pi <= mesh.GetNP(); pi++) +- if ( Dist2 (mesh[pi], Point<3>(mp)) < eps*eps) +- { +- exists = 1; +- break; +- } +- +- if (!exists) +- mesh.AddPoint (mp); +- } +- +- (*testout) << "different vertices = " << mesh.GetNP() << endl; +- +- +- int first_ep = mesh.GetNP()+1; +- +- Array face2solid[2]; +- for (int i = 0; i<2; i++) +- { +- face2solid[i].SetSize (geom.fmap.Extent()); +- face2solid[i] = 0; +- } +- +- int solidnr = 0; +- for (TopExp_Explorer exp0(geom.shape, TopAbs_SOLID); exp0.More(); exp0.Next()) +- { +- solidnr++; +- for (TopExp_Explorer exp1(exp0.Current(), TopAbs_FACE); exp1.More(); exp1.Next()) +- { +- TopoDS_Face face = TopoDS::Face(exp1.Current()); +- int facenr = geom.fmap.FindIndex(face); +- +- if (face2solid[0][facenr-1] == 0) +- face2solid[0][facenr-1] = solidnr; +- else +- face2solid[1][facenr-1] = solidnr; +- } +- } +- +- +- int total = 0; +- for (int i3 = 1; i3 <= geom.fmap.Extent(); i3++) +- for (TopExp_Explorer exp2(geom.fmap(i3), TopAbs_WIRE); exp2.More(); exp2.Next()) +- for (TopExp_Explorer exp3(exp2.Current(), TopAbs_EDGE); exp3.More(); exp3.Next()) +- total++; +- +- +- int facenr = 0; +- int edgenr = 0; +- +- +- (*testout) << "faces = " << geom.fmap.Extent() << endl; +- int curr = 0; +- +- for (int i3 = 1; i3 <= geom.fmap.Extent(); i3++) +- { +- TopoDS_Face face = TopoDS::Face(geom.fmap(i3)); +- facenr = geom.fmap.FindIndex (face); // sollte doch immer == i3 sein ??? JS +- +- int solidnr0 = face2solid[0][i3-1]; +- int solidnr1 = face2solid[1][i3-1]; +- +- /* auskommentiert am 3.3.05 von robert +- for (exp2.Init (geom.somap(solidnr0), TopAbs_FACE); exp2.More(); exp2.Next()) +- { +- TopoDS_Face face2 = TopoDS::Face(exp2.Current()); +- if (geom.fmap.FindIndex(face2) == facenr) +- { +- // if (face.Orientation() != face2.Orientation()) swap (solidnr0, solidnr1); +- } +- } +- */ +- +- mesh.AddFaceDescriptor (FaceDescriptor(facenr, solidnr0, solidnr1, 0)); +- +- // Philippose - 06/07/2009 +- // Add the face colour to the mesh data +- Quantity_Color face_colour; +- +- if(!(geom.face_colours.IsNull()) +- && (geom.face_colours->GetColor(face,XCAFDoc_ColorSurf,face_colour))) +- { +- mesh.GetFaceDescriptor(facenr).SetSurfColour(Vec3d(face_colour.Red(),face_colour.Green(),face_colour.Blue())); +- } +- else +- { +- mesh.GetFaceDescriptor(facenr).SetSurfColour(Vec3d(0.0,1.0,0.0)); +- } +- // ACHTUNG! STIMMT NICHT ALLGEMEIN (RG) +- +- +- Handle(Geom_Surface) occface = BRep_Tool::Surface(face); +- +- for (TopExp_Explorer exp2 (face, TopAbs_WIRE); exp2.More(); exp2.Next()) +- { +- TopoDS_Shape wire = exp2.Current(); +- +- for (TopExp_Explorer exp3 (wire, TopAbs_EDGE); exp3.More(); exp3.Next()) +- { +- curr++; +- (*testout) << "edge nr " << curr << endl; +- +- multithread.percent = 100 * curr / double (total); +- if (multithread.terminate) return; +- +- TopoDS_Edge edge = TopoDS::Edge (exp3.Current()); +- if (BRep_Tool::Degenerated(edge)) +- { +- //(*testout) << "ignoring degenerated edge" << endl; +- continue; +- } +- +- if (geom.vmap.FindIndex(TopExp::FirstVertex (edge)) == +- geom.vmap.FindIndex(TopExp::LastVertex (edge))) +- { +- GProp_GProps system; +- BRepGProp::LinearProperties(edge, system); +- +- if (system.Mass() < eps) +- { +- cout << "ignoring edge " << geom.emap.FindIndex (edge) +- << ". closed edge with length < " << eps << endl; +- continue; +- } +- } +- +- +- Handle(Geom2d_Curve) cof; +- double s0, s1; +- cof = BRep_Tool::CurveOnSurface (edge, face, s0, s1); +- +- int geomedgenr = geom.emap.FindIndex(edge); +- +- Array mp; +- Array params; +- +- DivideEdge (edge, mp, params, mesh); +- +- Array pnums; +- pnums.SetSize (mp.Size()+2); +- +- if (!merge_solids) +- { +- pnums[0] = geom.vmap.FindIndex (TopExp::FirstVertex (edge)); +- pnums[pnums.Size()-1] = geom.vmap.FindIndex (TopExp::LastVertex (edge)); +- } +- else +- { +- Point<3> fp = occ2ng (BRep_Tool::Pnt (TopExp::FirstVertex (edge))); +- Point<3> lp = occ2ng (BRep_Tool::Pnt (TopExp::LastVertex (edge))); +- +- pnums[0] = -1; +- pnums.Last() = -1; +- for (PointIndex pi = 1; pi < first_ep; pi++) +- { +- if (Dist2 (mesh[pi], fp) < eps*eps) pnums[0] = pi; +- if (Dist2 (mesh[pi], lp) < eps*eps) pnums.Last() = pi; +- } +- } +- +- +- for (int i = 1; i <= mp.Size(); i++) +- { +- bool exists = 0; +- int j; +- for (j = first_ep; j <= mesh.GetNP(); j++) +- if ((mesh.Point(j)-Point<3>(mp[i-1])).Length() < eps) +- { +- exists = 1; +- break; +- } +- +- if (exists) +- pnums[i] = j; +- else +- { +- mesh.AddPoint (mp[i-1]); +- (*testout) << "add meshpoint " << mp[i-1] << endl; +- pnums[i] = mesh.GetNP(); +- } +- } +- (*testout) << "NP = " << mesh.GetNP() << endl; +- +- //(*testout) << pnums[pnums.Size()-1] << endl; +- +- for (int i = 1; i <= mp.Size()+1; i++) +- { +- edgenr++; +- Segment seg; +- +- seg[0] = pnums[i-1]; +- seg[1] = pnums[i]; +- seg.edgenr = edgenr; +- seg.si = facenr; +- seg.epgeominfo[0].dist = params[i-1]; +- seg.epgeominfo[1].dist = params[i]; +- seg.epgeominfo[0].edgenr = geomedgenr; +- seg.epgeominfo[1].edgenr = geomedgenr; +- +- gp_Pnt2d p2d; +- p2d = cof->Value(params[i-1]); +- // if (i == 1) p2d = cof->Value(s0); +- seg.epgeominfo[0].u = p2d.X(); +- seg.epgeominfo[0].v = p2d.Y(); +- p2d = cof->Value(params[i]); +- // if (i == mp.Size()+1) p2d = cof -> Value(s1); +- seg.epgeominfo[1].u = p2d.X(); +- seg.epgeominfo[1].v = p2d.Y(); +- +- /* +- if (occface->IsUPeriodic()) +- { +- cout << "U Periodic" << endl; +- if (fabs(seg.epgeominfo[1].u-seg.epgeominfo[0].u) > +- fabs(seg.epgeominfo[1].u- +- (seg.epgeominfo[0].u-occface->UPeriod()))) +- seg.epgeominfo[0].u = p2d.X()+occface->UPeriod(); +- +- if (fabs(seg.epgeominfo[1].u-seg.epgeominfo[0].u) > +- fabs(seg.epgeominfo[1].u- +- (seg.epgeominfo[0].u+occface->UPeriod()))) +- seg.epgeominfo[0].u = p2d.X()-occface->UPeriod(); +- } +- +- if (occface->IsVPeriodic()) +- { +- cout << "V Periodic" << endl; +- if (fabs(seg.epgeominfo[1].v-seg.epgeominfo[0].v) > +- fabs(seg.epgeominfo[1].v- +- (seg.epgeominfo[0].v-occface->VPeriod()))) +- seg.epgeominfo[0].v = p2d.Y()+occface->VPeriod(); +- +- if (fabs(seg.epgeominfo[1].v-seg.epgeominfo[0].v) > +- fabs(seg.epgeominfo[1].v- +- (seg.epgeominfo[0].v+occface->VPeriod()))) +- seg.epgeominfo[0].v = p2d.Y()-occface->VPeriod(); +- } +- */ +- +- if (edge.Orientation() == TopAbs_REVERSED) +- { +- swap (seg[0], seg[1]); +- swap (seg.epgeominfo[0].dist, seg.epgeominfo[1].dist); +- swap (seg.epgeominfo[0].u, seg.epgeominfo[1].u); +- swap (seg.epgeominfo[0].v, seg.epgeominfo[1].v); +- } +- +- mesh.AddSegment (seg); +- +- //edgesegments[geomedgenr-1]->Append(mesh.GetNSeg()); +- +- } +- } +- } +- } +- +- // for(i=1; i<=mesh.GetNSeg(); i++) +- // (*testout) << "edge " << mesh.LineSegment(i).edgenr << " face " << mesh.LineSegment(i).si +- // << " p1 " << mesh.LineSegment(i)[0] << " p2 " << mesh.LineSegment(i)[1] << endl; +- // exit(10); +- +- mesh.CalcSurfacesOfNode(); +- multithread.task = savetask; +- } +- +- +- +- +- void OCCMeshSurface (OCCGeometry & geom, Mesh & mesh, int perfstepsend) +- { +- int i, j, k; +- int changed; +- +- const char * savetask = multithread.task; +- multithread.task = "Surface meshing"; +- +- geom.facemeshstatus = 0; +- +- int noldp = mesh.GetNP(); +- +- double starttime = GetTime(); +- +- Array glob2loc(noldp); +- +- //int projecttype = PARAMETERSPACE; +- +- int projecttype = PARAMETERSPACE; +- +- int notrys = 1; +- +- int surfmesherror = 0; +- +- for (k = 1; k <= mesh.GetNFD(); k++) +- { +- if(1==0 && !geom.fvispar[k-1].IsDrawable()) +- { +- (*testout) << "ignoring face " << k << endl; +- cout << "ignoring face " << k << endl; +- continue; +- } +- +- (*testout) << "mesh face " << k << endl; +- multithread.percent = 100 * k / (mesh.GetNFD() + VSMALL); +- geom.facemeshstatus[k-1] = -1; +- +- +- /* +- if (k != 42) +- { +- cout << "skipped" << endl; +- continue; +- } +- */ +- +- +- FaceDescriptor & fd = mesh.GetFaceDescriptor(k); +- +- int oldnf = mesh.GetNSE(); +- +- Box<3> bb = geom.GetBoundingBox(); +- +- // int projecttype = PLANESPACE; +- +- Meshing2OCCSurfaces meshing(TopoDS::Face(geom.fmap(k)), bb, projecttype); +- +- if (meshing.GetProjectionType() == PLANESPACE) +- PrintMessage (2, "Face ", k, " / ", mesh.GetNFD(), " (plane space projection)"); +- else +- PrintMessage (2, "Face ", k, " / ", mesh.GetNFD(), " (parameter space projection)"); +- +- if (surfmesherror) +- cout << "Surface meshing error occured before (in " << surfmesherror << " faces)" << endl; +- +- // Meshing2OCCSurfaces meshing(f2, bb); +- meshing.SetStartTime (starttime); +- +- //(*testout) << "Face " << k << endl << endl; +- +- +- if (meshing.GetProjectionType() == PLANESPACE) +- { +- int cntp = 0; +- glob2loc = 0; +- for (i = 1; i <= mesh.GetNSeg(); i++) +- { +- Segment & seg = mesh.LineSegment(i); +- if (seg.si == k) +- { +- for (j = 1; j <= 2; j++) +- { +- int pi = (j == 1) ? seg[0] : seg[1]; +- if (!glob2loc.Get(pi)) +- { +- meshing.AddPoint (mesh.Point(pi), pi); +- cntp++; +- glob2loc.Elem(pi) = cntp; +- } +- } +- } +- } +- +- for (i = 1; i <= mesh.GetNSeg(); i++) +- { +- Segment & seg = mesh.LineSegment(i); +- if (seg.si == k) +- { +- PointGeomInfo gi0, gi1; +- gi0.trignum = gi1.trignum = k; +- gi0.u = seg.epgeominfo[0].u; +- gi0.v = seg.epgeominfo[0].v; +- gi1.u = seg.epgeominfo[1].u; +- gi1.v = seg.epgeominfo[1].v; +- +- meshing.AddBoundaryElement (glob2loc.Get(seg[0]), glob2loc.Get(seg[1]), gi0, gi1); +- //(*testout) << gi0.u << " " << gi0.v << endl; +- //(*testout) << gi1.u << " " << gi1.v << endl; +- } +- } +- } +- else +- { +- int cntp = 0; +- +- for (i = 1; i <= mesh.GetNSeg(); i++) +- if (mesh.LineSegment(i).si == k) +- cntp+=2; +- +- +- Array< PointGeomInfo > gis; +- +- gis.SetAllocSize (cntp); +- gis.SetSize (0); +- +- for (i = 1; i <= mesh.GetNSeg(); i++) +- { +- Segment & seg = mesh.LineSegment(i); +- if (seg.si == k) +- { +- PointGeomInfo gi0, gi1; +- gi0.trignum = gi1.trignum = k; +- gi0.u = seg.epgeominfo[0].u; +- gi0.v = seg.epgeominfo[0].v; +- gi1.u = seg.epgeominfo[1].u; +- gi1.v = seg.epgeominfo[1].v; +- +- int locpnum[2] = {0, 0}; +- +- for (j = 0; j < 2; j++) +- { +- PointGeomInfo gi = (j == 0) ? gi0 : gi1; +- +- int l; +- for (l = 0; l < gis.Size() && locpnum[j] == 0; l++) +- { +- double dist = sqr (gis[l].u-gi.u)+sqr(gis[l].v-gi.v); +- +- if (dist < 1e-10) +- locpnum[j] = l+1; +- } +- +- if (locpnum[j] == 0) +- { +- int pi = (j == 0) ? seg[0] : seg[1]; +- meshing.AddPoint (mesh.Point(pi), pi); +- +- gis.SetSize (gis.Size()+1); +- gis[l] = gi; +- locpnum[j] = l+1; +- } +- } +- +- meshing.AddBoundaryElement (locpnum[0], locpnum[1], gi0, gi1); +- //(*testout) << gi0.u << " " << gi0.v << endl; +- //(*testout) << gi1.u << " " << gi1.v << endl; +- +- } +- } +- } +- +- +- +- +- +- // Philippose - 15/01/2009 +- double maxh = geom.face_maxh[k-1]; +- //double maxh = mparam.maxh; +- mparam.checkoverlap = 0; +- // int noldpoints = mesh->GetNP(); +- int noldsurfel = mesh.GetNSE(); +- +- GProp_GProps sprops; +- BRepGProp::SurfaceProperties(TopoDS::Face(geom.fmap(k)),sprops); +- meshing.SetMaxArea(2.*sprops.Mass()); +- +- MESHING2_RESULT res; +- +- try { +- res = meshing.GenerateMesh (mesh, mparam, maxh, k); +- } +- +- catch (SingularMatrixException) +- { +- (*myerr) << "Singular Matrix" << endl; +- res = MESHING2_GIVEUP; +- } +- +- catch (UVBoundsException) +- { +- (*myerr) << "UV bounds exceeded" << endl; +- res = MESHING2_GIVEUP; +- } +- +- projecttype = PARAMETERSPACE; +- +- if (res != MESHING2_OK) +- { +- if (notrys == 1) +- { +- for (int i = noldsurfel+1; i <= mesh.GetNSE(); i++) +- mesh.DeleteSurfaceElement (i); +- +- mesh.Compress(); +- +- cout << "retry Surface " << k << endl; +- +- k--; +- projecttype*=-1; +- notrys++; +- continue; +- } +- else +- { +- geom.facemeshstatus[k-1] = -1; +- PrintError ("Problem in Surface mesh generation"); +- surfmesherror++; +- // throw NgException ("Problem in Surface mesh generation"); +- } +- } +- else +- { +- geom.facemeshstatus[k-1] = 1; +- } +- +- notrys = 1; +- +- for (i = oldnf+1; i <= mesh.GetNSE(); i++) +- mesh.SurfaceElement(i).SetIndex (k); +- +- } +- +-// ofstream problemfile("occmesh.rep"); +- +-// problemfile << "SURFACEMESHING" << endl << endl; +- +- if (surfmesherror) +- { +- cout << "WARNING! NOT ALL FACES HAVE BEEN MESHED" << endl; +- cout << "SURFACE MESHING ERROR OCCURED IN " << surfmesherror << " FACES:" << endl; +- for (int i = 1; i <= geom.fmap.Extent(); i++) +- if (geom.facemeshstatus[i-1] == -1) +- { +- cout << "Face " << i << endl; +-// problemfile << "problem with face " << i << endl; +-// problemfile << "vertices: " << endl; +- TopExp_Explorer exp0,exp1,exp2; +- for ( exp0.Init(TopoDS::Face (geom.fmap(i)), TopAbs_WIRE); exp0.More(); exp0.Next() ) +- { +- TopoDS_Wire wire = TopoDS::Wire(exp0.Current()); +- for ( exp1.Init(wire,TopAbs_EDGE); exp1.More(); exp1.Next() ) +- { +- TopoDS_Edge edge = TopoDS::Edge(exp1.Current()); +- for ( exp2.Init(edge,TopAbs_VERTEX); exp2.More(); exp2.Next() ) +- { +- TopoDS_Vertex vertex = TopoDS::Vertex(exp2.Current()); +- gp_Pnt point = BRep_Tool::Pnt(vertex); +-// problemfile << point.X() << " " << point.Y() << " " << point.Z() << endl; +- } +- } +- } +-// problemfile << endl; +- +- } +- cout << endl << endl; +- cout << "for more information open IGES/STEP Topology Explorer" << endl; +-// problemfile.close(); +- throw NgException ("Problem in Surface mesh generation"); +- } +- else +- { +-// problemfile << "OK" << endl << endl; +-// problemfile.close(); +- } +- +- +- +- +- if (multithread.terminate || perfstepsend < MESHCONST_OPTSURFACE) +- return; +- +- multithread.task = "Optimizing surface"; +- +- static int timer_opt2d = NgProfiler::CreateTimer ("Optimization 2D"); +- NgProfiler::StartTimer (timer_opt2d); +- +- for (k = 1; k <= mesh.GetNFD(); k++) +- { +- // if (k != 42) continue; +- // if (k != 36) continue; +- +- // (*testout) << "optimize face " << k << endl; +- multithread.percent = 100 * k / (mesh.GetNFD() + VSMALL); +- +- FaceDescriptor & fd = mesh.GetFaceDescriptor(k); +- +- PrintMessage (1, "Optimize Surface ", k); +- for (i = 1; i <= mparam.optsteps2d; i++) +- { +- // (*testout) << "optstep " << i << endl; +- if (multithread.terminate) return; +- +- { +- MeshOptimize2dOCCSurfaces meshopt(geom); +- meshopt.SetFaceIndex (k); +- meshopt.SetImproveEdges (0); +- meshopt.SetMetricWeight (mparam.elsizeweight); +- //meshopt.SetMetricWeight (0.2); +- meshopt.SetWriteStatus (0); +- +- // (*testout) << "EdgeSwapping (mesh, (i > mparam.optsteps2d/2))" << endl; +- meshopt.EdgeSwapping (mesh, (i > mparam.optsteps2d/2)); +- } +- +- if (multithread.terminate) return; +- { +- MeshOptimize2dOCCSurfaces meshopt(geom); +- meshopt.SetFaceIndex (k); +- meshopt.SetImproveEdges (0); +- //meshopt.SetMetricWeight (0.2); +- meshopt.SetMetricWeight (mparam.elsizeweight); +- meshopt.SetWriteStatus (0); +- +- // (*testout) << "ImproveMesh (mesh)" << endl; +- meshopt.ImproveMesh (mesh, mparam); +- } +- +- { +- MeshOptimize2dOCCSurfaces meshopt(geom); +- meshopt.SetFaceIndex (k); +- meshopt.SetImproveEdges (0); +- //meshopt.SetMetricWeight (0.2); +- meshopt.SetMetricWeight (mparam.elsizeweight); +- meshopt.SetWriteStatus (0); +- +- // (*testout) << "CombineImprove (mesh)" << endl; +- meshopt.CombineImprove (mesh); +- } +- +- if (multithread.terminate) return; +- { +- MeshOptimize2dOCCSurfaces meshopt(geom); +- meshopt.SetFaceIndex (k); +- meshopt.SetImproveEdges (0); +- //meshopt.SetMetricWeight (0.2); +- meshopt.SetMetricWeight (mparam.elsizeweight); +- meshopt.SetWriteStatus (0); +- +- // (*testout) << "ImproveMesh (mesh)" << endl; +- meshopt.ImproveMesh (mesh, mparam); +- } +- } +- +- } +- +- +- mesh.CalcSurfacesOfNode(); +- mesh.Compress(); +- +- NgProfiler::StopTimer (timer_opt2d); +- +- multithread.task = savetask; +- } +- +- +- +- void OCCSetLocalMeshSize(OCCGeometry & geom, Mesh & mesh) +- { +- mesh.SetGlobalH (mparam.maxh); +- mesh.SetMinimalH (mparam.minh); +- +- Array maxhdom; +- maxhdom.SetSize (geom.NrSolids()); +- maxhdom = mparam.maxh; +- +- mesh.SetMaxHDomain (maxhdom); +- +- Box<3> bb = geom.GetBoundingBox(); +- bb.Increase (bb.Diam()/10); +- +- mesh.SetLocalH (bb.PMin(), bb.PMax(), 0.5); +- +- if (mparam.uselocalh) +- { +- const char * savetask = multithread.task; +- multithread.percent = 0; +- +- mesh.SetLocalH (bb.PMin(), bb.PMax(), mparam.grading); +- +- int nedges = geom.emap.Extent(); +- +- double mincurvelength = IGNORECURVELENGTH; +- double maxedgelen = 0; +- double minedgelen = 1e99; +- +- if(occparam.resthminedgelenenable) +- { +- mincurvelength = occparam.resthminedgelen; +- if(mincurvelength < IGNORECURVELENGTH) mincurvelength = IGNORECURVELENGTH; +- } +- +- multithread.task = "Setting local mesh size (elements per edge)"; +- +- // setting elements per edge +- +- for (int i = 1; i <= nedges && !multithread.terminate; i++) +- { +- TopoDS_Edge e = TopoDS::Edge (geom.emap(i)); +- multithread.percent = 100 * (i-1)/double(nedges); +- if (BRep_Tool::Degenerated(e)) continue; +- +- GProp_GProps system; +- BRepGProp::LinearProperties(e, system); +- double len = system.Mass(); +- +- if (len < mincurvelength) +- { +- (*testout) << "ignored" << endl; +- continue; +- } +- +- double localh = len/mparam.segmentsperedge; +- double s0, s1; +- +- // Philippose - 23/01/2009 +- // Find all the parent faces of a given edge +- // and limit the mesh size of the edge based on the +- // mesh size limit of the face +- TopTools_IndexedDataMapOfShapeListOfShape edge_face_map; +- edge_face_map.Clear(); +- +- TopExp::MapShapesAndAncestors(geom.shape, TopAbs_EDGE, TopAbs_FACE, edge_face_map); +- const TopTools_ListOfShape& parent_faces = edge_face_map.FindFromKey(e); +- +- TopTools_ListIteratorOfListOfShape parent_face_list; +- +- for(parent_face_list.Initialize(parent_faces); parent_face_list.More(); parent_face_list.Next()) +- { +- TopoDS_Face parent_face = TopoDS::Face(parent_face_list.Value()); +- +- int face_index = geom.fmap.FindIndex(parent_face); +- +- if(face_index >= 1) localh = min(localh,geom.face_maxh[face_index - 1]); +- } +- +- Handle(Geom_Curve) c = BRep_Tool::Curve(e, s0, s1); +- +- maxedgelen = max (maxedgelen, len); +- minedgelen = min (minedgelen, len); +- +- // Philippose - 23/01/2009 +- // Modified the calculation of maxj, because the +- // method used so far always results in maxj = 2, +- // which causes the localh to be set only at the +- // starting, mid and end of the edge. +- // Old Algorithm: +- // int maxj = 2 * (int) ceil (localh/len); +- int maxj = max((int) ceil(len/localh), 2); +- +- for (int j = 0; j <= maxj; j++) +- { +- gp_Pnt pnt = c->Value (s0+double(j)/maxj*(s1-s0)); +- mesh.RestrictLocalH (Point3d(pnt.X(), pnt.Y(), pnt.Z()), localh); +- } +- } +- +- multithread.task = "Setting local mesh size (edge curvature)"; +- +- // setting edge curvature +- +- int nsections = 20; +- +- for (int i = 1; i <= nedges && !multithread.terminate; i++) +- { +- double maxcur = 0; +- multithread.percent = 100 * (i-1)/double(nedges); +- TopoDS_Edge edge = TopoDS::Edge (geom.emap(i)); +- if (BRep_Tool::Degenerated(edge)) continue; +- double s0, s1; +- Handle(Geom_Curve) c = BRep_Tool::Curve(edge, s0, s1); +- BRepAdaptor_Curve brepc(edge); +- BRepLProp_CLProps prop(brepc, 2, 1e-5); +- +- for (int j = 1; j <= nsections; j++) +- { +- double s = s0 + j/(double) nsections * (s1-s0); +- prop.SetParameter (s); +- double curvature = prop.Curvature(); +- if(curvature> maxcur) maxcur = curvature; +- +- if (curvature >= 1e99) +- continue; +- +- gp_Pnt pnt = c->Value (s); +- +- mesh.RestrictLocalH (Point3d(pnt.X(), pnt.Y(), pnt.Z()), ComputeH (fabs(curvature))); +- } +- // (*testout) << "edge " << i << " max. curvature: " << maxcur << endl; +- } +- +- multithread.task = "Setting local mesh size (face curvature)"; +- +- // setting face curvature +- +- int nfaces = geom.fmap.Extent(); +- +- for (int i = 1; i <= nfaces && !multithread.terminate; i++) +- { +- multithread.percent = 100 * (i-1)/double(nfaces); +- TopoDS_Face face = TopoDS::Face(geom.fmap(i)); +- TopLoc_Location loc; +- Handle(Geom_Surface) surf = BRep_Tool::Surface (face); +- Handle(Poly_Triangulation) triangulation = BRep_Tool::Triangulation (face, loc); +- +- if (triangulation.IsNull()) continue; +- +- BRepAdaptor_Surface sf(face, Standard_True); +- BRepLProp_SLProps prop(sf, 2, 1e-5); +- +- int ntriangles = triangulation -> NbTriangles(); +- for (int j = 1; j <= ntriangles; j++) +- { +- gp_Pnt p[3]; +- gp_Pnt2d par[3]; +- +- for (int k = 1; k <=3; k++) +- { +- int n = triangulation->Triangles()(j)(k); +- p[k-1] = triangulation->Nodes()(n).Transformed(loc); +- par[k-1] = triangulation->UVNodes()(n); +- } +- +- //double maxside = 0; +- //maxside = max (maxside, p[0].Distance(p[1])); +- //maxside = max (maxside, p[0].Distance(p[2])); +- //maxside = max (maxside, p[1].Distance(p[2])); +- //cout << "\rFace " << i << " pos11 ntriangles " << ntriangles << " maxside " << maxside << flush; +- +- RestrictHTriangle (par[0], par[1], par[2], &prop, mesh, 0); +- //cout << "\rFace " << i << " pos12 ntriangles " << ntriangles << flush; +- } +- } +- +- // setting close edges +- +- if (occparam.resthcloseedgeenable) +- { +- multithread.task = "Setting local mesh size (close edges)"; +- +- int sections = 100; +- +- Array lines(sections*nedges); +- +- Box3dTree* searchtree = +- new Box3dTree (bb.PMin(), bb.PMax()); +- +- int nlines = 0; +- for (int i = 1; i <= nedges && !multithread.terminate; i++) +- { +- TopoDS_Edge edge = TopoDS::Edge (geom.emap(i)); +- if (BRep_Tool::Degenerated(edge)) continue; +- +- double s0, s1; +- Handle(Geom_Curve) c = BRep_Tool::Curve(edge, s0, s1); +- BRepAdaptor_Curve brepc(edge); +- BRepLProp_CLProps prop(brepc, 1, 1e-5); +- prop.SetParameter (s0); +- +- gp_Vec d0 = prop.D1().Normalized(); +- double s_start = s0; +- int count = 0; +- for (int j = 1; j <= sections; j++) +- { +- double s = s0 + (s1-s0)*(double)j/(double)sections; +- prop.SetParameter (s); +- gp_Vec d1 = prop.D1().Normalized(); +- double cosalpha = fabs(d0*d1); +- if ((j == sections) || (cosalpha < cos(10.0/180.0*M_PI))) +- { +- count++; +- gp_Pnt p0 = c->Value (s_start); +- gp_Pnt p1 = c->Value (s); +- lines[nlines].p0 = Point<3> (p0.X(), p0.Y(), p0.Z()); +- lines[nlines].p1 = Point<3> (p1.X(), p1.Y(), p1.Z()); +- +- Box3d box; +- box.SetPoint (Point3d(lines[nlines].p0)); +- box.AddPoint (Point3d(lines[nlines].p1)); +- +- searchtree->Insert (box.PMin(), box.PMax(), nlines+1); +- nlines++; +- +- s_start = s; +- d0 = d1; +- } +- } +- } +- +- Array linenums; +- +- for (int i = 0; i < nlines; i++) +- { +- multithread.percent = (100*i)/double(nlines); +- Line & line = lines[i]; +- +- Box3d box; +- box.SetPoint (Point3d(line.p0)); +- box.AddPoint (Point3d(line.p1)); +- double maxhline = max (mesh.GetH(box.PMin()), +- mesh.GetH(box.PMax())); +- box.Increase(maxhline); +- +- double mindist = 1e99; +- linenums.SetSize(0); +- searchtree->GetIntersecting(box.PMin(),box.PMax(),linenums); +- +- for (int j = 0; j < linenums.Size(); j++) +- { +- int num = linenums[j]-1; +- if (i == num) continue; +- if ((line.p0-lines[num].p0).Length2() < 1e-15) continue; +- if ((line.p0-lines[num].p1).Length2() < 1e-15) continue; +- if ((line.p1-lines[num].p0).Length2() < 1e-15) continue; +- if ((line.p1-lines[num].p1).Length2() < 1e-15) continue; +- mindist = min (mindist, line.Dist(lines[num])); +- } +- +- mindist /= (occparam.resthcloseedgefac + VSMALL); +- +- if (mindist < 1e-3) +- { +- (*testout) << "extremely small local h: " << mindist +- << " --> setting to 1e-3" << endl; +- (*testout) << "somewhere near " << line.p0 << " - " << line.p1 << endl; +- mindist = 1e-3; +- } +- +- mesh.RestrictLocalHLine(line.p0, line.p1, mindist); +- } +- } +- +- multithread.task = savetask; +- +- } +- +- // Philippose - 09/03/2009 +- // Added the capability to load the mesh size from a +- // file also for OpenCascade Geometry +- // Note: +- // ** If the "uselocalh" option is ticked in +- // the "mesh options...insider" menu, the mesh +- // size will be further modified by the topology +- // analysis routines. +- // ** To use the mesh size file as the sole source +- // for defining the mesh size, uncheck the "uselocalh" +- // option. +- mesh.LoadLocalMeshSize (mparam.meshsizefilename); +- } +- +- +- +- int OCCGenerateMesh (OCCGeometry & geom, Mesh *& mesh, MeshingParameters & mparam, +- int perfstepsstart, int perfstepsend) +- { +- multithread.percent = 0; +- +- if (perfstepsstart <= MESHCONST_ANALYSE) +- { +- delete mesh; +- mesh = new Mesh(); +- mesh->geomtype = Mesh::GEOM_OCC; +- +- OCCSetLocalMeshSize(geom,*mesh); +- } +- +- if (multithread.terminate || perfstepsend <= MESHCONST_ANALYSE) +- return TCL_OK; +- +- if (perfstepsstart <= MESHCONST_MESHEDGES) +- { +- OCCFindEdges (geom, *mesh); +- +- /* +- cout << "Removing redundant points" << endl; +- +- int i, j; +- int np = mesh->GetNP(); +- Array equalto; +- +- equalto.SetSize (np); +- equalto = 0; +- +- for (i = 1; i <= np; i++) +- { +- for (j = i+1; j <= np; j++) +- { +- if (!equalto[j-1] && (Dist2 (mesh->Point(i), mesh->Point(j)) < 1e-12)) +- equalto[j-1] = i; +- } +- } +- +- for (i = 1; i <= np; i++) +- if (equalto[i-1]) +- { +- cout << "Point " << i << " is equal to Point " << equalto[i-1] << endl; +- for (j = 1; j <= mesh->GetNSeg(); j++) +- { +- Segment & seg = mesh->LineSegment(j); +- if (seg[0] == i) seg[0] = equalto[i-1]; +- if (seg[1] == i) seg[1] = equalto[i-1]; +- } +- } +- +- cout << "Removing degenerated segments" << endl; +- for (j = 1; j <= mesh->GetNSeg(); j++) +- { +- Segment & seg = mesh->LineSegment(j); +- if (seg[0] == seg[1]) +- { +- mesh->DeleteSegment(j); +- cout << "Deleting Segment " << j << endl; +- } +- } +- +- mesh->Compress(); +- */ +- +- /* +- for (int i = 1; i <= geom.fmap.Extent(); i++) +- { +- Handle(Geom_Surface) hf1 = +- BRep_Tool::Surface(TopoDS::Face(geom.fmap(i))); +- for (int j = i+1; j <= geom.fmap.Extent(); j++) +- { +- Handle(Geom_Surface) hf2 = +- BRep_Tool::Surface(TopoDS::Face(geom.fmap(j))); +- if (hf1 == hf2) cout << "face " << i << " and face " << j << " lie on same surface" << endl; +- } +- } +- */ +- +-#ifdef LOG_STREAM +- (*logout) << "Edges meshed" << endl +- << "time = " << GetTime() << " sec" << endl +- << "points: " << mesh->GetNP() << endl; +-#endif +- } +- +- if (multithread.terminate || perfstepsend <= MESHCONST_MESHEDGES) +- return TCL_OK; +- +- if (perfstepsstart <= MESHCONST_MESHSURFACE) +- { +- OCCMeshSurface (geom, *mesh, perfstepsend); +- if (multithread.terminate) return TCL_OK; +- +-#ifdef LOG_STREAM +- (*logout) << "Surfaces meshed" << endl +- << "time = " << GetTime() << " sec" << endl +- << "points: " << mesh->GetNP() << endl; +-#endif +- +-#ifdef STAT_STREAM +- (*statout) << mesh->GetNSeg() << " & " +- << mesh->GetNSE() << " & - &" +- << GetTime() << " & " << endl; +-#endif +- +- // MeshQuality2d (*mesh); +- mesh->CalcSurfacesOfNode(); +- } +- +- if (multithread.terminate || perfstepsend <= MESHCONST_OPTSURFACE) +- return TCL_OK; +- +- if (perfstepsstart <= MESHCONST_MESHVOLUME) +- { +- multithread.task = "Volume meshing"; +- +- MESHING3_RESULT res = MeshVolume (mparam, *mesh); +- +-/* +- ofstream problemfile("occmesh.rep",ios_base::app); +- +- problemfile << "VOLUMEMESHING" << endl << endl; +- if(res != MESHING3_OK) +- problemfile << "ERROR" << endl << endl; +- else +- problemfile << "OK" << endl +- << mesh->GetNE() << " elements" << endl << endl; +- +- problemfile.close(); +-*/ +- +- if (res != MESHING3_OK) return TCL_ERROR; +- +- if (multithread.terminate) return TCL_OK; +- +- RemoveIllegalElements (*mesh); +- if (multithread.terminate) return TCL_OK; +- +- MeshQuality3d (*mesh); +- +-#ifdef STAT_STREAM +- (*statout) << GetTime() << " & "; +-#endif +- +-#ifdef LOG_STREAM +- (*logout) << "Volume meshed" << endl +- << "time = " << GetTime() << " sec" << endl +- << "points: " << mesh->GetNP() << endl; +-#endif +- } +- +- if (multithread.terminate || perfstepsend <= MESHCONST_MESHVOLUME) +- return TCL_OK; +- +- if (perfstepsstart <= MESHCONST_OPTVOLUME) +- { +- multithread.task = "Volume optimization"; +- +- OptimizeVolume (mparam, *mesh); +- if (multithread.terminate) return TCL_OK; +- +-#ifdef STAT_STREAM +- (*statout) << GetTime() << " & " +- << mesh->GetNE() << " & " +- << mesh->GetNP() << " " << '\\' << '\\' << " \\" << "hline" << endl; +-#endif +- +-#ifdef LOG_STREAM +- (*logout) << "Volume optimized" << endl +- << "time = " << GetTime() << " sec" << endl +- << "points: " << mesh->GetNP() << endl; +-#endif +- +- // cout << "Optimization complete" << endl; +- +- } +- +- (*testout) << "NP: " << mesh->GetNP() << endl; +- for (int i = 1; i <= mesh->GetNP(); i++) +- (*testout) << mesh->Point(i) << endl; +- +- (*testout) << endl << "NSegments: " << mesh->GetNSeg() << endl; +- for (int i = 1; i <= mesh->GetNSeg(); i++) +- (*testout) << mesh->LineSegment(i) << endl; +- +- return TCL_OK; +- } +-} +- +-#endif ++#ifdef OCCGEOMETRY ++ ++#include ++#include ++#include ++ ++ ++namespace netgen ++{ ++ ++#include "occmeshsurf.hpp" ++ ++#define TCL_OK 0 ++#define TCL_ERROR 1 ++ ++#define DIVIDEEDGESECTIONS 1000 ++#define IGNORECURVELENGTH 1e-4 ++#define VSMALL 1e-10 ++ ++ ++ bool merge_solids = 1; ++ ++ ++ // can you please explain what you intend to compute here (JS) !!! ++ double Line :: Dist (Line l) ++ { ++ Vec<3> n = p1-p0; ++ Vec<3> q = l.p1-l.p0; ++ double nq = n*q; ++ ++ Point<3> p = p0 + 0.5*n; ++ double lambda = (p-l.p0)*n / (nq + VSMALL); ++ ++ if (lambda >= 0 && lambda <= 1) ++ { ++ double d = (p-l.p0-lambda*q).Length(); ++ // if (d < 1e-3) d = 1e99; ++ return d; ++ } ++ else ++ return 1e99; ++ } ++ ++ ++ ++ double Line :: Length () ++ { ++ return (p1-p0).Length(); ++ } ++ ++ ++ ++ inline Point<3> occ2ng (const gp_Pnt & p) ++ { ++ return Point<3> (p.X(), p.Y(), p.Z()); ++ } ++ ++ ++ ++ double ComputeH (double kappa) ++ { ++ double hret; ++ kappa *= mparam.curvaturesafety; ++ ++ if (mparam.maxh * kappa < 1) ++ hret = mparam.maxh; ++ else ++ hret = 1 / (kappa + VSMALL); ++ ++ if (mparam.maxh < hret) ++ hret = mparam.maxh; ++ ++ return (hret); ++ } ++ ++ ++ ++ ++ void RestrictHTriangle (gp_Pnt2d & par0, gp_Pnt2d & par1, gp_Pnt2d & par2, ++ BRepLProp_SLProps * prop, Mesh & mesh, int depth, double h = 0) ++ { ++ int ls = -1; ++ ++ gp_Pnt pnt0,pnt1,pnt2; ++ ++ prop->SetParameters (par0.X(), par0.Y()); ++ pnt0 = prop->Value(); ++ ++ prop->SetParameters (par1.X(), par1.Y()); ++ pnt1 = prop->Value(); ++ ++ prop->SetParameters (par2.X(), par2.Y()); ++ pnt2 = prop->Value(); ++ ++ double aux; ++ double maxside = pnt0.Distance(pnt1); ++ ls = 2; ++ aux = pnt1.Distance(pnt2); ++ if(aux > maxside) ++ { ++ maxside = aux; ++ ls = 0; ++ } ++ aux = pnt2.Distance(pnt0); ++ if(aux > maxside) ++ { ++ maxside = aux; ++ ls = 1; ++ } ++ ++ ++ ++ gp_Pnt2d parmid; ++ ++ parmid.SetX( (par0.X()+par1.X()+par2.X()) / 3 ); ++ parmid.SetY( (par0.Y()+par1.Y()+par2.Y()) / 3 ); ++ ++ if (depth%3 == 0) ++ { ++ double curvature = 0; ++ ++ prop->SetParameters (parmid.X(), parmid.Y()); ++ if (!prop->IsCurvatureDefined()) ++ { ++ (*testout) << "curvature not defined!" << endl; ++ return; ++ } ++ curvature = max(fabs(prop->MinCurvature()), ++ fabs(prop->MaxCurvature())); ++ ++ prop->SetParameters (par0.X(), par0.Y()); ++ if (!prop->IsCurvatureDefined()) ++ { ++ (*testout) << "curvature not defined!" << endl; ++ return; ++ } ++ curvature = max(curvature,max(fabs(prop->MinCurvature()), ++ fabs(prop->MaxCurvature()))); ++ ++ prop->SetParameters (par1.X(), par1.Y()); ++ if (!prop->IsCurvatureDefined()) ++ { ++ (*testout) << "curvature not defined!" << endl; ++ return; ++ } ++ curvature = max(curvature,max(fabs(prop->MinCurvature()), ++ fabs(prop->MaxCurvature()))); ++ ++ prop->SetParameters (par2.X(), par2.Y()); ++ if (!prop->IsCurvatureDefined()) ++ { ++ (*testout) << "curvature not defined!" << endl; ++ return; ++ } ++ curvature = max(curvature,max(fabs(prop->MinCurvature()), ++ fabs(prop->MaxCurvature()))); ++ ++ //(*testout) << "curvature " << curvature << endl; ++ ++ if (curvature < 1e-3) ++ { ++ //(*testout) << "curvature too small (" << curvature << ")!" << endl; ++ return; ++ // return war bis 10.2.05 auskommentiert ++ } ++ ++ ++ ++ h = ComputeH (curvature+1e-10); ++ ++ if(h < 1e-4*maxside) ++ return; ++ ++ // commented to restrict H on a large sphere for example ++ //if (h > 30) return; ++ } ++ ++ if (h < maxside && depth < 10) ++ { ++ //cout << "\r h " << h << flush; ++ gp_Pnt2d pm; ++ ++ //cout << "h " << h << " maxside " << maxside << " depth " << depth << endl; ++ //cout << "par0 " << par0.X() << " " << par0.Y() ++ //<< " par1 " << par1.X() << " " << par1.Y() ++ // << " par2 " << par2.X() << " " << par2.Y()<< endl; ++ ++ if(ls == 0) ++ { ++ pm.SetX(0.5*(par1.X()+par2.X())); pm.SetY(0.5*(par1.Y()+par2.Y())); ++ RestrictHTriangle(pm, par2, par0, prop, mesh, depth+1, h); ++ RestrictHTriangle(pm, par0, par1, prop, mesh, depth+1, h); ++ } ++ else if(ls == 1) ++ { ++ pm.SetX(0.5*(par0.X()+par2.X())); pm.SetY(0.5*(par0.Y()+par2.Y())); ++ RestrictHTriangle(pm, par1, par2, prop, mesh, depth+1, h); ++ RestrictHTriangle(pm, par0, par1, prop, mesh, depth+1, h); ++ } ++ else if(ls == 2) ++ { ++ pm.SetX(0.5*(par0.X()+par1.X())); pm.SetY(0.5*(par0.Y()+par1.Y())); ++ RestrictHTriangle(pm, par1, par2, prop, mesh, depth+1, h); ++ RestrictHTriangle(pm, par2, par0, prop, mesh, depth+1, h); ++ } ++ ++ } ++ else ++ { ++ gp_Pnt pnt; ++ Point3d p3d; ++ ++ prop->SetParameters (parmid.X(), parmid.Y()); ++ pnt = prop->Value(); ++ p3d = Point3d(pnt.X(), pnt.Y(), pnt.Z()); ++ mesh.RestrictLocalH (p3d, h); ++ ++ p3d = Point3d(pnt0.X(), pnt0.Y(), pnt0.Z()); ++ mesh.RestrictLocalH (p3d, h); ++ ++ p3d = Point3d(pnt1.X(), pnt1.Y(), pnt1.Z()); ++ mesh.RestrictLocalH (p3d, h); ++ ++ p3d = Point3d(pnt2.X(), pnt2.Y(), pnt2.Z()); ++ mesh.RestrictLocalH (p3d, h); ++ ++ //(*testout) << "p = " << p3d << ", h = " << h << ", maxside = " << maxside << endl; ++ ++ } ++ } ++ ++ ++ ++ void DivideEdge (TopoDS_Edge & edge, Array & ps, ++ Array & params, Mesh & mesh) ++ { ++ double s0, s1; ++ double maxh = mparam.maxh; ++ int nsubedges = 1; ++ gp_Pnt pnt, oldpnt; ++ double svalue[DIVIDEEDGESECTIONS]; ++ ++ GProp_GProps system; ++ BRepGProp::LinearProperties(edge, system); ++ double L = system.Mass(); ++ ++ Handle(Geom_Curve) c = BRep_Tool::Curve(edge, s0, s1); ++ ++ double hvalue[DIVIDEEDGESECTIONS+1]; ++ hvalue[0] = 0; ++ pnt = c->Value(s0); ++ ++ //double olddist = 0; -- useless variables ++ //double dist = 0; ++ ++ int tmpVal = (int)(DIVIDEEDGESECTIONS); ++ ++ for (int i = 1; i <= tmpVal; i++) ++ { ++ oldpnt = pnt; ++ pnt = c->Value(s0+(i/double(DIVIDEEDGESECTIONS))*(s1-s0)); ++ // -- no more than 1 segment per /DIVIDEEDGESECTIONS ++ hvalue[i] = hvalue[i-1] + ++ // 1.0/mesh.GetH(Point3d(pnt.X(), pnt.Y(), pnt.Z()))* ++ // pnt.Distance(oldpnt); ++ min( 1.0, ++ 1.0/mesh.GetH(Point3d(pnt.X(), pnt.Y(), pnt.Z()))* ++ pnt.Distance(oldpnt)); ++ ++ //(*testout) << "mesh.GetH(Point3d(pnt.X(), pnt.Y(), pnt.Z())) " << mesh.GetH(Point3d(pnt.X(), pnt.Y(), pnt.Z())) ++ // << " pnt.Distance(oldpnt) " << pnt.Distance(oldpnt) << endl; ++ ++ //olddist = dist; -- useless variables ++ //dist = pnt.Distance(oldpnt); ++ } ++ ++ // nsubedges = int(ceil(hvalue[DIVIDEEDGESECTIONS])); ++ nsubedges = max (1, int(floor(hvalue[DIVIDEEDGESECTIONS]+0.5))); ++ ++ ps.SetSize(nsubedges-1); ++ params.SetSize(nsubedges+1); ++ ++ int i = 1; ++ int i1 = 0; ++ do ++ { ++ if (hvalue[i1]/hvalue[DIVIDEEDGESECTIONS]*nsubedges >= i) ++ { ++ // -- for nsubedges comparable to DIVIDEEDGESECTIONS ++ //params[i] = s0+(i1/double(DIVIDEEDGESECTIONS))*(s1-s0); ++ double d1 = i1 - (hvalue[i1] - i*hvalue[DIVIDEEDGESECTIONS]/nsubedges)/(hvalue[i1]-hvalue[i1-1]); ++ params[i] = s0+(d1/double(DIVIDEEDGESECTIONS))*(s1-s0); ++ pnt = c->Value(params[i]); ++ ps[i-1] = MeshPoint (Point3d(pnt.X(), pnt.Y(), pnt.Z())); ++ i++; ++ } ++ i1++; ++ if (i1 > DIVIDEEDGESECTIONS) ++ { ++ nsubedges = i; ++ ps.SetSize(nsubedges-1); ++ params.SetSize(nsubedges+1); ++ cout << "divide edge: local h too small" << endl; ++ } ++ } while (i < nsubedges); ++ ++ params[0] = s0; ++ params[nsubedges] = s1; ++ ++ if (params[nsubedges] <= params[nsubedges-1]) ++ { ++ cout << "CORRECTED" << endl; ++ ps.SetSize (nsubedges-2); ++ params.SetSize (nsubedges); ++ params[nsubedges] = s1; ++ } ++ } ++ ++ ++ ++ ++ void OCCFindEdges (OCCGeometry & geom, Mesh & mesh) ++ { ++ const char * savetask = multithread.task; ++ multithread.task = "Edge meshing"; ++ ++ (*testout) << "edge meshing" << endl; ++ ++ int nvertices = geom.vmap.Extent(); ++ int nedges = geom.emap.Extent(); ++ ++ (*testout) << "nvertices = " << nvertices << endl; ++ (*testout) << "nedges = " << nedges << endl; ++ ++ double eps = 1e-6 * geom.GetBoundingBox().Diam(); ++ const double eps2 = eps * eps; // -- small optimization ++ ++ int first_vp = mesh.GetNP()+1; // -- to support SALOME sub-meshes ++ ++ for (int i = 1; i <= nvertices; i++) ++ { ++ gp_Pnt pnt = BRep_Tool::Pnt (TopoDS::Vertex(geom.vmap(i))); ++ MeshPoint mp( Point<3>(pnt.X(), pnt.Y(), pnt.Z()) ); ++ ++ bool exists = 0; ++ if (merge_solids) ++ for (PointIndex pi = 1; pi <= mesh.GetNP(); pi++) ++ //if ( Dist2 (mesh[pi], Point<3>(mp)) < eps*eps) ++ if ( Dist2 (mesh[pi], Point<3>(mp)) < eps2 ) // -- small optimization ++ { ++ exists = 1; ++ break; ++ } ++ ++ if (!exists) ++ mesh.AddPoint (mp); ++ } ++ ++ (*testout) << "different vertices = " << mesh.GetNP() << endl; ++ ++ ++ int first_ep = mesh.GetNP()+1; ++ ++ Array face2solid[2]; ++ for (int i = 0; i<2; i++) ++ { ++ face2solid[i].SetSize (geom.fmap.Extent()); ++ face2solid[i] = 0; ++ } ++ ++ int solidnr = 0; ++ for (TopExp_Explorer exp0(geom.shape, TopAbs_SOLID); exp0.More(); exp0.Next()) ++ { ++ solidnr++; ++ for (TopExp_Explorer exp1(exp0.Current(), TopAbs_FACE); exp1.More(); exp1.Next()) ++ { ++ TopoDS_Face face = TopoDS::Face(exp1.Current()); ++ int facenr = geom.fmap.FindIndex(face); ++ if ( facenr < 1 ) continue; // -- to support SALOME sub-meshes ++ ++ if (face2solid[0][facenr-1] == 0) ++ face2solid[0][facenr-1] = solidnr; ++ else ++ face2solid[1][facenr-1] = solidnr; ++ } ++ } ++ ++ ++ int total = 0; ++ for (int i3 = 1; i3 <= geom.fmap.Extent(); i3++) ++ for (TopExp_Explorer exp2(geom.fmap(i3), TopAbs_WIRE); exp2.More(); exp2.Next()) ++ for (TopExp_Explorer exp3(exp2.Current(), TopAbs_EDGE); exp3.More(); exp3.Next()) ++ total++; ++ ++ ++ int facenr = 0; ++ int edgenr = 0; ++ ++ edgenr = mesh.GetNSeg(); // to support SALOME sub-meshes ++ ++ (*testout) << "faces = " << geom.fmap.Extent() << endl; ++ int curr = 0; ++ ++ for (int i3 = 1; i3 <= geom.fmap.Extent(); i3++) ++ { ++ TopoDS_Face face = TopoDS::Face(geom.fmap(i3)); ++ facenr = geom.fmap.FindIndex (face); // sollte doch immer == i3 sein ??? JS ++ ++ int solidnr0 = face2solid[0][i3-1]; ++ int solidnr1 = face2solid[1][i3-1]; ++ ++ /* auskommentiert am 3.3.05 von robert ++ for (exp2.Init (geom.somap(solidnr0), TopAbs_FACE); exp2.More(); exp2.Next()) ++ { ++ TopoDS_Face face2 = TopoDS::Face(exp2.Current()); ++ if (geom.fmap.FindIndex(face2) == facenr) ++ { ++ // if (face.Orientation() != face2.Orientation()) swap (solidnr0, solidnr1); ++ } ++ } ++ */ ++ ++ mesh.AddFaceDescriptor (FaceDescriptor(facenr, solidnr0, solidnr1, 0)); ++ ++ // Philippose - 06/07/2009 ++ // Add the face colour to the mesh data ++ Quantity_Color face_colour; ++ ++ if(!(geom.face_colours.IsNull()) ++ && (geom.face_colours->GetColor(face,XCAFDoc_ColorSurf,face_colour))) ++ { ++ mesh.GetFaceDescriptor(facenr).SetSurfColour(Vec3d(face_colour.Red(),face_colour.Green(),face_colour.Blue())); ++ } ++ else ++ { ++ mesh.GetFaceDescriptor(facenr).SetSurfColour(Vec3d(0.0,1.0,0.0)); ++ } ++ // ACHTUNG! STIMMT NICHT ALLGEMEIN (RG) ++ ++ ++ Handle(Geom_Surface) occface = BRep_Tool::Surface(face); ++ ++ for (TopExp_Explorer exp2 (face, TopAbs_WIRE); exp2.More(); exp2.Next()) ++ { ++ TopoDS_Shape wire = exp2.Current(); ++ ++ for (TopExp_Explorer exp3 (wire, TopAbs_EDGE); exp3.More(); exp3.Next()) ++ { ++ curr++; ++ (*testout) << "edge nr " << curr << endl; ++ ++ multithread.percent = 100 * curr / double (total); ++ if (multithread.terminate) return; ++ ++ TopoDS_Edge edge = TopoDS::Edge (exp3.Current()); ++ if (BRep_Tool::Degenerated(edge)) ++ { ++ //(*testout) << "ignoring degenerated edge" << endl; ++ continue; ++ } ++ if ( geom.emap.FindIndex(edge) < 1 ) continue; // to support SALOME sub-meshes ++ ++ if (geom.vmap.FindIndex(TopExp::FirstVertex (edge)) == ++ geom.vmap.FindIndex(TopExp::LastVertex (edge))) ++ { ++ GProp_GProps system; ++ BRepGProp::LinearProperties(edge, system); ++ ++ if (system.Mass() < eps) ++ { ++ cout << "ignoring edge " << geom.emap.FindIndex (edge) ++ << ". closed edge with length < " << eps << endl; ++ continue; ++ } ++ } ++ ++ ++ Handle(Geom2d_Curve) cof; ++ double s0, s1; ++ cof = BRep_Tool::CurveOnSurface (edge, face, s0, s1); ++ ++ int geomedgenr = geom.emap.FindIndex(edge); ++ ++ Array mp; ++ Array params; ++ ++ DivideEdge (edge, mp, params, mesh); ++ ++ Array pnums; ++ pnums.SetSize (mp.Size()+2); ++ ++ if (!merge_solids) ++ { ++ //pnums[0] = geom.vmap.FindIndex (TopExp::FirstVertex (edge)); ++ //pnums[pnums.Size()-1] = geom.vmap.FindIndex (TopExp::LastVertex (edge)); ++ MeshPoint dfltP ( Point<3> ( 0, 0, 0 ) ); ++ int *ipp[] = { &pnums[0], &pnums[pnums.Size()-1] }; ++ TopoDS_Iterator vIt( edge, false ); ++ TopoDS_Vertex v[2]; ++ v[0] = TopoDS::Vertex( vIt.Value() ); vIt.Next(); ++ v[1] = TopoDS::Vertex( vIt.Value() ); ++ if ( v[0].Orientation() == TopAbs_REVERSED ) ++ std::swap( v[0], v[1] ); ++ for ( int i = 0; i < 2; ++i) ++ { ++ int &ip = *ipp[i]; ++ ip = geom.vmap.FindIndex ( v[i] ); ++ if ( ip == 0 || ip > nvertices ) ++ { ++ int iv = ip; ++ if ( ip == 0 ) ++ ip = iv = geom.vmap.Add( v[i] ); ++ gp_Pnt pnt = BRep_Tool::Pnt( v[i] ); ++ MeshPoint mp( Point<3>(pnt.X(), pnt.Y(), pnt.Z()) ); ++ for (PointIndex pi = 1; pi < first_vp; pi++) ++ if ( Dist2 (mesh.Point(pi), Point<3>(mp)) < 1e-100 ) ++ { ++ ip = pi; ++ if ( mesh.Point(ip).GetLayer() != dfltP.GetLayer() && mesh.Point(ip).GetLayer() != iv ) ++ continue; ++ if ( mesh.Point(ip).GetLayer() == dfltP.GetLayer()) ++ mesh.Point(ip) = MeshPoint( mesh.Point(ip), iv ); ++ break; ++ } ++ } ++ else ++ { ++ ip += first_vp - 1; ++ } ++ } ++ } ++ else ++ { ++ TopoDS_Iterator vIt( edge, false ); ++ TopoDS_Vertex v1 = TopoDS::Vertex( vIt.Value() ); vIt.Next(); ++ TopoDS_Vertex v2 = TopoDS::Vertex( vIt.Value() ); ++ if ( v1.Orientation() == TopAbs_REVERSED ) ++ std::swap( v1, v2 ); ++ const bool isClosedEdge = v1.IsSame( v2 ); ++ ++ Point<3> fp = occ2ng (BRep_Tool::Pnt (v1)); ++ Point<3> lp = occ2ng (BRep_Tool::Pnt (v2)); ++ double tol2 = std::min( eps*eps, 1e-6 * Dist2( fp, lp )); ++ if ( isClosedEdge ) ++ tol2 = BRep_Tool::Tolerance( v1 ) * BRep_Tool::Tolerance( v1 ); ++ ++ pnums[0] = -1; ++ pnums.Last() = -1; ++ for (PointIndex pi = 1; pi < first_ep; pi++) ++ { ++ if (Dist2 (mesh[pi], fp) < tol2) pnums[0] = pi; ++ if (Dist2 (mesh[pi], lp) < tol2) pnums.Last() = pi; ++ } ++ if (( isClosedEdge && pnums[0] != pnums.Last() ) || ++ ( !isClosedEdge && pnums[0] == pnums.Last() )) ++ pnums[0] = pnums.Last() = -1; ++ if ( pnums[0] == -1 || pnums.Last() == -1 ) ++ { ++ // take into account a possible large gap between a vertex and an edge curve ++ // end and a large vertex tolerance covering the whole edge ++ if ( pnums[0] == -1 ) ++ { ++ double tol = BRep_Tool::Tolerance( v1 ); ++ for (PointIndex pi = 1; pi < first_ep; pi++) ++ if (pi != pnums.Last() && Dist2 (mesh[pi], fp) < 2*tol*tol) ++ pnums[0] = pi; ++ ++ if ( pnums[0] == -1 ) ++ pnums[0] = first_ep-1- nvertices + geom.vmap.FindIndex ( v1 ); ++ } ++ if ( isClosedEdge ) ++ { ++ pnums.Last() = pnums[0]; ++ } ++ else ++ { ++ if ( pnums.Last() == -1 ) ++ { ++ double tol = BRep_Tool::Tolerance( v2 ); ++ for (PointIndex pi = 1; pi < first_ep; pi++) ++ if (pi != pnums[0] && Dist2 (mesh[pi], lp) < 2*tol*tol) ++ pnums.Last() = pi; ++ ++ if ( pnums.Last() == -1 ) ++ pnums.Last() = first_ep-1-nvertices + geom.vmap.FindIndex ( v2 ); ++ } ++ ++ if ( Dist2( fp, mesh[PointIndex(pnums[0])]) > ++ Dist2( lp, mesh[PointIndex(pnums.Last())])) ++ std::swap( pnums[0], pnums.Last() ); ++ } ++ } ++ } ++ ++ ++ for (int i = 1; i <= mp.Size(); i++) ++ { ++ bool exists = 0; ++ int j; ++ for (j = first_ep; j <= mesh.GetNP(); j++) ++ { ++ if (!merge_solids && mesh.Point(j).GetLayer() != geomedgenr ) continue; // to support SALOME fuse edges ++ if ((mesh.Point(j)-Point<3>(mp[i-1])).Length() < eps) ++ { ++ exists = 1; ++ break; ++ } ++ } ++ ++ if (exists) ++ pnums[i] = j; ++ else ++ { ++ mesh.AddPoint (mp[i-1], geomedgenr); // to support SALOME fuse edges ++ (*testout) << "add meshpoint " << mp[i-1] << endl; ++ pnums[i] = mesh.GetNP(); ++ } ++ } ++ (*testout) << "NP = " << mesh.GetNP() << endl; ++ ++ //(*testout) << pnums[pnums.Size()-1] << endl; ++ ++ for (int i = 1; i <= mp.Size()+1; i++) ++ { ++ edgenr++; ++ Segment seg; ++ ++ seg[0] = pnums[i-1]; ++ seg[1] = pnums[i]; ++ seg.edgenr = edgenr; ++ seg.si = facenr; ++ seg.epgeominfo[0].dist = params[i-1]; ++ seg.epgeominfo[1].dist = params[i]; ++ seg.epgeominfo[0].edgenr = geomedgenr; ++ seg.epgeominfo[1].edgenr = geomedgenr; ++ ++ gp_Pnt2d p2d; ++ p2d = cof->Value(params[i-1]); ++ // if (i == 1) p2d = cof->Value(s0); ++ seg.epgeominfo[0].u = p2d.X(); ++ seg.epgeominfo[0].v = p2d.Y(); ++ p2d = cof->Value(params[i]); ++ // if (i == mp.Size()+1) p2d = cof -> Value(s1); ++ seg.epgeominfo[1].u = p2d.X(); ++ seg.epgeominfo[1].v = p2d.Y(); ++ ++ /* ++ if (occface->IsUPeriodic()) ++ { ++ cout << "U Periodic" << endl; ++ if (fabs(seg.epgeominfo[1].u-seg.epgeominfo[0].u) > ++ fabs(seg.epgeominfo[1].u- ++ (seg.epgeominfo[0].u-occface->UPeriod()))) ++ seg.epgeominfo[0].u = p2d.X()+occface->UPeriod(); ++ ++ if (fabs(seg.epgeominfo[1].u-seg.epgeominfo[0].u) > ++ fabs(seg.epgeominfo[1].u- ++ (seg.epgeominfo[0].u+occface->UPeriod()))) ++ seg.epgeominfo[0].u = p2d.X()-occface->UPeriod(); ++ } ++ ++ if (occface->IsVPeriodic()) ++ { ++ cout << "V Periodic" << endl; ++ if (fabs(seg.epgeominfo[1].v-seg.epgeominfo[0].v) > ++ fabs(seg.epgeominfo[1].v- ++ (seg.epgeominfo[0].v-occface->VPeriod()))) ++ seg.epgeominfo[0].v = p2d.Y()+occface->VPeriod(); ++ ++ if (fabs(seg.epgeominfo[1].v-seg.epgeominfo[0].v) > ++ fabs(seg.epgeominfo[1].v- ++ (seg.epgeominfo[0].v+occface->VPeriod()))) ++ seg.epgeominfo[0].v = p2d.Y()-occface->VPeriod(); ++ } ++ */ ++ ++ if (edge.Orientation() == TopAbs_REVERSED) ++ { ++ swap (seg[0], seg[1]); ++ swap (seg.epgeominfo[0].dist, seg.epgeominfo[1].dist); ++ swap (seg.epgeominfo[0].u, seg.epgeominfo[1].u); ++ swap (seg.epgeominfo[0].v, seg.epgeominfo[1].v); ++ } ++ ++ mesh.AddSegment (seg); ++ ++ //edgesegments[geomedgenr-1]->Append(mesh.GetNSeg()); ++ ++ } ++ } ++ } ++ } ++ ++ // for(i=1; i<=mesh.GetNSeg(); i++) ++ // (*testout) << "edge " << mesh.LineSegment(i).edgenr << " face " << mesh.LineSegment(i).si ++ // << " p1 " << mesh.LineSegment(i)[0] << " p2 " << mesh.LineSegment(i)[1] << endl; ++ // exit(10); ++ for (int j = 1; j <= mesh.GetNP(); j++) // to support SALOME fuse edges: set level to zero ++ mesh.Point(j) = MeshPoint( (Point<3>&) mesh.Point(j) ); ++ ++ mesh.CalcSurfacesOfNode(); ++ multithread.task = savetask; ++ } ++ ++ ++ ++ ++ void OCCMeshSurface (OCCGeometry & geom, Mesh & mesh, int perfstepsend) ++ { ++ int i, j, k; ++ int changed; ++ ++ const char * savetask = multithread.task; ++ multithread.task = "Surface meshing"; ++ ++ geom.facemeshstatus = 0; ++ ++ int noldp = mesh.GetNP(); ++ ++ double starttime = GetTime(); ++ ++ Array glob2loc(noldp); ++ ++ //int projecttype = PARAMETERSPACE; ++ ++ int projecttype = PARAMETERSPACE; ++ ++ int notrys = 1; ++ ++ int surfmesherror = 0; ++ ++ for (k = 1; k <= mesh.GetNFD(); k++) ++ { ++ if(1==0 && !geom.fvispar[k-1].IsDrawable()) ++ { ++ (*testout) << "ignoring face " << k << endl; ++ cout << "ignoring face " << k << endl; ++ continue; ++ } ++ ++ (*testout) << "mesh face " << k << endl; ++ multithread.percent = 100 * k / (mesh.GetNFD() + VSMALL); ++ geom.facemeshstatus[k-1] = -1; ++ ++ ++ /* ++ if (k != 42) ++ { ++ cout << "skipped" << endl; ++ continue; ++ } ++ */ ++ ++ ++ FaceDescriptor & fd = mesh.GetFaceDescriptor(k); ++ ++ int oldnf = mesh.GetNSE(); ++ ++ Box<3> bb = geom.GetBoundingBox(); ++ ++ // int projecttype = PLANESPACE; ++ ++ Meshing2OCCSurfaces meshing(TopoDS::Face(geom.fmap(k)), bb, projecttype); ++ ++ if (meshing.GetProjectionType() == PLANESPACE) ++ PrintMessage (2, "Face ", k, " / ", mesh.GetNFD(), " (plane space projection)"); ++ else ++ PrintMessage (2, "Face ", k, " / ", mesh.GetNFD(), " (parameter space projection)"); ++ ++ if (surfmesherror) ++ cout << "Surface meshing error occured before (in " << surfmesherror << " faces)" << endl; ++ ++ // Meshing2OCCSurfaces meshing(f2, bb); ++ meshing.SetStartTime (starttime); ++ ++ //(*testout) << "Face " << k << endl << endl; ++ ++ ++ if (meshing.GetProjectionType() == PLANESPACE) ++ { ++ int cntp = 0; ++ glob2loc = 0; ++ for (i = 1; i <= mesh.GetNSeg(); i++) ++ { ++ Segment & seg = mesh.LineSegment(i); ++ if (seg.si == k) ++ { ++ for (j = 1; j <= 2; j++) ++ { ++ int pi = (j == 1) ? seg[0] : seg[1]; ++ if (!glob2loc.Get(pi)) ++ { ++ meshing.AddPoint (mesh.Point(pi), pi); ++ cntp++; ++ glob2loc.Elem(pi) = cntp; ++ } ++ } ++ } ++ } ++ ++ for (i = 1; i <= mesh.GetNSeg(); i++) ++ { ++ Segment & seg = mesh.LineSegment(i); ++ if (seg.si == k) ++ { ++ PointGeomInfo gi0, gi1; ++ gi0.trignum = gi1.trignum = k; ++ gi0.u = seg.epgeominfo[0].u; ++ gi0.v = seg.epgeominfo[0].v; ++ gi1.u = seg.epgeominfo[1].u; ++ gi1.v = seg.epgeominfo[1].v; ++ ++ meshing.AddBoundaryElement (glob2loc.Get(seg[0]), glob2loc.Get(seg[1]), gi0, gi1); ++ //(*testout) << gi0.u << " " << gi0.v << endl; ++ //(*testout) << gi1.u << " " << gi1.v << endl; ++ } ++ } ++ } ++ else ++ { ++ int cntp = 0; ++ ++ for (i = 1; i <= mesh.GetNSeg(); i++) ++ if (mesh.LineSegment(i).si == k) ++ cntp+=2; ++ ++ ++ Array< PointGeomInfo > gis; ++ ++ gis.SetAllocSize (cntp); ++ gis.SetSize (0); ++ ++ for (i = 1; i <= mesh.GetNSeg(); i++) ++ { ++ Segment & seg = mesh.LineSegment(i); ++ if (seg.si == k) ++ { ++ PointGeomInfo gi0, gi1; ++ gi0.trignum = gi1.trignum = k; ++ gi0.u = seg.epgeominfo[0].u; ++ gi0.v = seg.epgeominfo[0].v; ++ gi1.u = seg.epgeominfo[1].u; ++ gi1.v = seg.epgeominfo[1].v; ++ ++ int locpnum[2] = {0, 0}; ++ ++ for (j = 0; j < 2; j++) ++ { ++ PointGeomInfo gi = (j == 0) ? gi0 : gi1; ++ ++ int l; ++ for (l = 0; l < gis.Size() && locpnum[j] == 0; l++) ++ { ++ double dist = sqr (gis[l].u-gi.u)+sqr(gis[l].v-gi.v); ++ ++ if (dist < 1e-10) ++ locpnum[j] = l+1; ++ } ++ ++ if (locpnum[j] == 0) ++ { ++ int pi = (j == 0) ? seg[0] : seg[1]; ++ meshing.AddPoint (mesh.Point(pi), pi); ++ ++ gis.SetSize (gis.Size()+1); ++ gis[l] = gi; ++ locpnum[j] = l+1; ++ } ++ } ++ ++ meshing.AddBoundaryElement (locpnum[0], locpnum[1], gi0, gi1); ++ //(*testout) << gi0.u << " " << gi0.v << endl; ++ //(*testout) << gi1.u << " " << gi1.v << endl; ++ ++ } ++ } ++ } ++ ++ ++ ++ ++ ++ // Philippose - 15/01/2009 ++ double maxh = geom.face_maxh[k-1]; ++ //double maxh = mparam.maxh; ++ mparam.checkoverlap = 0; ++ // int noldpoints = mesh->GetNP(); ++ int noldsurfel = mesh.GetNSE(); ++ ++ GProp_GProps sprops; ++ BRepGProp::SurfaceProperties(TopoDS::Face(geom.fmap(k)),sprops); ++ meshing.SetMaxArea(2.*sprops.Mass()); ++ ++ MESHING2_RESULT res; ++ ++ try { ++ res = meshing.GenerateMesh (mesh, mparam, maxh, k); ++ } ++ ++ catch (SingularMatrixException) ++ { ++ (*myerr) << "Singular Matrix" << endl; ++ res = MESHING2_GIVEUP; ++ } ++ ++ catch (UVBoundsException) ++ { ++ (*myerr) << "UV bounds exceeded" << endl; ++ res = MESHING2_GIVEUP; ++ } ++ ++ projecttype = PARAMETERSPACE; ++ ++ if (res != MESHING2_OK) ++ { ++ if (notrys == 1) ++ { ++ for (int i = noldsurfel+1; i <= mesh.GetNSE(); i++) ++ mesh.DeleteSurfaceElement (i); ++ ++ mesh.Compress(); ++ ++ cout << "retry Surface " << k << endl; ++ ++ k--; ++ projecttype*=-1; ++ notrys++; ++ continue; ++ } ++ else ++ { ++ geom.facemeshstatus[k-1] = -1; ++ PrintError ("Problem in Surface mesh generation"); ++ surfmesherror++; ++ // throw NgException ("Problem in Surface mesh generation"); ++ } ++ } ++ else ++ { ++ geom.facemeshstatus[k-1] = 1; ++ } ++ ++ notrys = 1; ++ ++ for (i = oldnf+1; i <= mesh.GetNSE(); i++) ++ mesh.SurfaceElement(i).SetIndex (k); ++ ++ } ++ ++// ofstream problemfile("occmesh.rep"); ++ ++// problemfile << "SURFACEMESHING" << endl << endl; ++ ++ if (surfmesherror) ++ { ++ cout << "WARNING! NOT ALL FACES HAVE BEEN MESHED" << endl; ++ cout << "SURFACE MESHING ERROR OCCURED IN " << surfmesherror << " FACES:" << endl; ++ for (int i = 1; i <= geom.fmap.Extent(); i++) ++ if (geom.facemeshstatus[i-1] == -1) ++ { ++ cout << "Face " << i << endl; ++// problemfile << "problem with face " << i << endl; ++// problemfile << "vertices: " << endl; ++ TopExp_Explorer exp0,exp1,exp2; ++ for ( exp0.Init(TopoDS::Face (geom.fmap(i)), TopAbs_WIRE); exp0.More(); exp0.Next() ) ++ { ++ TopoDS_Wire wire = TopoDS::Wire(exp0.Current()); ++ for ( exp1.Init(wire,TopAbs_EDGE); exp1.More(); exp1.Next() ) ++ { ++ TopoDS_Edge edge = TopoDS::Edge(exp1.Current()); ++ for ( exp2.Init(edge,TopAbs_VERTEX); exp2.More(); exp2.Next() ) ++ { ++ TopoDS_Vertex vertex = TopoDS::Vertex(exp2.Current()); ++ gp_Pnt point = BRep_Tool::Pnt(vertex); ++// problemfile << point.X() << " " << point.Y() << " " << point.Z() << endl; ++ } ++ } ++ } ++// problemfile << endl; ++ ++ } ++ cout << endl << endl; ++ cout << "for more information open IGES/STEP Topology Explorer" << endl; ++// problemfile.close(); ++ throw NgException ("Problem in Surface mesh generation"); ++ } ++ else ++ { ++// problemfile << "OK" << endl << endl; ++// problemfile.close(); ++ } ++ ++ ++ ++ ++ if (multithread.terminate || perfstepsend < MESHCONST_OPTSURFACE) ++ return; ++ ++ multithread.task = "Optimizing surface"; ++ ++ static int timer_opt2d = NgProfiler::CreateTimer ("Optimization 2D"); ++ NgProfiler::StartTimer (timer_opt2d); ++ ++ for (k = 1; k <= mesh.GetNFD(); k++) ++ { ++ // if (k != 42) continue; ++ // if (k != 36) continue; ++ ++ // (*testout) << "optimize face " << k << endl; ++ multithread.percent = 100 * k / (mesh.GetNFD() + VSMALL); ++ ++ FaceDescriptor & fd = mesh.GetFaceDescriptor(k); ++ ++ PrintMessage (1, "Optimize Surface ", k); ++ for (i = 1; i <= mparam.optsteps2d; i++) ++ { ++ // (*testout) << "optstep " << i << endl; ++ if (multithread.terminate) return; ++ ++ { ++ MeshOptimize2dOCCSurfaces meshopt(geom); ++ meshopt.SetFaceIndex (k); ++ meshopt.SetImproveEdges (0); ++ meshopt.SetMetricWeight (mparam.elsizeweight); ++ //meshopt.SetMetricWeight (0.2); ++ meshopt.SetWriteStatus (0); ++ ++ // (*testout) << "EdgeSwapping (mesh, (i > mparam.optsteps2d/2))" << endl; ++ meshopt.EdgeSwapping (mesh, (i > mparam.optsteps2d/2)); ++ } ++ ++ if (multithread.terminate) return; ++ { ++ MeshOptimize2dOCCSurfaces meshopt(geom); ++ meshopt.SetFaceIndex (k); ++ meshopt.SetImproveEdges (0); ++ //meshopt.SetMetricWeight (0.2); ++ meshopt.SetMetricWeight (mparam.elsizeweight); ++ meshopt.SetWriteStatus (0); ++ ++ // (*testout) << "ImproveMesh (mesh)" << endl; ++ meshopt.ImproveMesh (mesh, mparam); ++ } ++ ++ { ++ MeshOptimize2dOCCSurfaces meshopt(geom); ++ meshopt.SetFaceIndex (k); ++ meshopt.SetImproveEdges (0); ++ //meshopt.SetMetricWeight (0.2); ++ meshopt.SetMetricWeight (mparam.elsizeweight); ++ meshopt.SetWriteStatus (0); ++ ++ // (*testout) << "CombineImprove (mesh)" << endl; ++ meshopt.CombineImprove (mesh); ++ } ++ ++ if (multithread.terminate) return; ++ { ++ MeshOptimize2dOCCSurfaces meshopt(geom); ++ meshopt.SetFaceIndex (k); ++ meshopt.SetImproveEdges (0); ++ //meshopt.SetMetricWeight (0.2); ++ meshopt.SetMetricWeight (mparam.elsizeweight); ++ meshopt.SetWriteStatus (0); ++ ++ // (*testout) << "ImproveMesh (mesh)" << endl; ++ meshopt.ImproveMesh (mesh, mparam); ++ } ++ } ++ ++ } ++ ++ ++ mesh.CalcSurfacesOfNode(); ++ mesh.Compress(); ++ ++ NgProfiler::StopTimer (timer_opt2d); ++ ++ multithread.task = savetask; ++ } ++ ++ ++ ++ void OCCSetLocalMeshSize(OCCGeometry & geom, Mesh & mesh) ++ { ++ mesh.SetGlobalH (mparam.maxh); ++ mesh.SetMinimalH (mparam.minh); ++ ++ Array maxhdom; ++ maxhdom.SetSize (geom.NrSolids()); ++ maxhdom = mparam.maxh; ++ ++ mesh.SetMaxHDomain (maxhdom); ++ ++ Box<3> bb = geom.GetBoundingBox(); ++ bb.Increase (bb.Diam()/10); ++ ++ mesh.SetLocalH (bb.PMin(), bb.PMax(), 0.5); ++ ++ if (mparam.uselocalh) ++ { ++ const char * savetask = multithread.task; ++ multithread.percent = 0; ++ ++ mesh.SetLocalH (bb.PMin(), bb.PMax(), mparam.grading); ++ ++ int nedges = geom.emap.Extent(); ++ ++ double mincurvelength = IGNORECURVELENGTH; ++ double maxedgelen = 0; ++ double minedgelen = 1e99; ++ ++ if(occparam.resthminedgelenenable) ++ { ++ mincurvelength = occparam.resthminedgelen; ++ if(mincurvelength < IGNORECURVELENGTH) mincurvelength = IGNORECURVELENGTH; ++ } ++ ++ multithread.task = "Setting local mesh size (elements per edge)"; ++ ++ // setting elements per edge ++ ++ for (int i = 1; i <= nedges && !multithread.terminate; i++) ++ { ++ TopoDS_Edge e = TopoDS::Edge (geom.emap(i)); ++ multithread.percent = 100 * (i-1)/double(nedges); ++ if (BRep_Tool::Degenerated(e)) continue; ++ ++ GProp_GProps system; ++ BRepGProp::LinearProperties(e, system); ++ double len = system.Mass(); ++ ++ if (len < mincurvelength) ++ { ++ (*testout) << "ignored" << endl; ++ continue; ++ } ++ ++ double localh = len/mparam.segmentsperedge; ++ double s0, s1; ++ ++ // Philippose - 23/01/2009 ++ // Find all the parent faces of a given edge ++ // and limit the mesh size of the edge based on the ++ // mesh size limit of the face ++ TopTools_IndexedDataMapOfShapeListOfShape edge_face_map; ++ edge_face_map.Clear(); ++ ++ TopExp::MapShapesAndAncestors(geom.shape, TopAbs_EDGE, TopAbs_FACE, edge_face_map); ++ const TopTools_ListOfShape& parent_faces = edge_face_map.FindFromKey(e); ++ ++ TopTools_ListIteratorOfListOfShape parent_face_list; ++ ++ for(parent_face_list.Initialize(parent_faces); parent_face_list.More(); parent_face_list.Next()) ++ { ++ TopoDS_Face parent_face = TopoDS::Face(parent_face_list.Value()); ++ ++ int face_index = geom.fmap.FindIndex(parent_face); ++ ++ if(face_index >= 1) localh = min(localh,geom.face_maxh[face_index - 1]); ++ } ++ ++ Handle(Geom_Curve) c = BRep_Tool::Curve(e, s0, s1); ++ ++ maxedgelen = max (maxedgelen, len); ++ minedgelen = min (minedgelen, len); ++ ++ // Philippose - 23/01/2009 ++ // Modified the calculation of maxj, because the ++ // method used so far always results in maxj = 2, ++ // which causes the localh to be set only at the ++ // starting, mid and end of the edge. ++ // Old Algorithm: ++ // int maxj = 2 * (int) ceil (localh/len); ++ int maxj = max((int) ceil(len/localh), 2); ++ ++ for (int j = 0; j <= maxj; j++) ++ { ++ gp_Pnt pnt = c->Value (s0+double(j)/maxj*(s1-s0)); ++ mesh.RestrictLocalH (Point3d(pnt.X(), pnt.Y(), pnt.Z()), localh); ++ } ++ } ++ ++ multithread.task = "Setting local mesh size (edge curvature)"; ++ ++ // setting edge curvature ++ ++ int nsections = 20; ++ ++ for (int i = 1; i <= nedges && !multithread.terminate; i++) ++ { ++ double maxcur = 0; ++ multithread.percent = 100 * (i-1)/double(nedges); ++ TopoDS_Edge edge = TopoDS::Edge (geom.emap(i)); ++ if (BRep_Tool::Degenerated(edge)) continue; ++ double s0, s1; ++ Handle(Geom_Curve) c = BRep_Tool::Curve(edge, s0, s1); ++ BRepAdaptor_Curve brepc(edge); ++ BRepLProp_CLProps prop(brepc, 2, 1e-5); ++ ++ for (int j = 1; j <= nsections; j++) ++ { ++ double s = s0 + j/(double) nsections * (s1-s0); ++ prop.SetParameter (s); ++ double curvature = prop.Curvature(); ++ if(curvature> maxcur) maxcur = curvature; ++ ++ if (curvature >= 1e99) ++ continue; ++ ++ gp_Pnt pnt = c->Value (s); ++ ++ mesh.RestrictLocalH (Point3d(pnt.X(), pnt.Y(), pnt.Z()), ComputeH (fabs(curvature))); ++ } ++ // (*testout) << "edge " << i << " max. curvature: " << maxcur << endl; ++ } ++ ++ multithread.task = "Setting local mesh size (face curvature)"; ++ ++ // setting face curvature ++ ++ int nfaces = geom.fmap.Extent(); ++ ++ for (int i = 1; i <= nfaces && !multithread.terminate; i++) ++ { ++ multithread.percent = 100 * (i-1)/double(nfaces); ++ TopoDS_Face face = TopoDS::Face(geom.fmap(i)); ++ TopLoc_Location loc; ++ Handle(Geom_Surface) surf = BRep_Tool::Surface (face); ++ Handle(Poly_Triangulation) triangulation = BRep_Tool::Triangulation (face, loc); ++ ++ if (triangulation.IsNull()) continue; ++ ++ BRepAdaptor_Surface sf(face, Standard_True); ++ BRepLProp_SLProps prop(sf, 2, 1e-5); ++ ++ int ntriangles = triangulation -> NbTriangles(); ++ for (int j = 1; j <= ntriangles; j++) ++ { ++ gp_Pnt p[3]; ++ gp_Pnt2d par[3]; ++ ++ for (int k = 1; k <=3; k++) ++ { ++ int n = triangulation->Triangles()(j)(k); ++ p[k-1] = triangulation->Nodes()(n).Transformed(loc); ++ par[k-1] = triangulation->UVNodes()(n); ++ } ++ ++ //double maxside = 0; ++ //maxside = max (maxside, p[0].Distance(p[1])); ++ //maxside = max (maxside, p[0].Distance(p[2])); ++ //maxside = max (maxside, p[1].Distance(p[2])); ++ //cout << "\rFace " << i << " pos11 ntriangles " << ntriangles << " maxside " << maxside << flush; ++ ++ RestrictHTriangle (par[0], par[1], par[2], &prop, mesh, 0); ++ //cout << "\rFace " << i << " pos12 ntriangles " << ntriangles << flush; ++ } ++ } ++ ++ // setting close edges ++ ++ if (occparam.resthcloseedgeenable) ++ { ++ multithread.task = "Setting local mesh size (close edges)"; ++ ++ int sections = 100; ++ ++ Array lines(sections*nedges); ++ ++ Box3dTree* searchtree = ++ new Box3dTree (bb.PMin(), bb.PMax()); ++ ++ int nlines = 0; ++ for (int i = 1; i <= nedges && !multithread.terminate; i++) ++ { ++ TopoDS_Edge edge = TopoDS::Edge (geom.emap(i)); ++ if (BRep_Tool::Degenerated(edge)) continue; ++ ++ double s0, s1; ++ Handle(Geom_Curve) c = BRep_Tool::Curve(edge, s0, s1); ++ BRepAdaptor_Curve brepc(edge); ++ BRepLProp_CLProps prop(brepc, 1, 1e-5); ++ prop.SetParameter (s0); ++ ++ gp_Vec d0 = prop.D1().Normalized(); ++ double s_start = s0; ++ int count = 0; ++ for (int j = 1; j <= sections; j++) ++ { ++ double s = s0 + (s1-s0)*(double)j/(double)sections; ++ prop.SetParameter (s); ++ gp_Vec d1 = prop.D1().Normalized(); ++ double cosalpha = fabs(d0*d1); ++ if ((j == sections) || (cosalpha < cos(10.0/180.0*M_PI))) ++ { ++ count++; ++ gp_Pnt p0 = c->Value (s_start); ++ gp_Pnt p1 = c->Value (s); ++ lines[nlines].p0 = Point<3> (p0.X(), p0.Y(), p0.Z()); ++ lines[nlines].p1 = Point<3> (p1.X(), p1.Y(), p1.Z()); ++ ++ Box3d box; ++ box.SetPoint (Point3d(lines[nlines].p0)); ++ box.AddPoint (Point3d(lines[nlines].p1)); ++ ++ searchtree->Insert (box.PMin(), box.PMax(), nlines+1); ++ nlines++; ++ ++ s_start = s; ++ d0 = d1; ++ } ++ } ++ } ++ ++ Array linenums; ++ ++ for (int i = 0; i < nlines; i++) ++ { ++ multithread.percent = (100*i)/double(nlines); ++ Line & line = lines[i]; ++ ++ Box3d box; ++ box.SetPoint (Point3d(line.p0)); ++ box.AddPoint (Point3d(line.p1)); ++ double maxhline = max (mesh.GetH(box.PMin()), ++ mesh.GetH(box.PMax())); ++ box.Increase(maxhline); ++ ++ double mindist = 1e99; ++ linenums.SetSize(0); ++ searchtree->GetIntersecting(box.PMin(),box.PMax(),linenums); ++ ++ for (int j = 0; j < linenums.Size(); j++) ++ { ++ int num = linenums[j]-1; ++ if (i == num) continue; ++ if ((line.p0-lines[num].p0).Length2() < 1e-15) continue; ++ if ((line.p0-lines[num].p1).Length2() < 1e-15) continue; ++ if ((line.p1-lines[num].p0).Length2() < 1e-15) continue; ++ if ((line.p1-lines[num].p1).Length2() < 1e-15) continue; ++ mindist = min (mindist, line.Dist(lines[num])); ++ } ++ ++ mindist /= (occparam.resthcloseedgefac + VSMALL); ++ ++ if (mindist < 1e-3) ++ { ++ (*testout) << "extremely small local h: " << mindist ++ << " --> setting to 1e-3" << endl; ++ (*testout) << "somewhere near " << line.p0 << " - " << line.p1 << endl; ++ mindist = 1e-3; ++ } ++ ++ mesh.RestrictLocalHLine(line.p0, line.p1, mindist); ++ } ++ } ++ ++ multithread.task = savetask; ++ ++ } ++ ++ // Philippose - 09/03/2009 ++ // Added the capability to load the mesh size from a ++ // file also for OpenCascade Geometry ++ // Note: ++ // ** If the "uselocalh" option is ticked in ++ // the "mesh options...insider" menu, the mesh ++ // size will be further modified by the topology ++ // analysis routines. ++ // ** To use the mesh size file as the sole source ++ // for defining the mesh size, uncheck the "uselocalh" ++ // option. ++ mesh.LoadLocalMeshSize (mparam.meshsizefilename); ++ } ++ ++ ++ ++ int OCCGenerateMesh (OCCGeometry & geom, Mesh *& mesh, MeshingParameters & mparam, ++ int perfstepsstart, int perfstepsend) ++ { ++ multithread.percent = 0; ++ ++ if (perfstepsstart <= MESHCONST_ANALYSE) ++ { ++ delete mesh; ++ mesh = new Mesh(); ++ mesh->geomtype = Mesh::GEOM_OCC; ++ ++ OCCSetLocalMeshSize(geom,*mesh); ++ } ++ ++ if (multithread.terminate || perfstepsend <= MESHCONST_ANALYSE) ++ return TCL_OK; ++ ++ if (perfstepsstart <= MESHCONST_MESHEDGES) ++ { ++ OCCFindEdges (geom, *mesh); ++ ++ /* ++ cout << "Removing redundant points" << endl; ++ ++ int i, j; ++ int np = mesh->GetNP(); ++ Array equalto; ++ ++ equalto.SetSize (np); ++ equalto = 0; ++ ++ for (i = 1; i <= np; i++) ++ { ++ for (j = i+1; j <= np; j++) ++ { ++ if (!equalto[j-1] && (Dist2 (mesh->Point(i), mesh->Point(j)) < 1e-12)) ++ equalto[j-1] = i; ++ } ++ } ++ ++ for (i = 1; i <= np; i++) ++ if (equalto[i-1]) ++ { ++ cout << "Point " << i << " is equal to Point " << equalto[i-1] << endl; ++ for (j = 1; j <= mesh->GetNSeg(); j++) ++ { ++ Segment & seg = mesh->LineSegment(j); ++ if (seg[0] == i) seg[0] = equalto[i-1]; ++ if (seg[1] == i) seg[1] = equalto[i-1]; ++ } ++ } ++ ++ cout << "Removing degenerated segments" << endl; ++ for (j = 1; j <= mesh->GetNSeg(); j++) ++ { ++ Segment & seg = mesh->LineSegment(j); ++ if (seg[0] == seg[1]) ++ { ++ mesh->DeleteSegment(j); ++ cout << "Deleting Segment " << j << endl; ++ } ++ } ++ ++ mesh->Compress(); ++ */ ++ ++ /* ++ for (int i = 1; i <= geom.fmap.Extent(); i++) ++ { ++ Handle(Geom_Surface) hf1 = ++ BRep_Tool::Surface(TopoDS::Face(geom.fmap(i))); ++ for (int j = i+1; j <= geom.fmap.Extent(); j++) ++ { ++ Handle(Geom_Surface) hf2 = ++ BRep_Tool::Surface(TopoDS::Face(geom.fmap(j))); ++ if (hf1 == hf2) cout << "face " << i << " and face " << j << " lie on same surface" << endl; ++ } ++ } ++ */ ++ ++#ifdef LOG_STREAM ++ (*logout) << "Edges meshed" << endl ++ << "time = " << GetTime() << " sec" << endl ++ << "points: " << mesh->GetNP() << endl; ++#endif ++ } ++ ++ if (multithread.terminate || perfstepsend <= MESHCONST_MESHEDGES) ++ return TCL_OK; ++ ++ if (perfstepsstart <= MESHCONST_MESHSURFACE) ++ { ++ OCCMeshSurface (geom, *mesh, perfstepsend); ++ if (multithread.terminate) return TCL_OK; ++ ++#ifdef LOG_STREAM ++ (*logout) << "Surfaces meshed" << endl ++ << "time = " << GetTime() << " sec" << endl ++ << "points: " << mesh->GetNP() << endl; ++#endif ++ ++#ifdef STAT_STREAM ++ (*statout) << mesh->GetNSeg() << " & " ++ << mesh->GetNSE() << " & - &" ++ << GetTime() << " & " << endl; ++#endif ++ ++ // MeshQuality2d (*mesh); ++ mesh->CalcSurfacesOfNode(); ++ } ++ ++ if (multithread.terminate || perfstepsend <= MESHCONST_OPTSURFACE) ++ return TCL_OK; ++ ++ if (perfstepsstart <= MESHCONST_MESHVOLUME) ++ { ++ multithread.task = "Volume meshing"; ++ ++ MESHING3_RESULT res = MeshVolume (mparam, *mesh); ++ ++/* ++ ofstream problemfile("occmesh.rep",ios_base::app); ++ ++ problemfile << "VOLUMEMESHING" << endl << endl; ++ if(res != MESHING3_OK) ++ problemfile << "ERROR" << endl << endl; ++ else ++ problemfile << "OK" << endl ++ << mesh->GetNE() << " elements" << endl << endl; ++ ++ problemfile.close(); ++*/ ++ ++ if (res != MESHING3_OK) return TCL_ERROR; ++ ++ if (multithread.terminate) return TCL_OK; ++ ++ RemoveIllegalElements (*mesh); ++ if (multithread.terminate) return TCL_OK; ++ ++ MeshQuality3d (*mesh); ++ ++#ifdef STAT_STREAM ++ (*statout) << GetTime() << " & "; ++#endif ++ ++#ifdef LOG_STREAM ++ (*logout) << "Volume meshed" << endl ++ << "time = " << GetTime() << " sec" << endl ++ << "points: " << mesh->GetNP() << endl; ++#endif ++ } ++ ++ if (multithread.terminate || perfstepsend <= MESHCONST_MESHVOLUME) ++ return TCL_OK; ++ ++ if (perfstepsstart <= MESHCONST_OPTVOLUME) ++ { ++ multithread.task = "Volume optimization"; ++ ++ OptimizeVolume (mparam, *mesh); ++ if (multithread.terminate) return TCL_OK; ++ ++#ifdef STAT_STREAM ++ (*statout) << GetTime() << " & " ++ << mesh->GetNE() << " & " ++ << mesh->GetNP() << " " << '\\' << '\\' << " \\" << "hline" << endl; ++#endif ++ ++#ifdef LOG_STREAM ++ (*logout) << "Volume optimized" << endl ++ << "time = " << GetTime() << " sec" << endl ++ << "points: " << mesh->GetNP() << endl; ++#endif ++ ++ // cout << "Optimization complete" << endl; ++ ++ } ++ ++ (*testout) << "NP: " << mesh->GetNP() << endl; ++ for (int i = 1; i <= mesh->GetNP(); i++) ++ (*testout) << mesh->Point(i) << endl; ++ ++ (*testout) << endl << "NSegments: " << mesh->GetNSeg() << endl; ++ for (int i = 1; i <= mesh->GetNSeg(); i++) ++ (*testout) << mesh->LineSegment(i) << endl; ++ ++ return TCL_OK; ++ } ++} ++ ++#endif +diff -Naur netgen-5.3.1_SRC_orig/libsrc/occ/occgeom.cpp netgen-5.3.1_SRC_modif/libsrc/occ/occgeom.cpp +--- netgen-5.3.1_SRC_orig/libsrc/occ/occgeom.cpp 2014-08-29 13:54:03.000000000 +0400 ++++ netgen-5.3.1_SRC_modif/libsrc/occ/occgeom.cpp 2018-03-01 15:45:08.689877466 +0300 +@@ -1,1612 +1,1669 @@ +- +-#ifdef OCCGEOMETRY +- +-#include +-#include +-#include "ShapeAnalysis_ShapeTolerance.hxx" +-#include "ShapeAnalysis_ShapeContents.hxx" +-#include "ShapeAnalysis_CheckSmallFace.hxx" +-#include "ShapeAnalysis_DataMapOfShapeListOfReal.hxx" +-#include "ShapeAnalysis_Surface.hxx" +-#include "BRepAlgoAPI_Fuse.hxx" +-#include "BRepCheck_Analyzer.hxx" +-#include "BRepLib.hxx" +-#include "ShapeBuild_ReShape.hxx" +-#include "ShapeFix.hxx" +-#include "ShapeFix_FixSmallFace.hxx" +-#include "Partition_Spliter.hxx" +- +- +-namespace netgen +-{ +- void OCCGeometry :: PrintNrShapes () +- { +- TopExp_Explorer e; +- int count = 0; +- for (e.Init(shape, TopAbs_COMPSOLID); e.More(); e.Next()) count++; +- cout << "CompSolids: " << count << endl; +- +- cout << "Solids : " << somap.Extent() << endl; +- cout << "Shells : " << shmap.Extent() << endl; +- cout << "Faces : " << fmap.Extent() << endl; +- cout << "Edges : " << emap.Extent() << endl; +- cout << "Vertices : " << vmap.Extent() << endl; +- } +- +- +- +- +- void PrintContents (OCCGeometry * geom) +- { +- ShapeAnalysis_ShapeContents cont; +- cont.Clear(); +- cont.Perform(geom->shape); +- +- (*testout) << "OCC CONTENTS" << endl; +- (*testout) << "============" << endl; +- (*testout) << "SOLIDS : " << cont.NbSolids() << endl; +- (*testout) << "SHELLS : " << cont.NbShells() << endl; +- (*testout) << "FACES : " << cont.NbFaces() << endl; +- (*testout) << "WIRES : " << cont.NbWires() << endl; +- (*testout) << "EDGES : " << cont.NbEdges() << endl; +- (*testout) << "VERTICES : " << cont.NbVertices() << endl; +- +- TopExp_Explorer e; +- int count = 0; +- for (e.Init(geom->shape, TopAbs_COMPOUND); e.More(); e.Next()) +- count++; +- (*testout) << "Compounds: " << count << endl; +- +- count = 0; +- for (e.Init(geom->shape, TopAbs_COMPSOLID); e.More(); e.Next()) +- count++; +- (*testout) << "CompSolids: " << count << endl; +- +- (*testout) << endl; +- +- cout << "Highest entry in topology hierarchy: " << endl; +- if (count) +- cout << count << " composite solid(s)" << endl; +- else +- if (geom->somap.Extent()) +- cout << geom->somap.Extent() << " solid(s)" << endl; +- else +- if (geom->shmap.Extent()) +- cout << geom->shmap.Extent() << " shells(s)" << endl; +- else +- if (geom->fmap.Extent()) +- cout << geom->fmap.Extent() << " face(s)" << endl; +- else +- if (geom->wmap.Extent()) +- cout << geom->wmap.Extent() << " wire(s)" << endl; +- else +- if (geom->emap.Extent()) +- cout << geom->emap.Extent() << " edge(s)" << endl; +- else +- if (geom->vmap.Extent()) +- cout << geom->vmap.Extent() << " vertices(s)" << endl; +- else +- cout << "no entities" << endl; +- +- } +- +- +- +- void OCCGeometry :: HealGeometry () +- { +- int nrc = 0, nrcs = 0, +- nrso = somap.Extent(), +- nrsh = shmap.Extent(), +- nrf = fmap.Extent(), +- nrw = wmap.Extent(), +- nre = emap.Extent(), +- nrv = vmap.Extent(); +- +- TopExp_Explorer exp0; +- TopExp_Explorer exp1; +- +- +- for (exp0.Init(shape, TopAbs_COMPOUND); exp0.More(); exp0.Next()) nrc++; +- for (exp0.Init(shape, TopAbs_COMPSOLID); exp0.More(); exp0.Next()) nrcs++; +- +- double surfacecont = 0; +- +- { +- Handle_ShapeBuild_ReShape rebuild = new ShapeBuild_ReShape; +- rebuild->Apply(shape); +- for (exp1.Init (shape, TopAbs_EDGE); exp1.More(); exp1.Next()) +- { +- TopoDS_Edge edge = TopoDS::Edge(exp1.Current()); +- if ( BRep_Tool::Degenerated(edge) ) +- rebuild->Remove(edge, false); +- } +- shape = rebuild->Apply(shape); +- } +- +- BuildFMap(); +- +- +- for (exp0.Init (shape, TopAbs_FACE); exp0.More(); exp0.Next()) +- { +- TopoDS_Face face = TopoDS::Face(exp0.Current()); +- +- GProp_GProps system; +- BRepGProp::SurfaceProperties(face, system); +- surfacecont += system.Mass(); +- } +- +- +- cout << "Starting geometry healing procedure (tolerance: " << tolerance << ")" << endl +- << "-----------------------------------" << endl; +- +- { +- cout << endl << "- repairing faces" << endl; +- +- Handle(ShapeFix_Face) sff; +- Handle_ShapeBuild_ReShape rebuild = new ShapeBuild_ReShape; +- rebuild->Apply(shape); +- +- +- for (exp0.Init (shape, TopAbs_FACE); exp0.More(); exp0.Next()) +- { +- // Variable to hold the colour (if there exists one) of +- // the current face being processed +- Quantity_Color face_colour; +- +- TopoDS_Face face = TopoDS::Face (exp0.Current()); +- +- if(face_colours.IsNull() +- || (!(face_colours->GetColor(face,XCAFDoc_ColorSurf,face_colour)))) +- { +- // Set the default face colour to green (Netgen Standard) +- // if no colour has been defined for the face +- face_colour = Quantity_Color(0.0,1.0,0.0,Quantity_TOC_RGB); +- } +- +- sff = new ShapeFix_Face (face); +- sff->FixAddNaturalBoundMode() = Standard_True; +- sff->FixSmallAreaWireMode() = Standard_True; +- sff->Perform(); +- +- if(sff->Status(ShapeExtend_DONE1) || +- sff->Status(ShapeExtend_DONE2) || +- sff->Status(ShapeExtend_DONE3) || +- sff->Status(ShapeExtend_DONE4) || +- sff->Status(ShapeExtend_DONE5)) +- { +- cout << "repaired face " << fmap.FindIndex(face) << " "; +- if(sff->Status(ShapeExtend_DONE1)) +- cout << "(some wires are fixed)" <Status(ShapeExtend_DONE2)) +- cout << "(orientation of wires fixed)" <Status(ShapeExtend_DONE3)) +- cout << "(missing seam added)" <Status(ShapeExtend_DONE4)) +- cout << "(small area wire removed)" <Status(ShapeExtend_DONE5)) +- cout << "(natural bounds added)" <Face(); +- +- rebuild->Replace(face, newface, Standard_False); +- } +- +- // Set the original colour of the face to the newly created +- // face (after the healing process) +- face = TopoDS::Face (exp0.Current()); +- face_colours->SetColor(face,face_colour,XCAFDoc_ColorSurf); +- } +- shape = rebuild->Apply(shape); +- } +- +- +- { +- Handle_ShapeBuild_ReShape rebuild = new ShapeBuild_ReShape; +- rebuild->Apply(shape); +- for (exp1.Init (shape, TopAbs_EDGE); exp1.More(); exp1.Next()) +- { +- TopoDS_Edge edge = TopoDS::Edge(exp1.Current()); +- if ( BRep_Tool::Degenerated(edge) ) +- rebuild->Remove(edge, false); +- } +- shape = rebuild->Apply(shape); +- } +- +- +- if (fixsmalledges) +- { +- cout << endl << "- fixing small edges" << endl; +- +- Handle(ShapeFix_Wire) sfw; +- Handle_ShapeBuild_ReShape rebuild = new ShapeBuild_ReShape; +- rebuild->Apply(shape); +- +- +- for (exp0.Init (shape, TopAbs_FACE); exp0.More(); exp0.Next()) +- { +- TopoDS_Face face = TopoDS::Face(exp0.Current()); +- +- for (exp1.Init (face, TopAbs_WIRE); exp1.More(); exp1.Next()) +- { +- TopoDS_Wire oldwire = TopoDS::Wire(exp1.Current()); +- sfw = new ShapeFix_Wire (oldwire, face ,tolerance); +- sfw->ModifyTopologyMode() = Standard_True; +- +- sfw->ClosedWireMode() = Standard_True; +- +- bool replace = false; +- +- replace = sfw->FixReorder() || replace; +- +- replace = sfw->FixConnected() || replace; +- +- +- +- if (sfw->FixSmall (Standard_False, tolerance) && ! (sfw->StatusSmall(ShapeExtend_FAIL1) || +- sfw->StatusSmall(ShapeExtend_FAIL2) || +- sfw->StatusSmall(ShapeExtend_FAIL3))) +- { +- cout << "Fixed small edge in wire " << wmap.FindIndex (oldwire) << endl; +- replace = true; +- +- } +- else if (sfw->StatusSmall(ShapeExtend_FAIL1)) +- cerr << "Failed to fix small edge in wire " << wmap.FindIndex (oldwire) +- << ", edge cannot be checked (no 3d curve and no pcurve)" << endl; +- else if (sfw->StatusSmall(ShapeExtend_FAIL2)) +- cerr << "Failed to fix small edge in wire " << wmap.FindIndex (oldwire) +- << ", edge is null-length and has different vertives at begin and end, and lockvtx is True or ModifiyTopologyMode is False" << endl; +- else if (sfw->StatusSmall(ShapeExtend_FAIL3)) +- cerr << "Failed to fix small edge in wire " << wmap.FindIndex (oldwire) +- << ", CheckConnected has failed" << endl; +- +- replace = sfw->FixEdgeCurves() || replace; +- +- replace = sfw->FixDegenerated() || replace; +- +- replace = sfw->FixSelfIntersection() || replace; +- +- replace = sfw->FixLacking(Standard_True) || replace; +- +- if(replace) +- { +- TopoDS_Wire newwire = sfw->Wire(); +- rebuild->Replace(oldwire, newwire, Standard_False); +- } +- +- //delete sfw; sfw = NULL; +- +- } +- } +- +- shape = rebuild->Apply(shape); +- +- +- +- { +- BuildFMap(); +- Handle_ShapeBuild_ReShape rebuild = new ShapeBuild_ReShape; +- rebuild->Apply(shape); +- +- for (exp1.Init (shape, TopAbs_EDGE); exp1.More(); exp1.Next()) +- { +- TopoDS_Edge edge = TopoDS::Edge(exp1.Current()); +- if (vmap.FindIndex(TopExp::FirstVertex (edge)) == +- vmap.FindIndex(TopExp::LastVertex (edge))) +- { +- GProp_GProps system; +- BRepGProp::LinearProperties(edge, system); +- if (system.Mass() < tolerance) +- { +- cout << "removing degenerated edge " << emap.FindIndex(edge) +- << " from vertex " << vmap.FindIndex(TopExp::FirstVertex (edge)) +- << " to vertex " << vmap.FindIndex(TopExp::LastVertex (edge)) << endl; +- rebuild->Remove(edge, false); +- } +- } +- } +- shape = rebuild->Apply(shape); +- +- //delete rebuild; rebuild = NULL; +- } +- +- +- +- { +- Handle_ShapeBuild_ReShape rebuild = new ShapeBuild_ReShape; +- rebuild->Apply(shape); +- for (exp1.Init (shape, TopAbs_EDGE); exp1.More(); exp1.Next()) +- { +- TopoDS_Edge edge = TopoDS::Edge(exp1.Current()); +- if ( BRep_Tool::Degenerated(edge) ) +- rebuild->Remove(edge, false); +- } +- shape = rebuild->Apply(shape); +- } +- +- +- +- +- Handle(ShapeFix_Wireframe) sfwf = new ShapeFix_Wireframe; +- sfwf->SetPrecision(tolerance); +- sfwf->Load (shape); +- sfwf->ModeDropSmallEdges() = Standard_True; +- +- sfwf->SetPrecision(boundingbox.Diam()); +- +- if (sfwf->FixWireGaps()) +- { +- cout << endl << "- fixing wire gaps" << endl; +- if (sfwf->StatusWireGaps(ShapeExtend_OK)) cout << "no gaps found" << endl; +- if (sfwf->StatusWireGaps(ShapeExtend_DONE1)) cout << "some 2D gaps fixed" << endl; +- if (sfwf->StatusWireGaps(ShapeExtend_DONE2)) cout << "some 3D gaps fixed" << endl; +- if (sfwf->StatusWireGaps(ShapeExtend_FAIL1)) cout << "failed to fix some 2D gaps" << endl; +- if (sfwf->StatusWireGaps(ShapeExtend_FAIL2)) cout << "failed to fix some 3D gaps" << endl; +- } +- +- sfwf->SetPrecision(tolerance); +- +- +- { +- for (exp1.Init (shape, TopAbs_EDGE); exp1.More(); exp1.Next()) +- { +- TopoDS_Edge edge = TopoDS::Edge(exp1.Current()); +- if ( BRep_Tool::Degenerated(edge) ) +- cout << "degenerated edge at position 4" << endl; +- } +- } +- +- +- +- if (sfwf->FixSmallEdges()) +- { +- cout << endl << "- fixing wire frames" << endl; +- if (sfwf->StatusSmallEdges(ShapeExtend_OK)) cout << "no small edges found" << endl; +- if (sfwf->StatusSmallEdges(ShapeExtend_DONE1)) cout << "some small edges fixed" << endl; +- if (sfwf->StatusSmallEdges(ShapeExtend_FAIL1)) cout << "failed to fix some small edges" << endl; +- } +- +- +- +- shape = sfwf->Shape(); +- +- //delete sfwf; sfwf = NULL; +- //delete rebuild; rebuild = NULL; +- +- } +- +- +- +- +- +- { +- for (exp1.Init (shape, TopAbs_EDGE); exp1.More(); exp1.Next()) +- { +- TopoDS_Edge edge = TopoDS::Edge(exp1.Current()); +- if ( BRep_Tool::Degenerated(edge) ) +- cout << "degenerated edge at position 5" << endl; +- } +- } +- +- +- +- +- if (fixspotstripfaces) +- { +- +- cout << endl << "- fixing spot and strip faces" << endl; +- Handle(ShapeFix_FixSmallFace) sffsm = new ShapeFix_FixSmallFace(); +- sffsm -> Init (shape); +- sffsm -> SetPrecision (tolerance); +- sffsm -> Perform(); +- +- shape = sffsm -> FixShape(); +- //delete sffsm; sffsm = NULL; +- } +- +- +- { +- for (exp1.Init (shape, TopAbs_EDGE); exp1.More(); exp1.Next()) +- { +- TopoDS_Edge edge = TopoDS::Edge(exp1.Current()); +- if ( BRep_Tool::Degenerated(edge) ) +- cout << "degenerated edge at position 6" << endl; +- } +- } +- +- +- +- if (sewfaces) +- { +- cout << endl << "- sewing faces" << endl; +- +- BRepOffsetAPI_Sewing sewedObj(tolerance); +- +- for (exp0.Init (shape, TopAbs_FACE); exp0.More(); exp0.Next()) +- { +- TopoDS_Face face = TopoDS::Face (exp0.Current()); +- sewedObj.Add (face); +- } +- +- sewedObj.Perform(); +- +- if (!sewedObj.SewedShape().IsNull()) +- shape = sewedObj.SewedShape(); +- else +- cout << " not possible"; +- } +- +- +- +- { +- Handle_ShapeBuild_ReShape rebuild = new ShapeBuild_ReShape; +- rebuild->Apply(shape); +- for (exp1.Init (shape, TopAbs_EDGE); exp1.More(); exp1.Next()) +- { +- TopoDS_Edge edge = TopoDS::Edge(exp1.Current()); +- if ( BRep_Tool::Degenerated(edge) ) +- rebuild->Remove(edge, false); +- } +- shape = rebuild->Apply(shape); +- } +- +- +- if (makesolids) +- { +- cout << endl << "- making solids" << endl; +- +- BRepBuilderAPI_MakeSolid ms; +- int count = 0; +- for (exp0.Init(shape, TopAbs_SHELL); exp0.More(); exp0.Next()) +- { +- count++; +- ms.Add (TopoDS::Shell(exp0.Current())); +- } +- +- if (!count) +- { +- cout << " not possible (no shells)" << endl; +- } +- else +- { +- BRepCheck_Analyzer ba(ms); +- if (ba.IsValid ()) +- { +- Handle(ShapeFix_Shape) sfs = new ShapeFix_Shape; +- sfs->Init (ms); +- sfs->SetPrecision(tolerance); +- sfs->SetMaxTolerance(tolerance); +- sfs->Perform(); +- shape = sfs->Shape(); +- +- for (exp0.Init(shape, TopAbs_SOLID); exp0.More(); exp0.Next()) +- { +- TopoDS_Solid solid = TopoDS::Solid(exp0.Current()); +- TopoDS_Solid newsolid = solid; +- BRepLib::OrientClosedSolid (newsolid); +- Handle_ShapeBuild_ReShape rebuild = new ShapeBuild_ReShape; +- // rebuild->Apply(shape); +- rebuild->Replace(solid, newsolid, Standard_False); +- TopoDS_Shape newshape = rebuild->Apply(shape, TopAbs_COMPSOLID);//, 1); +- // TopoDS_Shape newshape = rebuild->Apply(shape); +- shape = newshape; +- } +- +- //delete sfs; sfs = NULL; +- } +- else +- cout << " not possible" << endl; +- } +- } +- +- +- +- if (splitpartitions) +- { +- cout << "- running SALOME partition splitter" << endl; +- +- TopExp_Explorer e2; +- Partition_Spliter ps; +- int count = 0; +- +- for (e2.Init (shape, TopAbs_SOLID); +- e2.More(); e2.Next()) +- { +- count++; +- ps.AddShape (e2.Current()); +- } +- +- ps.Compute(); +- shape = ps.Shape(); +- +- cout << " before: " << count << " solids" << endl; +- +- count = 0; +- for (e2.Init (shape, TopAbs_SOLID); +- e2.More(); e2.Next()) count++; +- +- cout << " after : " << count << " solids" << endl; +- } +- +- BuildFMap(); +- +- +- +- { +- for (exp1.Init (shape, TopAbs_EDGE); exp1.More(); exp1.Next()) +- { +- TopoDS_Edge edge = TopoDS::Edge(exp1.Current()); +- if ( BRep_Tool::Degenerated(edge) ) +- cout << "degenerated edge at position 8" << endl; +- } +- } +- +- +- double newsurfacecont = 0; +- +- +- for (exp0.Init (shape, TopAbs_FACE); exp0.More(); exp0.Next()) +- { +- TopoDS_Face face = TopoDS::Face(exp0.Current()); +- GProp_GProps system; +- BRepGProp::SurfaceProperties(face, system); +- newsurfacecont += system.Mass(); +- } +- +- +- int nnrc = 0, nnrcs = 0, +- nnrso = somap.Extent(), +- nnrsh = shmap.Extent(), +- nnrf = fmap.Extent(), +- nnrw = wmap.Extent(), +- nnre = emap.Extent(), +- nnrv = vmap.Extent(); +- +- for (exp0.Init(shape, TopAbs_COMPOUND); exp0.More(); exp0.Next()) nnrc++; +- for (exp0.Init(shape, TopAbs_COMPSOLID); exp0.More(); exp0.Next()) nnrcs++; +- +- cout << "-----------------------------------" << endl; +- cout << "Compounds : " << nnrc << " (" << nrc << ")" << endl; +- cout << "Composite solids: " << nnrcs << " (" << nrcs << ")" << endl; +- cout << "Solids : " << nnrso << " (" << nrso << ")" << endl; +- cout << "Shells : " << nnrsh << " (" << nrsh << ")" << endl; +- cout << "Wires : " << nnrw << " (" << nrw << ")" << endl; +- cout << "Faces : " << nnrf << " (" << nrf << ")" << endl; +- cout << "Edges : " << nnre << " (" << nre << ")" << endl; +- cout << "Vertices : " << nnrv << " (" << nrv << ")" << endl; +- cout << endl; +- cout << "Totol surface area : " << newsurfacecont << " (" << surfacecont << ")" << endl; +- cout << endl; +- } +- +- +- +- +- void OCCGeometry :: BuildFMap() +- { +- somap.Clear(); +- shmap.Clear(); +- fmap.Clear(); +- wmap.Clear(); +- emap.Clear(); +- vmap.Clear(); +- +- TopExp_Explorer exp0, exp1, exp2, exp3, exp4, exp5; +- +- for (exp0.Init(shape, TopAbs_COMPOUND); +- exp0.More(); exp0.Next()) +- { +- TopoDS_Compound compound = TopoDS::Compound (exp0.Current()); +- (*testout) << "compound" << endl; +- int i = 0; +- for (exp1.Init(compound, TopAbs_SHELL); +- exp1.More(); exp1.Next()) +- { +- (*testout) << "shell " << ++i << endl; +- } +- } +- +- for (exp0.Init(shape, TopAbs_SOLID); +- exp0.More(); exp0.Next()) +- { +- TopoDS_Solid solid = TopoDS::Solid (exp0.Current()); +- +- if (somap.FindIndex(solid) < 1) +- { +- somap.Add (solid); +- +- for (exp1.Init(solid, TopAbs_SHELL); +- exp1.More(); exp1.Next()) +- { +- TopoDS_Shell shell = TopoDS::Shell (exp1.Current()); +- if (shmap.FindIndex(shell) < 1) +- { +- shmap.Add (shell); +- +- for (exp2.Init(shell, TopAbs_FACE); +- exp2.More(); exp2.Next()) +- { +- TopoDS_Face face = TopoDS::Face(exp2.Current()); +- if (fmap.FindIndex(face) < 1) +- { +- fmap.Add (face); +- (*testout) << "face " << fmap.FindIndex(face) << " "; +- (*testout) << ((face.Orientation() == TopAbs_REVERSED) ? "-" : "+") << ", "; +- (*testout) << ((exp2.Current().Orientation() == TopAbs_REVERSED) ? "-" : "+") << endl; +- for (exp3.Init(exp2.Current(), TopAbs_WIRE); +- exp3.More(); exp3.Next()) +- { +- TopoDS_Wire wire = TopoDS::Wire (exp3.Current()); +- if (wmap.FindIndex(wire) < 1) +- { +- wmap.Add (wire); +- +- for (exp4.Init(exp3.Current(), TopAbs_EDGE); +- exp4.More(); exp4.Next()) +- { +- TopoDS_Edge edge = TopoDS::Edge(exp4.Current()); +- if (emap.FindIndex(edge) < 1) +- { +- emap.Add (edge); +- for (exp5.Init(exp4.Current(), TopAbs_VERTEX); +- exp5.More(); exp5.Next()) +- { +- TopoDS_Vertex vertex = TopoDS::Vertex(exp5.Current()); +- if (vmap.FindIndex(vertex) < 1) +- vmap.Add (vertex); +- } +- } +- } +- } +- } +- } +- } +- } +- } +- } +- } +- +- // Free Shells +- for (exp1.Init(shape, TopAbs_SHELL, TopAbs_SOLID); exp1.More(); exp1.Next()) +- { +- TopoDS_Shell shell = TopoDS::Shell(exp1.Current()); +- if (shmap.FindIndex(shell) < 1) +- { +- shmap.Add (shell); +- +- (*testout) << "shell " << shmap.FindIndex(shell) << " "; +- (*testout) << ((shell.Orientation() == TopAbs_REVERSED) ? "-" : "+") << ", "; +- (*testout) << ((exp1.Current().Orientation() == TopAbs_REVERSED) ? "-" : "+") << endl; +- +- for (exp2.Init(shell, TopAbs_FACE); exp2.More(); exp2.Next()) +- { +- TopoDS_Face face = TopoDS::Face(exp2.Current()); +- if (fmap.FindIndex(face) < 1) +- { +- fmap.Add (face); +- +- for (exp3.Init(face, TopAbs_WIRE); exp3.More(); exp3.Next()) +- { +- TopoDS_Wire wire = TopoDS::Wire (exp3.Current()); +- if (wmap.FindIndex(wire) < 1) +- { +- wmap.Add (wire); +- +- for (exp4.Init(wire, TopAbs_EDGE); exp4.More(); exp4.Next()) +- { +- TopoDS_Edge edge = TopoDS::Edge(exp4.Current()); +- if (emap.FindIndex(edge) < 1) +- { +- emap.Add (edge); +- for (exp5.Init(edge, TopAbs_VERTEX); exp5.More(); exp5.Next()) +- { +- TopoDS_Vertex vertex = TopoDS::Vertex(exp5.Current()); +- if (vmap.FindIndex(vertex) < 1) +- vmap.Add (vertex); +- } +- } +- } +- } +- } +- } +- } +- } +- } +- +- +- // Free Faces +- +- for (exp2.Init(shape, TopAbs_FACE, TopAbs_SHELL); exp2.More(); exp2.Next()) +- { +- TopoDS_Face face = TopoDS::Face(exp2.Current()); +- if (fmap.FindIndex(face) < 1) +- { +- fmap.Add (face); +- +- for (exp3.Init(exp2.Current(), TopAbs_WIRE); exp3.More(); exp3.Next()) +- { +- TopoDS_Wire wire = TopoDS::Wire (exp3.Current()); +- if (wmap.FindIndex(wire) < 1) +- { +- wmap.Add (wire); +- +- for (exp4.Init(exp3.Current(), TopAbs_EDGE); exp4.More(); exp4.Next()) +- { +- TopoDS_Edge edge = TopoDS::Edge(exp4.Current()); +- if (emap.FindIndex(edge) < 1) +- { +- emap.Add (edge); +- for (exp5.Init(exp4.Current(), TopAbs_VERTEX); exp5.More(); exp5.Next()) +- { +- TopoDS_Vertex vertex = TopoDS::Vertex(exp5.Current()); +- if (vmap.FindIndex(vertex) < 1) +- vmap.Add (vertex); +- } +- } +- } +- } +- } +- } +- } +- +- +- // Free Wires +- +- for (exp3.Init(shape, TopAbs_WIRE, TopAbs_FACE); exp3.More(); exp3.Next()) +- { +- TopoDS_Wire wire = TopoDS::Wire (exp3.Current()); +- if (wmap.FindIndex(wire) < 1) +- { +- wmap.Add (wire); +- +- for (exp4.Init(exp3.Current(), TopAbs_EDGE); exp4.More(); exp4.Next()) +- { +- TopoDS_Edge edge = TopoDS::Edge(exp4.Current()); +- if (emap.FindIndex(edge) < 1) +- { +- emap.Add (edge); +- for (exp5.Init(exp4.Current(), TopAbs_VERTEX); exp5.More(); exp5.Next()) +- { +- TopoDS_Vertex vertex = TopoDS::Vertex(exp5.Current()); +- if (vmap.FindIndex(vertex) < 1) +- vmap.Add (vertex); +- } +- } +- } +- } +- } +- +- +- // Free Edges +- +- for (exp4.Init(shape, TopAbs_EDGE, TopAbs_WIRE); exp4.More(); exp4.Next()) +- { +- TopoDS_Edge edge = TopoDS::Edge(exp4.Current()); +- if (emap.FindIndex(edge) < 1) +- { +- emap.Add (edge); +- for (exp5.Init(exp4.Current(), TopAbs_VERTEX); exp5.More(); exp5.Next()) +- { +- TopoDS_Vertex vertex = TopoDS::Vertex(exp5.Current()); +- if (vmap.FindIndex(vertex) < 1) +- vmap.Add (vertex); +- } +- } +- } +- +- +- // Free Vertices +- +- for (exp5.Init(shape, TopAbs_VERTEX, TopAbs_EDGE); exp5.More(); exp5.Next()) +- { +- TopoDS_Vertex vertex = TopoDS::Vertex(exp5.Current()); +- if (vmap.FindIndex(vertex) < 1) +- vmap.Add (vertex); +- } +- +- +- +- +- facemeshstatus.DeleteAll(); +- facemeshstatus.SetSize (fmap.Extent()); +- facemeshstatus = 0; +- +- // Philippose - 15/01/2009 +- face_maxh.DeleteAll(); +- face_maxh.SetSize (fmap.Extent()); +- face_maxh = mparam.maxh; +- +- // Philippose - 15/01/2010 +- face_maxh_modified.DeleteAll(); +- face_maxh_modified.SetSize(fmap.Extent()); +- face_maxh_modified = 0; +- +- +- // Philippose - 17/01/2009 +- face_sel_status.DeleteAll(); +- face_sel_status.SetSize (fmap.Extent()); +- face_sel_status = 0; +- +- fvispar.SetSize (fmap.Extent()); +- evispar.SetSize (emap.Extent()); +- vvispar.SetSize (vmap.Extent()); +- +- fsingular.SetSize (fmap.Extent()); +- esingular.SetSize (emap.Extent()); +- vsingular.SetSize (vmap.Extent()); +- +- fsingular = esingular = vsingular = false; +- } +- +- +- +- void OCCGeometry :: SewFaces () +- { +- (*testout) << "Trying to sew faces ..." << endl; +- cout << "Trying to sew faces ..." << flush; +- +- BRepOffsetAPI_Sewing sewedObj(1); +- +- for (int i = 1; i <= fmap.Extent(); i++) +- { +- TopoDS_Face face = TopoDS::Face (fmap(i)); +- sewedObj.Add (face); +- } +- +- sewedObj.Perform(); +- +- if (!sewedObj.SewedShape().IsNull()) +- { +- shape = sewedObj.SewedShape(); +- cout << " done" << endl; +- } +- else +- cout << " not possible"; +- } +- +- +- +- +- +- void OCCGeometry :: MakeSolid () +- { +- TopExp_Explorer exp0; +- +- (*testout) << "Trying to build solids ..." << endl; +- cout << "Trying to build solids ..." << flush; +- +- BRepBuilderAPI_MakeSolid ms; +- int count = 0; +- for (exp0.Init(shape, TopAbs_SHELL); exp0.More(); exp0.Next()) +- { +- count++; +- ms.Add (TopoDS::Shell(exp0.Current())); +- } +- +- if (!count) +- { +- cout << " not possible (no shells)" << endl; +- return; +- } +- +- BRepCheck_Analyzer ba(ms); +- if (ba.IsValid ()) +- { +- Handle(ShapeFix_Shape) sfs = new ShapeFix_Shape; +- sfs->Init (ms); +- +- sfs->SetPrecision(1e-5); +- sfs->SetMaxTolerance(1e-5); +- +- sfs->Perform(); +- +- shape = sfs->Shape(); +- +- for (exp0.Init(shape, TopAbs_SOLID); exp0.More(); exp0.Next()) +- { +- TopoDS_Solid solid = TopoDS::Solid(exp0.Current()); +- TopoDS_Solid newsolid = solid; +- BRepLib::OrientClosedSolid (newsolid); +- Handle_ShapeBuild_ReShape rebuild = new ShapeBuild_ReShape; +- rebuild->Replace(solid, newsolid, Standard_False); +- +- TopoDS_Shape newshape = rebuild->Apply(shape, TopAbs_SHAPE, 1); +- shape = newshape; +- } +- +- cout << " done" << endl; +- } +- else +- cout << " not possible" << endl; +- } +- +- +- +- +- void OCCGeometry :: BuildVisualizationMesh (double deflection) +- { +- cout << "Preparing visualization (deflection = " << deflection << ") ... " << flush; +- +- BRepTools::Clean (shape); +- // BRepMesh_IncrementalMesh:: +- BRepMesh_IncrementalMesh (shape, deflection, true); +- cout << "done" << endl; +- } +- +- +- +- +- void OCCGeometry :: CalcBoundingBox () +- { +- Bnd_Box bb; +- BRepBndLib::Add (shape, bb); +- +- double x1,y1,z1,x2,y2,z2; +- bb.Get (x1,y1,z1,x2,y2,z2); +- Point<3> p1 = Point<3> (x1,y1,z1); +- Point<3> p2 = Point<3> (x2,y2,z2); +- +- (*testout) << "Bounding Box = [" << p1 << " - " << p2 << "]" << endl; +- boundingbox = Box<3> (p1,p2); +- SetCenter(); +- } +- +- +- +- +- void OCCGeometry :: Project (int surfi, Point<3> & p) const +- { +- static int cnt = 0; +- if (++cnt % 1000 == 0) cout << "Project cnt = " << cnt << endl; +- +- gp_Pnt pnt(p(0), p(1), p(2)); +- +- double u,v; +- Handle( Geom_Surface ) thesurf = BRep_Tool::Surface(TopoDS::Face(fmap(surfi))); +- Handle( ShapeAnalysis_Surface ) su = new ShapeAnalysis_Surface( thesurf ); +- gp_Pnt2d suval = su->ValueOfUV ( pnt, BRep_Tool::Tolerance( TopoDS::Face(fmap(surfi)) ) ); +- suval.Coord( u, v); +- pnt = thesurf->Value( u, v ); +- +- +- p = Point<3> (pnt.X(), pnt.Y(), pnt.Z()); +- +- } +- +- +- +- +- bool OCCGeometry :: FastProject (int surfi, Point<3> & ap, double& u, double& v) const +- { +- gp_Pnt p(ap(0), ap(1), ap(2)); +- +- Handle(Geom_Surface) surface = BRep_Tool::Surface(TopoDS::Face(fmap(surfi))); +- +- gp_Pnt x = surface->Value (u,v); +- +- if (p.SquareDistance(x) <= sqr(PROJECTION_TOLERANCE)) return true; +- +- gp_Vec du, dv; +- +- surface->D1(u,v,x,du,dv); +- +- int count = 0; +- +- gp_Pnt xold; +- gp_Vec n; +- double det, lambda, mu; +- +- do { +- count++; +- +- n = du^dv; +- +- det = Det3 (n.X(), du.X(), dv.X(), +- n.Y(), du.Y(), dv.Y(), +- n.Z(), du.Z(), dv.Z()); +- +- if (det < 1e-15) return false; +- +- lambda = Det3 (n.X(), p.X()-x.X(), dv.X(), +- n.Y(), p.Y()-x.Y(), dv.Y(), +- n.Z(), p.Z()-x.Z(), dv.Z())/det; +- +- mu = Det3 (n.X(), du.X(), p.X()-x.X(), +- n.Y(), du.Y(), p.Y()-x.Y(), +- n.Z(), du.Z(), p.Z()-x.Z())/det; +- +- u += lambda; +- v += mu; +- +- xold = x; +- surface->D1(u,v,x,du,dv); +- +- } while (xold.SquareDistance(x) > sqr(PROJECTION_TOLERANCE) && count < 50); +- +- // (*testout) << "FastProject count: " << count << endl; +- +- if (count == 50) return false; +- +- ap = Point<3> (x.X(), x.Y(), x.Z()); +- +- return true; +- } +- +- +- +- +- void OCCGeometry :: WriteOCC_STL(char * filename) +- { +- cout << "writing stl..."; cout.flush(); +- StlAPI_Writer writer; +- writer.RelativeMode() = Standard_False; +- +- writer.SetDeflection(0.02); +- writer.Write(shape,filename); +- +- cout << "done" << endl; +- } +- +- +- +- // Philippose - 23/02/2009 +- /* Special IGES File load function including the ability +- to extract individual surface colours via the extended +- OpenCascade XDE and XCAF Feature set. +- */ +- OCCGeometry *LoadOCC_IGES(const char *filename) +- { +- OCCGeometry *occgeo; +- occgeo = new OCCGeometry; +- +- // Initiate a dummy XCAF Application to handle the IGES XCAF Document +- static Handle_XCAFApp_Application dummy_app = XCAFApp_Application::GetApplication(); +- +- // Create an XCAF Document to contain the IGES file itself +- Handle_TDocStd_Document iges_doc; +- +- // Check if a IGES File is already open under this handle, if so, close it to prevent +- // Segmentation Faults when trying to create a new document +- if(dummy_app->NbDocuments() > 0) +- { +- dummy_app->GetDocument(1,iges_doc); +- dummy_app->Close(iges_doc); +- } +- dummy_app->NewDocument ("IGES-XCAF",iges_doc); +- +- IGESCAFControl_Reader reader; +- +- Standard_Integer stat = reader.ReadFile((char*)filename); +- +- if(stat != IFSelect_RetDone) +- { +- delete occgeo; +- return NULL; +- } +- +- // Enable transfer of colours +- reader.SetColorMode(Standard_True); +- +- reader.Transfer(iges_doc); +- +- // Read in the shape(s) and the colours present in the IGES File +- Handle_XCAFDoc_ShapeTool iges_shape_contents = XCAFDoc_DocumentTool::ShapeTool(iges_doc->Main()); +- Handle_XCAFDoc_ColorTool iges_colour_contents = XCAFDoc_DocumentTool::ColorTool(iges_doc->Main()); +- +- TDF_LabelSequence iges_shapes; +- iges_shape_contents->GetShapes(iges_shapes); +- +- // List out the available colours in the IGES File as Colour Names +- TDF_LabelSequence all_colours; +- iges_colour_contents->GetColors(all_colours); +- PrintMessage(1,"Number of colours in IGES File: ",all_colours.Length()); +- for(int i = 1; i <= all_colours.Length(); i++) +- { +- Quantity_Color col; +- stringstream col_rgb; +- iges_colour_contents->GetColor(all_colours.Value(i),col); +- col_rgb << " : (" << col.Red() << "," << col.Green() << "," << col.Blue() << ")"; +- PrintMessage(1, "Colour [", i, "] = ",col.StringName(col.Name()),col_rgb.str()); +- } +- +- +- // For the IGES Reader, all the shapes can be exported as one compund shape +- // using the "OneShape" member +- occgeo->shape = reader.OneShape(); +- occgeo->face_colours = iges_colour_contents; +- occgeo->changed = 1; +- occgeo->BuildFMap(); +- +- occgeo->CalcBoundingBox(); +- PrintContents (occgeo); +- +- return occgeo; +- } +- +- +- +- +- +- // Philippose - 29/01/2009 +- /* Special STEP File load function including the ability +- to extract individual surface colours via the extended +- OpenCascade XDE and XCAF Feature set. +- */ +- OCCGeometry * LoadOCC_STEP (const char * filename) +- { +- OCCGeometry * occgeo; +- occgeo = new OCCGeometry; +- +- // Initiate a dummy XCAF Application to handle the STEP XCAF Document +- static Handle_XCAFApp_Application dummy_app = XCAFApp_Application::GetApplication(); +- +- // Create an XCAF Document to contain the STEP file itself +- Handle_TDocStd_Document step_doc; +- +- // Check if a STEP File is already open under this handle, if so, close it to prevent +- // Segmentation Faults when trying to create a new document +- if(dummy_app->NbDocuments() > 0) +- { +- dummy_app->GetDocument(1,step_doc); +- dummy_app->Close(step_doc); +- } +- dummy_app->NewDocument ("STEP-XCAF",step_doc); +- +- STEPCAFControl_Reader reader; +- +- // Enable transfer of colours +- reader.SetColorMode(Standard_True); +- +- Standard_Integer stat = reader.ReadFile((char*)filename); +- +- if(stat != IFSelect_RetDone) +- { +- delete occgeo; +- return NULL; +- } +- +- reader.Transfer(step_doc); +- +- // Read in the shape(s) and the colours present in the STEP File +- Handle_XCAFDoc_ShapeTool step_shape_contents = XCAFDoc_DocumentTool::ShapeTool(step_doc->Main()); +- Handle_XCAFDoc_ColorTool step_colour_contents = XCAFDoc_DocumentTool::ColorTool(step_doc->Main()); +- +- TDF_LabelSequence step_shapes; +- step_shape_contents->GetShapes(step_shapes); +- +- // List out the available colours in the STEP File as Colour Names +- TDF_LabelSequence all_colours; +- step_colour_contents->GetColors(all_colours); +- PrintMessage(1,"Number of colours in STEP File: ",all_colours.Length()); +- for(int i = 1; i <= all_colours.Length(); i++) +- { +- Quantity_Color col; +- stringstream col_rgb; +- step_colour_contents->GetColor(all_colours.Value(i),col); +- col_rgb << " : (" << col.Red() << "," << col.Green() << "," << col.Blue() << ")"; +- PrintMessage(1, "Colour [", i, "] = ",col.StringName(col.Name()),col_rgb.str()); +- } +- +- +- // For the STEP File Reader in OCC, the 1st Shape contains the entire +- // compound geometry as one shape +- occgeo->shape = step_shape_contents->GetShape(step_shapes.Value(1)); +- occgeo->face_colours = step_colour_contents; +- occgeo->changed = 1; +- occgeo->BuildFMap(); +- +- occgeo->CalcBoundingBox(); +- PrintContents (occgeo); +- +- return occgeo; +- } +- +- +- +- +- OCCGeometry *LoadOCC_BREP (const char *filename) +- { +- OCCGeometry * occgeo; +- occgeo = new OCCGeometry; +- +- BRep_Builder aBuilder; +- Standard_Boolean result = BRepTools::Read(occgeo->shape, const_cast (filename),aBuilder); +- +- if(!result) +- { +- delete occgeo; +- return NULL; +- } +- +- // Philippose - 23/02/2009 +- // Fixed a bug in the OpenCascade XDE Colour handling when +- // opening BREP Files, since BREP Files have no colour data. +- // Hence, the face_colours Handle needs to be created as a NULL handle. +- occgeo->face_colours = Handle_XCAFDoc_ColorTool(); +- occgeo->face_colours.Nullify(); +- occgeo->changed = 1; +- occgeo->BuildFMap(); +- +- occgeo->CalcBoundingBox(); +- PrintContents (occgeo); +- +- return occgeo; +- } +- +- +- void OCCGeometry :: Save (string sfilename) const +- { +- const char * filename = sfilename.c_str(); +- if (strlen(filename) < 4) +- throw NgException ("illegal filename"); +- +- if (strcmp (&filename[strlen(filename)-3], "igs") == 0) +- { +- IGESControl_Writer writer("millimeters", 1); +- writer.AddShape (shape); +- writer.Write (filename); +- } +- else if (strcmp (&filename[strlen(filename)-3], "stp") == 0) +- { +- STEPControl_Writer writer; +- writer.Transfer (shape, STEPControl_AsIs); +- writer.Write (filename); +- } +- else if (strcmp (&filename[strlen(filename)-3], "stl") == 0) +- { +- StlAPI_Writer writer; +- writer.ASCIIMode() = Standard_True; +- writer.Write (shape, filename); +- } +- else if (strcmp (&filename[strlen(filename)-4], "stlb") == 0) +- { +- StlAPI_Writer writer; +- writer.ASCIIMode() = Standard_False; +- writer.Write (shape, filename); +- } +- } +- +- +- +- const char * shapesname[] = +- {" ", "CompSolids", "Solids", "Shells", +- +- "Faces", "Wires", "Edges", "Vertices"}; +- +- const char * shapename[] = +- {" ", "CompSolid", "Solid", "Shell", +- "Face", "Wire", "Edge", "Vertex"}; +- +- const char * orientationstring[] = +- {"+", "-"}; +- +- +- +- +- void OCCGeometry :: RecursiveTopologyTree (const TopoDS_Shape & sh, +- stringstream & str, +- TopAbs_ShapeEnum l, +- bool isfree, +- const char * lname) +- { +- if (l > TopAbs_VERTEX) return; +- +- TopExp_Explorer e; +- int count = 0; +- int count2 = 0; +- +- if (isfree) +- e.Init(sh, l, TopAbs_ShapeEnum(l-1)); +- else +- e.Init(sh, l); +- +- for (; e.More(); e.Next()) +- { +- count++; +- +- stringstream lname2; +- lname2 << lname << "/" << shapename[l] << count; +- str << lname2.str() << " "; +- +- switch (e.Current().ShapeType()) +- { +- case TopAbs_SOLID: +- count2 = somap.FindIndex(TopoDS::Solid(e.Current())); break; +- case TopAbs_SHELL: +- count2 = shmap.FindIndex(TopoDS::Shell(e.Current())); break; +- case TopAbs_FACE: +- count2 = fmap.FindIndex(TopoDS::Face(e.Current())); break; +- case TopAbs_WIRE: +- count2 = wmap.FindIndex(TopoDS::Wire(e.Current())); break; +- case TopAbs_EDGE: +- count2 = emap.FindIndex(TopoDS::Edge(e.Current())); break; +- case TopAbs_VERTEX: +- count2 = vmap.FindIndex(TopoDS::Vertex(e.Current())); break; +- default: +- cout << "RecursiveTopologyTree: Case " << e.Current().ShapeType() << " not handeled" << endl; +- } +- +- int nrsubshapes = 0; +- +- if (l <= TopAbs_WIRE) +- { +- TopExp_Explorer e2; +- for (e2.Init (e.Current(), TopAbs_ShapeEnum (l+1)); +- e2.More(); e2.Next()) +- nrsubshapes++; +- } +- +- str << "{" << shapename[l] << " " << count2; +- +- if (l <= TopAbs_EDGE) +- { +- str << " (" << orientationstring[e.Current().Orientation()]; +- if (nrsubshapes != 0) str << ", " << nrsubshapes; +- str << ") } "; +- } +- else +- str << " } "; +- +- RecursiveTopologyTree (e.Current(), str, TopAbs_ShapeEnum (l+1), +- false, (char*)lname2.str().c_str()); +- +- } +- } +- +- +- +- +- void OCCGeometry :: GetTopologyTree (stringstream & str) +- { +- cout << "Building topology tree ... " << flush; +- RecursiveTopologyTree (shape, str, TopAbs_COMPSOLID, false, "CompSolids"); +- RecursiveTopologyTree (shape, str, TopAbs_SOLID, true, "FreeSolids"); +- RecursiveTopologyTree (shape, str, TopAbs_SHELL, true, "FreeShells"); +- RecursiveTopologyTree (shape, str, TopAbs_FACE, true, "FreeFaces"); +- RecursiveTopologyTree (shape, str, TopAbs_WIRE, true, "FreeWires"); +- RecursiveTopologyTree (shape, str, TopAbs_EDGE, true, "FreeEdges"); +- RecursiveTopologyTree (shape, str, TopAbs_VERTEX, true, "FreeVertices"); +- str << flush; +- // cout << "done" << endl; +- } +- +- +- +- +- void OCCGeometry :: CheckIrregularEntities(stringstream & str) +- { +- ShapeAnalysis_CheckSmallFace csm; +- +- csm.SetTolerance (1e-6); +- +- TopTools_DataMapOfShapeListOfShape mapEdges; +- ShapeAnalysis_DataMapOfShapeListOfReal mapParam; +- TopoDS_Compound theAllVert; +- +- int spotfaces = 0; +- int stripsupportfaces = 0; +- int singlestripfaces = 0; +- int stripfaces = 0; +- int facessplitbyvertices = 0; +- int stretchedpinfaces = 0; +- int smoothpinfaces = 0; +- int twistedfaces = 0; +- // int edgessamebutnotidentified = 0; +- +- cout << "checking faces ... " << flush; +- +- int i; +- for (i = 1; i <= fmap.Extent(); i++) +- { +- TopoDS_Face face = TopoDS::Face (fmap(i)); +- TopoDS_Edge e1, e2; +- +- if (csm.CheckSpotFace (face)) +- { +- if (!spotfaces++) +- str << "SpotFace {Spot face} "; +- +- (*testout) << "Face " << i << " is a spot face" << endl; +- str << "SpotFace/Face" << i << " "; +- str << "{Face " << i << " } "; +- } +- +- if (csm.IsStripSupport (face)) +- { +- if (!stripsupportfaces++) +- str << "StripSupportFace {Strip support face} "; +- +- (*testout) << "Face " << i << " has strip support" << endl; +- str << "StripSupportFace/Face" << i << " "; +- str << "{Face " << i << " } "; +- } +- +- if (csm.CheckSingleStrip(face, e1, e2)) +- { +- if (!singlestripfaces++) +- str << "SingleStripFace {Single strip face} "; +- +- (*testout) << "Face " << i << " is a single strip (edge " << emap.FindIndex(e1) +- << " and edge " << emap.FindIndex(e2) << " are identical)" << endl; +- str << "SingleStripFace/Face" << i << " "; +- str << "{Face " << i << " (edge " << emap.FindIndex(e1) +- << " and edge " << emap.FindIndex(e2) << " are identical)} "; +- } +- +- if (csm.CheckStripFace(face, e1, e2)) +- { +- if (!stripfaces++) +- str << "StripFace {Strip face} "; +- +- (*testout) << "Face " << i << " is a strip (edge " << emap.FindIndex(e1) +- << " and edge " << emap.FindIndex(e2) +- << " are identical)" << endl; +- str << "StripFace/Face" << i << " "; +- str << "{Face " << i << " (edge " << emap.FindIndex(e1) +- << " and edge " << emap.FindIndex(e2) << " are identical)} "; +- } +- +- if (int count = csm.CheckSplittingVertices(face, mapEdges, mapParam, theAllVert)) +- { +- if (!facessplitbyvertices++) +- str << "FaceSplitByVertices {Face split by vertices} "; +- +- (*testout) << "Face " << i << " is split by " << count +- << " vertex/vertices " << endl; +- str << "FaceSplitByVertices/Face" << i << " "; +- str << "{Face " << i << " (split by " << count << "vertex/vertices)} "; +- } +- +- int whatrow, sens; +- if (int type = csm.CheckPin (face, whatrow, sens)) +- { +- if (type == 1) +- { +- if (!smoothpinfaces++) +- str << "SmoothPinFace {Smooth pin face} "; +- +- (*testout) << "Face " << i << " is a smooth pin" << endl; +- str << "SmoothPinFace/Face" << i << " "; +- str << "{Face " << i << " } "; +- } +- else +- { +- if (!stretchedpinfaces++) +- str << "StretchedPinFace {Stretched pin face} "; +- +- (*testout) << "Face " << i << " is a streched pin" << endl; +- str << "StretchedPinFace/Face" << i << " "; +- str << "{Face " << i << " } "; +- } +- } +- +- double paramu, paramv; +- if (csm.CheckTwisted (face, paramu, paramv)) +- { +- if (!twistedfaces++) +- str << "TwistedFace {Twisted face} "; +- +- (*testout) << "Face " << i << " is twisted" << endl; +- str << "TwistedFace/Face" << i << " "; +- str << "{Face " << i << " } "; +- } +- } +- +- cout << "done" << endl; +- cout << "checking edges ... " << flush; +- +- // double dmax; +- // int cnt = 0; +- Array edgeLengths; +- Array order; +- edgeLengths.SetSize (emap.Extent()); +- order.SetSize (emap.Extent()); +- +- for (i = 1; i <= emap.Extent(); i++) +- { +- TopoDS_Edge edge1 = TopoDS::Edge (emap(i)); +- GProp_GProps system; +- BRepGProp::LinearProperties(edge1, system); +- edgeLengths[i-1] = system.Mass(); +- } +- +- Sort (edgeLengths, order); +- +- str << "ShortestEdges {Shortest edges} "; +- for (i = 1; i <= min(20, emap.Extent()); i++) +- { +- str << "ShortestEdges/Edge" << i; +- str << " {Edge " << order[i-1] << " (L=" << edgeLengths[order[i-1]-1] << ")} "; +- } +- +- str << flush; +- +- cout << "done" << endl; +- } +- +- +- +- +- void OCCGeometry :: GetUnmeshedFaceInfo (stringstream & str) +- { +- for (int i = 1; i <= fmap.Extent(); i++) +- { +- if (facemeshstatus[i-1] == -1) +- str << "Face" << i << " {Face " << i << " } "; +- } +- str << flush; +- } +- +- +- +- +- void OCCGeometry :: GetNotDrawableFaces (stringstream & str) +- { +- for (int i = 1; i <= fmap.Extent(); i++) +- { +- if (!fvispar[i-1].IsDrawable()) +- str << "Face" << i << " {Face " << i << " } "; +- } +- str << flush; +- } +- +- +- +- +- bool OCCGeometry :: ErrorInSurfaceMeshing () +- { +- for (int i = 1; i <= fmap.Extent(); i++) +- if (facemeshstatus[i-1] == -1) +- return true; +- +- return false; +- } +- +- +- +- +- int OCCGeometry :: GenerateMesh (Mesh*& mesh, MeshingParameters & mparam, +- int perfstepsstart, int perfstepsend) +- { +- return OCCGenerateMesh (*this, mesh, mparam, perfstepsstart, perfstepsend); +- } +- +- +- +- +- const Refinement & OCCGeometry :: GetRefinement () const +- { +- return * new OCCRefinementSurfaces (*this); +- } +- +- +- +- +- OCCParameters :: OCCParameters() +- { +- resthcloseedgefac = 1; +- resthcloseedgeenable = 1; +- resthminedgelen = 0.001; +- resthminedgelenenable = 1; +- } +- +- +- +- +- void OCCParameters :: Print(ostream & ost) const +- { +- ost << "OCC Parameters:" << endl +- << "close edges: " << resthcloseedgeenable +- << ", fac = " << resthcloseedgefac << endl +- << "minimum edge length: " << resthminedgelenenable +- << ", min len = " << resthminedgelen << endl; +- } +- +- +- +- +- OCCParameters occparam; +- +-} +- +- +-#endif ++ ++#ifdef OCCGEOMETRY ++ ++#include ++#include ++#include "ShapeAnalysis_ShapeTolerance.hxx" ++#include "ShapeAnalysis_ShapeContents.hxx" ++#include "ShapeAnalysis_CheckSmallFace.hxx" ++#include "ShapeAnalysis_DataMapOfShapeListOfReal.hxx" ++#include "ShapeAnalysis_Surface.hxx" ++#include // -- to optimize Project() and FastProject() ++#include ++#include "BRepAlgoAPI_Fuse.hxx" ++#include "BRepCheck_Analyzer.hxx" ++#include "BRepLib.hxx" ++#include "ShapeBuild_ReShape.hxx" ++#include "ShapeFix.hxx" ++#include "ShapeFix_FixSmallFace.hxx" ++#include "Partition_Spliter.hxx" ++ ++namespace netgen ++{ ++ // free data used to optimize Project() and FastProject() ++ OCCGeometry::~OCCGeometry() ++ { ++ NCollection_DataMap::Iterator it(fclsmap); ++ for (; it.More(); it.Next()) ++ delete it.Value(); ++ } ++ ++ void OCCGeometry :: PrintNrShapes () ++ { ++ TopExp_Explorer e; ++ int count = 0; ++ for (e.Init(shape, TopAbs_COMPSOLID); e.More(); e.Next()) count++; ++ cout << "CompSolids: " << count << endl; ++ ++ cout << "Solids : " << somap.Extent() << endl; ++ cout << "Shells : " << shmap.Extent() << endl; ++ cout << "Faces : " << fmap.Extent() << endl; ++ cout << "Edges : " << emap.Extent() << endl; ++ cout << "Vertices : " << vmap.Extent() << endl; ++ } ++ ++ ++ ++ ++ void PrintContents (OCCGeometry * geom) ++ { ++ ShapeAnalysis_ShapeContents cont; ++ cont.Clear(); ++ cont.Perform(geom->shape); ++ ++ (*testout) << "OCC CONTENTS" << endl; ++ (*testout) << "============" << endl; ++ (*testout) << "SOLIDS : " << cont.NbSolids() << endl; ++ (*testout) << "SHELLS : " << cont.NbShells() << endl; ++ (*testout) << "FACES : " << cont.NbFaces() << endl; ++ (*testout) << "WIRES : " << cont.NbWires() << endl; ++ (*testout) << "EDGES : " << cont.NbEdges() << endl; ++ (*testout) << "VERTICES : " << cont.NbVertices() << endl; ++ ++ TopExp_Explorer e; ++ int count = 0; ++ for (e.Init(geom->shape, TopAbs_COMPOUND); e.More(); e.Next()) ++ count++; ++ (*testout) << "Compounds: " << count << endl; ++ ++ count = 0; ++ for (e.Init(geom->shape, TopAbs_COMPSOLID); e.More(); e.Next()) ++ count++; ++ (*testout) << "CompSolids: " << count << endl; ++ ++ (*testout) << endl; ++ ++ cout << "Highest entry in topology hierarchy: " << endl; ++ if (count) ++ cout << count << " composite solid(s)" << endl; ++ else ++ if (geom->somap.Extent()) ++ cout << geom->somap.Extent() << " solid(s)" << endl; ++ else ++ if (geom->shmap.Extent()) ++ cout << geom->shmap.Extent() << " shells(s)" << endl; ++ else ++ if (geom->fmap.Extent()) ++ cout << geom->fmap.Extent() << " face(s)" << endl; ++ else ++ if (geom->wmap.Extent()) ++ cout << geom->wmap.Extent() << " wire(s)" << endl; ++ else ++ if (geom->emap.Extent()) ++ cout << geom->emap.Extent() << " edge(s)" << endl; ++ else ++ if (geom->vmap.Extent()) ++ cout << geom->vmap.Extent() << " vertices(s)" << endl; ++ else ++ cout << "no entities" << endl; ++ ++ } ++ ++ ++ ++ void OCCGeometry :: HealGeometry () ++ { ++ int nrc = 0, nrcs = 0, ++ nrso = somap.Extent(), ++ nrsh = shmap.Extent(), ++ nrf = fmap.Extent(), ++ nrw = wmap.Extent(), ++ nre = emap.Extent(), ++ nrv = vmap.Extent(); ++ ++ TopExp_Explorer exp0; ++ TopExp_Explorer exp1; ++ ++ ++ for (exp0.Init(shape, TopAbs_COMPOUND); exp0.More(); exp0.Next()) nrc++; ++ for (exp0.Init(shape, TopAbs_COMPSOLID); exp0.More(); exp0.Next()) nrcs++; ++ ++ double surfacecont = 0; ++ ++ { ++ Handle(ShapeBuild_ReShape) rebuild = new ShapeBuild_ReShape; ++ rebuild->Apply(shape); ++ for (exp1.Init (shape, TopAbs_EDGE); exp1.More(); exp1.Next()) ++ { ++ TopoDS_Edge edge = TopoDS::Edge(exp1.Current()); ++ if ( BRep_Tool::Degenerated(edge) ) ++ rebuild->Remove(edge); ++ } ++ shape = rebuild->Apply(shape); ++ } ++ ++ BuildFMap(); ++ ++ ++ for (exp0.Init (shape, TopAbs_FACE); exp0.More(); exp0.Next()) ++ { ++ TopoDS_Face face = TopoDS::Face(exp0.Current()); ++ ++ GProp_GProps system; ++ BRepGProp::SurfaceProperties(face, system); ++ surfacecont += system.Mass(); ++ } ++ ++ ++ cout << "Starting geometry healing procedure (tolerance: " << tolerance << ")" << endl ++ << "-----------------------------------" << endl; ++ ++ { ++ cout << endl << "- repairing faces" << endl; ++ ++ Handle(ShapeFix_Face) sff; ++ Handle(ShapeBuild_ReShape) rebuild = new ShapeBuild_ReShape; ++ rebuild->Apply(shape); ++ ++ ++ for (exp0.Init (shape, TopAbs_FACE); exp0.More(); exp0.Next()) ++ { ++ // Variable to hold the colour (if there exists one) of ++ // the current face being processed ++ Quantity_Color face_colour; ++ ++ TopoDS_Face face = TopoDS::Face (exp0.Current()); ++ ++ if(face_colours.IsNull() ++ || (!(face_colours->GetColor(face,XCAFDoc_ColorSurf,face_colour)))) ++ { ++ // Set the default face colour to green (Netgen Standard) ++ // if no colour has been defined for the face ++ face_colour = Quantity_Color(0.0,1.0,0.0,Quantity_TOC_RGB); ++ } ++ ++ sff = new ShapeFix_Face (face); ++ sff->FixAddNaturalBoundMode() = Standard_True; ++ sff->FixSmallAreaWireMode() = Standard_True; ++ sff->Perform(); ++ ++ if(sff->Status(ShapeExtend_DONE1) || ++ sff->Status(ShapeExtend_DONE2) || ++ sff->Status(ShapeExtend_DONE3) || ++ sff->Status(ShapeExtend_DONE4) || ++ sff->Status(ShapeExtend_DONE5)) ++ { ++ cout << "repaired face " << fmap.FindIndex(face) << " "; ++ if(sff->Status(ShapeExtend_DONE1)) ++ cout << "(some wires are fixed)" <Status(ShapeExtend_DONE2)) ++ cout << "(orientation of wires fixed)" <Status(ShapeExtend_DONE3)) ++ cout << "(missing seam added)" <Status(ShapeExtend_DONE4)) ++ cout << "(small area wire removed)" <Status(ShapeExtend_DONE5)) ++ cout << "(natural bounds added)" <Face(); ++ ++ rebuild->Replace(face, newface); ++ } ++ ++ // Set the original colour of the face to the newly created ++ // face (after the healing process) ++ face = TopoDS::Face (exp0.Current()); ++ face_colours->SetColor(face,face_colour,XCAFDoc_ColorSurf); ++ } ++ shape = rebuild->Apply(shape); ++ } ++ ++ ++ { ++ Handle(ShapeBuild_ReShape) rebuild = new ShapeBuild_ReShape; ++ rebuild->Apply(shape); ++ for (exp1.Init (shape, TopAbs_EDGE); exp1.More(); exp1.Next()) ++ { ++ TopoDS_Edge edge = TopoDS::Edge(exp1.Current()); ++ if ( BRep_Tool::Degenerated(edge) ) ++ rebuild->Remove(edge); ++ } ++ shape = rebuild->Apply(shape); ++ } ++ ++ ++ if (fixsmalledges) ++ { ++ cout << endl << "- fixing small edges" << endl; ++ ++ Handle(ShapeFix_Wire) sfw; ++ Handle(ShapeBuild_ReShape) rebuild = new ShapeBuild_ReShape; ++ rebuild->Apply(shape); ++ ++ ++ for (exp0.Init (shape, TopAbs_FACE); exp0.More(); exp0.Next()) ++ { ++ TopoDS_Face face = TopoDS::Face(exp0.Current()); ++ ++ for (exp1.Init (face, TopAbs_WIRE); exp1.More(); exp1.Next()) ++ { ++ TopoDS_Wire oldwire = TopoDS::Wire(exp1.Current()); ++ sfw = new ShapeFix_Wire (oldwire, face ,tolerance); ++ sfw->ModifyTopologyMode() = Standard_True; ++ ++ sfw->ClosedWireMode() = Standard_True; ++ ++ bool replace = false; ++ ++ replace = sfw->FixReorder() || replace; ++ ++ replace = sfw->FixConnected() || replace; ++ ++ ++ ++ if (sfw->FixSmall (Standard_False, tolerance) && ! (sfw->StatusSmall(ShapeExtend_FAIL1) || ++ sfw->StatusSmall(ShapeExtend_FAIL2) || ++ sfw->StatusSmall(ShapeExtend_FAIL3))) ++ { ++ cout << "Fixed small edge in wire " << wmap.FindIndex (oldwire) << endl; ++ replace = true; ++ ++ } ++ else if (sfw->StatusSmall(ShapeExtend_FAIL1)) ++ cerr << "Failed to fix small edge in wire " << wmap.FindIndex (oldwire) ++ << ", edge cannot be checked (no 3d curve and no pcurve)" << endl; ++ else if (sfw->StatusSmall(ShapeExtend_FAIL2)) ++ cerr << "Failed to fix small edge in wire " << wmap.FindIndex (oldwire) ++ << ", edge is null-length and has different vertives at begin and end, and lockvtx is True or ModifiyTopologyMode is False" << endl; ++ else if (sfw->StatusSmall(ShapeExtend_FAIL3)) ++ cerr << "Failed to fix small edge in wire " << wmap.FindIndex (oldwire) ++ << ", CheckConnected has failed" << endl; ++ ++ replace = sfw->FixEdgeCurves() || replace; ++ ++ replace = sfw->FixDegenerated() || replace; ++ ++ replace = sfw->FixSelfIntersection() || replace; ++ ++ replace = sfw->FixLacking(Standard_True) || replace; ++ ++ if(replace) ++ { ++ TopoDS_Wire newwire = sfw->Wire(); ++ rebuild->Replace(oldwire, newwire); ++ } ++ ++ //delete sfw; sfw = NULL; ++ ++ } ++ } ++ ++ shape = rebuild->Apply(shape); ++ ++ ++ ++ { ++ BuildFMap(); ++ Handle(ShapeBuild_ReShape) rebuild = new ShapeBuild_ReShape; ++ rebuild->Apply(shape); ++ ++ for (exp1.Init (shape, TopAbs_EDGE); exp1.More(); exp1.Next()) ++ { ++ TopoDS_Edge edge = TopoDS::Edge(exp1.Current()); ++ if (vmap.FindIndex(TopExp::FirstVertex (edge)) == ++ vmap.FindIndex(TopExp::LastVertex (edge))) ++ { ++ GProp_GProps system; ++ BRepGProp::LinearProperties(edge, system); ++ if (system.Mass() < tolerance) ++ { ++ cout << "removing degenerated edge " << emap.FindIndex(edge) ++ << " from vertex " << vmap.FindIndex(TopExp::FirstVertex (edge)) ++ << " to vertex " << vmap.FindIndex(TopExp::LastVertex (edge)) << endl; ++ rebuild->Remove(edge); ++ } ++ } ++ } ++ shape = rebuild->Apply(shape); ++ ++ //delete rebuild; rebuild = NULL; ++ } ++ ++ ++ ++ { ++ Handle(ShapeBuild_ReShape) rebuild = new ShapeBuild_ReShape; ++ rebuild->Apply(shape); ++ for (exp1.Init (shape, TopAbs_EDGE); exp1.More(); exp1.Next()) ++ { ++ TopoDS_Edge edge = TopoDS::Edge(exp1.Current()); ++ if ( BRep_Tool::Degenerated(edge) ) ++ rebuild->Remove(edge); ++ } ++ shape = rebuild->Apply(shape); ++ } ++ ++ ++ ++ ++ Handle(ShapeFix_Wireframe) sfwf = new ShapeFix_Wireframe; ++ sfwf->SetPrecision(tolerance); ++ sfwf->Load (shape); ++ sfwf->ModeDropSmallEdges() = Standard_True; ++ ++ sfwf->SetPrecision(boundingbox.Diam()); ++ ++ if (sfwf->FixWireGaps()) ++ { ++ cout << endl << "- fixing wire gaps" << endl; ++ if (sfwf->StatusWireGaps(ShapeExtend_OK)) cout << "no gaps found" << endl; ++ if (sfwf->StatusWireGaps(ShapeExtend_DONE1)) cout << "some 2D gaps fixed" << endl; ++ if (sfwf->StatusWireGaps(ShapeExtend_DONE2)) cout << "some 3D gaps fixed" << endl; ++ if (sfwf->StatusWireGaps(ShapeExtend_FAIL1)) cout << "failed to fix some 2D gaps" << endl; ++ if (sfwf->StatusWireGaps(ShapeExtend_FAIL2)) cout << "failed to fix some 3D gaps" << endl; ++ } ++ ++ sfwf->SetPrecision(tolerance); ++ ++ ++ { ++ for (exp1.Init (shape, TopAbs_EDGE); exp1.More(); exp1.Next()) ++ { ++ TopoDS_Edge edge = TopoDS::Edge(exp1.Current()); ++ if ( BRep_Tool::Degenerated(edge) ) ++ cout << "degenerated edge at position 4" << endl; ++ } ++ } ++ ++ ++ ++ if (sfwf->FixSmallEdges()) ++ { ++ cout << endl << "- fixing wire frames" << endl; ++ if (sfwf->StatusSmallEdges(ShapeExtend_OK)) cout << "no small edges found" << endl; ++ if (sfwf->StatusSmallEdges(ShapeExtend_DONE1)) cout << "some small edges fixed" << endl; ++ if (sfwf->StatusSmallEdges(ShapeExtend_FAIL1)) cout << "failed to fix some small edges" << endl; ++ } ++ ++ ++ ++ shape = sfwf->Shape(); ++ ++ //delete sfwf; sfwf = NULL; ++ //delete rebuild; rebuild = NULL; ++ ++ } ++ ++ ++ ++ ++ ++ { ++ for (exp1.Init (shape, TopAbs_EDGE); exp1.More(); exp1.Next()) ++ { ++ TopoDS_Edge edge = TopoDS::Edge(exp1.Current()); ++ if ( BRep_Tool::Degenerated(edge) ) ++ cout << "degenerated edge at position 5" << endl; ++ } ++ } ++ ++ ++ ++ ++ if (fixspotstripfaces) ++ { ++ ++ cout << endl << "- fixing spot and strip faces" << endl; ++ Handle(ShapeFix_FixSmallFace) sffsm = new ShapeFix_FixSmallFace(); ++ sffsm -> Init (shape); ++ sffsm -> SetPrecision (tolerance); ++ sffsm -> Perform(); ++ ++ shape = sffsm -> FixShape(); ++ //delete sffsm; sffsm = NULL; ++ } ++ ++ ++ { ++ for (exp1.Init (shape, TopAbs_EDGE); exp1.More(); exp1.Next()) ++ { ++ TopoDS_Edge edge = TopoDS::Edge(exp1.Current()); ++ if ( BRep_Tool::Degenerated(edge) ) ++ cout << "degenerated edge at position 6" << endl; ++ } ++ } ++ ++ ++ ++ if (sewfaces) ++ { ++ cout << endl << "- sewing faces" << endl; ++ ++ BRepOffsetAPI_Sewing sewedObj(tolerance); ++ ++ for (exp0.Init (shape, TopAbs_FACE); exp0.More(); exp0.Next()) ++ { ++ TopoDS_Face face = TopoDS::Face (exp0.Current()); ++ sewedObj.Add (face); ++ } ++ ++ sewedObj.Perform(); ++ ++ if (!sewedObj.SewedShape().IsNull()) ++ shape = sewedObj.SewedShape(); ++ else ++ cout << " not possible"; ++ } ++ ++ ++ ++ { ++ Handle(ShapeBuild_ReShape) rebuild = new ShapeBuild_ReShape; ++ rebuild->Apply(shape); ++ for (exp1.Init (shape, TopAbs_EDGE); exp1.More(); exp1.Next()) ++ { ++ TopoDS_Edge edge = TopoDS::Edge(exp1.Current()); ++ if ( BRep_Tool::Degenerated(edge) ) ++ rebuild->Remove(edge); ++ } ++ shape = rebuild->Apply(shape); ++ } ++ ++ ++ if (makesolids) ++ { ++ cout << endl << "- making solids" << endl; ++ ++ BRepBuilderAPI_MakeSolid ms; ++ int count = 0; ++ for (exp0.Init(shape, TopAbs_SHELL); exp0.More(); exp0.Next()) ++ { ++ count++; ++ ms.Add (TopoDS::Shell(exp0.Current())); ++ } ++ ++ if (!count) ++ { ++ cout << " not possible (no shells)" << endl; ++ } ++ else ++ { ++ BRepCheck_Analyzer ba(ms); ++ if (ba.IsValid ()) ++ { ++ Handle(ShapeFix_Shape) sfs = new ShapeFix_Shape; ++ sfs->Init (ms); ++ sfs->SetPrecision(tolerance); ++ sfs->SetMaxTolerance(tolerance); ++ sfs->Perform(); ++ shape = sfs->Shape(); ++ ++ for (exp0.Init(shape, TopAbs_SOLID); exp0.More(); exp0.Next()) ++ { ++ TopoDS_Solid solid = TopoDS::Solid(exp0.Current()); ++ TopoDS_Solid newsolid = solid; ++ BRepLib::OrientClosedSolid (newsolid); ++ Handle(ShapeBuild_ReShape) rebuild = new ShapeBuild_ReShape; ++ // rebuild->Apply(shape); ++ rebuild->Replace(solid, newsolid); ++ TopoDS_Shape newshape = rebuild->Apply(shape, TopAbs_COMPSOLID);//, 1); ++ // TopoDS_Shape newshape = rebuild->Apply(shape); ++ shape = newshape; ++ } ++ ++ //delete sfs; sfs = NULL; ++ } ++ else ++ cout << " not possible" << endl; ++ } ++ } ++ ++ ++ ++ if (splitpartitions) ++ { ++ cout << "- running SALOME partition splitter" << endl; ++ ++ TopExp_Explorer e2; ++ Partition_Spliter ps; ++ int count = 0; ++ ++ for (e2.Init (shape, TopAbs_SOLID); ++ e2.More(); e2.Next()) ++ { ++ count++; ++ ps.AddShape (e2.Current()); ++ } ++ ++ ps.Compute(); ++ shape = ps.Shape(); ++ ++ cout << " before: " << count << " solids" << endl; ++ ++ count = 0; ++ for (e2.Init (shape, TopAbs_SOLID); ++ e2.More(); e2.Next()) count++; ++ ++ cout << " after : " << count << " solids" << endl; ++ } ++ ++ BuildFMap(); ++ ++ ++ ++ { ++ for (exp1.Init (shape, TopAbs_EDGE); exp1.More(); exp1.Next()) ++ { ++ TopoDS_Edge edge = TopoDS::Edge(exp1.Current()); ++ if ( BRep_Tool::Degenerated(edge) ) ++ cout << "degenerated edge at position 8" << endl; ++ } ++ } ++ ++ ++ double newsurfacecont = 0; ++ ++ ++ for (exp0.Init (shape, TopAbs_FACE); exp0.More(); exp0.Next()) ++ { ++ TopoDS_Face face = TopoDS::Face(exp0.Current()); ++ GProp_GProps system; ++ BRepGProp::SurfaceProperties(face, system); ++ newsurfacecont += system.Mass(); ++ } ++ ++ ++ int nnrc = 0, nnrcs = 0, ++ nnrso = somap.Extent(), ++ nnrsh = shmap.Extent(), ++ nnrf = fmap.Extent(), ++ nnrw = wmap.Extent(), ++ nnre = emap.Extent(), ++ nnrv = vmap.Extent(); ++ ++ for (exp0.Init(shape, TopAbs_COMPOUND); exp0.More(); exp0.Next()) nnrc++; ++ for (exp0.Init(shape, TopAbs_COMPSOLID); exp0.More(); exp0.Next()) nnrcs++; ++ ++ cout << "-----------------------------------" << endl; ++ cout << "Compounds : " << nnrc << " (" << nrc << ")" << endl; ++ cout << "Composite solids: " << nnrcs << " (" << nrcs << ")" << endl; ++ cout << "Solids : " << nnrso << " (" << nrso << ")" << endl; ++ cout << "Shells : " << nnrsh << " (" << nrsh << ")" << endl; ++ cout << "Wires : " << nnrw << " (" << nrw << ")" << endl; ++ cout << "Faces : " << nnrf << " (" << nrf << ")" << endl; ++ cout << "Edges : " << nnre << " (" << nre << ")" << endl; ++ cout << "Vertices : " << nnrv << " (" << nrv << ")" << endl; ++ cout << endl; ++ cout << "Totol surface area : " << newsurfacecont << " (" << surfacecont << ")" << endl; ++ cout << endl; ++ } ++ ++ ++ ++ ++ void OCCGeometry :: BuildFMap() ++ { ++ somap.Clear(); ++ shmap.Clear(); ++ fmap.Clear(); ++ wmap.Clear(); ++ emap.Clear(); ++ vmap.Clear(); ++ ++ TopExp_Explorer exp0, exp1, exp2, exp3, exp4, exp5; ++ ++ for (exp0.Init(shape, TopAbs_COMPOUND); ++ exp0.More(); exp0.Next()) ++ { ++ TopoDS_Compound compound = TopoDS::Compound (exp0.Current()); ++ (*testout) << "compound" << endl; ++ int i = 0; ++ for (exp1.Init(compound, TopAbs_SHELL); ++ exp1.More(); exp1.Next()) ++ { ++ (*testout) << "shell " << ++i << endl; ++ } ++ } ++ ++ for (exp0.Init(shape, TopAbs_SOLID); ++ exp0.More(); exp0.Next()) ++ { ++ TopoDS_Solid solid = TopoDS::Solid (exp0.Current()); ++ ++ if (somap.FindIndex(solid) < 1) ++ { ++ somap.Add (solid); ++ ++ for (exp1.Init(solid, TopAbs_SHELL); ++ exp1.More(); exp1.Next()) ++ { ++ TopoDS_Shell shell = TopoDS::Shell (exp1.Current()); ++ if (shmap.FindIndex(shell) < 1) ++ { ++ shmap.Add (shell); ++ ++ for (exp2.Init(shell, TopAbs_FACE); ++ exp2.More(); exp2.Next()) ++ { ++ TopoDS_Face face = TopoDS::Face(exp2.Current()); ++ if (fmap.FindIndex(face) < 1) ++ { ++ fmap.Add (face); ++ (*testout) << "face " << fmap.FindIndex(face) << " "; ++ (*testout) << ((face.Orientation() == TopAbs_REVERSED) ? "-" : "+") << ", "; ++ (*testout) << ((exp2.Current().Orientation() == TopAbs_REVERSED) ? "-" : "+") << endl; ++ for (exp3.Init(exp2.Current(), TopAbs_WIRE); ++ exp3.More(); exp3.Next()) ++ { ++ TopoDS_Wire wire = TopoDS::Wire (exp3.Current()); ++ if (wmap.FindIndex(wire) < 1) ++ { ++ wmap.Add (wire); ++ ++ for (exp4.Init(exp3.Current(), TopAbs_EDGE); ++ exp4.More(); exp4.Next()) ++ { ++ TopoDS_Edge edge = TopoDS::Edge(exp4.Current()); ++ if (emap.FindIndex(edge) < 1) ++ { ++ emap.Add (edge); ++ for (exp5.Init(exp4.Current(), TopAbs_VERTEX); ++ exp5.More(); exp5.Next()) ++ { ++ TopoDS_Vertex vertex = TopoDS::Vertex(exp5.Current()); ++ if (vmap.FindIndex(vertex) < 1) ++ vmap.Add (vertex); ++ } ++ } ++ } ++ } ++ } ++ } ++ } ++ } ++ } ++ } ++ } ++ ++ // Free Shells ++ for (exp1.Init(shape, TopAbs_SHELL, TopAbs_SOLID); exp1.More(); exp1.Next()) ++ { ++ TopoDS_Shell shell = TopoDS::Shell(exp1.Current()); ++ if (shmap.FindIndex(shell) < 1) ++ { ++ shmap.Add (shell); ++ ++ (*testout) << "shell " << shmap.FindIndex(shell) << " "; ++ (*testout) << ((shell.Orientation() == TopAbs_REVERSED) ? "-" : "+") << ", "; ++ (*testout) << ((exp1.Current().Orientation() == TopAbs_REVERSED) ? "-" : "+") << endl; ++ ++ for (exp2.Init(shell, TopAbs_FACE); exp2.More(); exp2.Next()) ++ { ++ TopoDS_Face face = TopoDS::Face(exp2.Current()); ++ if (fmap.FindIndex(face) < 1) ++ { ++ fmap.Add (face); ++ ++ for (exp3.Init(face, TopAbs_WIRE); exp3.More(); exp3.Next()) ++ { ++ TopoDS_Wire wire = TopoDS::Wire (exp3.Current()); ++ if (wmap.FindIndex(wire) < 1) ++ { ++ wmap.Add (wire); ++ ++ for (exp4.Init(wire, TopAbs_EDGE); exp4.More(); exp4.Next()) ++ { ++ TopoDS_Edge edge = TopoDS::Edge(exp4.Current()); ++ if (emap.FindIndex(edge) < 1) ++ { ++ emap.Add (edge); ++ for (exp5.Init(edge, TopAbs_VERTEX); exp5.More(); exp5.Next()) ++ { ++ TopoDS_Vertex vertex = TopoDS::Vertex(exp5.Current()); ++ if (vmap.FindIndex(vertex) < 1) ++ vmap.Add (vertex); ++ } ++ } ++ } ++ } ++ } ++ } ++ } ++ } ++ } ++ ++ ++ // Free Faces ++ ++ for (exp2.Init(shape, TopAbs_FACE, TopAbs_SHELL); exp2.More(); exp2.Next()) ++ { ++ TopoDS_Face face = TopoDS::Face(exp2.Current()); ++ if (fmap.FindIndex(face) < 1) ++ { ++ fmap.Add (face); ++ ++ for (exp3.Init(exp2.Current(), TopAbs_WIRE); exp3.More(); exp3.Next()) ++ { ++ TopoDS_Wire wire = TopoDS::Wire (exp3.Current()); ++ if (wmap.FindIndex(wire) < 1) ++ { ++ wmap.Add (wire); ++ ++ for (exp4.Init(exp3.Current(), TopAbs_EDGE); exp4.More(); exp4.Next()) ++ { ++ TopoDS_Edge edge = TopoDS::Edge(exp4.Current()); ++ if (emap.FindIndex(edge) < 1) ++ { ++ emap.Add (edge); ++ for (exp5.Init(exp4.Current(), TopAbs_VERTEX); exp5.More(); exp5.Next()) ++ { ++ TopoDS_Vertex vertex = TopoDS::Vertex(exp5.Current()); ++ if (vmap.FindIndex(vertex) < 1) ++ vmap.Add (vertex); ++ } ++ } ++ } ++ } ++ } ++ } ++ } ++ ++ ++ // Free Wires ++ ++ for (exp3.Init(shape, TopAbs_WIRE, TopAbs_FACE); exp3.More(); exp3.Next()) ++ { ++ TopoDS_Wire wire = TopoDS::Wire (exp3.Current()); ++ if (wmap.FindIndex(wire) < 1) ++ { ++ wmap.Add (wire); ++ ++ for (exp4.Init(exp3.Current(), TopAbs_EDGE); exp4.More(); exp4.Next()) ++ { ++ TopoDS_Edge edge = TopoDS::Edge(exp4.Current()); ++ if (emap.FindIndex(edge) < 1) ++ { ++ emap.Add (edge); ++ for (exp5.Init(exp4.Current(), TopAbs_VERTEX); exp5.More(); exp5.Next()) ++ { ++ TopoDS_Vertex vertex = TopoDS::Vertex(exp5.Current()); ++ if (vmap.FindIndex(vertex) < 1) ++ vmap.Add (vertex); ++ } ++ } ++ } ++ } ++ } ++ ++ ++ // Free Edges ++ ++ for (exp4.Init(shape, TopAbs_EDGE, TopAbs_WIRE); exp4.More(); exp4.Next()) ++ { ++ TopoDS_Edge edge = TopoDS::Edge(exp4.Current()); ++ if (emap.FindIndex(edge) < 1) ++ { ++ emap.Add (edge); ++ for (exp5.Init(exp4.Current(), TopAbs_VERTEX); exp5.More(); exp5.Next()) ++ { ++ TopoDS_Vertex vertex = TopoDS::Vertex(exp5.Current()); ++ if (vmap.FindIndex(vertex) < 1) ++ vmap.Add (vertex); ++ } ++ } ++ } ++ ++ ++ // Free Vertices ++ ++ for (exp5.Init(shape, TopAbs_VERTEX, TopAbs_EDGE); exp5.More(); exp5.Next()) ++ { ++ TopoDS_Vertex vertex = TopoDS::Vertex(exp5.Current()); ++ if (vmap.FindIndex(vertex) < 1) ++ vmap.Add (vertex); ++ } ++ ++ ++ ++ ++ facemeshstatus.DeleteAll(); ++ facemeshstatus.SetSize (fmap.Extent()); ++ facemeshstatus = 0; ++ ++ // Philippose - 15/01/2009 ++ face_maxh.DeleteAll(); ++ face_maxh.SetSize (fmap.Extent()); ++ face_maxh = mparam.maxh; ++ ++ // Philippose - 15/01/2010 ++ face_maxh_modified.DeleteAll(); ++ face_maxh_modified.SetSize(fmap.Extent()); ++ face_maxh_modified = 0; ++ ++ ++ // Philippose - 17/01/2009 ++ face_sel_status.DeleteAll(); ++ face_sel_status.SetSize (fmap.Extent()); ++ face_sel_status = 0; ++ ++ fvispar.SetSize (fmap.Extent()); ++ evispar.SetSize (emap.Extent()); ++ vvispar.SetSize (vmap.Extent()); ++ ++ fsingular.SetSize (fmap.Extent()); ++ esingular.SetSize (emap.Extent()); ++ vsingular.SetSize (vmap.Extent()); ++ ++ fsingular = esingular = vsingular = false; ++ } ++ ++ ++ ++ void OCCGeometry :: SewFaces () ++ { ++ (*testout) << "Trying to sew faces ..." << endl; ++ cout << "Trying to sew faces ..." << flush; ++ ++ BRepOffsetAPI_Sewing sewedObj(1); ++ ++ for (int i = 1; i <= fmap.Extent(); i++) ++ { ++ TopoDS_Face face = TopoDS::Face (fmap(i)); ++ sewedObj.Add (face); ++ } ++ ++ sewedObj.Perform(); ++ ++ if (!sewedObj.SewedShape().IsNull()) ++ { ++ shape = sewedObj.SewedShape(); ++ cout << " done" << endl; ++ } ++ else ++ cout << " not possible"; ++ } ++ ++ ++ ++ ++ ++ void OCCGeometry :: MakeSolid () ++ { ++ TopExp_Explorer exp0; ++ ++ (*testout) << "Trying to build solids ..." << endl; ++ cout << "Trying to build solids ..." << flush; ++ ++ BRepBuilderAPI_MakeSolid ms; ++ int count = 0; ++ for (exp0.Init(shape, TopAbs_SHELL); exp0.More(); exp0.Next()) ++ { ++ count++; ++ ms.Add (TopoDS::Shell(exp0.Current())); ++ } ++ ++ if (!count) ++ { ++ cout << " not possible (no shells)" << endl; ++ return; ++ } ++ ++ BRepCheck_Analyzer ba(ms); ++ if (ba.IsValid ()) ++ { ++ Handle(ShapeFix_Shape) sfs = new ShapeFix_Shape; ++ sfs->Init (ms); ++ ++ sfs->SetPrecision(1e-5); ++ sfs->SetMaxTolerance(1e-5); ++ ++ sfs->Perform(); ++ ++ shape = sfs->Shape(); ++ ++ for (exp0.Init(shape, TopAbs_SOLID); exp0.More(); exp0.Next()) ++ { ++ TopoDS_Solid solid = TopoDS::Solid(exp0.Current()); ++ TopoDS_Solid newsolid = solid; ++ BRepLib::OrientClosedSolid (newsolid); ++ Handle(ShapeBuild_ReShape) rebuild = new ShapeBuild_ReShape; ++ rebuild->Replace(solid, newsolid); ++ ++ TopoDS_Shape newshape = rebuild->Apply(shape, TopAbs_SHAPE, 1); ++ shape = newshape; ++ } ++ ++ cout << " done" << endl; ++ } ++ else ++ cout << " not possible" << endl; ++ } ++ ++ ++ ++ ++ void OCCGeometry :: BuildVisualizationMesh (double deflection) ++ { ++ cout << "Preparing visualization (deflection = " << deflection << ") ... " << flush; ++ ++ BRepTools::Clean (shape); ++ // BRepMesh_IncrementalMesh:: ++ BRepMesh_IncrementalMesh (shape, deflection, true); ++ cout << "done" << endl; ++ } ++ ++ ++ ++ ++ void OCCGeometry :: CalcBoundingBox () ++ { ++ Bnd_Box bb; ++ BRepBndLib::Add (shape, bb); ++ ++ double x1,y1,z1,x2,y2,z2; ++ bb.Get (x1,y1,z1,x2,y2,z2); ++ Point<3> p1 = Point<3> (x1,y1,z1); ++ Point<3> p2 = Point<3> (x2,y2,z2); ++ ++ (*testout) << "Bounding Box = [" << p1 << " - " << p2 << "]" << endl; ++ boundingbox = Box<3> (p1,p2); ++ SetCenter(); ++ } ++ ++ ++ // returns a projector and a classifier for the given surface ++ void OCCGeometry::GetFaceTools(int surfi, Handle(ShapeAnalysis_Surface)& proj, ++ BRepTopAdaptor_FClass2d*& cls) const ++ { ++ //MSV: organize caching projector in the map ++ if (fprjmap.IsBound(surfi)) ++ { ++ proj = fprjmap.Find(surfi); ++ cls = fclsmap.Find(surfi); ++ } ++ else ++ { ++ const TopoDS_Face& aFace = TopoDS::Face(fmap(surfi)); ++ Handle(Geom_Surface) aSurf = BRep_Tool::Surface(aFace); ++ proj = new ShapeAnalysis_Surface(aSurf); ++ fprjmap.Bind(surfi, proj); ++ cls = new BRepTopAdaptor_FClass2d(aFace,Precision::Confusion()); ++ fclsmap.Bind(surfi, cls); ++ } ++ } ++ ++ // void OCCGeometry :: Project (int surfi, Point<3> & p) const ++ bool OCCGeometry :: Project (int surfi, Point<3> & p, double& u, double& v) const ++ { ++ static int cnt = 0; ++ if (++cnt % 1000 == 0) cout << "Project cnt = " << cnt << endl; ++ ++ gp_Pnt pnt(p(0), p(1), p(2)); ++ ++ // -- Optimization: use cached projector and classifier ++ // double u,v; ++ // Handle( Geom_Surface ) thesurf = BRep_Tool::Surface(TopoDS::Face(fmap(surfi))); ++ // Handle( ShapeAnalysis_Surface ) su = new ShapeAnalysis_Surface( thesurf ); ++ // gp_Pnt2d suval = su->ValueOfUV ( pnt, BRep_Tool::Tolerance( TopoDS::Face(fmap(surfi)) ) ); ++ // suval.Coord( u, v); ++ // pnt = thesurf->Value( u, v ); ++ ++ Handle(ShapeAnalysis_Surface) proj; ++ BRepTopAdaptor_FClass2d *cls; ++ GetFaceTools(surfi, proj, cls); ++ ++ gp_Pnt2d p2d = proj->ValueOfUV(pnt, Precision::Confusion()); ++ if (cls->Perform(p2d) == TopAbs_OUT) ++ { ++ return false; ++ } ++ pnt = proj->Value(p2d); ++ p2d.Coord(u, v); ++ ++ p = Point<3> (pnt.X(), pnt.Y(), pnt.Z()); ++ ++ return true; ++ } ++ ++ ++ ++ ++ bool OCCGeometry :: FastProject (int surfi, Point<3> & ap, double& u, double& v) const ++ { ++ gp_Pnt p(ap(0), ap(1), ap(2)); ++ ++ // -- Optimization: use cached projector and classifier ++ // Handle(Geom_Surface) surface = BRep_Tool::Surface(TopoDS::Face(fmap(surfi))); ++ // ++ // gp_Pnt x = surface->Value (u,v); ++ // ++ // if (p.SquareDistance(x) <= sqr(PROJECTION_TOLERANCE)) return true; ++ // ++ // gp_Vec du, dv; ++ // ++ // surface->D1(u,v,x,du,dv); ++ // ++ // int count = 0; ++ // ++ // gp_Pnt xold; ++ // gp_Vec n; ++ // double det, lambda, mu; ++ // ++ // do { ++ // count++; ++ // ++ // n = du^dv; ++ // ++ // det = Det3 (n.X(), du.X(), dv.X(), ++ // n.Y(), du.Y(), dv.Y(), ++ // n.Z(), du.Z(), dv.Z()); ++ // ++ // if (det < 1e-15) return false; ++ // ++ // lambda = Det3 (n.X(), p.X()-x.X(), dv.X(), ++ // n.Y(), p.Y()-x.Y(), dv.Y(), ++ // n.Z(), p.Z()-x.Z(), dv.Z())/det; ++ // ++ // mu = Det3 (n.X(), du.X(), p.X()-x.X(), ++ // n.Y(), du.Y(), p.Y()-x.Y(), ++ // n.Z(), du.Z(), p.Z()-x.Z())/det; ++ // ++ // u += lambda; ++ // v += mu; ++ // ++ // xold = x; ++ // surface->D1(u,v,x,du,dv); ++ // ++ // } while (xold.SquareDistance(x) > sqr(PROJECTION_TOLERANCE) && count < 50); ++ // ++ // // (*testout) << "FastProject count: " << count << endl; ++ // ++ // if (count == 50) return false; ++ // ++ // ap = Point<3> (x.X(), x.Y(), x.Z()); ++ Handle(ShapeAnalysis_Surface) proj; ++ BRepTopAdaptor_FClass2d *cls; ++ GetFaceTools(surfi, proj, cls); ++ ++ gp_Pnt2d p2d = proj->NextValueOfUV(gp_Pnt2d(u,v), p, Precision::Confusion()); ++ if (cls->Perform(p2d) == TopAbs_OUT) ++ { ++ //cout << "Projection fails" << endl; ++ return false; ++ } ++ ++ p = proj->Value(p2d); ++ p2d.Coord(u, v); ++ ap = Point<3> (p.X(), p.Y(), p.Z()); ++ ++ return true; ++ } ++ ++ ++ ++ ++ void OCCGeometry :: WriteOCC_STL(char * filename) ++ { ++ cout << "writing stl..."; cout.flush(); ++ StlAPI_Writer writer; ++ //writer.RelativeMode() = Standard_False; ++ ++ //writer.SetDeflection(0.02); ++ writer.Write(shape,filename); ++ ++ cout << "done" << endl; ++ } ++ ++ ++ ++ // Philippose - 23/02/2009 ++ /* Special IGES File load function including the ability ++ to extract individual surface colours via the extended ++ OpenCascade XDE and XCAF Feature set. ++ */ ++ OCCGeometry *LoadOCC_IGES(const char *filename) ++ { ++ OCCGeometry *occgeo; ++ occgeo = new OCCGeometry; ++ ++ // Initiate a dummy XCAF Application to handle the IGES XCAF Document ++ static Handle(XCAFApp_Application) dummy_app = XCAFApp_Application::GetApplication(); ++ ++ // Create an XCAF Document to contain the IGES file itself ++ Handle(TDocStd_Document) iges_doc; ++ ++ // Check if a IGES File is already open under this handle, if so, close it to prevent ++ // Segmentation Faults when trying to create a new document ++ if(dummy_app->NbDocuments() > 0) ++ { ++ dummy_app->GetDocument(1,iges_doc); ++ dummy_app->Close(iges_doc); ++ } ++ dummy_app->NewDocument ("IGES-XCAF",iges_doc); ++ ++ IGESCAFControl_Reader reader; ++ ++ Standard_Integer stat = reader.ReadFile((char*)filename); ++ ++ if(stat != IFSelect_RetDone) ++ { ++ delete occgeo; ++ return NULL; ++ } ++ ++ // Enable transfer of colours ++ reader.SetColorMode(Standard_True); ++ ++ reader.Transfer(iges_doc); ++ ++ // Read in the shape(s) and the colours present in the IGES File ++ Handle(XCAFDoc_ShapeTool) iges_shape_contents = XCAFDoc_DocumentTool::ShapeTool(iges_doc->Main()); ++ Handle(XCAFDoc_ColorTool) iges_colour_contents = XCAFDoc_DocumentTool::ColorTool(iges_doc->Main()); ++ ++ TDF_LabelSequence iges_shapes; ++ iges_shape_contents->GetShapes(iges_shapes); ++ ++ // List out the available colours in the IGES File as Colour Names ++ TDF_LabelSequence all_colours; ++ iges_colour_contents->GetColors(all_colours); ++ PrintMessage(1,"Number of colours in IGES File: ",all_colours.Length()); ++ for(int i = 1; i <= all_colours.Length(); i++) ++ { ++ Quantity_Color col; ++ stringstream col_rgb; ++ iges_colour_contents->GetColor(all_colours.Value(i),col); ++ col_rgb << " : (" << col.Red() << "," << col.Green() << "," << col.Blue() << ")"; ++ PrintMessage(1, "Colour [", i, "] = ",col.StringName(col.Name()),col_rgb.str()); ++ } ++ ++ ++ // For the IGES Reader, all the shapes can be exported as one compund shape ++ // using the "OneShape" member ++ occgeo->shape = reader.OneShape(); ++ occgeo->face_colours = iges_colour_contents; ++ occgeo->changed = 1; ++ occgeo->BuildFMap(); ++ ++ occgeo->CalcBoundingBox(); ++ PrintContents (occgeo); ++ ++ return occgeo; ++ } ++ ++ ++ ++ ++ ++ // Philippose - 29/01/2009 ++ /* Special STEP File load function including the ability ++ to extract individual surface colours via the extended ++ OpenCascade XDE and XCAF Feature set. ++ */ ++ OCCGeometry * LoadOCC_STEP (const char * filename) ++ { ++ OCCGeometry * occgeo; ++ occgeo = new OCCGeometry; ++ ++ // Initiate a dummy XCAF Application to handle the STEP XCAF Document ++ static Handle(XCAFApp_Application) dummy_app = XCAFApp_Application::GetApplication(); ++ ++ // Create an XCAF Document to contain the STEP file itself ++ Handle(TDocStd_Document) step_doc; ++ ++ // Check if a STEP File is already open under this handle, if so, close it to prevent ++ // Segmentation Faults when trying to create a new document ++ if(dummy_app->NbDocuments() > 0) ++ { ++ dummy_app->GetDocument(1,step_doc); ++ dummy_app->Close(step_doc); ++ } ++ dummy_app->NewDocument ("STEP-XCAF",step_doc); ++ ++ STEPCAFControl_Reader reader; ++ ++ // Enable transfer of colours ++ reader.SetColorMode(Standard_True); ++ ++ Standard_Integer stat = reader.ReadFile((char*)filename); ++ ++ if(stat != IFSelect_RetDone) ++ { ++ delete occgeo; ++ return NULL; ++ } ++ ++ reader.Transfer(step_doc); ++ ++ // Read in the shape(s) and the colours present in the STEP File ++ Handle(XCAFDoc_ShapeTool) step_shape_contents = XCAFDoc_DocumentTool::ShapeTool(step_doc->Main()); ++ Handle(XCAFDoc_ColorTool) step_colour_contents = XCAFDoc_DocumentTool::ColorTool(step_doc->Main()); ++ ++ TDF_LabelSequence step_shapes; ++ step_shape_contents->GetShapes(step_shapes); ++ ++ // List out the available colours in the STEP File as Colour Names ++ TDF_LabelSequence all_colours; ++ step_colour_contents->GetColors(all_colours); ++ PrintMessage(1,"Number of colours in STEP File: ",all_colours.Length()); ++ for(int i = 1; i <= all_colours.Length(); i++) ++ { ++ Quantity_Color col; ++ stringstream col_rgb; ++ step_colour_contents->GetColor(all_colours.Value(i),col); ++ col_rgb << " : (" << col.Red() << "," << col.Green() << "," << col.Blue() << ")"; ++ PrintMessage(1, "Colour [", i, "] = ",col.StringName(col.Name()),col_rgb.str()); ++ } ++ ++ ++ // For the STEP File Reader in OCC, the 1st Shape contains the entire ++ // compound geometry as one shape ++ occgeo->shape = step_shape_contents->GetShape(step_shapes.Value(1)); ++ occgeo->face_colours = step_colour_contents; ++ occgeo->changed = 1; ++ occgeo->BuildFMap(); ++ ++ occgeo->CalcBoundingBox(); ++ PrintContents (occgeo); ++ ++ return occgeo; ++ } ++ ++ ++ ++ ++ OCCGeometry *LoadOCC_BREP (const char *filename) ++ { ++ OCCGeometry * occgeo; ++ occgeo = new OCCGeometry; ++ ++ BRep_Builder aBuilder; ++ Standard_Boolean result = BRepTools::Read(occgeo->shape, const_cast (filename),aBuilder); ++ ++ if(!result) ++ { ++ delete occgeo; ++ return NULL; ++ } ++ ++ // Philippose - 23/02/2009 ++ // Fixed a bug in the OpenCascade XDE Colour handling when ++ // opening BREP Files, since BREP Files have no colour data. ++ // Hence, the face_colours Handle needs to be created as a NULL handle. ++ occgeo->face_colours = Handle(XCAFDoc_ColorTool)(); ++ occgeo->face_colours.Nullify(); ++ occgeo->changed = 1; ++ occgeo->BuildFMap(); ++ ++ occgeo->CalcBoundingBox(); ++ PrintContents (occgeo); ++ ++ return occgeo; ++ } ++ ++ ++ void OCCGeometry :: Save (string sfilename) const ++ { ++ const char * filename = sfilename.c_str(); ++ if (strlen(filename) < 4) ++ throw NgException ("illegal filename"); ++ ++ if (strcmp (&filename[strlen(filename)-3], "igs") == 0) ++ { ++ IGESControl_Writer writer("millimeters", 1); ++ writer.AddShape (shape); ++ writer.Write (filename); ++ } ++ else if (strcmp (&filename[strlen(filename)-3], "stp") == 0) ++ { ++ STEPControl_Writer writer; ++ writer.Transfer (shape, STEPControl_AsIs); ++ writer.Write (filename); ++ } ++ else if (strcmp (&filename[strlen(filename)-3], "stl") == 0) ++ { ++ StlAPI_Writer writer; ++ writer.ASCIIMode() = Standard_True; ++ writer.Write (shape, filename); ++ } ++ else if (strcmp (&filename[strlen(filename)-4], "stlb") == 0) ++ { ++ StlAPI_Writer writer; ++ writer.ASCIIMode() = Standard_False; ++ writer.Write (shape, filename); ++ } ++ } ++ ++ ++ ++ const char * shapesname[] = ++ {" ", "CompSolids", "Solids", "Shells", ++ ++ "Faces", "Wires", "Edges", "Vertices"}; ++ ++ const char * shapename[] = ++ {" ", "CompSolid", "Solid", "Shell", ++ "Face", "Wire", "Edge", "Vertex"}; ++ ++ const char * orientationstring[] = ++ {"+", "-"}; ++ ++ ++ ++ ++ void OCCGeometry :: RecursiveTopologyTree (const TopoDS_Shape & sh, ++ stringstream & str, ++ TopAbs_ShapeEnum l, ++ bool isfree, ++ const char * lname) ++ { ++ if (l > TopAbs_VERTEX) return; ++ ++ TopExp_Explorer e; ++ int count = 0; ++ int count2 = 0; ++ ++ if (isfree) ++ e.Init(sh, l, TopAbs_ShapeEnum(l-1)); ++ else ++ e.Init(sh, l); ++ ++ for (; e.More(); e.Next()) ++ { ++ count++; ++ ++ stringstream lname2; ++ lname2 << lname << "/" << shapename[l] << count; ++ str << lname2.str() << " "; ++ ++ switch (e.Current().ShapeType()) ++ { ++ case TopAbs_SOLID: ++ count2 = somap.FindIndex(TopoDS::Solid(e.Current())); break; ++ case TopAbs_SHELL: ++ count2 = shmap.FindIndex(TopoDS::Shell(e.Current())); break; ++ case TopAbs_FACE: ++ count2 = fmap.FindIndex(TopoDS::Face(e.Current())); break; ++ case TopAbs_WIRE: ++ count2 = wmap.FindIndex(TopoDS::Wire(e.Current())); break; ++ case TopAbs_EDGE: ++ count2 = emap.FindIndex(TopoDS::Edge(e.Current())); break; ++ case TopAbs_VERTEX: ++ count2 = vmap.FindIndex(TopoDS::Vertex(e.Current())); break; ++ default: ++ cout << "RecursiveTopologyTree: Case " << e.Current().ShapeType() << " not handeled" << endl; ++ } ++ ++ int nrsubshapes = 0; ++ ++ if (l <= TopAbs_WIRE) ++ { ++ TopExp_Explorer e2; ++ for (e2.Init (e.Current(), TopAbs_ShapeEnum (l+1)); ++ e2.More(); e2.Next()) ++ nrsubshapes++; ++ } ++ ++ str << "{" << shapename[l] << " " << count2; ++ ++ if (l <= TopAbs_EDGE) ++ { ++ str << " (" << orientationstring[e.Current().Orientation()]; ++ if (nrsubshapes != 0) str << ", " << nrsubshapes; ++ str << ") } "; ++ } ++ else ++ str << " } "; ++ ++ RecursiveTopologyTree (e.Current(), str, TopAbs_ShapeEnum (l+1), ++ false, (char*)lname2.str().c_str()); ++ ++ } ++ } ++ ++ ++ ++ ++ void OCCGeometry :: GetTopologyTree (stringstream & str) ++ { ++ cout << "Building topology tree ... " << flush; ++ RecursiveTopologyTree (shape, str, TopAbs_COMPSOLID, false, "CompSolids"); ++ RecursiveTopologyTree (shape, str, TopAbs_SOLID, true, "FreeSolids"); ++ RecursiveTopologyTree (shape, str, TopAbs_SHELL, true, "FreeShells"); ++ RecursiveTopologyTree (shape, str, TopAbs_FACE, true, "FreeFaces"); ++ RecursiveTopologyTree (shape, str, TopAbs_WIRE, true, "FreeWires"); ++ RecursiveTopologyTree (shape, str, TopAbs_EDGE, true, "FreeEdges"); ++ RecursiveTopologyTree (shape, str, TopAbs_VERTEX, true, "FreeVertices"); ++ str << flush; ++ // cout << "done" << endl; ++ } ++ ++ ++ ++ ++ void OCCGeometry :: CheckIrregularEntities(stringstream & str) ++ { ++ ShapeAnalysis_CheckSmallFace csm; ++ ++ csm.SetTolerance (1e-6); ++ ++ TopTools_DataMapOfShapeListOfShape mapEdges; ++ ShapeAnalysis_DataMapOfShapeListOfReal mapParam; ++ TopoDS_Compound theAllVert; ++ ++ int spotfaces = 0; ++ int stripsupportfaces = 0; ++ int singlestripfaces = 0; ++ int stripfaces = 0; ++ int facessplitbyvertices = 0; ++ int stretchedpinfaces = 0; ++ int smoothpinfaces = 0; ++ int twistedfaces = 0; ++ // int edgessamebutnotidentified = 0; ++ ++ cout << "checking faces ... " << flush; ++ ++ int i; ++ for (i = 1; i <= fmap.Extent(); i++) ++ { ++ TopoDS_Face face = TopoDS::Face (fmap(i)); ++ TopoDS_Edge e1, e2; ++ ++ if (csm.CheckSpotFace (face)) ++ { ++ if (!spotfaces++) ++ str << "SpotFace {Spot face} "; ++ ++ (*testout) << "Face " << i << " is a spot face" << endl; ++ str << "SpotFace/Face" << i << " "; ++ str << "{Face " << i << " } "; ++ } ++ ++ if (csm.IsStripSupport (face)) ++ { ++ if (!stripsupportfaces++) ++ str << "StripSupportFace {Strip support face} "; ++ ++ (*testout) << "Face " << i << " has strip support" << endl; ++ str << "StripSupportFace/Face" << i << " "; ++ str << "{Face " << i << " } "; ++ } ++ ++ if (csm.CheckSingleStrip(face, e1, e2)) ++ { ++ if (!singlestripfaces++) ++ str << "SingleStripFace {Single strip face} "; ++ ++ (*testout) << "Face " << i << " is a single strip (edge " << emap.FindIndex(e1) ++ << " and edge " << emap.FindIndex(e2) << " are identical)" << endl; ++ str << "SingleStripFace/Face" << i << " "; ++ str << "{Face " << i << " (edge " << emap.FindIndex(e1) ++ << " and edge " << emap.FindIndex(e2) << " are identical)} "; ++ } ++ ++ if (csm.CheckStripFace(face, e1, e2)) ++ { ++ if (!stripfaces++) ++ str << "StripFace {Strip face} "; ++ ++ (*testout) << "Face " << i << " is a strip (edge " << emap.FindIndex(e1) ++ << " and edge " << emap.FindIndex(e2) ++ << " are identical)" << endl; ++ str << "StripFace/Face" << i << " "; ++ str << "{Face " << i << " (edge " << emap.FindIndex(e1) ++ << " and edge " << emap.FindIndex(e2) << " are identical)} "; ++ } ++ ++ if (int count = csm.CheckSplittingVertices(face, mapEdges, mapParam, theAllVert)) ++ { ++ if (!facessplitbyvertices++) ++ str << "FaceSplitByVertices {Face split by vertices} "; ++ ++ (*testout) << "Face " << i << " is split by " << count ++ << " vertex/vertices " << endl; ++ str << "FaceSplitByVertices/Face" << i << " "; ++ str << "{Face " << i << " (split by " << count << "vertex/vertices)} "; ++ } ++ ++ int whatrow, sens; ++ if (int type = csm.CheckPin (face, whatrow, sens)) ++ { ++ if (type == 1) ++ { ++ if (!smoothpinfaces++) ++ str << "SmoothPinFace {Smooth pin face} "; ++ ++ (*testout) << "Face " << i << " is a smooth pin" << endl; ++ str << "SmoothPinFace/Face" << i << " "; ++ str << "{Face " << i << " } "; ++ } ++ else ++ { ++ if (!stretchedpinfaces++) ++ str << "StretchedPinFace {Stretched pin face} "; ++ ++ (*testout) << "Face " << i << " is a streched pin" << endl; ++ str << "StretchedPinFace/Face" << i << " "; ++ str << "{Face " << i << " } "; ++ } ++ } ++ ++ double paramu, paramv; ++ if (csm.CheckTwisted (face, paramu, paramv)) ++ { ++ if (!twistedfaces++) ++ str << "TwistedFace {Twisted face} "; ++ ++ (*testout) << "Face " << i << " is twisted" << endl; ++ str << "TwistedFace/Face" << i << " "; ++ str << "{Face " << i << " } "; ++ } ++ } ++ ++ cout << "done" << endl; ++ cout << "checking edges ... " << flush; ++ ++ // double dmax; ++ // int cnt = 0; ++ Array edgeLengths; ++ Array order; ++ edgeLengths.SetSize (emap.Extent()); ++ order.SetSize (emap.Extent()); ++ ++ for (i = 1; i <= emap.Extent(); i++) ++ { ++ TopoDS_Edge edge1 = TopoDS::Edge (emap(i)); ++ GProp_GProps system; ++ BRepGProp::LinearProperties(edge1, system); ++ edgeLengths[i-1] = system.Mass(); ++ } ++ ++ Sort (edgeLengths, order); ++ ++ str << "ShortestEdges {Shortest edges} "; ++ for (i = 1; i <= min(20, emap.Extent()); i++) ++ { ++ str << "ShortestEdges/Edge" << i; ++ str << " {Edge " << order[i-1] << " (L=" << edgeLengths[order[i-1]-1] << ")} "; ++ } ++ ++ str << flush; ++ ++ cout << "done" << endl; ++ } ++ ++ ++ ++ ++ void OCCGeometry :: GetUnmeshedFaceInfo (stringstream & str) ++ { ++ for (int i = 1; i <= fmap.Extent(); i++) ++ { ++ if (facemeshstatus[i-1] == -1) ++ str << "Face" << i << " {Face " << i << " } "; ++ } ++ str << flush; ++ } ++ ++ ++ ++ ++ void OCCGeometry :: GetNotDrawableFaces (stringstream & str) ++ { ++ for (int i = 1; i <= fmap.Extent(); i++) ++ { ++ if (!fvispar[i-1].IsDrawable()) ++ str << "Face" << i << " {Face " << i << " } "; ++ } ++ str << flush; ++ } ++ ++ ++ ++ ++ bool OCCGeometry :: ErrorInSurfaceMeshing () ++ { ++ for (int i = 1; i <= fmap.Extent(); i++) ++ if (facemeshstatus[i-1] == -1) ++ return true; ++ ++ return false; ++ } ++ ++ ++ ++ ++ int OCCGeometry :: GenerateMesh (Mesh*& mesh, MeshingParameters & mparam, ++ int perfstepsstart, int perfstepsend) ++ { ++ return OCCGenerateMesh (*this, mesh, mparam, perfstepsstart, perfstepsend); ++ } ++ ++ ++ ++ ++ const Refinement & OCCGeometry :: GetRefinement () const ++ { ++ return * new OCCRefinementSurfaces (*this); ++ } ++ ++ ++ ++ ++ OCCParameters :: OCCParameters() ++ { ++ resthcloseedgefac = 1; ++ resthcloseedgeenable = 1; ++ resthminedgelen = 0.001; ++ resthminedgelenenable = 1; ++ } ++ ++ ++ ++ ++ void OCCParameters :: Print(ostream & ost) const ++ { ++ ost << "OCC Parameters:" << endl ++ << "close edges: " << resthcloseedgeenable ++ << ", fac = " << resthcloseedgefac << endl ++ << "minimum edge length: " << resthminedgelenenable ++ << ", min len = " << resthminedgelen << endl; ++ } ++ ++ ++ ++ ++ OCCParameters occparam; ++ ++} ++ ++ ++#endif +diff -Naur netgen-5.3.1_SRC_orig/libsrc/occ/occgeom.hpp netgen-5.3.1_SRC_modif/libsrc/occ/occgeom.hpp +--- netgen-5.3.1_SRC_orig/libsrc/occ/occgeom.hpp 2014-08-29 13:54:03.000000000 +0400 ++++ netgen-5.3.1_SRC_modif/libsrc/occ/occgeom.hpp 2018-03-01 15:45:08.691877252 +0300 +@@ -1,457 +1,475 @@ +-#ifndef FILE_OCCGEOM +-#define FILE_OCCGEOM +- +-/* *************************************************************************/ +-/* File: occgeom.hpp */ +-/* Author: Robert Gaisbauer */ +-/* Date: 26. May 03 */ +-/* *************************************************************************/ +- +-#ifdef OCCGEOMETRY +- +-#include +- +-#include "BRep_Tool.hxx" +-#include "Geom_Curve.hxx" +-#include "Geom2d_Curve.hxx" +-#include "Geom_Surface.hxx" +-#include "GeomAPI_ProjectPointOnSurf.hxx" +-#include "GeomAPI_ProjectPointOnCurve.hxx" +-#include "BRepTools.hxx" +-#include "TopExp.hxx" +-#include "BRepBuilderAPI_MakeVertex.hxx" +-#include "BRepBuilderAPI_MakeShell.hxx" +-#include "BRepBuilderAPI_MakeSolid.hxx" +-#include "BRepOffsetAPI_Sewing.hxx" +-#include "BRepLProp_SLProps.hxx" +-#include "BRepAdaptor_Surface.hxx" +-#include "Poly_Triangulation.hxx" +-#include "Poly_Array1OfTriangle.hxx" +-#include "TColgp_Array1OfPnt2d.hxx" +-#include "Poly_Triangle.hxx" +-#include "GProp_GProps.hxx" +-#include "BRepGProp.hxx" +-#include "Geom_Surface.hxx" +-#include "TopExp.hxx" +-#include "gp_Pnt.hxx" +-#include "TopoDS.hxx" +-#include "TopoDS_Solid.hxx" +-#include "TopExp_Explorer.hxx" +-#include "TopTools_ListIteratorOfListOfShape.hxx" +-#include "BRep_Tool.hxx" +-#include "Geom_Curve.hxx" +-#include "Geom2d_Curve.hxx" +-#include "Geom_Surface.hxx" +-#include "GeomAPI_ProjectPointOnSurf.hxx" +-#include "GeomAPI_ProjectPointOnCurve.hxx" +-#include "TopoDS_Wire.hxx" +-#include "BRepTools_WireExplorer.hxx" +-#include "BRepTools.hxx" +-#include "TopTools_IndexedMapOfShape.hxx" +-#include "TopExp.hxx" +-#include "BRepBuilderAPI_MakeVertex.hxx" +-#include "BRepBuilderAPI_MakeShell.hxx" +-#include "BRepBuilderAPI_MakeSolid.hxx" +-#include "BRepOffsetAPI_Sewing.hxx" +-#include "BRepLProp_CLProps.hxx" +-#include "BRepLProp_SLProps.hxx" +-#include "BRepAdaptor_Surface.hxx" +-#include "BRepAdaptor_Curve.hxx" +-#include "Poly_Triangulation.hxx" +-#include "Poly_Array1OfTriangle.hxx" +-#include "TColgp_Array1OfPnt2d.hxx" +-#include "Poly_Triangle.hxx" +-#include "GProp_GProps.hxx" +-#include "BRepGProp.hxx" +-#include "TopoDS_Shape.hxx" +-#include "TopoDS_Face.hxx" +-#include "IGESToBRep_Reader.hxx" +-#include "Interface_Static.hxx" +-#include "GeomAPI_ExtremaCurveCurve.hxx" +-#include "Standard_ErrorHandler.hxx" +-#include "Standard_Failure.hxx" +-#include "ShapeUpgrade_ShellSewing.hxx" +-#include "ShapeFix_Shape.hxx" +-#include "ShapeFix_Wireframe.hxx" +-#include "BRepMesh.hxx" +-#include "BRepMesh_IncrementalMesh.hxx" +-#include "BRepBndLib.hxx" +-#include "Bnd_Box.hxx" +-#include "ShapeAnalysis.hxx" +-#include "ShapeBuild_ReShape.hxx" +- +- +-// Philippose - 29/01/2009 +-// OpenCascade XDE Support +-// Include support for OpenCascade XDE Features +-#include "TDocStd_Document.hxx" +-#include "Quantity_Color.hxx" +-#include "XCAFApp_Application.hxx" +-#include "XCAFDoc_ShapeTool.hxx" +-#include "XCAFDoc_Color.hxx" +-#include "XCAFDoc_ColorTool.hxx" +-#include "XCAFDoc_ColorType.hxx" +-#include "XCAFDoc_LayerTool.hxx" +-#include "XCAFDoc_DimTolTool.hxx" +-#include "XCAFDoc_MaterialTool.hxx" +-#include "XCAFDoc_DocumentTool.hxx" +-#include "TDF_Label.hxx" +-#include "TDF_LabelSequence.hxx" +-#include "STEPCAFControl_Reader.hxx" +-#include "STEPCAFControl_Writer.hxx" +-#include "IGESCAFControl_Reader.hxx" +-#include "IGESCAFControl_Writer.hxx" +- +-#include "IGESControl_Reader.hxx" +-#include "STEPControl_Reader.hxx" +-#include "IGESControl_Writer.hxx" +-#include "STEPControl_Writer.hxx" +- +-#include "StlAPI_Writer.hxx" +-#include "STEPControl_StepModelType.hxx" +- +-namespace netgen +-{ +-#include "occmeshsurf.hpp" +- +- extern DLL_HEADER MeshingParameters mparam; +- +-#define PROJECTION_TOLERANCE 1e-10 +- +-#define ENTITYISVISIBLE 1 +-#define ENTITYISHIGHLIGHTED 2 +-#define ENTITYISDRAWABLE 4 +- +-#define OCCGEOMETRYVISUALIZATIONNOCHANGE 0 +-#define OCCGEOMETRYVISUALIZATIONFULLCHANGE 1 // Compute transformation matrices and redraw +-#define OCCGEOMETRYVISUALIZATIONHALFCHANGE 2 // Redraw +- +- +- +- class EntityVisualizationCode +- { +- int code; +- +- public: +- +- EntityVisualizationCode() +- { code = ENTITYISVISIBLE + !ENTITYISHIGHLIGHTED + ENTITYISDRAWABLE;} +- +- int IsVisible () +- { return code & ENTITYISVISIBLE;} +- +- int IsHighlighted () +- { return code & ENTITYISHIGHLIGHTED;} +- +- int IsDrawable () +- { return code & ENTITYISDRAWABLE;} +- +- void Show () +- { code |= ENTITYISVISIBLE;} +- +- void Hide () +- { code &= ~ENTITYISVISIBLE;} +- +- void Highlight () +- { code |= ENTITYISHIGHLIGHTED;} +- +- void Lowlight () +- { code &= ~ENTITYISHIGHLIGHTED;} +- +- void SetDrawable () +- { code |= ENTITYISDRAWABLE;} +- +- void SetNotDrawable () +- { code &= ~ENTITYISDRAWABLE;} +- }; +- +- +- +- class Line +- { +- public: +- Point<3> p0, p1; +- +- double Dist (Line l); +- +- double Length (); +- }; +- +- +- +- inline double Det3 (double a00, double a01, double a02, +- double a10, double a11, double a12, +- double a20, double a21, double a22) +- { +- return a00*a11*a22 + a01*a12*a20 + a10*a21*a02 - a20*a11*a02 - a10*a01*a22 - a21*a12*a00; +- } +- +- +- +- +- class OCCGeometry : public NetgenGeometry +- { +- Point<3> center; +- +- public: +- TopoDS_Shape shape; +- TopTools_IndexedMapOfShape fmap, emap, vmap, somap, shmap, wmap; +- Array fsingular, esingular, vsingular; +- Box<3> boundingbox; +- +- // Philippose - 29/01/2009 +- // OpenCascade XDE Support +- // XCAF Handle to make the face colours available to the rest of +- // the system +- Handle_XCAFDoc_ColorTool face_colours; +- +- mutable int changed; +- Array facemeshstatus; +- +- // Philippose - 15/01/2009 +- // Maximum mesh size for a given face +- // (Used to explicitly define mesh size limits on individual faces) +- Array face_maxh; +- +- // Philippose - 14/01/2010 +- // Boolean array to detect whether a face has been explicitly modified +- // by the user or not +- Array face_maxh_modified; +- +- // Philippose - 15/01/2009 +- // Indicates which faces have been selected by the user in geometry mode +- // (Currently handles only selection of one face at a time, but an array would +- // help to extend this to multiple faces) +- Array face_sel_status; +- +- Array fvispar, evispar, vvispar; +- +- double tolerance; +- bool fixsmalledges; +- bool fixspotstripfaces; +- bool sewfaces; +- bool makesolids; +- bool splitpartitions; +- +- OCCGeometry() +- { +- somap.Clear(); +- shmap.Clear(); +- fmap.Clear(); +- wmap.Clear(); +- emap.Clear(); +- vmap.Clear(); +- } +- +- +- virtual void Save (string filename) const; +- +- +- void BuildFMap(); +- +- Box<3> GetBoundingBox() +- { return boundingbox;} +- +- int NrSolids() +- { return somap.Extent();} +- +- // Philippose - 17/01/2009 +- // Total number of faces in the geometry +- int NrFaces() +- { return fmap.Extent();} +- +- void SetCenter() +- { center = boundingbox.Center();} +- +- Point<3> Center() +- { return center;} +- +- void Project (int surfi, Point<3> & p) const; +- bool FastProject (int surfi, Point<3> & ap, double& u, double& v) const; +- +- OCCSurface GetSurface (int surfi) +- { +- cout << "OCCGeometry::GetSurface using PLANESPACE" << endl; +- return OCCSurface (TopoDS::Face(fmap(surfi)), PLANESPACE); +- } +- +- void CalcBoundingBox (); +- void BuildVisualizationMesh (double deflection); +- +- void RecursiveTopologyTree (const TopoDS_Shape & sh, +- stringstream & str, +- TopAbs_ShapeEnum l, +- bool free, +- const char * lname); +- +- void GetTopologyTree (stringstream & str); +- +- void PrintNrShapes (); +- +- void CheckIrregularEntities (stringstream & str); +- +- void SewFaces(); +- +- void MakeSolid(); +- +- void HealGeometry(); +- +- // Philippose - 15/01/2009 +- // Sets the maximum mesh size for a given face +- // (Note: Local mesh size limited by the global max mesh size) +- void SetFaceMaxH(int facenr, double faceh) +- { +- if((facenr> 0) && (facenr <= fmap.Extent())) +- { +- face_maxh[facenr-1] = min(mparam.maxh,faceh); +- +- // Philippose - 14/01/2010 +- // If the face maxh is greater than or equal to the +- // current global maximum, then identify the face as +- // not explicitly controlled by the user any more +- if(faceh >= mparam.maxh) +- { +- face_maxh_modified[facenr-1] = 0; +- } +- else +- { +- face_maxh_modified[facenr-1] = 1; +- } +- } +- } +- +- // Philippose - 15/01/2009 +- // Returns the local mesh size of a given face +- double GetFaceMaxH(int facenr) +- { +- if((facenr> 0) && (facenr <= fmap.Extent())) +- { +- return face_maxh[facenr-1]; +- } +- else +- { +- return 0.0; +- } +- } +- +- // Philippose - 14/01/2010 +- // Returns the flag whether the given face +- // has a mesh size controlled by the user or not +- bool GetFaceMaxhModified(int facenr) +- { +- return face_maxh_modified[facenr-1]; +- } +- +- // Philippose - 17/01/2009 +- // Returns the index of the currently selected face +- int SelectedFace() +- { +- int i; +- +- for(i = 1; i <= fmap.Extent(); i++) +- { +- if(face_sel_status[i-1]) +- { +- return i; +- } +- } +- +- return 0; +- } +- +- // Philippose - 17/01/2009 +- // Sets the currently selected face +- void SetSelectedFace(int facenr) +- { +- face_sel_status = 0; +- +- if((facenr >= 1) && (facenr <= fmap.Extent())) +- { +- face_sel_status[facenr-1] = 1; +- } +- } +- +- void LowLightAll() +- { +- for (int i = 1; i <= fmap.Extent(); i++) +- fvispar[i-1].Lowlight(); +- for (int i = 1; i <= emap.Extent(); i++) +- evispar[i-1].Lowlight(); +- for (int i = 1; i <= vmap.Extent(); i++) +- vvispar[i-1].Lowlight(); +- } +- +- void GetUnmeshedFaceInfo (stringstream & str); +- void GetNotDrawableFaces (stringstream & str); +- bool ErrorInSurfaceMeshing (); +- +- void WriteOCC_STL(char * filename); +- +- virtual int GenerateMesh (Mesh*& mesh, MeshingParameters & mparam, +- int perfstepsstart, int perfstepsend); +- +- virtual const Refinement & GetRefinement () const; +- }; +- +- +- +- class OCCParameters +- { +- public: +- +- /// Factor for meshing close edges +- double resthcloseedgefac; +- +- +- /// Enable / Disable detection of close edges +- int resthcloseedgeenable; +- +- +- /// Minimum edge length to be used for dividing edges to mesh points +- double resthminedgelen; +- +- +- /// Enable / Disable use of the minimum edge length (by default use 1e-4) +- int resthminedgelenenable; +- +- /*! +- Default Constructor for the OpenCascade +- Mesh generation parameter set +- */ +- OCCParameters(); +- +- +- /*! +- Dump all the OpenCascade specific meshing parameters +- to console +- */ +- void Print (ostream & ost) const; +- }; +- +- +- void PrintContents (OCCGeometry * geom); +- +- OCCGeometry * LoadOCC_IGES (const char * filename); +- OCCGeometry * LoadOCC_STEP (const char * filename); +- OCCGeometry * LoadOCC_BREP (const char * filename); +- +- extern OCCParameters occparam; +- +- +- // Philippose - 31.09.2009 +- // External access to the mesh generation functions within the OCC +- // subsystem (Not sure if this is the best way to implement this....!!) +- extern int OCCGenerateMesh (OCCGeometry & occgeometry, Mesh*& mesh, +- MeshingParameters & mparam, +- int perfstepsstart, int perfstepsend); +- +- extern void OCCSetLocalMeshSize(OCCGeometry & geom, Mesh & mesh); +- +- extern void OCCMeshSurface (OCCGeometry & geom, Mesh & mesh, int perfstepsend); +- +- extern void OCCFindEdges (OCCGeometry & geom, Mesh & mesh); +-} +- +-#endif +- +-#endif ++#ifndef FILE_OCCGEOM ++#define FILE_OCCGEOM ++ ++/* *************************************************************************/ ++/* File: occgeom.hpp */ ++/* Author: Robert Gaisbauer */ ++/* Date: 26. May 03 */ ++/* *************************************************************************/ ++ ++#ifdef OCCGEOMETRY ++ ++#include ++ ++#include "BRep_Tool.hxx" ++#include "Geom_Curve.hxx" ++#include "Geom2d_Curve.hxx" ++#include "Geom_Surface.hxx" ++// #include "GeomAPI_ProjectPointOnSurf.hxx" ++// #include "GeomAPI_ProjectPointOnCurve.hxx" ++#include "BRepTools.hxx" ++#include "TopExp.hxx" ++#include "BRepBuilderAPI_MakeVertex.hxx" ++#include "BRepBuilderAPI_MakeShell.hxx" ++#include "BRepBuilderAPI_MakeSolid.hxx" ++#include "BRepOffsetAPI_Sewing.hxx" ++#include "BRepLProp_SLProps.hxx" ++#include "BRepAdaptor_Surface.hxx" ++#include "Poly_Triangulation.hxx" ++#include "Poly_Array1OfTriangle.hxx" ++#include "TColgp_Array1OfPnt2d.hxx" ++#include "Poly_Triangle.hxx" ++#include "GProp_GProps.hxx" ++#include "BRepGProp.hxx" ++#include "Geom_Surface.hxx" ++#include "TopExp.hxx" ++#include "gp_Pnt.hxx" ++#include "TopoDS.hxx" ++#include "TopoDS_Solid.hxx" ++#include "TopExp_Explorer.hxx" ++#include "TopTools_ListIteratorOfListOfShape.hxx" ++#include "BRep_Tool.hxx" ++#include "Geom_Curve.hxx" ++#include "Geom2d_Curve.hxx" ++#include "Geom_Surface.hxx" ++// #include "GeomAPI_ProjectPointOnSurf.hxx" ++// #include "GeomAPI_ProjectPointOnCurve.hxx" ++#include "TopoDS_Wire.hxx" ++#include "BRepTools_WireExplorer.hxx" ++#include "BRepTools.hxx" ++#include "TopTools_IndexedMapOfShape.hxx" ++#include "TopExp.hxx" ++#include "BRepBuilderAPI_MakeVertex.hxx" ++#include "BRepBuilderAPI_MakeShell.hxx" ++#include "BRepBuilderAPI_MakeSolid.hxx" ++#include "BRepOffsetAPI_Sewing.hxx" ++#include "BRepLProp_CLProps.hxx" ++#include "BRepLProp_SLProps.hxx" ++#include "BRepAdaptor_Surface.hxx" ++#include "BRepAdaptor_Curve.hxx" ++#include "Poly_Triangulation.hxx" ++#include "Poly_Array1OfTriangle.hxx" ++#include "TColgp_Array1OfPnt2d.hxx" ++#include "Poly_Triangle.hxx" ++#include "GProp_GProps.hxx" ++#include "BRepGProp.hxx" ++#include "TopoDS_Shape.hxx" ++#include "TopoDS_Face.hxx" ++#include "IGESToBRep_Reader.hxx" ++#include "Interface_Static.hxx" ++#include "GeomAPI_ExtremaCurveCurve.hxx" ++//#include "Standard_ErrorHandler.hxx" ++#include "Standard_Failure.hxx" ++#include "ShapeUpgrade_ShellSewing.hxx" ++#include "ShapeFix_Shape.hxx" ++#include "ShapeFix_Wireframe.hxx" ++#include ++#if (OCC_VERSION_MAJOR << 16 | OCC_VERSION_MINOR << 8 | OCC_VERSION_MAINTENANCE) <= 0x060702 ++// porting to OCCT6.7.3 ++#include "BRepMesh.hxx" ++#endif ++#include "BRepMesh_IncrementalMesh.hxx" ++#include "BRepBndLib.hxx" ++#include "Bnd_Box.hxx" ++#include "ShapeAnalysis.hxx" ++#include "ShapeBuild_ReShape.hxx" ++ ++// -- Optimization: to use cached projector and classifier ++#include ++class ShapeAnalysis_Surface; ++class BRepTopAdaptor_FClass2d; ++ ++// Philippose - 29/01/2009 ++// OpenCascade XDE Support ++// Include support for OpenCascade XDE Features ++#include "TDocStd_Document.hxx" ++#include "Quantity_Color.hxx" ++#include "XCAFApp_Application.hxx" ++#include "XCAFDoc_ShapeTool.hxx" ++#include "XCAFDoc_Color.hxx" ++#include "XCAFDoc_ColorTool.hxx" ++#include "XCAFDoc_ColorType.hxx" ++#include "XCAFDoc_LayerTool.hxx" ++#include "XCAFDoc_DimTolTool.hxx" ++#include "XCAFDoc_MaterialTool.hxx" ++#include "XCAFDoc_DocumentTool.hxx" ++#include "TDF_Label.hxx" ++#include "TDF_LabelSequence.hxx" ++#include "STEPCAFControl_Reader.hxx" ++#include "STEPCAFControl_Writer.hxx" ++#include "IGESCAFControl_Reader.hxx" ++#include "IGESCAFControl_Writer.hxx" ++ ++#include "IGESControl_Reader.hxx" ++#include "STEPControl_Reader.hxx" ++#include "IGESControl_Writer.hxx" ++#include "STEPControl_Writer.hxx" ++ ++#include "StlAPI_Writer.hxx" ++#include "STEPControl_StepModelType.hxx" ++ ++namespace netgen ++{ ++#include "occmeshsurf.hpp" ++ ++ extern DLL_HEADER MeshingParameters mparam; ++ ++#define PROJECTION_TOLERANCE 1e-10 ++ ++#define ENTITYISVISIBLE 1 ++#define ENTITYISHIGHLIGHTED 2 ++#define ENTITYISDRAWABLE 4 ++ ++#define OCCGEOMETRYVISUALIZATIONNOCHANGE 0 ++#define OCCGEOMETRYVISUALIZATIONFULLCHANGE 1 // Compute transformation matrices and redraw ++#define OCCGEOMETRYVISUALIZATIONHALFCHANGE 2 // Redraw ++ ++ ++ ++ class EntityVisualizationCode ++ { ++ int code; ++ ++ public: ++ ++ EntityVisualizationCode() ++ { code = ENTITYISVISIBLE + !ENTITYISHIGHLIGHTED + ENTITYISDRAWABLE;} ++ ++ int IsVisible () ++ { return code & ENTITYISVISIBLE;} ++ ++ int IsHighlighted () ++ { return code & ENTITYISHIGHLIGHTED;} ++ ++ int IsDrawable () ++ { return code & ENTITYISDRAWABLE;} ++ ++ void Show () ++ { code |= ENTITYISVISIBLE;} ++ ++ void Hide () ++ { code &= ~ENTITYISVISIBLE;} ++ ++ void Highlight () ++ { code |= ENTITYISHIGHLIGHTED;} ++ ++ void Lowlight () ++ { code &= ~ENTITYISHIGHLIGHTED;} ++ ++ void SetDrawable () ++ { code |= ENTITYISDRAWABLE;} ++ ++ void SetNotDrawable () ++ { code &= ~ENTITYISDRAWABLE;} ++ }; ++ ++ ++ ++ class Line ++ { ++ public: ++ Point<3> p0, p1; ++ ++ double Dist (Line l); ++ ++ double Length (); ++ }; ++ ++ ++ ++ inline double Det3 (double a00, double a01, double a02, ++ double a10, double a11, double a12, ++ double a20, double a21, double a22) ++ { ++ return a00*a11*a22 + a01*a12*a20 + a10*a21*a02 - a20*a11*a02 - a10*a01*a22 - a21*a12*a00; ++ } ++ ++ ++ ++ ++ class OCCGeometry : public NetgenGeometry ++ { ++ Point<3> center; ++ // -- Optimization: to use cached projector and classifier ++ mutable NCollection_DataMap fprjmap; ++ mutable NCollection_DataMap fclsmap; ++ ++ public: ++ TopoDS_Shape shape; ++ TopTools_IndexedMapOfShape fmap, emap, vmap, somap, shmap, wmap; ++ Array fsingular, esingular, vsingular; ++ Box<3> boundingbox; ++ ++ // Philippose - 29/01/2009 ++ // OpenCascade XDE Support ++ // XCAF Handle to make the face colours available to the rest of ++ // the system ++ Handle(XCAFDoc_ColorTool) face_colours; ++ ++ mutable int changed; ++ Array facemeshstatus; ++ ++ // Philippose - 15/01/2009 ++ // Maximum mesh size for a given face ++ // (Used to explicitly define mesh size limits on individual faces) ++ Array face_maxh; ++ ++ // Philippose - 14/01/2010 ++ // Boolean array to detect whether a face has been explicitly modified ++ // by the user or not ++ Array face_maxh_modified; ++ ++ // Philippose - 15/01/2009 ++ // Indicates which faces have been selected by the user in geometry mode ++ // (Currently handles only selection of one face at a time, but an array would ++ // help to extend this to multiple faces) ++ Array face_sel_status; ++ ++ Array fvispar, evispar, vvispar; ++ ++ double tolerance; ++ bool fixsmalledges; ++ bool fixspotstripfaces; ++ bool sewfaces; ++ bool makesolids; ++ bool splitpartitions; ++ ++ OCCGeometry() ++ { ++ somap.Clear(); ++ shmap.Clear(); ++ fmap.Clear(); ++ wmap.Clear(); ++ emap.Clear(); ++ vmap.Clear(); ++ } ++ ++ ++ virtual void Save (string filename) const; ++ ++ ++ ~OCCGeometry(); // -- to free cached projector and classifier ++ ++ void BuildFMap(); ++ ++ Box<3> GetBoundingBox() ++ { return boundingbox;} ++ ++ int NrSolids() ++ { return somap.Extent();} ++ ++ // Philippose - 17/01/2009 ++ // Total number of faces in the geometry ++ int NrFaces() ++ { return fmap.Extent();} ++ ++ void SetCenter() ++ { center = boundingbox.Center();} ++ ++ Point<3> Center() ++ { return center;} ++ ++ // void Project (int surfi, Point<3> & p) const; -- optimization ++ bool Project (int surfi, Point<3> & p, double& u, double& v) const; ++ bool FastProject (int surfi, Point<3> & ap, double& u, double& v) const; ++ ++ // -- Optimization: to use cached projector and classifier ++ void GetFaceTools(int surfi, Handle(ShapeAnalysis_Surface)& proj, ++ BRepTopAdaptor_FClass2d*& cls) const; ++ ++ OCCSurface GetSurface (int surfi) ++ { ++ cout << "OCCGeometry::GetSurface using PLANESPACE" << endl; ++ return OCCSurface (TopoDS::Face(fmap(surfi)), PLANESPACE); ++ } ++ ++ void CalcBoundingBox (); ++ void BuildVisualizationMesh (double deflection); ++ ++ void RecursiveTopologyTree (const TopoDS_Shape & sh, ++ stringstream & str, ++ TopAbs_ShapeEnum l, ++ bool free, ++ const char * lname); ++ ++ void GetTopologyTree (stringstream & str); ++ ++ void PrintNrShapes (); ++ ++ void CheckIrregularEntities (stringstream & str); ++ ++ void SewFaces(); ++ ++ void MakeSolid(); ++ ++ void HealGeometry(); ++ ++ // Philippose - 15/01/2009 ++ // Sets the maximum mesh size for a given face ++ // (Note: Local mesh size limited by the global max mesh size) ++ void SetFaceMaxH(int facenr, double faceh) ++ { ++ if((facenr> 0) && (facenr <= fmap.Extent())) ++ { ++ face_maxh[facenr-1] = min(mparam.maxh,faceh); ++ ++ // Philippose - 14/01/2010 ++ // If the face maxh is greater than or equal to the ++ // current global maximum, then identify the face as ++ // not explicitly controlled by the user any more ++ if(faceh >= mparam.maxh) ++ { ++ face_maxh_modified[facenr-1] = 0; ++ } ++ else ++ { ++ face_maxh_modified[facenr-1] = 1; ++ } ++ } ++ } ++ ++ // Philippose - 15/01/2009 ++ // Returns the local mesh size of a given face ++ double GetFaceMaxH(int facenr) ++ { ++ if((facenr> 0) && (facenr <= fmap.Extent())) ++ { ++ return face_maxh[facenr-1]; ++ } ++ else ++ { ++ return 0.0; ++ } ++ } ++ ++ // Philippose - 14/01/2010 ++ // Returns the flag whether the given face ++ // has a mesh size controlled by the user or not ++ bool GetFaceMaxhModified(int facenr) ++ { ++ return face_maxh_modified[facenr-1]; ++ } ++ ++ // Philippose - 17/01/2009 ++ // Returns the index of the currently selected face ++ int SelectedFace() ++ { ++ int i; ++ ++ for(i = 1; i <= fmap.Extent(); i++) ++ { ++ if(face_sel_status[i-1]) ++ { ++ return i; ++ } ++ } ++ ++ return 0; ++ } ++ ++ // Philippose - 17/01/2009 ++ // Sets the currently selected face ++ void SetSelectedFace(int facenr) ++ { ++ face_sel_status = 0; ++ ++ if((facenr >= 1) && (facenr <= fmap.Extent())) ++ { ++ face_sel_status[facenr-1] = 1; ++ } ++ } ++ ++ void LowLightAll() ++ { ++ for (int i = 1; i <= fmap.Extent(); i++) ++ fvispar[i-1].Lowlight(); ++ for (int i = 1; i <= emap.Extent(); i++) ++ evispar[i-1].Lowlight(); ++ for (int i = 1; i <= vmap.Extent(); i++) ++ vvispar[i-1].Lowlight(); ++ } ++ ++ void GetUnmeshedFaceInfo (stringstream & str); ++ void GetNotDrawableFaces (stringstream & str); ++ bool ErrorInSurfaceMeshing (); ++ ++ void WriteOCC_STL(char * filename); ++ ++ virtual int GenerateMesh (Mesh*& mesh, MeshingParameters & mparam, ++ int perfstepsstart, int perfstepsend); ++ ++ virtual const Refinement & GetRefinement () const; ++ }; ++ ++ ++ ++ class OCCParameters ++ { ++ public: ++ ++ /// Factor for meshing close edges ++ double resthcloseedgefac; ++ ++ ++ /// Enable / Disable detection of close edges ++ int resthcloseedgeenable; ++ ++ ++ /// Minimum edge length to be used for dividing edges to mesh points ++ double resthminedgelen; ++ ++ ++ /// Enable / Disable use of the minimum edge length (by default use 1e-4) ++ int resthminedgelenenable; ++ ++ /*! ++ Default Constructor for the OpenCascade ++ Mesh generation parameter set ++ */ ++ OCCParameters(); ++ ++ ++ /*! ++ Dump all the OpenCascade specific meshing parameters ++ to console ++ */ ++ void Print (ostream & ost) const; ++ }; ++ ++ ++ void PrintContents (OCCGeometry * geom); ++ ++ OCCGeometry * LoadOCC_IGES (const char * filename); ++ OCCGeometry * LoadOCC_STEP (const char * filename); ++ OCCGeometry * LoadOCC_BREP (const char * filename); ++ ++ extern OCCParameters occparam; ++ ++ ++ // Philippose - 31.09.2009 ++ // External access to the mesh generation functions within the OCC ++ // subsystem (Not sure if this is the best way to implement this....!!) ++ extern int OCCGenerateMesh (OCCGeometry & occgeometry, Mesh*& mesh, ++ MeshingParameters & mparam, ++ int perfstepsstart, int perfstepsend); ++ ++ extern void OCCSetLocalMeshSize(OCCGeometry & geom, Mesh & mesh); ++ ++ extern void OCCMeshSurface (OCCGeometry & geom, Mesh & mesh, int perfstepsend); ++ ++ extern void OCCFindEdges (OCCGeometry & geom, Mesh & mesh); ++} ++ ++#endif ++ ++#endif +diff -Naur netgen-5.3.1_SRC_orig/libsrc/occ/occmeshsurf.cpp netgen-5.3.1_SRC_modif/libsrc/occ/occmeshsurf.cpp +--- netgen-5.3.1_SRC_orig/libsrc/occ/occmeshsurf.cpp 2014-08-29 13:54:03.000000000 +0400 ++++ netgen-5.3.1_SRC_modif/libsrc/occ/occmeshsurf.cpp 2018-03-01 15:41:03.997157610 +0300 +@@ -6,6 +6,7 @@ + #include + #include + #include ++#include // -- moved here from occgeom.hpp + + + namespace netgen +@@ -96,13 +97,16 @@ + + n.Normalize(); + } +- else ++ else if ( lprop.IsNormalDefined() ) + { + n(0)=lprop.Normal().X(); + n(1)=lprop.Normal().Y(); + n(2)=lprop.Normal().Z(); + } +- ++ else ++ { ++ n = 0; ++ } + if(glob_testout) + { + (*testout) << "u " << geominfo.u << " v " << geominfo.v +@@ -434,23 +438,33 @@ + + void MeshOptimize2dOCCSurfaces :: ProjectPoint (INDEX surfind, Point<3> & p) const + { +- geometry.Project (surfind, p); ++ // geometry.Project (surfind, p); -- signature of Project() changed for optimization ++ double u, v; ++ geometry.Project (surfind, p, u, v); + } + + + int MeshOptimize2dOCCSurfaces :: ProjectPointGI (INDEX surfind, Point<3> & p, PointGeomInfo & gi) const + { +- double u = gi.u; +- double v = gi.v; ++ //double u = gi.u; ++ //double v = gi.v; + + Point<3> hp = p; +- if (geometry.FastProject (surfind, hp, u, v)) +- { ++ // -- u and v are computed by FastProject() and Project(), no need to call CalcPointGeomInfo() ++ // if (geometry.FastProject (surfind, hp, u, v)) ++ // { ++ // p = hp; ++ // return 1; ++ // } ++ // ProjectPoint (surfind, p); ++ // return CalcPointGeomInfo (surfind, gi, p); ++ bool ok; ++ if (gi.trignum > 0) ++ ok = geometry.FastProject (surfind, hp, gi.u, gi.v); ++ else ++ ok = geometry.Project (surfind, hp, gi.u, gi.v); + p = hp; +- return 1; +- } +- ProjectPoint (surfind, p); +- return CalcPointGeomInfo (surfind, gi, p); ++ return ok; + } + + +@@ -680,7 +694,8 @@ + if (!geometry.FastProject (surfi, hnewp, u, v)) + { + // cout << "Fast projection to surface fails! Using OCC projection" << endl; +- geometry.Project (surfi, hnewp); ++ // geometry.Project (surfi, hnewp); -- Project() changed for optimization ++ geometry.Project (surfi, hnewp, u, v); + } + + newgi.trignum = 1; +@@ -689,7 +704,7 @@ + } + + newp = hnewp; +- } ++ }//; -- to compile with -Wall -pedantic + + + void OCCRefinementSurfaces :: +@@ -708,14 +723,18 @@ + hnewp = Point<3> (pnt.X(), pnt.Y(), pnt.Z()); + newp = hnewp; + newgi = ap1; +- }; ++ }//; -- to compile with -Wall -pedantic + + + void OCCRefinementSurfaces :: ProjectToSurface (Point<3> & p, int surfi) const + { + if (surfi > 0) +- geometry.Project (surfi, p); +- }; ++ //geometry.Project (surfi, p); ++ { ++ double u, v; ++ geometry.Project (surfi, p, u, v); ++ } ++ }//; -- to compile with -Wall -pedantic + + void OCCRefinementSurfaces :: ProjectToSurface (Point<3> & p, int surfi, PointGeomInfo & gi) const + { +@@ -723,9 +742,10 @@ + if (!geometry.FastProject (surfi, p, gi.u, gi.v)) + { + cout << "Fast projection to surface fails! Using OCC projection" << endl; +- geometry.Project (surfi, p); ++ double u, v; ++ geometry.Project (surfi, p, u, v); ++ } + } +- }; + + + +diff -Naur netgen-5.3.1_SRC_orig/libsrc/occ/occpkg.cpp netgen-5.3.1_SRC_modif/libsrc/occ/occpkg.cpp +--- netgen-5.3.1_SRC_orig/libsrc/occ/occpkg.cpp 2014-08-29 13:54:03.000000000 +0400 ++++ netgen-5.3.1_SRC_modif/libsrc/occ/occpkg.cpp 2018-03-01 15:45:08.687877681 +0300 +@@ -1,1024 +1,1024 @@ +-#ifdef OCCGEOMETRY +- +-#include +-#include +-#include +-#include +-#include +- +- +-#include +-#include +- +-#include "../meshing/bcfunctions.hpp" +- +-#include "vsocc.hpp" +- +- +-extern "C" int Ng_occ_Init (Tcl_Interp * interp); +- +- +- +-namespace netgen +-{ +- extern AutoPtr ng_geometry; +- extern AutoPtr mesh; +- +- char * err_needsoccgeometry = (char*) "This operation needs an OCC geometry"; +- extern char * err_needsmesh; +- extern char * err_jobrunning; +- +- +- +- +- class OCCGeometryRegister : public GeometryRegister +- { +- public: +- virtual NetgenGeometry * Load (string filename) const; +- virtual VisualScene * GetVisualScene (const NetgenGeometry * geom) const; +- +- virtual void SetParameters (Tcl_Interp * interp) +- { +- occparam.resthcloseedgefac = +- atof (Tcl_GetVar (interp, "::stloptions.resthcloseedgefac", 0)); +- occparam.resthcloseedgeenable = +- atoi (Tcl_GetVar (interp, "::stloptions.resthcloseedgeenable", 0)); +- occparam.resthminedgelen = +- atof (Tcl_GetVar (interp, "::stloptions.resthminedgelen", 0)); +- occparam.resthminedgelenenable = +- atoi (Tcl_GetVar (interp, "::stloptions.resthminedgelenenable", 0)); +- } +- }; +- +- +- +- +- int Ng_SetOCCVisParameters (ClientData clientData, +- Tcl_Interp * interp, +- int argc, tcl_const char *argv[]) +- { +-#ifdef OCCGEOMETRY +- int showvolume; +- OCCGeometry * occgeometry = dynamic_cast (ng_geometry.Ptr()); +- +- showvolume = atoi (Tcl_GetVar (interp, "::occoptions.showvolumenr", 0)); +- +- if (occgeometry) +- if (showvolume != vispar.occshowvolumenr) +- { +- if (showvolume < 0 || showvolume > occgeometry->NrSolids()) +- { +- char buf[20]; +- sprintf (buf, "%5i", vispar.occshowvolumenr); +- Tcl_SetVar (interp, "::occoptions.showvolumenr", buf, 0); +- } +- else +- { +- vispar.occshowvolumenr = showvolume; +- if (occgeometry) +- occgeometry -> changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE; +- } +- } +- +- int temp; +- +- temp = atoi (Tcl_GetVar (interp, "::occoptions.visproblemfaces", 0)); +- +- if ((bool) temp != vispar.occvisproblemfaces) +- { +- vispar.occvisproblemfaces = temp; +- if (occgeometry) +- occgeometry -> changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE; +- } +- +- vispar.occshowsurfaces = atoi (Tcl_GetVar (interp, "::occoptions.showsurfaces", 0)); +- vispar.occshowedges = atoi (Tcl_GetVar (interp, "::occoptions.showedges", 0)); +- vispar.occzoomtohighlightedentity = atoi (Tcl_GetVar (interp, "::occoptions.zoomtohighlightedentity", 0)); +- vispar.occdeflection = pow(10.0,-1-atof (Tcl_GetVar (interp, "::occoptions.deflection", 0))); +- +-#endif +- +- +- +- +- +-#ifdef ACIS +- vispar.ACISshowfaces = atoi (Tcl_GetVar (interp, "::occoptions.showsurfaces", 0)); +- vispar.ACISshowedges = atoi (Tcl_GetVar (interp, "::occoptions.showedges", 0)); +- vispar.ACISshowsolidnr = atoi (Tcl_GetVar (interp, "::occoptions.showsolidnr", 0)); +- vispar.ACISshowsolidnr2 = atoi (Tcl_GetVar (interp, "::occoptions.showsolidnr2", 0)); +- +-#endif +- +- +- +- return TCL_OK; +- } +- +- +- +- +- int Ng_GetOCCData (ClientData clientData, +- Tcl_Interp * interp, +- int argc, tcl_const char *argv[]) +- { +-#ifdef OCCGEOMETRY +- OCCGeometry * occgeometry = dynamic_cast (ng_geometry.Ptr()); +- +- static char buf[1000]; +- buf[0] = 0; +- stringstream str; +- +- if (argc >= 2) +- { +- if (strcmp (argv[1], "getentities") == 0) +- { +- if (occgeometry) +- { +- occgeometry->GetTopologyTree(str); +- } +- } +- } +- +- Tcl_SetResult (interp, (char*)str.str().c_str(), TCL_VOLATILE); +- +-#endif +- return TCL_OK; +- } +- +- +- +- int Ng_OCCCommand (ClientData clientData, +- Tcl_Interp * interp, +- int argc, tcl_const char *argv[]) +- { +-#ifdef OCCGEOMETRY +- OCCGeometry * occgeometry = dynamic_cast (ng_geometry.Ptr()); +- +- stringstream str; +- if (argc >= 2) +- { +- if (strcmp (argv[1], "isoccgeometryloaded") == 0) +- { +- if (occgeometry) +- str << "1 " << flush; +- else str << "0 " << flush; +- +- Tcl_SetResult (interp, (char*)str.str().c_str(), TCL_VOLATILE); +- } +- if (occgeometry) +- { +- if (strcmp (argv[1], "buildvisualizationmesh") == 0) +- { +- occgeometry->BuildVisualizationMesh(vispar.occdeflection); +- occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE; +- } +- if (strcmp (argv[1], "mesherror") == 0) +- { +- if (occgeometry->ErrorInSurfaceMeshing()) +- str << 1; +- else +- str << 0; +- } +- if (strcmp (argv[1], "sewfaces") == 0) +- { +- cout << "Before operation:" << endl; +- occgeometry->PrintNrShapes(); +- occgeometry->SewFaces(); +- occgeometry->BuildFMap(); +- cout << endl << "After operation:" << endl; +- occgeometry->PrintNrShapes(); +- occgeometry->BuildVisualizationMesh(vispar.occdeflection); +- occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE; +- } +- if (strcmp (argv[1], "makesolid") == 0) +- { +- cout << "Before operation:" << endl; +- occgeometry->PrintNrShapes(); +- occgeometry->MakeSolid(); +- occgeometry->BuildFMap(); +- cout << endl << "After operation:" << endl; +- occgeometry->PrintNrShapes(); +- occgeometry->BuildVisualizationMesh(vispar.occdeflection); +- occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE; +- } +- if (strcmp (argv[1], "upgradetopology") == 0) +- { +- cout << "Before operation:" << endl; +- occgeometry->PrintNrShapes(); +- occgeometry->SewFaces(); +- occgeometry->MakeSolid(); +- occgeometry->BuildFMap(); +- cout << endl << "After operation:" << endl; +- occgeometry->PrintNrShapes(); +- occgeometry->BuildVisualizationMesh(vispar.occdeflection); +- occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE; +- } +- if (strcmp (argv[1], "shapehealing") == 0) +- { +- occgeometry->tolerance = +- atof (Tcl_GetVar (interp, "::occoptions.tolerance", 0)); +- occgeometry->fixsmalledges = +- atoi (Tcl_GetVar (interp, "::occoptions.fixsmalledges", 0)); +- occgeometry->fixspotstripfaces = +- atoi (Tcl_GetVar (interp, "::occoptions.fixspotstripfaces", 0)); +- occgeometry->sewfaces = +- atoi (Tcl_GetVar (interp, "::occoptions.sewfaces", 0)); +- occgeometry->makesolids = +- atoi (Tcl_GetVar (interp, "::occoptions.makesolids", 0)); +- occgeometry->splitpartitions = +- atoi (Tcl_GetVar (interp, "::occoptions.splitpartitions", 0)); +- +- // cout << "Before operation:" << endl; +- // occgeometry->PrintNrShapes(); +- occgeometry->HealGeometry(); +- occgeometry->BuildFMap(); +- // cout << endl << "After operation:" << endl; +- // occgeometry->PrintNrShapes(); +- occgeometry->BuildVisualizationMesh(vispar.occdeflection); +- occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE; +- } +- +- +- if (strcmp (argv[1], "highlightentity") == 0) +- { +- if (strcmp (argv[2], "Face") == 0) +- { +- int nr = atoi (argv[3]); +- occgeometry->LowLightAll(); +- +- occgeometry->fvispar[nr-1].Highlight(); +- if (vispar.occzoomtohighlightedentity) +- occgeometry->changed = OCCGEOMETRYVISUALIZATIONFULLCHANGE; +- else +- occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE; +- } +- if (strcmp (argv[2], "Shell") == 0) +- { +- int nr = atoi (argv[3]); +- occgeometry->LowLightAll(); +- +- TopExp_Explorer exp; +- for (exp.Init (occgeometry->shmap(nr), TopAbs_FACE); +- exp.More(); exp.Next()) +- { +- int i = occgeometry->fmap.FindIndex (TopoDS::Face(exp.Current())); +- occgeometry->fvispar[i-1].Highlight(); +- } +- if (vispar.occzoomtohighlightedentity) +- occgeometry->changed = OCCGEOMETRYVISUALIZATIONFULLCHANGE; +- else +- occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE; +- } +- if (strcmp (argv[2], "Solid") == 0) +- { +- int nr = atoi (argv[3]); +- occgeometry->LowLightAll(); +- +- TopExp_Explorer exp; +- for (exp.Init (occgeometry->somap(nr), TopAbs_FACE); +- exp.More(); exp.Next()) +- { +- int i = occgeometry->fmap.FindIndex (TopoDS::Face(exp.Current())); +- occgeometry->fvispar[i-1].Highlight(); +- } +- if (vispar.occzoomtohighlightedentity) +- occgeometry->changed = OCCGEOMETRYVISUALIZATIONFULLCHANGE; +- else +- occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE; +- } +- /* +- if (strcmp (argv[2], "CompSolid") == 0) +- { +- int nr = atoi (argv[3]); +- occgeometry->LowLightAll(); +- +- TopExp_Explorer exp; +- for (exp.Init (occgeometry->cmap(nr), TopAbs_FACE); +- exp.More(); exp.Next()) +- { +- int i = occgeometry->fmap.FindIndex (TopoDS::Face(exp.Current())); +- occgeometry->fvispar[i-1].Highlight(); +- } +- occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE; +- } +- */ +- +- if (strcmp (argv[2], "Edge") == 0) +- { +- int nr = atoi (argv[3]); +- occgeometry->LowLightAll(); +- +- occgeometry->evispar[nr-1].Highlight(); +- if (vispar.occzoomtohighlightedentity) +- occgeometry->changed = OCCGEOMETRYVISUALIZATIONFULLCHANGE; +- else +- occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE; +- } +- if (strcmp (argv[2], "Wire") == 0) +- { +- int nr = atoi (argv[3]); +- occgeometry->LowLightAll(); +- +- TopExp_Explorer exp; +- for (exp.Init (occgeometry->wmap(nr), TopAbs_EDGE); +- exp.More(); exp.Next()) +- { +- int i = occgeometry->emap.FindIndex (TopoDS::Edge(exp.Current())); +- occgeometry->evispar[i-1].Highlight(); +- } +- if (vispar.occzoomtohighlightedentity) +- occgeometry->changed = OCCGEOMETRYVISUALIZATIONFULLCHANGE; +- else +- occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE; +- } +- +- if (strcmp (argv[2], "Vertex") == 0) +- { +- int nr = atoi (argv[3]); +- occgeometry->LowLightAll(); +- +- occgeometry->vvispar[nr-1].Highlight(); +- if (vispar.occzoomtohighlightedentity) +- occgeometry->changed = OCCGEOMETRYVISUALIZATIONFULLCHANGE; +- else +- occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE; +- } +- +- } +- +- +- +- if (strcmp (argv[1], "show") == 0) +- { +- int nr = atoi (argv[3]); +- occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE; +- +- if (strcmp (argv[2], "Face") == 0) +- { +- occgeometry->fvispar[nr-1].Show(); +- } +- if (strcmp (argv[2], "Shell") == 0) +- { +- TopExp_Explorer exp; +- for (exp.Init (occgeometry->shmap(nr), TopAbs_FACE); +- exp.More(); exp.Next()) +- { +- int i = occgeometry->fmap.FindIndex (TopoDS::Face(exp.Current())); +- occgeometry->fvispar[i-1].Show(); +- } +- } +- if (strcmp (argv[2], "Solid") == 0) +- { +- TopExp_Explorer exp; +- for (exp.Init (occgeometry->somap(nr), TopAbs_FACE); +- exp.More(); exp.Next()) +- { +- int i = occgeometry->fmap.FindIndex (TopoDS::Face(exp.Current())); +- occgeometry->fvispar[i-1].Show(); +- } +- } +- if (strcmp (argv[2], "Edge") == 0) +- { +- occgeometry->evispar[nr-1].Show(); +- } +- if (strcmp (argv[2], "Wire") == 0) +- { +- TopExp_Explorer exp; +- for (exp.Init (occgeometry->wmap(nr), TopAbs_EDGE); +- exp.More(); exp.Next()) +- { +- int i = occgeometry->emap.FindIndex (TopoDS::Edge(exp.Current())); +- occgeometry->evispar[i-1].Show(); +- } +- } +- } +- +- +- if (strcmp (argv[1], "hide") == 0) +- { +- int nr = atoi (argv[3]); +- occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE; +- +- if (strcmp (argv[2], "Face") == 0) +- { +- occgeometry->fvispar[nr-1].Hide(); +- } +- if (strcmp (argv[2], "Shell") == 0) +- { +- TopExp_Explorer exp; +- for (exp.Init (occgeometry->shmap(nr), TopAbs_FACE); +- exp.More(); exp.Next()) +- { +- int i = occgeometry->fmap.FindIndex (TopoDS::Face(exp.Current())); +- occgeometry->fvispar[i-1].Hide(); +- } +- } +- if (strcmp (argv[2], "Solid") == 0) +- { +- TopExp_Explorer exp; +- for (exp.Init (occgeometry->somap(nr), TopAbs_FACE); +- exp.More(); exp.Next()) +- { +- int i = occgeometry->fmap.FindIndex (TopoDS::Face(exp.Current())); +- occgeometry->fvispar[i-1].Hide(); +- } +- } +- if (strcmp (argv[2], "Edge") == 0) +- { +- occgeometry->evispar[nr-1].Hide(); +- } +- if (strcmp (argv[2], "Wire") == 0) +- { +- TopExp_Explorer exp; +- for (exp.Init (occgeometry->wmap(nr), TopAbs_EDGE); +- exp.More(); exp.Next()) +- { +- int i = occgeometry->emap.FindIndex (TopoDS::Edge(exp.Current())); +- occgeometry->evispar[i-1].Hide(); +- } +- } +- } +- +- +- +- if (strcmp (argv[1], "findsmallentities") == 0) +- { +- stringstream str(""); +- occgeometry->CheckIrregularEntities(str); +- Tcl_SetResult (interp, (char*)str.str().c_str(), TCL_VOLATILE); +- } +- if (strcmp (argv[1], "getunmeshedfaceinfo") == 0) +- { +- occgeometry->GetUnmeshedFaceInfo(str); +- Tcl_SetResult (interp, (char*)str.str().c_str(), TCL_VOLATILE); +- } +- if (strcmp (argv[1], "getnotdrawablefaces") == 0) +- { +- occgeometry->GetNotDrawableFaces(str); +- Tcl_SetResult (interp, (char*)str.str().c_str(), TCL_VOLATILE); +- } +- if (strcmp (argv[1], "redrawstatus") == 0) +- { +- int i = atoi (argv[2]); +- occgeometry->changed = i; +- } +- if (strcmp (argv[1], "swaporientation") == 0) +- { +- IGESControl_Writer writer("millimeters", 1); +- writer.AddShape (occgeometry->shape); +- writer.Write ("1.igs"); +- /* +- int nr = atoi (argv[3]); +- +- // const_cast (occgeometry->fmap(nr)).Reverse(); +- +- Handle_ShapeBuild_ReShape rebuild = new ShapeBuild_ReShape; +- rebuild->Apply(occgeometry->shape); +- +- TopoDS_Shape sh; +- +- // if (strcmp (argv[2], "CompSolid") == 0) sh = occgeometry->cmap(nr); +- if (strcmp (argv[2], "Solid") == 0) sh = occgeometry->somap(nr); +- if (strcmp (argv[2], "Shell") == 0) sh = occgeometry->shmap(nr); +- if (strcmp (argv[2], "Face") == 0) sh = occgeometry->fmap(nr); +- if (strcmp (argv[2], "Wire") == 0) sh = occgeometry->wmap(nr); +- if (strcmp (argv[2], "Edge") == 0) sh = occgeometry->emap(nr); +- +- rebuild->Replace(sh, sh.Reversed(), Standard_False); +- +- TopoDS_Shape newshape = rebuild->Apply(occgeometry->shape, TopAbs_SHELL, 1); +- occgeometry->shape = newshape; +- +- occgeometry->BuildFMap(); +- occgeometry->BuildVisualizationMesh(); +- occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE; +- */ +- } +- if (strcmp (argv[1], "marksingular") == 0) +- { +- int nr = atoi (argv[3]); +- cout << "marking " << argv[2] << " " << nr << endl; +- char buf[2]; buf[0] = '0'; buf[1] = 0; +- bool sing = false; +- if (strcmp (argv[2], "Face") == 0) +- sing = occgeometry->fsingular[nr-1] = !occgeometry->fsingular[nr-1]; +- if (strcmp (argv[2], "Edge") == 0) +- sing = occgeometry->esingular[nr-1] = !occgeometry->esingular[nr-1]; +- if (strcmp (argv[2], "Vertex") == 0) +- sing = occgeometry->vsingular[nr-1] = !occgeometry->vsingular[nr-1]; +- +- if (sing) buf[0] = '1'; +- +- Tcl_SetVar (interp, "::ismarkedsingular", buf, 0); +- +- stringstream str; +- occgeometry->GetTopologyTree (str); +- +- char* cstr = (char*)str.str().c_str(); +- +- (*testout) << cstr << endl; +- +- char helpstr[1000]; +- +- while (strchr (cstr, '}')) +- { +- strncpy (helpstr, cstr+2, strlen(strchr(cstr+2, '}'))); +- (*testout) << "***" << cstr << "***" << endl; +- cstr = strchr (cstr, '}'); +- } +- } +- } +- } +- +-#endif +- return TCL_OK; +- } +- +- +- +-#ifdef OCCGEOMETRY +- /* +- void OCCConstructGeometry (OCCGeometry & geom); +- +- int Ng_OCCConstruction (ClientData clientData, +- Tcl_Interp * interp, +- int argc, tcl_const char *argv[]) +- { +- if (occgeometry) +- OCCConstructGeometry (*occgeometry); +- return TCL_OK; +- } +- */ +-#endif +- +- +- +- +- // Philippose - 30/01/2009 +- // TCL interface function for the Local Face Mesh size +- // definition functionality +- int Ng_SurfaceMeshSize (ClientData clientData, +- Tcl_Interp * interp, +- int argc, tcl_const char *argv[]) +- { +-#ifdef OCCGEOMETRY +- +- static char buf[100]; +- +- if (argc < 2) +- { +- Tcl_SetResult (interp, (char *)"Ng_SurfaceMeshSize needs arguments", TCL_STATIC); +- return TCL_ERROR; +- } +- +- OCCGeometry * occgeometry = dynamic_cast (ng_geometry.Ptr()); +- if (!occgeometry) +- { +- Tcl_SetResult (interp, (char *)"Ng_SurfaceMeshSize currently supports only OCC (STEP/IGES) Files", TCL_STATIC); +- return TCL_ERROR; +- } +- +- // Update the face mesh sizes to reflect the global maximum mesh size +- for(int i = 1; i <= occgeometry->NrFaces(); i++) +- { +- if(!occgeometry->GetFaceMaxhModified(i)) +- { +- occgeometry->SetFaceMaxH(i, mparam.maxh); +- } +- } +- +- if (strcmp (argv[1], "setsurfms") == 0) +- { +- int facenr = atoi (argv[2]); +- double surfms = atof (argv[3]); +- if (occgeometry && facenr >= 1 && facenr <= occgeometry->NrFaces()) +- occgeometry->SetFaceMaxH(facenr, surfms); +- +- } +- +- if (strcmp (argv[1], "setall") == 0) +- { +- double surfms = atof (argv[2]); +- if (occgeometry) +- { +- int nrFaces = occgeometry->NrFaces(); +- for (int i = 1; i <= nrFaces; i++) +- occgeometry->SetFaceMaxH(i, surfms); +- } +- } +- +- if (strcmp (argv[1], "getsurfms") == 0) +- { +- int facenr = atoi (argv[2]); +- if (occgeometry && facenr >= 1 && facenr <= occgeometry->NrFaces()) +- { +- sprintf (buf, "%5.2f", occgeometry->GetFaceMaxH(facenr)); +- } +- else +- { +- sprintf (buf, "%5.2f", mparam.maxh); +- } +- Tcl_SetResult (interp, buf, TCL_STATIC); +- } +- +- if (strcmp (argv[1], "getactive") == 0) +- { +- sprintf (buf, "%d", occgeometry->SelectedFace()); +- Tcl_SetResult (interp, buf, TCL_STATIC); +- } +- +- if (strcmp (argv[1], "setactive") == 0) +- { +- int facenr = atoi (argv[2]); +- if (occgeometry && facenr >= 1 && facenr <= occgeometry->NrFaces()) +- { +- occgeometry->SetSelectedFace (facenr); +- +- occgeometry->LowLightAll(); +- occgeometry->fvispar[facenr-1].Highlight(); +- occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE; +- } +- } +- +- if (strcmp (argv[1], "getnfd") == 0) +- { +- if (occgeometry) +- sprintf (buf, "%d", occgeometry->NrFaces()); +- else +- sprintf (buf, "0"); +- Tcl_SetResult (interp, buf, TCL_STATIC); +- } +- return TCL_OK; +-#else // No OCCGEOMETRY +- +- Tcl_SetResult (interp, (char *)"Ng_SurfaceMeshSize currently supports only OCC (STEP/IGES) Files", TCL_STATIC); +- return TCL_ERROR; +- +-#endif // OCCGEOMETRY +- } +- +- +- +- // Philippose - 25/07/2010 +- // TCL interface function for extracting and eventually +- // setting or editing the current colours present in the mesh +- int Ng_CurrentFaceColours (ClientData clientData, +- Tcl_Interp * interp, +- int argc, tcl_const char *argv[]) +- { +- if(argc < 1) +- { +- Tcl_SetResult (interp, (char *)"Ng_GetCurrentFaceColours needs arguments", TCL_STATIC); +- return TCL_ERROR; +- } +- +- if(!mesh.Ptr()) +- { +- Tcl_SetResult (interp, (char *)"Ng_GetCurrentFaceColours: Valid netgen mesh required...please mesh the Geometry first", TCL_STATIC); +- return TCL_ERROR; +- } +- +- if(strcmp(argv[1], "getcolours") == 0) +- { +- stringstream outVar; +- Array face_colours; +- GetFaceColours(*mesh, face_colours); +- +- for(int i = 0; i < face_colours.Size();i++) +- { +- outVar << "{ " << face_colours[i].X(1) +- << " " << face_colours[i].X(2) +- << " " << face_colours[i].X(3) +- << " } "; +- } +- +- tcl_const char * valuevar = argv[2]; +- Tcl_SetVar (interp, valuevar, (char*)outVar.str().c_str(), 0); +- } +- +- if(strcmp(argv[1], "showalso") == 0) +- { +- Array face_colours; +- GetFaceColours(*mesh,face_colours); +- +- int colourind = atoi (argv[2]); +- +- for(int i = 1; i <= mesh->GetNFD(); i++) +- { +- Array surfElems; +- mesh->GetSurfaceElementsOfFace(i,surfElems); +- +- if(ColourMatch(face_colours[colourind],mesh->GetFaceDescriptor(i).SurfColour())) +- { +- for(int j = 0; j < surfElems.Size(); j++) +- { +- mesh->SurfaceElement(surfElems[j]).Visible(1); +- } +- } +- } +- +- mesh->SetNextTimeStamp(); +- } +- +- if(strcmp(argv[1], "hidealso") == 0) +- { +- Array face_colours; +- GetFaceColours(*mesh,face_colours); +- +- int colourind = atoi (argv[2]); +- +- for(int i = 1; i <= mesh->GetNFD(); i++) +- { +- Array surfElems; +- mesh->GetSurfaceElementsOfFace(i,surfElems); +- +- if(ColourMatch(face_colours[colourind],mesh->GetFaceDescriptor(i).SurfColour())) +- { +- for(int j = 0; j < surfElems.Size(); j++) +- { +- mesh->SurfaceElement(surfElems[j]).Visible(0); +- } +- } +- } +- +- mesh->SetNextTimeStamp(); +- } +- +- if(strcmp(argv[1], "showonly") == 0) +- { +- Array face_colours; +- GetFaceColours(*mesh,face_colours); +- +- int colourind = atoi (argv[2]); +- +- for(int i = 1; i <= mesh->GetNFD(); i++) +- { +- Array surfElems; +- mesh->GetSurfaceElementsOfFace(i,surfElems); +- +- if(ColourMatch(face_colours[colourind],mesh->GetFaceDescriptor(i).SurfColour())) +- { +- for(int j = 0; j < surfElems.Size(); j++) +- { +- mesh->SurfaceElement(surfElems[j]).Visible(1); +- } +- } +- else +- { +- for(int j = 0; j < surfElems.Size(); j++) +- { +- mesh->SurfaceElement(surfElems[j]).Visible(0); +- } +- } +- } +- +- mesh->SetNextTimeStamp(); +- } +- +- if(strcmp(argv[1], "hideonly") == 0) +- { +- Array face_colours; +- GetFaceColours(*mesh,face_colours); +- +- int colourind = atoi (argv[2]); +- +- for(int i = 1; i <= mesh->GetNFD(); i++) +- { +- Array surfElems; +- mesh->GetSurfaceElementsOfFace(i,surfElems); +- +- if(ColourMatch(face_colours[colourind],mesh->GetFaceDescriptor(i).SurfColour())) +- { +- for(int j = 0; j < surfElems.Size(); j++) +- { +- mesh->SurfaceElement(surfElems[j]).Visible(0); +- } +- } +- else +- { +- for(int j = 0; j < surfElems.Size(); j++) +- { +- mesh->SurfaceElement(surfElems[j]).Visible(1); +- } +- } +- } +- +- mesh->SetNextTimeStamp(); +- } +- +- if(strcmp(argv[1], "showall") == 0) +- { +- for(int i = 1; i <= mesh->GetNSE(); i++) +- { +- mesh->SurfaceElement(i).Visible(1); +- } +- +- mesh->SetNextTimeStamp(); +- } +- +- if(strcmp(argv[1], "hideall") == 0) +- { +- for(int i = 1; i <= mesh->GetNSE(); i++) +- { +- mesh->SurfaceElement(i).Visible(0); +- } +- +- mesh->SetNextTimeStamp(); +- } +- +- return TCL_OK; +- } +- +- +- +- +- // Philippose - 10/03/2009 +- // TCL interface function for the Automatic Colour-based +- // definition of boundary conditions for OCC Geometry +- int Ng_AutoColourBcProps (ClientData clientData, +- Tcl_Interp * interp, +- int argc, tcl_const char *argv[]) +- { +- if(argc < 1) +- { +- Tcl_SetResult (interp, (char *)"Ng_AutoColourBcProps needs arguments", TCL_STATIC); +- return TCL_ERROR; +- } +- +- if(!mesh.Ptr()) +- { +- Tcl_SetResult (interp, (char *)"Ng_AutoColourBcProps: Valid netgen mesh required...please mesh the Geometry first", TCL_STATIC); +- return TCL_ERROR; +- } +- +- if(strcmp(argv[1], "auto") == 0) +- { +- AutoColourBcProps(*mesh, 0); +- } +- +- if(strcmp(argv[1], "profile") == 0) +- { +- AutoColourBcProps(*mesh, argv[2]); +- } +- +- return TCL_OK; +- } +- +- +- int Ng_SetOCCParameters (ClientData clientData, +- Tcl_Interp * interp, +- int argc, tcl_const char *argv[]) +- { +- OCCGeometryRegister reg; +- reg.SetParameters (interp); +- /* +- occparam.resthcloseedgefac = +- atof (Tcl_GetVar (interp, "::stloptions.resthcloseedgefac", 0)); +- +- occparam.resthcloseedgeenable = +- atoi (Tcl_GetVar (interp, "::stloptions.resthcloseedgeenable", 0)); +- */ +- return TCL_OK; +- } +- +- +- +- +- NetgenGeometry * OCCGeometryRegister :: Load (string filename) const +- { +- const char * lgfilename = filename.c_str(); +- +- +- /* +- if (strcmp (&cfilename[strlen(cfilename)-3], "geo") == 0) +- { +- PrintMessage (1, "Load OCCG geometry file ", cfilename); +- +- extern OCCGeometry * ParseOCCG (istream & istr); +- +- ifstream infile(cfilename); +- +- OCCGeometry * hgeom = ParseOCCG (infile); +- if (!hgeom) +- throw NgException ("geo-file should start with 'algebraic3d'"); +- +- hgeom -> FindIdenticSurfaces(1e-8 * hgeom->MaxSize()); +- return hgeom; +- } +- */ +- +- +- if ((strcmp (&lgfilename[strlen(lgfilename)-4], "iges") == 0) || +- (strcmp (&lgfilename[strlen(lgfilename)-3], "igs") == 0) || +- (strcmp (&lgfilename[strlen(lgfilename)-3], "IGS") == 0) || +- (strcmp (&lgfilename[strlen(lgfilename)-4], "IGES") == 0)) +- { +- PrintMessage (1, "Load IGES geometry file ", lgfilename); +- OCCGeometry * occgeometry = LoadOCC_IGES (lgfilename); +- return occgeometry; +- } +- +- else if ((strcmp (&lgfilename[strlen(lgfilename)-4], "step") == 0) || +- (strcmp (&lgfilename[strlen(lgfilename)-3], "stp") == 0) || +- (strcmp (&lgfilename[strlen(lgfilename)-3], "STP") == 0) || +- (strcmp (&lgfilename[strlen(lgfilename)-4], "STEP") == 0)) +- { +- PrintMessage (1, "Load STEP geometry file ", lgfilename); +- OCCGeometry * occgeometry = LoadOCC_STEP (lgfilename); +- return occgeometry; +- } +- else if ((strcmp (&lgfilename[strlen(lgfilename)-4], "brep") == 0) || +- (strcmp (&lgfilename[strlen(lgfilename)-4], "Brep") == 0) || +- (strcmp (&lgfilename[strlen(lgfilename)-4], "BREP") == 0)) +- { +- PrintMessage (1, "Load BREP geometry file ", lgfilename); +- OCCGeometry * occgeometry = LoadOCC_BREP (lgfilename); +- return occgeometry; +- } +- +- return NULL; +- } +- +- +- static VisualSceneOCCGeometry vsoccgeom; +- +- VisualScene * OCCGeometryRegister :: GetVisualScene (const NetgenGeometry * geom) const +- { +- OCCGeometry * geometry = dynamic_cast (ng_geometry.Ptr()); +- if (geometry) +- { +- vsoccgeom.SetGeometry (geometry); +- return &vsoccgeom; +- } +- return NULL; +- } +- +- +- +-} +- +- +- +-using namespace netgen; +- +-int Ng_occ_Init (Tcl_Interp * interp) +-{ +- geometryregister.Append (new OCCGeometryRegister); +- +- +- Tcl_CreateCommand (interp, "Ng_SetOCCVisParameters", +- Ng_SetOCCVisParameters, +- (ClientData)NULL, +- (Tcl_CmdDeleteProc*) NULL); +- +- Tcl_CreateCommand (interp, "Ng_GetOCCData", +- Ng_GetOCCData, +- (ClientData)NULL, +- (Tcl_CmdDeleteProc*) NULL); +- +- /* +-#ifdef OCCGEOMETRY +- Tcl_CreateCommand (interp, "Ng_OCCConstruction", +- Ng_OCCConstruction, +- (ClientData)NULL, +- (Tcl_CmdDeleteProc*) NULL); +-#endif +- */ +- +- Tcl_CreateCommand (interp, "Ng_OCCCommand", +- Ng_OCCCommand, +- (ClientData)NULL, +- (Tcl_CmdDeleteProc*) NULL); +- +- +- Tcl_CreateCommand (interp, "Ng_SetOCCParameters", Ng_SetOCCParameters, +- (ClientData)NULL, +- (Tcl_CmdDeleteProc*) NULL); +- +- +- +- // Philippose - 30/01/2009 +- // Register the TCL Interface Command for local face mesh size +- // definition +- Tcl_CreateCommand (interp, "Ng_SurfaceMeshSize", Ng_SurfaceMeshSize, +- (ClientData)NULL, +- (Tcl_CmdDeleteProc*) NULL); +- +- Tcl_CreateCommand (interp, "Ng_AutoColourBcProps", Ng_AutoColourBcProps, +- (ClientData)NULL, +- (Tcl_CmdDeleteProc*) NULL); +- +- // Philippose - 25/07/2010 +- // Register the TCL Interface Command for handling the face colours +- // present in the mesh +- Tcl_CreateCommand(interp, "Ng_CurrentFaceColours", Ng_CurrentFaceColours, +- (ClientData)NULL, +- (Tcl_CmdDeleteProc*) NULL); +- +- +- return TCL_OK; +-} +- +-#endif +- ++#ifdef OCCGEOMETRY ++ ++#include ++#include ++#include ++#include ++#include ++ ++ ++#include ++#include ++ ++#include "../meshing/bcfunctions.hpp" ++ ++#include "vsocc.hpp" ++ ++ ++extern "C" int Ng_occ_Init (Tcl_Interp * interp); ++ ++ ++ ++namespace netgen ++{ ++ extern AutoPtr ng_geometry; ++ extern AutoPtr mesh; ++ ++ char * err_needsoccgeometry = (char*) "This operation needs an OCC geometry"; ++ extern char * err_needsmesh; ++ extern char * err_jobrunning; ++ ++ ++ ++ ++ class OCCGeometryRegister : public GeometryRegister ++ { ++ public: ++ virtual NetgenGeometry * Load (string filename) const; ++ virtual VisualScene * GetVisualScene (const NetgenGeometry * geom) const; ++ ++ virtual void SetParameters (Tcl_Interp * interp) ++ { ++ occparam.resthcloseedgefac = ++ atof (Tcl_GetVar (interp, "::stloptions.resthcloseedgefac", 0)); ++ occparam.resthcloseedgeenable = ++ atoi (Tcl_GetVar (interp, "::stloptions.resthcloseedgeenable", 0)); ++ occparam.resthminedgelen = ++ atof (Tcl_GetVar (interp, "::stloptions.resthminedgelen", 0)); ++ occparam.resthminedgelenenable = ++ atoi (Tcl_GetVar (interp, "::stloptions.resthminedgelenenable", 0)); ++ } ++ }; ++ ++ ++ ++ ++ int Ng_SetOCCVisParameters (ClientData clientData, ++ Tcl_Interp * interp, ++ int argc, tcl_const char *argv[]) ++ { ++#ifdef OCCGEOMETRY ++ int showvolume; ++ OCCGeometry * occgeometry = dynamic_cast (ng_geometry.Ptr()); ++ ++ showvolume = atoi (Tcl_GetVar (interp, "::occoptions.showvolumenr", 0)); ++ ++ if (occgeometry) ++ if (showvolume != vispar.occshowvolumenr) ++ { ++ if (showvolume < 0 || showvolume > occgeometry->NrSolids()) ++ { ++ char buf[20]; ++ sprintf (buf, "%5i", vispar.occshowvolumenr); ++ Tcl_SetVar (interp, "::occoptions.showvolumenr", buf, 0); ++ } ++ else ++ { ++ vispar.occshowvolumenr = showvolume; ++ if (occgeometry) ++ occgeometry -> changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE; ++ } ++ } ++ ++ int temp; ++ ++ temp = atoi (Tcl_GetVar (interp, "::occoptions.visproblemfaces", 0)); ++ ++ if ((bool) temp != vispar.occvisproblemfaces) ++ { ++ vispar.occvisproblemfaces = temp; ++ if (occgeometry) ++ occgeometry -> changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE; ++ } ++ ++ vispar.occshowsurfaces = atoi (Tcl_GetVar (interp, "::occoptions.showsurfaces", 0)); ++ vispar.occshowedges = atoi (Tcl_GetVar (interp, "::occoptions.showedges", 0)); ++ vispar.occzoomtohighlightedentity = atoi (Tcl_GetVar (interp, "::occoptions.zoomtohighlightedentity", 0)); ++ vispar.occdeflection = pow(10.0,-1-atof (Tcl_GetVar (interp, "::occoptions.deflection", 0))); ++ ++#endif ++ ++ ++ ++ ++ ++#ifdef ACIS ++ vispar.ACISshowfaces = atoi (Tcl_GetVar (interp, "::occoptions.showsurfaces", 0)); ++ vispar.ACISshowedges = atoi (Tcl_GetVar (interp, "::occoptions.showedges", 0)); ++ vispar.ACISshowsolidnr = atoi (Tcl_GetVar (interp, "::occoptions.showsolidnr", 0)); ++ vispar.ACISshowsolidnr2 = atoi (Tcl_GetVar (interp, "::occoptions.showsolidnr2", 0)); ++ ++#endif ++ ++ ++ ++ return TCL_OK; ++ } ++ ++ ++ ++ ++ int Ng_GetOCCData (ClientData clientData, ++ Tcl_Interp * interp, ++ int argc, tcl_const char *argv[]) ++ { ++#ifdef OCCGEOMETRY ++ OCCGeometry * occgeometry = dynamic_cast (ng_geometry.Ptr()); ++ ++ static char buf[1000]; ++ buf[0] = 0; ++ stringstream str; ++ ++ if (argc >= 2) ++ { ++ if (strcmp (argv[1], "getentities") == 0) ++ { ++ if (occgeometry) ++ { ++ occgeometry->GetTopologyTree(str); ++ } ++ } ++ } ++ ++ Tcl_SetResult (interp, (char*)str.str().c_str(), TCL_VOLATILE); ++ ++#endif ++ return TCL_OK; ++ } ++ ++ ++ ++ int Ng_OCCCommand (ClientData clientData, ++ Tcl_Interp * interp, ++ int argc, tcl_const char *argv[]) ++ { ++#ifdef OCCGEOMETRY ++ OCCGeometry * occgeometry = dynamic_cast (ng_geometry.Ptr()); ++ ++ stringstream str; ++ if (argc >= 2) ++ { ++ if (strcmp (argv[1], "isoccgeometryloaded") == 0) ++ { ++ if (occgeometry) ++ str << "1 " << flush; ++ else str << "0 " << flush; ++ ++ Tcl_SetResult (interp, (char*)str.str().c_str(), TCL_VOLATILE); ++ } ++ if (occgeometry) ++ { ++ if (strcmp (argv[1], "buildvisualizationmesh") == 0) ++ { ++ occgeometry->BuildVisualizationMesh(vispar.occdeflection); ++ occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE; ++ } ++ if (strcmp (argv[1], "mesherror") == 0) ++ { ++ if (occgeometry->ErrorInSurfaceMeshing()) ++ str << 1; ++ else ++ str << 0; ++ } ++ if (strcmp (argv[1], "sewfaces") == 0) ++ { ++ cout << "Before operation:" << endl; ++ occgeometry->PrintNrShapes(); ++ occgeometry->SewFaces(); ++ occgeometry->BuildFMap(); ++ cout << endl << "After operation:" << endl; ++ occgeometry->PrintNrShapes(); ++ occgeometry->BuildVisualizationMesh(vispar.occdeflection); ++ occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE; ++ } ++ if (strcmp (argv[1], "makesolid") == 0) ++ { ++ cout << "Before operation:" << endl; ++ occgeometry->PrintNrShapes(); ++ occgeometry->MakeSolid(); ++ occgeometry->BuildFMap(); ++ cout << endl << "After operation:" << endl; ++ occgeometry->PrintNrShapes(); ++ occgeometry->BuildVisualizationMesh(vispar.occdeflection); ++ occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE; ++ } ++ if (strcmp (argv[1], "upgradetopology") == 0) ++ { ++ cout << "Before operation:" << endl; ++ occgeometry->PrintNrShapes(); ++ occgeometry->SewFaces(); ++ occgeometry->MakeSolid(); ++ occgeometry->BuildFMap(); ++ cout << endl << "After operation:" << endl; ++ occgeometry->PrintNrShapes(); ++ occgeometry->BuildVisualizationMesh(vispar.occdeflection); ++ occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE; ++ } ++ if (strcmp (argv[1], "shapehealing") == 0) ++ { ++ occgeometry->tolerance = ++ atof (Tcl_GetVar (interp, "::occoptions.tolerance", 0)); ++ occgeometry->fixsmalledges = ++ atoi (Tcl_GetVar (interp, "::occoptions.fixsmalledges", 0)); ++ occgeometry->fixspotstripfaces = ++ atoi (Tcl_GetVar (interp, "::occoptions.fixspotstripfaces", 0)); ++ occgeometry->sewfaces = ++ atoi (Tcl_GetVar (interp, "::occoptions.sewfaces", 0)); ++ occgeometry->makesolids = ++ atoi (Tcl_GetVar (interp, "::occoptions.makesolids", 0)); ++ occgeometry->splitpartitions = ++ atoi (Tcl_GetVar (interp, "::occoptions.splitpartitions", 0)); ++ ++ // cout << "Before operation:" << endl; ++ // occgeometry->PrintNrShapes(); ++ occgeometry->HealGeometry(); ++ occgeometry->BuildFMap(); ++ // cout << endl << "After operation:" << endl; ++ // occgeometry->PrintNrShapes(); ++ occgeometry->BuildVisualizationMesh(vispar.occdeflection); ++ occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE; ++ } ++ ++ ++ if (strcmp (argv[1], "highlightentity") == 0) ++ { ++ if (strcmp (argv[2], "Face") == 0) ++ { ++ int nr = atoi (argv[3]); ++ occgeometry->LowLightAll(); ++ ++ occgeometry->fvispar[nr-1].Highlight(); ++ if (vispar.occzoomtohighlightedentity) ++ occgeometry->changed = OCCGEOMETRYVISUALIZATIONFULLCHANGE; ++ else ++ occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE; ++ } ++ if (strcmp (argv[2], "Shell") == 0) ++ { ++ int nr = atoi (argv[3]); ++ occgeometry->LowLightAll(); ++ ++ TopExp_Explorer exp; ++ for (exp.Init (occgeometry->shmap(nr), TopAbs_FACE); ++ exp.More(); exp.Next()) ++ { ++ int i = occgeometry->fmap.FindIndex (TopoDS::Face(exp.Current())); ++ occgeometry->fvispar[i-1].Highlight(); ++ } ++ if (vispar.occzoomtohighlightedentity) ++ occgeometry->changed = OCCGEOMETRYVISUALIZATIONFULLCHANGE; ++ else ++ occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE; ++ } ++ if (strcmp (argv[2], "Solid") == 0) ++ { ++ int nr = atoi (argv[3]); ++ occgeometry->LowLightAll(); ++ ++ TopExp_Explorer exp; ++ for (exp.Init (occgeometry->somap(nr), TopAbs_FACE); ++ exp.More(); exp.Next()) ++ { ++ int i = occgeometry->fmap.FindIndex (TopoDS::Face(exp.Current())); ++ occgeometry->fvispar[i-1].Highlight(); ++ } ++ if (vispar.occzoomtohighlightedentity) ++ occgeometry->changed = OCCGEOMETRYVISUALIZATIONFULLCHANGE; ++ else ++ occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE; ++ } ++ /* ++ if (strcmp (argv[2], "CompSolid") == 0) ++ { ++ int nr = atoi (argv[3]); ++ occgeometry->LowLightAll(); ++ ++ TopExp_Explorer exp; ++ for (exp.Init (occgeometry->cmap(nr), TopAbs_FACE); ++ exp.More(); exp.Next()) ++ { ++ int i = occgeometry->fmap.FindIndex (TopoDS::Face(exp.Current())); ++ occgeometry->fvispar[i-1].Highlight(); ++ } ++ occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE; ++ } ++ */ ++ ++ if (strcmp (argv[2], "Edge") == 0) ++ { ++ int nr = atoi (argv[3]); ++ occgeometry->LowLightAll(); ++ ++ occgeometry->evispar[nr-1].Highlight(); ++ if (vispar.occzoomtohighlightedentity) ++ occgeometry->changed = OCCGEOMETRYVISUALIZATIONFULLCHANGE; ++ else ++ occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE; ++ } ++ if (strcmp (argv[2], "Wire") == 0) ++ { ++ int nr = atoi (argv[3]); ++ occgeometry->LowLightAll(); ++ ++ TopExp_Explorer exp; ++ for (exp.Init (occgeometry->wmap(nr), TopAbs_EDGE); ++ exp.More(); exp.Next()) ++ { ++ int i = occgeometry->emap.FindIndex (TopoDS::Edge(exp.Current())); ++ occgeometry->evispar[i-1].Highlight(); ++ } ++ if (vispar.occzoomtohighlightedentity) ++ occgeometry->changed = OCCGEOMETRYVISUALIZATIONFULLCHANGE; ++ else ++ occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE; ++ } ++ ++ if (strcmp (argv[2], "Vertex") == 0) ++ { ++ int nr = atoi (argv[3]); ++ occgeometry->LowLightAll(); ++ ++ occgeometry->vvispar[nr-1].Highlight(); ++ if (vispar.occzoomtohighlightedentity) ++ occgeometry->changed = OCCGEOMETRYVISUALIZATIONFULLCHANGE; ++ else ++ occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE; ++ } ++ ++ } ++ ++ ++ ++ if (strcmp (argv[1], "show") == 0) ++ { ++ int nr = atoi (argv[3]); ++ occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE; ++ ++ if (strcmp (argv[2], "Face") == 0) ++ { ++ occgeometry->fvispar[nr-1].Show(); ++ } ++ if (strcmp (argv[2], "Shell") == 0) ++ { ++ TopExp_Explorer exp; ++ for (exp.Init (occgeometry->shmap(nr), TopAbs_FACE); ++ exp.More(); exp.Next()) ++ { ++ int i = occgeometry->fmap.FindIndex (TopoDS::Face(exp.Current())); ++ occgeometry->fvispar[i-1].Show(); ++ } ++ } ++ if (strcmp (argv[2], "Solid") == 0) ++ { ++ TopExp_Explorer exp; ++ for (exp.Init (occgeometry->somap(nr), TopAbs_FACE); ++ exp.More(); exp.Next()) ++ { ++ int i = occgeometry->fmap.FindIndex (TopoDS::Face(exp.Current())); ++ occgeometry->fvispar[i-1].Show(); ++ } ++ } ++ if (strcmp (argv[2], "Edge") == 0) ++ { ++ occgeometry->evispar[nr-1].Show(); ++ } ++ if (strcmp (argv[2], "Wire") == 0) ++ { ++ TopExp_Explorer exp; ++ for (exp.Init (occgeometry->wmap(nr), TopAbs_EDGE); ++ exp.More(); exp.Next()) ++ { ++ int i = occgeometry->emap.FindIndex (TopoDS::Edge(exp.Current())); ++ occgeometry->evispar[i-1].Show(); ++ } ++ } ++ } ++ ++ ++ if (strcmp (argv[1], "hide") == 0) ++ { ++ int nr = atoi (argv[3]); ++ occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE; ++ ++ if (strcmp (argv[2], "Face") == 0) ++ { ++ occgeometry->fvispar[nr-1].Hide(); ++ } ++ if (strcmp (argv[2], "Shell") == 0) ++ { ++ TopExp_Explorer exp; ++ for (exp.Init (occgeometry->shmap(nr), TopAbs_FACE); ++ exp.More(); exp.Next()) ++ { ++ int i = occgeometry->fmap.FindIndex (TopoDS::Face(exp.Current())); ++ occgeometry->fvispar[i-1].Hide(); ++ } ++ } ++ if (strcmp (argv[2], "Solid") == 0) ++ { ++ TopExp_Explorer exp; ++ for (exp.Init (occgeometry->somap(nr), TopAbs_FACE); ++ exp.More(); exp.Next()) ++ { ++ int i = occgeometry->fmap.FindIndex (TopoDS::Face(exp.Current())); ++ occgeometry->fvispar[i-1].Hide(); ++ } ++ } ++ if (strcmp (argv[2], "Edge") == 0) ++ { ++ occgeometry->evispar[nr-1].Hide(); ++ } ++ if (strcmp (argv[2], "Wire") == 0) ++ { ++ TopExp_Explorer exp; ++ for (exp.Init (occgeometry->wmap(nr), TopAbs_EDGE); ++ exp.More(); exp.Next()) ++ { ++ int i = occgeometry->emap.FindIndex (TopoDS::Edge(exp.Current())); ++ occgeometry->evispar[i-1].Hide(); ++ } ++ } ++ } ++ ++ ++ ++ if (strcmp (argv[1], "findsmallentities") == 0) ++ { ++ stringstream str(""); ++ occgeometry->CheckIrregularEntities(str); ++ Tcl_SetResult (interp, (char*)str.str().c_str(), TCL_VOLATILE); ++ } ++ if (strcmp (argv[1], "getunmeshedfaceinfo") == 0) ++ { ++ occgeometry->GetUnmeshedFaceInfo(str); ++ Tcl_SetResult (interp, (char*)str.str().c_str(), TCL_VOLATILE); ++ } ++ if (strcmp (argv[1], "getnotdrawablefaces") == 0) ++ { ++ occgeometry->GetNotDrawableFaces(str); ++ Tcl_SetResult (interp, (char*)str.str().c_str(), TCL_VOLATILE); ++ } ++ if (strcmp (argv[1], "redrawstatus") == 0) ++ { ++ int i = atoi (argv[2]); ++ occgeometry->changed = i; ++ } ++ if (strcmp (argv[1], "swaporientation") == 0) ++ { ++ IGESControl_Writer writer("millimeters", 1); ++ writer.AddShape (occgeometry->shape); ++ writer.Write ("1.igs"); ++ /* ++ int nr = atoi (argv[3]); ++ ++ // const_cast (occgeometry->fmap(nr)).Reverse(); ++ ++ Handle_ShapeBuild_ReShape rebuild = new ShapeBuild_ReShape; ++ rebuild->Apply(occgeometry->shape); ++ ++ TopoDS_Shape sh; ++ ++ // if (strcmp (argv[2], "CompSolid") == 0) sh = occgeometry->cmap(nr); ++ if (strcmp (argv[2], "Solid") == 0) sh = occgeometry->somap(nr); ++ if (strcmp (argv[2], "Shell") == 0) sh = occgeometry->shmap(nr); ++ if (strcmp (argv[2], "Face") == 0) sh = occgeometry->fmap(nr); ++ if (strcmp (argv[2], "Wire") == 0) sh = occgeometry->wmap(nr); ++ if (strcmp (argv[2], "Edge") == 0) sh = occgeometry->emap(nr); ++ ++ rebuild->Replace(sh, sh.Reversed()); ++ ++ TopoDS_Shape newshape = rebuild->Apply(occgeometry->shape, TopAbs_SHELL, 1); ++ occgeometry->shape = newshape; ++ ++ occgeometry->BuildFMap(); ++ occgeometry->BuildVisualizationMesh(); ++ occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE; ++ */ ++ } ++ if (strcmp (argv[1], "marksingular") == 0) ++ { ++ int nr = atoi (argv[3]); ++ cout << "marking " << argv[2] << " " << nr << endl; ++ char buf[2]; buf[0] = '0'; buf[1] = 0; ++ bool sing = false; ++ if (strcmp (argv[2], "Face") == 0) ++ sing = occgeometry->fsingular[nr-1] = !occgeometry->fsingular[nr-1]; ++ if (strcmp (argv[2], "Edge") == 0) ++ sing = occgeometry->esingular[nr-1] = !occgeometry->esingular[nr-1]; ++ if (strcmp (argv[2], "Vertex") == 0) ++ sing = occgeometry->vsingular[nr-1] = !occgeometry->vsingular[nr-1]; ++ ++ if (sing) buf[0] = '1'; ++ ++ Tcl_SetVar (interp, "::ismarkedsingular", buf, 0); ++ ++ stringstream str; ++ occgeometry->GetTopologyTree (str); ++ ++ char* cstr = (char*)str.str().c_str(); ++ ++ (*testout) << cstr << endl; ++ ++ char helpstr[1000]; ++ ++ while (strchr (cstr, '}')) ++ { ++ strncpy (helpstr, cstr+2, strlen(strchr(cstr+2, '}'))); ++ (*testout) << "***" << cstr << "***" << endl; ++ cstr = strchr (cstr, '}'); ++ } ++ } ++ } ++ } ++ ++#endif ++ return TCL_OK; ++ } ++ ++ ++ ++#ifdef OCCGEOMETRY ++ /* ++ void OCCConstructGeometry (OCCGeometry & geom); ++ ++ int Ng_OCCConstruction (ClientData clientData, ++ Tcl_Interp * interp, ++ int argc, tcl_const char *argv[]) ++ { ++ if (occgeometry) ++ OCCConstructGeometry (*occgeometry); ++ return TCL_OK; ++ } ++ */ ++#endif ++ ++ ++ ++ ++ // Philippose - 30/01/2009 ++ // TCL interface function for the Local Face Mesh size ++ // definition functionality ++ int Ng_SurfaceMeshSize (ClientData clientData, ++ Tcl_Interp * interp, ++ int argc, tcl_const char *argv[]) ++ { ++#ifdef OCCGEOMETRY ++ ++ static char buf[100]; ++ ++ if (argc < 2) ++ { ++ Tcl_SetResult (interp, (char *)"Ng_SurfaceMeshSize needs arguments", TCL_STATIC); ++ return TCL_ERROR; ++ } ++ ++ OCCGeometry * occgeometry = dynamic_cast (ng_geometry.Ptr()); ++ if (!occgeometry) ++ { ++ Tcl_SetResult (interp, (char *)"Ng_SurfaceMeshSize currently supports only OCC (STEP/IGES) Files", TCL_STATIC); ++ return TCL_ERROR; ++ } ++ ++ // Update the face mesh sizes to reflect the global maximum mesh size ++ for(int i = 1; i <= occgeometry->NrFaces(); i++) ++ { ++ if(!occgeometry->GetFaceMaxhModified(i)) ++ { ++ occgeometry->SetFaceMaxH(i, mparam.maxh); ++ } ++ } ++ ++ if (strcmp (argv[1], "setsurfms") == 0) ++ { ++ int facenr = atoi (argv[2]); ++ double surfms = atof (argv[3]); ++ if (occgeometry && facenr >= 1 && facenr <= occgeometry->NrFaces()) ++ occgeometry->SetFaceMaxH(facenr, surfms); ++ ++ } ++ ++ if (strcmp (argv[1], "setall") == 0) ++ { ++ double surfms = atof (argv[2]); ++ if (occgeometry) ++ { ++ int nrFaces = occgeometry->NrFaces(); ++ for (int i = 1; i <= nrFaces; i++) ++ occgeometry->SetFaceMaxH(i, surfms); ++ } ++ } ++ ++ if (strcmp (argv[1], "getsurfms") == 0) ++ { ++ int facenr = atoi (argv[2]); ++ if (occgeometry && facenr >= 1 && facenr <= occgeometry->NrFaces()) ++ { ++ sprintf (buf, "%5.2f", occgeometry->GetFaceMaxH(facenr)); ++ } ++ else ++ { ++ sprintf (buf, "%5.2f", mparam.maxh); ++ } ++ Tcl_SetResult (interp, buf, TCL_STATIC); ++ } ++ ++ if (strcmp (argv[1], "getactive") == 0) ++ { ++ sprintf (buf, "%d", occgeometry->SelectedFace()); ++ Tcl_SetResult (interp, buf, TCL_STATIC); ++ } ++ ++ if (strcmp (argv[1], "setactive") == 0) ++ { ++ int facenr = atoi (argv[2]); ++ if (occgeometry && facenr >= 1 && facenr <= occgeometry->NrFaces()) ++ { ++ occgeometry->SetSelectedFace (facenr); ++ ++ occgeometry->LowLightAll(); ++ occgeometry->fvispar[facenr-1].Highlight(); ++ occgeometry->changed = OCCGEOMETRYVISUALIZATIONHALFCHANGE; ++ } ++ } ++ ++ if (strcmp (argv[1], "getnfd") == 0) ++ { ++ if (occgeometry) ++ sprintf (buf, "%d", occgeometry->NrFaces()); ++ else ++ sprintf (buf, "0"); ++ Tcl_SetResult (interp, buf, TCL_STATIC); ++ } ++ return TCL_OK; ++#else // No OCCGEOMETRY ++ ++ Tcl_SetResult (interp, (char *)"Ng_SurfaceMeshSize currently supports only OCC (STEP/IGES) Files", TCL_STATIC); ++ return TCL_ERROR; ++ ++#endif // OCCGEOMETRY ++ } ++ ++ ++ ++ // Philippose - 25/07/2010 ++ // TCL interface function for extracting and eventually ++ // setting or editing the current colours present in the mesh ++ int Ng_CurrentFaceColours (ClientData clientData, ++ Tcl_Interp * interp, ++ int argc, tcl_const char *argv[]) ++ { ++ if(argc < 1) ++ { ++ Tcl_SetResult (interp, (char *)"Ng_GetCurrentFaceColours needs arguments", TCL_STATIC); ++ return TCL_ERROR; ++ } ++ ++ if(!mesh.Ptr()) ++ { ++ Tcl_SetResult (interp, (char *)"Ng_GetCurrentFaceColours: Valid netgen mesh required...please mesh the Geometry first", TCL_STATIC); ++ return TCL_ERROR; ++ } ++ ++ if(strcmp(argv[1], "getcolours") == 0) ++ { ++ stringstream outVar; ++ Array face_colours; ++ GetFaceColours(*mesh, face_colours); ++ ++ for(int i = 0; i < face_colours.Size();i++) ++ { ++ outVar << "{ " << face_colours[i].X(1) ++ << " " << face_colours[i].X(2) ++ << " " << face_colours[i].X(3) ++ << " } "; ++ } ++ ++ tcl_const char * valuevar = argv[2]; ++ Tcl_SetVar (interp, valuevar, (char*)outVar.str().c_str(), 0); ++ } ++ ++ if(strcmp(argv[1], "showalso") == 0) ++ { ++ Array face_colours; ++ GetFaceColours(*mesh,face_colours); ++ ++ int colourind = atoi (argv[2]); ++ ++ for(int i = 1; i <= mesh->GetNFD(); i++) ++ { ++ Array surfElems; ++ mesh->GetSurfaceElementsOfFace(i,surfElems); ++ ++ if(ColourMatch(face_colours[colourind],mesh->GetFaceDescriptor(i).SurfColour())) ++ { ++ for(int j = 0; j < surfElems.Size(); j++) ++ { ++ mesh->SurfaceElement(surfElems[j]).Visible(1); ++ } ++ } ++ } ++ ++ mesh->SetNextTimeStamp(); ++ } ++ ++ if(strcmp(argv[1], "hidealso") == 0) ++ { ++ Array face_colours; ++ GetFaceColours(*mesh,face_colours); ++ ++ int colourind = atoi (argv[2]); ++ ++ for(int i = 1; i <= mesh->GetNFD(); i++) ++ { ++ Array surfElems; ++ mesh->GetSurfaceElementsOfFace(i,surfElems); ++ ++ if(ColourMatch(face_colours[colourind],mesh->GetFaceDescriptor(i).SurfColour())) ++ { ++ for(int j = 0; j < surfElems.Size(); j++) ++ { ++ mesh->SurfaceElement(surfElems[j]).Visible(0); ++ } ++ } ++ } ++ ++ mesh->SetNextTimeStamp(); ++ } ++ ++ if(strcmp(argv[1], "showonly") == 0) ++ { ++ Array face_colours; ++ GetFaceColours(*mesh,face_colours); ++ ++ int colourind = atoi (argv[2]); ++ ++ for(int i = 1; i <= mesh->GetNFD(); i++) ++ { ++ Array surfElems; ++ mesh->GetSurfaceElementsOfFace(i,surfElems); ++ ++ if(ColourMatch(face_colours[colourind],mesh->GetFaceDescriptor(i).SurfColour())) ++ { ++ for(int j = 0; j < surfElems.Size(); j++) ++ { ++ mesh->SurfaceElement(surfElems[j]).Visible(1); ++ } ++ } ++ else ++ { ++ for(int j = 0; j < surfElems.Size(); j++) ++ { ++ mesh->SurfaceElement(surfElems[j]).Visible(0); ++ } ++ } ++ } ++ ++ mesh->SetNextTimeStamp(); ++ } ++ ++ if(strcmp(argv[1], "hideonly") == 0) ++ { ++ Array face_colours; ++ GetFaceColours(*mesh,face_colours); ++ ++ int colourind = atoi (argv[2]); ++ ++ for(int i = 1; i <= mesh->GetNFD(); i++) ++ { ++ Array surfElems; ++ mesh->GetSurfaceElementsOfFace(i,surfElems); ++ ++ if(ColourMatch(face_colours[colourind],mesh->GetFaceDescriptor(i).SurfColour())) ++ { ++ for(int j = 0; j < surfElems.Size(); j++) ++ { ++ mesh->SurfaceElement(surfElems[j]).Visible(0); ++ } ++ } ++ else ++ { ++ for(int j = 0; j < surfElems.Size(); j++) ++ { ++ mesh->SurfaceElement(surfElems[j]).Visible(1); ++ } ++ } ++ } ++ ++ mesh->SetNextTimeStamp(); ++ } ++ ++ if(strcmp(argv[1], "showall") == 0) ++ { ++ for(int i = 1; i <= mesh->GetNSE(); i++) ++ { ++ mesh->SurfaceElement(i).Visible(1); ++ } ++ ++ mesh->SetNextTimeStamp(); ++ } ++ ++ if(strcmp(argv[1], "hideall") == 0) ++ { ++ for(int i = 1; i <= mesh->GetNSE(); i++) ++ { ++ mesh->SurfaceElement(i).Visible(0); ++ } ++ ++ mesh->SetNextTimeStamp(); ++ } ++ ++ return TCL_OK; ++ } ++ ++ ++ ++ ++ // Philippose - 10/03/2009 ++ // TCL interface function for the Automatic Colour-based ++ // definition of boundary conditions for OCC Geometry ++ int Ng_AutoColourBcProps (ClientData clientData, ++ Tcl_Interp * interp, ++ int argc, tcl_const char *argv[]) ++ { ++ if(argc < 1) ++ { ++ Tcl_SetResult (interp, (char *)"Ng_AutoColourBcProps needs arguments", TCL_STATIC); ++ return TCL_ERROR; ++ } ++ ++ if(!mesh.Ptr()) ++ { ++ Tcl_SetResult (interp, (char *)"Ng_AutoColourBcProps: Valid netgen mesh required...please mesh the Geometry first", TCL_STATIC); ++ return TCL_ERROR; ++ } ++ ++ if(strcmp(argv[1], "auto") == 0) ++ { ++ AutoColourBcProps(*mesh, 0); ++ } ++ ++ if(strcmp(argv[1], "profile") == 0) ++ { ++ AutoColourBcProps(*mesh, argv[2]); ++ } ++ ++ return TCL_OK; ++ } ++ ++ ++ int Ng_SetOCCParameters (ClientData clientData, ++ Tcl_Interp * interp, ++ int argc, tcl_const char *argv[]) ++ { ++ OCCGeometryRegister reg; ++ reg.SetParameters (interp); ++ /* ++ occparam.resthcloseedgefac = ++ atof (Tcl_GetVar (interp, "::stloptions.resthcloseedgefac", 0)); ++ ++ occparam.resthcloseedgeenable = ++ atoi (Tcl_GetVar (interp, "::stloptions.resthcloseedgeenable", 0)); ++ */ ++ return TCL_OK; ++ } ++ ++ ++ ++ ++ NetgenGeometry * OCCGeometryRegister :: Load (string filename) const ++ { ++ const char * lgfilename = filename.c_str(); ++ ++ ++ /* ++ if (strcmp (&cfilename[strlen(cfilename)-3], "geo") == 0) ++ { ++ PrintMessage (1, "Load OCCG geometry file ", cfilename); ++ ++ extern OCCGeometry * ParseOCCG (istream & istr); ++ ++ ifstream infile(cfilename); ++ ++ OCCGeometry * hgeom = ParseOCCG (infile); ++ if (!hgeom) ++ throw NgException ("geo-file should start with 'algebraic3d'"); ++ ++ hgeom -> FindIdenticSurfaces(1e-8 * hgeom->MaxSize()); ++ return hgeom; ++ } ++ */ ++ ++ ++ if ((strcmp (&lgfilename[strlen(lgfilename)-4], "iges") == 0) || ++ (strcmp (&lgfilename[strlen(lgfilename)-3], "igs") == 0) || ++ (strcmp (&lgfilename[strlen(lgfilename)-3], "IGS") == 0) || ++ (strcmp (&lgfilename[strlen(lgfilename)-4], "IGES") == 0)) ++ { ++ PrintMessage (1, "Load IGES geometry file ", lgfilename); ++ OCCGeometry * occgeometry = LoadOCC_IGES (lgfilename); ++ return occgeometry; ++ } ++ ++ else if ((strcmp (&lgfilename[strlen(lgfilename)-4], "step") == 0) || ++ (strcmp (&lgfilename[strlen(lgfilename)-3], "stp") == 0) || ++ (strcmp (&lgfilename[strlen(lgfilename)-3], "STP") == 0) || ++ (strcmp (&lgfilename[strlen(lgfilename)-4], "STEP") == 0)) ++ { ++ PrintMessage (1, "Load STEP geometry file ", lgfilename); ++ OCCGeometry * occgeometry = LoadOCC_STEP (lgfilename); ++ return occgeometry; ++ } ++ else if ((strcmp (&lgfilename[strlen(lgfilename)-4], "brep") == 0) || ++ (strcmp (&lgfilename[strlen(lgfilename)-4], "Brep") == 0) || ++ (strcmp (&lgfilename[strlen(lgfilename)-4], "BREP") == 0)) ++ { ++ PrintMessage (1, "Load BREP geometry file ", lgfilename); ++ OCCGeometry * occgeometry = LoadOCC_BREP (lgfilename); ++ return occgeometry; ++ } ++ ++ return NULL; ++ } ++ ++ ++ static VisualSceneOCCGeometry vsoccgeom; ++ ++ VisualScene * OCCGeometryRegister :: GetVisualScene (const NetgenGeometry * geom) const ++ { ++ OCCGeometry * geometry = dynamic_cast (ng_geometry.Ptr()); ++ if (geometry) ++ { ++ vsoccgeom.SetGeometry (geometry); ++ return &vsoccgeom; ++ } ++ return NULL; ++ } ++ ++ ++ ++} ++ ++ ++ ++using namespace netgen; ++ ++int Ng_occ_Init (Tcl_Interp * interp) ++{ ++ geometryregister.Append (new OCCGeometryRegister); ++ ++ ++ Tcl_CreateCommand (interp, "Ng_SetOCCVisParameters", ++ Ng_SetOCCVisParameters, ++ (ClientData)NULL, ++ (Tcl_CmdDeleteProc*) NULL); ++ ++ Tcl_CreateCommand (interp, "Ng_GetOCCData", ++ Ng_GetOCCData, ++ (ClientData)NULL, ++ (Tcl_CmdDeleteProc*) NULL); ++ ++ /* ++#ifdef OCCGEOMETRY ++ Tcl_CreateCommand (interp, "Ng_OCCConstruction", ++ Ng_OCCConstruction, ++ (ClientData)NULL, ++ (Tcl_CmdDeleteProc*) NULL); ++#endif ++ */ ++ ++ Tcl_CreateCommand (interp, "Ng_OCCCommand", ++ Ng_OCCCommand, ++ (ClientData)NULL, ++ (Tcl_CmdDeleteProc*) NULL); ++ ++ ++ Tcl_CreateCommand (interp, "Ng_SetOCCParameters", Ng_SetOCCParameters, ++ (ClientData)NULL, ++ (Tcl_CmdDeleteProc*) NULL); ++ ++ ++ ++ // Philippose - 30/01/2009 ++ // Register the TCL Interface Command for local face mesh size ++ // definition ++ Tcl_CreateCommand (interp, "Ng_SurfaceMeshSize", Ng_SurfaceMeshSize, ++ (ClientData)NULL, ++ (Tcl_CmdDeleteProc*) NULL); ++ ++ Tcl_CreateCommand (interp, "Ng_AutoColourBcProps", Ng_AutoColourBcProps, ++ (ClientData)NULL, ++ (Tcl_CmdDeleteProc*) NULL); ++ ++ // Philippose - 25/07/2010 ++ // Register the TCL Interface Command for handling the face colours ++ // present in the mesh ++ Tcl_CreateCommand(interp, "Ng_CurrentFaceColours", Ng_CurrentFaceColours, ++ (ClientData)NULL, ++ (Tcl_CmdDeleteProc*) NULL); ++ ++ ++ return TCL_OK; ++} ++ ++#endif ++ +diff -Naur netgen-5.3.1_SRC_orig/libsrc/occ/utilities.h netgen-5.3.1_SRC_modif/libsrc/occ/utilities.h +--- netgen-5.3.1_SRC_orig/libsrc/occ/utilities.h 2014-08-29 13:54:03.000000000 +0400 ++++ netgen-5.3.1_SRC_modif/libsrc/occ/utilities.h 2018-03-01 15:41:03.998157502 +0300 +@@ -33,6 +33,7 @@ + + #include + #include ++#include + #include + // #include "SALOME_Log.hxx" + +diff -Naur netgen-5.3.1_SRC_orig/libsrc/stlgeom/Makefile.am netgen-5.3.1_SRC_modif/libsrc/stlgeom/Makefile.am +--- netgen-5.3.1_SRC_orig/libsrc/stlgeom/Makefile.am 2014-08-29 13:54:05.000000000 +0400 ++++ netgen-5.3.1_SRC_modif/libsrc/stlgeom/Makefile.am 2018-03-01 15:41:03.998157502 +0300 +@@ -4,10 +4,10 @@ + AM_CPPFLAGS = -I$(top_srcdir)/libsrc/include $(TCL_INCLUDES) + METASOURCES = AUTO + +-lib_LTLIBRARIES = libstl.la ++noinst_LTLIBRARIES = libstl.la + + if NGGUI +-lib_LTLIBRARIES += libstlvis.la ++lib_LTLIBRARIES = libstlvis.la + endif + + libstl_la_SOURCES = meshstlsurface.cpp stlgeom.cpp stlgeomchart.cpp \ +@@ -16,6 +16,5 @@ + + libstlvis_la_SOURCES = stlpkg.cpp vsstl.cpp + libstlvis_la_LIBADD = libstl.la +-libstl_la_LIBADD = $(top_builddir)/libsrc/meshing/libmesh.la + # libstlvis_la_LIBADD = libstl.la $(top_builddir)/libsrc/linalg/libla.la + +diff -Naur netgen-5.3.1_SRC_orig/ng/menustat.tcl netgen-5.3.1_SRC_modif/ng/menustat.tcl +--- netgen-5.3.1_SRC_orig/ng/menustat.tcl 2014-08-29 13:54:01.000000000 +0400 ++++ netgen-5.3.1_SRC_modif/ng/menustat.tcl 2018-03-01 15:45:35.128037102 +0300 +@@ -1,1123 +1,1123 @@ +-# netgen menus: +- +-menu .ngmenu -tearoff 0 -relief raised -bd 2 +-. configure -menu .ngmenu +- +-.ngmenu add cascade -label "File" -menu .ngmenu.file -underline 0 +-.ngmenu add cascade -label "Geometry" -menu .ngmenu.geometry -underline 0 +-.ngmenu add cascade -label "Mesh" -menu .ngmenu.mesh -underline 0 +-.ngmenu add cascade -label "View" -menu .ngmenu.view -underline 0 +-.ngmenu add cascade -label "Refinement" -menu .ngmenu.meshsize -underline 5 +- +-if { $userlevel == 3} { +- .ngmenu add cascade -label "Special" -menu .ngmenu.special -underline 3 +-} +- +-.ngmenu add cascade -label "Help" -menu .ngmenu.help -underline 0 +- +- +-##################################################### +-# # +-# Menu File # +-# # +-##################################################### +- +-menu .ngmenu.file +- +-.ngmenu.file add command -label "Load Geometry..." -accelerator "" \ +- -command { +- set types { +- {"All Geometry types" { .stl .stlb .step .stp .geo .in2d .igs .iges .brep .sat} } +- {"IGES Geometry" {.igs .iges} } +- {"BREP OpenCascade Geometry" {.brep} } +- {"STL Geometry" {.stl} } +- {"Binary STL Geometry" {.stlb} } +- {"STEP Geometry" {.step .stp} } +- {"Geometry file" {.geo} } +- {"2D Geometry" {.in2d } } +- } +- +- set ACISavailable [Ng_ACISCommand isACISavailable] +- if {$ACISavailable == "yes" } { +- lappend types {"ACIS Geometry" {.sat} } +- } +- +- if {[catch { +- set file [tk_getOpenFile -filetypes $types -initialdir $dirname -typevariable loadgeomtypevar] +- }]} { +- set file [tk_getOpenFile -filetypes $types -initialdir $dirname] +- } +- +- if {$file != ""} { +- AddRecentFile $file +- Ng_LoadGeometry $file +- Ng_ParseGeometry +-# if { [Ng_STLInfo status]=="ERROR" } { +-# tk_messageBox -message "STL ERROR: \n [Ng_STLInfo statustext]" -type ok +-# } +- set selectvisual geometry +- Ng_SetVisParameters +- redraw +- wm title . [concat "$progname - " $file] +- set dirname [file dirname $file] +- set basefilename [file tail [file rootname $file]] +- +- if { $hasocc == "yes" } { +- rebuildoccdialog +- } +- } +- } +- +- +- +-.ngmenu.file add command -label "Save Geometry..." \ +- -command { +- set occgeometryloaded [Ng_OCCCommand isoccgeometryloaded] +- puts $occgeometryloaded +- if {$occgeometryloaded == 1 } { +- set types { +- {"IGES Geometry file" {.igs} } +- {"STEP Geometry file" {.stp} } +- {"STL Geometry file" {.stl} } +- {"STL BIN Geometry file" {.stlb} } +- } +- } { +- set types { +- {"STL Geometry file" {.stl} } +- {"STL BIN Geometry file" {.stlb} } +- } +- } +- +- set ACISavailable [Ng_ACISCommand isACISavailable] +- puts $ACISavailable +- if {$ACISavailable == "yes" } { +- lappend types {"ACIS Geometry" {.sat} } +- } +- +- set file [tk_getSaveFile -filetypes $types -initialdir $dirname -initialfile $basefilename ] +- if {$file != ""} { +- Ng_SaveGeometry $file +- } +- } +- +- +- +-.ngmenu.file add cascade -label "Recent Files" -menu .ngmenu.file.recent +-menu .ngmenu.file.recent +- +- +-proc AddRecentFile { filename } { +- global progname +- global dirname +- catch { [.ngmenu.file.recent delete $filename] } +- .ngmenu.file.recent insert 0 command -label $filename \ +- -command "AddRecentFile {$filename}; +- Ng_LoadGeometry {$filename}; +- Ng_ParseGeometry; +- set selectvisual geometry; +- Ng_SetVisParameters; +- redraw; +- wm title . [concat \" $progname - $filename \"]; +- set dirname {[file dirname $filename]}; +- set basefilename {[file tail [file rootname $filename]]}; +- rebuildoccdialog;" +- +- +- if { [.ngmenu.file.recent index last] >= 6 } { +- .ngmenu.file.recent delete last } +- +- saveinifile; +- } +-loadinifile; +- +-.ngmenu.file add separator +- +- +-.ngmenu.file add command -label "Load Mesh..." -accelerator "" \ +- -command { +- set types { +- {"Mesh file" {.vol .vol.gz} } } +- set file [tk_getOpenFile -filetypes $types -defaultextension ".vol"] +- if {$file != ""} { +- AddRecentMeshFile $file; +- Ng_LoadMesh $file; +- set selectvisual mesh +- Ng_SetVisParameters +- redraw +- Ng_ReadStatus; +-# Ng_MeshSizeFromSurfaceMesh +- wm title . [concat "$progname - " $file] +- set dirname [file dirname $file] +- set basefilename [file tail [file rootname $file]] +- } +- } +- +- +- +-# astrid +-.ngmenu.file add cascade -label "Recent Meshes" -menu .ngmenu.file.recentmesh +-menu .ngmenu.file.recentmesh +- +- +-proc AddRecentMeshFile { filename } { +- global progname +- global dirname +- catch { [.ngmenu.file.recentmesh delete $filename] } +- .ngmenu.file.recentmesh insert 0 command -label $filename \ +- -command "AddRecentMeshFile {$filename}; +- Ng_LoadMesh {$filename}; +- set selectvisual mesh; +- Ng_SetVisParameters; +- redraw; +- wm title . [concat \" $progname - $filename \"]; +- set dirname {[file dirname $filename]}; +- set basefilename {[file tail [file rootname $filename]]}; +- rebuildoccdialog;" +- +- if { [.ngmenu.file.recentmesh index last] >= 6 } { +- .ngmenu.file.recentmesh delete last } +- +- savemeshinifile; +- } +-loadmeshinifile; +- +-# astrid ende +- +- +-.ngmenu.file add command -label "Save Mesh..." -accelerator "" \ +- -command { +- set types { +- {"Mesh file" {.vol .vol.gz} } } +- +- set file [tk_getSaveFile -filetypes $types -defaultextension ".vol.gz" -initialfile $basefilename -initialdir $dirname ] +- if {$file != ""} { +- Ng_SaveMesh $file } +- AddRecentMeshFile $file; +- +- } +- +-.ngmenu.file add command -label "Merge Mesh..." \ +- -command { +- set types { +- {"Mesh file" {.vol} } } +- set file [tk_getOpenFile -filetypes $types -defaultextension ".vol"] +- if {$file != ""} { +- Ng_MergeMesh $file; +- set selectvisual mesh +- Ng_SetVisParameters +- redraw +- Ng_ReadStatus; +- } +- } +- +- +- +- +- +-.ngmenu.file add command -label "Import Mesh..." \ +- -command { +- set types { +- {"Neutral format" {.mesh .emt} } +- {"Surface mesh format" {.surf} } +- {"Universal format" {.unv} } +- {"Olaf format" {.emt} } +- {"TET format" {.tet} } +- {"Pro/ENGINEER neutral format" {.fnf} } +- } +- set file [tk_getOpenFile -filetypes $types ] +- if {$file != ""} { +- Ng_ImportMesh $file +- set selectvisual mesh +- Ng_SetVisParameters +- redraw +- Ng_ReadStatus; +- } +- } +- +- +-.ngmenu.file add command -label "Export Mesh..." \ +- -command { +- +-# global meshexportformats +- foreach exportformat $meshexportformats { +- if { [lindex $exportformat 0] == $exportfiletype } { +- set extension [lindex $exportformat 1] +- } +- } +- +- if { $exportfiletype == "Elmer Format"} { +- set file [file nativename [tk_chooseDirectory -title "Elmer Mesh Export - Select Directory"]] +- } elseif { $exportfiletype == "OpenFOAM 1.5+ Format"} { +- set file [file nativename [tk_chooseDirectory -title "OpenFOAM 1.5+ Mesh Export - Select Case Directory"]] +- } elseif { $exportfiletype == "OpenFOAM 1.5+ Compressed"} { +- set file [file nativename [tk_chooseDirectory -title "OpenFOAM 1.5+ Mesh Export - Select Case Directory"]] +- } else { +-# set file [tk_getSaveFile -filetypes "{ \"$exportfiletype\" {$extension} }" ] +- set file [tk_getSaveFile -filetypes "{ \"$exportfiletype\" {*}}" ] +- } +- +- if {$file != ""} { +- Ng_ExportMesh $file $exportfiletype +- } +- } +- +-.ngmenu.file add cascade -label "Export Filetype" -menu .ngmenu.file.filetype +- +-menu .ngmenu.file.filetype +- +- +-.ngmenu.file add separator +- +- +-.ngmenu.file add command -label "Save Solution..." \ +- -command { +- set types { +- {"Solution File" {.sol} } +- {"VTK File" {.vtk} } +- } +- set file [tk_getSaveFile -filetypes $types ] +- if {$file != ""} { +- Ng_SaveSolution $file +- } +- } +-#-defaultextension ".sol" ] +- +-.ngmenu.file add command -label "Import Solution..." \ +- -command { +- set types { {"Solution File" {.sol} } } +- set file [tk_getOpenFile -filetypes $types -defaultextension ".sol" ] +- if {$file != ""} { +- Ng_ImportSolution $file +- set selectvisual solution +- Ng_SetVisParameters +- redraw +- } +- } +- +- +- +- +- +- +-set demostarttime [clock clicks -millisecond] +-set stopdemo 0 +-proc demoredraw { } { +- global demostarttime +- global stopdemo +- set curtime [clock clicks -millisecond] +- set result [ Ng_DemoSetTime [expr $curtime - $demostarttime] ] +- redraw +- global videoactive +- if { $videoactive == 1 } { +- puts "addframe" +- .ndraw Ng_VideoClip addframe +- } +- if { $result == 0 && $stopdemo == 0 } { +- after 1 { demoredraw } +- } +-} +-.ngmenu.file add command -label "Show Demo..." \ +- -command { +- set types { {"Demo File" {.dem} } } +- set file [tk_getOpenFile -filetypes $types -defaultextension ".dem" ] +- if {$file != ""} { +- Ng_ShowDemo $file +- set demostarttime [clock clicks -millisecond] +- set stopdemo 0 +- demoredraw +- } +- } +- +- +- +- +-.ngmenu.file add separator +- +-.ngmenu.file add command -label "Snapshot..." \ +- -command { +- set types { +- {"JPG file" {.jpg} } +- {"GIF file" {.gif} } +- {"PPM file" {.ppm} } +- } +- set file [tk_getSaveFile -filetypes $types] +-# -defaultextension ".ppm"] +- if {$file != ""} { +- .ndraw Ng_SnapShot $file } +- } +- +- +-.ngmenu.file add cascade -label "Video clip" -menu .ngmenu.file.video +-menu .ngmenu.file.video +- +-set videoactive 0 +-.ngmenu.file.video add command -label "start..." \ +- -command { +- set types { +- {"MPG file" {.mpg} } +- } +- set file [tk_getSaveFile -filetypes $types] +- if {$file != ""} { +- .ndraw Ng_VideoClip init $file +- global videoactive +- set videoactive 1 +- } +- } +- +-.ngmenu.file.video add command -label "add frame..." \ +- -command {.ndraw Ng_VideoClip addframe } +- +-.ngmenu.file.video add command -label "one cycle" \ +- -command { +- set visoptions.redrawperiodic 1 +- for { set j 0 } { $j < 100 } { incr j } { +- puts "j = $j" +- Ng_Vis_Set time [expr (1000 * $j / 100)] +- redraw +- .ndraw Ng_VideoClip addframe +- after 200 +- } +- } +- +-.ngmenu.file.video add command -label "finalize..." \ +- -command { +- .ndraw Ng_VideoClip finalize +- global videoactive +- set videoactive 0 +- } +- +- +- +-.ngmenu.file add command -label "Save Options" \ +- -command { saveoptions } +- +- +- +- +-.ngmenu.file add separator +- +- +-## herbert tcl load menue +-# .ngmenu.file add command -label "Run tests ..." \ +-\# -command { runtestdialog } +-## +-# .ngmenu.file add separator +- +-.ngmenu.file add command -label "Quit" -accelerator "" \ +- -command { +- puts "Thank you for using $progname"; +- +- if { [catch { unload libngsolve[info sharedlibextension] ngsolve } result ] } { +- # puts "cannot unload ngsolve" +- # puts "error: $result" +- } +- +- Ng_Exit; +- destroy . +- } +-# exit +- +- +-##################################################### +-# # +-# Menu Mesh # +-# # +-##################################################### +- +-menu .ngmenu.mesh +-.ngmenu.mesh add command -label "Generate Mesh" -accelerator "" \ +- -command { +- set selectvisual mesh +- Ng_SetVisParameters +- Ng_GenerateMesh ${meshoptions.firststep} ${meshoptions.laststep} +- Ng_ReadStatus +- redraw +- } +- +-.ngmenu.mesh add command -label "Stop Meshing" \ +- -command { Ng_StopMeshing } +- +-.ngmenu.mesh add command -label "Meshing Options..." \ +- -command meshingoptionsdialog +- +- +-.ngmenu.mesh add separator +- +-.ngmenu.mesh add command -label "Delete Mesh" \ +- -command { Ng_New mesh; Ng_ReadStatus; redraw } +- +-.ngmenu.mesh add command -label "Delete Vol Mesh" \ +- -command { Ng_DeleteVolMesh; Ng_ReadStatus; redraw } +- +- +-.ngmenu.mesh add command -label "Mesh Info" \ +- -command { +- set dim [Ng_MeshInfo dim] +- set np [Ng_MeshInfo np] +- set ne [Ng_MeshInfo ne] +- set nse [Ng_MeshInfo nse] +- set nseg [Ng_MeshInfo nseg] +- set bbox [Ng_MeshInfo bbox] +- tk_messageBox -message "Dimension: $dim\nPoints: $np\nElements: $ne\nSurface Els: $nse\nSegments: $nseg\nxmin [lindex $bbox 0] xmax [lindex $bbox 1]\nymin [lindex $bbox 2] ymax [lindex $bbox 3]\nzmin [lindex $bbox 4] zmax [lindex $bbox 5]" +- } +- +- +-.ngmenu.mesh add command -label "Mesh Quality" \ +- -command { +- set inplanemin 0 +- set inplanemax 0 +- set betplanemin 0 +- set betplanemax 0 +- Ng_MeshQuality inplanemin inplanemax betplanemin betplanemax +- puts "Triangle angles : $inplanemin - $inplanemax" +- puts "Tet angles : $betplanemin - $betplanemax" +- tk_messageBox -message "Triangle angles : $inplanemin - $inplanemax \n Tet angles : $betplanemin - $betplanemax" +- } +- +-# .ngmenu.mesh add command -label "Quality Plot" \ +-# -command { qualityviewdialog 1 } +- +- +- +- +-.ngmenu.mesh add command -label "Check Surface Mesh" \ +- -command { Ng_CheckSurfaceMesh } +-.ngmenu.mesh add command -label "Check Volume Mesh" \ +- -command { Ng_CheckVolumeMesh } +- +-.ngmenu.mesh add command -label "Edit Boundary Conditions..." \ +- -command { bcpropdialog } +- +-if { $userlevel == 3 } { +- .ngmenu.mesh add command -label "Mesh Doctor..." \ +- -command { meshdoctordialog } +-} +- +-.ngmenu.mesh add command -label "METIS Mesh Partitioning..." \ +- -command { METISdialog } +- +-.ngmenu.mesh add separator +- +-.ngmenu.mesh add command -label "Analyze Geometry" \ +- -command { Ng_GenerateMesh ag ag; Ng_ReadStatus; redraw } +-.ngmenu.mesh add command -label "Mesh Edges" \ +- -command { Ng_GenerateMesh me me; Ng_ReadStatus; redraw } +-.ngmenu.mesh add command -label "Mesh Surface" \ +- -command { set selectvisual mesh; Ng_SetVisParameters; \ +- Ng_GenerateMesh ms ms; Ng_ReadStatus; redraw } +- +-.ngmenu.mesh add command -label "Optimize Surface" \ +- -command { Ng_GenerateMesh os os cmsmSm; redraw } +- +-.ngmenu.mesh add cascade -label "Surface Optim. Step" -menu .ngmenu.mesh.surfoptstep +- +-menu .ngmenu.mesh.surfoptstep +-.ngmenu.mesh.surfoptstep add command -label "Mesh Smoothing" \ +- -command { Ng_GenerateMesh os os m; redraw} +-.ngmenu.mesh.surfoptstep add command -label "Edge swapping (topologic)" \ +- -command { Ng_GenerateMesh os os s; redraw} +-.ngmenu.mesh.surfoptstep add command -label "Edge swapping (metric)" \ +- -command { Ng_GenerateMesh os os S; redraw} +-.ngmenu.mesh.surfoptstep add command -label "Combine points" \ +- -command { Ng_GenerateMesh os os c; redraw} +- +- +-.ngmenu.mesh add separator +-.ngmenu.mesh add command -label "Mesh Volume" \ +- -command { Ng_GenerateMesh mv mv; Ng_ReadStatus } +-.ngmenu.mesh add command -label "Optimize Volume" \ +- -command { Ng_GenerateMesh ov ov; Ng_ReadStatus } +-.ngmenu.mesh add command -label "Smooth Opt Volume" \ +- -command { Ng_GenerateMesh ov ov m; Ng_ReadStatus } +-.ngmenu.mesh add command -label "Smooth Opt Volume Jacobian" \ +- -command { Ng_GenerateMesh ov ov j; Ng_ReadStatus } +- +- +- +-##################################################### +-# # +-# Menu Geometry # +-# # +-##################################################### +- +-menu .ngmenu.geometry +- +- +- +- +- +- +- +-##################################################### +-# # +-# Menu View # +-# # +-##################################################### +- +-menu .ngmenu.view +-.ngmenu.view add command -label "Zoom all" \ +- -command { Ng_ZoomAll; redraw } +-.ngmenu.view add command -label "Center" \ +- -command { Ng_Center; redraw } +- +-.ngmenu.view add command -label "x-y plane" \ +- -command { Ng_StandardRotation xy; redraw } +-.ngmenu.view add command -label "y-x plane" \ +- -command { Ng_StandardRotation yx; redraw } +-.ngmenu.view add command -label "x-z plane" \ +- -command { Ng_StandardRotation xz; redraw } +-.ngmenu.view add command -label "z-x plane" \ +- -command { Ng_StandardRotation zx; redraw } +-.ngmenu.view add command -label "y-z plane" \ +- -command { Ng_StandardRotation yz; redraw } +-.ngmenu.view add command -label "z-y plane" \ +- -command { Ng_StandardRotation zy; redraw } +- +-.ngmenu.view add command -label "Viewing Options..." \ +- -command { viewingoptionsdialog; redraw } +-.ngmenu.view add command -label "Clipping Plane..." \ +- -command { clippingdialog; redraw } +-.ngmenu.view add command -label "Solution Data..." \ +- -command { visual_dialog; redraw } +-.ngmenu.view add checkbutton -variable viewqualityplot \ +- -label "Quality Plot" \ +- -command { qualityviewdialog $viewqualityplot } +-.ngmenu.view add checkbutton -variable memuseplot \ +- -label "Memory Usage" \ +- -command { memusedialog $memuseplot } +- +- +- +- +-##################################################### +-# # +-# Menu Refinement # +-# # +-##################################################### +-# +-# Mesh size menu +-# +-menu .ngmenu.meshsize +-.ngmenu.meshsize add command -label "Refine uniform" \ +- -command { Ng_Refine; Ng_HighOrder ${options.elementorder}; Ng_ReadStatus; redraw } +- +-.ngmenu.meshsize add command -label "Second Order" \ +- -command { Ng_SecondOrder; Ng_ReadStatus; redraw } +- +-.ngmenu.meshsize add command -label "Validate Second Order" \ +- -command { Ng_ValidateSecondOrder; Ng_ReadStatus; redraw } +- +-.ngmenu.meshsize add command -label "High Order" \ +- -command { Ng_HighOrder ${options.elementorder}; Ng_ReadStatus; redraw } +- +-.ngmenu.meshsize add separator +- +-.ngmenu.meshsize add command -label "Refinement Dialog..." \ +- -command { refinementdialog } +-.ngmenu.meshsize add command -label "Load Meshsize..." \ +- -command { +- set types { +- {"Meshsize file" {.msz} } } +- set file [tk_getOpenFile -filetypes $types] +- if {$file != ""} { +- Ng_LoadMeshSize $file; +- } +- } +-.ngmenu.meshsize add command -label "MS from Surf Mesh" \ +- -command { Ng_MeshSizeFromSurfaceMesh } +- +- +-if { $userlevel == 3 } { +-.ngmenu.meshsize add command -label "Singular point ms" \ +- -command { Ng_SingularPointMS; } +- +-.ngmenu.meshsize add command -label "Singular edge ms" \ +- -command { Ng_SingularEdgeMS; } +- +-.ngmenu.meshsize add separator +- +-set bisectfilename ""; +- +-.ngmenu.meshsize add command -label "Bisection" \ +- -command { Ng_ReadStatus; set oldnp 0; set newnp $status_np; +-# Ng_BisectCopyMesh; +-# Ng_Split2Tets; +- Ng_ReadStatus; +- +- while { $oldnp < $newnp } { +-# if { $level == 0 } { +-# Ng_ExportMesh feppmesh.vol fepp; +-# } { +-# Ng_ExportMesh feppmesh$level feppml +-# } +- set level [expr $level+1] +- if { $bisectfilename == ""} { +- Ng_Bisect; +- } else { +- Ng_Bisect $bisectfilename; +- } +-# Ng_HighOrder ${options.elementorder} "noparallel" +-# Ng_Split2Tets; +- Ng_ReadStatus; +- redraw; +- +- if { $bisectfilename == ""} { +- set oldnp $newnp; +- set newnp $status_np; +- puts "oldnp $oldnp newnp $newnp"; +- } else { +- set oldnp $newnp; +- } +- } +- } +-# -command { Ng_Bisect; Ng_ReadStatus; redraw } +-# -command { exec netgen abc >outfile 2>errfile; Ng_ReadStatus; redraw } +- +-} +- +-.ngmenu.meshsize add command -label "Load Refinement Info..." \ +- -command { +- set types { +- {"Refinement info" {.refine} }} +- set bisectfilename [tk_getOpenFile -filetypes $types] +- } +- +-.ngmenu.meshsize add command -label "Z-Refinement" \ +- -command { Ng_ZRefinement 2; Ng_ReadStatus; redraw } +- +- +-# .ngmenu.meshsize add command -label "hp-Refinement" \ +-\# -command { Ng_HPRefinement 4; Ng_ReadStatus; redraw } +- +-.ngmenu.meshsize add cascade -label "hp-Refinement" -menu .ngmenu.meshsize.hpref +-menu .ngmenu.meshsize.hpref +-.ngmenu.meshsize.hpref add command -label "1 Level" \ +- -command { Ng_HPRefinement 1; Ng_ReadStatus; redraw } +-.ngmenu.meshsize.hpref add command -label "2 Levels" \ +- -command { Ng_HPRefinement 2; Ng_ReadStatus; redraw } +-.ngmenu.meshsize.hpref add command -label "3 Levels" \ +- -command { Ng_HPRefinement 3; Ng_ReadStatus; redraw } +-.ngmenu.meshsize.hpref add command -label "4 Levels" \ +- -command { Ng_HPRefinement 4; Ng_ReadStatus; redraw } +-.ngmenu.meshsize.hpref add command -label "5 Levels" \ +- -command { Ng_HPRefinement 5; Ng_ReadStatus; redraw } +-.ngmenu.meshsize.hpref add command -label "6 Levels" \ +- -command { Ng_HPRefinement 6; Ng_ReadStatus; redraw } +-.ngmenu.meshsize.hpref add command -label "7 Levels" \ +- -command { Ng_HPRefinement 7; Ng_ReadStatus; redraw } +-.ngmenu.meshsize.hpref add command -label "8 Levels" \ +- -command { Ng_HPRefinement 8; Ng_ReadStatus; redraw } +-.ngmenu.meshsize.hpref add command -label "9 Levels" \ +- -command { Ng_HPRefinement 9; Ng_ReadStatus; redraw } +-.ngmenu.meshsize.hpref add command -label "10 Levels" \ +- -command { Ng_HPRefinement 10; Ng_ReadStatus; redraw } +- +- +-.ngmenu.meshsize add command -label "Split to Tets" \ +- -command { Ng_Split2Tets; Ng_ReadStatus; redraw } +- +- +- +- +- +-##################################################### +-# # +-# Menu Special # +-# # +-##################################################### +- +-menu .ngmenu.special +-.ngmenu.special add command -label "Prismatic Boundary Layer" \ +- -command { Ng_GenerateBoundaryLayer; redraw } +-.ngmenu.special add command -label "Insert virtual boundary layer" \ +- -command { Ng_InsertVirtualBL; redraw } +-.ngmenu.special add command -label "Cut off and combine with other" \ +- -command { +- set types { {"Mesh file" {.vol} } } +- set file [tk_getOpenFile -filetypes $types] +- if {$file != ""} { +- Ng_CutOffAndCombine $file; } +- redraw +- } +-.ngmenu.special add command -label "Helmholtz Mesh grading" \ +- -command { Ng_HelmholtzMesh; } +-.ngmenu.special add cascade -label "Colour-based boundary conditions" -menu .ngmenu.special.colbndcond +- +-menu .ngmenu.special.colbndcond +- .ngmenu.special.colbndcond add command -label "Inspect Colours in mesh" \ +- -command { currmeshcoloursdialog } +- +- .ngmenu.special.colbndcond add separator +- +- .ngmenu.special.colbndcond add command -label "Automatic Assignment" \ +- -command { Ng_AutoColourBcProps auto; redraw } +- +- .ngmenu.special.colbndcond add separator +- +- set ocffile [file join ${ngdir} netgen.ocf]; +- +- .ngmenu.special.colbndcond add command -label "Select Colour Profile file" \ +- -command { +- set types { {"Colour Profile file" {.ocf} } } +- set ocffile [tk_getOpenFile -filetypes $types] +- if {$ocffile == ""} { +- set ocffile [file join ${ngdir} netgen.ocf]; } +- } +- .ngmenu.special.colbndcond add command -label "Profile based Assignment" \ +- -command { Ng_AutoColourBcProps profile ${ocffile}; redraw } +- +- +-# menu .mbar.stl.menu +-# .mbar.stl.menu add command -label "STL options" \ +-# -command { stloptionsdialog; } +-#.mbar.stl.menu add command -label "STL Doctor" \ +-# -command { stldoctordialog; } +- +- +-##################################################### +-# # +-# Menu Help # +-# # +-##################################################### +- +- +- +- +-menu .ngmenu.help +-# .ngmenu.help add command -label "Ng Help..." \ +-\# -command { help_main } +-# .ngmenu.view add checkbutton -variable showsensitivehelp \ +-# -label "Sensitve Help" \ +-# -command { sensitivehelpdialog $showsensitivehelp } +-.ngmenu.view add checkbutton -label "Help Line" -variable showhelpline \ +- -command { +- if { $showhelpline == 1} { +- pack .helpline -before .statbar -side bottom -fill x -padx 3p +- } { +- pack forget .helpline +- } +-} +- +-.ngmenu.help add command -label "About..." \ +- -command { +-tk_messageBox -message "This is NETGEN \nmainly written by \nJoachim Schoeberl \nthanks to \nRobert Gaisbauer, Johannes Gerstmayr, Philippose Rajan" +-} +- +-# tk_menuBar .mbar .mbar.file .mbar.mesh .mbar.test .mbar.help +-# focus .mbar +- +- +- +- +-##################################################### +-# # +-# Button bar # +-# # +-##################################################### +- +-frame .bubar -relief raised -bd 2 +-pack .bubar -side top -fill x +- +-button .bubar.testb -text "Test" -command { Ng_SaveGeometry } +-button .bubar.surfm -text "Generate Mesh" -command \ +- { +- .ngmenu.mesh invoke "Generate Mesh"; +-# set selectvisual mesh; +-# Ng_SetVisParameters; +-# Ng_GenerateMesh ${meshoptions.firststep} ${meshoptions.laststep} +-# redraw +- } +-button .bubar.stopm -text "Stop" -command \ +- { +- # Ng_StopMeshing; +- set multithread_terminate 1; +- set stopdemo 1; +- } +-button .bubar.exitb -text "Quit" \ +- -command { +- set ans [tk_messageBox -title "Quit Netgen?" -message "Do you really want to quit Netgen?" -type yesno -default "no" -icon question] +- if { $ans == "yes" } { +- .ngmenu.file invoke "Quit"; +- } +- } +-pack .bubar.exitb .bubar.surfm .bubar.stopm -side left +- +-#button .bubar.scan -text "Scan" \ +-# -command { Ng_ParseGeometry; set selectvisual geometry; Ng_SetVisParameters; redraw } +- +-button .bubar.zoomall -text "Zoom All" \ +- -command { Ng_ZoomAll; redraw } +- +-button .bubar.center -text "Center" \ +- -command { Ng_Center; redraw } +- +-# tk_optionMenu .bubar.modesel drawmode "rotate" "move " "zoom " +-tixOptionMenu .bubar.modesel \ +- -options { +- label.width 0 +- label.anchor e +- menubutton.width 6 +- } \ +- -variable drawmode +- +-.bubar.modesel add command rotate -label Rotate +-.bubar.modesel add command move -label Move +-.bubar.modesel add command zoom -label Zoom +- +- +- +-set viewvals { geometry specpoints mesh solution} +-if { $userlevel == 3} { +- set viewvals { geometry mesh specpoints surfmeshing modelview solution} +-} +- +-set viewvallabs(cross) "Cross" +-set viewvallabs(geometry) "Geometry" +-set viewvallabs(mesh) "Mesh" +-set viewvallabs(specpoints) "Edges" +-set viewvallabs(surfmeshing) "Mesh Gen" +-set viewvallabs(modelview) "Modeller" +-set viewvallabs(solution) "Solution" +- +-tixOptionMenu .bubar.selview \ +- -options { +- label.width 0 +- label.anchor e +- menubutton.width 10 +- } \ +- +-foreach viewv $viewvals { +- .bubar.selview add command $viewv -label $viewvallabs($viewv) +-} +- +- +- +-.bubar.selview config -variable selectvisual +-.bubar.selview config -command { Ng_SetVisParameters; redraw } +- +- +-pack .bubar.modesel -side right +-pack forget .bubar.modesel +-pack .bubar.center .bubar.zoomall .bubar.selview -side right +- +-.ngmenu.view add checkbutton -variable viewrotatebutton \ +- -label "Enable LeftButton Selection" \ +- -command { +- if { $viewrotatebutton } { +- pack .bubar.modesel -side right +- } { +- pack forget .bubar.modesel +- } +- } +- +- +- +- +-##################################################### +-# # +-# Status bar # +-# # +-##################################################### +- +-label .helpline -text "None" +-pack forget .helpline -side bottom -fill x +- +-frame .statbar -relief flat -bd 2 +-pack .statbar -side bottom -fill x +- +-label .statbar.ptslabel -text "Points: " +-label .statbar.ptsval -textvariable status_np +-label .statbar.elslabel -text " Elements: " +-label .statbar.elsval -textvariable status_ne +-label .statbar.selslabel -text " Surf Elements: " +-label .statbar.selsval -textvariable status_nse +-# label .statbar.memlabel -text " Mem: " +-# label .statbar.memval -textvariable mem_moveable +-label .statbar.task -textvariable status_task +- +-pack .statbar.ptslabel .statbar.ptsval -side left -ipady 3p +-pack .statbar.elslabel .statbar.elsval -side left -ipady 3p +-pack .statbar.selslabel .statbar.selsval -side left -ipady 3p +- +-# if { $userlevel == 3 } { +-# pack .statbar.memlabel .statbar.memval -side left -ipady 3p +-# } +- +- +-tixMeter .statbar.per -value 0 -text 0% +-.statbar.per configure -fillcolor blue +- +-pack .statbar.per -side right +-pack .statbar.task -side right -ipady 4 +- +-set qualbaraxis(0) 0 +-set qualbar(0) 0 +-set qualbarnull(0) 0 +- +- +- +-proc timer2 { } { +- global status_np +- global status_ne +- global status_nse +- global multithread_running +- global multithread_redraw +- global status_working +- global status_task +- global status_percent +- global status_tetqualclasses +- +- +- Ng_ReadStatus +- +- if { $multithread_redraw == 1 } { +- set multithread_redraw 0; +- redraw; +- +- global videoactive +- if { $videoactive == 1 } { +- puts "addframe" +- .ndraw Ng_VideoClip addframe +- } +- } +- +- # global mem_moveable +- # set mem_moveable [Ng_MemInfo moveable] +- +- +- .statbar.per config -value [expr $status_percent/100] -text [format %2.1f [expr 0.1*int(10*$status_percent)]]% +- +- +- if { $multithread_running } { +- pack .statbar.per -side right -before .statbar.task -padx 6 +- } { +- pack forget .statbar.per +- } +- +- +- +- # tet quality +- if {[winfo exists .qualityview_dlg] == 1} { +- +- global qualbar +- global qualbarnull +- global qualbaraxis +- +- set maxval 0 +- for {set i 0} {$i < 20} {incr i} { +- if {[lindex $status_tetqualclasses $i] > $maxval} { +- set maxval [lindex $status_tetqualclasses $i] +- } +- } +- +- set ubound 1 +- while { $ubound < $maxval } { +- set ubound [expr {10 * $ubound}] +- } +- if { $ubound/5 > $maxval } { +- set ubound [expr $ubound/5] +- } +- if { $ubound/2 > $maxval } { +- set ubound [expr $ubound/2] +- } +- +- +- +- for {set i 1} {$i <= 5} {incr i} { +- # global qualbaraxis($i) +- +- set value [expr { $i * $ubound / 5 }] +- .qualityview_dlg.c dchars $qualbaraxis($i) 0 end +- .qualityview_dlg.c insert $qualbaraxis($i) end $value +- } +- +- +- for {set i 0} {$i < 20} {incr i} { +- set x1 [expr {100 + ($i*15) + 2}] +- set x2 [expr {$x1+10}] +- +- set nbrs [lindex $status_tetqualclasses $i] +- set y [expr (249 - (200 * $nbrs / $ubound ) )] +- +- # global qualbar($i) +- .qualityview_dlg.c coords $qualbar($i) $x1 250 $x2 $y +- +-# global qualbarnull($i) +- if { $nbrs == 0 } { +- .qualityview_dlg.c itemconfigure $qualbarnull($i) -text 0 +- } { +- .qualityview_dlg.c itemconfigure $qualbarnull($i) -text "" +- } +- } +- +- } +- +- +- if {[winfo exists .memuse_dlg] == 1} { +- +- global memmark +- set usemb [Ng_MemInfo usedmb] +- for {set i 0} {$i < [string length $usemb] } {incr i} { +- if { [string index $usemb $i] == 0 } { +- .memuse_dlg.c coords $memmark($i) [expr 50+$i] 68 [expr 50+$i] 70 +- } { +- .memuse_dlg.c coords $memmark($i) [expr 50+$i] 50 [expr 50+$i] 70 +- } +- } +- +- } +- after 30 { timer2 } +-} +-# after 1000 { timer2 } +-timer2 +- +- +- +- +-proc bgerror { error } { +- global errorInfo userlevel +- if { $userlevel == 3} { +- puts "ERROR: $error" +- puts "errinfo: $errorInfo" +- } +- tk_messageBox -title "Error Message" -message $error -type ok +-} +- +- +- +- +- +- +-proc smh2 { menuitem } { +- if {[catch {$menuitem entrycget active -label} name]} { +- set name " " +- } +- show_menu_help $name +- update idletasks +-} +- +-bind .ngmenu <> { smh2 %W } +-bind .ngmenu.file <> { smh2 %W } +-bind .ngmenu.geometry <> { smh2 %W } +-bind .ngmenu.mesh <> { smh2 %W } +-bind .ngmenu.view <> { smh2 %W } +-bind .ngmenu.meshsize <> { smh2 %W } +-bind .ngmenu.special <> { smh2 %W } +-bind .ngmenu.help <> { smh2 %W } +- +- +-# command bindings +-bind . { .ngmenu.file invoke "Quit" } +-bind . { .ngmenu.file invoke "Load Geometry..." } ; +-bind . { .ngmenu.file invoke "Load Mesh..." } ; +-bind . { .ngmenu.file invoke "Save Mesh..." } ; +-bind . { .ngmenu.file activate "Recent Files" } ; +-bind .

{ newprimitivedialog } ; # +-bind .

{ editprimitivedialog } +-bind . { newsoliddialog } +-bind . { .ngmenu.mesh invoke "Generate Mesh" } ; +- +- +- +- +- ++# netgen menus: ++ ++menu .ngmenu -tearoff 0 -relief raised -bd 2 ++. configure -menu .ngmenu ++ ++.ngmenu add cascade -label "File" -menu .ngmenu.file -underline 0 ++.ngmenu add cascade -label "Geometry" -menu .ngmenu.geometry -underline 0 ++.ngmenu add cascade -label "Mesh" -menu .ngmenu.mesh -underline 0 ++.ngmenu add cascade -label "View" -menu .ngmenu.view -underline 0 ++.ngmenu add cascade -label "Refinement" -menu .ngmenu.meshsize -underline 5 ++ ++if { $userlevel == 3} { ++ .ngmenu add cascade -label "Special" -menu .ngmenu.special -underline 3 ++} ++ ++.ngmenu add cascade -label "Help" -menu .ngmenu.help -underline 0 ++ ++ ++##################################################### ++# # ++# Menu File # ++# # ++##################################################### ++ ++menu .ngmenu.file ++ ++.ngmenu.file add command -label "Load Geometry..." -accelerator "" \ ++ -command { ++ set types { ++ {"All Geometry types" { .stl .stlb .step .stp .geo .in2d .igs .iges .brep .sat} } ++ {"IGES Geometry" {.igs .iges} } ++ {"BREP OpenCascade Geometry" {.brep} } ++ {"STL Geometry" {.stl} } ++ {"Binary STL Geometry" {.stlb} } ++ {"STEP Geometry" {.step .stp} } ++ {"Geometry file" {.geo} } ++ {"2D Geometry" {.in2d } } ++ } ++ ++ set ACISavailable [Ng_ACISCommand isACISavailable] ++ if {$ACISavailable == "yes" } { ++ lappend types {"ACIS Geometry" {.sat} } ++ } ++ ++ if {[catch { ++ set file [tk_getOpenFile -filetypes $types -initialdir $dirname -typevariable loadgeomtypevar] ++ }]} { ++ set file [tk_getOpenFile -filetypes $types -initialdir $dirname] ++ } ++ ++ if {$file != ""} { ++ AddRecentFile $file ++ Ng_LoadGeometry $file ++ Ng_ParseGeometry ++# if { [Ng_STLInfo status]=="ERROR" } { ++# tk_messageBox -message "STL ERROR: \n [Ng_STLInfo statustext]" -type ok ++# } ++ set selectvisual geometry ++ Ng_SetVisParameters ++ redraw ++ wm title . [concat "$progname - " $file] ++ set dirname [file dirname $file] ++ set basefilename [file tail [file rootname $file]] ++ ++ if { $hasocc == "yes" } { ++ rebuildoccdialog ++ } ++ } ++ } ++ ++ ++ ++.ngmenu.file add command -label "Save Geometry..." \ ++ -command { ++ set occgeometryloaded [Ng_OCCCommand isoccgeometryloaded] ++ puts $occgeometryloaded ++ if {$occgeometryloaded == 1 } { ++ set types { ++ {"IGES Geometry file" {.igs} } ++ {"STEP Geometry file" {.stp} } ++ {"STL Geometry file" {.stl} } ++ {"STL BIN Geometry file" {.stlb} } ++ } ++ } { ++ set types { ++ {"STL Geometry file" {.stl} } ++ {"STL BIN Geometry file" {.stlb} } ++ } ++ } ++ ++ set ACISavailable [Ng_ACISCommand isACISavailable] ++ puts $ACISavailable ++ if {$ACISavailable == "yes" } { ++ lappend types {"ACIS Geometry" {.sat} } ++ } ++ ++ set file [tk_getSaveFile -filetypes $types -initialdir $dirname -initialfile $basefilename ] ++ if {$file != ""} { ++ Ng_SaveGeometry $file ++ } ++ } ++ ++ ++ ++.ngmenu.file add cascade -label "Recent Files" -menu .ngmenu.file.recent ++menu .ngmenu.file.recent ++ ++ ++proc AddRecentFile { filename } { ++ global progname ++ global dirname ++ catch { [.ngmenu.file.recent delete $filename] } ++ .ngmenu.file.recent insert 0 command -label $filename \ ++ -command "AddRecentFile {$filename}; ++ Ng_LoadGeometry {$filename}; ++ Ng_ParseGeometry; ++ set selectvisual geometry; ++ Ng_SetVisParameters; ++ redraw; ++ wm title . [concat \" $progname - $filename \"]; ++ set dirname {[file dirname $filename]}; ++ set basefilename {[file tail [file rootname $filename]]}; ++ rebuildoccdialog;" ++ ++ ++ if { [.ngmenu.file.recent index last] >= 6 } { ++ .ngmenu.file.recent delete last } ++ ++ saveinifile; ++ } ++loadinifile; ++ ++.ngmenu.file add separator ++ ++ ++.ngmenu.file add command -label "Load Mesh..." -accelerator "" \ ++ -command { ++ set types { ++ {"Mesh file" {.vol .vol.gz} } } ++ set file [tk_getOpenFile -filetypes $types -defaultextension ".vol"] ++ if {$file != ""} { ++ AddRecentMeshFile $file; ++ Ng_LoadMesh $file; ++ set selectvisual mesh ++ Ng_SetVisParameters ++ redraw ++ Ng_ReadStatus; ++# Ng_MeshSizeFromSurfaceMesh ++ wm title . [concat "$progname - " $file] ++ set dirname [file dirname $file] ++ set basefilename [file tail [file rootname $file]] ++ } ++ } ++ ++ ++ ++# astrid ++.ngmenu.file add cascade -label "Recent Meshes" -menu .ngmenu.file.recentmesh ++menu .ngmenu.file.recentmesh ++ ++ ++proc AddRecentMeshFile { filename } { ++ global progname ++ global dirname ++ catch { [.ngmenu.file.recentmesh delete $filename] } ++ .ngmenu.file.recentmesh insert 0 command -label $filename \ ++ -command "AddRecentMeshFile {$filename}; ++ Ng_LoadMesh {$filename}; ++ set selectvisual mesh; ++ Ng_SetVisParameters; ++ redraw; ++ wm title . [concat \" $progname - $filename \"]; ++ set dirname {[file dirname $filename]}; ++ set basefilename {[file tail [file rootname $filename]]}; ++ rebuildoccdialog;" ++ ++ if { [.ngmenu.file.recentmesh index last] >= 6 } { ++ .ngmenu.file.recentmesh delete last } ++ ++ savemeshinifile; ++ } ++loadmeshinifile; ++ ++# astrid ende ++ ++ ++.ngmenu.file add command -label "Save Mesh..." -accelerator "" \ ++ -command { ++ set types { ++ {"Mesh file" {.vol .vol.gz} } } ++ ++ set file [tk_getSaveFile -filetypes $types -defaultextension ".vol.gz" -initialfile $basefilename -initialdir $dirname ] ++ if {$file != ""} { ++ Ng_SaveMesh $file } ++ AddRecentMeshFile $file; ++ ++ } ++ ++.ngmenu.file add command -label "Merge Mesh..." \ ++ -command { ++ set types { ++ {"Mesh file" {.vol} } } ++ set file [tk_getOpenFile -filetypes $types -defaultextension ".vol"] ++ if {$file != ""} { ++ Ng_MergeMesh $file; ++ set selectvisual mesh ++ Ng_SetVisParameters ++ redraw ++ Ng_ReadStatus; ++ } ++ } ++ ++ ++ ++ ++ ++.ngmenu.file add command -label "Import Mesh..." \ ++ -command { ++ set types { ++ {"Neutral format" {.mesh .emt} } ++ {"Surface mesh format" {.surf} } ++ {"Universal format" {.unv} } ++ {"Olaf format" {.emt} } ++ {"TET format" {.tet} } ++ {"Pro/ENGINEER neutral format" {.fnf} } ++ } ++ set file [tk_getOpenFile -filetypes $types ] ++ if {$file != ""} { ++ Ng_ImportMesh $file ++ set selectvisual mesh ++ Ng_SetVisParameters ++ redraw ++ Ng_ReadStatus; ++ } ++ } ++ ++ ++.ngmenu.file add command -label "Export Mesh..." \ ++ -command { ++ ++# global meshexportformats ++ foreach exportformat $meshexportformats { ++ if { [lindex $exportformat 0] == $exportfiletype } { ++ set extension [lindex $exportformat 1] ++ } ++ } ++ ++ if { $exportfiletype == "Elmer Format"} { ++ set file [file nativename [tk_chooseDirectory -title "Elmer Mesh Export - Select Directory"]] ++ } elseif { $exportfiletype == "OpenFOAM 1.5+ Format"} { ++ set file [file nativename [tk_chooseDirectory -title "OpenFOAM 1.5+ Mesh Export - Select Case Directory"]] ++ } elseif { $exportfiletype == "OpenFOAM 1.5+ Compressed"} { ++ set file [file nativename [tk_chooseDirectory -title "OpenFOAM 1.5+ Mesh Export - Select Case Directory"]] ++ } else { ++# set file [tk_getSaveFile -filetypes "{ \"$exportfiletype\" {$extension} }" ] ++ set file [tk_getSaveFile -filetypes "{ \"$exportfiletype\" {*}}" ] ++ } ++ ++ if {$file != ""} { ++ Ng_ExportMesh $file $exportfiletype ++ } ++ } ++ ++.ngmenu.file add cascade -label "Export Filetype" -menu .ngmenu.file.filetype ++ ++menu .ngmenu.file.filetype ++ ++ ++.ngmenu.file add separator ++ ++ ++.ngmenu.file add command -label "Save Solution..." \ ++ -command { ++ set types { ++ {"Solution File" {.sol} } ++ {"VTK File" {.vtk} } ++ } ++ set file [tk_getSaveFile -filetypes $types ] ++ if {$file != ""} { ++ Ng_SaveSolution $file ++ } ++ } ++#-defaultextension ".sol" ] ++ ++.ngmenu.file add command -label "Import Solution..." \ ++ -command { ++ set types { {"Solution File" {.sol} } } ++ set file [tk_getOpenFile -filetypes $types -defaultextension ".sol" ] ++ if {$file != ""} { ++ Ng_ImportSolution $file ++ set selectvisual solution ++ Ng_SetVisParameters ++ redraw ++ } ++ } ++ ++ ++ ++ ++ ++ ++set demostarttime [clock clicks -millisecond] ++set stopdemo 0 ++proc demoredraw { } { ++ global demostarttime ++ global stopdemo ++ set curtime [clock clicks -millisecond] ++ set result [ Ng_DemoSetTime [expr $curtime - $demostarttime] ] ++ redraw ++ global videoactive ++ if { $videoactive == 1 } { ++ puts "addframe" ++ .ndraw Ng_VideoClip addframe ++ } ++ if { $result == 0 && $stopdemo == 0 } { ++ after 1 { demoredraw } ++ } ++} ++.ngmenu.file add command -label "Show Demo..." \ ++ -command { ++ set types { {"Demo File" {.dem} } } ++ set file [tk_getOpenFile -filetypes $types -defaultextension ".dem" ] ++ if {$file != ""} { ++ Ng_ShowDemo $file ++ set demostarttime [clock clicks -millisecond] ++ set stopdemo 0 ++ demoredraw ++ } ++ } ++ ++ ++ ++ ++.ngmenu.file add separator ++ ++.ngmenu.file add command -label "Snapshot..." \ ++ -command { ++ set types { ++ {"JPG file" {.jpg} } ++ {"GIF file" {.gif} } ++ {"PPM file" {.ppm} } ++ } ++ set file [tk_getSaveFile -filetypes $types] ++# -defaultextension ".ppm"] ++ if {$file != ""} { ++ .ndraw Ng_SnapShot $file } ++ } ++ ++ ++.ngmenu.file add cascade -label "Video clip" -menu .ngmenu.file.video ++menu .ngmenu.file.video ++ ++set videoactive 0 ++.ngmenu.file.video add command -label "start..." \ ++ -command { ++ set types { ++ {"MPG file" {.mpg} } ++ } ++ set file [tk_getSaveFile -filetypes $types] ++ if {$file != ""} { ++ .ndraw Ng_VideoClip init $file ++ global videoactive ++ set videoactive 1 ++ } ++ } ++ ++.ngmenu.file.video add command -label "add frame..." \ ++ -command {.ndraw Ng_VideoClip addframe } ++ ++.ngmenu.file.video add command -label "one cycle" \ ++ -command { ++ set visoptions.redrawperiodic 1 ++ for { set j 0 } { $j < 100 } { incr j } { ++ puts "j = $j" ++ Ng_Vis_Set time [expr (1000 * $j / 100)] ++ redraw ++ .ndraw Ng_VideoClip addframe ++ after 200 ++ } ++ } ++ ++.ngmenu.file.video add command -label "finalize..." \ ++ -command { ++ .ndraw Ng_VideoClip finalize ++ global videoactive ++ set videoactive 0 ++ } ++ ++ ++ ++.ngmenu.file add command -label "Save Options" \ ++ -command { saveoptions } ++ ++ ++ ++ ++.ngmenu.file add separator ++ ++ ++## herbert tcl load menue ++# .ngmenu.file add command -label "Run tests ..." \ ++\# -command { runtestdialog } ++## ++# .ngmenu.file add separator ++ ++.ngmenu.file add command -label "Quit" -accelerator "" \ ++ -command { ++ puts "Thank you for using $progname"; ++ ++ if { [catch { unload libngsolve[info sharedlibextension] ngsolve } result ] } { ++ # puts "cannot unload ngsolve" ++ # puts "error: $result" ++ } ++ ++ Ng_Exit; ++ destroy . ++ } ++# exit ++ ++ ++##################################################### ++# # ++# Menu Mesh # ++# # ++##################################################### ++ ++menu .ngmenu.mesh ++.ngmenu.mesh add command -label "Generate Mesh" -accelerator "" \ ++ -command { ++ set selectvisual mesh ++ Ng_SetVisParameters ++ Ng_GenerateMesh ${meshoptions.firststep} ${meshoptions.laststep} ++ Ng_ReadStatus ++ redraw ++ } ++ ++.ngmenu.mesh add command -label "Stop Meshing" \ ++ -command { Ng_StopMeshing } ++ ++.ngmenu.mesh add command -label "Meshing Options..." \ ++ -command meshingoptionsdialog ++ ++ ++.ngmenu.mesh add separator ++ ++.ngmenu.mesh add command -label "Delete Mesh" \ ++ -command { Ng_New mesh; Ng_ReadStatus; redraw } ++ ++.ngmenu.mesh add command -label "Delete Vol Mesh" \ ++ -command { Ng_DeleteVolMesh; Ng_ReadStatus; redraw } ++ ++ ++.ngmenu.mesh add command -label "Mesh Info" \ ++ -command { ++ set dim [Ng_MeshInfo dim] ++ set np [Ng_MeshInfo np] ++ set ne [Ng_MeshInfo ne] ++ set nse [Ng_MeshInfo nse] ++ set nseg [Ng_MeshInfo nseg] ++ set bbox [Ng_MeshInfo bbox] ++ tk_messageBox -message "Dimension: $dim\nPoints: $np\nElements: $ne\nSurface Els: $nse\nSegments: $nseg\nxmin [lindex $bbox 0] xmax [lindex $bbox 1]\nymin [lindex $bbox 2] ymax [lindex $bbox 3]\nzmin [lindex $bbox 4] zmax [lindex $bbox 5]" ++ } ++ ++ ++.ngmenu.mesh add command -label "Mesh Quality" \ ++ -command { ++ set inplanemin 0 ++ set inplanemax 0 ++ set betplanemin 0 ++ set betplanemax 0 ++ Ng_MeshQuality inplanemin inplanemax betplanemin betplanemax ++ puts "Triangle angles : $inplanemin - $inplanemax" ++ puts "Tet angles : $betplanemin - $betplanemax" ++ tk_messageBox -message "Triangle angles : $inplanemin - $inplanemax \n Tet angles : $betplanemin - $betplanemax" ++ } ++ ++# .ngmenu.mesh add command -label "Quality Plot" \ ++# -command { qualityviewdialog 1 } ++ ++ ++ ++ ++.ngmenu.mesh add command -label "Check Surface Mesh" \ ++ -command { Ng_CheckSurfaceMesh } ++.ngmenu.mesh add command -label "Check Volume Mesh" \ ++ -command { Ng_CheckVolumeMesh } ++ ++.ngmenu.mesh add command -label "Edit Boundary Conditions..." \ ++ -command { bcpropdialog } ++ ++if { $userlevel == 3 } { ++ .ngmenu.mesh add command -label "Mesh Doctor..." \ ++ -command { meshdoctordialog } ++} ++ ++.ngmenu.mesh add command -label "METIS Mesh Partitioning..." \ ++ -command { METISdialog } ++ ++.ngmenu.mesh add separator ++ ++.ngmenu.mesh add command -label "Analyze Geometry" \ ++ -command { Ng_GenerateMesh ag ag; Ng_ReadStatus; redraw } ++.ngmenu.mesh add command -label "Mesh Edges" \ ++ -command { Ng_GenerateMesh me me; Ng_ReadStatus; redraw } ++.ngmenu.mesh add command -label "Mesh Surface" \ ++ -command { set selectvisual mesh; Ng_SetVisParameters; \ ++ Ng_GenerateMesh ms ms; Ng_ReadStatus; redraw } ++ ++.ngmenu.mesh add command -label "Optimize Surface" \ ++ -command { Ng_GenerateMesh os os cmsmSm; redraw } ++ ++.ngmenu.mesh add cascade -label "Surface Optim. Step" -menu .ngmenu.mesh.surfoptstep ++ ++menu .ngmenu.mesh.surfoptstep ++.ngmenu.mesh.surfoptstep add command -label "Mesh Smoothing" \ ++ -command { Ng_GenerateMesh os os m; redraw} ++.ngmenu.mesh.surfoptstep add command -label "Edge swapping (topologic)" \ ++ -command { Ng_GenerateMesh os os s; redraw} ++.ngmenu.mesh.surfoptstep add command -label "Edge swapping (metric)" \ ++ -command { Ng_GenerateMesh os os S; redraw} ++.ngmenu.mesh.surfoptstep add command -label "Combine points" \ ++ -command { Ng_GenerateMesh os os c; redraw} ++ ++ ++.ngmenu.mesh add separator ++.ngmenu.mesh add command -label "Mesh Volume" \ ++ -command { Ng_GenerateMesh mv mv; Ng_ReadStatus } ++.ngmenu.mesh add command -label "Optimize Volume" \ ++ -command { Ng_GenerateMesh ov ov; Ng_ReadStatus } ++.ngmenu.mesh add command -label "Smooth Opt Volume" \ ++ -command { Ng_GenerateMesh ov ov m; Ng_ReadStatus } ++.ngmenu.mesh add command -label "Smooth Opt Volume Jacobian" \ ++ -command { Ng_GenerateMesh ov ov j; Ng_ReadStatus } ++ ++ ++ ++##################################################### ++# # ++# Menu Geometry # ++# # ++##################################################### ++ ++menu .ngmenu.geometry ++ ++ ++ ++ ++ ++ ++ ++##################################################### ++# # ++# Menu View # ++# # ++##################################################### ++ ++menu .ngmenu.view ++.ngmenu.view add command -label "Zoom all" \ ++ -command { Ng_ZoomAll; redraw } ++.ngmenu.view add command -label "Center" \ ++ -command { Ng_Center; redraw } ++ ++.ngmenu.view add command -label "x-y plane" \ ++ -command { Ng_StandardRotation xy; redraw } ++.ngmenu.view add command -label "y-x plane" \ ++ -command { Ng_StandardRotation yx; redraw } ++.ngmenu.view add command -label "x-z plane" \ ++ -command { Ng_StandardRotation xz; redraw } ++.ngmenu.view add command -label "z-x plane" \ ++ -command { Ng_StandardRotation zx; redraw } ++.ngmenu.view add command -label "y-z plane" \ ++ -command { Ng_StandardRotation yz; redraw } ++.ngmenu.view add command -label "z-y plane" \ ++ -command { Ng_StandardRotation zy; redraw } ++ ++.ngmenu.view add command -label "Viewing Options..." \ ++ -command { viewingoptionsdialog; redraw } ++.ngmenu.view add command -label "Clipping Plane..." \ ++ -command { clippingdialog; redraw } ++.ngmenu.view add command -label "Solution Data..." \ ++ -command { visual_dialog; redraw } ++.ngmenu.view add checkbutton -variable viewqualityplot \ ++ -label "Quality Plot" \ ++ -command { qualityviewdialog $viewqualityplot } ++.ngmenu.view add checkbutton -variable memuseplot \ ++ -label "Memory Usage" \ ++ -command { memusedialog $memuseplot } ++ ++ ++ ++ ++##################################################### ++# # ++# Menu Refinement # ++# # ++##################################################### ++# ++# Mesh size menu ++# ++menu .ngmenu.meshsize ++.ngmenu.meshsize add command -label "Refine uniform" \ ++ -command { Ng_Refine; Ng_HighOrder ${options.elementorder}; Ng_ReadStatus; redraw } ++ ++.ngmenu.meshsize add command -label "Second Order" \ ++ -command { Ng_SecondOrder; Ng_ReadStatus; redraw } ++ ++.ngmenu.meshsize add command -label "Validate Second Order" \ ++ -command { Ng_ValidateSecondOrder; Ng_ReadStatus; redraw } ++ ++.ngmenu.meshsize add command -label "High Order" \ ++ -command { Ng_HighOrder ${options.elementorder}; Ng_ReadStatus; redraw } ++ ++.ngmenu.meshsize add separator ++ ++.ngmenu.meshsize add command -label "Refinement Dialog..." \ ++ -command { refinementdialog } ++.ngmenu.meshsize add command -label "Load Meshsize..." \ ++ -command { ++ set types { ++ {"Meshsize file" {.msz} } } ++ set file [tk_getOpenFile -filetypes $types] ++ if {$file != ""} { ++ Ng_LoadMeshSize $file; ++ } ++ } ++.ngmenu.meshsize add command -label "MS from Surf Mesh" \ ++ -command { Ng_MeshSizeFromSurfaceMesh } ++ ++ ++if { $userlevel == 3 } { ++.ngmenu.meshsize add command -label "Singular point ms" \ ++ -command { Ng_SingularPointMS; } ++ ++.ngmenu.meshsize add command -label "Singular edge ms" \ ++ -command { Ng_SingularEdgeMS; } ++ ++.ngmenu.meshsize add separator ++ ++set bisectfilename ""; ++ ++.ngmenu.meshsize add command -label "Bisection" \ ++ -command { Ng_ReadStatus; set oldnp 0; set newnp $status_np; ++# Ng_BisectCopyMesh; ++# Ng_Split2Tets; ++ Ng_ReadStatus; ++ ++ while { $oldnp < $newnp } { ++# if { $level == 0 } { ++# Ng_ExportMesh feppmesh.vol fepp; ++# } { ++# Ng_ExportMesh feppmesh$level feppml ++# } ++ set level [expr $level+1] ++ if { $bisectfilename == ""} { ++ Ng_Bisect; ++ } else { ++ Ng_Bisect $bisectfilename; ++ } ++# Ng_HighOrder ${options.elementorder} "noparallel" ++# Ng_Split2Tets; ++ Ng_ReadStatus; ++ redraw; ++ ++ if { $bisectfilename == ""} { ++ set oldnp $newnp; ++ set newnp $status_np; ++ puts "oldnp $oldnp newnp $newnp"; ++ } else { ++ set oldnp $newnp; ++ } ++ } ++ } ++# -command { Ng_Bisect; Ng_ReadStatus; redraw } ++# -command { exec netgen abc >outfile 2>errfile; Ng_ReadStatus; redraw } ++ ++} ++ ++.ngmenu.meshsize add command -label "Load Refinement Info..." \ ++ -command { ++ set types { ++ {"Refinement info" {.refine} }} ++ set bisectfilename [tk_getOpenFile -filetypes $types] ++ } ++ ++.ngmenu.meshsize add command -label "Z-Refinement" \ ++ -command { Ng_ZRefinement 2; Ng_ReadStatus; redraw } ++ ++ ++# .ngmenu.meshsize add command -label "hp-Refinement" \ ++\# -command { Ng_HPRefinement 4; Ng_ReadStatus; redraw } ++ ++.ngmenu.meshsize add cascade -label "hp-Refinement" -menu .ngmenu.meshsize.hpref ++menu .ngmenu.meshsize.hpref ++.ngmenu.meshsize.hpref add command -label "1 Level" \ ++ -command { Ng_HPRefinement 1; Ng_ReadStatus; redraw } ++.ngmenu.meshsize.hpref add command -label "2 Levels" \ ++ -command { Ng_HPRefinement 2; Ng_ReadStatus; redraw } ++.ngmenu.meshsize.hpref add command -label "3 Levels" \ ++ -command { Ng_HPRefinement 3; Ng_ReadStatus; redraw } ++.ngmenu.meshsize.hpref add command -label "4 Levels" \ ++ -command { Ng_HPRefinement 4; Ng_ReadStatus; redraw } ++.ngmenu.meshsize.hpref add command -label "5 Levels" \ ++ -command { Ng_HPRefinement 5; Ng_ReadStatus; redraw } ++.ngmenu.meshsize.hpref add command -label "6 Levels" \ ++ -command { Ng_HPRefinement 6; Ng_ReadStatus; redraw } ++.ngmenu.meshsize.hpref add command -label "7 Levels" \ ++ -command { Ng_HPRefinement 7; Ng_ReadStatus; redraw } ++.ngmenu.meshsize.hpref add command -label "8 Levels" \ ++ -command { Ng_HPRefinement 8; Ng_ReadStatus; redraw } ++.ngmenu.meshsize.hpref add command -label "9 Levels" \ ++ -command { Ng_HPRefinement 9; Ng_ReadStatus; redraw } ++.ngmenu.meshsize.hpref add command -label "10 Levels" \ ++ -command { Ng_HPRefinement 10; Ng_ReadStatus; redraw } ++ ++ ++.ngmenu.meshsize add command -label "Split to Tets" \ ++ -command { Ng_Split2Tets; Ng_ReadStatus; redraw } ++ ++ ++ ++ ++ ++##################################################### ++# # ++# Menu Special # ++# # ++##################################################### ++ ++menu .ngmenu.special ++.ngmenu.special add command -label "Prismatic Boundary Layer" \ ++ -command { Ng_GenerateBoundaryLayer; redraw } ++.ngmenu.special add command -label "Insert virtual boundary layer" \ ++ -command { Ng_InsertVirtualBL; redraw } ++.ngmenu.special add command -label "Cut off and combine with other" \ ++ -command { ++ set types { {"Mesh file" {.vol} } } ++ set file [tk_getOpenFile -filetypes $types] ++ if {$file != ""} { ++ Ng_CutOffAndCombine $file; } ++ redraw ++ } ++.ngmenu.special add command -label "Helmholtz Mesh grading" \ ++ -command { Ng_HelmholtzMesh; } ++.ngmenu.special add cascade -label "Colour-based boundary conditions" -menu .ngmenu.special.colbndcond ++ ++menu .ngmenu.special.colbndcond ++ .ngmenu.special.colbndcond add command -label "Inspect Colours in mesh" \ ++ -command { currmeshcoloursdialog } ++ ++ .ngmenu.special.colbndcond add separator ++ ++ .ngmenu.special.colbndcond add command -label "Automatic Assignment" \ ++ -command { Ng_AutoColourBcProps auto; redraw } ++ ++ .ngmenu.special.colbndcond add separator ++ ++ set ocffile [file join ${ngdir} netgen.ocf]; ++ ++ .ngmenu.special.colbndcond add command -label "Select Colour Profile file" \ ++ -command { ++ set types { {"Colour Profile file" {.ocf} } } ++ set ocffile [tk_getOpenFile -filetypes $types] ++ if {$ocffile == ""} { ++ set ocffile [file join ${ngdir} netgen.ocf]; } ++ } ++ .ngmenu.special.colbndcond add command -label "Profile based Assignment" \ ++ -command { Ng_AutoColourBcProps profile ${ocffile}; redraw } ++ ++ ++# menu .mbar.stl.menu ++# .mbar.stl.menu add command -label "STL options" \ ++# -command { stloptionsdialog; } ++#.mbar.stl.menu add command -label "STL Doctor" \ ++# -command { stldoctordialog; } ++ ++ ++##################################################### ++# # ++# Menu Help # ++# # ++##################################################### ++ ++ ++ ++ ++menu .ngmenu.help ++# .ngmenu.help add command -label "Ng Help..." \ ++\# -command { help_main } ++# .ngmenu.view add checkbutton -variable showsensitivehelp \ ++# -label "Sensitve Help" \ ++# -command { sensitivehelpdialog $showsensitivehelp } ++.ngmenu.view add checkbutton -label "Help Line" -variable showhelpline \ ++ -command { ++ if { $showhelpline == 1} { ++ pack .helpline -before .statbar -side bottom -fill x -padx 3p ++ } { ++ pack forget .helpline ++ } ++} ++ ++.ngmenu.help add command -label "About..." \ ++ -command { ++tk_messageBox -message "This is NETGEN \nmainly written by \nJoachim Schoeberl \nthanks to \nRobert Gaisbauer, Johannes Gerstmayr, Philippose Rajan" ++} ++ ++# tk_menuBar .mbar .mbar.file .mbar.mesh .mbar.test .mbar.help ++# focus .mbar ++ ++ ++ ++ ++##################################################### ++# # ++# Button bar # ++# # ++##################################################### ++ ++frame .bubar -relief raised -bd 2 ++pack .bubar -side top -fill x ++ ++button .bubar.testb -text "Test" -command { Ng_SaveGeometry } ++button .bubar.surfm -text "Generate Mesh" -command \ ++ { ++ .ngmenu.mesh invoke "Generate Mesh"; ++# set selectvisual mesh; ++# Ng_SetVisParameters; ++# Ng_GenerateMesh ${meshoptions.firststep} ${meshoptions.laststep} ++# redraw ++ } ++button .bubar.stopm -text "Stop" -command \ ++ { ++ # Ng_StopMeshing; ++ set multithread_terminate 1; ++ set stopdemo 1; ++ } ++button .bubar.exitb -text "Quit" \ ++ -command { ++ set ans [tk_messageBox -title "Quit Netgen?" -message "Do you really want to quit Netgen?" -type yesno -default "no" -icon question] ++ if { $ans == "yes" } { ++ .ngmenu.file invoke "Quit"; ++ } ++ } ++pack .bubar.exitb .bubar.surfm .bubar.stopm -side left ++ ++#button .bubar.scan -text "Scan" \ ++# -command { Ng_ParseGeometry; set selectvisual geometry; Ng_SetVisParameters; redraw } ++ ++button .bubar.zoomall -text "Zoom All" \ ++ -command { Ng_ZoomAll; redraw } ++ ++button .bubar.center -text "Center" \ ++ -command { Ng_Center; redraw } ++ ++# tk_optionMenu .bubar.modesel drawmode "rotate" "move " "zoom " ++tixOptionMenu .bubar.modesel \ ++ -options { ++ label.width 0 ++ label.anchor e ++ menubutton.width 6 ++ } \ ++ -variable drawmode ++ ++.bubar.modesel add command rotate -label Rotate ++.bubar.modesel add command move -label Move ++.bubar.modesel add command zoom -label Zoom ++ ++ ++ ++set viewvals { geometry specpoints mesh solution} ++if { $userlevel == 3} { ++ set viewvals { geometry mesh specpoints surfmeshing modelview solution} ++} ++ ++set viewvallabs(cross) "Cross" ++set viewvallabs(geometry) "Geometry" ++set viewvallabs(mesh) "Mesh" ++set viewvallabs(specpoints) "Edges" ++set viewvallabs(surfmeshing) "Mesh Gen" ++set viewvallabs(modelview) "Modeller" ++set viewvallabs(solution) "Solution" ++ ++tixOptionMenu .bubar.selview \ ++ -options { ++ label.width 0 ++ label.anchor e ++ menubutton.width 10 ++ } \ ++ ++foreach viewv $viewvals { ++ .bubar.selview add command $viewv -label $viewvallabs($viewv) ++} ++ ++ ++ ++.bubar.selview config -variable selectvisual ++.bubar.selview config -command { Ng_SetVisParameters; redraw } ++ ++ ++pack .bubar.modesel -side right ++pack forget .bubar.modesel ++pack .bubar.center .bubar.zoomall .bubar.selview -side right ++ ++.ngmenu.view add checkbutton -variable viewrotatebutton \ ++ -label "Enable LeftButton Selection" \ ++ -command { ++ if { $viewrotatebutton } { ++ pack .bubar.modesel -side right ++ } { ++ pack forget .bubar.modesel ++ } ++ } ++ ++ ++ ++ ++##################################################### ++# # ++# Status bar # ++# # ++##################################################### ++ ++label .helpline -text "None" ++pack forget .helpline -side bottom -fill x ++ ++frame .statbar -relief flat -bd 2 ++pack .statbar -side bottom -fill x ++ ++label .statbar.ptslabel -text "Points: " ++label .statbar.ptsval -textvariable status_np ++label .statbar.elslabel -text " Elements: " ++label .statbar.elsval -textvariable status_ne ++label .statbar.selslabel -text " Surf Elements: " ++label .statbar.selsval -textvariable status_nse ++# label .statbar.memlabel -text " Mem: " ++# label .statbar.memval -textvariable mem_moveable ++label .statbar.task -textvariable status_task ++ ++pack .statbar.ptslabel .statbar.ptsval -side left -ipady 3p ++pack .statbar.elslabel .statbar.elsval -side left -ipady 3p ++pack .statbar.selslabel .statbar.selsval -side left -ipady 3p ++ ++# if { $userlevel == 3 } { ++# pack .statbar.memlabel .statbar.memval -side left -ipady 3p ++# } ++ ++ ++tixMeter .statbar.per -value 0 -text 0% ++.statbar.per configure -fillcolor blue ++ ++pack .statbar.per -side right ++pack .statbar.task -side right -ipady 4 ++ ++set qualbaraxis(0) 0 ++set qualbar(0) 0 ++set qualbarnull(0) 0 ++ ++ ++ ++proc timer2 { } { ++ global status_np ++ global status_ne ++ global status_nse ++ global multithread_running ++ global multithread_redraw ++ global status_working ++ global status_task ++ global status_percent ++ global status_tetqualclasses ++ ++ ++ Ng_ReadStatus ++ ++ if { $multithread_redraw == 1 } { ++ set multithread_redraw 0; ++ redraw; ++ ++ global videoactive ++ if { $videoactive == 1 } { ++ puts "addframe" ++ .ndraw Ng_VideoClip addframe ++ } ++ } ++ ++ # global mem_moveable ++ # set mem_moveable [Ng_MemInfo moveable] ++ ++ ++ .statbar.per config -value [expr $status_percent/100] -text [format %2.1f [expr 0.1*int(10*$status_percent)]]% ++ ++ ++ if { $multithread_running } { ++ pack .statbar.per -side right -before .statbar.task -padx 6 ++ } { ++ pack forget .statbar.per ++ } ++ ++ ++ ++ # tet quality ++ if {[winfo exists .qualityview_dlg] == 1} { ++ ++ global qualbar ++ global qualbarnull ++ global qualbaraxis ++ ++ set maxval 0 ++ for {set i 0} {$i < 20} {incr i} { ++ if {[lindex $status_tetqualclasses $i] > $maxval} { ++ set maxval [lindex $status_tetqualclasses $i] ++ } ++ } ++ ++ set ubound 1 ++ while { $ubound < $maxval } { ++ set ubound [expr {10 * $ubound}] ++ } ++ if { $ubound/5 > $maxval } { ++ set ubound [expr $ubound/5] ++ } ++ if { $ubound/2 > $maxval } { ++ set ubound [expr $ubound/2] ++ } ++ ++ ++ ++ for {set i 1} {$i <= 5} {incr i} { ++ # global qualbaraxis($i) ++ ++ set value [expr { $i * $ubound / 5 }] ++ .qualityview_dlg.c dchars $qualbaraxis($i) 0 end ++ .qualityview_dlg.c insert $qualbaraxis($i) end $value ++ } ++ ++ ++ for {set i 0} {$i < 20} {incr i} { ++ set x1 [expr {100 + ($i*15) + 2}] ++ set x2 [expr {$x1+10}] ++ ++ set nbrs [lindex $status_tetqualclasses $i] ++ set y [expr (249 - (200 * $nbrs / $ubound ) )] ++ ++ # global qualbar($i) ++ .qualityview_dlg.c coords $qualbar($i) $x1 250 $x2 $y ++ ++# global qualbarnull($i) ++ if { $nbrs == 0 } { ++ .qualityview_dlg.c itemconfigure $qualbarnull($i) -text 0 ++ } { ++ .qualityview_dlg.c itemconfigure $qualbarnull($i) -text "" ++ } ++ } ++ ++ } ++ ++ ++ if {[winfo exists .memuse_dlg] == 1} { ++ ++ global memmark ++ set usemb [Ng_MemInfo usedmb] ++ for {set i 0} {$i < [string length $usemb] } {incr i} { ++ if { [string index $usemb $i] == 0 } { ++ .memuse_dlg.c coords $memmark($i) [expr 50+$i] 68 [expr 50+$i] 70 ++ } { ++ .memuse_dlg.c coords $memmark($i) [expr 50+$i] 50 [expr 50+$i] 70 ++ } ++ } ++ ++ } ++ after 30 { timer2 } ++} ++# after 1000 { timer2 } ++timer2 ++ ++ ++ ++ ++proc bgerror { error } { ++ global errorInfo userlevel ++ if { $userlevel == 3} { ++ puts "ERROR: $error" ++ puts "errinfo: $errorInfo" ++ } ++ tk_messageBox -title "Error Message" -message $error -type ok ++} ++ ++ ++ ++ ++ ++ ++proc smh2 { menuitem } { ++ if {[catch {$menuitem entrycget active -label} name]} { ++ set name " " ++ } ++ show_menu_help $name ++ update idletasks ++} ++ ++bind .ngmenu <> { smh2 %W } ++bind .ngmenu.file <> { smh2 %W } ++bind .ngmenu.geometry <> { smh2 %W } ++bind .ngmenu.mesh <> { smh2 %W } ++bind .ngmenu.view <> { smh2 %W } ++bind .ngmenu.meshsize <> { smh2 %W } ++bind .ngmenu.special <> { smh2 %W } ++bind .ngmenu.help <> { smh2 %W } ++ ++ ++# command bindings ++bind . { .ngmenu.file invoke "Quit" } ++bind . { .ngmenu.file invoke "Load Geometry..." } ; ++bind . { .ngmenu.file invoke "Load Mesh..." } ; ++bind . { .ngmenu.file invoke "Save Mesh..." } ; ++bind . { .ngmenu.file activate "Recent Files" } ; ++bind .

{ newprimitivedialog } ; # ++bind .

{ editprimitivedialog } ++bind . { newsoliddialog } ++bind . { .ngmenu.mesh invoke "Generate Mesh" } ; ++ ++ ++ ++ ++ +diff -Naur netgen-5.3.1_SRC_orig/ng/netgen.ocf netgen-5.3.1_SRC_modif/ng/netgen.ocf +--- netgen-5.3.1_SRC_orig/ng/netgen.ocf 2014-08-29 13:54:01.000000000 +0400 ++++ netgen-5.3.1_SRC_modif/ng/netgen.ocf 2018-03-01 15:45:35.126037317 +0300 +@@ -1,32 +1,32 @@ +-# Netgen Mesher +-# Boundary Condition Colour Profile +-# +-# Name: netgen.ocf +-# +-# Description: Netgen default colour +-# profile file for colour based automatic +-# assignment of boundary condition numbers +-# +-# Format: +-# [boundary_colours] (mandatory keyword) +-# +-# +-# +-# .... +-# .... +-# NOTE: +-# * Currently, the default Boundary +-# Condition number assigned to faces without +-# any colour defined is "1" +-# * Boundary Condition number "0" is invalid, +-# and should not be used +- +-boundary_colours +-7 +-2 0.0000 0.0000 0.0000 +-3 1.0000 0.0000 0.0000 +-4 0.0000 0.0000 1.0000 +-5 1.0000 1.0000 0.0000 +-6 0.0000 1.0000 1.0000 +-7 1.0000 0.0000 1.0000 +-8 1.0000 1.0000 1.0000 ++# Netgen Mesher ++# Boundary Condition Colour Profile ++# ++# Name: netgen.ocf ++# ++# Description: Netgen default colour ++# profile file for colour based automatic ++# assignment of boundary condition numbers ++# ++# Format: ++# [boundary_colours] (mandatory keyword) ++# ++# ++# ++# .... ++# .... ++# NOTE: ++# * Currently, the default Boundary ++# Condition number assigned to faces without ++# any colour defined is "1" ++# * Boundary Condition number "0" is invalid, ++# and should not be used ++ ++boundary_colours ++7 ++2 0.0000 0.0000 0.0000 ++3 1.0000 0.0000 0.0000 ++4 0.0000 0.0000 1.0000 ++5 1.0000 1.0000 0.0000 ++6 0.0000 1.0000 1.0000 ++7 1.0000 0.0000 1.0000 ++8 1.0000 1.0000 1.0000 +diff -Naur netgen-5.3.1_SRC_orig/ng/parameters.tcl netgen-5.3.1_SRC_modif/ng/parameters.tcl +--- netgen-5.3.1_SRC_orig/ng/parameters.tcl 2014-08-29 13:54:01.000000000 +0400 ++++ netgen-5.3.1_SRC_modif/ng/parameters.tcl 2018-03-01 15:45:35.126037317 +0300 +@@ -1,50 +1,50 @@ +-proc setgranularity { gran } { +-# +-# puts "set granularity $gran" +-# +- if {$gran == 6} { return } +- set gran [expr $gran - 1] +-# +- global options.curvaturesafety +- set surfcurvlist { 1 1.5 2 3 5 } +- set options.curvaturesafety [lindex $surfcurvlist $gran] +- +- global options.segmentsperedge +- set spelist { 0.3 0.5 1 2 3 } +- set options.segmentsperedge [lindex $spelist $gran] +- +- global stloptions.resthsurfcurvfac +- set surfcurvfaclist { 0.25 0.5 1 1.5 3 } +- set stloptions.resthsurfcurvfac [lindex $surfcurvfaclist $gran] +- +- global stloptions.resthchartdistfac +- set chartdistfaclist { 0.8 1 1.5 2 5 } +- set stloptions.resthchartdistfac [lindex $chartdistfaclist $gran] +- +- global stloptions.resthlinelengthfac +- set linelengthfaclist { 0.2 0.35 0.5 1.5 3 } +- set stloptions.resthlinelengthfac [lindex $linelengthfaclist $gran] +- +- global stloptions.resthcloseedgefac +- set closeedgefaclist { 0.5 1 2 3.5 5 } +- set stloptions.resthcloseedgefac [lindex $closeedgefaclist $gran] +- +- global stloptions.resthminedgelen +- set minedgelenlist { 0.002 0.02 0.2 1.0 2.0 5.0 10.0 } +- set stloptions.resthminedgelen [lindex $minedgelenlist $gran] +- +- global stloptions.resthedgeanglefac +- set edgeanglefaclist { 0.25 0.5 1 1.5 3 } +- set stloptions.resthedgeanglefac [lindex $edgeanglefaclist $gran] +- +- +- global stloptions.resthsurfmeshcurvfac +- set surfmeshcurvlist { 1 1.5 2 3 5 } +- set stloptions.resthsurfmeshcurvfac [lindex $surfmeshcurvlist $gran] +- +- +- global options.grading +- set gradinglist { 0.7 0.5 0.3 0.2 0.1 } +- set options.grading [lindex $gradinglist $gran] +- +-} ++proc setgranularity { gran } { ++# ++# puts "set granularity $gran" ++# ++ if {$gran == 6} { return } ++ set gran [expr $gran - 1] ++# ++ global options.curvaturesafety ++ set surfcurvlist { 1 1.5 2 3 5 } ++ set options.curvaturesafety [lindex $surfcurvlist $gran] ++ ++ global options.segmentsperedge ++ set spelist { 0.3 0.5 1 2 3 } ++ set options.segmentsperedge [lindex $spelist $gran] ++ ++ global stloptions.resthsurfcurvfac ++ set surfcurvfaclist { 0.25 0.5 1 1.5 3 } ++ set stloptions.resthsurfcurvfac [lindex $surfcurvfaclist $gran] ++ ++ global stloptions.resthchartdistfac ++ set chartdistfaclist { 0.8 1 1.5 2 5 } ++ set stloptions.resthchartdistfac [lindex $chartdistfaclist $gran] ++ ++ global stloptions.resthlinelengthfac ++ set linelengthfaclist { 0.2 0.35 0.5 1.5 3 } ++ set stloptions.resthlinelengthfac [lindex $linelengthfaclist $gran] ++ ++ global stloptions.resthcloseedgefac ++ set closeedgefaclist { 0.5 1 2 3.5 5 } ++ set stloptions.resthcloseedgefac [lindex $closeedgefaclist $gran] ++ ++ global stloptions.resthminedgelen ++ set minedgelenlist { 0.002 0.02 0.2 1.0 2.0 5.0 10.0 } ++ set stloptions.resthminedgelen [lindex $minedgelenlist $gran] ++ ++ global stloptions.resthedgeanglefac ++ set edgeanglefaclist { 0.25 0.5 1 1.5 3 } ++ set stloptions.resthedgeanglefac [lindex $edgeanglefaclist $gran] ++ ++ ++ global stloptions.resthsurfmeshcurvfac ++ set surfmeshcurvlist { 1 1.5 2 3 5 } ++ set stloptions.resthsurfmeshcurvfac [lindex $surfmeshcurvlist $gran] ++ ++ ++ global options.grading ++ set gradinglist { 0.7 0.5 0.3 0.2 0.1 } ++ set options.grading [lindex $gradinglist $gran] ++ ++} +diff -Naur netgen-5.3.1_SRC_orig/ng/variables.tcl netgen-5.3.1_SRC_modif/ng/variables.tcl +--- netgen-5.3.1_SRC_orig/ng/variables.tcl 2014-08-29 13:54:01.000000000 +0400 ++++ netgen-5.3.1_SRC_modif/ng/variables.tcl 2018-03-01 15:45:35.127037209 +0300 +@@ -1,706 +1,706 @@ +-# netgen global tcl-variables +- +-set drawmode rotate +-set selectvisual geometry +- +-set dirname . +-set loadgeomtypevar "All Geometry types" +- +-set basefilename filename +- +-set meshoptions.fineness 3 +-set meshoptions.firststep ag +-set meshoptions.laststep ov +-set options.memory 0 +- +-set options.localh 1 +-set options.delaunay 1 +-set options.checkoverlap 1 +-set options.checkoverlappingboundary 0 +-set options.checkchartboundary 1 +-set options.startinsurface 0 +-set options.blockfill 1 +-set options.debugmode 0 +-set options.dooptimize 1 +-set options.parthread 1 +-set options.elsizeweight 0.2 +-set options.secondorder 0 +-set options.elementorder 1 +-set options.quad 0 +-set options.inverttets 0 +-set options.inverttrigs 0 +-set options.autozrefine 0 +- +- +-set options.meshsize 1000 +-set options.minmeshsize 0 +- +-set options.curvaturesafety 2 +-set options.segmentsperedge 2 +-set options.meshsizefilename "" +-set options.badellimit 175 +-set options.optsteps2d 3 +-set options.optsteps3d 5 +-set options.opterrpow 2 +- +-set options.grading 0.5 +-set options.printmsg 2 +- +-set debug.slowchecks 0 +-set debug.debugoutput 0 +-set debug.haltexistingline 0 +-set debug.haltoverlap 0 +-set debug.haltsuccess 0 +-set debug.haltnosuccess 0 +-set debug.haltlargequalclass 0 +-set debug.haltsegment 0 +-set debug.haltnode 0 +-set debug.haltface 0 +-set debug.haltfacenr 0 +-set debug.haltsegmentp1 0 +-set debug.haltsegmentp2 0 +- +-set geooptions.drawcsg 1 +-set geooptions.detail 0.001 +-set geooptions.accuracy 1e-6 +-set geooptions.facets 20 +-set geooptions.minx -1000 +-set geooptions.miny -1000 +-set geooptions.minz -1000 +-set geooptions.maxx 1000 +-set geooptions.maxy 1000 +-set geooptions.maxz 1000 +- +-set viewqualityplot 0 +-set memuseplot 0 +-set viewrotatebutton 0 +-set showsensitivehelp 0 +-set showhelpline 0 +- +-set viewoptions.specpointvlen 0.3 +-set viewoptions.light.amb 0.3 +-set viewoptions.light.diff 0.7 +-set viewoptions.light.spec 1 +-set viewoptions.light.locviewer 0 +-set viewoptions.mat.shininess 50 +-set viewoptions.mat.transp 0.3 +-set viewoptions.colormeshsize 0 +-set viewoptions.whitebackground 1 +-set viewoptions.drawcoordinatecross 1 +-set viewoptions.drawcolorbar 1 +-set viewoptions.drawnetgenlogo 1 +-set viewoptions.stereo 0 +-set viewoptions.shrink 1 +- +-set viewoptions.drawfilledtrigs 1 +-set viewoptions.drawedges 0 +-set viewoptions.drawbadels 0 +-set viewoptions.centerpoint 0 +-set viewoptions.drawelement 0 +-set viewoptions.drawoutline 1 +-set viewoptions.drawtets 0 +-set viewoptions.drawtetsdomain 0 +-set viewoptions.drawprisms 0 +-set viewoptions.drawpyramids 0 +-set viewoptions.drawhexes 0 +-set viewoptions.drawidentified 0 +-set viewoptions.drawpointnumbers 0 +-set viewoptions.drawedgenumbers 0 +-set viewoptions.drawfacenumbers 0 +-set viewoptions.drawelementnumbers 0 +-set viewoptions.drawdomainsurf 0 +- +-set viewoptions.drawededges 1 +-set viewoptions.drawedpoints 1 +-set viewoptions.drawedpointnrs 0 +-set viewoptions.drawedtangents 0 +-set viewoptions.drawededgenrs 0 +-set viewoptions.drawmetispartition 0 +- +-set viewoptions.drawcurveproj 0 +-set viewoptions.drawcurveprojedge 1 +- +-set viewoptions.clipping.nx 0 +-set viewoptions.clipping.ny 1 +-set viewoptions.clipping.nz 0 +-set viewoptions.clipping.dist 0 +-set viewoptions.clipping.dist2 0 +-set viewoptions.clipping.enable 0 +-set viewoptions.clipping.onlydomain 0 +-set viewoptions.clipping.notdomain 0 +- +-set viewoptions.usecentercoords 0 +-set viewoptions.centerx 0 +-set viewoptions.centery 0 +-set viewoptions.centerz 0 +- +-set viewoptions.drawspecpoint 0 +-set viewoptions.specpointx 0 +-set viewoptions.specpointy 0 +-set viewoptions.specpointz 0 +- +- +-set stloptions.showtrias 0 +-set stloptions.showfilledtrias 1 +-set stloptions.showedges 1 +-set stloptions.showmarktrias 0 +-set stloptions.showactivechart 0 +-set stloptions.yangle 30 +-set stloptions.contyangle 20 +-set stloptions.edgecornerangle 60 +-set stloptions.chartangle 15 +-set stloptions.outerchartangle 70 +-set stloptions.usesearchtree 0 +-set stloptions.chartnumber 1 +-set stloptions.charttrignumber 1 +-set stloptions.chartnumberoffset 0 +- +-set stloptions.atlasminh 0.1 +-set stloptions.resthsurfcurvfac 2 +-set stloptions.resthsurfcurvenable 0 +-set stloptions.resthatlasfac 2 +-set stloptions.resthatlasenable 1 +-set stloptions.resthchartdistfac 1.2 +-set stloptions.resthchartdistenable 1 +-set stloptions.resthlinelengthfac 0.5 +-set stloptions.resthlinelengthenable 1 +-set stloptions.resthcloseedgefac 1 +-set stloptions.resthcloseedgeenable 1 +-set stloptions.resthminedgelen 0.01 +-set stloptions.resthminedgelenenable 1 +-set stloptions.resthedgeanglefac 1 +-set stloptions.resthedgeangleenable 0 +-set stloptions.resthsurfmeshcurvfac 1 +-set stloptions.resthsurfmeshcurvenable 0 +-set stloptions.recalchopt 1 +- +-set stldoctor.drawmeshededges 1 +-set stldoctor.geom_tol_fact 0.000001 +-set stldoctor.useexternaledges 0 +-set stldoctor.showfaces 0 +-set stldoctor.conecheck 1 +-set stldoctor.spiralcheck 1 +-set stldoctor.selecttrig 0 +-set stldoctor.selectmode 1 +-set stldoctor.longlinefact 0 +-set stldoctor.showexcluded 1 +-set stldoctor.edgeselectmode 0 +-set stldoctor.nodeofseltrig 1 +-set stldoctor.showtouchedtrigchart 0 +-set stldoctor.showedgecornerpoints 0 +-set stldoctor.showmarkedtrigs 1 +-set stldoctor.dirtytrigfact 0.01 +-set stldoctor.smoothangle 90 +-set stldoctor.selectwithmouse 1 +-set stldoctor.showvicinity 0 +-set stldoctor.vicinity 50 +-set stldoctor.smoothnormalsweight 0.2 +- +-set occoptions.showvolumenr 0 +-set occoptions.showsurfaces 1 +-set occoptions.showedges 1 +-set occoptions.showsolidnr 0 +-set occoptions.showsolidnr2 0 +-set occoptions.visproblemfaces 0 +-set occoptions.zoomtohighlightedentity 0 +-set occoptions.deflection 1 +-set occoptions.tolerance 1e-3 +-set occoptions.fixsmalledges 1 +-set occoptions.fixspotstripfaces 1 +-set occoptions.sewfaces 1 +-set occoptions.makesolids 1 +-set occoptions.splitpartitions 0 +- +-set meshdoctor.active 0 +-set meshdoctor.markedgedist 1 +- +- +-# variablenname mit punkt problematisch! +-set status_np 0 +-set status_ne 0 +-set status_nse 0 +-set status_working " " +-set status_task " " +-set status_percent 0 +-set status_filename 0 +-set status_tetqualclasses "10 20 30 40 10 20 30 40 10 20 30 40 10 20 30 40 10 20 30 40" +- +-set exportfiletype "Neutral Format" +- +-set preproc.facenr 0 +-set preproc.selectmode query +-set preproc.numtrig 0 +- +-set mem_moveable 0 +- +- +-set multithread_pause 0 +-set multithread_testmode 0 +-set multithread_redraw 0 +-set multithread_drawing 0 +-set multithread_terminate 0 +-set multithread_running 0 +- +-set level 0 +- +- +-set tablesforoutput {} +- +- +- +-set optlist { +- options.localh +- options.delaunay +- options.checkoverlap +- options.startinsurface +- options.blockfill +- options.dooptimize +- options.elsizeweight +- options.meshsize +- options.minmeshsize +- options.curvaturesafety +- options.optsteps2d +- options.optsteps3d +- options.secondorder +-} +- +- +-set visoptions.usetexture 1 +-set visoptions.invcolor 0 +-set visoptions.imaginary 0 +-set visoptions.lineartexture 0 +-set visoptions.numtexturecols 16 +-set visoptions.showclipsolution 1 +-set visoptions.showsurfacesolution 0 +-set visoptions.drawfieldlines 0 +-set visoptions.drawpointcurves 1 +-set visoptions.numfieldlines 100 +-set visoptions.fieldlinesrandomstart 0 +-set visoptions.fieldlinesstartarea box +-set visoptions.fieldlinesstartareap1x 1 +-set visoptions.fieldlinesstartareap1y 1 +-set visoptions.fieldlinesstartareap1z 1 +-set visoptions.fieldlinesstartareap2x 0 +-set visoptions.fieldlinesstartareap2y 0 +-set visoptions.fieldlinesstartareap2z 0 +-set visoptions.fieldlinesstartface -1 +-set visoptions.fieldlinesfilename none +-set visoptions.fieldlinestolerance 0.0005 +-set visoptions.fieldlinesrktype crungekutta +-set visoptions.fieldlineslength 0.5 +-set visoptions.fieldlinesmaxpoints 500 +-set visoptions.fieldlinesthickness 0.0015 +-set visoptions.fieldlinesvecfunction none +-set visoptions.fieldlinesphase 0 +-set visoptions.fieldlinesonlyonephase 1 +- +- +-set visoptions.lineplotfile empty +-set visoptions.lineplotsource file +-set visoptions.lineplotusingx 0 +-set visoptions.lineplotusingy 1 +-set visoptions.lineplotautoscale 1 +-set visoptions.lineplotxmin 0 +-set visoptions.lineplotxmax 1 +-set visoptions.lineplotymin 0 +-set visoptions.lineplotymax 1 +-set visoptions.lineplotcurrentnum -1 +-set visoptions.lineplotinfos "" +-set visoptions.lineplotselected none +-set visoptions.lineplotselector "" +-set visoptions.lineplotcolor red +-set visoptions.lineplotsizex 500 +-set visoptions.lineplotsizey 400 +-set visoptions.lineplotselectedeval 0 +-set visoptions.lineplotdatadescr "column1 column2 column3" +-set visoptions.lineplotxcoordselector "" +-set visoptions.lineplotycoordselector "" +-set visoptions.evaluatefilenames none +-set visoptions.evaluatefiledescriptions none +- +- +-set visoptions.clipsolution none +-set visoptions.scalfunction none +-set visoptions.vecfunction none +-set visoptions.evaluate abs +-set visoptions.gridsize 20 +-set visoptions.xoffset 0 +-set visoptions.yoffset 0 +-set visoptions.autoscale 1 +-set visoptions.redrawperiodic 0 +-set visoptions.logscale 0 +-set visoptions.mminval 0 +-set visoptions.mmaxval 1 +-set visoptions.isolines 0 +-set visoptions.isosurf 0 +-set visoptions.subdivisions 1 +-set visoptions.numiso 10 +-set visoptions.autoredraw 0 +-set visoptions.autoredrawtime 2 +-set visoptions.simulationtime 0 +-set visoptions.multidimcomponent 0 +- +-# deform by vector function +-set visoptions.deformation 0 +-set visoptions.scaledeform1 1 +-set visoptions.scaledeform2 1 +- +-set parallel_netgen 0 +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +-set optfilename [file join $nguserdir ng.opt] +-set inifilename [file join $nguserdir ng.ini] +-set meshinifilename [file join $nguserdir ngmesh.ini] +- +-global env +-if { [llength [array names env NG_OPT]] == 1 } { +- if { [string length $env(NG_OPT)] > 0 } { +- set optfilename $env(NG_OPT) +- } +-} +- +-if { [file exists $optfilename] == 1 } { +- set datei [open $optfilename r] +- while { [gets $datei line] >= 0 } { +- set [lindex $line 0] [lindex $line 1] +- } +- close $datei +-} { +- puts "optfile $optfilename does not exist - using default values" +-} +- +- +- +- +-proc saveoptions { } { +- uplevel 1 { +- set file $optfilename +- +- if {$file != ""} { +- set datei [open $file w] +- puts $datei "dirname ${dirname}" +- puts $datei "loadgeomtypevar \"${loadgeomtypevar}\"" +- puts $datei "exportfiletype \"${exportfiletype}\"" +- puts $datei "meshoptions.fineness ${meshoptions.fineness}" +- puts $datei "meshoptions.firststep ${meshoptions.firststep}" +- puts $datei "meshoptions.laststep ${meshoptions.laststep}" +- puts $datei "options.localh ${options.localh}" +- puts $datei "options.delaunay ${options.delaunay}" +- puts $datei "options.checkoverlap ${options.checkoverlap}" +- puts $datei "options.checkchartboundary ${options.checkchartboundary}" +- puts $datei "options.startinsurface ${options.startinsurface}" +- puts $datei "options.blockfill ${options.blockfill}" +- puts $datei "options.debugmode ${options.debugmode}" +- puts $datei "options.dooptimize ${options.dooptimize}" +- puts $datei "options.parthread ${options.parthread}" +- puts $datei "options.elsizeweight ${options.elsizeweight}" +- puts $datei "options.secondorder ${options.secondorder}" +- puts $datei "options.elementorder ${options.elementorder}" +-# puts $datei "options.memory ${options.memory}" +- puts $datei "options.quad ${options.quad}" +- puts $datei "options.inverttets ${options.inverttets}" +- puts $datei "options.inverttrigs ${options.inverttrigs}" +- puts $datei "options.autozrefine ${options.autozrefine}" +- puts $datei "options.meshsize ${options.meshsize}" +- puts $datei "options.minmeshsize ${options.minmeshsize}" +- puts $datei "options.curvaturesafety ${options.curvaturesafety}" +- puts $datei "options.segmentsperedge ${options.segmentsperedge}" +- puts $datei "options.meshsizefilename ${options.meshsizefilename}" +- puts $datei "options.badellimit ${options.badellimit}" +- puts $datei "options.optsteps2d ${options.optsteps2d}" +- puts $datei "options.optsteps3d ${options.optsteps3d}" +- puts $datei "options.opterrpow ${options.opterrpow}" +- puts $datei "options.grading ${options.grading}" +- puts $datei "options.printmsg ${options.printmsg}" +- puts $datei "geooptions.drawcsg ${geooptions.drawcsg}" +- puts $datei "geooptions.detail ${geooptions.detail}" +- puts $datei "geooptions.accuracy ${geooptions.accuracy}" +- puts $datei "geooptions.facets ${geooptions.facets}" +- puts $datei "geooptions.minx ${geooptions.minx}" +- puts $datei "geooptions.miny ${geooptions.miny}" +- puts $datei "geooptions.minz ${geooptions.minz}" +- puts $datei "geooptions.maxx ${geooptions.maxx}" +- puts $datei "geooptions.maxy ${geooptions.maxy}" +- puts $datei "geooptions.maxz ${geooptions.maxz}" +- puts $datei "viewoptions.specpointvlen ${viewoptions.specpointvlen}" +- puts $datei "viewoptions.light.amb ${viewoptions.light.amb}" +- puts $datei "viewoptions.light.diff ${viewoptions.light.diff}" +- puts $datei "viewoptions.light.spec ${viewoptions.light.spec}" +- puts $datei "viewoptions.light.locviewer ${viewoptions.light.locviewer}" +- puts $datei "viewoptions.mat.shininess ${viewoptions.mat.shininess}" +- puts $datei "viewoptions.mat.transp ${viewoptions.mat.transp}" +- puts $datei "viewoptions.colormeshsize ${viewoptions.colormeshsize}" +- puts $datei "viewoptions.whitebackground ${viewoptions.whitebackground}" +- puts $datei "viewoptions.drawcolorbar ${viewoptions.drawcolorbar}" +- puts $datei "viewoptions.drawcoordinatecross ${viewoptions.drawcoordinatecross}" +- puts $datei "viewoptions.drawnetgenlogo ${viewoptions.drawnetgenlogo}" +- puts $datei "viewoptions.stereo ${viewoptions.stereo}" +- puts $datei "viewoptions.drawfilledtrigs ${viewoptions.drawfilledtrigs}" +- puts $datei "viewoptions.drawedges ${viewoptions.drawedges}" +- puts $datei "viewoptions.drawbadels ${viewoptions.drawbadels}" +- puts $datei "viewoptions.centerpoint ${viewoptions.centerpoint}" +- puts $datei "viewoptions.drawelement ${viewoptions.drawelement}" +- puts $datei "viewoptions.drawoutline ${viewoptions.drawoutline}" +- puts $datei "viewoptions.drawtets ${viewoptions.drawtets}" +- puts $datei "viewoptions.drawprisms ${viewoptions.drawprisms}" +- puts $datei "viewoptions.drawpyramids ${viewoptions.drawpyramids}" +- puts $datei "viewoptions.drawhexes ${viewoptions.drawhexes}" +- puts $datei "viewoptions.drawidentified ${viewoptions.drawidentified}" +- puts $datei "viewoptions.drawpointnumbers ${viewoptions.drawpointnumbers}" +- +- puts $datei "viewoptions.drawededges ${viewoptions.drawededges}" +- puts $datei "viewoptions.drawedpoints ${viewoptions.drawedpoints}" +- puts $datei "viewoptions.drawedpointnrs ${viewoptions.drawedpointnrs}" +- puts $datei "viewoptions.drawedtangents ${viewoptions.drawedtangents}" +- puts $datei "viewoptions.shrink ${viewoptions.shrink}" +- +- puts $datei "stloptions.showtrias ${stloptions.showtrias}" +- puts $datei "stloptions.showfilledtrias ${stloptions.showfilledtrias}" +- puts $datei "stloptions.showedges ${stloptions.showedges}" +- puts $datei "stloptions.showmarktrias ${stloptions.showmarktrias}" +- puts $datei "stloptions.showactivechart ${stloptions.showactivechart}" +- puts $datei "stloptions.yangle ${stloptions.yangle}" +- puts $datei "stloptions.contyangle ${stloptions.contyangle}" +- puts $datei "stloptions.edgecornerangle ${stloptions.edgecornerangle}" +- puts $datei "stloptions.chartangle ${stloptions.chartangle}" +- puts $datei "stloptions.outerchartangle ${stloptions.outerchartangle}" +- puts $datei "stloptions.usesearchtree ${stloptions.usesearchtree}" +- puts $datei "stloptions.chartnumber ${stloptions.chartnumber}" +- puts $datei "stloptions.charttrignumber ${stloptions.charttrignumber}" +- puts $datei "stloptions.chartnumberoffset ${stloptions.chartnumberoffset}" +- puts $datei "stloptions.atlasminh ${stloptions.atlasminh}" +- puts $datei "stloptions.resthsurfcurvfac ${stloptions.resthsurfcurvfac}" +- puts $datei "stloptions.resthsurfcurvenable ${stloptions.resthsurfcurvenable}" +- puts $datei "stloptions.resthatlasfac ${stloptions.resthatlasfac}" +- puts $datei "stloptions.resthatlasenable ${stloptions.resthatlasenable}" +- puts $datei "stloptions.resthchartdistfac ${stloptions.resthchartdistfac}" +- puts $datei "stloptions.resthchartdistenable ${stloptions.resthchartdistenable}" +- puts $datei "stloptions.resthlinelengthfac ${stloptions.resthlinelengthfac}" +- puts $datei "stloptions.resthlinelengthenable ${stloptions.resthlinelengthenable}" +- puts $datei "stloptions.resthminedgelen ${stloptions.resthminedgelen}" +- puts $datei "stloptions.resthminedgelenenable ${stloptions.resthminedgelenenable}" +- puts $datei "stloptions.resthcloseedgefac ${stloptions.resthcloseedgefac}" +- puts $datei "stloptions.resthcloseedgeenable ${stloptions.resthcloseedgeenable}" +- puts $datei "stloptions.resthedgeanglefac ${stloptions.resthedgeanglefac}" +- puts $datei "stloptions.resthedgeangleenable ${stloptions.resthedgeangleenable}" +- puts $datei "stloptions.resthsurfmeshcurvfac ${stloptions.resthsurfmeshcurvfac}" +- puts $datei "stloptions.resthsurfmeshcurvenable ${stloptions.resthsurfmeshcurvenable}" +- puts $datei "stloptions.recalchopt ${stloptions.recalchopt}" +- +- puts $datei "visoptions.subdivisions ${visoptions.subdivisions}" +- puts $datei "visoptions.autoredraw ${visoptions.autoredraw}" +- puts $datei "visoptions.autoredrawtime ${visoptions.autoredrawtime}" +- +- +- # trafo options +- # if exist trafooptions then ... +- if { [info exists trafooptions.solver] == 1 } { +- puts $datei "trafooptions.solver ${trafooptions.solver}" +- puts $datei "trafooptions.levels ${trafooptions.levels}" +- puts $datei "trafooptions.linits ${trafooptions.linits}" +- puts $datei "trafooptions.nonlinits ${trafooptions.nonlinits}" +- puts $datei "trafooptions.stabcurrent ${trafooptions.stabcurrent}" +- puts $datei "trafooptions.checkcond ${trafooptions.checkcond}" +- puts $datei "trafooptions.maxdirect ${trafooptions.maxdirect}" +- puts $datei "trafooptions.secondorder ${trafooptions.secondorder}" +- puts $datei "trafooptions.homogenizedcore ${trafooptions.homogenizedcore}" +- puts $datei "trafooptions.ordercore ${trafooptions.ordercore}" +- puts $datei "trafooptions.simplecurrents ${trafooptions.simplecurrents}" +- puts $datei "trafooptions.assemblecomplexmatrix ${trafooptions.assemblecomplexmatrix}" +- +- puts $datei "trafooptions.meshcasing ${trafooptions.meshcasing}" +- puts $datei "trafooptions.meshcore ${trafooptions.meshcore}" +- puts $datei "trafooptions.meshclumps ${trafooptions.meshclumps}" +- puts $datei "trafooptions.meshshields ${trafooptions.meshshields}" +- puts $datei "trafooptions.meshcoils ${trafooptions.meshcoils}" +- puts $datei "trafooptions.bcmdirectory ${trafooptions.bcmdirectory}" +- puts $datei "trafooptions.lossdensityfile ${trafooptions.lossdensityfile}" +- } +- +- if { [info exists smalltrafomodell.tankheight] == 1 } { +- puts $datei "smalltrafomodell.tankheight ${smalltrafomodell.tankheight}" +- puts $datei "smalltrafomodell.tankwidth ${smalltrafomodell.tankwidth}" +- puts $datei "smalltrafomodell.tanklength ${smalltrafomodell.tanklength}" +- puts $datei "smalltrafomodell.corewidth ${smalltrafomodell.corewidth}" +- puts $datei "smalltrafomodell.windowheight ${smalltrafomodell.windowheight}" +- puts $datei "smalltrafomodell.limbdistance ${smalltrafomodell.limbdistance}" +- puts $datei "smalltrafomodell.xposcore ${smalltrafomodell.xposcore}" +- puts $datei "smalltrafomodell.yposcore ${smalltrafomodell.yposcore}" +- puts $datei "smalltrafomodell.zposcore ${smalltrafomodell.zposcore}" +- puts $datei "smalltrafomodell.leakagefluxguidethickness ${smalltrafomodell.leakagefluxguidethickness}" +- puts $datei "smalltrafomodell.leakagefluxguidewidth ${smalltrafomodell.leakagefluxguidewidth}" +- puts $datei "smalltrafomodell.leakagefluxguidezposition ${smalltrafomodell.leakagefluxguidezposition}" +- puts $datei "smalltrafomodell.limbcoil.1 ${smalltrafomodell.limbcoil.1}" +- puts $datei "smalltrafomodell.ricoil.1 ${smalltrafomodell.ricoil.1}" +- puts $datei "smalltrafomodell.rocoil.1 ${smalltrafomodell.rocoil.1}" +- puts $datei "smalltrafomodell.zposcoil.1 ${smalltrafomodell.zposcoil.1}" +- puts $datei "smalltrafomodell.heightcoil.1 ${smalltrafomodell.heightcoil.1}" +- puts $datei "smalltrafomodell.currentcoil.1 ${smalltrafomodell.currentcoil.1}" +- puts $datei "smalltrafomodell.nturnscoil.1 ${smalltrafomodell.nturnscoil.1}" +- puts $datei "smalltrafomodell.limbcoil.2 ${smalltrafomodell.limbcoil.2}" +- puts $datei "smalltrafomodell.ricoil.2 ${smalltrafomodell.ricoil.2}" +- puts $datei "smalltrafomodell.rocoil.2 ${smalltrafomodell.rocoil.2}" +- puts $datei "smalltrafomodell.zposcoil.2 ${smalltrafomodell.zposcoil.2}" +- puts $datei "smalltrafomodell.heightcoil.2 ${smalltrafomodell.heightcoil.2}" +- puts $datei "smalltrafomodell.currentcoil.2 ${smalltrafomodell.currentcoil.2}" +- puts $datei "smalltrafomodell.nturnscoil.2 ${smalltrafomodell.nturnscoil.2}" +- puts $datei "smalltrafomodell.limbcoil.3 ${smalltrafomodell.limbcoil.3}" +- puts $datei "smalltrafomodell.ricoil.3 ${smalltrafomodell.ricoil.3}" +- puts $datei "smalltrafomodell.rocoil.3 ${smalltrafomodell.rocoil.3}" +- puts $datei "smalltrafomodell.zposcoil.3 ${smalltrafomodell.zposcoil.3}" +- puts $datei "smalltrafomodell.heightcoil.3 ${smalltrafomodell.heightcoil.3}" +- puts $datei "smalltrafomodell.currentcoil.3 ${smalltrafomodell.currentcoil.3}" +- puts $datei "smalltrafomodell.nturnscoil.3 ${smalltrafomodell.nturnscoil.3}" +- puts $datei "smalltrafomodell.limbcoil.4 ${smalltrafomodell.limbcoil.4}" +- puts $datei "smalltrafomodell.ricoil.4 ${smalltrafomodell.ricoil.4}" +- puts $datei "smalltrafomodell.rocoil.4 ${smalltrafomodell.rocoil.4}" +- puts $datei "smalltrafomodell.zposcoil.4 ${smalltrafomodell.zposcoil.4}" +- puts $datei "smalltrafomodell.heightcoil.4 ${smalltrafomodell.heightcoil.4}" +- puts $datei "smalltrafomodell.currentcoil.4 ${smalltrafomodell.currentcoil.4}" +- puts $datei "smalltrafomodell.nturnscoil.4 ${smalltrafomodell.nturnscoil.4}" +- puts $datei "smalltrafomodell.limbcoil.5 ${smalltrafomodell.limbcoil.5}" +- puts $datei "smalltrafomodell.ricoil.5 ${smalltrafomodell.ricoil.5}" +- puts $datei "smalltrafomodell.rocoil.5 ${smalltrafomodell.rocoil.5}" +- puts $datei "smalltrafomodell.zposcoil.5 ${smalltrafomodell.zposcoil.5}" +- puts $datei "smalltrafomodell.heightcoil.5 ${smalltrafomodell.heightcoil.5}" +- puts $datei "smalltrafomodell.currentcoil.5 ${smalltrafomodell.currentcoil.5}" +- puts $datei "smalltrafomodell.nturnscoil.5 ${smalltrafomodell.nturnscoil.5}" +- puts $datei "smalltrafomodell.limbcoil.6 ${smalltrafomodell.limbcoil.6}" +- puts $datei "smalltrafomodell.ricoil.6 ${smalltrafomodell.ricoil.6}" +- puts $datei "smalltrafomodell.rocoil.6 ${smalltrafomodell.rocoil.6}" +- puts $datei "smalltrafomodell.zposcoil.6 ${smalltrafomodell.zposcoil.6}" +- puts $datei "smalltrafomodell.heightcoil.6 ${smalltrafomodell.heightcoil.6}" +- puts $datei "smalltrafomodell.currentcoil.6 ${smalltrafomodell.currentcoil.6}" +- puts $datei "smalltrafomodell.nturnscoil.6 ${smalltrafomodell.nturnscoil.6}" +- puts $datei "smalltrafomodell.limbtest.1 ${smalltrafomodell.limbtest.1}" +- puts $datei "smalltrafomodell.heighttest.1 ${smalltrafomodell.heighttest.1}" +- puts $datei "smalltrafomodell.widthtest.1 ${smalltrafomodell.widthtest.1}" +- puts $datei "smalltrafomodell.rtest.1 ${smalltrafomodell.rtest.1}" +- puts $datei "smalltrafomodell.zpostest.1 ${smalltrafomodell.zpostest.1}" +- puts $datei "smalltrafomodell.edgeradiustest.1 ${smalltrafomodell.edgeradiustest.1}" +- puts $datei "smalltrafomodell.finetest.1 ${smalltrafomodell.finetest.1}" +- puts $datei "smalltrafomodell.conductivetest.1 ${smalltrafomodell.conductivetest.1}" +- puts $datei "smalltrafomodell.limbtest.2 ${smalltrafomodell.limbtest.2}" +- puts $datei "smalltrafomodell.heighttest.2 ${smalltrafomodell.heighttest.2}" +- puts $datei "smalltrafomodell.widthtest.2 ${smalltrafomodell.widthtest.2}" +- puts $datei "smalltrafomodell.rtest.2 ${smalltrafomodell.rtest.2}" +- puts $datei "smalltrafomodell.zpostest.2 ${smalltrafomodell.zpostest.2}" +- puts $datei "smalltrafomodell.edgeradiustest.2 ${smalltrafomodell.edgeradiustest.2}" +- puts $datei "smalltrafomodell.finetest.2 ${smalltrafomodell.finetest.2}" +- puts $datei "smalltrafomodell.conductivetest.2 ${smalltrafomodell.conductivetest.2}" +- puts $datei "smalltrafomodell.limbtest.3 ${smalltrafomodell.limbtest.3}" +- puts $datei "smalltrafomodell.heighttest.3 ${smalltrafomodell.heighttest.3}" +- puts $datei "smalltrafomodell.widthtest.3 ${smalltrafomodell.widthtest.3}" +- puts $datei "smalltrafomodell.rtest.3 ${smalltrafomodell.rtest.3}" +- puts $datei "smalltrafomodell.zpostest.3 ${smalltrafomodell.zpostest.3}" +- puts $datei "smalltrafomodell.edgeradiustest.3 ${smalltrafomodell.edgeradiustest.3}" +- puts $datei "smalltrafomodell.finetest.3 ${smalltrafomodell.finetest.3}" +- puts $datei "smalltrafomodell.conductivetest.3 ${smalltrafomodell.conductivetest.3}" +- puts $datei "smalltrafomodell.limbtest.4 ${smalltrafomodell.limbtest.4}" +- puts $datei "smalltrafomodell.heighttest.4 ${smalltrafomodell.heighttest.4}" +- puts $datei "smalltrafomodell.widthtest.4 ${smalltrafomodell.widthtest.4}" +- puts $datei "smalltrafomodell.rtest.4 ${smalltrafomodell.rtest.4}" +- puts $datei "smalltrafomodell.zpostest.4 ${smalltrafomodell.zpostest.4}" +- puts $datei "smalltrafomodell.edgeradiustest.4 ${smalltrafomodell.edgeradiustest.4}" +- puts $datei "smalltrafomodell.finetest.4 ${smalltrafomodell.finetest.4}" +- puts $datei "smalltrafomodell.conductivetest.4 ${smalltrafomodell.conductivetest.4}" +- puts $datei "smalltrafomodell.nperitest ${smalltrafomodell.nperitest}" +- puts $datei "smalltrafomodell.filename ${smalltrafomodell.filename}" +- puts $datei "smalltrafomodell.murlfguide ${smalltrafomodell.murlfguide}" +- puts $datei "smalltrafomodell.murtestwire ${smalltrafomodell.murtestwire}" +- puts $datei "smalltrafomodell.murcore ${smalltrafomodell.murcore}" +- puts $datei "smalltrafomodell.kappalfguide ${smalltrafomodell.kappalfguide}" +- puts $datei "smalltrafomodell.kappatestwire ${smalltrafomodell.kappatestwire}" +- puts $datei "smalltrafomodell.kappacore ${smalltrafomodell.kappacore}" +- } +- +- +- close $datei +- } +- } +-} +- +- +- +- +-# the ini file is saved on demand : +-proc saveinifile { } { +- global inifilename +- if {[catch { set datei [open $inifilename w] } result ]} { +- puts "cannot write file $inifilename" +- } { +- for { set i [.ngmenu.file.recent index last] } { $i >= 1 } { incr i -1 } { +- puts $datei "recentfile \"[.ngmenu.file.recent entrycget $i -label]\"" +- } +- close $datei +- } +-} +- +- +-proc savemeshinifile { } { +- global meshinifilename +- if {[catch { set datei [open $meshinifilename w] } result ]} { +- puts "cannot write file $meshinifilename" +- } { +- for { set i [.ngmenu.file.recentmesh index last] } { $i >= 1 } { incr i -1 } { +- puts $datei "recentfile \"[.ngmenu.file.recentmesh entrycget $i -label]\"" +- } +- close $datei +- } +-} +- +- +- +-proc loadinifile { } { +- global inifilename +- if { [file exists $inifilename] == 1 } { +- set datei [open $inifilename r] +- while { [gets $datei line] >= 0 } { +- if {[lindex $line 0] == "recentfile"} { +- set filename [lindex $line 1] +- if { [file exists $filename] == 1 } { +- AddRecentFile $filename +- } +- } +- } +- close $datei +- } +-} +- +- +-proc loadmeshinifile { } { +- global meshinifilename +- if { [file exists $meshinifilename] == 1 } { +- set datei [open $meshinifilename r] +- while { [gets $datei line] >= 0 } { +- if {[lindex $line 0] == "recentfile"} { +- set filename [lindex $line 1] +- if { [file exists $filename] == 1 } { +- AddRecentMeshFile $filename +- } +- } +- } +- close $datei +- } +- } +- +- +- +- +- +-set cmdindex {} +-set hlpindex {} +-set secindex {} ++# netgen global tcl-variables ++ ++set drawmode rotate ++set selectvisual geometry ++ ++set dirname . ++set loadgeomtypevar "All Geometry types" ++ ++set basefilename filename ++ ++set meshoptions.fineness 3 ++set meshoptions.firststep ag ++set meshoptions.laststep ov ++set options.memory 0 ++ ++set options.localh 1 ++set options.delaunay 1 ++set options.checkoverlap 1 ++set options.checkoverlappingboundary 0 ++set options.checkchartboundary 1 ++set options.startinsurface 0 ++set options.blockfill 1 ++set options.debugmode 0 ++set options.dooptimize 1 ++set options.parthread 1 ++set options.elsizeweight 0.2 ++set options.secondorder 0 ++set options.elementorder 1 ++set options.quad 0 ++set options.inverttets 0 ++set options.inverttrigs 0 ++set options.autozrefine 0 ++ ++ ++set options.meshsize 1000 ++set options.minmeshsize 0 ++ ++set options.curvaturesafety 2 ++set options.segmentsperedge 2 ++set options.meshsizefilename "" ++set options.badellimit 175 ++set options.optsteps2d 3 ++set options.optsteps3d 5 ++set options.opterrpow 2 ++ ++set options.grading 0.5 ++set options.printmsg 2 ++ ++set debug.slowchecks 0 ++set debug.debugoutput 0 ++set debug.haltexistingline 0 ++set debug.haltoverlap 0 ++set debug.haltsuccess 0 ++set debug.haltnosuccess 0 ++set debug.haltlargequalclass 0 ++set debug.haltsegment 0 ++set debug.haltnode 0 ++set debug.haltface 0 ++set debug.haltfacenr 0 ++set debug.haltsegmentp1 0 ++set debug.haltsegmentp2 0 ++ ++set geooptions.drawcsg 1 ++set geooptions.detail 0.001 ++set geooptions.accuracy 1e-6 ++set geooptions.facets 20 ++set geooptions.minx -1000 ++set geooptions.miny -1000 ++set geooptions.minz -1000 ++set geooptions.maxx 1000 ++set geooptions.maxy 1000 ++set geooptions.maxz 1000 ++ ++set viewqualityplot 0 ++set memuseplot 0 ++set viewrotatebutton 0 ++set showsensitivehelp 0 ++set showhelpline 0 ++ ++set viewoptions.specpointvlen 0.3 ++set viewoptions.light.amb 0.3 ++set viewoptions.light.diff 0.7 ++set viewoptions.light.spec 1 ++set viewoptions.light.locviewer 0 ++set viewoptions.mat.shininess 50 ++set viewoptions.mat.transp 0.3 ++set viewoptions.colormeshsize 0 ++set viewoptions.whitebackground 1 ++set viewoptions.drawcoordinatecross 1 ++set viewoptions.drawcolorbar 1 ++set viewoptions.drawnetgenlogo 1 ++set viewoptions.stereo 0 ++set viewoptions.shrink 1 ++ ++set viewoptions.drawfilledtrigs 1 ++set viewoptions.drawedges 0 ++set viewoptions.drawbadels 0 ++set viewoptions.centerpoint 0 ++set viewoptions.drawelement 0 ++set viewoptions.drawoutline 1 ++set viewoptions.drawtets 0 ++set viewoptions.drawtetsdomain 0 ++set viewoptions.drawprisms 0 ++set viewoptions.drawpyramids 0 ++set viewoptions.drawhexes 0 ++set viewoptions.drawidentified 0 ++set viewoptions.drawpointnumbers 0 ++set viewoptions.drawedgenumbers 0 ++set viewoptions.drawfacenumbers 0 ++set viewoptions.drawelementnumbers 0 ++set viewoptions.drawdomainsurf 0 ++ ++set viewoptions.drawededges 1 ++set viewoptions.drawedpoints 1 ++set viewoptions.drawedpointnrs 0 ++set viewoptions.drawedtangents 0 ++set viewoptions.drawededgenrs 0 ++set viewoptions.drawmetispartition 0 ++ ++set viewoptions.drawcurveproj 0 ++set viewoptions.drawcurveprojedge 1 ++ ++set viewoptions.clipping.nx 0 ++set viewoptions.clipping.ny 1 ++set viewoptions.clipping.nz 0 ++set viewoptions.clipping.dist 0 ++set viewoptions.clipping.dist2 0 ++set viewoptions.clipping.enable 0 ++set viewoptions.clipping.onlydomain 0 ++set viewoptions.clipping.notdomain 0 ++ ++set viewoptions.usecentercoords 0 ++set viewoptions.centerx 0 ++set viewoptions.centery 0 ++set viewoptions.centerz 0 ++ ++set viewoptions.drawspecpoint 0 ++set viewoptions.specpointx 0 ++set viewoptions.specpointy 0 ++set viewoptions.specpointz 0 ++ ++ ++set stloptions.showtrias 0 ++set stloptions.showfilledtrias 1 ++set stloptions.showedges 1 ++set stloptions.showmarktrias 0 ++set stloptions.showactivechart 0 ++set stloptions.yangle 30 ++set stloptions.contyangle 20 ++set stloptions.edgecornerangle 60 ++set stloptions.chartangle 15 ++set stloptions.outerchartangle 70 ++set stloptions.usesearchtree 0 ++set stloptions.chartnumber 1 ++set stloptions.charttrignumber 1 ++set stloptions.chartnumberoffset 0 ++ ++set stloptions.atlasminh 0.1 ++set stloptions.resthsurfcurvfac 2 ++set stloptions.resthsurfcurvenable 0 ++set stloptions.resthatlasfac 2 ++set stloptions.resthatlasenable 1 ++set stloptions.resthchartdistfac 1.2 ++set stloptions.resthchartdistenable 1 ++set stloptions.resthlinelengthfac 0.5 ++set stloptions.resthlinelengthenable 1 ++set stloptions.resthcloseedgefac 1 ++set stloptions.resthcloseedgeenable 1 ++set stloptions.resthminedgelen 0.01 ++set stloptions.resthminedgelenenable 1 ++set stloptions.resthedgeanglefac 1 ++set stloptions.resthedgeangleenable 0 ++set stloptions.resthsurfmeshcurvfac 1 ++set stloptions.resthsurfmeshcurvenable 0 ++set stloptions.recalchopt 1 ++ ++set stldoctor.drawmeshededges 1 ++set stldoctor.geom_tol_fact 0.000001 ++set stldoctor.useexternaledges 0 ++set stldoctor.showfaces 0 ++set stldoctor.conecheck 1 ++set stldoctor.spiralcheck 1 ++set stldoctor.selecttrig 0 ++set stldoctor.selectmode 1 ++set stldoctor.longlinefact 0 ++set stldoctor.showexcluded 1 ++set stldoctor.edgeselectmode 0 ++set stldoctor.nodeofseltrig 1 ++set stldoctor.showtouchedtrigchart 0 ++set stldoctor.showedgecornerpoints 0 ++set stldoctor.showmarkedtrigs 1 ++set stldoctor.dirtytrigfact 0.01 ++set stldoctor.smoothangle 90 ++set stldoctor.selectwithmouse 1 ++set stldoctor.showvicinity 0 ++set stldoctor.vicinity 50 ++set stldoctor.smoothnormalsweight 0.2 ++ ++set occoptions.showvolumenr 0 ++set occoptions.showsurfaces 1 ++set occoptions.showedges 1 ++set occoptions.showsolidnr 0 ++set occoptions.showsolidnr2 0 ++set occoptions.visproblemfaces 0 ++set occoptions.zoomtohighlightedentity 0 ++set occoptions.deflection 1 ++set occoptions.tolerance 1e-3 ++set occoptions.fixsmalledges 1 ++set occoptions.fixspotstripfaces 1 ++set occoptions.sewfaces 1 ++set occoptions.makesolids 1 ++set occoptions.splitpartitions 0 ++ ++set meshdoctor.active 0 ++set meshdoctor.markedgedist 1 ++ ++ ++# variablenname mit punkt problematisch! ++set status_np 0 ++set status_ne 0 ++set status_nse 0 ++set status_working " " ++set status_task " " ++set status_percent 0 ++set status_filename 0 ++set status_tetqualclasses "10 20 30 40 10 20 30 40 10 20 30 40 10 20 30 40 10 20 30 40" ++ ++set exportfiletype "Neutral Format" ++ ++set preproc.facenr 0 ++set preproc.selectmode query ++set preproc.numtrig 0 ++ ++set mem_moveable 0 ++ ++ ++set multithread_pause 0 ++set multithread_testmode 0 ++set multithread_redraw 0 ++set multithread_drawing 0 ++set multithread_terminate 0 ++set multithread_running 0 ++ ++set level 0 ++ ++ ++set tablesforoutput {} ++ ++ ++ ++set optlist { ++ options.localh ++ options.delaunay ++ options.checkoverlap ++ options.startinsurface ++ options.blockfill ++ options.dooptimize ++ options.elsizeweight ++ options.meshsize ++ options.minmeshsize ++ options.curvaturesafety ++ options.optsteps2d ++ options.optsteps3d ++ options.secondorder ++} ++ ++ ++set visoptions.usetexture 1 ++set visoptions.invcolor 0 ++set visoptions.imaginary 0 ++set visoptions.lineartexture 0 ++set visoptions.numtexturecols 16 ++set visoptions.showclipsolution 1 ++set visoptions.showsurfacesolution 0 ++set visoptions.drawfieldlines 0 ++set visoptions.drawpointcurves 1 ++set visoptions.numfieldlines 100 ++set visoptions.fieldlinesrandomstart 0 ++set visoptions.fieldlinesstartarea box ++set visoptions.fieldlinesstartareap1x 1 ++set visoptions.fieldlinesstartareap1y 1 ++set visoptions.fieldlinesstartareap1z 1 ++set visoptions.fieldlinesstartareap2x 0 ++set visoptions.fieldlinesstartareap2y 0 ++set visoptions.fieldlinesstartareap2z 0 ++set visoptions.fieldlinesstartface -1 ++set visoptions.fieldlinesfilename none ++set visoptions.fieldlinestolerance 0.0005 ++set visoptions.fieldlinesrktype crungekutta ++set visoptions.fieldlineslength 0.5 ++set visoptions.fieldlinesmaxpoints 500 ++set visoptions.fieldlinesthickness 0.0015 ++set visoptions.fieldlinesvecfunction none ++set visoptions.fieldlinesphase 0 ++set visoptions.fieldlinesonlyonephase 1 ++ ++ ++set visoptions.lineplotfile empty ++set visoptions.lineplotsource file ++set visoptions.lineplotusingx 0 ++set visoptions.lineplotusingy 1 ++set visoptions.lineplotautoscale 1 ++set visoptions.lineplotxmin 0 ++set visoptions.lineplotxmax 1 ++set visoptions.lineplotymin 0 ++set visoptions.lineplotymax 1 ++set visoptions.lineplotcurrentnum -1 ++set visoptions.lineplotinfos "" ++set visoptions.lineplotselected none ++set visoptions.lineplotselector "" ++set visoptions.lineplotcolor red ++set visoptions.lineplotsizex 500 ++set visoptions.lineplotsizey 400 ++set visoptions.lineplotselectedeval 0 ++set visoptions.lineplotdatadescr "column1 column2 column3" ++set visoptions.lineplotxcoordselector "" ++set visoptions.lineplotycoordselector "" ++set visoptions.evaluatefilenames none ++set visoptions.evaluatefiledescriptions none ++ ++ ++set visoptions.clipsolution none ++set visoptions.scalfunction none ++set visoptions.vecfunction none ++set visoptions.evaluate abs ++set visoptions.gridsize 20 ++set visoptions.xoffset 0 ++set visoptions.yoffset 0 ++set visoptions.autoscale 1 ++set visoptions.redrawperiodic 0 ++set visoptions.logscale 0 ++set visoptions.mminval 0 ++set visoptions.mmaxval 1 ++set visoptions.isolines 0 ++set visoptions.isosurf 0 ++set visoptions.subdivisions 1 ++set visoptions.numiso 10 ++set visoptions.autoredraw 0 ++set visoptions.autoredrawtime 2 ++set visoptions.simulationtime 0 ++set visoptions.multidimcomponent 0 ++ ++# deform by vector function ++set visoptions.deformation 0 ++set visoptions.scaledeform1 1 ++set visoptions.scaledeform2 1 ++ ++set parallel_netgen 0 ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++set optfilename [file join $nguserdir ng.opt] ++set inifilename [file join $nguserdir ng.ini] ++set meshinifilename [file join $nguserdir ngmesh.ini] ++ ++global env ++if { [llength [array names env NG_OPT]] == 1 } { ++ if { [string length $env(NG_OPT)] > 0 } { ++ set optfilename $env(NG_OPT) ++ } ++} ++ ++if { [file exists $optfilename] == 1 } { ++ set datei [open $optfilename r] ++ while { [gets $datei line] >= 0 } { ++ set [lindex $line 0] [lindex $line 1] ++ } ++ close $datei ++} { ++ puts "optfile $optfilename does not exist - using default values" ++} ++ ++ ++ ++ ++proc saveoptions { } { ++ uplevel 1 { ++ set file $optfilename ++ ++ if {$file != ""} { ++ set datei [open $file w] ++ puts $datei "dirname ${dirname}" ++ puts $datei "loadgeomtypevar \"${loadgeomtypevar}\"" ++ puts $datei "exportfiletype \"${exportfiletype}\"" ++ puts $datei "meshoptions.fineness ${meshoptions.fineness}" ++ puts $datei "meshoptions.firststep ${meshoptions.firststep}" ++ puts $datei "meshoptions.laststep ${meshoptions.laststep}" ++ puts $datei "options.localh ${options.localh}" ++ puts $datei "options.delaunay ${options.delaunay}" ++ puts $datei "options.checkoverlap ${options.checkoverlap}" ++ puts $datei "options.checkchartboundary ${options.checkchartboundary}" ++ puts $datei "options.startinsurface ${options.startinsurface}" ++ puts $datei "options.blockfill ${options.blockfill}" ++ puts $datei "options.debugmode ${options.debugmode}" ++ puts $datei "options.dooptimize ${options.dooptimize}" ++ puts $datei "options.parthread ${options.parthread}" ++ puts $datei "options.elsizeweight ${options.elsizeweight}" ++ puts $datei "options.secondorder ${options.secondorder}" ++ puts $datei "options.elementorder ${options.elementorder}" ++# puts $datei "options.memory ${options.memory}" ++ puts $datei "options.quad ${options.quad}" ++ puts $datei "options.inverttets ${options.inverttets}" ++ puts $datei "options.inverttrigs ${options.inverttrigs}" ++ puts $datei "options.autozrefine ${options.autozrefine}" ++ puts $datei "options.meshsize ${options.meshsize}" ++ puts $datei "options.minmeshsize ${options.minmeshsize}" ++ puts $datei "options.curvaturesafety ${options.curvaturesafety}" ++ puts $datei "options.segmentsperedge ${options.segmentsperedge}" ++ puts $datei "options.meshsizefilename ${options.meshsizefilename}" ++ puts $datei "options.badellimit ${options.badellimit}" ++ puts $datei "options.optsteps2d ${options.optsteps2d}" ++ puts $datei "options.optsteps3d ${options.optsteps3d}" ++ puts $datei "options.opterrpow ${options.opterrpow}" ++ puts $datei "options.grading ${options.grading}" ++ puts $datei "options.printmsg ${options.printmsg}" ++ puts $datei "geooptions.drawcsg ${geooptions.drawcsg}" ++ puts $datei "geooptions.detail ${geooptions.detail}" ++ puts $datei "geooptions.accuracy ${geooptions.accuracy}" ++ puts $datei "geooptions.facets ${geooptions.facets}" ++ puts $datei "geooptions.minx ${geooptions.minx}" ++ puts $datei "geooptions.miny ${geooptions.miny}" ++ puts $datei "geooptions.minz ${geooptions.minz}" ++ puts $datei "geooptions.maxx ${geooptions.maxx}" ++ puts $datei "geooptions.maxy ${geooptions.maxy}" ++ puts $datei "geooptions.maxz ${geooptions.maxz}" ++ puts $datei "viewoptions.specpointvlen ${viewoptions.specpointvlen}" ++ puts $datei "viewoptions.light.amb ${viewoptions.light.amb}" ++ puts $datei "viewoptions.light.diff ${viewoptions.light.diff}" ++ puts $datei "viewoptions.light.spec ${viewoptions.light.spec}" ++ puts $datei "viewoptions.light.locviewer ${viewoptions.light.locviewer}" ++ puts $datei "viewoptions.mat.shininess ${viewoptions.mat.shininess}" ++ puts $datei "viewoptions.mat.transp ${viewoptions.mat.transp}" ++ puts $datei "viewoptions.colormeshsize ${viewoptions.colormeshsize}" ++ puts $datei "viewoptions.whitebackground ${viewoptions.whitebackground}" ++ puts $datei "viewoptions.drawcolorbar ${viewoptions.drawcolorbar}" ++ puts $datei "viewoptions.drawcoordinatecross ${viewoptions.drawcoordinatecross}" ++ puts $datei "viewoptions.drawnetgenlogo ${viewoptions.drawnetgenlogo}" ++ puts $datei "viewoptions.stereo ${viewoptions.stereo}" ++ puts $datei "viewoptions.drawfilledtrigs ${viewoptions.drawfilledtrigs}" ++ puts $datei "viewoptions.drawedges ${viewoptions.drawedges}" ++ puts $datei "viewoptions.drawbadels ${viewoptions.drawbadels}" ++ puts $datei "viewoptions.centerpoint ${viewoptions.centerpoint}" ++ puts $datei "viewoptions.drawelement ${viewoptions.drawelement}" ++ puts $datei "viewoptions.drawoutline ${viewoptions.drawoutline}" ++ puts $datei "viewoptions.drawtets ${viewoptions.drawtets}" ++ puts $datei "viewoptions.drawprisms ${viewoptions.drawprisms}" ++ puts $datei "viewoptions.drawpyramids ${viewoptions.drawpyramids}" ++ puts $datei "viewoptions.drawhexes ${viewoptions.drawhexes}" ++ puts $datei "viewoptions.drawidentified ${viewoptions.drawidentified}" ++ puts $datei "viewoptions.drawpointnumbers ${viewoptions.drawpointnumbers}" ++ ++ puts $datei "viewoptions.drawededges ${viewoptions.drawededges}" ++ puts $datei "viewoptions.drawedpoints ${viewoptions.drawedpoints}" ++ puts $datei "viewoptions.drawedpointnrs ${viewoptions.drawedpointnrs}" ++ puts $datei "viewoptions.drawedtangents ${viewoptions.drawedtangents}" ++ puts $datei "viewoptions.shrink ${viewoptions.shrink}" ++ ++ puts $datei "stloptions.showtrias ${stloptions.showtrias}" ++ puts $datei "stloptions.showfilledtrias ${stloptions.showfilledtrias}" ++ puts $datei "stloptions.showedges ${stloptions.showedges}" ++ puts $datei "stloptions.showmarktrias ${stloptions.showmarktrias}" ++ puts $datei "stloptions.showactivechart ${stloptions.showactivechart}" ++ puts $datei "stloptions.yangle ${stloptions.yangle}" ++ puts $datei "stloptions.contyangle ${stloptions.contyangle}" ++ puts $datei "stloptions.edgecornerangle ${stloptions.edgecornerangle}" ++ puts $datei "stloptions.chartangle ${stloptions.chartangle}" ++ puts $datei "stloptions.outerchartangle ${stloptions.outerchartangle}" ++ puts $datei "stloptions.usesearchtree ${stloptions.usesearchtree}" ++ puts $datei "stloptions.chartnumber ${stloptions.chartnumber}" ++ puts $datei "stloptions.charttrignumber ${stloptions.charttrignumber}" ++ puts $datei "stloptions.chartnumberoffset ${stloptions.chartnumberoffset}" ++ puts $datei "stloptions.atlasminh ${stloptions.atlasminh}" ++ puts $datei "stloptions.resthsurfcurvfac ${stloptions.resthsurfcurvfac}" ++ puts $datei "stloptions.resthsurfcurvenable ${stloptions.resthsurfcurvenable}" ++ puts $datei "stloptions.resthatlasfac ${stloptions.resthatlasfac}" ++ puts $datei "stloptions.resthatlasenable ${stloptions.resthatlasenable}" ++ puts $datei "stloptions.resthchartdistfac ${stloptions.resthchartdistfac}" ++ puts $datei "stloptions.resthchartdistenable ${stloptions.resthchartdistenable}" ++ puts $datei "stloptions.resthlinelengthfac ${stloptions.resthlinelengthfac}" ++ puts $datei "stloptions.resthlinelengthenable ${stloptions.resthlinelengthenable}" ++ puts $datei "stloptions.resthminedgelen ${stloptions.resthminedgelen}" ++ puts $datei "stloptions.resthminedgelenenable ${stloptions.resthminedgelenenable}" ++ puts $datei "stloptions.resthcloseedgefac ${stloptions.resthcloseedgefac}" ++ puts $datei "stloptions.resthcloseedgeenable ${stloptions.resthcloseedgeenable}" ++ puts $datei "stloptions.resthedgeanglefac ${stloptions.resthedgeanglefac}" ++ puts $datei "stloptions.resthedgeangleenable ${stloptions.resthedgeangleenable}" ++ puts $datei "stloptions.resthsurfmeshcurvfac ${stloptions.resthsurfmeshcurvfac}" ++ puts $datei "stloptions.resthsurfmeshcurvenable ${stloptions.resthsurfmeshcurvenable}" ++ puts $datei "stloptions.recalchopt ${stloptions.recalchopt}" ++ ++ puts $datei "visoptions.subdivisions ${visoptions.subdivisions}" ++ puts $datei "visoptions.autoredraw ${visoptions.autoredraw}" ++ puts $datei "visoptions.autoredrawtime ${visoptions.autoredrawtime}" ++ ++ ++ # trafo options ++ # if exist trafooptions then ... ++ if { [info exists trafooptions.solver] == 1 } { ++ puts $datei "trafooptions.solver ${trafooptions.solver}" ++ puts $datei "trafooptions.levels ${trafooptions.levels}" ++ puts $datei "trafooptions.linits ${trafooptions.linits}" ++ puts $datei "trafooptions.nonlinits ${trafooptions.nonlinits}" ++ puts $datei "trafooptions.stabcurrent ${trafooptions.stabcurrent}" ++ puts $datei "trafooptions.checkcond ${trafooptions.checkcond}" ++ puts $datei "trafooptions.maxdirect ${trafooptions.maxdirect}" ++ puts $datei "trafooptions.secondorder ${trafooptions.secondorder}" ++ puts $datei "trafooptions.homogenizedcore ${trafooptions.homogenizedcore}" ++ puts $datei "trafooptions.ordercore ${trafooptions.ordercore}" ++ puts $datei "trafooptions.simplecurrents ${trafooptions.simplecurrents}" ++ puts $datei "trafooptions.assemblecomplexmatrix ${trafooptions.assemblecomplexmatrix}" ++ ++ puts $datei "trafooptions.meshcasing ${trafooptions.meshcasing}" ++ puts $datei "trafooptions.meshcore ${trafooptions.meshcore}" ++ puts $datei "trafooptions.meshclumps ${trafooptions.meshclumps}" ++ puts $datei "trafooptions.meshshields ${trafooptions.meshshields}" ++ puts $datei "trafooptions.meshcoils ${trafooptions.meshcoils}" ++ puts $datei "trafooptions.bcmdirectory ${trafooptions.bcmdirectory}" ++ puts $datei "trafooptions.lossdensityfile ${trafooptions.lossdensityfile}" ++ } ++ ++ if { [info exists smalltrafomodell.tankheight] == 1 } { ++ puts $datei "smalltrafomodell.tankheight ${smalltrafomodell.tankheight}" ++ puts $datei "smalltrafomodell.tankwidth ${smalltrafomodell.tankwidth}" ++ puts $datei "smalltrafomodell.tanklength ${smalltrafomodell.tanklength}" ++ puts $datei "smalltrafomodell.corewidth ${smalltrafomodell.corewidth}" ++ puts $datei "smalltrafomodell.windowheight ${smalltrafomodell.windowheight}" ++ puts $datei "smalltrafomodell.limbdistance ${smalltrafomodell.limbdistance}" ++ puts $datei "smalltrafomodell.xposcore ${smalltrafomodell.xposcore}" ++ puts $datei "smalltrafomodell.yposcore ${smalltrafomodell.yposcore}" ++ puts $datei "smalltrafomodell.zposcore ${smalltrafomodell.zposcore}" ++ puts $datei "smalltrafomodell.leakagefluxguidethickness ${smalltrafomodell.leakagefluxguidethickness}" ++ puts $datei "smalltrafomodell.leakagefluxguidewidth ${smalltrafomodell.leakagefluxguidewidth}" ++ puts $datei "smalltrafomodell.leakagefluxguidezposition ${smalltrafomodell.leakagefluxguidezposition}" ++ puts $datei "smalltrafomodell.limbcoil.1 ${smalltrafomodell.limbcoil.1}" ++ puts $datei "smalltrafomodell.ricoil.1 ${smalltrafomodell.ricoil.1}" ++ puts $datei "smalltrafomodell.rocoil.1 ${smalltrafomodell.rocoil.1}" ++ puts $datei "smalltrafomodell.zposcoil.1 ${smalltrafomodell.zposcoil.1}" ++ puts $datei "smalltrafomodell.heightcoil.1 ${smalltrafomodell.heightcoil.1}" ++ puts $datei "smalltrafomodell.currentcoil.1 ${smalltrafomodell.currentcoil.1}" ++ puts $datei "smalltrafomodell.nturnscoil.1 ${smalltrafomodell.nturnscoil.1}" ++ puts $datei "smalltrafomodell.limbcoil.2 ${smalltrafomodell.limbcoil.2}" ++ puts $datei "smalltrafomodell.ricoil.2 ${smalltrafomodell.ricoil.2}" ++ puts $datei "smalltrafomodell.rocoil.2 ${smalltrafomodell.rocoil.2}" ++ puts $datei "smalltrafomodell.zposcoil.2 ${smalltrafomodell.zposcoil.2}" ++ puts $datei "smalltrafomodell.heightcoil.2 ${smalltrafomodell.heightcoil.2}" ++ puts $datei "smalltrafomodell.currentcoil.2 ${smalltrafomodell.currentcoil.2}" ++ puts $datei "smalltrafomodell.nturnscoil.2 ${smalltrafomodell.nturnscoil.2}" ++ puts $datei "smalltrafomodell.limbcoil.3 ${smalltrafomodell.limbcoil.3}" ++ puts $datei "smalltrafomodell.ricoil.3 ${smalltrafomodell.ricoil.3}" ++ puts $datei "smalltrafomodell.rocoil.3 ${smalltrafomodell.rocoil.3}" ++ puts $datei "smalltrafomodell.zposcoil.3 ${smalltrafomodell.zposcoil.3}" ++ puts $datei "smalltrafomodell.heightcoil.3 ${smalltrafomodell.heightcoil.3}" ++ puts $datei "smalltrafomodell.currentcoil.3 ${smalltrafomodell.currentcoil.3}" ++ puts $datei "smalltrafomodell.nturnscoil.3 ${smalltrafomodell.nturnscoil.3}" ++ puts $datei "smalltrafomodell.limbcoil.4 ${smalltrafomodell.limbcoil.4}" ++ puts $datei "smalltrafomodell.ricoil.4 ${smalltrafomodell.ricoil.4}" ++ puts $datei "smalltrafomodell.rocoil.4 ${smalltrafomodell.rocoil.4}" ++ puts $datei "smalltrafomodell.zposcoil.4 ${smalltrafomodell.zposcoil.4}" ++ puts $datei "smalltrafomodell.heightcoil.4 ${smalltrafomodell.heightcoil.4}" ++ puts $datei "smalltrafomodell.currentcoil.4 ${smalltrafomodell.currentcoil.4}" ++ puts $datei "smalltrafomodell.nturnscoil.4 ${smalltrafomodell.nturnscoil.4}" ++ puts $datei "smalltrafomodell.limbcoil.5 ${smalltrafomodell.limbcoil.5}" ++ puts $datei "smalltrafomodell.ricoil.5 ${smalltrafomodell.ricoil.5}" ++ puts $datei "smalltrafomodell.rocoil.5 ${smalltrafomodell.rocoil.5}" ++ puts $datei "smalltrafomodell.zposcoil.5 ${smalltrafomodell.zposcoil.5}" ++ puts $datei "smalltrafomodell.heightcoil.5 ${smalltrafomodell.heightcoil.5}" ++ puts $datei "smalltrafomodell.currentcoil.5 ${smalltrafomodell.currentcoil.5}" ++ puts $datei "smalltrafomodell.nturnscoil.5 ${smalltrafomodell.nturnscoil.5}" ++ puts $datei "smalltrafomodell.limbcoil.6 ${smalltrafomodell.limbcoil.6}" ++ puts $datei "smalltrafomodell.ricoil.6 ${smalltrafomodell.ricoil.6}" ++ puts $datei "smalltrafomodell.rocoil.6 ${smalltrafomodell.rocoil.6}" ++ puts $datei "smalltrafomodell.zposcoil.6 ${smalltrafomodell.zposcoil.6}" ++ puts $datei "smalltrafomodell.heightcoil.6 ${smalltrafomodell.heightcoil.6}" ++ puts $datei "smalltrafomodell.currentcoil.6 ${smalltrafomodell.currentcoil.6}" ++ puts $datei "smalltrafomodell.nturnscoil.6 ${smalltrafomodell.nturnscoil.6}" ++ puts $datei "smalltrafomodell.limbtest.1 ${smalltrafomodell.limbtest.1}" ++ puts $datei "smalltrafomodell.heighttest.1 ${smalltrafomodell.heighttest.1}" ++ puts $datei "smalltrafomodell.widthtest.1 ${smalltrafomodell.widthtest.1}" ++ puts $datei "smalltrafomodell.rtest.1 ${smalltrafomodell.rtest.1}" ++ puts $datei "smalltrafomodell.zpostest.1 ${smalltrafomodell.zpostest.1}" ++ puts $datei "smalltrafomodell.edgeradiustest.1 ${smalltrafomodell.edgeradiustest.1}" ++ puts $datei "smalltrafomodell.finetest.1 ${smalltrafomodell.finetest.1}" ++ puts $datei "smalltrafomodell.conductivetest.1 ${smalltrafomodell.conductivetest.1}" ++ puts $datei "smalltrafomodell.limbtest.2 ${smalltrafomodell.limbtest.2}" ++ puts $datei "smalltrafomodell.heighttest.2 ${smalltrafomodell.heighttest.2}" ++ puts $datei "smalltrafomodell.widthtest.2 ${smalltrafomodell.widthtest.2}" ++ puts $datei "smalltrafomodell.rtest.2 ${smalltrafomodell.rtest.2}" ++ puts $datei "smalltrafomodell.zpostest.2 ${smalltrafomodell.zpostest.2}" ++ puts $datei "smalltrafomodell.edgeradiustest.2 ${smalltrafomodell.edgeradiustest.2}" ++ puts $datei "smalltrafomodell.finetest.2 ${smalltrafomodell.finetest.2}" ++ puts $datei "smalltrafomodell.conductivetest.2 ${smalltrafomodell.conductivetest.2}" ++ puts $datei "smalltrafomodell.limbtest.3 ${smalltrafomodell.limbtest.3}" ++ puts $datei "smalltrafomodell.heighttest.3 ${smalltrafomodell.heighttest.3}" ++ puts $datei "smalltrafomodell.widthtest.3 ${smalltrafomodell.widthtest.3}" ++ puts $datei "smalltrafomodell.rtest.3 ${smalltrafomodell.rtest.3}" ++ puts $datei "smalltrafomodell.zpostest.3 ${smalltrafomodell.zpostest.3}" ++ puts $datei "smalltrafomodell.edgeradiustest.3 ${smalltrafomodell.edgeradiustest.3}" ++ puts $datei "smalltrafomodell.finetest.3 ${smalltrafomodell.finetest.3}" ++ puts $datei "smalltrafomodell.conductivetest.3 ${smalltrafomodell.conductivetest.3}" ++ puts $datei "smalltrafomodell.limbtest.4 ${smalltrafomodell.limbtest.4}" ++ puts $datei "smalltrafomodell.heighttest.4 ${smalltrafomodell.heighttest.4}" ++ puts $datei "smalltrafomodell.widthtest.4 ${smalltrafomodell.widthtest.4}" ++ puts $datei "smalltrafomodell.rtest.4 ${smalltrafomodell.rtest.4}" ++ puts $datei "smalltrafomodell.zpostest.4 ${smalltrafomodell.zpostest.4}" ++ puts $datei "smalltrafomodell.edgeradiustest.4 ${smalltrafomodell.edgeradiustest.4}" ++ puts $datei "smalltrafomodell.finetest.4 ${smalltrafomodell.finetest.4}" ++ puts $datei "smalltrafomodell.conductivetest.4 ${smalltrafomodell.conductivetest.4}" ++ puts $datei "smalltrafomodell.nperitest ${smalltrafomodell.nperitest}" ++ puts $datei "smalltrafomodell.filename ${smalltrafomodell.filename}" ++ puts $datei "smalltrafomodell.murlfguide ${smalltrafomodell.murlfguide}" ++ puts $datei "smalltrafomodell.murtestwire ${smalltrafomodell.murtestwire}" ++ puts $datei "smalltrafomodell.murcore ${smalltrafomodell.murcore}" ++ puts $datei "smalltrafomodell.kappalfguide ${smalltrafomodell.kappalfguide}" ++ puts $datei "smalltrafomodell.kappatestwire ${smalltrafomodell.kappatestwire}" ++ puts $datei "smalltrafomodell.kappacore ${smalltrafomodell.kappacore}" ++ } ++ ++ ++ close $datei ++ } ++ } ++} ++ ++ ++ ++ ++# the ini file is saved on demand : ++proc saveinifile { } { ++ global inifilename ++ if {[catch { set datei [open $inifilename w] } result ]} { ++ puts "cannot write file $inifilename" ++ } { ++ for { set i [.ngmenu.file.recent index last] } { $i >= 1 } { incr i -1 } { ++ puts $datei "recentfile \"[.ngmenu.file.recent entrycget $i -label]\"" ++ } ++ close $datei ++ } ++} ++ ++ ++proc savemeshinifile { } { ++ global meshinifilename ++ if {[catch { set datei [open $meshinifilename w] } result ]} { ++ puts "cannot write file $meshinifilename" ++ } { ++ for { set i [.ngmenu.file.recentmesh index last] } { $i >= 1 } { incr i -1 } { ++ puts $datei "recentfile \"[.ngmenu.file.recentmesh entrycget $i -label]\"" ++ } ++ close $datei ++ } ++} ++ ++ ++ ++proc loadinifile { } { ++ global inifilename ++ if { [file exists $inifilename] == 1 } { ++ set datei [open $inifilename r] ++ while { [gets $datei line] >= 0 } { ++ if {[lindex $line 0] == "recentfile"} { ++ set filename [lindex $line 1] ++ if { [file exists $filename] == 1 } { ++ AddRecentFile $filename ++ } ++ } ++ } ++ close $datei ++ } ++} ++ ++ ++proc loadmeshinifile { } { ++ global meshinifilename ++ if { [file exists $meshinifilename] == 1 } { ++ set datei [open $meshinifilename r] ++ while { [gets $datei line] >= 0 } { ++ if {[lindex $line 0] == "recentfile"} { ++ set filename [lindex $line 1] ++ if { [file exists $filename] == 1 } { ++ AddRecentMeshFile $filename ++ } ++ } ++ } ++ close $datei ++ } ++ } ++ ++ ++ ++ ++ ++set cmdindex {} ++set hlpindex {} ++set secindex {} +diff -Naur netgen-5.3.1_SRC_orig/nglib/Makefile.am netgen-5.3.1_SRC_modif/nglib/Makefile.am +--- netgen-5.3.1_SRC_orig/nglib/Makefile.am 2014-08-29 13:54:00.000000000 +0400 ++++ netgen-5.3.1_SRC_modif/nglib/Makefile.am 2018-03-01 15:41:03.998157502 +0300 +@@ -14,6 +14,9 @@ + $(top_builddir)/libsrc/stlgeom/libstl.la \ + $(top_builddir)/libsrc/occ/libocc.la \ + $(top_builddir)/libsrc/meshing/libmesh.la \ ++ $(top_builddir)/libsrc/general/libgen.la \ ++ $(top_builddir)/libsrc/gprim/libgprim.la \ ++ $(top_builddir)/libsrc/linalg/libla.la + $(OCCLIBS) $(MPI_LIBS) + + libnglib_la_LDFLAGS = -avoid-version +diff -Naur netgen-5.3.1_SRC_orig/nglib/nglib.cpp netgen-5.3.1_SRC_modif/nglib/nglib.cpp +--- netgen-5.3.1_SRC_orig/nglib/nglib.cpp 2014-08-29 13:54:00.000000000 +0400 ++++ netgen-5.3.1_SRC_modif/nglib/nglib.cpp 2018-03-01 15:44:26.806377191 +0300 +@@ -1,1242 +1,1242 @@ +-/**************************************************************************/ +-/* File: nglib.cpp */ +-/* Author: Joachim Schoeberl */ +-/* Date: 7. May. 2000 */ +-/**************************************************************************/ +- +-/* +- +- Interface to the netgen meshing kernel +- +-*/ +-#include +-#include +- +-#include +-#include +-#include +-#include +-#include +-#include <../visualization/soldata.hpp> +- +-#ifdef OCCGEOMETRY +-#include +-#endif +- +-#include +- +- +-namespace netgen { +- extern void MeshFromSpline2D (SplineGeometry2d & geometry, +- Mesh *& mesh, +- MeshingParameters & mp); +-} +- +- +- +-#ifdef PARALLEL +-#include +- +-namespace netgen +-{ +- // int id = 0, ntasks = 1; +- MPI_Comm mesh_comm; +-} +-#endif +- +- +-namespace netgen +-{ +- int id = 0, ntasks = 1; +-} +- +- +- +-/* +-// should not be needed (occ currently requires it) +-namespace netgen { +-#include "../libsrc/visualization/vispar.hpp" +- VisualizationParameters vispar; +- VisualizationParameters :: VisualizationParameters() { ; } +-} +-*/ +- +- +-namespace nglib { +-#include "nglib.h" +-} +- +-using namespace netgen; +- +-// constants and types: +- +-namespace nglib +-{ +- // initialize, deconstruct Netgen library: +- DLL_HEADER void Ng_Init () +- { +- mycout = &cout; +- myerr = &cerr; +- // netgen::testout->SetOutStream (new ofstream ("test.out")); +- testout = new ofstream ("test.out"); +- } +- +- +- +- +- // Clean-up functions before ending usage of nglib +- DLL_HEADER void Ng_Exit () +- { +- ; +- } +- +- +- +- +- // Create a new netgen mesh object +- DLL_HEADER Ng_Mesh * Ng_NewMesh () +- { +- Mesh * mesh = new Mesh; +- mesh->AddFaceDescriptor (FaceDescriptor (1, 1, 0, 1)); +- return (Ng_Mesh*)(void*)mesh; +- } +- +- +- +- +- // Delete an existing netgen mesh object +- DLL_HEADER void Ng_DeleteMesh (Ng_Mesh * mesh) +- { +- if(mesh != NULL) +- { +- // Delete the Mesh structures +- ((Mesh*)mesh)->DeleteMesh(); +- +- // Now delete the Mesh class itself +- delete (Mesh*)mesh; +- +- // Set the Ng_Mesh pointer to NULL +- mesh = NULL; +- } +- } +- +- +- +- +- // Save a netgen mesh in the native VOL format +- DLL_HEADER void Ng_SaveMesh(Ng_Mesh * mesh, const char* filename) +- { +- ((Mesh*)mesh)->Save(filename); +- } +- +- +- +- +- // Load a netgen native VOL mesh from a given file +- DLL_HEADER Ng_Mesh * Ng_LoadMesh(const char* filename) +- { +- Mesh * mesh = new Mesh; +- mesh->Load(filename); +- return ( (Ng_Mesh*)mesh ); +- } +- +- +- +- +- // Merge another mesh file into the currently loaded one +- DLL_HEADER Ng_Result Ng_MergeMesh( Ng_Mesh* mesh, const char* filename) +- { +- Ng_Result status = NG_OK; +- +- ifstream infile(filename); +- Mesh * m = (Mesh*)mesh; +- +- if(!infile.good()) +- { +- status = NG_FILE_NOT_FOUND; +- } +- +- if(!m) +- { +- status = NG_ERROR; +- } +- +- if(status == NG_OK) +- { +- const int num_pts = m->GetNP(); +- const int face_offset = m->GetNFD(); +- +- m->Merge(infile, face_offset); +- +- if(m->GetNP() > num_pts) +- { +- status = NG_OK; +- } +- else +- { +- status = NG_ERROR; +- } +- } +- +- return status; +- } +- +- +- +- +- // Merge another mesh file into the currently loaded one +- DLL_HEADER Ng_Result Ng_MergeMesh( Ng_Mesh* mesh1, Ng_Mesh* mesh2) +- { +- return NG_ERROR; +- } +- +- +- +- +- // Manually add a point to an existing mesh object +- DLL_HEADER void Ng_AddPoint (Ng_Mesh * mesh, double * x) +- { +- Mesh * m = (Mesh*)mesh; +- m->AddPoint (Point3d (x[0], x[1], x[2])); +- } +- +- +- +- +- // Manually add a surface element of a given type to an existing mesh object +- DLL_HEADER void Ng_AddSurfaceElement (Ng_Mesh * mesh, Ng_Surface_Element_Type et, +- int * pi) +- { +- Mesh * m = (Mesh*)mesh; +- Element2d el (3); +- el.SetIndex (1); +- el.PNum(1) = pi[0]; +- el.PNum(2) = pi[1]; +- el.PNum(3) = pi[2]; +- m->AddSurfaceElement (el); +- } +- +- +- +- +- // Manually add a volume element of a given type to an existing mesh object +- DLL_HEADER void Ng_AddVolumeElement (Ng_Mesh * mesh, Ng_Volume_Element_Type et, +- int * pi) +- { +- Mesh * m = (Mesh*)mesh; +- Element el (4); +- el.SetIndex (1); +- el.PNum(1) = pi[0]; +- el.PNum(2) = pi[1]; +- el.PNum(3) = pi[2]; +- el.PNum(4) = pi[3]; +- m->AddVolumeElement (el); +- } +- +- +- +- +- // Obtain the number of points in the mesh +- DLL_HEADER int Ng_GetNP (Ng_Mesh * mesh) +- { +- return ((Mesh*)mesh) -> GetNP(); +- } +- +- +- +- +- // Obtain the number of surface elements in the mesh +- DLL_HEADER int Ng_GetNSE (Ng_Mesh * mesh) +- { +- return ((Mesh*)mesh) -> GetNSE(); +- } +- +- +- +- +- // Obtain the number of volume elements in the mesh +- DLL_HEADER int Ng_GetNE (Ng_Mesh * mesh) +- { +- return ((Mesh*)mesh) -> GetNE(); +- } +- +- +- +- +- // Return point coordinates of a given point index in the mesh +- DLL_HEADER void Ng_GetPoint (Ng_Mesh * mesh, int num, double * x) +- { +- const Point3d & p = ((Mesh*)mesh)->Point(num); +- x[0] = p.X(); +- x[1] = p.Y(); +- x[2] = p.Z(); +- } +- +- +- +- +- // Return the surface element at a given index "pi" +- DLL_HEADER Ng_Surface_Element_Type +- Ng_GetSurfaceElement (Ng_Mesh * mesh, int num, int * pi) +- { +- const Element2d & el = ((Mesh*)mesh)->SurfaceElement(num); +- for (int i = 1; i <= el.GetNP(); i++) +- pi[i-1] = el.PNum(i); +- Ng_Surface_Element_Type et; +- switch (el.GetNP()) +- { +- case 3: et = NG_TRIG; break; +- case 4: et = NG_QUAD; break; +- case 6: +- switch (el.GetNV()) +- { +- case 3: et = NG_TRIG6; break; +- case 4: et = NG_QUAD6; break; +- default: +- et = NG_TRIG6; break; +- } +- break; +- case 8: et = NG_QUAD8; break; +- default: +- et = NG_TRIG; break; // for the compiler +- } +- return et; +- } +- +- +- +- +- // Return the volume element at a given index "pi" +- DLL_HEADER Ng_Volume_Element_Type +- Ng_GetVolumeElement (Ng_Mesh * mesh, int num, int * pi) +- { +- const Element & el = ((Mesh*)mesh)->VolumeElement(num); +- for (int i = 1; i <= el.GetNP(); i++) +- pi[i-1] = el.PNum(i); +- Ng_Volume_Element_Type et; +- switch (el.GetNP()) +- { +- case 4: et = NG_TET; break; +- case 5: et = NG_PYRAMID; break; +- case 6: et = NG_PRISM; break; +- case 10: et = NG_TET10; break; +- default: +- et = NG_TET; break; // for the compiler +- } +- return et; +- } +- +- +- +- +- // Set a global limit on the maximum mesh size allowed +- DLL_HEADER void Ng_RestrictMeshSizeGlobal (Ng_Mesh * mesh, double h) +- { +- ((Mesh*)mesh) -> SetGlobalH (h); +- } +- +- +- +- +- // Set a local limit on the maximum mesh size allowed around the given point +- DLL_HEADER void Ng_RestrictMeshSizePoint (Ng_Mesh * mesh, double * p, double h) +- { +- ((Mesh*)mesh) -> RestrictLocalH (Point3d (p[0], p[1], p[2]), h); +- } +- +- +- +- +- // Set a local limit on the maximum mesh size allowed within a given box region +- DLL_HEADER void Ng_RestrictMeshSizeBox (Ng_Mesh * mesh, double * pmin, double * pmax, double h) +- { +- for (double x = pmin[0]; x < pmax[0]; x += h) +- for (double y = pmin[1]; y < pmax[1]; y += h) +- for (double z = pmin[2]; z < pmax[2]; z += h) +- ((Mesh*)mesh) -> RestrictLocalH (Point3d (x, y, z), h); +- } +- +- +- +- +- // Generates volume mesh from an existing surface mesh +- DLL_HEADER Ng_Result Ng_GenerateVolumeMesh (Ng_Mesh * mesh, Ng_Meshing_Parameters * mp) +- { +- Mesh * m = (Mesh*)mesh; +- +- // Philippose - 30/08/2009 +- // Do not locally re-define "mparam" here... "mparam" is a global +- // object +- //MeshingParameters mparam; +- mp->Transfer_Parameters(); +- +- m->CalcLocalH(mparam.grading); +- +- MeshVolume (mparam, *m); +- RemoveIllegalElements (*m); +- OptimizeVolume (mparam, *m); +- +- return NG_OK; +- } +- +- +- +- +- /* ------------------ 2D Meshing Functions ------------------------- */ +- DLL_HEADER void Ng_AddPoint_2D (Ng_Mesh * mesh, double * x) +- { +- Mesh * m = (Mesh*)mesh; +- +- m->AddPoint (Point3d (x[0], x[1], 0)); +- } +- +- +- +- +- DLL_HEADER void Ng_AddBoundarySeg_2D (Ng_Mesh * mesh, int pi1, int pi2) +- { +- Mesh * m = (Mesh*)mesh; +- +- Segment seg; +- seg[0] = pi1; +- seg[1] = pi2; +- m->AddSegment (seg); +- } +- +- +- +- +- DLL_HEADER int Ng_GetNP_2D (Ng_Mesh * mesh) +- { +- Mesh * m = (Mesh*)mesh; +- return m->GetNP(); +- } +- +- +- +- +- DLL_HEADER int Ng_GetNE_2D (Ng_Mesh * mesh) +- { +- Mesh * m = (Mesh*)mesh; +- return m->GetNSE(); +- } +- +- +- +- +- DLL_HEADER int Ng_GetNSeg_2D (Ng_Mesh * mesh) +- { +- Mesh * m = (Mesh*)mesh; +- return m->GetNSeg(); +- } +- +- +- +- +- DLL_HEADER void Ng_GetPoint_2D (Ng_Mesh * mesh, int num, double * x) +- { +- Mesh * m = (Mesh*)mesh; +- +- Point<3> & p = m->Point(num); +- x[0] = p(0); +- x[1] = p(1); +- } +- +- +- +- +- DLL_HEADER Ng_Surface_Element_Type +- Ng_GetElement_2D (Ng_Mesh * mesh, int num, int * pi, int * matnum) +- { +- const Element2d & el = ((Mesh*)mesh)->SurfaceElement(num); +- for (int i = 1; i <= el.GetNP(); i++) +- pi[i-1] = el.PNum(i); +- +- Ng_Surface_Element_Type et; +- switch (el.GetNP()) +- { +- case 3: et = NG_TRIG; break; +- case 4: et = NG_QUAD; break; +- case 6: +- switch (el.GetNV()) +- { +- case 3: et = NG_TRIG6; break; +- case 4: et = NG_QUAD6; break; +- default: +- et = NG_TRIG6; break; +- } +- break; +- case 8: et = NG_QUAD8; break; +- default: +- et = NG_TRIG; break; // for the compiler +- } +- +- if (matnum) +- *matnum = el.GetIndex(); +- +- return et; +- } +- +- +- +- +- DLL_HEADER void Ng_GetSegment_2D (Ng_Mesh * mesh, int num, int * pi, int * matnum) +- { +- const Segment & seg = ((Mesh*)mesh)->LineSegment(num); +- pi[0] = seg[0]; +- pi[1] = seg[1]; +- +- if (matnum) +- *matnum = seg.edgenr; +- } +- +- +- +- +- DLL_HEADER Ng_Geometry_2D * Ng_LoadGeometry_2D (const char * filename) +- { +- SplineGeometry2d * geom = new SplineGeometry2d(); +- geom -> Load (filename); +- return (Ng_Geometry_2D *)geom; +- } +- +- +- +- +- DLL_HEADER Ng_Result Ng_GenerateMesh_2D (Ng_Geometry_2D * geom, +- Ng_Mesh ** mesh, +- Ng_Meshing_Parameters * mp) +- { +- // use global variable mparam +- // MeshingParameters mparam; +- mp->Transfer_Parameters(); +- +- Mesh * m; +- MeshFromSpline2D (*(SplineGeometry2d*)geom, m, mparam); +- +- cout << m->GetNSE() << " elements, " << m->GetNP() << " points" << endl; +- +- *mesh = (Ng_Mesh*)m; +- return NG_OK; +- } +- +- +- +- +- DLL_HEADER void Ng_HP_Refinement (Ng_Geometry_2D * geom, +- Ng_Mesh * mesh, +- int levels) +- { +- Refinement2d ref(*(SplineGeometry2d*)geom); +- HPRefinement (*(Mesh*)mesh, &ref, levels); +- } +- +- +- +- +- DLL_HEADER void Ng_HP_Refinement (Ng_Geometry_2D * geom, +- Ng_Mesh * mesh, +- int levels, double parameter) +- { +- Refinement2d ref(*(SplineGeometry2d*)geom); +- HPRefinement (*(Mesh*)mesh, &ref, levels, parameter); +- } +- +- +- +- +- Array readtrias; //only before initstlgeometry +- Array > readedges; //only before init stlgeometry +- +- // loads geometry from STL file +- DLL_HEADER Ng_STL_Geometry * Ng_STL_LoadGeometry (const char * filename, int binary) +- { +- int i; +- STLGeometry geom; +- STLGeometry* geo; +- ifstream ist(filename); +- +- if (binary) +- { +- geo = geom.LoadBinary(ist); +- } +- else +- { +- geo = geom.Load(ist); +- } +- +- readtrias.SetSize(0); +- readedges.SetSize(0); +- +- Point3d p; +- Vec3d normal; +- double p1[3]; +- double p2[3]; +- double p3[3]; +- double n[3]; +- +- Ng_STL_Geometry * geo2 = Ng_STL_NewGeometry(); +- +- for (i = 1; i <= geo->GetNT(); i++) +- { +- const STLTriangle& t = geo->GetTriangle(i); +- p = geo->GetPoint(t.PNum(1)); +- p1[0] = p.X(); p1[1] = p.Y(); p1[2] = p.Z(); +- p = geo->GetPoint(t.PNum(2)); +- p2[0] = p.X(); p2[1] = p.Y(); p2[2] = p.Z(); +- p = geo->GetPoint(t.PNum(3)); +- p3[0] = p.X(); p3[1] = p.Y(); p3[2] = p.Z(); +- normal = t.Normal(); +- n[0] = normal.X(); n[1] = normal.Y(); n[2] = normal.Z(); +- +- Ng_STL_AddTriangle(geo2, p1, p2, p3, n); +- } +- +- return geo2; +- } +- +- +- +- +- // generate new STL Geometry +- DLL_HEADER Ng_STL_Geometry * Ng_STL_NewGeometry () +- { +- return (Ng_STL_Geometry*)(void*)new STLGeometry; +- } +- +- +- +- +- // after adding triangles (and edges) initialize +- DLL_HEADER Ng_Result Ng_STL_InitSTLGeometry (Ng_STL_Geometry * geom) +- { +- STLGeometry* geo = (STLGeometry*)geom; +- geo->InitSTLGeometry(readtrias); +- readtrias.SetSize(0); +- +- if (readedges.Size() != 0) +- { +- /* +- for (int i = 1; i <= readedges.Size(); i+=2) +- { +- cout << "e(" << readedges.Get(i) << "," << readedges.Get(i+1) << ")" << endl; +- } +- */ +- geo->AddEdges(readedges); +- } +- +- if (geo->GetStatus() == STLTopology::STL_GOOD || geo->GetStatus() == STLTopology::STL_WARNING) return NG_OK; +- return NG_SURFACE_INPUT_ERROR; +- } +- +- +- +- +- // automatically generates edges: +- DLL_HEADER Ng_Result Ng_STL_MakeEdges (Ng_STL_Geometry * geom, +- Ng_Mesh* mesh, +- Ng_Meshing_Parameters * mp) +- { +- STLGeometry* stlgeometry = (STLGeometry*)geom; +- Mesh* me = (Mesh*)mesh; +- +- // Philippose - 27/07/2009 +- // Do not locally re-define "mparam" here... "mparam" is a global +- // object +- //MeshingParameters mparam; +- mp->Transfer_Parameters(); +- +- me -> SetGlobalH (mparam.maxh); +- me -> SetLocalH (stlgeometry->GetBoundingBox().PMin() - Vec3d(10, 10, 10), +- stlgeometry->GetBoundingBox().PMax() + Vec3d(10, 10, 10), +- 0.3); +- +- me -> LoadLocalMeshSize (mp->meshsize_filename); +- /* +- if (mp->meshsize_filename) +- { +- ifstream infile (mp->meshsize_filename); +- if (!infile.good()) return NG_FILE_NOT_FOUND; +- me -> LoadLocalMeshSize (infile); +- } +- */ +- +- STLMeshing (*stlgeometry, *me); +- +- stlgeometry->edgesfound = 1; +- stlgeometry->surfacemeshed = 0; +- stlgeometry->surfaceoptimized = 0; +- stlgeometry->volumemeshed = 0; +- +- return NG_OK; +- } +- +- +- +- +- // generates mesh, empty mesh be already created. +- DLL_HEADER Ng_Result Ng_STL_GenerateSurfaceMesh (Ng_STL_Geometry * geom, +- Ng_Mesh* mesh, +- Ng_Meshing_Parameters * mp) +- { +- STLGeometry* stlgeometry = (STLGeometry*)geom; +- Mesh* me = (Mesh*)mesh; +- +- // Philippose - 27/07/2009 +- // Do not locally re-define "mparam" here... "mparam" is a global +- // object +- //MeshingParameters mparam; +- mp->Transfer_Parameters(); +- +- +- /* +- me -> SetGlobalH (mparam.maxh); +- me -> SetLocalH (stlgeometry->GetBoundingBox().PMin() - Vec3d(10, 10, 10), +- stlgeometry->GetBoundingBox().PMax() + Vec3d(10, 10, 10), +- 0.3); +- */ +- /* +- STLMeshing (*stlgeometry, *me); +- +- stlgeometry->edgesfound = 1; +- stlgeometry->surfacemeshed = 0; +- stlgeometry->surfaceoptimized = 0; +- stlgeometry->volumemeshed = 0; +- */ +- int retval = STLSurfaceMeshing (*stlgeometry, *me); +- if (retval == MESHING3_OK) +- { +- (*mycout) << "Success !!!!" << endl; +- stlgeometry->surfacemeshed = 1; +- stlgeometry->surfaceoptimized = 0; +- stlgeometry->volumemeshed = 0; +- } +- else if (retval == MESHING3_OUTERSTEPSEXCEEDED) +- { +- (*mycout) << "ERROR: Give up because of too many trials. Meshing aborted!" << endl; +- } +- else if (retval == MESHING3_TERMINATE) +- { +- (*mycout) << "Meshing Stopped!" << endl; +- } +- else +- { +- (*mycout) << "ERROR: Surface meshing not successful. Meshing aborted!" << endl; +- } +- +- +- STLSurfaceOptimization (*stlgeometry, *me, mparam); +- +- return NG_OK; +- } +- +- +- +- +- // fills STL Geometry +- // positive orientation +- // normal vector may be null-pointer +- DLL_HEADER void Ng_STL_AddTriangle (Ng_STL_Geometry * geom, +- double * p1, double * p2, double * p3, +- double * nv) +- { +- Point<3> apts[3]; +- apts[0] = Point<3>(p1[0],p1[1],p1[2]); +- apts[1] = Point<3>(p2[0],p2[1],p2[2]); +- apts[2] = Point<3>(p3[0],p3[1],p3[2]); +- +- Vec<3> n; +- if (!nv) +- n = Cross (apts[0]-apts[1], apts[0]-apts[2]); +- else +- n = Vec<3>(nv[0],nv[1],nv[2]); +- +- readtrias.Append(STLReadTriangle(apts,n)); +- } +- +- // add (optional) edges: +- DLL_HEADER void Ng_STL_AddEdge (Ng_STL_Geometry * geom, +- double * p1, double * p2) +- { +- readedges.Append(Point3d(p1[0],p1[1],p1[2])); +- readedges.Append(Point3d(p2[0],p2[1],p2[2])); +- } +- +- +- +- +-#ifdef OCCGEOMETRY +- // --------------------- OCC Geometry / Meshing Utility Functions ------------------- +- // Create new OCC Geometry Object +- DLL_HEADER Ng_OCC_Geometry * Ng_OCC_NewGeometry () +- { +- return (Ng_OCC_Geometry*)(void*)new OCCGeometry; +- } +- +- +- +- +- // Delete the OCC Geometry Object +- DLL_HEADER Ng_Result Ng_OCC_DeleteGeometry(Ng_OCC_Geometry * geom) +- { +- if (geom != NULL) +- { +- delete (OCCGeometry*)geom; +- geom = NULL; +- return NG_OK; +- } +- +- return NG_ERROR; +- } +- +- +- +- +- // Loads geometry from STEP File +- DLL_HEADER Ng_OCC_Geometry * Ng_OCC_Load_STEP (const char * filename) +- { +- // Call the STEP File Load function. Note.. the geometry class +- // is created and instantiated within the load function +- OCCGeometry * occgeo = LoadOCC_STEP(filename); +- +- return ((Ng_OCC_Geometry *)occgeo); +- } +- +- +- +- +- // Loads geometry from IGES File +- DLL_HEADER Ng_OCC_Geometry * Ng_OCC_Load_IGES (const char * filename) +- { +- // Call the IGES File Load function. Note.. the geometry class +- // is created and instantiated within the load function +- OCCGeometry * occgeo = LoadOCC_IGES(filename); +- +- return ((Ng_OCC_Geometry *)occgeo); +- } +- +- +- +- +- // Loads geometry from BREP File +- DLL_HEADER Ng_OCC_Geometry * Ng_OCC_Load_BREP (const char * filename) +- { +- // Call the BREP File Load function. Note.. the geometry class +- // is created and instantiated within the load function +- OCCGeometry * occgeo = LoadOCC_BREP(filename); +- +- return ((Ng_OCC_Geometry *)occgeo); +- } +- +- +- +- +- // Locally limit the size of the mesh to be generated at various points +- // based on the topology of the geometry +- DLL_HEADER Ng_Result Ng_OCC_SetLocalMeshSize (Ng_OCC_Geometry * geom, +- Ng_Mesh * mesh, +- Ng_Meshing_Parameters * mp) +- { +- OCCGeometry * occgeom = (OCCGeometry*)geom; +- Mesh * me = (Mesh*)mesh; +- +- me->geomtype = Mesh::GEOM_OCC; +- +- mp->Transfer_Parameters(); +- +- occparam.resthcloseedgeenable = mp->closeedgeenable; +- occparam.resthcloseedgefac = mp->closeedgefact; +- +- // Delete the mesh structures in order to start with a clean +- // slate +- me->DeleteMesh(); +- +- OCCSetLocalMeshSize(*occgeom, *me); +- +- return(NG_OK); +- } +- +- +- +- +- // Mesh the edges and add Face descriptors to prepare for surface meshing +- DLL_HEADER Ng_Result Ng_OCC_GenerateEdgeMesh (Ng_OCC_Geometry * geom, +- Ng_Mesh * mesh, +- Ng_Meshing_Parameters * mp) +- { +- OCCGeometry * occgeom = (OCCGeometry*)geom; +- Mesh * me = (Mesh*)mesh; +- +- mp->Transfer_Parameters(); +- +- OCCFindEdges(*occgeom, *me); +- +- if((me->GetNP()) && (me->GetNFD())) +- { +- return NG_OK; +- } +- else +- { +- return NG_ERROR; +- } +- } +- +- +- +- +- // Mesh the edges and add Face descriptors to prepare for surface meshing +- DLL_HEADER Ng_Result Ng_OCC_GenerateSurfaceMesh (Ng_OCC_Geometry * geom, +- Ng_Mesh * mesh, +- Ng_Meshing_Parameters * mp) +- { +- int numpoints = 0; +- +- OCCGeometry * occgeom = (OCCGeometry*)geom; +- Mesh * me = (Mesh*)mesh; +- +- // Set the internal meshing parameters structure from the nglib meshing +- // parameters structure +- mp->Transfer_Parameters(); +- +- +- // Only go into surface meshing if the face descriptors have already been added +- if(!me->GetNFD()) +- return NG_ERROR; +- +- numpoints = me->GetNP(); +- +- // Initially set up only for surface meshing without any optimisation +- int perfstepsend = MESHCONST_MESHSURFACE; +- +- // Check and if required, enable surface mesh optimisation step +- if(mp->optsurfmeshenable) +- { +- perfstepsend = MESHCONST_OPTSURFACE; +- } +- +- OCCMeshSurface(*occgeom, *me, perfstepsend); +- +- me->CalcSurfacesOfNode(); +- +- if(me->GetNP() <= numpoints) +- return NG_ERROR; +- +- if(me->GetNSE() <= 0) +- return NG_ERROR; +- +- return NG_OK; +- } +- +- +- +- +- // Extract the face map from the OCC geometry +- // The face map basically gives an index to each face in the geometry, +- // which can be used to access a specific face +- DLL_HEADER Ng_Result Ng_OCC_GetFMap(Ng_OCC_Geometry * geom, +- Ng_OCC_TopTools_IndexedMapOfShape * FMap) +- { +- OCCGeometry* occgeom = (OCCGeometry*)geom; +- TopTools_IndexedMapOfShape *occfmap = (TopTools_IndexedMapOfShape *)FMap; +- +- // Copy the face map from the geometry to the given variable +- occfmap->Assign(occgeom->fmap); +- +- if(occfmap->Extent()) +- { +- return NG_OK; +- } +- else +- { +- return NG_ERROR; +- } +- } +- +- // ------------------ End - OCC Geometry / Meshing Utility Functions ---------------- +-#endif +- +- +- +- +- // ------------------ Begin - Meshing Parameters related functions ------------------ +- // Constructor for the local nglib meshing parameters class +- DLL_HEADER Ng_Meshing_Parameters :: Ng_Meshing_Parameters() +- { +- uselocalh = 1; +- +- maxh = 1000; +- minh = 0.0; +- +- fineness = 0.5; +- grading = 0.3; +- +- elementsperedge = 2.0; +- elementspercurve = 2.0; +- +- closeedgeenable = 0; +- closeedgefact = 2.0; +- +- minedgelenenable = 0; +- minedgelen = 1e-4; +- +- second_order = 0; +- quad_dominated = 0; +- +- meshsize_filename = 0; +- +- optsurfmeshenable = 1; +- optvolmeshenable = 1; +- +- optsteps_2d = 3; +- optsteps_3d = 3; +- +- invert_tets = 0; +- invert_trigs = 0; +- +- check_overlap = 1; +- check_overlapping_boundary = 1; +- } +- +- +- +- +- // Reset the local meshing parameters to the default values +- DLL_HEADER void Ng_Meshing_Parameters :: Reset_Parameters() +- { +- uselocalh = 1; +- +- maxh = 1000; +- minh = 0; +- +- fineness = 0.5; +- grading = 0.3; +- +- elementsperedge = 2.0; +- elementspercurve = 2.0; +- +- closeedgeenable = 0; +- closeedgefact = 2.0; +- +- minedgelenenable = 0; +- minedgelen = 1e-4; +- +- second_order = 0; +- quad_dominated = 0; +- +- meshsize_filename = 0; +- +- optsurfmeshenable = 1; +- optvolmeshenable = 1; +- +- optsteps_2d = 3; +- optsteps_3d = 3; +- +- invert_tets = 0; +- invert_trigs = 0; +- +- check_overlap = 1; +- check_overlapping_boundary = 1; +- } +- +- +- +- +- // +- DLL_HEADER void Ng_Meshing_Parameters :: Transfer_Parameters() +- { +- mparam.uselocalh = uselocalh; +- +- mparam.maxh = maxh; +- mparam.minh = minh; +- +- mparam.grading = grading; +- mparam.curvaturesafety = elementspercurve; +- mparam.segmentsperedge = elementsperedge; +- +- mparam.secondorder = second_order; +- mparam.quad = quad_dominated; +- +- mparam.meshsizefilename = meshsize_filename; +- +- mparam.optsteps2d = optsteps_2d; +- mparam.optsteps3d = optsteps_3d; +- +- mparam.inverttets = invert_tets; +- mparam.inverttrigs = invert_trigs; +- +- mparam.checkoverlap = check_overlap; +- mparam.checkoverlappingboundary = check_overlapping_boundary; +- } +- // ------------------ End - Meshing Parameters related functions -------------------- +- +- +- +- +- // ------------------ Begin - Second Order Mesh generation functions ---------------- +- DLL_HEADER void Ng_Generate_SecondOrder(Ng_Mesh * mesh) +- { +- Refinement ref; +- ref.MakeSecondOrder(*(Mesh*) mesh); +- } +- +- +- +- +- DLL_HEADER void Ng_2D_Generate_SecondOrder(Ng_Geometry_2D * geom, +- Ng_Mesh * mesh) +- { +- ( (SplineGeometry2d*)geom ) -> GetRefinement().MakeSecondOrder( * (Mesh*) mesh ); +- } +- +- +- +- +- DLL_HEADER void Ng_STL_Generate_SecondOrder(Ng_STL_Geometry * geom, +- Ng_Mesh * mesh) +- { +- ((STLGeometry*)geom)->GetRefinement().MakeSecondOrder(*(Mesh*) mesh); +- } +- +- +- +- +- DLL_HEADER void Ng_CSG_Generate_SecondOrder (Ng_CSG_Geometry * geom, +- Ng_Mesh * mesh) +- { +- ((CSGeometry*)geom)->GetRefinement().MakeSecondOrder(*(Mesh*) mesh); +- } +- +- +- +- +-#ifdef OCCGEOMETRY +- DLL_HEADER void Ng_OCC_Generate_SecondOrder (Ng_OCC_Geometry * geom, +- Ng_Mesh * mesh) +- { +- ((OCCGeometry*)geom )->GetRefinement().MakeSecondOrder(*(Mesh*) mesh); +- } +-#endif +- // ------------------ End - Second Order Mesh generation functions ------------------ +- +- +- +- +- // ------------------ Begin - Uniform Mesh Refinement functions --------------------- +- DLL_HEADER void Ng_Uniform_Refinement (Ng_Mesh * mesh) +- { +- Refinement ref; +- ref.Refine ( * (Mesh*) mesh ); +- } +- +- +- +- +- DLL_HEADER void Ng_2D_Uniform_Refinement (Ng_Geometry_2D * geom, +- Ng_Mesh * mesh) +- { +- ( (SplineGeometry2d*)geom ) -> GetRefinement().Refine ( * (Mesh*) mesh ); +- } +- +- +- +- +- DLL_HEADER void Ng_STL_Uniform_Refinement (Ng_STL_Geometry * geom, +- Ng_Mesh * mesh) +- { +- ( (STLGeometry*)geom ) -> GetRefinement().Refine ( * (Mesh*) mesh ); +- } +- +- +- +- +- DLL_HEADER void Ng_CSG_Uniform_Refinement (Ng_CSG_Geometry * geom, +- Ng_Mesh * mesh) +- { +- ( (CSGeometry*)geom ) -> GetRefinement().Refine ( * (Mesh*) mesh ); +- } +- +- +- +- +-#ifdef OCCGEOMETRY +- DLL_HEADER void Ng_OCC_Uniform_Refinement (Ng_OCC_Geometry * geom, +- Ng_Mesh * mesh) +- { +- ( (OCCGeometry*)geom ) -> GetRefinement().Refine ( * (Mesh*) mesh ); +- } +-#endif +- // ------------------ End - Uniform Mesh Refinement functions ----------------------- +-} // End of namespace nglib +- +- +- +- +-// compatibility functions: +-namespace netgen +-{ +- char geomfilename[255]; +- +- DLL_HEADER void MyError (const char * ch) +- { +- cerr << ch; +- } +- +- +- +- +- //Destination for messages, errors, ... +- DLL_HEADER void Ng_PrintDest(const char * s) +- { +-#ifdef PARALLEL +- int id = 0; +- MPI_Comm_rank(MPI_COMM_WORLD, &id); +- if (id != 0) return; +-#endif +- (*mycout) << s << flush; +- } +- +- +- +- +- DLL_HEADER double GetTime () +- { +- return 0; +- } +- +- +- +- +- void ResetTime () +- { +- ; +- } +- +- +- +- +- void MyBeep (int i) +- { +- ; +- } +- +- +- +- +- void Render() +- { +- ; +- } +-} // End of namespace netgen +- +- +- +- +-void Ng_Redraw () { ; } +-void Ng_ClearSolutionData () { ; } +-void Ng_SetSolutionData (Ng_SolutionData * soldata) +-{ +- delete soldata->solclass; +-} +-void Ng_InitSolutionData (Ng_SolutionData * soldata) { ; } +- +- ++/**************************************************************************/ ++/* File: nglib.cpp */ ++/* Author: Joachim Schoeberl */ ++/* Date: 7. May. 2000 */ ++/**************************************************************************/ ++ ++/* ++ ++ Interface to the netgen meshing kernel ++ ++*/ ++#include ++#include ++ ++#include ++#include ++#include ++#include ++#include ++#include <../visualization/soldata.hpp> ++ ++#ifdef OCCGEOMETRY ++#include ++#endif ++ ++#include ++ ++ ++namespace netgen { ++ extern void MeshFromSpline2D (SplineGeometry2d & geometry, ++ Mesh *& mesh, ++ MeshingParameters & mp); ++} ++ ++ ++ ++#ifdef PARALLEL ++#include ++ ++namespace netgen ++{ ++ // int id = 0, ntasks = 1; ++ MPI_Comm mesh_comm; ++} ++#endif ++ ++ ++namespace netgen ++{ ++ int id = 0, ntasks = 1; ++} ++ ++ ++ ++/* ++// should not be needed (occ currently requires it) ++namespace netgen { ++#include "../libsrc/visualization/vispar.hpp" ++ VisualizationParameters vispar; ++ VisualizationParameters :: VisualizationParameters() { ; } ++} ++*/ ++ ++ ++namespace nglib { ++#include "nglib.h" ++} ++ ++using namespace netgen; ++ ++// constants and types: ++ ++namespace nglib ++{ ++ // initialize, deconstruct Netgen library: ++ DLL_HEADER void Ng_Init () ++ { ++ mycout = &cout; ++ myerr = &cerr; ++ // netgen::testout->SetOutStream (new ofstream ("test.out")); ++ testout = new ofstream ("test.out"); ++ } ++ ++ ++ ++ ++ // Clean-up functions before ending usage of nglib ++ DLL_HEADER void Ng_Exit () ++ { ++ ; ++ } ++ ++ ++ ++ ++ // Create a new netgen mesh object ++ DLL_HEADER Ng_Mesh * Ng_NewMesh () ++ { ++ Mesh * mesh = new Mesh; ++ mesh->AddFaceDescriptor (FaceDescriptor (1, 1, 0, 1)); ++ return (Ng_Mesh*)(void*)mesh; ++ } ++ ++ ++ ++ ++ // Delete an existing netgen mesh object ++ DLL_HEADER void Ng_DeleteMesh (Ng_Mesh * mesh) ++ { ++ if(mesh != NULL) ++ { ++ // Delete the Mesh structures ++ ((Mesh*)mesh)->DeleteMesh(); ++ ++ // Now delete the Mesh class itself ++ delete (Mesh*)mesh; ++ ++ // Set the Ng_Mesh pointer to NULL ++ mesh = NULL; ++ } ++ } ++ ++ ++ ++ ++ // Save a netgen mesh in the native VOL format ++ DLL_HEADER void Ng_SaveMesh(Ng_Mesh * mesh, const char* filename) ++ { ++ ((Mesh*)mesh)->Save(filename); ++ } ++ ++ ++ ++ ++ // Load a netgen native VOL mesh from a given file ++ DLL_HEADER Ng_Mesh * Ng_LoadMesh(const char* filename) ++ { ++ Mesh * mesh = new Mesh; ++ mesh->Load(filename); ++ return ( (Ng_Mesh*)mesh ); ++ } ++ ++ ++ ++ ++ // Merge another mesh file into the currently loaded one ++ DLL_HEADER Ng_Result Ng_MergeMesh( Ng_Mesh* mesh, const char* filename) ++ { ++ Ng_Result status = NG_OK; ++ ++ ifstream infile(filename); ++ Mesh * m = (Mesh*)mesh; ++ ++ if(!infile.good()) ++ { ++ status = NG_FILE_NOT_FOUND; ++ } ++ ++ if(!m) ++ { ++ status = NG_ERROR; ++ } ++ ++ if(status == NG_OK) ++ { ++ const int num_pts = m->GetNP(); ++ const int face_offset = m->GetNFD(); ++ ++ m->Merge(infile, face_offset); ++ ++ if(m->GetNP() > num_pts) ++ { ++ status = NG_OK; ++ } ++ else ++ { ++ status = NG_ERROR; ++ } ++ } ++ ++ return status; ++ } ++ ++ ++ ++ ++ // Merge another mesh file into the currently loaded one ++ DLL_HEADER Ng_Result Ng_MergeMesh( Ng_Mesh* mesh1, Ng_Mesh* mesh2) ++ { ++ return NG_ERROR; ++ } ++ ++ ++ ++ ++ // Manually add a point to an existing mesh object ++ DLL_HEADER void Ng_AddPoint (Ng_Mesh * mesh, double * x) ++ { ++ Mesh * m = (Mesh*)mesh; ++ m->AddPoint (Point3d (x[0], x[1], x[2])); ++ } ++ ++ ++ ++ ++ // Manually add a surface element of a given type to an existing mesh object ++ DLL_HEADER void Ng_AddSurfaceElement (Ng_Mesh * mesh, Ng_Surface_Element_Type et, ++ int * pi) ++ { ++ Mesh * m = (Mesh*)mesh; ++ Element2d el (3); ++ el.SetIndex (1); ++ el.PNum(1) = pi[0]; ++ el.PNum(2) = pi[1]; ++ el.PNum(3) = pi[2]; ++ m->AddSurfaceElement (el); ++ } ++ ++ ++ ++ ++ // Manually add a volume element of a given type to an existing mesh object ++ DLL_HEADER void Ng_AddVolumeElement (Ng_Mesh * mesh, Ng_Volume_Element_Type et, ++ int * pi) ++ { ++ Mesh * m = (Mesh*)mesh; ++ Element el (4); ++ el.SetIndex (1); ++ el.PNum(1) = pi[0]; ++ el.PNum(2) = pi[1]; ++ el.PNum(3) = pi[2]; ++ el.PNum(4) = pi[3]; ++ m->AddVolumeElement (el); ++ } ++ ++ ++ ++ ++ // Obtain the number of points in the mesh ++ DLL_HEADER int Ng_GetNP (Ng_Mesh * mesh) ++ { ++ return ((Mesh*)mesh) -> GetNP(); ++ } ++ ++ ++ ++ ++ // Obtain the number of surface elements in the mesh ++ DLL_HEADER int Ng_GetNSE (Ng_Mesh * mesh) ++ { ++ return ((Mesh*)mesh) -> GetNSE(); ++ } ++ ++ ++ ++ ++ // Obtain the number of volume elements in the mesh ++ DLL_HEADER int Ng_GetNE (Ng_Mesh * mesh) ++ { ++ return ((Mesh*)mesh) -> GetNE(); ++ } ++ ++ ++ ++ ++ // Return point coordinates of a given point index in the mesh ++ DLL_HEADER void Ng_GetPoint (Ng_Mesh * mesh, int num, double * x) ++ { ++ const Point3d & p = ((Mesh*)mesh)->Point(num); ++ x[0] = p.X(); ++ x[1] = p.Y(); ++ x[2] = p.Z(); ++ } ++ ++ ++ ++ ++ // Return the surface element at a given index "pi" ++ DLL_HEADER Ng_Surface_Element_Type ++ Ng_GetSurfaceElement (Ng_Mesh * mesh, int num, int * pi) ++ { ++ const Element2d & el = ((Mesh*)mesh)->SurfaceElement(num); ++ for (int i = 1; i <= el.GetNP(); i++) ++ pi[i-1] = el.PNum(i); ++ Ng_Surface_Element_Type et; ++ switch (el.GetNP()) ++ { ++ case 3: et = NG_TRIG; break; ++ case 4: et = NG_QUAD; break; ++ case 6: ++ switch (el.GetNV()) ++ { ++ case 3: et = NG_TRIG6; break; ++ case 4: et = NG_QUAD6; break; ++ default: ++ et = NG_TRIG6; break; ++ } ++ break; ++ case 8: et = NG_QUAD8; break; ++ default: ++ et = NG_TRIG; break; // for the compiler ++ } ++ return et; ++ } ++ ++ ++ ++ ++ // Return the volume element at a given index "pi" ++ DLL_HEADER Ng_Volume_Element_Type ++ Ng_GetVolumeElement (Ng_Mesh * mesh, int num, int * pi) ++ { ++ const Element & el = ((Mesh*)mesh)->VolumeElement(num); ++ for (int i = 1; i <= el.GetNP(); i++) ++ pi[i-1] = el.PNum(i); ++ Ng_Volume_Element_Type et; ++ switch (el.GetNP()) ++ { ++ case 4: et = NG_TET; break; ++ case 5: et = NG_PYRAMID; break; ++ case 6: et = NG_PRISM; break; ++ case 10: et = NG_TET10; break; ++ default: ++ et = NG_TET; break; // for the compiler ++ } ++ return et; ++ } ++ ++ ++ ++ ++ // Set a global limit on the maximum mesh size allowed ++ DLL_HEADER void Ng_RestrictMeshSizeGlobal (Ng_Mesh * mesh, double h) ++ { ++ ((Mesh*)mesh) -> SetGlobalH (h); ++ } ++ ++ ++ ++ ++ // Set a local limit on the maximum mesh size allowed around the given point ++ DLL_HEADER void Ng_RestrictMeshSizePoint (Ng_Mesh * mesh, double * p, double h) ++ { ++ ((Mesh*)mesh) -> RestrictLocalH (Point3d (p[0], p[1], p[2]), h); ++ } ++ ++ ++ ++ ++ // Set a local limit on the maximum mesh size allowed within a given box region ++ DLL_HEADER void Ng_RestrictMeshSizeBox (Ng_Mesh * mesh, double * pmin, double * pmax, double h) ++ { ++ for (double x = pmin[0]; x < pmax[0]; x += h) ++ for (double y = pmin[1]; y < pmax[1]; y += h) ++ for (double z = pmin[2]; z < pmax[2]; z += h) ++ ((Mesh*)mesh) -> RestrictLocalH (Point3d (x, y, z), h); ++ } ++ ++ ++ ++ ++ // Generates volume mesh from an existing surface mesh ++ DLL_HEADER Ng_Result Ng_GenerateVolumeMesh (Ng_Mesh * mesh, Ng_Meshing_Parameters * mp) ++ { ++ Mesh * m = (Mesh*)mesh; ++ ++ // Philippose - 30/08/2009 ++ // Do not locally re-define "mparam" here... "mparam" is a global ++ // object ++ //MeshingParameters mparam; ++ mp->Transfer_Parameters(); ++ ++ m->CalcLocalH(mparam.grading); ++ ++ MeshVolume (mparam, *m); ++ RemoveIllegalElements (*m); ++ OptimizeVolume (mparam, *m); ++ ++ return NG_OK; ++ } ++ ++ ++ ++ ++ /* ------------------ 2D Meshing Functions ------------------------- */ ++ DLL_HEADER void Ng_AddPoint_2D (Ng_Mesh * mesh, double * x) ++ { ++ Mesh * m = (Mesh*)mesh; ++ ++ m->AddPoint (Point3d (x[0], x[1], 0)); ++ } ++ ++ ++ ++ ++ DLL_HEADER void Ng_AddBoundarySeg_2D (Ng_Mesh * mesh, int pi1, int pi2) ++ { ++ Mesh * m = (Mesh*)mesh; ++ ++ Segment seg; ++ seg[0] = pi1; ++ seg[1] = pi2; ++ m->AddSegment (seg); ++ } ++ ++ ++ ++ ++ DLL_HEADER int Ng_GetNP_2D (Ng_Mesh * mesh) ++ { ++ Mesh * m = (Mesh*)mesh; ++ return m->GetNP(); ++ } ++ ++ ++ ++ ++ DLL_HEADER int Ng_GetNE_2D (Ng_Mesh * mesh) ++ { ++ Mesh * m = (Mesh*)mesh; ++ return m->GetNSE(); ++ } ++ ++ ++ ++ ++ DLL_HEADER int Ng_GetNSeg_2D (Ng_Mesh * mesh) ++ { ++ Mesh * m = (Mesh*)mesh; ++ return m->GetNSeg(); ++ } ++ ++ ++ ++ ++ DLL_HEADER void Ng_GetPoint_2D (Ng_Mesh * mesh, int num, double * x) ++ { ++ Mesh * m = (Mesh*)mesh; ++ ++ Point<3> & p = m->Point(num); ++ x[0] = p(0); ++ x[1] = p(1); ++ } ++ ++ ++ ++ ++ DLL_HEADER Ng_Surface_Element_Type ++ Ng_GetElement_2D (Ng_Mesh * mesh, int num, int * pi, int * matnum) ++ { ++ const Element2d & el = ((Mesh*)mesh)->SurfaceElement(num); ++ for (int i = 1; i <= el.GetNP(); i++) ++ pi[i-1] = el.PNum(i); ++ ++ Ng_Surface_Element_Type et; ++ switch (el.GetNP()) ++ { ++ case 3: et = NG_TRIG; break; ++ case 4: et = NG_QUAD; break; ++ case 6: ++ switch (el.GetNV()) ++ { ++ case 3: et = NG_TRIG6; break; ++ case 4: et = NG_QUAD6; break; ++ default: ++ et = NG_TRIG6; break; ++ } ++ break; ++ case 8: et = NG_QUAD8; break; ++ default: ++ et = NG_TRIG; break; // for the compiler ++ } ++ ++ if (matnum) ++ *matnum = el.GetIndex(); ++ ++ return et; ++ } ++ ++ ++ ++ ++ DLL_HEADER void Ng_GetSegment_2D (Ng_Mesh * mesh, int num, int * pi, int * matnum) ++ { ++ const Segment & seg = ((Mesh*)mesh)->LineSegment(num); ++ pi[0] = seg[0]; ++ pi[1] = seg[1]; ++ ++ if (matnum) ++ *matnum = seg.edgenr; ++ } ++ ++ ++ ++ ++ DLL_HEADER Ng_Geometry_2D * Ng_LoadGeometry_2D (const char * filename) ++ { ++ SplineGeometry2d * geom = new SplineGeometry2d(); ++ geom -> Load (filename); ++ return (Ng_Geometry_2D *)geom; ++ } ++ ++ ++ ++ ++ DLL_HEADER Ng_Result Ng_GenerateMesh_2D (Ng_Geometry_2D * geom, ++ Ng_Mesh ** mesh, ++ Ng_Meshing_Parameters * mp) ++ { ++ // use global variable mparam ++ // MeshingParameters mparam; ++ mp->Transfer_Parameters(); ++ ++ Mesh * m; ++ MeshFromSpline2D (*(SplineGeometry2d*)geom, m, mparam); ++ ++ cout << m->GetNSE() << " elements, " << m->GetNP() << " points" << endl; ++ ++ *mesh = (Ng_Mesh*)m; ++ return NG_OK; ++ } ++ ++ ++ ++ ++ DLL_HEADER void Ng_HP_Refinement (Ng_Geometry_2D * geom, ++ Ng_Mesh * mesh, ++ int levels) ++ { ++ Refinement2d ref(*(SplineGeometry2d*)geom); ++ HPRefinement (*(Mesh*)mesh, &ref, levels); ++ } ++ ++ ++ ++ ++ DLL_HEADER void Ng_HP_Refinement (Ng_Geometry_2D * geom, ++ Ng_Mesh * mesh, ++ int levels, double parameter) ++ { ++ Refinement2d ref(*(SplineGeometry2d*)geom); ++ HPRefinement (*(Mesh*)mesh, &ref, levels, parameter); ++ } ++ ++ ++ ++ ++ Array readtrias; //only before initstlgeometry ++ Array > readedges; //only before init stlgeometry ++ ++ // loads geometry from STL file ++ DLL_HEADER Ng_STL_Geometry * Ng_STL_LoadGeometry (const char * filename, int binary) ++ { ++ int i; ++ STLGeometry geom; ++ STLGeometry* geo; ++ ifstream ist(filename); ++ ++ if (binary) ++ { ++ geo = geom.LoadBinary(ist); ++ } ++ else ++ { ++ geo = geom.Load(ist); ++ } ++ ++ readtrias.SetSize(0); ++ readedges.SetSize(0); ++ ++ Point3d p; ++ Vec3d normal; ++ double p1[3]; ++ double p2[3]; ++ double p3[3]; ++ double n[3]; ++ ++ Ng_STL_Geometry * geo2 = Ng_STL_NewGeometry(); ++ ++ for (i = 1; i <= geo->GetNT(); i++) ++ { ++ const STLTriangle& t = geo->GetTriangle(i); ++ p = geo->GetPoint(t.PNum(1)); ++ p1[0] = p.X(); p1[1] = p.Y(); p1[2] = p.Z(); ++ p = geo->GetPoint(t.PNum(2)); ++ p2[0] = p.X(); p2[1] = p.Y(); p2[2] = p.Z(); ++ p = geo->GetPoint(t.PNum(3)); ++ p3[0] = p.X(); p3[1] = p.Y(); p3[2] = p.Z(); ++ normal = t.Normal(); ++ n[0] = normal.X(); n[1] = normal.Y(); n[2] = normal.Z(); ++ ++ Ng_STL_AddTriangle(geo2, p1, p2, p3, n); ++ } ++ ++ return geo2; ++ } ++ ++ ++ ++ ++ // generate new STL Geometry ++ DLL_HEADER Ng_STL_Geometry * Ng_STL_NewGeometry () ++ { ++ return (Ng_STL_Geometry*)(void*)new STLGeometry; ++ } ++ ++ ++ ++ ++ // after adding triangles (and edges) initialize ++ DLL_HEADER Ng_Result Ng_STL_InitSTLGeometry (Ng_STL_Geometry * geom) ++ { ++ STLGeometry* geo = (STLGeometry*)geom; ++ geo->InitSTLGeometry(readtrias); ++ readtrias.SetSize(0); ++ ++ if (readedges.Size() != 0) ++ { ++ /* ++ for (int i = 1; i <= readedges.Size(); i+=2) ++ { ++ cout << "e(" << readedges.Get(i) << "," << readedges.Get(i+1) << ")" << endl; ++ } ++ */ ++ geo->AddEdges(readedges); ++ } ++ ++ if (geo->GetStatus() == STLTopology::STL_GOOD || geo->GetStatus() == STLTopology::STL_WARNING) return NG_OK; ++ return NG_SURFACE_INPUT_ERROR; ++ } ++ ++ ++ ++ ++ // automatically generates edges: ++ DLL_HEADER Ng_Result Ng_STL_MakeEdges (Ng_STL_Geometry * geom, ++ Ng_Mesh* mesh, ++ Ng_Meshing_Parameters * mp) ++ { ++ STLGeometry* stlgeometry = (STLGeometry*)geom; ++ Mesh* me = (Mesh*)mesh; ++ ++ // Philippose - 27/07/2009 ++ // Do not locally re-define "mparam" here... "mparam" is a global ++ // object ++ //MeshingParameters mparam; ++ mp->Transfer_Parameters(); ++ ++ me -> SetGlobalH (mparam.maxh); ++ me -> SetLocalH (stlgeometry->GetBoundingBox().PMin() - Vec3d(10, 10, 10), ++ stlgeometry->GetBoundingBox().PMax() + Vec3d(10, 10, 10), ++ 0.3); ++ ++ me -> LoadLocalMeshSize (mp->meshsize_filename); ++ /* ++ if (mp->meshsize_filename) ++ { ++ ifstream infile (mp->meshsize_filename); ++ if (!infile.good()) return NG_FILE_NOT_FOUND; ++ me -> LoadLocalMeshSize (infile); ++ } ++ */ ++ ++ STLMeshing (*stlgeometry, *me); ++ ++ stlgeometry->edgesfound = 1; ++ stlgeometry->surfacemeshed = 0; ++ stlgeometry->surfaceoptimized = 0; ++ stlgeometry->volumemeshed = 0; ++ ++ return NG_OK; ++ } ++ ++ ++ ++ ++ // generates mesh, empty mesh be already created. ++ DLL_HEADER Ng_Result Ng_STL_GenerateSurfaceMesh (Ng_STL_Geometry * geom, ++ Ng_Mesh* mesh, ++ Ng_Meshing_Parameters * mp) ++ { ++ STLGeometry* stlgeometry = (STLGeometry*)geom; ++ Mesh* me = (Mesh*)mesh; ++ ++ // Philippose - 27/07/2009 ++ // Do not locally re-define "mparam" here... "mparam" is a global ++ // object ++ //MeshingParameters mparam; ++ mp->Transfer_Parameters(); ++ ++ ++ /* ++ me -> SetGlobalH (mparam.maxh); ++ me -> SetLocalH (stlgeometry->GetBoundingBox().PMin() - Vec3d(10, 10, 10), ++ stlgeometry->GetBoundingBox().PMax() + Vec3d(10, 10, 10), ++ 0.3); ++ */ ++ /* ++ STLMeshing (*stlgeometry, *me); ++ ++ stlgeometry->edgesfound = 1; ++ stlgeometry->surfacemeshed = 0; ++ stlgeometry->surfaceoptimized = 0; ++ stlgeometry->volumemeshed = 0; ++ */ ++ int retval = STLSurfaceMeshing (*stlgeometry, *me); ++ if (retval == MESHING3_OK) ++ { ++ (*mycout) << "Success !!!!" << endl; ++ stlgeometry->surfacemeshed = 1; ++ stlgeometry->surfaceoptimized = 0; ++ stlgeometry->volumemeshed = 0; ++ } ++ else if (retval == MESHING3_OUTERSTEPSEXCEEDED) ++ { ++ (*mycout) << "ERROR: Give up because of too many trials. Meshing aborted!" << endl; ++ } ++ else if (retval == MESHING3_TERMINATE) ++ { ++ (*mycout) << "Meshing Stopped!" << endl; ++ } ++ else ++ { ++ (*mycout) << "ERROR: Surface meshing not successful. Meshing aborted!" << endl; ++ } ++ ++ ++ STLSurfaceOptimization (*stlgeometry, *me, mparam); ++ ++ return NG_OK; ++ } ++ ++ ++ ++ ++ // fills STL Geometry ++ // positive orientation ++ // normal vector may be null-pointer ++ DLL_HEADER void Ng_STL_AddTriangle (Ng_STL_Geometry * geom, ++ double * p1, double * p2, double * p3, ++ double * nv) ++ { ++ Point<3> apts[3]; ++ apts[0] = Point<3>(p1[0],p1[1],p1[2]); ++ apts[1] = Point<3>(p2[0],p2[1],p2[2]); ++ apts[2] = Point<3>(p3[0],p3[1],p3[2]); ++ ++ Vec<3> n; ++ if (!nv) ++ n = Cross (apts[0]-apts[1], apts[0]-apts[2]); ++ else ++ n = Vec<3>(nv[0],nv[1],nv[2]); ++ ++ readtrias.Append(STLReadTriangle(apts,n)); ++ } ++ ++ // add (optional) edges: ++ DLL_HEADER void Ng_STL_AddEdge (Ng_STL_Geometry * geom, ++ double * p1, double * p2) ++ { ++ readedges.Append(Point3d(p1[0],p1[1],p1[2])); ++ readedges.Append(Point3d(p2[0],p2[1],p2[2])); ++ } ++ ++ ++ ++ ++#ifdef OCCGEOMETRY ++ // --------------------- OCC Geometry / Meshing Utility Functions ------------------- ++ // Create new OCC Geometry Object ++ DLL_HEADER Ng_OCC_Geometry * Ng_OCC_NewGeometry () ++ { ++ return (Ng_OCC_Geometry*)(void*)new OCCGeometry; ++ } ++ ++ ++ ++ ++ // Delete the OCC Geometry Object ++ DLL_HEADER Ng_Result Ng_OCC_DeleteGeometry(Ng_OCC_Geometry * geom) ++ { ++ if (geom != NULL) ++ { ++ delete (OCCGeometry*)geom; ++ geom = NULL; ++ return NG_OK; ++ } ++ ++ return NG_ERROR; ++ } ++ ++ ++ ++ ++ // Loads geometry from STEP File ++ DLL_HEADER Ng_OCC_Geometry * Ng_OCC_Load_STEP (const char * filename) ++ { ++ // Call the STEP File Load function. Note.. the geometry class ++ // is created and instantiated within the load function ++ OCCGeometry * occgeo = LoadOCC_STEP(filename); ++ ++ return ((Ng_OCC_Geometry *)occgeo); ++ } ++ ++ ++ ++ ++ // Loads geometry from IGES File ++ DLL_HEADER Ng_OCC_Geometry * Ng_OCC_Load_IGES (const char * filename) ++ { ++ // Call the IGES File Load function. Note.. the geometry class ++ // is created and instantiated within the load function ++ OCCGeometry * occgeo = LoadOCC_IGES(filename); ++ ++ return ((Ng_OCC_Geometry *)occgeo); ++ } ++ ++ ++ ++ ++ // Loads geometry from BREP File ++ DLL_HEADER Ng_OCC_Geometry * Ng_OCC_Load_BREP (const char * filename) ++ { ++ // Call the BREP File Load function. Note.. the geometry class ++ // is created and instantiated within the load function ++ OCCGeometry * occgeo = LoadOCC_BREP(filename); ++ ++ return ((Ng_OCC_Geometry *)occgeo); ++ } ++ ++ ++ ++ ++ // Locally limit the size of the mesh to be generated at various points ++ // based on the topology of the geometry ++ DLL_HEADER Ng_Result Ng_OCC_SetLocalMeshSize (Ng_OCC_Geometry * geom, ++ Ng_Mesh * mesh, ++ Ng_Meshing_Parameters * mp) ++ { ++ OCCGeometry * occgeom = (OCCGeometry*)geom; ++ Mesh * me = (Mesh*)mesh; ++ ++ me->geomtype = Mesh::GEOM_OCC; ++ ++ mp->Transfer_Parameters(); ++ ++ occparam.resthcloseedgeenable = mp->closeedgeenable; ++ occparam.resthcloseedgefac = mp->closeedgefact; ++ ++ // Delete the mesh structures in order to start with a clean ++ // slate ++ me->DeleteMesh(); ++ ++ OCCSetLocalMeshSize(*occgeom, *me); ++ ++ return(NG_OK); ++ } ++ ++ ++ ++ ++ // Mesh the edges and add Face descriptors to prepare for surface meshing ++ DLL_HEADER Ng_Result Ng_OCC_GenerateEdgeMesh (Ng_OCC_Geometry * geom, ++ Ng_Mesh * mesh, ++ Ng_Meshing_Parameters * mp) ++ { ++ OCCGeometry * occgeom = (OCCGeometry*)geom; ++ Mesh * me = (Mesh*)mesh; ++ ++ mp->Transfer_Parameters(); ++ ++ OCCFindEdges(*occgeom, *me); ++ ++ if((me->GetNP()) && (me->GetNFD())) ++ { ++ return NG_OK; ++ } ++ else ++ { ++ return NG_ERROR; ++ } ++ } ++ ++ ++ ++ ++ // Mesh the edges and add Face descriptors to prepare for surface meshing ++ DLL_HEADER Ng_Result Ng_OCC_GenerateSurfaceMesh (Ng_OCC_Geometry * geom, ++ Ng_Mesh * mesh, ++ Ng_Meshing_Parameters * mp) ++ { ++ int numpoints = 0; ++ ++ OCCGeometry * occgeom = (OCCGeometry*)geom; ++ Mesh * me = (Mesh*)mesh; ++ ++ // Set the internal meshing parameters structure from the nglib meshing ++ // parameters structure ++ mp->Transfer_Parameters(); ++ ++ ++ // Only go into surface meshing if the face descriptors have already been added ++ if(!me->GetNFD()) ++ return NG_ERROR; ++ ++ numpoints = me->GetNP(); ++ ++ // Initially set up only for surface meshing without any optimisation ++ int perfstepsend = MESHCONST_MESHSURFACE; ++ ++ // Check and if required, enable surface mesh optimisation step ++ if(mp->optsurfmeshenable) ++ { ++ perfstepsend = MESHCONST_OPTSURFACE; ++ } ++ ++ OCCMeshSurface(*occgeom, *me, perfstepsend); ++ ++ me->CalcSurfacesOfNode(); ++ ++ if(me->GetNP() <= numpoints) ++ return NG_ERROR; ++ ++ if(me->GetNSE() <= 0) ++ return NG_ERROR; ++ ++ return NG_OK; ++ } ++ ++ ++ ++ ++ // Extract the face map from the OCC geometry ++ // The face map basically gives an index to each face in the geometry, ++ // which can be used to access a specific face ++ DLL_HEADER Ng_Result Ng_OCC_GetFMap(Ng_OCC_Geometry * geom, ++ Ng_OCC_TopTools_IndexedMapOfShape * FMap) ++ { ++ OCCGeometry* occgeom = (OCCGeometry*)geom; ++ TopTools_IndexedMapOfShape *occfmap = (TopTools_IndexedMapOfShape *)FMap; ++ ++ // Copy the face map from the geometry to the given variable ++ occfmap->Assign(occgeom->fmap); ++ ++ if(occfmap->Extent()) ++ { ++ return NG_OK; ++ } ++ else ++ { ++ return NG_ERROR; ++ } ++ } ++ ++ // ------------------ End - OCC Geometry / Meshing Utility Functions ---------------- ++#endif ++ ++ ++ ++ ++ // ------------------ Begin - Meshing Parameters related functions ------------------ ++ // Constructor for the local nglib meshing parameters class ++ DLL_HEADER Ng_Meshing_Parameters :: Ng_Meshing_Parameters() ++ { ++ uselocalh = 1; ++ ++ maxh = 1000; ++ minh = 0.0; ++ ++ fineness = 0.5; ++ grading = 0.3; ++ ++ elementsperedge = 2.0; ++ elementspercurve = 2.0; ++ ++ closeedgeenable = 0; ++ closeedgefact = 2.0; ++ ++ minedgelenenable = 0; ++ minedgelen = 1e-4; ++ ++ second_order = 0; ++ quad_dominated = 0; ++ ++ meshsize_filename = 0; ++ ++ optsurfmeshenable = 1; ++ optvolmeshenable = 1; ++ ++ optsteps_2d = 3; ++ optsteps_3d = 3; ++ ++ invert_tets = 0; ++ invert_trigs = 0; ++ ++ check_overlap = 1; ++ check_overlapping_boundary = 1; ++ } ++ ++ ++ ++ ++ // Reset the local meshing parameters to the default values ++ DLL_HEADER void Ng_Meshing_Parameters :: Reset_Parameters() ++ { ++ uselocalh = 1; ++ ++ maxh = 1000; ++ minh = 0; ++ ++ fineness = 0.5; ++ grading = 0.3; ++ ++ elementsperedge = 2.0; ++ elementspercurve = 2.0; ++ ++ closeedgeenable = 0; ++ closeedgefact = 2.0; ++ ++ minedgelenenable = 0; ++ minedgelen = 1e-4; ++ ++ second_order = 0; ++ quad_dominated = 0; ++ ++ meshsize_filename = 0; ++ ++ optsurfmeshenable = 1; ++ optvolmeshenable = 1; ++ ++ optsteps_2d = 3; ++ optsteps_3d = 3; ++ ++ invert_tets = 0; ++ invert_trigs = 0; ++ ++ check_overlap = 1; ++ check_overlapping_boundary = 1; ++ } ++ ++ ++ ++ ++ // ++ DLL_HEADER void Ng_Meshing_Parameters :: Transfer_Parameters() ++ { ++ mparam.uselocalh = uselocalh; ++ ++ mparam.maxh = maxh; ++ mparam.minh = minh; ++ ++ mparam.grading = grading; ++ mparam.curvaturesafety = elementspercurve; ++ mparam.segmentsperedge = elementsperedge; ++ ++ mparam.secondorder = second_order; ++ mparam.quad = quad_dominated; ++ ++ mparam.meshsizefilename = meshsize_filename; ++ ++ mparam.optsteps2d = optsteps_2d; ++ mparam.optsteps3d = optsteps_3d; ++ ++ mparam.inverttets = invert_tets; ++ mparam.inverttrigs = invert_trigs; ++ ++ mparam.checkoverlap = check_overlap; ++ mparam.checkoverlappingboundary = check_overlapping_boundary; ++ } ++ // ------------------ End - Meshing Parameters related functions -------------------- ++ ++ ++ ++ ++ // ------------------ Begin - Second Order Mesh generation functions ---------------- ++ DLL_HEADER void Ng_Generate_SecondOrder(Ng_Mesh * mesh) ++ { ++ Refinement ref; ++ ref.MakeSecondOrder(*(Mesh*) mesh); ++ } ++ ++ ++ ++ ++ DLL_HEADER void Ng_2D_Generate_SecondOrder(Ng_Geometry_2D * geom, ++ Ng_Mesh * mesh) ++ { ++ ( (SplineGeometry2d*)geom ) -> GetRefinement().MakeSecondOrder( * (Mesh*) mesh ); ++ } ++ ++ ++ ++ ++ DLL_HEADER void Ng_STL_Generate_SecondOrder(Ng_STL_Geometry * geom, ++ Ng_Mesh * mesh) ++ { ++ ((STLGeometry*)geom)->GetRefinement().MakeSecondOrder(*(Mesh*) mesh); ++ } ++ ++ ++ ++ ++ DLL_HEADER void Ng_CSG_Generate_SecondOrder (Ng_CSG_Geometry * geom, ++ Ng_Mesh * mesh) ++ { ++ ((CSGeometry*)geom)->GetRefinement().MakeSecondOrder(*(Mesh*) mesh); ++ } ++ ++ ++ ++ ++#ifdef OCCGEOMETRY ++ DLL_HEADER void Ng_OCC_Generate_SecondOrder (Ng_OCC_Geometry * geom, ++ Ng_Mesh * mesh) ++ { ++ ((OCCGeometry*)geom )->GetRefinement().MakeSecondOrder(*(Mesh*) mesh); ++ } ++#endif ++ // ------------------ End - Second Order Mesh generation functions ------------------ ++ ++ ++ ++ ++ // ------------------ Begin - Uniform Mesh Refinement functions --------------------- ++ DLL_HEADER void Ng_Uniform_Refinement (Ng_Mesh * mesh) ++ { ++ Refinement ref; ++ ref.Refine ( * (Mesh*) mesh ); ++ } ++ ++ ++ ++ ++ DLL_HEADER void Ng_2D_Uniform_Refinement (Ng_Geometry_2D * geom, ++ Ng_Mesh * mesh) ++ { ++ ( (SplineGeometry2d*)geom ) -> GetRefinement().Refine ( * (Mesh*) mesh ); ++ } ++ ++ ++ ++ ++ DLL_HEADER void Ng_STL_Uniform_Refinement (Ng_STL_Geometry * geom, ++ Ng_Mesh * mesh) ++ { ++ ( (STLGeometry*)geom ) -> GetRefinement().Refine ( * (Mesh*) mesh ); ++ } ++ ++ ++ ++ ++ DLL_HEADER void Ng_CSG_Uniform_Refinement (Ng_CSG_Geometry * geom, ++ Ng_Mesh * mesh) ++ { ++ ( (CSGeometry*)geom ) -> GetRefinement().Refine ( * (Mesh*) mesh ); ++ } ++ ++ ++ ++ ++#ifdef OCCGEOMETRY ++ DLL_HEADER void Ng_OCC_Uniform_Refinement (Ng_OCC_Geometry * geom, ++ Ng_Mesh * mesh) ++ { ++ ( (OCCGeometry*)geom ) -> GetRefinement().Refine ( * (Mesh*) mesh ); ++ } ++#endif ++ // ------------------ End - Uniform Mesh Refinement functions ----------------------- ++} // End of namespace nglib ++ ++ ++ ++ ++// compatibility functions: ++namespace netgen ++{ ++ char geomfilename[255]; ++ ++ DLL_HEADER void MyError (const char * ch) ++ { ++ cerr << ch; ++ } ++ ++ ++ ++ ++ //Destination for messages, errors, ... ++ DLL_HEADER void Ng_PrintDest(const char * s) ++ { ++#ifdef PARALLEL ++ int id = 0; ++ MPI_Comm_rank(MPI_COMM_WORLD, &id); ++ if (id != 0) return; ++#endif ++ (*mycout) << s << flush; ++ } ++ ++ ++ ++ ++ DLL_HEADER double GetTime () ++ { ++ return 0; ++ } ++ ++ ++ ++ ++ void ResetTime () ++ { ++ ; ++ } ++ ++ ++ ++ ++ void MyBeep (int i) ++ { ++ ; ++ } ++ ++ ++ ++ ++ void Render() ++ { ++ ; ++ } ++} // End of namespace netgen ++ ++ ++ ++ ++void Ng_Redraw () { ; } ++void Ng_ClearSolutionData () { ; } ++void Ng_SetSolutionData (Ng_SolutionData * soldata) ++{ ++ delete soldata->solclass; ++} ++void Ng_InitSolutionData (Ng_SolutionData * soldata) { ; } ++ ++ +diff -Naur netgen-5.3.1_SRC_orig/nglib/nglib.h netgen-5.3.1_SRC_modif/nglib/nglib.h +--- netgen-5.3.1_SRC_orig/nglib/nglib.h 2014-08-29 13:54:00.000000000 +0400 ++++ netgen-5.3.1_SRC_modif/nglib/nglib.h 2018-03-01 15:44:37.242256019 +0300 +@@ -1,747 +1,747 @@ +-#ifndef NGLIB +-#define NGLIB +- +-/**************************************************************************/ +-/* File: nglib.h */ +-/* Author: Joachim Schoeberl */ +-/* Date: 7. May. 2000 */ +-/**************************************************************************/ +- +-/*! +- \file nglib.h +- \brief Library interface to the netgen meshing kernel +- \author Joachim Schoeberl +- \date 7. May 2000 +- +- This header file provides access to the core functionality of the Netgen +- Mesher via a library interface, without an interactive User Interface. +- +- The intention of providing these set of functions is to allow system +- developers to integrate Netgen into top-level code, to act as the low +- level mesh generation / optimisation kernel. +-*/ +- +-// Philippose - 14.02.2009 +-// Modifications for creating a DLL in Windows +-#ifdef WIN32 +- #ifdef NGLIB_EXPORTS || nglib_EXPORTS +- #define DLL_HEADER __declspec(dllexport) +- #else +- #define DLL_HEADER __declspec(dllimport) +- #endif +-#else +- #define DLL_HEADER +-#endif +- +- +- +-// ** Constants used within Netgen ********************* +-/// Maximum allowed number of nodes per volume element +-#define NG_VOLUME_ELEMENT_MAXPOINTS 10 +- +-/// Maximum allowed number of nodes per surface element +-#define NG_SURFACE_ELEMENT_MAXPOINTS 8 +- +- +- +-// *** Data-types for accessing Netgen functionality *** +-/// Data type for NETGEN mesh +-typedef void * Ng_Mesh; +- +-/// Data type for NETGEN CSG geometry +-typedef void * Ng_CSG_Geometry; +- +-/// Data type for NETGEN 2D geometry +-typedef void * Ng_Geometry_2D; +- +-/// Data type for NETGEN STL geometry +-typedef void * Ng_STL_Geometry; +- +-#ifdef OCCGEOMETRY +-/// Data type for NETGEN OpenCascade geometry +-typedef void * Ng_OCC_Geometry; +-typedef void * Ng_OCC_TopTools_IndexedMapOfShape; +-#endif +- +- +-// *** Special Enum types used within Netgen *********** +-/// Currently implemented surface element types +-enum Ng_Surface_Element_Type +- { NG_TRIG = 1, NG_QUAD = 2, NG_TRIG6 = 3, NG_QUAD6 = 4, NG_QUAD8 = 5 }; +- +-/// Currently implemented volume element types +-enum Ng_Volume_Element_Type +- { NG_TET = 1, NG_PYRAMID = 2, NG_PRISM = 3, NG_TET10 = 4 }; +- +-/// Values returned by Netgen functions +-enum Ng_Result +- { +- NG_ERROR = -1, +- NG_OK = 0, +- NG_SURFACE_INPUT_ERROR = 1, +- NG_VOLUME_FAILURE = 2, +- NG_STL_INPUT_ERROR = 3, +- NG_SURFACE_FAILURE = 4, +- NG_FILE_NOT_FOUND = 5 +- }; +- +- +- +-// *** Classes required for use within Netgen ********** +-/// Netgen Meshing Parameters class +-class Ng_Meshing_Parameters +-{ +-public: +- int uselocalh; //!< Switch to enable / disable usage of local mesh size modifiers +- +- double maxh; //!< Maximum global mesh size allowed +- double minh; //!< Minimum global mesh size allowed +- +- double fineness; //!< Mesh density: 0...1 (0 => coarse; 1 => fine) +- double grading; //!< Mesh grading: 0...1 (0 => uniform mesh; 1 => aggressive local grading) +- +- double elementsperedge; //!< Number of elements to generate per edge of the geometry +- double elementspercurve; //!< Elements to generate per curvature radius +- +- int closeedgeenable; //!< Enable / Disable mesh refinement at close edges +- double closeedgefact; //!< Factor to use for refinement at close edges (larger => finer) +- +- int minedgelenenable; //!< Enable / Disable user defined minimum edge length for edge subdivision +- double minedgelen; //!< Minimum edge length to use while subdividing the edges (default = 1e-4) +- +- int second_order; //!< Generate second-order surface and volume elements +- int quad_dominated; //!< Creates a Quad-dominated mesh +- +- char * meshsize_filename; //!< Optional external mesh size file +- +- int optsurfmeshenable; //!< Enable / Disable automatic surface mesh optimization +- int optvolmeshenable; //!< Enable / Disable automatic volume mesh optimization +- +- int optsteps_3d; //!< Number of optimize steps to use for 3-D mesh optimization +- int optsteps_2d; //!< Number of optimize steps to use for 2-D mesh optimization +- +- // Philippose - 13/09/2010 +- // Added a couple more parameters into the meshing parameters list +- // from Netgen into Nglib +- int invert_tets; //!< Invert all the volume elements +- int invert_trigs; //!< Invert all the surface triangle elements +- +- int check_overlap; //!< Check for overlapping surfaces during Surface meshing +- int check_overlapping_boundary; //!< Check for overlapping surface elements before volume meshing +- +- +- /*! +- Default constructor for the Mesh Parameters class +- +- Note: This constructor initialises the variables in the +- class with the following default values +- - #uselocalh: 1 +- - #maxh: 1000.0 +- - #fineness: 0.5 +- - #grading: 0.3 +- - #elementsperedge: 2.0 +- - #elementspercurve: 2.0 +- - #closeedgeenable: 0 +- - #closeedgefact: 2.0 +- - #secondorder: 0 +- - #meshsize_filename: null +- - #quad_dominated: 0 +- - #optsurfmeshenable: 1 +- - #optvolmeshenable: 1 +- - #optsteps_2d: 3 +- - #optsteps_3d: 3 +- - #invert_tets: 0 +- - #invert_trigs:0 +- - #check_overlap: 1 +- - #check_overlapping_boundary: 1 +- */ +- DLL_HEADER Ng_Meshing_Parameters(); +- +- +- +- /*! +- Reset the meshing parameters to their defaults +- +- This member function resets all the meshing parameters +- of the object to the default values +- */ +- DLL_HEADER void Reset_Parameters(); +- +- +- +- /*! +- Transfer local meshing parameters to internal meshing parameters +- +- This member function transfers all the meshing parameters +- defined in the local meshing parameters structure of nglib into +- the internal meshing parameters structure used by the Netgen core +- */ +- DLL_HEADER void Transfer_Parameters(); +-}; +- +- +- +- +-// *** Functions Exported by this Library ************* +- +-// ------------------------------------------------------------------ +-// Netgen library initialisation / destruction functions +- +-/*! \brief Initialise the Netgen library and prepare for use +- +- This function needs to be called by the third-party +- program before beginning to use the other Netgen +- specific functions. +-*/ +-DLL_HEADER void Ng_Init (); +- +- +-/*! \brief Exit the Netgen meshing kernel in a clean manner +- +- Use this function to exit the meshing sub-system in +- a clean and orderly manner. +-*/ +-DLL_HEADER void Ng_Exit (); +- +- +-/*! \brief Create a new (and empty) Netgen Mesh Structure +- +- This function creates a new Netgen Mesh, initialises +- it, and returns a pointer to the created mesh structure. +- +- Use the returned pointer for subsequent operations +- which involve mesh operations. +- +- \return Ng_Mesh Pointer to a Netgen Mesh type #Ng_Mesh +-*/ +-DLL_HEADER Ng_Mesh * Ng_NewMesh (); +- +- +-/*! \brief Delete an existing Netgen Mesh Structure +- +- Use this function to delete an existing Netgen mesh +- structure and release the used memory. +- +- \param mesh Pointer to an existing Netgen Mesh structure +- of type #Ng_Mesh +-*/ +-DLL_HEADER void Ng_DeleteMesh (Ng_Mesh * mesh); +- +- +-/*! \brief Save a Netgen Mesh to disk +- +- This function allows a generated mesh structure to be saved +- to disk. +- +- A Mesh saved using this function, will be written to disk +- in the Netgen VOL file format. +- +- \param mesh Pointer to an existing Netgen Mesh structure +- of type #Ng_Mesh +- \param filename Pointer to a character array containing the +- name of the file to which the mesh should +- be saved +-*/ +-DLL_HEADER void Ng_SaveMesh(Ng_Mesh * mesh, const char* filename); +- +- +-/*! \brief Load a Netgen VOL Mesh from disk into memory +- +- A Netgen mesh saved in the internal VOL format can be loaded +- into a Netgen Mesh structure using this function. +- +- \param filename Pointer to a character array containing the +- name of the file to load +- \return Ng_Mesh Pointer to a Netgen Mesh type #Ng_Mesh containing +- the mesh loaded from disk +-*/ +-DLL_HEADER Ng_Mesh * Ng_LoadMesh(const char* filename); +- +- +-/*! \brief Merge a Netgen VOL Mesh from disk into an existing mesh in memory +- +- A Netgen mesh saved in the internal VOL format can be merged +- into an existing Netgen Mesh structure using this function. +- +- \param mesh Name of the Mesh structure already existent in memory +- \param filename Pointer to a character array containing the +- name of the file to load +- \return Ng_Result Status of the merge operation +-*/ +-DLL_HEADER Ng_Result Ng_MergeMesh(Ng_Mesh * mesh, const char* filename); +- +- +-/*! \brief Merge one Netgen Mesh into another Netgen Mesh in the case +- when both are already in memory +- +- (NOTE: FUNCTION STILL WORK IN PROGRESS!!!) +- +- This function can be used to merge two Netgen meshes already present +- in memory. +- +- \param mesh1 Parent Mesh structure into which the second mesh +- will be merged +- \param mesh2 Child mesh structure which will get merged into +- the parent mesh +- \return Ng_Result Status of the merge operation +-*/ +-DLL_HEADER Ng_Result Ng_MergeMesh(Ng_Mesh * mesh1, Ng_Mesh * mesh2); +-// ------------------------------------------------------------------ +- +- +- +-// ------------------------------------------------------------------ +-// Basic Meshing functions for manually adding points, surface elements +-// and volume elements to a Netgen Mesh structure +- +-/*! \brief Add a point to a given Netgen Mesh Structure +- +- This function allows points to be directly added to a Netgen +- mesh structure by providing the co-ordinates. +- +- Each call to the function allows only one point to be added. +- +- \param mesh Pointer to an existing Netgen Mesh structure of +- type #Ng_Mesh +- \param x Pointer to an array of type double containing the co-ordinates +- of the point to be added in the form: \n +- - x[0] = X co-ordinate +- - x[1] = Y co-ordinate +- - x[2] = Z co-ordinate +-*/ +-DLL_HEADER void Ng_AddPoint (Ng_Mesh * mesh, double * x); +- +- +-/*! \brief Add a surface element to a given Netgen Mesh Structure +- +- This function allows the top-level code to directly add individual +- Surface Elements to a Netgen Mesh Structure by providing the type of +- element to be added and the indices of the points which constitute the +- element. +- +- Note: +- - The points referred to by the surface elements must have been +- added prior to calling this function. +- - Currently only triangular elements are supported, and the Surface Element +- Type argument is not used. +- +- \param mesh Pointer to an existing Netgen Mesh structure of +- type #Ng_Mesh +- \param et Surface Element type provided via the enumerated type +- #Ng_Surface_Element_Type +- \param pi Pointer to an array of integers containing the indices of the +- points which constitute the surface element being added +-*/ +-DLL_HEADER void Ng_AddSurfaceElement (Ng_Mesh * mesh, Ng_Surface_Element_Type et, int * pi); +- +- +-/*! \brief Add a volume element to a given Netgen Mesh Structure +- +- This function allows the top-level code to directly add individual +- Volume Elements to a Netgen Mesh Structure by providing the type of +- element to be added and the indices of the points which constitute the +- element. +- +- Note: +- - The points referred to by the volume elements must have been +- added prior to calling this function. +- - Currently only tetrahedral elements are supported, and the Volume Element +- Type argument is not used. +- +- \param mesh Pointer to an existing Netgen Mesh structure of +- type #Ng_Mesh +- \param et Volume Element type provided via the enumerated type +- #Ng_Volume_Element_Type +- \param pi Pointer to an array of integers containing the indices of the +- points which constitute the volume element being added +- +-*/ +-DLL_HEADER void Ng_AddVolumeElement (Ng_Mesh * mesh, Ng_Volume_Element_Type et, int * pi); +- +-// ------------------------------------------------------------------ +- +- +- +-// ------------------------------------------------------------------ +-// Local Mesh Size restriction / limiting utilities +- +-/*! \brief Apply a global restriction on mesh element size +- +- This utility allows the user to apply a global mesh element +- size limitation. +- +- During mesh creation, in the absence of an explicit local +- size restriction around the neighbourhood of a point within +- the meshing domain, this global size restriction will be +- utilised. +- +- Note: This function only limits the Maximum +- size of an element within the mesh. +- +- \param mesh Pointer to an existing Netgen Mesh structure of +- type #Ng_Mesh +- \param h Variable of type double, specifying the maximum +- allowable mesh size +-*/ +-DLL_HEADER void Ng_RestrictMeshSizeGlobal (Ng_Mesh * mesh, double h); +- +- +-/*! \brief Locally restrict the mesh element size at the given point +- +- Unlike the function #Ng_RestrictMeshSizeGlobal, this function +- allows the user to locally restrict the maximum allowable mesh +- size at a given point. +- +- The point is specified via its three cartesian co-ordinates. +- +- Note: This function only limits the Maximum size +- of the elements around the specified point. +- +- \param mesh Pointer to an existing Netgen Mesh structure of +- type #Ng_Mesh +- \param p Pointer to an Array of type double, containing +- the three co-ordinates of the point in the form: \n +- - p[0] = X co-ordinate +- - p[1] = Y co-ordinate +- - p[2] = Z co-ordinate +- \param h Variable of type double, specifying the maximum +- allowable mesh size at that point +-*/ +-DLL_HEADER void Ng_RestrictMeshSizePoint (Ng_Mesh * mesh, double * p, double h); +- +- +-/*! \brief Locally restrict the mesh element size within a specified box +- +- Similar to the function #Ng_RestrictMeshSizePoint, this function +- allows the size of elements within a mesh to be locally limited. +- +- However, rather than limit the mesh size at a single point, this +- utility restricts the local mesh size within a 3D Box region, specified +- via the co-ordinates of the two diagonally opposite points of a cuboid. +- +- Note: This function only limits the Maximum size +- of the elements within the specified region. +- +- \param mesh Pointer to an existing Netgen Mesh structure of +- type #Ng_Mesh +- \param pmin Pointer to an Array of type double, containing +- the three co-ordinates of the first point of the cuboid: \n +- - pmin[0] = X co-ordinate +- - pmin[1] = Y co-ordinate +- - pmin[2] = Z co-ordinate +- \param pmax Pointer to an Array of type double, containing +- the three co-ordinates of the opposite point of the +- cuboid: \n +- - pmax[0] = X co-ordinate +- - pmax[1] = Y co-ordinate +- - pmax[2] = Z co-ordinate +- \param h Variable of type double, specifying the maximum +- allowable mesh size at that point +-*/ +-DLL_HEADER void Ng_RestrictMeshSizeBox (Ng_Mesh * mesh, double * pmin, double * pmax, double h); +- +-// ------------------------------------------------------------------ +- +- +- +-// ------------------------------------------------------------------ +-// 3D Mesh Generation functions +- +-/*! \brief Create a 3D Volume Mesh given a Surface Mesh +- +- After creating a surface mesh, this function can be utilised +- to automatically generate the corresponding 3D Volume Mesh. +- +- Mesh generation parameters (such as grading, maximum element size, +- etc.) are specified via the meshing parameters class which also +- needs to be passed to this function. +- +- Note: Currently, Netgen generates pure tetrahedral volume +- meshes. +- +- \param mesh Pointer to an existing Netgen Mesh structure of +- type #Ng_Mesh +- \param mp Pointer to a copy of the Meshing Parameters class +- (#Ng_Meshing_Parameters), filled up with the +- required values +- +- \return Ng_Result Status of the Mesh Generation routine. More +- details regarding the return value can be +- found in the description of #Ng_Result +-*/ +-DLL_HEADER Ng_Result Ng_GenerateVolumeMesh (Ng_Mesh * mesh, Ng_Meshing_Parameters * mp); +- +-// ------------------------------------------------------------------ +- +- +- +-// ------------------------------------------------------------------ +-// Basic Mesh information functions +- +-/*! \brief Returns the Number of Points present in the specified Mesh +- +- Given an already existent Netgen Mesh Structure, this function +- returns the number of points currently present within the Mesh. +- +- \param mesh Pointer to an existing Netgen Mesh structure of +- type #Ng_Mesh +- \return +- Integer Data-type with the number of points in the Mesh +-*/ +-DLL_HEADER int Ng_GetNP (Ng_Mesh * mesh); +- +- +-/*! \brief Returns the Number of Surface Elements present in the specified Mesh +- +- Given an already existent Netgen Mesh Structure, this function +- returns the number of surface elements currently present within +- the Mesh. +- +- \param mesh Pointer to an existing Netgen Mesh structure of +- type #Ng_Mesh +- \return +- Integer Data-type with the number of surface elements in the Mesh +-*/ +-DLL_HEADER int Ng_GetNSE (Ng_Mesh * mesh); +- +- +-/*! \brief Returns the Number of Volume Elements present in the specified Mesh +- +- Given an already existent Netgen Mesh Structure, this function +- returns the number of volume elements currently present within +- the Mesh. +- +- \param mesh Pointer to an existing Netgen Mesh structure of +- type #Ng_Mesh +- \return +- Integer Data-type with the number of volume elements in the Mesh +-*/ +-DLL_HEADER int Ng_GetNE (Ng_Mesh * mesh); +- +-// ------------------------------------------------------------------ +- +- +- +-// ------------------------------------------------------------------ +-// Mesh Topology functions +-// Use these functions to extract points, surface / volume elements, +-// perform topological searches, etc..etc... +- +-// Return the Point Coordinates of a specified Point +-// The x, y and z co-ordinates are returned in the array pointer as +-// x[0] = x ; x[1] = y ; x[2] = z +-DLL_HEADER void Ng_GetPoint (Ng_Mesh * mesh, int num, double * x); +- +- +- +-// return surface and volume element in pi +-DLL_HEADER Ng_Surface_Element_Type +-Ng_GetSurfaceElement (Ng_Mesh * mesh, int num, int * pi); +- +-DLL_HEADER Ng_Volume_Element_Type +-Ng_GetVolumeElement (Ng_Mesh * mesh, int num, int * pi); +- +-// ------------------------------------------------------------------ +- +- +- +- +-// ********************************************************** +-// ** 2D Meshing ** +-// ********************************************************** +- +- +-// feeds points and boundary to mesh +- +-DLL_HEADER void Ng_AddPoint_2D (Ng_Mesh * mesh, double * x); +-DLL_HEADER void Ng_AddBoundarySeg_2D (Ng_Mesh * mesh, int pi1, int pi2); +- +-// ask for number of points, elements and boundary segments +-DLL_HEADER int Ng_GetNP_2D (Ng_Mesh * mesh); +-DLL_HEADER int Ng_GetNE_2D (Ng_Mesh * mesh); +-DLL_HEADER int Ng_GetNSeg_2D (Ng_Mesh * mesh); +- +-// return point coordinates +-DLL_HEADER void Ng_GetPoint_2D (Ng_Mesh * mesh, int num, double * x); +- +-// return 2d elements +-DLL_HEADER Ng_Surface_Element_Type +-Ng_GetElement_2D (Ng_Mesh * mesh, int num, int * pi, int * matnum = NULL); +- +-// return 2d boundary segment +-DLL_HEADER void Ng_GetSegment_2D (Ng_Mesh * mesh, int num, int * pi, int * matnum = NULL); +- +- +-// load 2d netgen spline geometry +-DLL_HEADER Ng_Geometry_2D * Ng_LoadGeometry_2D (const char * filename); +- +-// generate 2d mesh, mesh is allocated by function +-DLL_HEADER Ng_Result Ng_GenerateMesh_2D (Ng_Geometry_2D * geom, +- Ng_Mesh ** mesh, +- Ng_Meshing_Parameters * mp); +- +-DLL_HEADER void Ng_HP_Refinement (Ng_Geometry_2D * geom, +- Ng_Mesh * mesh, +- int levels); +- +- +- +- +- +-// ********************************************************** +-// ** STL Meshing ** +-// ********************************************************** +- +- +-// loads geometry from STL file +-DLL_HEADER Ng_STL_Geometry * Ng_STL_LoadGeometry (const char * filename, int binary = 0); +- +- +-// generate new STL Geometry +-DLL_HEADER Ng_STL_Geometry * Ng_STL_NewGeometry (); +- +- +-// fills STL Geometry +-// positive orientation +-// normal vector may be null-pointer +-DLL_HEADER void Ng_STL_AddTriangle (Ng_STL_Geometry * geom, +- double * p1, double * p2, double * p3, +- double * nv = NULL); +- +-// add (optional) edges : +-DLL_HEADER void Ng_STL_AddEdge (Ng_STL_Geometry * geom, +- double * p1, double * p2); +- +-// after adding triangles (and edges) initialize +-DLL_HEADER Ng_Result Ng_STL_InitSTLGeometry (Ng_STL_Geometry * geom); +- +-// automatically generates edges: +-DLL_HEADER Ng_Result Ng_STL_MakeEdges (Ng_STL_Geometry * geom, +- Ng_Mesh* mesh, +- Ng_Meshing_Parameters * mp); +- +- +-// generates mesh, empty mesh must be already created. +-DLL_HEADER Ng_Result Ng_STL_GenerateSurfaceMesh (Ng_STL_Geometry * geom, +- Ng_Mesh * mesh, +- Ng_Meshing_Parameters * mp); +- +- +-#ifdef ACIS +- +-// ********************************************************** +-// ** ACIS Meshing ** +-// ********************************************************** +- +-/// Data type for NETGEN STL geomty +-typedef void * Ng_ACIS_Geometry; +- +-// loads geometry from STL file +-DLL_HEADER Ng_ACIS_Geometry * Ng_ACIS_LoadGeometry (const char * filename); +- +-// generates mesh, empty mesh must be already created. +-DLL_HEADER Ng_Result Ng_ACIS_GenerateSurfaceMesh (Ng_ACIS_Geometry * geom, +- Ng_Mesh * mesh, +- Ng_Meshing_Parameters * mp); +- +- +-#endif +- +- +- +-#ifdef OCCGEOMETRY +- +-// ********************************************************** +-// ** OpenCascade Geometry / Meshing Utilities ** +-// ********************************************************** +- +-// Create new OCC Geometry Object +-DLL_HEADER Ng_OCC_Geometry * Ng_OCC_NewGeometry (); +- +-// Delete an OCC Geometry Object +-DLL_HEADER Ng_Result Ng_OCC_DeleteGeometry (Ng_OCC_Geometry * geom); +- +-// Loads geometry from STEP file +-DLL_HEADER Ng_OCC_Geometry * Ng_OCC_Load_STEP (const char * filename); +- +-// Loads geometry from IGES file +-DLL_HEADER Ng_OCC_Geometry * Ng_OCC_Load_IGES (const char * filename); +- +-// Loads geometry from BREP file +-DLL_HEADER Ng_OCC_Geometry * Ng_OCC_Load_BREP (const char * filename); +- +-// Set the local mesh size based on geometry / topology +-DLL_HEADER Ng_Result Ng_OCC_SetLocalMeshSize (Ng_OCC_Geometry * geom, +- Ng_Mesh * mesh, +- Ng_Meshing_Parameters * mp); +- +-// Mesh the edges and add Face descriptors to prepare for surface meshing +-DLL_HEADER Ng_Result Ng_OCC_GenerateEdgeMesh (Ng_OCC_Geometry * geom, +- Ng_Mesh * mesh, +- Ng_Meshing_Parameters * mp); +- +-// Mesh the surfaces of an OCC geometry +-DLL_HEADER Ng_Result Ng_OCC_GenerateSurfaceMesh (Ng_OCC_Geometry * geom, +- Ng_Mesh * mesh, +- Ng_Meshing_Parameters * mp); +- +-// Get the face map of an already loaded OCC geometry +-DLL_HEADER Ng_Result Ng_OCC_GetFMap(Ng_OCC_Geometry * geom, +- Ng_OCC_TopTools_IndexedMapOfShape * FMap); +- +-#endif // OCCGEOMETRY +- +- +- +-// ********************************************************** +-// ** Mesh refinement algorithms ** +-// ********************************************************** +- +-// uniform mesh refinement +-DLL_HEADER void Ng_Uniform_Refinement (Ng_Mesh * mesh); +- +- +-// uniform mesh refinement with geometry adaption: +- +-DLL_HEADER void Ng_2D_Uniform_Refinement (Ng_Geometry_2D * geom, +- Ng_Mesh * mesh); +- +-DLL_HEADER void Ng_STL_Uniform_Refinement (Ng_STL_Geometry * geom, +- Ng_Mesh * mesh); +- +-DLL_HEADER void Ng_CSG_Uniform_Refinement (Ng_CSG_Geometry * geom, +- Ng_Mesh * mesh); +- +-#ifdef OCCGEOMETRY +-DLL_HEADER void Ng_OCC_Uniform_Refinement (Ng_OCC_Geometry * geom, +- Ng_Mesh * mesh); +-#endif +- +- +- +-// ********************************************************** +-// ** Second Order mesh algorithms ** +-// ********************************************************** +- +-// convert mesh to second order +-DLL_HEADER void Ng_Generate_SecondOrder (Ng_Mesh * mesh); +- +- +-// convert mesh to second order with geometry adaption: +- +-DLL_HEADER void Ng_2D_Generate_SecondOrder (Ng_Geometry_2D * geom, +- Ng_Mesh * mesh); +- +-DLL_HEADER void Ng_STL_Generate_SecondOrder (Ng_STL_Geometry * geom, +- Ng_Mesh * mesh); +- +-DLL_HEADER void Ng_CSG_Generate_SecondOrder (Ng_CSG_Geometry * geom, +- Ng_Mesh * mesh); +- +-#ifdef OCCGEOMETRY +-DLL_HEADER void Ng_OCC_Generate_SecondOrder (Ng_OCC_Geometry * geom, +- Ng_Mesh * mesh); +-#endif +- +- +-#endif // NGLIB ++#ifndef NGLIB ++#define NGLIB ++ ++/**************************************************************************/ ++/* File: nglib.h */ ++/* Author: Joachim Schoeberl */ ++/* Date: 7. May. 2000 */ ++/**************************************************************************/ ++ ++/*! ++ \file nglib.h ++ \brief Library interface to the netgen meshing kernel ++ \author Joachim Schoeberl ++ \date 7. May 2000 ++ ++ This header file provides access to the core functionality of the Netgen ++ Mesher via a library interface, without an interactive User Interface. ++ ++ The intention of providing these set of functions is to allow system ++ developers to integrate Netgen into top-level code, to act as the low ++ level mesh generation / optimisation kernel. ++*/ ++ ++// Philippose - 14.02.2009 ++// Modifications for creating a DLL in Windows ++#ifdef WIN32 ++ #if defined NGLIB_EXPORTS || defined nglib_EXPORTS ++ #define DLL_HEADER __declspec(dllexport) ++ #else ++ #define DLL_HEADER __declspec(dllimport) ++ #endif ++#else ++ #define DLL_HEADER ++#endif ++ ++ ++ ++// ** Constants used within Netgen ********************* ++/// Maximum allowed number of nodes per volume element ++#define NG_VOLUME_ELEMENT_MAXPOINTS 10 ++ ++/// Maximum allowed number of nodes per surface element ++#define NG_SURFACE_ELEMENT_MAXPOINTS 8 ++ ++ ++ ++// *** Data-types for accessing Netgen functionality *** ++/// Data type for NETGEN mesh ++typedef void * Ng_Mesh; ++ ++/// Data type for NETGEN CSG geometry ++typedef void * Ng_CSG_Geometry; ++ ++/// Data type for NETGEN 2D geometry ++typedef void * Ng_Geometry_2D; ++ ++/// Data type for NETGEN STL geometry ++typedef void * Ng_STL_Geometry; ++ ++#ifdef OCCGEOMETRY ++/// Data type for NETGEN OpenCascade geometry ++typedef void * Ng_OCC_Geometry; ++typedef void * Ng_OCC_TopTools_IndexedMapOfShape; ++#endif ++ ++ ++// *** Special Enum types used within Netgen *********** ++/// Currently implemented surface element types ++enum Ng_Surface_Element_Type ++ { NG_TRIG = 1, NG_QUAD = 2, NG_TRIG6 = 3, NG_QUAD6 = 4, NG_QUAD8 = 5 }; ++ ++/// Currently implemented volume element types ++enum Ng_Volume_Element_Type ++ { NG_TET = 1, NG_PYRAMID = 2, NG_PRISM = 3, NG_TET10 = 4 }; ++ ++/// Values returned by Netgen functions ++enum Ng_Result ++ { ++ NG_ERROR = -1, ++ NG_OK = 0, ++ NG_SURFACE_INPUT_ERROR = 1, ++ NG_VOLUME_FAILURE = 2, ++ NG_STL_INPUT_ERROR = 3, ++ NG_SURFACE_FAILURE = 4, ++ NG_FILE_NOT_FOUND = 5 ++ }; ++ ++ ++ ++// *** Classes required for use within Netgen ********** ++/// Netgen Meshing Parameters class ++class Ng_Meshing_Parameters ++{ ++public: ++ int uselocalh; //!< Switch to enable / disable usage of local mesh size modifiers ++ ++ double maxh; //!< Maximum global mesh size allowed ++ double minh; //!< Minimum global mesh size allowed ++ ++ double fineness; //!< Mesh density: 0...1 (0 => coarse; 1 => fine) ++ double grading; //!< Mesh grading: 0...1 (0 => uniform mesh; 1 => aggressive local grading) ++ ++ double elementsperedge; //!< Number of elements to generate per edge of the geometry ++ double elementspercurve; //!< Elements to generate per curvature radius ++ ++ int closeedgeenable; //!< Enable / Disable mesh refinement at close edges ++ double closeedgefact; //!< Factor to use for refinement at close edges (larger => finer) ++ ++ int minedgelenenable; //!< Enable / Disable user defined minimum edge length for edge subdivision ++ double minedgelen; //!< Minimum edge length to use while subdividing the edges (default = 1e-4) ++ ++ int second_order; //!< Generate second-order surface and volume elements ++ int quad_dominated; //!< Creates a Quad-dominated mesh ++ ++ char * meshsize_filename; //!< Optional external mesh size file ++ ++ int optsurfmeshenable; //!< Enable / Disable automatic surface mesh optimization ++ int optvolmeshenable; //!< Enable / Disable automatic volume mesh optimization ++ ++ int optsteps_3d; //!< Number of optimize steps to use for 3-D mesh optimization ++ int optsteps_2d; //!< Number of optimize steps to use for 2-D mesh optimization ++ ++ // Philippose - 13/09/2010 ++ // Added a couple more parameters into the meshing parameters list ++ // from Netgen into Nglib ++ int invert_tets; //!< Invert all the volume elements ++ int invert_trigs; //!< Invert all the surface triangle elements ++ ++ int check_overlap; //!< Check for overlapping surfaces during Surface meshing ++ int check_overlapping_boundary; //!< Check for overlapping surface elements before volume meshing ++ ++ ++ /*! ++ Default constructor for the Mesh Parameters class ++ ++ Note: This constructor initialises the variables in the ++ class with the following default values ++ - #uselocalh: 1 ++ - #maxh: 1000.0 ++ - #fineness: 0.5 ++ - #grading: 0.3 ++ - #elementsperedge: 2.0 ++ - #elementspercurve: 2.0 ++ - #closeedgeenable: 0 ++ - #closeedgefact: 2.0 ++ - #secondorder: 0 ++ - #meshsize_filename: null ++ - #quad_dominated: 0 ++ - #optsurfmeshenable: 1 ++ - #optvolmeshenable: 1 ++ - #optsteps_2d: 3 ++ - #optsteps_3d: 3 ++ - #invert_tets: 0 ++ - #invert_trigs:0 ++ - #check_overlap: 1 ++ - #check_overlapping_boundary: 1 ++ */ ++ DLL_HEADER Ng_Meshing_Parameters(); ++ ++ ++ ++ /*! ++ Reset the meshing parameters to their defaults ++ ++ This member function resets all the meshing parameters ++ of the object to the default values ++ */ ++ DLL_HEADER void Reset_Parameters(); ++ ++ ++ ++ /*! ++ Transfer local meshing parameters to internal meshing parameters ++ ++ This member function transfers all the meshing parameters ++ defined in the local meshing parameters structure of nglib into ++ the internal meshing parameters structure used by the Netgen core ++ */ ++ DLL_HEADER void Transfer_Parameters(); ++}; ++ ++ ++ ++ ++// *** Functions Exported by this Library ************* ++ ++// ------------------------------------------------------------------ ++// Netgen library initialisation / destruction functions ++ ++/*! \brief Initialise the Netgen library and prepare for use ++ ++ This function needs to be called by the third-party ++ program before beginning to use the other Netgen ++ specific functions. ++*/ ++DLL_HEADER void Ng_Init (); ++ ++ ++/*! \brief Exit the Netgen meshing kernel in a clean manner ++ ++ Use this function to exit the meshing sub-system in ++ a clean and orderly manner. ++*/ ++DLL_HEADER void Ng_Exit (); ++ ++ ++/*! \brief Create a new (and empty) Netgen Mesh Structure ++ ++ This function creates a new Netgen Mesh, initialises ++ it, and returns a pointer to the created mesh structure. ++ ++ Use the returned pointer for subsequent operations ++ which involve mesh operations. ++ ++ \return Ng_Mesh Pointer to a Netgen Mesh type #Ng_Mesh ++*/ ++DLL_HEADER Ng_Mesh * Ng_NewMesh (); ++ ++ ++/*! \brief Delete an existing Netgen Mesh Structure ++ ++ Use this function to delete an existing Netgen mesh ++ structure and release the used memory. ++ ++ \param mesh Pointer to an existing Netgen Mesh structure ++ of type #Ng_Mesh ++*/ ++DLL_HEADER void Ng_DeleteMesh (Ng_Mesh * mesh); ++ ++ ++/*! \brief Save a Netgen Mesh to disk ++ ++ This function allows a generated mesh structure to be saved ++ to disk. ++ ++ A Mesh saved using this function, will be written to disk ++ in the Netgen VOL file format. ++ ++ \param mesh Pointer to an existing Netgen Mesh structure ++ of type #Ng_Mesh ++ \param filename Pointer to a character array containing the ++ name of the file to which the mesh should ++ be saved ++*/ ++DLL_HEADER void Ng_SaveMesh(Ng_Mesh * mesh, const char* filename); ++ ++ ++/*! \brief Load a Netgen VOL Mesh from disk into memory ++ ++ A Netgen mesh saved in the internal VOL format can be loaded ++ into a Netgen Mesh structure using this function. ++ ++ \param filename Pointer to a character array containing the ++ name of the file to load ++ \return Ng_Mesh Pointer to a Netgen Mesh type #Ng_Mesh containing ++ the mesh loaded from disk ++*/ ++DLL_HEADER Ng_Mesh * Ng_LoadMesh(const char* filename); ++ ++ ++/*! \brief Merge a Netgen VOL Mesh from disk into an existing mesh in memory ++ ++ A Netgen mesh saved in the internal VOL format can be merged ++ into an existing Netgen Mesh structure using this function. ++ ++ \param mesh Name of the Mesh structure already existent in memory ++ \param filename Pointer to a character array containing the ++ name of the file to load ++ \return Ng_Result Status of the merge operation ++*/ ++DLL_HEADER Ng_Result Ng_MergeMesh(Ng_Mesh * mesh, const char* filename); ++ ++ ++/*! \brief Merge one Netgen Mesh into another Netgen Mesh in the case ++ when both are already in memory ++ ++ (NOTE: FUNCTION STILL WORK IN PROGRESS!!!) ++ ++ This function can be used to merge two Netgen meshes already present ++ in memory. ++ ++ \param mesh1 Parent Mesh structure into which the second mesh ++ will be merged ++ \param mesh2 Child mesh structure which will get merged into ++ the parent mesh ++ \return Ng_Result Status of the merge operation ++*/ ++DLL_HEADER Ng_Result Ng_MergeMesh(Ng_Mesh * mesh1, Ng_Mesh * mesh2); ++// ------------------------------------------------------------------ ++ ++ ++ ++// ------------------------------------------------------------------ ++// Basic Meshing functions for manually adding points, surface elements ++// and volume elements to a Netgen Mesh structure ++ ++/*! \brief Add a point to a given Netgen Mesh Structure ++ ++ This function allows points to be directly added to a Netgen ++ mesh structure by providing the co-ordinates. ++ ++ Each call to the function allows only one point to be added. ++ ++ \param mesh Pointer to an existing Netgen Mesh structure of ++ type #Ng_Mesh ++ \param x Pointer to an array of type double containing the co-ordinates ++ of the point to be added in the form: \n ++ - x[0] = X co-ordinate ++ - x[1] = Y co-ordinate ++ - x[2] = Z co-ordinate ++*/ ++DLL_HEADER void Ng_AddPoint (Ng_Mesh * mesh, double * x); ++ ++ ++/*! \brief Add a surface element to a given Netgen Mesh Structure ++ ++ This function allows the top-level code to directly add individual ++ Surface Elements to a Netgen Mesh Structure by providing the type of ++ element to be added and the indices of the points which constitute the ++ element. ++ ++ Note: ++ - The points referred to by the surface elements must have been ++ added prior to calling this function. ++ - Currently only triangular elements are supported, and the Surface Element ++ Type argument is not used. ++ ++ \param mesh Pointer to an existing Netgen Mesh structure of ++ type #Ng_Mesh ++ \param et Surface Element type provided via the enumerated type ++ #Ng_Surface_Element_Type ++ \param pi Pointer to an array of integers containing the indices of the ++ points which constitute the surface element being added ++*/ ++DLL_HEADER void Ng_AddSurfaceElement (Ng_Mesh * mesh, Ng_Surface_Element_Type et, int * pi); ++ ++ ++/*! \brief Add a volume element to a given Netgen Mesh Structure ++ ++ This function allows the top-level code to directly add individual ++ Volume Elements to a Netgen Mesh Structure by providing the type of ++ element to be added and the indices of the points which constitute the ++ element. ++ ++ Note: ++ - The points referred to by the volume elements must have been ++ added prior to calling this function. ++ - Currently only tetrahedral elements are supported, and the Volume Element ++ Type argument is not used. ++ ++ \param mesh Pointer to an existing Netgen Mesh structure of ++ type #Ng_Mesh ++ \param et Volume Element type provided via the enumerated type ++ #Ng_Volume_Element_Type ++ \param pi Pointer to an array of integers containing the indices of the ++ points which constitute the volume element being added ++ ++*/ ++DLL_HEADER void Ng_AddVolumeElement (Ng_Mesh * mesh, Ng_Volume_Element_Type et, int * pi); ++ ++// ------------------------------------------------------------------ ++ ++ ++ ++// ------------------------------------------------------------------ ++// Local Mesh Size restriction / limiting utilities ++ ++/*! \brief Apply a global restriction on mesh element size ++ ++ This utility allows the user to apply a global mesh element ++ size limitation. ++ ++ During mesh creation, in the absence of an explicit local ++ size restriction around the neighbourhood of a point within ++ the meshing domain, this global size restriction will be ++ utilised. ++ ++ Note: This function only limits the Maximum ++ size of an element within the mesh. ++ ++ \param mesh Pointer to an existing Netgen Mesh structure of ++ type #Ng_Mesh ++ \param h Variable of type double, specifying the maximum ++ allowable mesh size ++*/ ++DLL_HEADER void Ng_RestrictMeshSizeGlobal (Ng_Mesh * mesh, double h); ++ ++ ++/*! \brief Locally restrict the mesh element size at the given point ++ ++ Unlike the function #Ng_RestrictMeshSizeGlobal, this function ++ allows the user to locally restrict the maximum allowable mesh ++ size at a given point. ++ ++ The point is specified via its three cartesian co-ordinates. ++ ++ Note: This function only limits the Maximum size ++ of the elements around the specified point. ++ ++ \param mesh Pointer to an existing Netgen Mesh structure of ++ type #Ng_Mesh ++ \param p Pointer to an Array of type double, containing ++ the three co-ordinates of the point in the form: \n ++ - p[0] = X co-ordinate ++ - p[1] = Y co-ordinate ++ - p[2] = Z co-ordinate ++ \param h Variable of type double, specifying the maximum ++ allowable mesh size at that point ++*/ ++DLL_HEADER void Ng_RestrictMeshSizePoint (Ng_Mesh * mesh, double * p, double h); ++ ++ ++/*! \brief Locally restrict the mesh element size within a specified box ++ ++ Similar to the function #Ng_RestrictMeshSizePoint, this function ++ allows the size of elements within a mesh to be locally limited. ++ ++ However, rather than limit the mesh size at a single point, this ++ utility restricts the local mesh size within a 3D Box region, specified ++ via the co-ordinates of the two diagonally opposite points of a cuboid. ++ ++ Note: This function only limits the Maximum size ++ of the elements within the specified region. ++ ++ \param mesh Pointer to an existing Netgen Mesh structure of ++ type #Ng_Mesh ++ \param pmin Pointer to an Array of type double, containing ++ the three co-ordinates of the first point of the cuboid: \n ++ - pmin[0] = X co-ordinate ++ - pmin[1] = Y co-ordinate ++ - pmin[2] = Z co-ordinate ++ \param pmax Pointer to an Array of type double, containing ++ the three co-ordinates of the opposite point of the ++ cuboid: \n ++ - pmax[0] = X co-ordinate ++ - pmax[1] = Y co-ordinate ++ - pmax[2] = Z co-ordinate ++ \param h Variable of type double, specifying the maximum ++ allowable mesh size at that point ++*/ ++DLL_HEADER void Ng_RestrictMeshSizeBox (Ng_Mesh * mesh, double * pmin, double * pmax, double h); ++ ++// ------------------------------------------------------------------ ++ ++ ++ ++// ------------------------------------------------------------------ ++// 3D Mesh Generation functions ++ ++/*! \brief Create a 3D Volume Mesh given a Surface Mesh ++ ++ After creating a surface mesh, this function can be utilised ++ to automatically generate the corresponding 3D Volume Mesh. ++ ++ Mesh generation parameters (such as grading, maximum element size, ++ etc.) are specified via the meshing parameters class which also ++ needs to be passed to this function. ++ ++ Note: Currently, Netgen generates pure tetrahedral volume ++ meshes. ++ ++ \param mesh Pointer to an existing Netgen Mesh structure of ++ type #Ng_Mesh ++ \param mp Pointer to a copy of the Meshing Parameters class ++ (#Ng_Meshing_Parameters), filled up with the ++ required values ++ ++ \return Ng_Result Status of the Mesh Generation routine. More ++ details regarding the return value can be ++ found in the description of #Ng_Result ++*/ ++DLL_HEADER Ng_Result Ng_GenerateVolumeMesh (Ng_Mesh * mesh, Ng_Meshing_Parameters * mp); ++ ++// ------------------------------------------------------------------ ++ ++ ++ ++// ------------------------------------------------------------------ ++// Basic Mesh information functions ++ ++/*! \brief Returns the Number of Points present in the specified Mesh ++ ++ Given an already existent Netgen Mesh Structure, this function ++ returns the number of points currently present within the Mesh. ++ ++ \param mesh Pointer to an existing Netgen Mesh structure of ++ type #Ng_Mesh ++ \return ++ Integer Data-type with the number of points in the Mesh ++*/ ++DLL_HEADER int Ng_GetNP (Ng_Mesh * mesh); ++ ++ ++/*! \brief Returns the Number of Surface Elements present in the specified Mesh ++ ++ Given an already existent Netgen Mesh Structure, this function ++ returns the number of surface elements currently present within ++ the Mesh. ++ ++ \param mesh Pointer to an existing Netgen Mesh structure of ++ type #Ng_Mesh ++ \return ++ Integer Data-type with the number of surface elements in the Mesh ++*/ ++DLL_HEADER int Ng_GetNSE (Ng_Mesh * mesh); ++ ++ ++/*! \brief Returns the Number of Volume Elements present in the specified Mesh ++ ++ Given an already existent Netgen Mesh Structure, this function ++ returns the number of volume elements currently present within ++ the Mesh. ++ ++ \param mesh Pointer to an existing Netgen Mesh structure of ++ type #Ng_Mesh ++ \return ++ Integer Data-type with the number of volume elements in the Mesh ++*/ ++DLL_HEADER int Ng_GetNE (Ng_Mesh * mesh); ++ ++// ------------------------------------------------------------------ ++ ++ ++ ++// ------------------------------------------------------------------ ++// Mesh Topology functions ++// Use these functions to extract points, surface / volume elements, ++// perform topological searches, etc..etc... ++ ++// Return the Point Coordinates of a specified Point ++// The x, y and z co-ordinates are returned in the array pointer as ++// x[0] = x ; x[1] = y ; x[2] = z ++DLL_HEADER void Ng_GetPoint (Ng_Mesh * mesh, int num, double * x); ++ ++ ++ ++// return surface and volume element in pi ++DLL_HEADER Ng_Surface_Element_Type ++Ng_GetSurfaceElement (Ng_Mesh * mesh, int num, int * pi); ++ ++DLL_HEADER Ng_Volume_Element_Type ++Ng_GetVolumeElement (Ng_Mesh * mesh, int num, int * pi); ++ ++// ------------------------------------------------------------------ ++ ++ ++ ++ ++// ********************************************************** ++// ** 2D Meshing ** ++// ********************************************************** ++ ++ ++// feeds points and boundary to mesh ++ ++DLL_HEADER void Ng_AddPoint_2D (Ng_Mesh * mesh, double * x); ++DLL_HEADER void Ng_AddBoundarySeg_2D (Ng_Mesh * mesh, int pi1, int pi2); ++ ++// ask for number of points, elements and boundary segments ++DLL_HEADER int Ng_GetNP_2D (Ng_Mesh * mesh); ++DLL_HEADER int Ng_GetNE_2D (Ng_Mesh * mesh); ++DLL_HEADER int Ng_GetNSeg_2D (Ng_Mesh * mesh); ++ ++// return point coordinates ++DLL_HEADER void Ng_GetPoint_2D (Ng_Mesh * mesh, int num, double * x); ++ ++// return 2d elements ++DLL_HEADER Ng_Surface_Element_Type ++Ng_GetElement_2D (Ng_Mesh * mesh, int num, int * pi, int * matnum = NULL); ++ ++// return 2d boundary segment ++DLL_HEADER void Ng_GetSegment_2D (Ng_Mesh * mesh, int num, int * pi, int * matnum = NULL); ++ ++ ++// load 2d netgen spline geometry ++DLL_HEADER Ng_Geometry_2D * Ng_LoadGeometry_2D (const char * filename); ++ ++// generate 2d mesh, mesh is allocated by function ++DLL_HEADER Ng_Result Ng_GenerateMesh_2D (Ng_Geometry_2D * geom, ++ Ng_Mesh ** mesh, ++ Ng_Meshing_Parameters * mp); ++ ++DLL_HEADER void Ng_HP_Refinement (Ng_Geometry_2D * geom, ++ Ng_Mesh * mesh, ++ int levels); ++ ++ ++ ++ ++ ++// ********************************************************** ++// ** STL Meshing ** ++// ********************************************************** ++ ++ ++// loads geometry from STL file ++DLL_HEADER Ng_STL_Geometry * Ng_STL_LoadGeometry (const char * filename, int binary = 0); ++ ++ ++// generate new STL Geometry ++DLL_HEADER Ng_STL_Geometry * Ng_STL_NewGeometry (); ++ ++ ++// fills STL Geometry ++// positive orientation ++// normal vector may be null-pointer ++DLL_HEADER void Ng_STL_AddTriangle (Ng_STL_Geometry * geom, ++ double * p1, double * p2, double * p3, ++ double * nv = NULL); ++ ++// add (optional) edges : ++DLL_HEADER void Ng_STL_AddEdge (Ng_STL_Geometry * geom, ++ double * p1, double * p2); ++ ++// after adding triangles (and edges) initialize ++DLL_HEADER Ng_Result Ng_STL_InitSTLGeometry (Ng_STL_Geometry * geom); ++ ++// automatically generates edges: ++DLL_HEADER Ng_Result Ng_STL_MakeEdges (Ng_STL_Geometry * geom, ++ Ng_Mesh* mesh, ++ Ng_Meshing_Parameters * mp); ++ ++ ++// generates mesh, empty mesh must be already created. ++DLL_HEADER Ng_Result Ng_STL_GenerateSurfaceMesh (Ng_STL_Geometry * geom, ++ Ng_Mesh * mesh, ++ Ng_Meshing_Parameters * mp); ++ ++ ++#ifdef ACIS ++ ++// ********************************************************** ++// ** ACIS Meshing ** ++// ********************************************************** ++ ++/// Data type for NETGEN STL geomty ++typedef void * Ng_ACIS_Geometry; ++ ++// loads geometry from STL file ++DLL_HEADER Ng_ACIS_Geometry * Ng_ACIS_LoadGeometry (const char * filename); ++ ++// generates mesh, empty mesh must be already created. ++DLL_HEADER Ng_Result Ng_ACIS_GenerateSurfaceMesh (Ng_ACIS_Geometry * geom, ++ Ng_Mesh * mesh, ++ Ng_Meshing_Parameters * mp); ++ ++ ++#endif ++ ++ ++ ++#ifdef OCCGEOMETRY ++ ++// ********************************************************** ++// ** OpenCascade Geometry / Meshing Utilities ** ++// ********************************************************** ++ ++// Create new OCC Geometry Object ++DLL_HEADER Ng_OCC_Geometry * Ng_OCC_NewGeometry (); ++ ++// Delete an OCC Geometry Object ++DLL_HEADER Ng_Result Ng_OCC_DeleteGeometry (Ng_OCC_Geometry * geom); ++ ++// Loads geometry from STEP file ++DLL_HEADER Ng_OCC_Geometry * Ng_OCC_Load_STEP (const char * filename); ++ ++// Loads geometry from IGES file ++DLL_HEADER Ng_OCC_Geometry * Ng_OCC_Load_IGES (const char * filename); ++ ++// Loads geometry from BREP file ++DLL_HEADER Ng_OCC_Geometry * Ng_OCC_Load_BREP (const char * filename); ++ ++// Set the local mesh size based on geometry / topology ++DLL_HEADER Ng_Result Ng_OCC_SetLocalMeshSize (Ng_OCC_Geometry * geom, ++ Ng_Mesh * mesh, ++ Ng_Meshing_Parameters * mp); ++ ++// Mesh the edges and add Face descriptors to prepare for surface meshing ++DLL_HEADER Ng_Result Ng_OCC_GenerateEdgeMesh (Ng_OCC_Geometry * geom, ++ Ng_Mesh * mesh, ++ Ng_Meshing_Parameters * mp); ++ ++// Mesh the surfaces of an OCC geometry ++DLL_HEADER Ng_Result Ng_OCC_GenerateSurfaceMesh (Ng_OCC_Geometry * geom, ++ Ng_Mesh * mesh, ++ Ng_Meshing_Parameters * mp); ++ ++// Get the face map of an already loaded OCC geometry ++DLL_HEADER Ng_Result Ng_OCC_GetFMap(Ng_OCC_Geometry * geom, ++ Ng_OCC_TopTools_IndexedMapOfShape * FMap); ++ ++#endif // OCCGEOMETRY ++ ++ ++ ++// ********************************************************** ++// ** Mesh refinement algorithms ** ++// ********************************************************** ++ ++// uniform mesh refinement ++DLL_HEADER void Ng_Uniform_Refinement (Ng_Mesh * mesh); ++ ++ ++// uniform mesh refinement with geometry adaption: ++ ++DLL_HEADER void Ng_2D_Uniform_Refinement (Ng_Geometry_2D * geom, ++ Ng_Mesh * mesh); ++ ++DLL_HEADER void Ng_STL_Uniform_Refinement (Ng_STL_Geometry * geom, ++ Ng_Mesh * mesh); ++ ++DLL_HEADER void Ng_CSG_Uniform_Refinement (Ng_CSG_Geometry * geom, ++ Ng_Mesh * mesh); ++ ++#ifdef OCCGEOMETRY ++DLL_HEADER void Ng_OCC_Uniform_Refinement (Ng_OCC_Geometry * geom, ++ Ng_Mesh * mesh); ++#endif ++ ++ ++ ++// ********************************************************** ++// ** Second Order mesh algorithms ** ++// ********************************************************** ++ ++// convert mesh to second order ++DLL_HEADER void Ng_Generate_SecondOrder (Ng_Mesh * mesh); ++ ++ ++// convert mesh to second order with geometry adaption: ++ ++DLL_HEADER void Ng_2D_Generate_SecondOrder (Ng_Geometry_2D * geom, ++ Ng_Mesh * mesh); ++ ++DLL_HEADER void Ng_STL_Generate_SecondOrder (Ng_STL_Geometry * geom, ++ Ng_Mesh * mesh); ++ ++DLL_HEADER void Ng_CSG_Generate_SecondOrder (Ng_CSG_Geometry * geom, ++ Ng_Mesh * mesh); ++ ++#ifdef OCCGEOMETRY ++DLL_HEADER void Ng_OCC_Generate_SecondOrder (Ng_OCC_Geometry * geom, ++ Ng_Mesh * mesh); ++#endif ++ ++ ++#endif // NGLIB +diff -Naur netgen-5.3.1_SRC_orig/tutorials/frame.step netgen-5.3.1_SRC_modif/tutorials/frame.step +--- netgen-5.3.1_SRC_orig/tutorials/frame.step 2014-08-29 13:53:58.000000000 +0400 ++++ netgen-5.3.1_SRC_modif/tutorials/frame.step 2018-03-01 15:44:37.254254730 +0300 +@@ -1,11683 +1,11683 @@ +-ISO-10303-21; +-HEADER; +-FILE_DESCRIPTION((''),'2;1'); +-FILE_NAME('PROESOURCE','2002-11-04T',('user-01'),(''), +-'PRO/ENGINEER BY PARAMETRIC TECHNOLOGY CORPORATION, 2002060', +-'PRO/ENGINEER BY PARAMETRIC TECHNOLOGY CORPORATION, 2002060',''); +-FILE_SCHEMA(('CONFIG_CONTROL_DESIGN')); +-ENDSEC; +-DATA; +-#1=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#2=VECTOR('',#1,1.693725393319E1); +-#3=CARTESIAN_POINT('',(2.046862696660E1,0.E0,8.E0)); +-#4=LINE('',#3,#2); +-#5=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#6=VECTOR('',#5,9.E0); +-#7=CARTESIAN_POINT('',(1.65E1,0.E0,2.5E0)); +-#8=LINE('',#7,#6); +-#9=CARTESIAN_POINT('',(1.8E1,0.E0,3.075E1)); +-#10=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#11=DIRECTION('',(1.E0,0.E0,0.E0)); +-#12=AXIS2_PLACEMENT_3D('',#9,#10,#11); +-#14=CARTESIAN_POINT('',(1.8E1,0.E0,3.075E1)); +-#15=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#16=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#17=AXIS2_PLACEMENT_3D('',#14,#15,#16); +-#19=CARTESIAN_POINT('',(1.8E1,0.E0,1.25E0)); +-#20=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#21=DIRECTION('',(1.E0,0.E0,0.E0)); +-#22=AXIS2_PLACEMENT_3D('',#19,#20,#21); +-#24=CARTESIAN_POINT('',(1.8E1,0.E0,1.25E0)); +-#25=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#26=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#27=AXIS2_PLACEMENT_3D('',#24,#25,#26); +-#29=CARTESIAN_POINT('',(1.2E1,0.E0,3.075E1)); +-#30=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#31=DIRECTION('',(1.E0,0.E0,0.E0)); +-#32=AXIS2_PLACEMENT_3D('',#29,#30,#31); +-#34=CARTESIAN_POINT('',(1.2E1,0.E0,3.075E1)); +-#35=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#36=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#37=AXIS2_PLACEMENT_3D('',#34,#35,#36); +-#39=CARTESIAN_POINT('',(6.E0,0.E0,3.075E1)); +-#40=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#41=DIRECTION('',(1.E0,0.E0,0.E0)); +-#42=AXIS2_PLACEMENT_3D('',#39,#40,#41); +-#44=CARTESIAN_POINT('',(6.E0,0.E0,3.075E1)); +-#45=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#46=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#47=AXIS2_PLACEMENT_3D('',#44,#45,#46); +-#49=CARTESIAN_POINT('',(1.2E1,0.E0,1.25E0)); +-#50=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#51=DIRECTION('',(1.E0,0.E0,0.E0)); +-#52=AXIS2_PLACEMENT_3D('',#49,#50,#51); +-#54=CARTESIAN_POINT('',(1.2E1,0.E0,1.25E0)); +-#55=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#56=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#57=AXIS2_PLACEMENT_3D('',#54,#55,#56); +-#59=CARTESIAN_POINT('',(2.2875E1,0.E0,2.4E1)); +-#60=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#61=DIRECTION('',(1.E0,0.E0,0.E0)); +-#62=AXIS2_PLACEMENT_3D('',#59,#60,#61); +-#64=CARTESIAN_POINT('',(2.2875E1,0.E0,2.4E1)); +-#65=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#66=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#67=AXIS2_PLACEMENT_3D('',#64,#65,#66); +-#69=CARTESIAN_POINT('',(2.2875E1,0.E0,1.8E1)); +-#70=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#71=DIRECTION('',(1.E0,0.E0,0.E0)); +-#72=AXIS2_PLACEMENT_3D('',#69,#70,#71); +-#74=CARTESIAN_POINT('',(2.2875E1,0.E0,1.8E1)); +-#75=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#76=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#77=AXIS2_PLACEMENT_3D('',#74,#75,#76); +-#79=CARTESIAN_POINT('',(2.2875E1,0.E0,1.2E1)); +-#80=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#81=DIRECTION('',(1.E0,0.E0,0.E0)); +-#82=AXIS2_PLACEMENT_3D('',#79,#80,#81); +-#84=CARTESIAN_POINT('',(2.2875E1,0.E0,1.2E1)); +-#85=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#86=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#87=AXIS2_PLACEMENT_3D('',#84,#85,#86); +-#89=CARTESIAN_POINT('',(2.2875E1,0.E0,6.E0)); +-#90=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#91=DIRECTION('',(1.E0,0.E0,0.E0)); +-#92=AXIS2_PLACEMENT_3D('',#89,#90,#91); +-#94=CARTESIAN_POINT('',(2.2875E1,0.E0,6.E0)); +-#95=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#96=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#97=AXIS2_PLACEMENT_3D('',#94,#95,#96); +-#99=CARTESIAN_POINT('',(1.125E0,0.E0,2.4E1)); +-#100=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#101=DIRECTION('',(1.E0,0.E0,0.E0)); +-#102=AXIS2_PLACEMENT_3D('',#99,#100,#101); +-#104=CARTESIAN_POINT('',(1.125E0,0.E0,2.4E1)); +-#105=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#106=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#107=AXIS2_PLACEMENT_3D('',#104,#105,#106); +-#109=CARTESIAN_POINT('',(1.125E0,0.E0,1.8E1)); +-#110=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#111=DIRECTION('',(1.E0,0.E0,0.E0)); +-#112=AXIS2_PLACEMENT_3D('',#109,#110,#111); +-#114=CARTESIAN_POINT('',(1.125E0,0.E0,1.8E1)); +-#115=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#116=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#117=AXIS2_PLACEMENT_3D('',#114,#115,#116); +-#119=CARTESIAN_POINT('',(1.125E0,0.E0,1.2E1)); +-#120=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#121=DIRECTION('',(1.E0,0.E0,0.E0)); +-#122=AXIS2_PLACEMENT_3D('',#119,#120,#121); +-#124=CARTESIAN_POINT('',(1.125E0,0.E0,1.2E1)); +-#125=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#126=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#127=AXIS2_PLACEMENT_3D('',#124,#125,#126); +-#129=DIRECTION('',(1.E0,0.E0,0.E0)); +-#130=VECTOR('',#129,1.E0); +-#131=CARTESIAN_POINT('',(2.5E1,0.E0,8.E0)); +-#132=LINE('',#131,#130); +-#133=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#134=VECTOR('',#133,3.E0); +-#135=CARTESIAN_POINT('',(2.4E1,0.E0,7.E0)); +-#136=LINE('',#135,#134); +-#137=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#138=VECTOR('',#137,1.6E1); +-#139=CARTESIAN_POINT('',(2.E1,0.E0,0.E0)); +-#140=LINE('',#139,#138); +-#141=DIRECTION('',(0.E0,0.E0,1.E0)); +-#142=VECTOR('',#141,3.E0); +-#143=CARTESIAN_POINT('',(0.E0,0.E0,4.E0)); +-#144=LINE('',#143,#142); +-#145=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#146=VECTOR('',#145,1.E0); +-#147=CARTESIAN_POINT('',(-1.E0,0.E0,8.E0)); +-#148=LINE('',#147,#146); +-#149=DIRECTION('',(0.E0,0.E0,1.E0)); +-#150=VECTOR('',#149,3.75E0); +-#151=CARTESIAN_POINT('',(-2.E0,0.E0,8.E0)); +-#152=LINE('',#151,#150); +-#153=DIRECTION('',(1.E0,0.E0,0.E0)); +-#154=VECTOR('',#153,5.E-1); +-#155=CARTESIAN_POINT('',(-1.5E0,0.E0,1.225E1)); +-#156=LINE('',#155,#154); +-#157=DIRECTION('',(0.E0,0.E0,1.E0)); +-#158=VECTOR('',#157,1.475E1); +-#159=CARTESIAN_POINT('',(0.E0,0.E0,1.325E1)); +-#160=LINE('',#159,#158); +-#161=DIRECTION('',(1.E0,0.E0,0.E0)); +-#162=VECTOR('',#161,1.6E1); +-#163=CARTESIAN_POINT('',(4.E0,0.E0,3.2E1)); +-#164=LINE('',#163,#162); +-#165=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#166=VECTOR('',#165,1.475E1); +-#167=CARTESIAN_POINT('',(2.4E1,0.E0,2.8E1)); +-#168=LINE('',#167,#166); +-#169=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#170=VECTOR('',#169,5.E-1); +-#171=CARTESIAN_POINT('',(2.55E1,0.E0,1.225E1)); +-#172=LINE('',#171,#170); +-#173=DIRECTION('',(0.E0,0.E0,1.E0)); +-#174=VECTOR('',#173,3.75E0); +-#175=CARTESIAN_POINT('',(2.6E1,0.E0,8.E0)); +-#176=LINE('',#175,#174); +-#177=CARTESIAN_POINT('',(1.125E0,0.E0,6.E0)); +-#178=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#179=DIRECTION('',(1.E0,0.E0,0.E0)); +-#180=AXIS2_PLACEMENT_3D('',#177,#178,#179); +-#182=CARTESIAN_POINT('',(1.125E0,0.E0,6.E0)); +-#183=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#184=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#185=AXIS2_PLACEMENT_3D('',#182,#183,#184); +-#187=CARTESIAN_POINT('',(6.E0,0.E0,1.25E0)); +-#188=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#189=DIRECTION('',(1.E0,0.E0,0.E0)); +-#190=AXIS2_PLACEMENT_3D('',#187,#188,#189); +-#192=CARTESIAN_POINT('',(6.E0,0.E0,1.25E0)); +-#193=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#194=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#195=AXIS2_PLACEMENT_3D('',#192,#193,#194); +-#197=DIRECTION('',(1.E0,0.E0,0.E0)); +-#198=VECTOR('',#197,1.3E1); +-#199=CARTESIAN_POINT('',(5.5E0,0.E0,1.89375E1)); +-#200=LINE('',#199,#198); +-#201=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#202=VECTOR('',#201,2.5625E0); +-#203=CARTESIAN_POINT('',(2.15E1,0.E0,2.45E1)); +-#204=LINE('',#203,#202); +-#205=DIRECTION('',(1.E0,0.E0,0.E0)); +-#206=VECTOR('',#205,9.E0); +-#207=CARTESIAN_POINT('',(7.5E0,0.E0,2.95E1)); +-#208=LINE('',#207,#206); +-#209=DIRECTION('',(0.E0,0.E0,1.E0)); +-#210=VECTOR('',#209,2.5625E0); +-#211=CARTESIAN_POINT('',(2.5E0,0.E0,2.19375E1)); +-#212=LINE('',#211,#210); +-#213=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#214=VECTOR('',#213,8.125E-1); +-#215=CARTESIAN_POINT('',(2.15E1,0.E0,1.40625E1)); +-#216=LINE('',#215,#214); +-#217=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#218=VECTOR('',#217,1.3E1); +-#219=CARTESIAN_POINT('',(1.85E1,0.E0,1.70625E1)); +-#220=LINE('',#219,#218); +-#221=DIRECTION('',(0.E0,0.E0,1.E0)); +-#222=VECTOR('',#221,8.125E-1); +-#223=CARTESIAN_POINT('',(2.5E0,0.E0,1.325E1)); +-#224=LINE('',#223,#222); +-#225=DIRECTION('',(1.E0,0.E0,0.E0)); +-#226=VECTOR('',#225,1.E0); +-#227=CARTESIAN_POINT('',(3.5E0,0.E0,1.225E1)); +-#228=LINE('',#227,#226); +-#229=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#230=VECTOR('',#229,7.5E-1); +-#231=CARTESIAN_POINT('',(5.E0,0.E0,1.175E1)); +-#232=LINE('',#231,#230); +-#233=DIRECTION('',(1.E0,0.E0,0.E0)); +-#234=VECTOR('',#233,1.2E1); +-#235=CARTESIAN_POINT('',(6.E0,0.E0,1.E1)); +-#236=LINE('',#235,#234); +-#237=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#238=VECTOR('',#237,7.5E-1); +-#239=CARTESIAN_POINT('',(1.9E1,0.E0,1.175E1)); +-#240=LINE('',#239,#238); +-#241=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#242=VECTOR('',#241,1.E0); +-#243=CARTESIAN_POINT('',(2.05E1,0.E0,1.225E1)); +-#244=LINE('',#243,#242); +-#245=CARTESIAN_POINT('',(6.E0,0.E0,9.E0)); +-#246=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#247=DIRECTION('',(1.E0,0.E0,0.E0)); +-#248=AXIS2_PLACEMENT_3D('',#245,#246,#247); +-#250=CARTESIAN_POINT('',(6.E0,0.E0,9.E0)); +-#251=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#252=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#253=AXIS2_PLACEMENT_3D('',#250,#251,#252); +-#255=CARTESIAN_POINT('',(1.2E1,0.E0,9.E0)); +-#256=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#257=DIRECTION('',(1.E0,0.E0,0.E0)); +-#258=AXIS2_PLACEMENT_3D('',#255,#256,#257); +-#260=CARTESIAN_POINT('',(1.2E1,0.E0,9.E0)); +-#261=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#262=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#263=AXIS2_PLACEMENT_3D('',#260,#261,#262); +-#265=CARTESIAN_POINT('',(1.8E1,0.E0,9.E0)); +-#266=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#267=DIRECTION('',(1.E0,0.E0,0.E0)); +-#268=AXIS2_PLACEMENT_3D('',#265,#266,#267); +-#270=CARTESIAN_POINT('',(1.8E1,0.E0,9.E0)); +-#271=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#272=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#273=AXIS2_PLACEMENT_3D('',#270,#271,#272); +-#275=CARTESIAN_POINT('',(6.E0,0.E0,1.8E1)); +-#276=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#277=DIRECTION('',(1.E0,0.E0,0.E0)); +-#278=AXIS2_PLACEMENT_3D('',#275,#276,#277); +-#280=CARTESIAN_POINT('',(6.E0,0.E0,1.8E1)); +-#281=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#282=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#283=AXIS2_PLACEMENT_3D('',#280,#281,#282); +-#285=CARTESIAN_POINT('',(1.2E1,0.E0,1.8E1)); +-#286=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#287=DIRECTION('',(1.E0,0.E0,0.E0)); +-#288=AXIS2_PLACEMENT_3D('',#285,#286,#287); +-#290=CARTESIAN_POINT('',(1.2E1,0.E0,1.8E1)); +-#291=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#292=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#293=AXIS2_PLACEMENT_3D('',#290,#291,#292); +-#295=CARTESIAN_POINT('',(1.8E1,0.E0,1.8E1)); +-#296=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#297=DIRECTION('',(1.E0,0.E0,0.E0)); +-#298=AXIS2_PLACEMENT_3D('',#295,#296,#297); +-#300=CARTESIAN_POINT('',(1.8E1,0.E0,1.8E1)); +-#301=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#302=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#303=AXIS2_PLACEMENT_3D('',#300,#301,#302); +-#305=DIRECTION('',(1.E0,0.E0,0.E0)); +-#306=VECTOR('',#305,3.E0); +-#307=CARTESIAN_POINT('',(7.5E0,0.E0,6.875E-1)); +-#308=LINE('',#307,#306); +-#309=CARTESIAN_POINT('',(1.05E1,0.E0,1.25E0)); +-#310=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#311=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#312=AXIS2_PLACEMENT_3D('',#309,#310,#311); +-#314=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#315=VECTOR('',#314,3.E0); +-#316=CARTESIAN_POINT('',(1.05E1,0.E0,1.8125E0)); +-#317=LINE('',#316,#315); +-#318=CARTESIAN_POINT('',(7.5E0,0.E0,1.25E0)); +-#319=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#320=DIRECTION('',(0.E0,0.E0,1.E0)); +-#321=AXIS2_PLACEMENT_3D('',#318,#319,#320); +-#323=CARTESIAN_POINT('',(1.61E0,0.E0,4.5E0)); +-#324=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#325=DIRECTION('',(8.910741301059E-1,0.E0,4.538577912254E-1)); +-#326=AXIS2_PLACEMENT_3D('',#323,#324,#325); +-#328=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1)); +-#329=VECTOR('',#328,4.263248410977E0); +-#330=CARTESIAN_POINT('',(9.254066777019E-1,0.E0,4.046865146430E0)); +-#331=LINE('',#330,#329); +-#332=CARTESIAN_POINT('',(4.553039342392E0,0.E0,1.645354088550E0)); +-#333=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#334=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1)); +-#335=AXIS2_PLACEMENT_3D('',#332,#333,#334); +-#337=CARTESIAN_POINT('',(7.5E0,0.E0,7.5E0)); +-#338=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#339=DIRECTION('',(-8.910741301059E-1,0.E0,-4.538577912254E-1)); +-#340=AXIS2_PLACEMENT_3D('',#337,#338,#339); +-#342=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#343=VECTOR('',#342,3.15E-1); +-#344=CARTESIAN_POINT('',(6.9E-1,0.E0,7.815E0)); +-#345=LINE('',#344,#343); +-#346=CARTESIAN_POINT('',(1.25125E0,0.E0,7.5E0)); +-#347=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#348=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#349=AXIS2_PLACEMENT_3D('',#346,#347,#348); +-#351=DIRECTION('',(0.E0,0.E0,1.E0)); +-#352=VECTOR('',#351,3.15E-1); +-#353=CARTESIAN_POINT('',(1.8125E0,0.E0,7.5E0)); +-#354=LINE('',#353,#352); +-#355=DIRECTION('',(1.E0,0.E0,0.E0)); +-#356=VECTOR('',#355,7.5E-1); +-#357=CARTESIAN_POINT('',(2.6875E0,0.E0,8.69E0)); +-#358=LINE('',#357,#356); +-#359=DIRECTION('',(0.E0,0.E0,1.E0)); +-#360=VECTOR('',#359,8.1E-1); +-#361=CARTESIAN_POINT('',(4.3125E0,0.E0,9.565E0)); +-#362=LINE('',#361,#360); +-#363=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#364=VECTOR('',#363,3.875E0); +-#365=CARTESIAN_POINT('',(3.4375E0,0.E0,1.125E1)); +-#366=LINE('',#365,#364); +-#367=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#368=VECTOR('',#367,8.1E-1); +-#369=CARTESIAN_POINT('',(-1.3125E0,0.E0,1.0375E1)); +-#370=LINE('',#369,#368); +-#371=DIRECTION('',(1.E0,0.E0,0.E0)); +-#372=VECTOR('',#371,2.525E-1); +-#373=CARTESIAN_POINT('',(-4.375E-1,0.E0,8.69E0)); +-#374=LINE('',#373,#372); +-#375=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#376=VECTOR('',#375,3.E0); +-#377=CARTESIAN_POINT('',(6.875E-1,0.E0,1.65E1)); +-#378=LINE('',#377,#376); +-#379=CARTESIAN_POINT('',(1.25E0,0.E0,1.35E1)); +-#380=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#381=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#382=AXIS2_PLACEMENT_3D('',#379,#380,#381); +-#384=DIRECTION('',(0.E0,0.E0,1.E0)); +-#385=VECTOR('',#384,3.E0); +-#386=CARTESIAN_POINT('',(1.8125E0,0.E0,1.35E1)); +-#387=LINE('',#386,#385); +-#388=CARTESIAN_POINT('',(1.25E0,0.E0,1.65E1)); +-#389=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#390=DIRECTION('',(1.E0,0.E0,0.E0)); +-#391=AXIS2_PLACEMENT_3D('',#388,#389,#390); +-#393=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#394=VECTOR('',#393,3.E0); +-#395=CARTESIAN_POINT('',(6.875E-1,0.E0,2.25E1)); +-#396=LINE('',#395,#394); +-#397=CARTESIAN_POINT('',(1.25E0,0.E0,1.95E1)); +-#398=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#399=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#400=AXIS2_PLACEMENT_3D('',#397,#398,#399); +-#402=DIRECTION('',(0.E0,0.E0,1.E0)); +-#403=VECTOR('',#402,3.E0); +-#404=CARTESIAN_POINT('',(1.8125E0,0.E0,1.95E1)); +-#405=LINE('',#404,#403); +-#406=CARTESIAN_POINT('',(1.25E0,0.E0,2.25E1)); +-#407=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#408=DIRECTION('',(1.E0,0.E0,0.E0)); +-#409=AXIS2_PLACEMENT_3D('',#406,#407,#408); +-#411=DIRECTION('',(1.E0,0.E0,0.E0)); +-#412=VECTOR('',#411,3.E0); +-#413=CARTESIAN_POINT('',(7.5E0,0.E0,8.5E0)); +-#414=LINE('',#413,#412); +-#415=CARTESIAN_POINT('',(1.05E1,0.E0,9.E0)); +-#416=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#417=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#418=AXIS2_PLACEMENT_3D('',#415,#416,#417); +-#420=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#421=VECTOR('',#420,3.E0); +-#422=CARTESIAN_POINT('',(1.05E1,0.E0,9.5E0)); +-#423=LINE('',#422,#421); +-#424=CARTESIAN_POINT('',(7.5E0,0.E0,9.E0)); +-#425=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#426=DIRECTION('',(0.E0,0.E0,1.E0)); +-#427=AXIS2_PLACEMENT_3D('',#424,#425,#426); +-#429=DIRECTION('',(1.E0,0.E0,0.E0)); +-#430=VECTOR('',#429,3.E0); +-#431=CARTESIAN_POINT('',(7.5E0,0.E0,1.75625E1)); +-#432=LINE('',#431,#430); +-#433=CARTESIAN_POINT('',(1.05E1,0.E0,1.8E1)); +-#434=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#435=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#436=AXIS2_PLACEMENT_3D('',#433,#434,#435); +-#438=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#439=VECTOR('',#438,3.E0); +-#440=CARTESIAN_POINT('',(1.05E1,0.E0,1.84375E1)); +-#441=LINE('',#440,#439); +-#442=CARTESIAN_POINT('',(7.5E0,0.E0,1.8E1)); +-#443=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#444=DIRECTION('',(0.E0,0.E0,1.E0)); +-#445=AXIS2_PLACEMENT_3D('',#442,#443,#444); +-#447=DIRECTION('',(1.E0,0.E0,0.E0)); +-#448=VECTOR('',#447,3.E0); +-#449=CARTESIAN_POINT('',(7.5E0,0.E0,3.13125E1)); +-#450=LINE('',#449,#448); +-#451=CARTESIAN_POINT('',(7.5E0,0.E0,3.075E1)); +-#452=DIRECTION('',(0.E0,1.E0,0.E0)); +-#453=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#454=AXIS2_PLACEMENT_3D('',#451,#452,#453); +-#456=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#457=VECTOR('',#456,3.E0); +-#458=CARTESIAN_POINT('',(1.05E1,0.E0,3.01875E1)); +-#459=LINE('',#458,#457); +-#460=CARTESIAN_POINT('',(1.05E1,0.E0,3.075E1)); +-#461=DIRECTION('',(0.E0,1.E0,0.E0)); +-#462=DIRECTION('',(0.E0,0.E0,1.E0)); +-#463=AXIS2_PLACEMENT_3D('',#460,#461,#462); +-#465=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#466=VECTOR('',#465,3.E0); +-#467=CARTESIAN_POINT('',(1.65E1,0.E0,6.875E-1)); +-#468=LINE('',#467,#466); +-#469=CARTESIAN_POINT('',(1.65E1,0.E0,1.25E0)); +-#470=DIRECTION('',(0.E0,1.E0,0.E0)); +-#471=DIRECTION('',(0.E0,0.E0,1.E0)); +-#472=AXIS2_PLACEMENT_3D('',#469,#470,#471); +-#474=DIRECTION('',(1.E0,0.E0,0.E0)); +-#475=VECTOR('',#474,3.E0); +-#476=CARTESIAN_POINT('',(1.35E1,0.E0,1.8125E0)); +-#477=LINE('',#476,#475); +-#478=CARTESIAN_POINT('',(1.35E1,0.E0,1.25E0)); +-#479=DIRECTION('',(0.E0,1.E0,0.E0)); +-#480=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#481=AXIS2_PLACEMENT_3D('',#478,#479,#480); +-#483=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#484=VECTOR('',#483,3.E0); +-#485=CARTESIAN_POINT('',(2.33125E1,0.E0,1.65E1)); +-#486=LINE('',#485,#484); +-#487=CARTESIAN_POINT('',(2.275E1,0.E0,1.65E1)); +-#488=DIRECTION('',(0.E0,1.E0,0.E0)); +-#489=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#490=AXIS2_PLACEMENT_3D('',#487,#488,#489); +-#492=DIRECTION('',(0.E0,0.E0,1.E0)); +-#493=VECTOR('',#492,3.E0); +-#494=CARTESIAN_POINT('',(2.21875E1,0.E0,1.35E1)); +-#495=LINE('',#494,#493); +-#496=CARTESIAN_POINT('',(2.275E1,0.E0,1.35E1)); +-#497=DIRECTION('',(0.E0,1.E0,0.E0)); +-#498=DIRECTION('',(1.E0,0.E0,0.E0)); +-#499=AXIS2_PLACEMENT_3D('',#496,#497,#498); +-#501=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#502=VECTOR('',#501,3.E0); +-#503=CARTESIAN_POINT('',(2.33125E1,0.E0,2.25E1)); +-#504=LINE('',#503,#502); +-#505=CARTESIAN_POINT('',(2.275E1,0.E0,2.25E1)); +-#506=DIRECTION('',(0.E0,1.E0,0.E0)); +-#507=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#508=AXIS2_PLACEMENT_3D('',#505,#506,#507); +-#510=DIRECTION('',(0.E0,0.E0,1.E0)); +-#511=VECTOR('',#510,3.E0); +-#512=CARTESIAN_POINT('',(2.21875E1,0.E0,1.95E1)); +-#513=LINE('',#512,#511); +-#514=CARTESIAN_POINT('',(2.275E1,0.E0,1.95E1)); +-#515=DIRECTION('',(0.E0,1.E0,0.E0)); +-#516=DIRECTION('',(1.E0,0.E0,0.E0)); +-#517=AXIS2_PLACEMENT_3D('',#514,#515,#516); +-#519=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#520=VECTOR('',#519,3.E0); +-#521=CARTESIAN_POINT('',(1.65E1,0.E0,8.5E0)); +-#522=LINE('',#521,#520); +-#523=CARTESIAN_POINT('',(1.65E1,0.E0,9.E0)); +-#524=DIRECTION('',(0.E0,1.E0,0.E0)); +-#525=DIRECTION('',(0.E0,0.E0,1.E0)); +-#526=AXIS2_PLACEMENT_3D('',#523,#524,#525); +-#528=DIRECTION('',(1.E0,0.E0,0.E0)); +-#529=VECTOR('',#528,3.E0); +-#530=CARTESIAN_POINT('',(1.35E1,0.E0,9.5E0)); +-#531=LINE('',#530,#529); +-#532=CARTESIAN_POINT('',(1.35E1,0.E0,9.E0)); +-#533=DIRECTION('',(0.E0,1.E0,0.E0)); +-#534=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#535=AXIS2_PLACEMENT_3D('',#532,#533,#534); +-#537=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#538=VECTOR('',#537,3.E0); +-#539=CARTESIAN_POINT('',(1.65E1,0.E0,1.75625E1)); +-#540=LINE('',#539,#538); +-#541=CARTESIAN_POINT('',(1.65E1,0.E0,1.8E1)); +-#542=DIRECTION('',(0.E0,1.E0,0.E0)); +-#543=DIRECTION('',(0.E0,0.E0,1.E0)); +-#544=AXIS2_PLACEMENT_3D('',#541,#542,#543); +-#546=DIRECTION('',(1.E0,0.E0,0.E0)); +-#547=VECTOR('',#546,3.E0); +-#548=CARTESIAN_POINT('',(1.35E1,0.E0,1.84375E1)); +-#549=LINE('',#548,#547); +-#550=CARTESIAN_POINT('',(1.35E1,0.E0,1.8E1)); +-#551=DIRECTION('',(0.E0,1.E0,0.E0)); +-#552=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#553=AXIS2_PLACEMENT_3D('',#550,#551,#552); +-#555=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#556=VECTOR('',#555,3.E0); +-#557=CARTESIAN_POINT('',(1.65E1,0.E0,3.13125E1)); +-#558=LINE('',#557,#556); +-#559=CARTESIAN_POINT('',(1.35E1,0.E0,3.075E1)); +-#560=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#561=DIRECTION('',(0.E0,0.E0,1.E0)); +-#562=AXIS2_PLACEMENT_3D('',#559,#560,#561); +-#564=DIRECTION('',(1.E0,0.E0,0.E0)); +-#565=VECTOR('',#564,3.E0); +-#566=CARTESIAN_POINT('',(1.35E1,0.E0,3.01875E1)); +-#567=LINE('',#566,#565); +-#568=CARTESIAN_POINT('',(1.65E1,0.E0,3.075E1)); +-#569=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#570=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#571=AXIS2_PLACEMENT_3D('',#568,#569,#570); +-#573=DIRECTION('',(0.E0,0.E0,1.E0)); +-#574=VECTOR('',#573,3.1E-1); +-#575=CARTESIAN_POINT('',(2.21875E1,0.E0,7.5E0)); +-#576=LINE('',#575,#574); +-#577=CARTESIAN_POINT('',(2.274875E1,0.E0,7.5E0)); +-#578=DIRECTION('',(0.E0,1.E0,0.E0)); +-#579=DIRECTION('',(1.E0,0.E0,-3.956251312695E-14)); +-#580=AXIS2_PLACEMENT_3D('',#577,#578,#579); +-#582=DIRECTION('',(2.292073341162E-14,0.E0,-1.E0)); +-#583=VECTOR('',#582,3.1E-1); +-#584=CARTESIAN_POINT('',(2.331E1,0.E0,7.81E0)); +-#585=LINE('',#584,#583); +-#586=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#587=VECTOR('',#586,2.425E-1); +-#588=CARTESIAN_POINT('',(2.44325E1,0.E0,8.69E0)); +-#589=LINE('',#588,#587); +-#590=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#591=VECTOR('',#590,8.E-1); +-#592=CARTESIAN_POINT('',(2.53125E1,0.E0,1.037E1)); +-#593=LINE('',#592,#591); +-#594=DIRECTION('',(1.E0,0.E0,0.E0)); +-#595=VECTOR('',#594,3.865E0); +-#596=CARTESIAN_POINT('',(2.05675E1,0.E0,1.125E1)); +-#597=LINE('',#596,#595); +-#598=DIRECTION('',(0.E0,0.E0,1.E0)); +-#599=VECTOR('',#598,8.E-1); +-#600=CARTESIAN_POINT('',(1.96875E1,0.E0,9.57E0)); +-#601=LINE('',#600,#599); +-#602=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#603=VECTOR('',#602,7.4E-1); +-#604=CARTESIAN_POINT('',(2.13075E1,0.E0,8.69E0)); +-#605=LINE('',#604,#603); +-#606=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1)); +-#607=VECTOR('',#606,4.263248410977E0); +-#608=CARTESIAN_POINT('',(2.307459332230E1,0.E0,4.046865146430E0)); +-#609=LINE('',#608,#607); +-#610=CARTESIAN_POINT('',(2.239E1,0.E0,4.5E0)); +-#611=DIRECTION('',(0.E0,1.E0,0.E0)); +-#612=DIRECTION('',(-8.910741301059E-1,0.E0,4.538577912254E-1)); +-#613=AXIS2_PLACEMENT_3D('',#610,#611,#612); +-#615=CARTESIAN_POINT('',(1.65E1,0.E0,7.5E0)); +-#616=DIRECTION('',(0.E0,1.E0,0.E0)); +-#617=DIRECTION('',(8.910741301059E-1,0.E0,-4.538577912254E-1)); +-#618=AXIS2_PLACEMENT_3D('',#615,#616,#617); +-#620=CARTESIAN_POINT('',(1.944696065761E1,0.E0,1.645354088550E0)); +-#621=DIRECTION('',(0.E0,1.E0,0.E0)); +-#622=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811866E-1)); +-#623=AXIS2_PLACEMENT_3D('',#620,#621,#622); +-#625=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1)); +-#626=VECTOR('',#625,4.263248410977E0); +-#627=CARTESIAN_POINT('',(9.254066777019E-1,0.E0,2.795313485357E1)); +-#628=LINE('',#627,#626); +-#629=CARTESIAN_POINT('',(1.61E0,0.E0,2.75E1)); +-#630=DIRECTION('',(0.E0,1.E0,0.E0)); +-#631=DIRECTION('',(8.910741301059E-1,0.E0,-4.538577912254E-1)); +-#632=AXIS2_PLACEMENT_3D('',#629,#630,#631); +-#634=CARTESIAN_POINT('',(7.5E0,0.E0,2.45E1)); +-#635=DIRECTION('',(0.E0,1.E0,0.E0)); +-#636=DIRECTION('',(-8.910741301059E-1,0.E0,4.538577912254E-1)); +-#637=AXIS2_PLACEMENT_3D('',#634,#635,#636); +-#639=CARTESIAN_POINT('',(4.553039342392E0,0.E0,3.035464591145E1)); +-#640=DIRECTION('',(0.E0,1.E0,0.E0)); +-#641=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1)); +-#642=AXIS2_PLACEMENT_3D('',#639,#640,#641); +-#644=CARTESIAN_POINT('',(2.239E1,0.E0,2.75E1)); +-#645=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#646=DIRECTION('',(-8.910741301059E-1,0.E0,-4.538577912254E-1)); +-#647=AXIS2_PLACEMENT_3D('',#644,#645,#646); +-#649=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1)); +-#650=VECTOR('',#649,4.263248410977E0); +-#651=CARTESIAN_POINT('',(2.307459332230E1,0.E0,2.795313485357E1)); +-#652=LINE('',#651,#650); +-#653=CARTESIAN_POINT('',(1.944696065761E1,0.E0,3.035464591145E1)); +-#654=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#655=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811866E-1)); +-#656=AXIS2_PLACEMENT_3D('',#653,#654,#655); +-#658=CARTESIAN_POINT('',(1.65E1,0.E0,2.45E1)); +-#659=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#660=DIRECTION('',(8.910741301059E-1,0.E0,4.538577912254E-1)); +-#661=AXIS2_PLACEMENT_3D('',#658,#659,#660); +-#663=CARTESIAN_POINT('',(1.975E1,1.09375E1,8.E0)); +-#664=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#665=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#666=AXIS2_PLACEMENT_3D('',#663,#664,#665); +-#668=CARTESIAN_POINT('',(1.975E1,1.09375E1,8.E0)); +-#669=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#670=DIRECTION('',(1.E0,0.E0,0.E0)); +-#671=AXIS2_PLACEMENT_3D('',#668,#669,#670); +-#673=CARTESIAN_POINT('',(1.975E1,1.05E1,8.E0)); +-#674=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#675=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#676=AXIS2_PLACEMENT_3D('',#673,#674,#675); +-#678=CARTESIAN_POINT('',(1.975E1,1.05E1,8.E0)); +-#679=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#680=DIRECTION('',(1.E0,0.E0,0.E0)); +-#681=AXIS2_PLACEMENT_3D('',#678,#679,#680); +-#683=CARTESIAN_POINT('',(2.01875E1,1.05E1,8.E0)); +-#684=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#685=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#686=AXIS2_PLACEMENT_3D('',#683,#684,#685); +-#688=CARTESIAN_POINT('',(2.01875E1,1.05E1,8.E0)); +-#689=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#690=DIRECTION('',(1.E0,0.E0,0.E0)); +-#691=AXIS2_PLACEMENT_3D('',#688,#689,#690); +-#693=CARTESIAN_POINT('',(1.975E1,1.00625E1,8.E0)); +-#694=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#695=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#696=AXIS2_PLACEMENT_3D('',#693,#694,#695); +-#698=CARTESIAN_POINT('',(1.975E1,1.00625E1,8.E0)); +-#699=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#700=DIRECTION('',(1.E0,0.E0,0.E0)); +-#701=AXIS2_PLACEMENT_3D('',#698,#699,#700); +-#703=CARTESIAN_POINT('',(4.25E0,1.00625E1,8.E0)); +-#704=DIRECTION('',(0.E0,0.E0,1.E0)); +-#705=DIRECTION('',(1.E0,0.E0,0.E0)); +-#706=AXIS2_PLACEMENT_3D('',#703,#704,#705); +-#708=CARTESIAN_POINT('',(4.25E0,1.00625E1,8.E0)); +-#709=DIRECTION('',(0.E0,0.E0,1.E0)); +-#710=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#711=AXIS2_PLACEMENT_3D('',#708,#709,#710); +-#713=CARTESIAN_POINT('',(3.8125E0,1.05E1,8.E0)); +-#714=DIRECTION('',(0.E0,0.E0,1.E0)); +-#715=DIRECTION('',(1.E0,0.E0,0.E0)); +-#716=AXIS2_PLACEMENT_3D('',#713,#714,#715); +-#718=CARTESIAN_POINT('',(3.8125E0,1.05E1,8.E0)); +-#719=DIRECTION('',(0.E0,0.E0,1.E0)); +-#720=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#721=AXIS2_PLACEMENT_3D('',#718,#719,#720); +-#723=CARTESIAN_POINT('',(4.25E0,1.05E1,8.E0)); +-#724=DIRECTION('',(0.E0,0.E0,1.E0)); +-#725=DIRECTION('',(1.E0,0.E0,0.E0)); +-#726=AXIS2_PLACEMENT_3D('',#723,#724,#725); +-#728=CARTESIAN_POINT('',(4.25E0,1.05E1,8.E0)); +-#729=DIRECTION('',(0.E0,0.E0,1.E0)); +-#730=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#731=AXIS2_PLACEMENT_3D('',#728,#729,#730); +-#733=CARTESIAN_POINT('',(4.25E0,1.09375E1,8.E0)); +-#734=DIRECTION('',(0.E0,0.E0,1.E0)); +-#735=DIRECTION('',(1.E0,0.E0,0.E0)); +-#736=AXIS2_PLACEMENT_3D('',#733,#734,#735); +-#738=CARTESIAN_POINT('',(4.25E0,1.09375E1,8.E0)); +-#739=DIRECTION('',(0.E0,0.E0,1.E0)); +-#740=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#741=AXIS2_PLACEMENT_3D('',#738,#739,#740); +-#743=DIRECTION('',(4.856429311786E-1,-8.741572761215E-1,0.E0)); +-#744=VECTOR('',#743,1.029563014099E1); +-#745=CARTESIAN_POINT('',(2.1E1,1.15E1,8.E0)); +-#746=LINE('',#745,#744); +-#747=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#748=VECTOR('',#747,2.E0); +-#749=CARTESIAN_POINT('',(2.1E1,1.15E1,8.E0)); +-#750=LINE('',#749,#748); +-#751=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#752=VECTOR('',#751,2.E0); +-#753=CARTESIAN_POINT('',(5.E0,1.15E1,8.E0)); +-#754=LINE('',#753,#752); +-#755=DIRECTION('',(-4.856429311786E-1,-8.741572761215E-1,0.E0)); +-#756=VECTOR('',#755,1.029563014099E1); +-#757=CARTESIAN_POINT('',(3.E0,1.15E1,8.E0)); +-#758=LINE('',#757,#756); +-#759=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#760=VECTOR('',#759,3.895172754280E0); +-#761=CARTESIAN_POINT('',(3.75E0,2.E0,8.E0)); +-#762=LINE('',#761,#760); +-#763=DIRECTION('',(4.856429311786E-1,8.741572761215E-1,0.E0)); +-#764=VECTOR('',#763,6.863753427325E0); +-#765=CARTESIAN_POINT('',(-8.007907113711E-1,3.114232198384E0,8.E0)); +-#766=LINE('',#765,#764); +-#767=DIRECTION('',(1.E0,0.E0,0.E0)); +-#768=VECTOR('',#767,5.618394209466E-1); +-#769=CARTESIAN_POINT('',(3.188160579053E0,9.5E0,8.E0)); +-#770=LINE('',#769,#768); +-#771=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#772=VECTOR('',#771,6.E0); +-#773=CARTESIAN_POINT('',(4.5E0,8.75E0,8.E0)); +-#774=LINE('',#773,#772); +-#775=DIRECTION('',(-4.856429311786E-1,8.741572761215E-1,0.E0)); +-#776=VECTOR('',#775,6.863753427325E0); +-#777=CARTESIAN_POINT('',(2.480079071137E1,3.114232198384E0,8.E0)); +-#778=LINE('',#777,#776); +-#779=DIRECTION('',(1.E0,0.E0,0.E0)); +-#780=VECTOR('',#779,3.895172754280E0); +-#781=CARTESIAN_POINT('',(2.025E1,2.E0,8.E0)); +-#782=LINE('',#781,#780); +-#783=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#784=VECTOR('',#783,6.E0); +-#785=CARTESIAN_POINT('',(1.95E1,8.75E0,8.E0)); +-#786=LINE('',#785,#784); +-#787=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#788=VECTOR('',#787,5.618394209466E-1); +-#789=CARTESIAN_POINT('',(2.081183942095E1,9.5E0,8.E0)); +-#790=LINE('',#789,#788); +-#791=DIRECTION('',(0.E0,0.E0,1.E0)); +-#792=VECTOR('',#791,2.5E-1); +-#793=CARTESIAN_POINT('',(1.9655E1,1.09375E1,8.E0)); +-#794=LINE('',#793,#792); +-#795=DIRECTION('',(0.E0,0.E0,1.E0)); +-#796=VECTOR('',#795,2.5E-1); +-#797=CARTESIAN_POINT('',(1.9845E1,1.09375E1,8.E0)); +-#798=LINE('',#797,#796); +-#799=CARTESIAN_POINT('',(1.975E1,1.09375E1,8.25E0)); +-#800=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#801=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#802=AXIS2_PLACEMENT_3D('',#799,#800,#801); +-#804=CARTESIAN_POINT('',(1.975E1,1.09375E1,8.25E0)); +-#805=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#806=DIRECTION('',(1.E0,0.E0,0.E0)); +-#807=AXIS2_PLACEMENT_3D('',#804,#805,#806); +-#809=DIRECTION('',(0.E0,0.E0,1.E0)); +-#810=VECTOR('',#809,2.E0); +-#811=CARTESIAN_POINT('',(1.95875E1,1.05E1,8.E0)); +-#812=LINE('',#811,#810); +-#813=DIRECTION('',(0.E0,0.E0,1.E0)); +-#814=VECTOR('',#813,2.E0); +-#815=CARTESIAN_POINT('',(1.99125E1,1.05E1,8.E0)); +-#816=LINE('',#815,#814); +-#817=CARTESIAN_POINT('',(1.975E1,1.05E1,1.E1)); +-#818=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#819=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#820=AXIS2_PLACEMENT_3D('',#817,#818,#819); +-#822=CARTESIAN_POINT('',(1.975E1,1.05E1,1.E1)); +-#823=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#824=DIRECTION('',(1.E0,0.E0,0.E0)); +-#825=AXIS2_PLACEMENT_3D('',#822,#823,#824); +-#827=DIRECTION('',(0.E0,1.E0,0.E0)); +-#828=VECTOR('',#827,5.E0); +-#829=CARTESIAN_POINT('',(2.375E1,1.5E0,1.E1)); +-#830=LINE('',#829,#828); +-#831=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#832=VECTOR('',#831,1.75E0); +-#833=CARTESIAN_POINT('',(2.375E1,6.5E0,1.E1)); +-#834=LINE('',#833,#832); +-#835=DIRECTION('',(0.E0,1.E0,0.E0)); +-#836=VECTOR('',#835,5.E0); +-#837=CARTESIAN_POINT('',(2.2E1,1.5E0,1.E1)); +-#838=LINE('',#837,#836); +-#839=DIRECTION('',(0.E0,1.E0,0.E0)); +-#840=VECTOR('',#839,1.E1); +-#841=CARTESIAN_POINT('',(1.9E1,1.5E0,1.E1)); +-#842=LINE('',#841,#840); +-#843=DIRECTION('',(1.E0,0.E0,0.E0)); +-#844=VECTOR('',#843,2.E0); +-#845=CARTESIAN_POINT('',(1.9E1,1.15E1,1.E1)); +-#846=LINE('',#845,#844); +-#847=DIRECTION('',(4.856429311786E-1,-8.741572761215E-1,0.E0)); +-#848=VECTOR('',#847,1.029563014099E1); +-#849=CARTESIAN_POINT('',(2.1E1,1.15E1,1.E1)); +-#850=LINE('',#849,#848); +-#851=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#852=VECTOR('',#851,1.E0); +-#853=CARTESIAN_POINT('',(2.6E1,2.5E0,1.E1)); +-#854=LINE('',#853,#852); +-#855=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#856=VECTOR('',#855,1.972007605460E-1); +-#857=CARTESIAN_POINT('',(2.204720076055E1,7.E0,1.E1)); +-#858=LINE('',#857,#856); +-#859=DIRECTION('',(4.856429311786E-1,-8.741572761215E-1,0.E0)); +-#860=VECTOR('',#859,2.059126028197E0); +-#861=CARTESIAN_POINT('',(2.135315580719E1,9.319975025913E0,1.E1)); +-#862=LINE('',#861,#860); +-#863=DIRECTION('',(1.E0,0.E0,0.E0)); +-#864=VECTOR('',#863,1.197200760546E0); +-#865=CARTESIAN_POINT('',(1.985E1,9.5E0,1.E1)); +-#866=LINE('',#865,#864); +-#867=DIRECTION('',(0.E0,1.E0,0.E0)); +-#868=VECTOR('',#867,6.8E0); +-#869=CARTESIAN_POINT('',(1.95E1,2.35E0,1.E1)); +-#870=LINE('',#869,#868); +-#871=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#872=VECTOR('',#871,1.3E0); +-#873=CARTESIAN_POINT('',(2.115E1,2.E0,1.E1)); +-#874=LINE('',#873,#872); +-#875=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#876=VECTOR('',#875,4.3E0); +-#877=CARTESIAN_POINT('',(2.15E1,6.65E0,1.E1)); +-#878=LINE('',#877,#876); +-#879=DIRECTION('',(0.E0,-8.660254037844E-1,5.E-1)); +-#880=VECTOR('',#879,5.773502691896E0); +-#881=CARTESIAN_POINT('',(2.375E1,6.5E0,1.E1)); +-#882=LINE('',#881,#880); +-#883=CARTESIAN_POINT('',(6.45E0,1.5E0,2.975E1)); +-#884=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#885=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#886=AXIS2_PLACEMENT_3D('',#883,#884,#885); +-#888=CARTESIAN_POINT('',(6.45E0,1.5E0,2.975E1)); +-#889=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#890=DIRECTION('',(1.E0,0.E0,0.E0)); +-#891=AXIS2_PLACEMENT_3D('',#888,#889,#890); +-#893=CARTESIAN_POINT('',(7.45E0,1.5E0,2.975E1)); +-#894=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#895=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#896=AXIS2_PLACEMENT_3D('',#893,#894,#895); +-#898=CARTESIAN_POINT('',(7.45E0,1.5E0,2.975E1)); +-#899=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#900=DIRECTION('',(1.E0,0.E0,0.E0)); +-#901=AXIS2_PLACEMENT_3D('',#898,#899,#900); +-#903=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#904=VECTOR('',#903,4.531373033403E0); +-#905=CARTESIAN_POINT('',(2.5E1,1.5E0,8.E0)); +-#906=LINE('',#905,#904); +-#907=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#908=VECTOR('',#907,9.E0); +-#909=CARTESIAN_POINT('',(1.65E1,1.5E0,2.5E0)); +-#910=LINE('',#909,#908); +-#911=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#912=VECTOR('',#911,4.531373033403E0); +-#913=CARTESIAN_POINT('',(3.531373033403E0,1.5E0,8.E0)); +-#914=LINE('',#913,#912); +-#915=DIRECTION('',(0.E0,0.E0,1.E0)); +-#916=VECTOR('',#915,3.E0); +-#917=CARTESIAN_POINT('',(0.E0,1.5E0,4.E0)); +-#918=LINE('',#917,#916); +-#919=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#920=VECTOR('',#919,1.6E1); +-#921=CARTESIAN_POINT('',(2.E1,1.5E0,0.E0)); +-#922=LINE('',#921,#920); +-#923=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#924=VECTOR('',#923,3.E0); +-#925=CARTESIAN_POINT('',(2.4E1,1.5E0,7.E0)); +-#926=LINE('',#925,#924); +-#927=CARTESIAN_POINT('',(1.755E1,1.5E0,2.975E1)); +-#928=DIRECTION('',(0.E0,1.E0,0.E0)); +-#929=DIRECTION('',(1.E0,0.E0,0.E0)); +-#930=AXIS2_PLACEMENT_3D('',#927,#928,#929); +-#932=CARTESIAN_POINT('',(1.755E1,1.5E0,2.975E1)); +-#933=DIRECTION('',(0.E0,1.E0,0.E0)); +-#934=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#935=AXIS2_PLACEMENT_3D('',#932,#933,#934); +-#937=CARTESIAN_POINT('',(1.655E1,1.5E0,2.975E1)); +-#938=DIRECTION('',(0.E0,1.E0,0.E0)); +-#939=DIRECTION('',(1.E0,0.E0,0.E0)); +-#940=AXIS2_PLACEMENT_3D('',#937,#938,#939); +-#942=CARTESIAN_POINT('',(1.655E1,1.5E0,2.975E1)); +-#943=DIRECTION('',(0.E0,1.E0,0.E0)); +-#944=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#945=AXIS2_PLACEMENT_3D('',#942,#943,#944); +-#947=CARTESIAN_POINT('',(1.125E0,1.5E0,6.E0)); +-#948=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#949=DIRECTION('',(1.E0,0.E0,0.E0)); +-#950=AXIS2_PLACEMENT_3D('',#947,#948,#949); +-#952=CARTESIAN_POINT('',(1.125E0,1.5E0,6.E0)); +-#953=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#954=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#955=AXIS2_PLACEMENT_3D('',#952,#953,#954); +-#957=CARTESIAN_POINT('',(1.125E0,1.5E0,1.8E1)); +-#958=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#959=DIRECTION('',(1.E0,0.E0,0.E0)); +-#960=AXIS2_PLACEMENT_3D('',#957,#958,#959); +-#962=CARTESIAN_POINT('',(1.125E0,1.5E0,1.8E1)); +-#963=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#964=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#965=AXIS2_PLACEMENT_3D('',#962,#963,#964); +-#967=CARTESIAN_POINT('',(1.125E0,1.5E0,2.4E1)); +-#968=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#969=DIRECTION('',(1.E0,0.E0,0.E0)); +-#970=AXIS2_PLACEMENT_3D('',#967,#968,#969); +-#972=CARTESIAN_POINT('',(1.125E0,1.5E0,2.4E1)); +-#973=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#974=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#975=AXIS2_PLACEMENT_3D('',#972,#973,#974); +-#977=CARTESIAN_POINT('',(2.2875E1,1.5E0,6.E0)); +-#978=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#979=DIRECTION('',(1.E0,0.E0,0.E0)); +-#980=AXIS2_PLACEMENT_3D('',#977,#978,#979); +-#982=CARTESIAN_POINT('',(2.2875E1,1.5E0,6.E0)); +-#983=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#984=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#985=AXIS2_PLACEMENT_3D('',#982,#983,#984); +-#987=CARTESIAN_POINT('',(2.2875E1,1.5E0,1.8E1)); +-#988=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#989=DIRECTION('',(1.E0,0.E0,0.E0)); +-#990=AXIS2_PLACEMENT_3D('',#987,#988,#989); +-#992=CARTESIAN_POINT('',(2.2875E1,1.5E0,1.8E1)); +-#993=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#994=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#995=AXIS2_PLACEMENT_3D('',#992,#993,#994); +-#997=CARTESIAN_POINT('',(2.2875E1,1.5E0,2.4E1)); +-#998=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#999=DIRECTION('',(1.E0,0.E0,0.E0)); +-#1000=AXIS2_PLACEMENT_3D('',#997,#998,#999); +-#1002=CARTESIAN_POINT('',(2.2875E1,1.5E0,2.4E1)); +-#1003=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1004=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#1005=AXIS2_PLACEMENT_3D('',#1002,#1003,#1004); +-#1007=CARTESIAN_POINT('',(6.E0,1.5E0,1.25E0)); +-#1008=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1009=DIRECTION('',(1.E0,0.E0,0.E0)); +-#1010=AXIS2_PLACEMENT_3D('',#1007,#1008,#1009); +-#1012=CARTESIAN_POINT('',(6.E0,1.5E0,1.25E0)); +-#1013=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1014=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#1015=AXIS2_PLACEMENT_3D('',#1012,#1013,#1014); +-#1017=CARTESIAN_POINT('',(1.2E1,1.5E0,1.25E0)); +-#1018=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1019=DIRECTION('',(1.E0,0.E0,0.E0)); +-#1020=AXIS2_PLACEMENT_3D('',#1017,#1018,#1019); +-#1022=CARTESIAN_POINT('',(1.2E1,1.5E0,1.25E0)); +-#1023=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1024=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#1025=AXIS2_PLACEMENT_3D('',#1022,#1023,#1024); +-#1027=CARTESIAN_POINT('',(1.8E1,1.5E0,1.25E0)); +-#1028=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1029=DIRECTION('',(1.E0,0.E0,0.E0)); +-#1030=AXIS2_PLACEMENT_3D('',#1027,#1028,#1029); +-#1032=CARTESIAN_POINT('',(1.8E1,1.5E0,1.25E0)); +-#1033=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1034=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#1035=AXIS2_PLACEMENT_3D('',#1032,#1033,#1034); +-#1037=CARTESIAN_POINT('',(6.E0,1.5E0,3.075E1)); +-#1038=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1039=DIRECTION('',(1.E0,0.E0,0.E0)); +-#1040=AXIS2_PLACEMENT_3D('',#1037,#1038,#1039); +-#1042=CARTESIAN_POINT('',(6.E0,1.5E0,3.075E1)); +-#1043=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1044=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#1045=AXIS2_PLACEMENT_3D('',#1042,#1043,#1044); +-#1047=CARTESIAN_POINT('',(1.2E1,1.5E0,3.075E1)); +-#1048=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1049=DIRECTION('',(1.E0,0.E0,0.E0)); +-#1050=AXIS2_PLACEMENT_3D('',#1047,#1048,#1049); +-#1052=CARTESIAN_POINT('',(1.2E1,1.5E0,3.075E1)); +-#1053=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1054=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#1055=AXIS2_PLACEMENT_3D('',#1052,#1053,#1054); +-#1057=CARTESIAN_POINT('',(1.8E1,1.5E0,3.075E1)); +-#1058=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1059=DIRECTION('',(1.E0,0.E0,0.E0)); +-#1060=AXIS2_PLACEMENT_3D('',#1057,#1058,#1059); +-#1062=CARTESIAN_POINT('',(1.8E1,1.5E0,3.075E1)); +-#1063=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1064=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#1065=AXIS2_PLACEMENT_3D('',#1062,#1063,#1064); +-#1067=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#1068=VECTOR('',#1067,2.5625E0); +-#1069=CARTESIAN_POINT('',(2.15E1,1.5E0,2.45E1)); +-#1070=LINE('',#1069,#1068); +-#1071=DIRECTION('',(1.E0,0.E0,0.E0)); +-#1072=VECTOR('',#1071,1.3E1); +-#1073=CARTESIAN_POINT('',(5.5E0,1.5E0,1.89375E1)); +-#1074=LINE('',#1073,#1072); +-#1075=DIRECTION('',(0.E0,0.E0,1.E0)); +-#1076=VECTOR('',#1075,2.5625E0); +-#1077=CARTESIAN_POINT('',(2.5E0,1.5E0,2.19375E1)); +-#1078=LINE('',#1077,#1076); +-#1079=DIRECTION('',(1.E0,0.E0,0.E0)); +-#1080=VECTOR('',#1079,9.E0); +-#1081=CARTESIAN_POINT('',(7.5E0,1.5E0,2.95E1)); +-#1082=LINE('',#1081,#1080); +-#1083=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#1084=VECTOR('',#1083,1.3E1); +-#1085=CARTESIAN_POINT('',(1.85E1,1.5E0,1.70625E1)); +-#1086=LINE('',#1085,#1084); +-#1087=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#1088=VECTOR('',#1087,8.125E-1); +-#1089=CARTESIAN_POINT('',(2.15E1,1.5E0,1.40625E1)); +-#1090=LINE('',#1089,#1088); +-#1091=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#1092=VECTOR('',#1091,1.E0); +-#1093=CARTESIAN_POINT('',(2.05E1,1.5E0,1.225E1)); +-#1094=LINE('',#1093,#1092); +-#1095=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#1096=VECTOR('',#1095,7.5E-1); +-#1097=CARTESIAN_POINT('',(1.9E1,1.5E0,1.175E1)); +-#1098=LINE('',#1097,#1096); +-#1099=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#1100=VECTOR('',#1099,7.5E-1); +-#1101=CARTESIAN_POINT('',(5.E0,1.5E0,1.175E1)); +-#1102=LINE('',#1101,#1100); +-#1103=DIRECTION('',(1.E0,0.E0,0.E0)); +-#1104=VECTOR('',#1103,1.E0); +-#1105=CARTESIAN_POINT('',(3.5E0,1.5E0,1.225E1)); +-#1106=LINE('',#1105,#1104); +-#1107=DIRECTION('',(0.E0,0.E0,1.E0)); +-#1108=VECTOR('',#1107,8.125E-1); +-#1109=CARTESIAN_POINT('',(2.5E0,1.5E0,1.325E1)); +-#1110=LINE('',#1109,#1108); +-#1111=CARTESIAN_POINT('',(6.E0,1.5E0,9.E0)); +-#1112=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1113=DIRECTION('',(1.E0,0.E0,0.E0)); +-#1114=AXIS2_PLACEMENT_3D('',#1111,#1112,#1113); +-#1116=CARTESIAN_POINT('',(6.E0,1.5E0,9.E0)); +-#1117=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1118=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#1119=AXIS2_PLACEMENT_3D('',#1116,#1117,#1118); +-#1121=CARTESIAN_POINT('',(1.2E1,1.5E0,9.E0)); +-#1122=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1123=DIRECTION('',(1.E0,0.E0,0.E0)); +-#1124=AXIS2_PLACEMENT_3D('',#1121,#1122,#1123); +-#1126=CARTESIAN_POINT('',(1.2E1,1.5E0,9.E0)); +-#1127=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1128=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#1129=AXIS2_PLACEMENT_3D('',#1126,#1127,#1128); +-#1131=CARTESIAN_POINT('',(1.8E1,1.5E0,9.E0)); +-#1132=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1133=DIRECTION('',(1.E0,0.E0,0.E0)); +-#1134=AXIS2_PLACEMENT_3D('',#1131,#1132,#1133); +-#1136=CARTESIAN_POINT('',(1.8E1,1.5E0,9.E0)); +-#1137=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1138=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#1139=AXIS2_PLACEMENT_3D('',#1136,#1137,#1138); +-#1141=CARTESIAN_POINT('',(6.E0,1.5E0,1.8E1)); +-#1142=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1143=DIRECTION('',(1.E0,0.E0,0.E0)); +-#1144=AXIS2_PLACEMENT_3D('',#1141,#1142,#1143); +-#1146=CARTESIAN_POINT('',(6.E0,1.5E0,1.8E1)); +-#1147=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1148=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#1149=AXIS2_PLACEMENT_3D('',#1146,#1147,#1148); +-#1151=CARTESIAN_POINT('',(1.2E1,1.5E0,1.8E1)); +-#1152=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1153=DIRECTION('',(1.E0,0.E0,0.E0)); +-#1154=AXIS2_PLACEMENT_3D('',#1151,#1152,#1153); +-#1156=CARTESIAN_POINT('',(1.2E1,1.5E0,1.8E1)); +-#1157=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1158=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#1159=AXIS2_PLACEMENT_3D('',#1156,#1157,#1158); +-#1161=CARTESIAN_POINT('',(1.8E1,1.5E0,1.8E1)); +-#1162=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1163=DIRECTION('',(1.E0,0.E0,0.E0)); +-#1164=AXIS2_PLACEMENT_3D('',#1161,#1162,#1163); +-#1166=CARTESIAN_POINT('',(1.8E1,1.5E0,1.8E1)); +-#1167=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1168=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#1169=AXIS2_PLACEMENT_3D('',#1166,#1167,#1168); +-#1171=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#1172=VECTOR('',#1171,2.886751345948E0); +-#1173=CARTESIAN_POINT('',(2.375E1,1.5E0,1.288675134595E1)); +-#1174=LINE('',#1173,#1172); +-#1175=DIRECTION('',(1.E0,0.E0,0.E0)); +-#1176=VECTOR('',#1175,2.25E0); +-#1177=CARTESIAN_POINT('',(2.375E1,1.5E0,1.E1)); +-#1178=LINE('',#1177,#1176); +-#1179=DIRECTION('',(0.E0,0.E0,1.E0)); +-#1180=VECTOR('',#1179,1.75E0); +-#1181=CARTESIAN_POINT('',(2.6E1,1.5E0,1.E1)); +-#1182=LINE('',#1181,#1180); +-#1183=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#1184=VECTOR('',#1183,5.E-1); +-#1185=CARTESIAN_POINT('',(2.55E1,1.5E0,1.225E1)); +-#1186=LINE('',#1185,#1184); +-#1187=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#1188=VECTOR('',#1187,1.475E1); +-#1189=CARTESIAN_POINT('',(2.4E1,1.5E0,2.8E1)); +-#1190=LINE('',#1189,#1188); +-#1191=DIRECTION('',(1.E0,0.E0,0.E0)); +-#1192=VECTOR('',#1191,1.6E1); +-#1193=CARTESIAN_POINT('',(4.E0,1.5E0,3.2E1)); +-#1194=LINE('',#1193,#1192); +-#1195=DIRECTION('',(0.E0,0.E0,1.E0)); +-#1196=VECTOR('',#1195,1.475E1); +-#1197=CARTESIAN_POINT('',(0.E0,1.5E0,1.325E1)); +-#1198=LINE('',#1197,#1196); +-#1199=DIRECTION('',(1.E0,0.E0,0.E0)); +-#1200=VECTOR('',#1199,5.E-1); +-#1201=CARTESIAN_POINT('',(-1.5E0,1.5E0,1.225E1)); +-#1202=LINE('',#1201,#1200); +-#1203=DIRECTION('',(0.E0,0.E0,1.E0)); +-#1204=VECTOR('',#1203,1.75E0); +-#1205=CARTESIAN_POINT('',(-2.E0,1.5E0,1.E1)); +-#1206=LINE('',#1205,#1204); +-#1207=DIRECTION('',(1.E0,0.E0,0.E0)); +-#1208=VECTOR('',#1207,2.25E0); +-#1209=CARTESIAN_POINT('',(-2.E0,1.5E0,1.E1)); +-#1210=LINE('',#1209,#1208); +-#1211=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#1212=VECTOR('',#1211,2.886751345948E0); +-#1213=CARTESIAN_POINT('',(2.5E-1,1.5E0,1.288675134595E1)); +-#1214=LINE('',#1213,#1212); +-#1215=DIRECTION('',(1.E0,0.E0,0.E0)); +-#1216=VECTOR('',#1215,1.75E0); +-#1217=CARTESIAN_POINT('',(2.5E-1,1.5E0,1.288675134595E1)); +-#1218=LINE('',#1217,#1216); +-#1219=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#1220=VECTOR('',#1219,2.886751345948E0); +-#1221=CARTESIAN_POINT('',(2.E0,1.5E0,1.288675134595E1)); +-#1222=LINE('',#1221,#1220); +-#1223=DIRECTION('',(1.E0,0.E0,0.E0)); +-#1224=VECTOR('',#1223,3.E0); +-#1225=CARTESIAN_POINT('',(2.E0,1.5E0,1.E1)); +-#1226=LINE('',#1225,#1224); +-#1227=DIRECTION('',(1.E0,0.E0,0.E0)); +-#1228=VECTOR('',#1227,1.4E1); +-#1229=CARTESIAN_POINT('',(5.E0,1.5E0,8.E0)); +-#1230=LINE('',#1229,#1228); +-#1231=DIRECTION('',(1.E0,0.E0,0.E0)); +-#1232=VECTOR('',#1231,3.E0); +-#1233=CARTESIAN_POINT('',(1.9E1,1.5E0,1.E1)); +-#1234=LINE('',#1233,#1232); +-#1235=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#1236=VECTOR('',#1235,2.886751345948E0); +-#1237=CARTESIAN_POINT('',(2.2E1,1.5E0,1.288675134595E1)); +-#1238=LINE('',#1237,#1236); +-#1239=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#1240=VECTOR('',#1239,1.75E0); +-#1241=CARTESIAN_POINT('',(2.375E1,1.5E0,1.288675134595E1)); +-#1242=LINE('',#1241,#1240); +-#1243=DIRECTION('',(0.E0,1.E0,0.E0)); +-#1244=VECTOR('',#1243,2.5E-1); +-#1245=CARTESIAN_POINT('',(6.35E0,1.25E0,2.975E1)); +-#1246=LINE('',#1245,#1244); +-#1247=DIRECTION('',(0.E0,1.E0,0.E0)); +-#1248=VECTOR('',#1247,2.5E-1); +-#1249=CARTESIAN_POINT('',(6.55E0,1.25E0,2.975E1)); +-#1250=LINE('',#1249,#1248); +-#1251=DIRECTION('',(8.660254037844E-1,5.E-1,0.E0)); +-#1252=VECTOR('',#1251,1.154700538379E-1); +-#1253=CARTESIAN_POINT('',(6.45E0,1.192264973081E0,2.975E1)); +-#1254=LINE('',#1253,#1252); +-#1255=CARTESIAN_POINT('',(6.45E0,1.25E0,2.975E1)); +-#1256=DIRECTION('',(0.E0,1.E0,0.E0)); +-#1257=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#1258=AXIS2_PLACEMENT_3D('',#1255,#1256,#1257); +-#1260=DIRECTION('',(-8.660254037844E-1,5.E-1,0.E0)); +-#1261=VECTOR('',#1260,1.154700538379E-1); +-#1262=CARTESIAN_POINT('',(6.45E0,1.192264973081E0,2.975E1)); +-#1263=LINE('',#1262,#1261); +-#1264=CARTESIAN_POINT('',(6.45E0,1.25E0,2.975E1)); +-#1265=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1266=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#1267=AXIS2_PLACEMENT_3D('',#1264,#1265,#1266); +-#1269=DIRECTION('',(0.E0,1.E0,0.E0)); +-#1270=VECTOR('',#1269,2.5E-1); +-#1271=CARTESIAN_POINT('',(7.35E0,1.25E0,2.975E1)); +-#1272=LINE('',#1271,#1270); +-#1273=DIRECTION('',(0.E0,1.E0,0.E0)); +-#1274=VECTOR('',#1273,2.5E-1); +-#1275=CARTESIAN_POINT('',(7.55E0,1.25E0,2.975E1)); +-#1276=LINE('',#1275,#1274); +-#1277=DIRECTION('',(8.660254037844E-1,5.E-1,0.E0)); +-#1278=VECTOR('',#1277,1.154700538379E-1); +-#1279=CARTESIAN_POINT('',(7.45E0,1.192264973081E0,2.975E1)); +-#1280=LINE('',#1279,#1278); +-#1281=CARTESIAN_POINT('',(7.45E0,1.25E0,2.975E1)); +-#1282=DIRECTION('',(0.E0,1.E0,0.E0)); +-#1283=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#1284=AXIS2_PLACEMENT_3D('',#1281,#1282,#1283); +-#1286=DIRECTION('',(-8.660254037844E-1,5.E-1,0.E0)); +-#1287=VECTOR('',#1286,1.154700538379E-1); +-#1288=CARTESIAN_POINT('',(7.45E0,1.192264973081E0,2.975E1)); +-#1289=LINE('',#1288,#1287); +-#1290=CARTESIAN_POINT('',(7.45E0,1.25E0,2.975E1)); +-#1291=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1292=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#1293=AXIS2_PLACEMENT_3D('',#1290,#1291,#1292); +-#1295=DIRECTION('',(0.E0,1.E0,0.E0)); +-#1296=VECTOR('',#1295,1.5E0); +-#1297=CARTESIAN_POINT('',(2.046862696660E1,0.E0,8.E0)); +-#1298=LINE('',#1297,#1296); +-#1299=CARTESIAN_POINT('',(2.046862696660E1,0.E0,7.E0)); +-#1300=DIRECTION('',(0.E0,1.E0,0.E0)); +-#1301=DIRECTION('',(0.E0,0.E0,1.E0)); +-#1302=AXIS2_PLACEMENT_3D('',#1299,#1300,#1301); +-#1304=DIRECTION('',(0.E0,1.E0,0.E0)); +-#1305=VECTOR('',#1304,1.5E0); +-#1306=CARTESIAN_POINT('',(2.146078370825E1,0.E0,6.875E0)); +-#1307=LINE('',#1306,#1305); +-#1308=CARTESIAN_POINT('',(2.046862696660E1,1.5E0,7.E0)); +-#1309=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1310=DIRECTION('',(9.921567416492E-1,0.E0,-1.25E-1)); +-#1311=AXIS2_PLACEMENT_3D('',#1308,#1309,#1310); +-#1313=CARTESIAN_POINT('',(1.65E1,0.E0,7.5E0)); +-#1314=DIRECTION('',(0.E0,1.E0,0.E0)); +-#1315=DIRECTION('',(9.921567416492E-1,0.E0,-1.25E-1)); +-#1316=AXIS2_PLACEMENT_3D('',#1313,#1314,#1315); +-#1318=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1319=VECTOR('',#1318,1.5E0); +-#1320=CARTESIAN_POINT('',(1.65E1,1.5E0,2.5E0)); +-#1321=LINE('',#1320,#1319); +-#1322=CARTESIAN_POINT('',(1.65E1,1.5E0,7.5E0)); +-#1323=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1324=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#1325=AXIS2_PLACEMENT_3D('',#1322,#1323,#1324); +-#1327=CARTESIAN_POINT('',(7.5E0,1.5E0,7.5E0)); +-#1328=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1329=DIRECTION('',(-9.921567416492E-1,0.E0,-1.25E-1)); +-#1330=AXIS2_PLACEMENT_3D('',#1327,#1328,#1329); +-#1332=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1333=VECTOR('',#1332,1.5E0); +-#1334=CARTESIAN_POINT('',(7.5E0,1.5E0,2.5E0)); +-#1335=LINE('',#1334,#1333); +-#1336=CARTESIAN_POINT('',(7.5E0,0.E0,7.5E0)); +-#1337=DIRECTION('',(0.E0,1.E0,0.E0)); +-#1338=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#1339=AXIS2_PLACEMENT_3D('',#1336,#1337,#1338); +-#1341=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1342=VECTOR('',#1341,1.5E0); +-#1343=CARTESIAN_POINT('',(3.531373033403E0,1.5E0,8.E0)); +-#1344=LINE('',#1343,#1342); +-#1345=CARTESIAN_POINT('',(3.531373033403E0,1.5E0,7.E0)); +-#1346=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1347=DIRECTION('',(0.E0,0.E0,1.E0)); +-#1348=AXIS2_PLACEMENT_3D('',#1345,#1346,#1347); +-#1350=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1351=VECTOR('',#1350,1.5E0); +-#1352=CARTESIAN_POINT('',(2.539216291754E0,1.5E0,6.875E0)); +-#1353=LINE('',#1352,#1351); +-#1354=CARTESIAN_POINT('',(3.531373033403E0,0.E0,7.E0)); +-#1355=DIRECTION('',(0.E0,1.E0,0.E0)); +-#1356=DIRECTION('',(-9.921567416492E-1,0.E0,-1.25E-1)); +-#1357=AXIS2_PLACEMENT_3D('',#1354,#1355,#1356); +-#1359=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1360=VECTOR('',#1359,1.5E0); +-#1361=CARTESIAN_POINT('',(0.E0,1.5E0,7.E0)); +-#1362=LINE('',#1361,#1360); +-#1363=CARTESIAN_POINT('',(-1.E0,1.5E0,7.E0)); +-#1364=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1365=DIRECTION('',(1.E0,0.E0,0.E0)); +-#1366=AXIS2_PLACEMENT_3D('',#1363,#1364,#1365); +-#1368=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1369=VECTOR('',#1368,1.5E0); +-#1370=CARTESIAN_POINT('',(-1.E0,1.5E0,8.E0)); +-#1371=LINE('',#1370,#1369); +-#1372=CARTESIAN_POINT('',(-1.E0,0.E0,7.E0)); +-#1373=DIRECTION('',(0.E0,1.E0,0.E0)); +-#1374=DIRECTION('',(0.E0,0.E0,1.E0)); +-#1375=AXIS2_PLACEMENT_3D('',#1372,#1373,#1374); +-#1377=DIRECTION('',(0.E0,1.E0,0.E0)); +-#1378=VECTOR('',#1377,1.5E0); +-#1379=CARTESIAN_POINT('',(0.E0,0.E0,1.325E1)); +-#1380=LINE('',#1379,#1378); +-#1381=CARTESIAN_POINT('',(-1.E0,0.E0,1.325E1)); +-#1382=DIRECTION('',(0.E0,1.E0,0.E0)); +-#1383=DIRECTION('',(1.E0,0.E0,0.E0)); +-#1384=AXIS2_PLACEMENT_3D('',#1381,#1382,#1383); +-#1386=DIRECTION('',(0.E0,1.E0,0.E0)); +-#1387=VECTOR('',#1386,1.5E0); +-#1388=CARTESIAN_POINT('',(-1.E0,0.E0,1.225E1)); +-#1389=LINE('',#1388,#1387); +-#1390=CARTESIAN_POINT('',(-1.E0,1.5E0,1.325E1)); +-#1391=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1392=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#1393=AXIS2_PLACEMENT_3D('',#1390,#1391,#1392); +-#1395=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1396=VECTOR('',#1395,1.5E0); +-#1397=CARTESIAN_POINT('',(2.5E0,1.5E0,1.325E1)); +-#1398=LINE('',#1397,#1396); +-#1399=CARTESIAN_POINT('',(3.5E0,1.5E0,1.325E1)); +-#1400=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1401=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#1402=AXIS2_PLACEMENT_3D('',#1399,#1400,#1401); +-#1404=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1405=VECTOR('',#1404,1.5E0); +-#1406=CARTESIAN_POINT('',(3.5E0,1.5E0,1.225E1)); +-#1407=LINE('',#1406,#1405); +-#1408=CARTESIAN_POINT('',(3.5E0,0.E0,1.325E1)); +-#1409=DIRECTION('',(0.E0,1.E0,0.E0)); +-#1410=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#1411=AXIS2_PLACEMENT_3D('',#1408,#1409,#1410); +-#1413=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1414=VECTOR('',#1413,1.5E0); +-#1415=CARTESIAN_POINT('',(2.5E0,1.5E0,2.19375E1)); +-#1416=LINE('',#1415,#1414); +-#1417=CARTESIAN_POINT('',(5.5E0,1.5E0,2.19375E1)); +-#1418=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1419=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#1420=AXIS2_PLACEMENT_3D('',#1417,#1418,#1419); +-#1422=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1423=VECTOR('',#1422,1.5E0); +-#1424=CARTESIAN_POINT('',(5.5E0,1.5E0,1.89375E1)); +-#1425=LINE('',#1424,#1423); +-#1426=CARTESIAN_POINT('',(5.5E0,0.E0,2.19375E1)); +-#1427=DIRECTION('',(0.E0,1.E0,0.E0)); +-#1428=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#1429=AXIS2_PLACEMENT_3D('',#1426,#1427,#1428); +-#1431=DIRECTION('',(0.E0,1.E0,0.E0)); +-#1432=VECTOR('',#1431,1.5E0); +-#1433=CARTESIAN_POINT('',(2.15E1,0.E0,2.19375E1)); +-#1434=LINE('',#1433,#1432); +-#1435=CARTESIAN_POINT('',(1.85E1,0.E0,2.19375E1)); +-#1436=DIRECTION('',(0.E0,1.E0,0.E0)); +-#1437=DIRECTION('',(1.E0,0.E0,0.E0)); +-#1438=AXIS2_PLACEMENT_3D('',#1435,#1436,#1437); +-#1440=DIRECTION('',(0.E0,1.E0,0.E0)); +-#1441=VECTOR('',#1440,1.5E0); +-#1442=CARTESIAN_POINT('',(1.85E1,0.E0,1.89375E1)); +-#1443=LINE('',#1442,#1441); +-#1444=CARTESIAN_POINT('',(1.85E1,1.5E0,2.19375E1)); +-#1445=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1446=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#1447=AXIS2_PLACEMENT_3D('',#1444,#1445,#1446); +-#1449=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1450=VECTOR('',#1449,1.5E0); +-#1451=CARTESIAN_POINT('',(2.15E1,1.5E0,2.45E1)); +-#1452=LINE('',#1451,#1450); +-#1453=CARTESIAN_POINT('',(1.65E1,1.5E0,2.45E1)); +-#1454=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1455=DIRECTION('',(1.E0,0.E0,0.E0)); +-#1456=AXIS2_PLACEMENT_3D('',#1453,#1454,#1455); +-#1458=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1459=VECTOR('',#1458,1.5E0); +-#1460=CARTESIAN_POINT('',(1.65E1,1.5E0,2.95E1)); +-#1461=LINE('',#1460,#1459); +-#1462=CARTESIAN_POINT('',(1.65E1,0.E0,2.45E1)); +-#1463=DIRECTION('',(0.E0,1.E0,0.E0)); +-#1464=DIRECTION('',(0.E0,0.E0,1.E0)); +-#1465=AXIS2_PLACEMENT_3D('',#1462,#1463,#1464); +-#1467=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1468=VECTOR('',#1467,1.5E0); +-#1469=CARTESIAN_POINT('',(7.5E0,1.5E0,2.95E1)); +-#1470=LINE('',#1469,#1468); +-#1471=CARTESIAN_POINT('',(7.5E0,1.5E0,2.45E1)); +-#1472=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1473=DIRECTION('',(0.E0,0.E0,1.E0)); +-#1474=AXIS2_PLACEMENT_3D('',#1471,#1472,#1473); +-#1476=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1477=VECTOR('',#1476,1.5E0); +-#1478=CARTESIAN_POINT('',(2.5E0,1.5E0,2.45E1)); +-#1479=LINE('',#1478,#1477); +-#1480=CARTESIAN_POINT('',(7.5E0,0.E0,2.45E1)); +-#1481=DIRECTION('',(0.E0,1.E0,0.E0)); +-#1482=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#1483=AXIS2_PLACEMENT_3D('',#1480,#1481,#1482); +-#1485=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1486=VECTOR('',#1485,1.5E0); +-#1487=CARTESIAN_POINT('',(2.15E1,1.5E0,1.40625E1)); +-#1488=LINE('',#1487,#1486); +-#1489=CARTESIAN_POINT('',(1.85E1,1.5E0,1.40625E1)); +-#1490=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1491=DIRECTION('',(1.E0,0.E0,0.E0)); +-#1492=AXIS2_PLACEMENT_3D('',#1489,#1490,#1491); +-#1494=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1495=VECTOR('',#1494,1.5E0); +-#1496=CARTESIAN_POINT('',(1.85E1,1.5E0,1.70625E1)); +-#1497=LINE('',#1496,#1495); +-#1498=CARTESIAN_POINT('',(1.85E1,0.E0,1.40625E1)); +-#1499=DIRECTION('',(0.E0,1.E0,0.E0)); +-#1500=DIRECTION('',(0.E0,0.E0,1.E0)); +-#1501=AXIS2_PLACEMENT_3D('',#1498,#1499,#1500); +-#1503=DIRECTION('',(0.E0,1.E0,0.E0)); +-#1504=VECTOR('',#1503,1.5E0); +-#1505=CARTESIAN_POINT('',(2.5E0,0.E0,1.40625E1)); +-#1506=LINE('',#1505,#1504); +-#1507=CARTESIAN_POINT('',(5.5E0,0.E0,1.40625E1)); +-#1508=DIRECTION('',(0.E0,1.E0,0.E0)); +-#1509=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#1510=AXIS2_PLACEMENT_3D('',#1507,#1508,#1509); +-#1512=DIRECTION('',(0.E0,1.E0,0.E0)); +-#1513=VECTOR('',#1512,1.5E0); +-#1514=CARTESIAN_POINT('',(5.5E0,0.E0,1.70625E1)); +-#1515=LINE('',#1514,#1513); +-#1516=CARTESIAN_POINT('',(5.5E0,1.5E0,1.40625E1)); +-#1517=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1518=DIRECTION('',(0.E0,0.E0,1.E0)); +-#1519=AXIS2_PLACEMENT_3D('',#1516,#1517,#1518); +-#1521=DIRECTION('',(0.E0,1.E0,0.E0)); +-#1522=VECTOR('',#1521,1.5E0); +-#1523=CARTESIAN_POINT('',(2.15E1,0.E0,1.325E1)); +-#1524=LINE('',#1523,#1522); +-#1525=CARTESIAN_POINT('',(2.05E1,0.E0,1.325E1)); +-#1526=DIRECTION('',(0.E0,1.E0,0.E0)); +-#1527=DIRECTION('',(1.E0,0.E0,0.E0)); +-#1528=AXIS2_PLACEMENT_3D('',#1525,#1526,#1527); +-#1530=DIRECTION('',(0.E0,1.E0,0.E0)); +-#1531=VECTOR('',#1530,1.5E0); +-#1532=CARTESIAN_POINT('',(2.05E1,0.E0,1.225E1)); +-#1533=LINE('',#1532,#1531); +-#1534=CARTESIAN_POINT('',(2.05E1,1.5E0,1.325E1)); +-#1535=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1536=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#1537=AXIS2_PLACEMENT_3D('',#1534,#1535,#1536); +-#1539=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1540=VECTOR('',#1539,1.5E0); +-#1541=CARTESIAN_POINT('',(2.4E1,1.5E0,1.325E1)); +-#1542=LINE('',#1541,#1540); +-#1543=CARTESIAN_POINT('',(2.5E1,1.5E0,1.325E1)); +-#1544=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1545=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#1546=AXIS2_PLACEMENT_3D('',#1543,#1544,#1545); +-#1548=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1549=VECTOR('',#1548,1.5E0); +-#1550=CARTESIAN_POINT('',(2.5E1,1.5E0,1.225E1)); +-#1551=LINE('',#1550,#1549); +-#1552=CARTESIAN_POINT('',(2.5E1,0.E0,1.325E1)); +-#1553=DIRECTION('',(0.E0,1.E0,0.E0)); +-#1554=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#1555=AXIS2_PLACEMENT_3D('',#1552,#1553,#1554); +-#1557=DIRECTION('',(0.E0,1.E0,0.E0)); +-#1558=VECTOR('',#1557,1.5E0); +-#1559=CARTESIAN_POINT('',(2.4E1,0.E0,2.8E1)); +-#1560=LINE('',#1559,#1558); +-#1561=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1)); +-#1562=VECTOR('',#1561,5.656854249492E0); +-#1563=CARTESIAN_POINT('',(2.4E1,0.E0,2.8E1)); +-#1564=LINE('',#1563,#1562); +-#1565=DIRECTION('',(0.E0,1.E0,0.E0)); +-#1566=VECTOR('',#1565,1.5E0); +-#1567=CARTESIAN_POINT('',(2.E1,0.E0,3.2E1)); +-#1568=LINE('',#1567,#1566); +-#1569=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1)); +-#1570=VECTOR('',#1569,5.656854249492E0); +-#1571=CARTESIAN_POINT('',(2.4E1,1.5E0,2.8E1)); +-#1572=LINE('',#1571,#1570); +-#1573=DIRECTION('',(0.E0,1.E0,0.E0)); +-#1574=VECTOR('',#1573,1.5E0); +-#1575=CARTESIAN_POINT('',(4.E0,0.E0,3.2E1)); +-#1576=LINE('',#1575,#1574); +-#1577=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1)); +-#1578=VECTOR('',#1577,5.656854249492E0); +-#1579=CARTESIAN_POINT('',(4.E0,0.E0,3.2E1)); +-#1580=LINE('',#1579,#1578); +-#1581=DIRECTION('',(0.E0,1.E0,0.E0)); +-#1582=VECTOR('',#1581,1.5E0); +-#1583=CARTESIAN_POINT('',(0.E0,0.E0,2.8E1)); +-#1584=LINE('',#1583,#1582); +-#1585=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1)); +-#1586=VECTOR('',#1585,5.656854249492E0); +-#1587=CARTESIAN_POINT('',(4.E0,1.5E0,3.2E1)); +-#1588=LINE('',#1587,#1586); +-#1589=DIRECTION('',(0.E0,1.E0,0.E0)); +-#1590=VECTOR('',#1589,1.5E0); +-#1591=CARTESIAN_POINT('',(2.4E1,0.E0,7.E0)); +-#1592=LINE('',#1591,#1590); +-#1593=CARTESIAN_POINT('',(2.5E1,0.E0,7.E0)); +-#1594=DIRECTION('',(0.E0,1.E0,0.E0)); +-#1595=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#1596=AXIS2_PLACEMENT_3D('',#1593,#1594,#1595); +-#1598=DIRECTION('',(0.E0,1.E0,0.E0)); +-#1599=VECTOR('',#1598,1.5E0); +-#1600=CARTESIAN_POINT('',(2.5E1,0.E0,8.E0)); +-#1601=LINE('',#1600,#1599); +-#1602=CARTESIAN_POINT('',(2.5E1,1.5E0,7.E0)); +-#1603=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1604=DIRECTION('',(0.E0,0.E0,1.E0)); +-#1605=AXIS2_PLACEMENT_3D('',#1602,#1603,#1604); +-#1607=DIRECTION('',(0.E0,1.E0,0.E0)); +-#1608=VECTOR('',#1607,1.5E0); +-#1609=CARTESIAN_POINT('',(2.E1,0.E0,0.E0)); +-#1610=LINE('',#1609,#1608); +-#1611=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1)); +-#1612=VECTOR('',#1611,5.656854249492E0); +-#1613=CARTESIAN_POINT('',(2.E1,0.E0,0.E0)); +-#1614=LINE('',#1613,#1612); +-#1615=DIRECTION('',(0.E0,1.E0,0.E0)); +-#1616=VECTOR('',#1615,1.5E0); +-#1617=CARTESIAN_POINT('',(2.4E1,0.E0,4.E0)); +-#1618=LINE('',#1617,#1616); +-#1619=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1)); +-#1620=VECTOR('',#1619,5.656854249492E0); +-#1621=CARTESIAN_POINT('',(2.E1,1.5E0,0.E0)); +-#1622=LINE('',#1621,#1620); +-#1623=DIRECTION('',(0.E0,1.E0,0.E0)); +-#1624=VECTOR('',#1623,1.5E0); +-#1625=CARTESIAN_POINT('',(0.E0,0.E0,4.E0)); +-#1626=LINE('',#1625,#1624); +-#1627=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1)); +-#1628=VECTOR('',#1627,5.656854249492E0); +-#1629=CARTESIAN_POINT('',(0.E0,0.E0,4.E0)); +-#1630=LINE('',#1629,#1628); +-#1631=DIRECTION('',(0.E0,1.E0,0.E0)); +-#1632=VECTOR('',#1631,1.5E0); +-#1633=CARTESIAN_POINT('',(4.E0,0.E0,0.E0)); +-#1634=LINE('',#1633,#1632); +-#1635=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1)); +-#1636=VECTOR('',#1635,5.656854249492E0); +-#1637=CARTESIAN_POINT('',(0.E0,1.5E0,4.E0)); +-#1638=LINE('',#1637,#1636); +-#1639=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1640=VECTOR('',#1639,1.5E0); +-#1641=CARTESIAN_POINT('',(2.55E1,1.5E0,1.225E1)); +-#1642=LINE('',#1641,#1640); +-#1643=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1)); +-#1644=VECTOR('',#1643,7.071067811865E-1); +-#1645=CARTESIAN_POINT('',(2.55E1,1.5E0,1.225E1)); +-#1646=LINE('',#1645,#1644); +-#1647=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1648=VECTOR('',#1647,1.5E0); +-#1649=CARTESIAN_POINT('',(2.6E1,1.5E0,1.175E1)); +-#1650=LINE('',#1649,#1648); +-#1651=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1)); +-#1652=VECTOR('',#1651,7.071067811865E-1); +-#1653=CARTESIAN_POINT('',(2.55E1,0.E0,1.225E1)); +-#1654=LINE('',#1653,#1652); +-#1655=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1656=VECTOR('',#1655,2.5E0); +-#1657=CARTESIAN_POINT('',(2.6E1,2.5E0,8.E0)); +-#1658=LINE('',#1657,#1656); +-#1659=DIRECTION('',(0.E0,0.E0,1.E0)); +-#1660=VECTOR('',#1659,2.E0); +-#1661=CARTESIAN_POINT('',(2.6E1,2.5E0,8.E0)); +-#1662=LINE('',#1661,#1660); +-#1663=DIRECTION('',(0.E0,0.E0,1.E0)); +-#1664=VECTOR('',#1663,2.E0); +-#1665=CARTESIAN_POINT('',(2.1E1,1.15E1,8.E0)); +-#1666=LINE('',#1665,#1664); +-#1667=DIRECTION('',(0.E0,0.E0,1.E0)); +-#1668=VECTOR('',#1667,2.E0); +-#1669=CARTESIAN_POINT('',(1.9E1,1.15E1,8.E0)); +-#1670=LINE('',#1669,#1668); +-#1671=CARTESIAN_POINT('',(2.E1,1.15E1,9.E0)); +-#1672=DIRECTION('',(0.E0,1.E0,0.E0)); +-#1673=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#1674=AXIS2_PLACEMENT_3D('',#1671,#1672,#1673); +-#1676=CARTESIAN_POINT('',(2.E1,1.15E1,9.E0)); +-#1677=DIRECTION('',(0.E0,1.E0,0.E0)); +-#1678=DIRECTION('',(1.E0,0.E0,0.E0)); +-#1679=AXIS2_PLACEMENT_3D('',#1676,#1677,#1678); +-#1681=CARTESIAN_POINT('',(2.013258252147E1,1.15E1,9.132582521472E0)); +-#1682=DIRECTION('',(0.E0,1.E0,0.E0)); +-#1683=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#1684=AXIS2_PLACEMENT_3D('',#1681,#1682,#1683); +-#1686=CARTESIAN_POINT('',(2.013258252147E1,1.15E1,9.132582521472E0)); +-#1687=DIRECTION('',(0.E0,1.E0,0.E0)); +-#1688=DIRECTION('',(1.E0,0.E0,0.E0)); +-#1689=AXIS2_PLACEMENT_3D('',#1686,#1687,#1688); +-#1691=DIRECTION('',(0.E0,0.E0,1.E0)); +-#1692=VECTOR('',#1691,2.E0); +-#1693=CARTESIAN_POINT('',(1.9E1,1.5E0,8.E0)); +-#1694=LINE('',#1693,#1692); +-#1695=DIRECTION('',(0.E0,1.E0,0.E0)); +-#1696=VECTOR('',#1695,1.E1); +-#1697=CARTESIAN_POINT('',(1.9E1,1.5E0,8.E0)); +-#1698=LINE('',#1697,#1696); +-#1699=DIRECTION('',(0.E0,1.E0,0.E0)); +-#1700=VECTOR('',#1699,1.5E0); +-#1701=CARTESIAN_POINT('',(1.9E1,0.E0,1.1E1)); +-#1702=LINE('',#1701,#1700); +-#1703=CARTESIAN_POINT('',(1.8E1,0.E0,1.1E1)); +-#1704=DIRECTION('',(0.E0,1.E0,0.E0)); +-#1705=DIRECTION('',(1.E0,0.E0,0.E0)); +-#1706=AXIS2_PLACEMENT_3D('',#1703,#1704,#1705); +-#1708=DIRECTION('',(0.E0,1.E0,0.E0)); +-#1709=VECTOR('',#1708,1.5E0); +-#1710=CARTESIAN_POINT('',(1.8E1,0.E0,1.E1)); +-#1711=LINE('',#1710,#1709); +-#1712=CARTESIAN_POINT('',(1.8E1,1.5E0,1.1E1)); +-#1713=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1714=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#1715=AXIS2_PLACEMENT_3D('',#1712,#1713,#1714); +-#1717=DIRECTION('',(1.E0,0.E0,0.E0)); +-#1718=VECTOR('',#1717,1.2E1); +-#1719=CARTESIAN_POINT('',(6.E0,1.5E0,1.E1)); +-#1720=LINE('',#1719,#1718); +-#1721=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1722=VECTOR('',#1721,1.5E0); +-#1723=CARTESIAN_POINT('',(5.E0,1.5E0,1.1E1)); +-#1724=LINE('',#1723,#1722); +-#1725=CARTESIAN_POINT('',(6.E0,1.5E0,1.1E1)); +-#1726=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1727=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#1728=AXIS2_PLACEMENT_3D('',#1725,#1726,#1727); +-#1730=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1731=VECTOR('',#1730,1.5E0); +-#1732=CARTESIAN_POINT('',(6.E0,1.5E0,1.E1)); +-#1733=LINE('',#1732,#1731); +-#1734=CARTESIAN_POINT('',(6.E0,0.E0,1.1E1)); +-#1735=DIRECTION('',(0.E0,1.E0,0.E0)); +-#1736=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#1737=AXIS2_PLACEMENT_3D('',#1734,#1735,#1736); +-#1739=DIRECTION('',(0.E0,0.E0,1.E0)); +-#1740=VECTOR('',#1739,2.E0); +-#1741=CARTESIAN_POINT('',(5.E0,1.5E0,8.E0)); +-#1742=LINE('',#1741,#1740); +-#1743=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1744=VECTOR('',#1743,1.E1); +-#1745=CARTESIAN_POINT('',(5.E0,1.15E1,8.E0)); +-#1746=LINE('',#1745,#1744); +-#1747=DIRECTION('',(0.E0,1.E0,0.E0)); +-#1748=VECTOR('',#1747,1.5E0); +-#1749=CARTESIAN_POINT('',(5.E0,0.E0,1.175E1)); +-#1750=LINE('',#1749,#1748); +-#1751=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1)); +-#1752=VECTOR('',#1751,7.071067811865E-1); +-#1753=CARTESIAN_POINT('',(5.E0,0.E0,1.175E1)); +-#1754=LINE('',#1753,#1752); +-#1755=DIRECTION('',(0.E0,1.E0,0.E0)); +-#1756=VECTOR('',#1755,1.5E0); +-#1757=CARTESIAN_POINT('',(4.5E0,0.E0,1.225E1)); +-#1758=LINE('',#1757,#1756); +-#1759=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1)); +-#1760=VECTOR('',#1759,7.071067811865E-1); +-#1761=CARTESIAN_POINT('',(5.E0,1.5E0,1.175E1)); +-#1762=LINE('',#1761,#1760); +-#1763=CARTESIAN_POINT('',(4.25E0,1.05E1,1.E1)); +-#1764=DIRECTION('',(0.E0,0.E0,1.E0)); +-#1765=DIRECTION('',(1.E0,0.E0,0.E0)); +-#1766=AXIS2_PLACEMENT_3D('',#1763,#1764,#1765); +-#1768=CARTESIAN_POINT('',(4.25E0,1.05E1,1.E1)); +-#1769=DIRECTION('',(0.E0,0.E0,1.E0)); +-#1770=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#1771=AXIS2_PLACEMENT_3D('',#1768,#1769,#1770); +-#1773=DIRECTION('',(0.E0,1.E0,0.E0)); +-#1774=VECTOR('',#1773,5.E0); +-#1775=CARTESIAN_POINT('',(2.5E-1,1.5E0,1.E1)); +-#1776=LINE('',#1775,#1774); +-#1777=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1778=VECTOR('',#1777,1.E0); +-#1779=CARTESIAN_POINT('',(-2.E0,2.5E0,1.E1)); +-#1780=LINE('',#1779,#1778); +-#1781=DIRECTION('',(-4.856429311786E-1,-8.741572761215E-1,0.E0)); +-#1782=VECTOR('',#1781,1.029563014099E1); +-#1783=CARTESIAN_POINT('',(3.E0,1.15E1,1.E1)); +-#1784=LINE('',#1783,#1782); +-#1785=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#1786=VECTOR('',#1785,2.E0); +-#1787=CARTESIAN_POINT('',(5.E0,1.15E1,1.E1)); +-#1788=LINE('',#1787,#1786); +-#1789=DIRECTION('',(0.E0,1.E0,0.E0)); +-#1790=VECTOR('',#1789,1.E1); +-#1791=CARTESIAN_POINT('',(5.E0,1.5E0,1.E1)); +-#1792=LINE('',#1791,#1790); +-#1793=DIRECTION('',(0.E0,1.E0,0.E0)); +-#1794=VECTOR('',#1793,5.E0); +-#1795=CARTESIAN_POINT('',(2.E0,1.5E0,1.E1)); +-#1796=LINE('',#1795,#1794); +-#1797=DIRECTION('',(1.E0,0.E0,0.E0)); +-#1798=VECTOR('',#1797,1.75E0); +-#1799=CARTESIAN_POINT('',(2.5E-1,6.5E0,1.E1)); +-#1800=LINE('',#1799,#1798); +-#1801=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1802=VECTOR('',#1801,4.3E0); +-#1803=CARTESIAN_POINT('',(2.5E0,6.65E0,1.E1)); +-#1804=LINE('',#1803,#1802); +-#1805=DIRECTION('',(1.E0,0.E0,0.E0)); +-#1806=VECTOR('',#1805,1.3E0); +-#1807=CARTESIAN_POINT('',(2.85E0,2.E0,1.E1)); +-#1808=LINE('',#1807,#1806); +-#1809=DIRECTION('',(0.E0,1.E0,0.E0)); +-#1810=VECTOR('',#1809,6.8E0); +-#1811=CARTESIAN_POINT('',(4.5E0,2.35E0,1.E1)); +-#1812=LINE('',#1811,#1810); +-#1813=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#1814=VECTOR('',#1813,1.197200760546E0); +-#1815=CARTESIAN_POINT('',(4.15E0,9.5E0,1.E1)); +-#1816=LINE('',#1815,#1814); +-#1817=DIRECTION('',(-4.856429311786E-1,-8.741572761215E-1,0.E0)); +-#1818=VECTOR('',#1817,2.059126028197E0); +-#1819=CARTESIAN_POINT('',(2.646844192811E0,9.319975025913E0,1.E1)); +-#1820=LINE('',#1819,#1818); +-#1821=DIRECTION('',(1.E0,0.E0,0.E0)); +-#1822=VECTOR('',#1821,1.972007605460E-1); +-#1823=CARTESIAN_POINT('',(1.952799239454E0,7.E0,1.E1)); +-#1824=LINE('',#1823,#1822); +-#1825=DIRECTION('',(0.E0,0.E0,1.E0)); +-#1826=VECTOR('',#1825,2.E0); +-#1827=CARTESIAN_POINT('',(4.4125E0,1.05E1,8.E0)); +-#1828=LINE('',#1827,#1826); +-#1829=DIRECTION('',(0.E0,0.E0,1.E0)); +-#1830=VECTOR('',#1829,2.E0); +-#1831=CARTESIAN_POINT('',(4.0875E0,1.05E1,8.E0)); +-#1832=LINE('',#1831,#1830); +-#1833=DIRECTION('',(0.E0,-8.660254037844E-1,5.E-1)); +-#1834=VECTOR('',#1833,5.773502691896E0); +-#1835=CARTESIAN_POINT('',(2.5E-1,6.5E0,1.E1)); +-#1836=LINE('',#1835,#1834); +-#1837=CARTESIAN_POINT('',(8.675E-1,3.035898384862E0,1.2E1)); +-#1838=CARTESIAN_POINT('',(8.675E-1,2.930774450068E0,1.206069333205E1)); +-#1839=CARTESIAN_POINT('',(9.058386382037E-1,2.745461691651E0,1.216768370301E1)); +-#1840=CARTESIAN_POINT('',(1.029862281194E0,2.608885438662E0,1.224653603944E1)); +-#1841=CARTESIAN_POINT('',(1.125E0,2.580400233539E0,1.226298198028E1)); +-#1842=CARTESIAN_POINT('',(1.220137718806E0,2.608885438662E0,1.224653603944E1)); +-#1843=CARTESIAN_POINT('',(1.344161361796E0,2.745461691651E0,1.216768370301E1)); +-#1844=CARTESIAN_POINT('',(1.3825E0,2.930774450068E0,1.206069333205E1)); +-#1845=CARTESIAN_POINT('',(1.3825E0,3.035898384862E0,1.2E1)); +-#1847=CARTESIAN_POINT('',(1.3825E0,3.035898384862E0,1.2E1)); +-#1848=CARTESIAN_POINT('',(1.3825E0,3.141022319657E0,1.193930666795E1)); +-#1849=CARTESIAN_POINT('',(1.344161361796E0,3.326335078073E0,1.183231629699E1)); +-#1850=CARTESIAN_POINT('',(1.220137718806E0,3.462911331062E0,1.175346396056E1)); +-#1851=CARTESIAN_POINT('',(1.125E0,3.491396536186E0,1.173701801972E1)); +-#1852=CARTESIAN_POINT('',(1.029862281194E0,3.462911331062E0,1.175346396056E1)); +-#1853=CARTESIAN_POINT('',(9.058386382037E-1,3.326335078073E0,1.183231629699E1)); +-#1854=CARTESIAN_POINT('',(8.675E-1,3.141022319657E0,1.193930666795E1)); +-#1855=CARTESIAN_POINT('',(8.675E-1,3.035898384862E0,1.2E1)); +-#1857=DIRECTION('',(0.E0,-8.660254037844E-1,5.E-1)); +-#1858=VECTOR('',#1857,5.773502691896E0); +-#1859=CARTESIAN_POINT('',(2.E0,6.5E0,1.E1)); +-#1860=LINE('',#1859,#1858); +-#1861=DIRECTION('',(0.E0,1.E0,0.E0)); +-#1862=VECTOR('',#1861,2.035898384862E0); +-#1863=CARTESIAN_POINT('',(8.675E-1,1.E0,1.2E1)); +-#1864=LINE('',#1863,#1862); +-#1865=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1866=VECTOR('',#1865,2.035898384862E0); +-#1867=CARTESIAN_POINT('',(1.3825E0,3.035898384862E0,1.2E1)); +-#1868=LINE('',#1867,#1866); +-#1869=CARTESIAN_POINT('',(1.125E0,1.E0,1.2E1)); +-#1870=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1871=DIRECTION('',(1.E0,0.E0,0.E0)); +-#1872=AXIS2_PLACEMENT_3D('',#1869,#1870,#1871); +-#1874=CARTESIAN_POINT('',(1.125E0,1.E0,1.2E1)); +-#1875=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1876=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#1877=AXIS2_PLACEMENT_3D('',#1874,#1875,#1876); +-#1879=CARTESIAN_POINT('',(1.125E0,1.E0,1.2E1)); +-#1880=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1881=DIRECTION('',(1.E0,0.E0,0.E0)); +-#1882=AXIS2_PLACEMENT_3D('',#1879,#1880,#1881); +-#1884=CARTESIAN_POINT('',(1.125E0,1.E0,1.2E1)); +-#1885=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1886=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#1887=AXIS2_PLACEMENT_3D('',#1884,#1885,#1886); +-#1889=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1890=VECTOR('',#1889,1.E0); +-#1891=CARTESIAN_POINT('',(1.3175E0,1.E0,1.2E1)); +-#1892=LINE('',#1891,#1890); +-#1893=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1894=VECTOR('',#1893,1.E0); +-#1895=CARTESIAN_POINT('',(9.325E-1,1.E0,1.2E1)); +-#1896=LINE('',#1895,#1894); +-#1897=DIRECTION('',(0.E0,1.E0,0.E0)); +-#1898=VECTOR('',#1897,2.5E0); +-#1899=CARTESIAN_POINT('',(-2.E0,0.E0,8.E0)); +-#1900=LINE('',#1899,#1898); +-#1901=DIRECTION('',(0.E0,0.E0,1.E0)); +-#1902=VECTOR('',#1901,2.E0); +-#1903=CARTESIAN_POINT('',(-2.E0,2.5E0,8.E0)); +-#1904=LINE('',#1903,#1902); +-#1905=DIRECTION('',(0.E0,1.E0,0.E0)); +-#1906=VECTOR('',#1905,1.5E0); +-#1907=CARTESIAN_POINT('',(-1.5E0,0.E0,1.225E1)); +-#1908=LINE('',#1907,#1906); +-#1909=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1)); +-#1910=VECTOR('',#1909,7.071067811865E-1); +-#1911=CARTESIAN_POINT('',(-1.5E0,0.E0,1.225E1)); +-#1912=LINE('',#1911,#1910); +-#1913=DIRECTION('',(0.E0,1.E0,0.E0)); +-#1914=VECTOR('',#1913,1.5E0); +-#1915=CARTESIAN_POINT('',(-2.E0,0.E0,1.175E1)); +-#1916=LINE('',#1915,#1914); +-#1917=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1)); +-#1918=VECTOR('',#1917,7.071067811865E-1); +-#1919=CARTESIAN_POINT('',(-1.5E0,1.5E0,1.225E1)); +-#1920=LINE('',#1919,#1918); +-#1921=DIRECTION('',(0.E0,0.E0,1.E0)); +-#1922=VECTOR('',#1921,2.E0); +-#1923=CARTESIAN_POINT('',(3.E0,1.15E1,8.E0)); +-#1924=LINE('',#1923,#1922); +-#1925=DIRECTION('',(0.E0,0.E0,1.E0)); +-#1926=VECTOR('',#1925,2.E0); +-#1927=CARTESIAN_POINT('',(5.E0,1.15E1,8.E0)); +-#1928=LINE('',#1927,#1926); +-#1929=CARTESIAN_POINT('',(4.E0,1.15E1,9.E0)); +-#1930=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1931=DIRECTION('',(1.E0,0.E0,0.E0)); +-#1932=AXIS2_PLACEMENT_3D('',#1929,#1930,#1931); +-#1934=CARTESIAN_POINT('',(4.E0,1.15E1,9.E0)); +-#1935=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1936=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#1937=AXIS2_PLACEMENT_3D('',#1934,#1935,#1936); +-#1939=CARTESIAN_POINT('',(3.867417478528E0,1.15E1,9.132582521472E0)); +-#1940=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1941=DIRECTION('',(1.E0,0.E0,0.E0)); +-#1942=AXIS2_PLACEMENT_3D('',#1939,#1940,#1941); +-#1944=CARTESIAN_POINT('',(3.867417478528E0,1.15E1,9.132582521472E0)); +-#1945=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1946=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#1947=AXIS2_PLACEMENT_3D('',#1944,#1945,#1946); +-#1949=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1950=VECTOR('',#1949,3.75E-1); +-#1951=CARTESIAN_POINT('',(4.095E0,1.15E1,9.E0)); +-#1952=LINE('',#1951,#1950); +-#1953=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1954=VECTOR('',#1953,3.75E-1); +-#1955=CARTESIAN_POINT('',(3.905E0,1.15E1,9.E0)); +-#1956=LINE('',#1955,#1954); +-#1957=CARTESIAN_POINT('',(4.E0,1.1125E1,9.E0)); +-#1958=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1959=DIRECTION('',(1.E0,0.E0,0.E0)); +-#1960=AXIS2_PLACEMENT_3D('',#1957,#1958,#1959); +-#1962=CARTESIAN_POINT('',(4.E0,1.1125E1,9.E0)); +-#1963=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1964=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#1965=AXIS2_PLACEMENT_3D('',#1962,#1963,#1964); +-#1967=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1968=VECTOR('',#1967,2.5E-1); +-#1969=CARTESIAN_POINT('',(3.929917478528E0,1.15E1,9.132582521472E0)); +-#1970=LINE('',#1969,#1968); +-#1971=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1972=VECTOR('',#1971,2.5E-1); +-#1973=CARTESIAN_POINT('',(3.804917478528E0,1.15E1,9.132582521472E0)); +-#1974=LINE('',#1973,#1972); +-#1975=CARTESIAN_POINT('',(3.867417478528E0,1.125E1,9.132582521472E0)); +-#1976=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1977=DIRECTION('',(1.E0,0.E0,0.E0)); +-#1978=AXIS2_PLACEMENT_3D('',#1975,#1976,#1977); +-#1980=CARTESIAN_POINT('',(3.867417478528E0,1.125E1,9.132582521472E0)); +-#1981=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#1982=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#1983=AXIS2_PLACEMENT_3D('',#1980,#1981,#1982); +-#1985=DIRECTION('',(0.E0,0.E0,1.E0)); +-#1986=VECTOR('',#1985,5.E-1); +-#1987=CARTESIAN_POINT('',(2.5E0,6.65E0,9.5E0)); +-#1988=LINE('',#1987,#1986); +-#1989=CARTESIAN_POINT('',(2.15E0,6.65E0,1.E1)); +-#1990=DIRECTION('',(0.E0,0.E0,1.E0)); +-#1991=DIRECTION('',(1.E0,0.E0,0.E0)); +-#1992=AXIS2_PLACEMENT_3D('',#1989,#1990,#1991); +-#1994=DIRECTION('',(0.E0,0.E0,1.E0)); +-#1995=VECTOR('',#1994,5.E-1); +-#1996=CARTESIAN_POINT('',(2.15E0,7.E0,9.5E0)); +-#1997=LINE('',#1996,#1995); +-#1998=CARTESIAN_POINT('',(2.15E0,6.65E0,9.5E0)); +-#1999=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#2000=DIRECTION('',(0.E0,1.E0,0.E0)); +-#2001=AXIS2_PLACEMENT_3D('',#1998,#1999,#2000); +-#2003=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2004=VECTOR('',#2003,4.3E0); +-#2005=CARTESIAN_POINT('',(2.5E0,6.65E0,9.5E0)); +-#2006=LINE('',#2005,#2004); +-#2007=DIRECTION('',(1.E0,0.E0,0.E0)); +-#2008=VECTOR('',#2007,1.972007605460E-1); +-#2009=CARTESIAN_POINT('',(1.952799239454E0,7.E0,9.5E0)); +-#2010=LINE('',#2009,#2008); +-#2011=DIRECTION('',(-4.856429311786E-1,-8.741572761215E-1,0.E0)); +-#2012=VECTOR('',#2011,2.059126028197E0); +-#2013=CARTESIAN_POINT('',(2.646844192811E0,9.319975025913E0,9.5E0)); +-#2014=LINE('',#2013,#2012); +-#2015=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#2016=VECTOR('',#2015,1.197200760546E0); +-#2017=CARTESIAN_POINT('',(4.15E0,9.5E0,9.5E0)); +-#2018=LINE('',#2017,#2016); +-#2019=DIRECTION('',(0.E0,1.E0,0.E0)); +-#2020=VECTOR('',#2019,6.8E0); +-#2021=CARTESIAN_POINT('',(4.5E0,2.35E0,9.5E0)); +-#2022=LINE('',#2021,#2020); +-#2023=DIRECTION('',(1.E0,0.E0,0.E0)); +-#2024=VECTOR('',#2023,1.3E0); +-#2025=CARTESIAN_POINT('',(2.85E0,2.E0,9.5E0)); +-#2026=LINE('',#2025,#2024); +-#2027=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#2028=VECTOR('',#2027,5.E-1); +-#2029=CARTESIAN_POINT('',(1.952799239454E0,7.E0,1.E1)); +-#2030=LINE('',#2029,#2028); +-#2031=CARTESIAN_POINT('',(1.952799239454E0,7.35E0,1.E1)); +-#2032=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#2033=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2034=AXIS2_PLACEMENT_3D('',#2031,#2032,#2033); +-#2036=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#2037=VECTOR('',#2036,5.E-1); +-#2038=CARTESIAN_POINT('',(1.646844192811E0,7.519975025913E0,1.E1)); +-#2039=LINE('',#2038,#2037); +-#2040=CARTESIAN_POINT('',(1.952799239454E0,7.35E0,9.5E0)); +-#2041=DIRECTION('',(0.E0,0.E0,1.E0)); +-#2042=DIRECTION('',(-8.741572761215E-1,4.856429311786E-1,0.E0)); +-#2043=AXIS2_PLACEMENT_3D('',#2040,#2041,#2042); +-#2045=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#2046=VECTOR('',#2045,5.E-1); +-#2047=CARTESIAN_POINT('',(2.646844192811E0,9.319975025913E0,1.E1)); +-#2048=LINE('',#2047,#2046); +-#2049=CARTESIAN_POINT('',(2.952799239454E0,9.15E0,1.E1)); +-#2050=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#2051=DIRECTION('',(-8.741572761215E-1,4.856429311786E-1,0.E0)); +-#2052=AXIS2_PLACEMENT_3D('',#2049,#2050,#2051); +-#2054=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#2055=VECTOR('',#2054,5.E-1); +-#2056=CARTESIAN_POINT('',(2.952799239454E0,9.5E0,1.E1)); +-#2057=LINE('',#2056,#2055); +-#2058=CARTESIAN_POINT('',(2.952799239454E0,9.15E0,9.5E0)); +-#2059=DIRECTION('',(0.E0,0.E0,1.E0)); +-#2060=DIRECTION('',(0.E0,1.E0,0.E0)); +-#2061=AXIS2_PLACEMENT_3D('',#2058,#2059,#2060); +-#2063=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#2064=VECTOR('',#2063,5.E-1); +-#2065=CARTESIAN_POINT('',(4.15E0,9.5E0,1.E1)); +-#2066=LINE('',#2065,#2064); +-#2067=CARTESIAN_POINT('',(4.15E0,9.15E0,1.E1)); +-#2068=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#2069=DIRECTION('',(0.E0,1.E0,0.E0)); +-#2070=AXIS2_PLACEMENT_3D('',#2067,#2068,#2069); +-#2072=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#2073=VECTOR('',#2072,5.E-1); +-#2074=CARTESIAN_POINT('',(4.5E0,9.15E0,1.E1)); +-#2075=LINE('',#2074,#2073); +-#2076=CARTESIAN_POINT('',(4.15E0,9.15E0,9.5E0)); +-#2077=DIRECTION('',(0.E0,0.E0,1.E0)); +-#2078=DIRECTION('',(1.E0,0.E0,0.E0)); +-#2079=AXIS2_PLACEMENT_3D('',#2076,#2077,#2078); +-#2081=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#2082=VECTOR('',#2081,5.E-1); +-#2083=CARTESIAN_POINT('',(4.5E0,2.35E0,1.E1)); +-#2084=LINE('',#2083,#2082); +-#2085=CARTESIAN_POINT('',(4.15E0,2.35E0,1.E1)); +-#2086=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#2087=DIRECTION('',(1.E0,0.E0,0.E0)); +-#2088=AXIS2_PLACEMENT_3D('',#2085,#2086,#2087); +-#2090=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#2091=VECTOR('',#2090,5.E-1); +-#2092=CARTESIAN_POINT('',(4.15E0,2.E0,1.E1)); +-#2093=LINE('',#2092,#2091); +-#2094=CARTESIAN_POINT('',(4.15E0,2.35E0,9.5E0)); +-#2095=DIRECTION('',(0.E0,0.E0,1.E0)); +-#2096=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2097=AXIS2_PLACEMENT_3D('',#2094,#2095,#2096); +-#2099=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#2100=VECTOR('',#2099,5.E-1); +-#2101=CARTESIAN_POINT('',(2.85E0,2.E0,1.E1)); +-#2102=LINE('',#2101,#2100); +-#2103=CARTESIAN_POINT('',(2.85E0,2.35E0,1.E1)); +-#2104=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#2105=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2106=AXIS2_PLACEMENT_3D('',#2103,#2104,#2105); +-#2108=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#2109=VECTOR('',#2108,5.E-1); +-#2110=CARTESIAN_POINT('',(2.5E0,2.35E0,1.E1)); +-#2111=LINE('',#2110,#2109); +-#2112=CARTESIAN_POINT('',(2.85E0,2.35E0,9.5E0)); +-#2113=DIRECTION('',(0.E0,0.E0,1.E0)); +-#2114=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#2115=AXIS2_PLACEMENT_3D('',#2112,#2113,#2114); +-#2117=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2118=VECTOR('',#2117,1.5E0); +-#2119=CARTESIAN_POINT('',(1.9E1,1.5E0,1.175E1)); +-#2120=LINE('',#2119,#2118); +-#2121=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1)); +-#2122=VECTOR('',#2121,7.071067811865E-1); +-#2123=CARTESIAN_POINT('',(1.9E1,1.5E0,1.175E1)); +-#2124=LINE('',#2123,#2122); +-#2125=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2126=VECTOR('',#2125,1.5E0); +-#2127=CARTESIAN_POINT('',(1.95E1,1.5E0,1.225E1)); +-#2128=LINE('',#2127,#2126); +-#2129=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1)); +-#2130=VECTOR('',#2129,7.071067811865E-1); +-#2131=CARTESIAN_POINT('',(1.9E1,0.E0,1.175E1)); +-#2132=LINE('',#2131,#2130); +-#2133=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2134=VECTOR('',#2133,3.75E-1); +-#2135=CARTESIAN_POINT('',(1.9905E1,1.15E1,9.E0)); +-#2136=LINE('',#2135,#2134); +-#2137=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2138=VECTOR('',#2137,3.75E-1); +-#2139=CARTESIAN_POINT('',(2.0095E1,1.15E1,9.E0)); +-#2140=LINE('',#2139,#2138); +-#2141=CARTESIAN_POINT('',(2.E1,1.1125E1,9.E0)); +-#2142=DIRECTION('',(0.E0,1.E0,0.E0)); +-#2143=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#2144=AXIS2_PLACEMENT_3D('',#2141,#2142,#2143); +-#2146=CARTESIAN_POINT('',(2.E1,1.1125E1,9.E0)); +-#2147=DIRECTION('',(0.E0,1.E0,0.E0)); +-#2148=DIRECTION('',(1.E0,0.E0,0.E0)); +-#2149=AXIS2_PLACEMENT_3D('',#2146,#2147,#2148); +-#2151=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2152=VECTOR('',#2151,2.5E-1); +-#2153=CARTESIAN_POINT('',(2.007008252147E1,1.15E1,9.132582521472E0)); +-#2154=LINE('',#2153,#2152); +-#2155=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2156=VECTOR('',#2155,2.5E-1); +-#2157=CARTESIAN_POINT('',(2.019508252147E1,1.15E1,9.132582521472E0)); +-#2158=LINE('',#2157,#2156); +-#2159=CARTESIAN_POINT('',(2.013258252147E1,1.125E1,9.132582521472E0)); +-#2160=DIRECTION('',(0.E0,1.E0,0.E0)); +-#2161=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#2162=AXIS2_PLACEMENT_3D('',#2159,#2160,#2161); +-#2164=CARTESIAN_POINT('',(2.013258252147E1,1.125E1,9.132582521472E0)); +-#2165=DIRECTION('',(0.E0,1.E0,0.E0)); +-#2166=DIRECTION('',(1.E0,0.E0,0.E0)); +-#2167=AXIS2_PLACEMENT_3D('',#2164,#2165,#2166); +-#2169=DIRECTION('',(1.421085471520E-14,1.E0,0.E0)); +-#2170=VECTOR('',#2169,2.5E-1); +-#2171=CARTESIAN_POINT('',(1.745E1,1.25E0,2.975E1)); +-#2172=LINE('',#2171,#2170); +-#2173=DIRECTION('',(-1.421085471520E-14,1.E0,0.E0)); +-#2174=VECTOR('',#2173,2.5E-1); +-#2175=CARTESIAN_POINT('',(1.765E1,1.25E0,2.975E1)); +-#2176=LINE('',#2175,#2174); +-#2177=DIRECTION('',(-8.660254037844E-1,5.E-1,0.E0)); +-#2178=VECTOR('',#2177,1.154700538379E-1); +-#2179=CARTESIAN_POINT('',(1.755E1,1.192264973081E0,2.975E1)); +-#2180=LINE('',#2179,#2178); +-#2181=DIRECTION('',(8.660254037844E-1,5.E-1,0.E0)); +-#2182=VECTOR('',#2181,1.154700538379E-1); +-#2183=CARTESIAN_POINT('',(1.755E1,1.192264973081E0,2.975E1)); +-#2184=LINE('',#2183,#2182); +-#2185=CARTESIAN_POINT('',(1.755E1,1.25E0,2.975E1)); +-#2186=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2187=DIRECTION('',(1.E0,0.E0,0.E0)); +-#2188=AXIS2_PLACEMENT_3D('',#2185,#2186,#2187); +-#2190=CARTESIAN_POINT('',(1.755E1,1.25E0,2.975E1)); +-#2191=DIRECTION('',(0.E0,1.E0,0.E0)); +-#2192=DIRECTION('',(1.E0,0.E0,0.E0)); +-#2193=AXIS2_PLACEMENT_3D('',#2190,#2191,#2192); +-#2195=DIRECTION('',(1.421085471520E-14,1.E0,0.E0)); +-#2196=VECTOR('',#2195,2.5E-1); +-#2197=CARTESIAN_POINT('',(1.645E1,1.25E0,2.975E1)); +-#2198=LINE('',#2197,#2196); +-#2199=DIRECTION('',(-1.421085471520E-14,1.E0,0.E0)); +-#2200=VECTOR('',#2199,2.5E-1); +-#2201=CARTESIAN_POINT('',(1.665E1,1.25E0,2.975E1)); +-#2202=LINE('',#2201,#2200); +-#2203=DIRECTION('',(-8.660254037844E-1,5.E-1,0.E0)); +-#2204=VECTOR('',#2203,1.154700538379E-1); +-#2205=CARTESIAN_POINT('',(1.655E1,1.192264973081E0,2.975E1)); +-#2206=LINE('',#2205,#2204); +-#2207=DIRECTION('',(8.660254037844E-1,5.E-1,0.E0)); +-#2208=VECTOR('',#2207,1.154700538379E-1); +-#2209=CARTESIAN_POINT('',(1.655E1,1.192264973081E0,2.975E1)); +-#2210=LINE('',#2209,#2208); +-#2211=CARTESIAN_POINT('',(1.655E1,1.25E0,2.975E1)); +-#2212=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2213=DIRECTION('',(1.E0,0.E0,0.E0)); +-#2214=AXIS2_PLACEMENT_3D('',#2211,#2212,#2213); +-#2216=CARTESIAN_POINT('',(1.655E1,1.25E0,2.975E1)); +-#2217=DIRECTION('',(0.E0,1.E0,0.E0)); +-#2218=DIRECTION('',(1.E0,0.E0,0.E0)); +-#2219=AXIS2_PLACEMENT_3D('',#2216,#2217,#2218); +-#2221=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2222=VECTOR('',#2221,5.E-1); +-#2223=CARTESIAN_POINT('',(1.3825E0,1.5E0,6.E0)); +-#2224=LINE('',#2223,#2222); +-#2225=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2226=VECTOR('',#2225,5.E-1); +-#2227=CARTESIAN_POINT('',(8.675E-1,1.5E0,6.E0)); +-#2228=LINE('',#2227,#2226); +-#2229=CARTESIAN_POINT('',(1.125E0,1.E0,6.E0)); +-#2230=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2231=DIRECTION('',(1.E0,0.E0,0.E0)); +-#2232=AXIS2_PLACEMENT_3D('',#2229,#2230,#2231); +-#2234=CARTESIAN_POINT('',(1.125E0,1.E0,6.E0)); +-#2235=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2236=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#2237=AXIS2_PLACEMENT_3D('',#2234,#2235,#2236); +-#2239=CARTESIAN_POINT('',(1.125E0,1.E0,6.E0)); +-#2240=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2241=DIRECTION('',(1.E0,0.E0,0.E0)); +-#2242=AXIS2_PLACEMENT_3D('',#2239,#2240,#2241); +-#2244=CARTESIAN_POINT('',(1.125E0,1.E0,6.E0)); +-#2245=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2246=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#2247=AXIS2_PLACEMENT_3D('',#2244,#2245,#2246); +-#2249=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2250=VECTOR('',#2249,1.E0); +-#2251=CARTESIAN_POINT('',(1.3175E0,1.E0,6.E0)); +-#2252=LINE('',#2251,#2250); +-#2253=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2254=VECTOR('',#2253,1.E0); +-#2255=CARTESIAN_POINT('',(9.325E-1,1.E0,6.E0)); +-#2256=LINE('',#2255,#2254); +-#2257=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2258=VECTOR('',#2257,5.E-1); +-#2259=CARTESIAN_POINT('',(1.3825E0,1.5E0,1.8E1)); +-#2260=LINE('',#2259,#2258); +-#2261=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2262=VECTOR('',#2261,5.E-1); +-#2263=CARTESIAN_POINT('',(8.675E-1,1.5E0,1.8E1)); +-#2264=LINE('',#2263,#2262); +-#2265=CARTESIAN_POINT('',(1.125E0,1.E0,1.8E1)); +-#2266=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2267=DIRECTION('',(1.E0,0.E0,0.E0)); +-#2268=AXIS2_PLACEMENT_3D('',#2265,#2266,#2267); +-#2270=CARTESIAN_POINT('',(1.125E0,1.E0,1.8E1)); +-#2271=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2272=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#2273=AXIS2_PLACEMENT_3D('',#2270,#2271,#2272); +-#2275=CARTESIAN_POINT('',(1.125E0,1.E0,1.8E1)); +-#2276=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2277=DIRECTION('',(1.E0,0.E0,0.E0)); +-#2278=AXIS2_PLACEMENT_3D('',#2275,#2276,#2277); +-#2280=CARTESIAN_POINT('',(1.125E0,1.E0,1.8E1)); +-#2281=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2282=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#2283=AXIS2_PLACEMENT_3D('',#2280,#2281,#2282); +-#2285=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2286=VECTOR('',#2285,1.E0); +-#2287=CARTESIAN_POINT('',(1.3175E0,1.E0,1.8E1)); +-#2288=LINE('',#2287,#2286); +-#2289=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2290=VECTOR('',#2289,1.E0); +-#2291=CARTESIAN_POINT('',(9.325E-1,1.E0,1.8E1)); +-#2292=LINE('',#2291,#2290); +-#2293=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2294=VECTOR('',#2293,5.E-1); +-#2295=CARTESIAN_POINT('',(1.3825E0,1.5E0,2.4E1)); +-#2296=LINE('',#2295,#2294); +-#2297=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2298=VECTOR('',#2297,5.E-1); +-#2299=CARTESIAN_POINT('',(8.675E-1,1.5E0,2.4E1)); +-#2300=LINE('',#2299,#2298); +-#2301=CARTESIAN_POINT('',(1.125E0,1.E0,2.4E1)); +-#2302=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2303=DIRECTION('',(1.E0,0.E0,0.E0)); +-#2304=AXIS2_PLACEMENT_3D('',#2301,#2302,#2303); +-#2306=CARTESIAN_POINT('',(1.125E0,1.E0,2.4E1)); +-#2307=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2308=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#2309=AXIS2_PLACEMENT_3D('',#2306,#2307,#2308); +-#2311=CARTESIAN_POINT('',(1.125E0,1.E0,2.4E1)); +-#2312=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2313=DIRECTION('',(1.E0,0.E0,0.E0)); +-#2314=AXIS2_PLACEMENT_3D('',#2311,#2312,#2313); +-#2316=CARTESIAN_POINT('',(1.125E0,1.E0,2.4E1)); +-#2317=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2318=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#2319=AXIS2_PLACEMENT_3D('',#2316,#2317,#2318); +-#2321=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2322=VECTOR('',#2321,1.E0); +-#2323=CARTESIAN_POINT('',(1.3175E0,1.E0,2.4E1)); +-#2324=LINE('',#2323,#2322); +-#2325=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2326=VECTOR('',#2325,1.E0); +-#2327=CARTESIAN_POINT('',(9.325E-1,1.E0,2.4E1)); +-#2328=LINE('',#2327,#2326); +-#2329=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2330=VECTOR('',#2329,5.E-1); +-#2331=CARTESIAN_POINT('',(2.31325E1,1.5E0,6.E0)); +-#2332=LINE('',#2331,#2330); +-#2333=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2334=VECTOR('',#2333,5.E-1); +-#2335=CARTESIAN_POINT('',(2.26175E1,1.5E0,6.E0)); +-#2336=LINE('',#2335,#2334); +-#2337=CARTESIAN_POINT('',(2.2875E1,1.E0,6.E0)); +-#2338=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2339=DIRECTION('',(1.E0,0.E0,0.E0)); +-#2340=AXIS2_PLACEMENT_3D('',#2337,#2338,#2339); +-#2342=CARTESIAN_POINT('',(2.2875E1,1.E0,6.E0)); +-#2343=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2344=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#2345=AXIS2_PLACEMENT_3D('',#2342,#2343,#2344); +-#2347=CARTESIAN_POINT('',(2.2875E1,1.E0,6.E0)); +-#2348=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2349=DIRECTION('',(1.E0,0.E0,0.E0)); +-#2350=AXIS2_PLACEMENT_3D('',#2347,#2348,#2349); +-#2352=CARTESIAN_POINT('',(2.2875E1,1.E0,6.E0)); +-#2353=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2354=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#2355=AXIS2_PLACEMENT_3D('',#2352,#2353,#2354); +-#2357=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2358=VECTOR('',#2357,1.E0); +-#2359=CARTESIAN_POINT('',(2.30675E1,1.E0,6.E0)); +-#2360=LINE('',#2359,#2358); +-#2361=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2362=VECTOR('',#2361,1.E0); +-#2363=CARTESIAN_POINT('',(2.26825E1,1.E0,6.E0)); +-#2364=LINE('',#2363,#2362); +-#2365=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2366=VECTOR('',#2365,5.E-1); +-#2367=CARTESIAN_POINT('',(2.31325E1,1.5E0,1.8E1)); +-#2368=LINE('',#2367,#2366); +-#2369=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2370=VECTOR('',#2369,5.E-1); +-#2371=CARTESIAN_POINT('',(2.26175E1,1.5E0,1.8E1)); +-#2372=LINE('',#2371,#2370); +-#2373=CARTESIAN_POINT('',(2.2875E1,1.E0,1.8E1)); +-#2374=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2375=DIRECTION('',(1.E0,0.E0,0.E0)); +-#2376=AXIS2_PLACEMENT_3D('',#2373,#2374,#2375); +-#2378=CARTESIAN_POINT('',(2.2875E1,1.E0,1.8E1)); +-#2379=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2380=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#2381=AXIS2_PLACEMENT_3D('',#2378,#2379,#2380); +-#2383=CARTESIAN_POINT('',(2.2875E1,1.E0,1.8E1)); +-#2384=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2385=DIRECTION('',(1.E0,0.E0,0.E0)); +-#2386=AXIS2_PLACEMENT_3D('',#2383,#2384,#2385); +-#2388=CARTESIAN_POINT('',(2.2875E1,1.E0,1.8E1)); +-#2389=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2390=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#2391=AXIS2_PLACEMENT_3D('',#2388,#2389,#2390); +-#2393=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2394=VECTOR('',#2393,1.E0); +-#2395=CARTESIAN_POINT('',(2.30675E1,1.E0,1.8E1)); +-#2396=LINE('',#2395,#2394); +-#2397=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2398=VECTOR('',#2397,1.E0); +-#2399=CARTESIAN_POINT('',(2.26825E1,1.E0,1.8E1)); +-#2400=LINE('',#2399,#2398); +-#2401=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2402=VECTOR('',#2401,5.E-1); +-#2403=CARTESIAN_POINT('',(2.31325E1,1.5E0,2.4E1)); +-#2404=LINE('',#2403,#2402); +-#2405=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2406=VECTOR('',#2405,5.E-1); +-#2407=CARTESIAN_POINT('',(2.26175E1,1.5E0,2.4E1)); +-#2408=LINE('',#2407,#2406); +-#2409=CARTESIAN_POINT('',(2.2875E1,1.E0,2.4E1)); +-#2410=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2411=DIRECTION('',(1.E0,0.E0,0.E0)); +-#2412=AXIS2_PLACEMENT_3D('',#2409,#2410,#2411); +-#2414=CARTESIAN_POINT('',(2.2875E1,1.E0,2.4E1)); +-#2415=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2416=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#2417=AXIS2_PLACEMENT_3D('',#2414,#2415,#2416); +-#2419=CARTESIAN_POINT('',(2.2875E1,1.E0,2.4E1)); +-#2420=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2421=DIRECTION('',(1.E0,0.E0,0.E0)); +-#2422=AXIS2_PLACEMENT_3D('',#2419,#2420,#2421); +-#2424=CARTESIAN_POINT('',(2.2875E1,1.E0,2.4E1)); +-#2425=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2426=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#2427=AXIS2_PLACEMENT_3D('',#2424,#2425,#2426); +-#2429=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2430=VECTOR('',#2429,1.E0); +-#2431=CARTESIAN_POINT('',(2.30675E1,1.E0,2.4E1)); +-#2432=LINE('',#2431,#2430); +-#2433=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2434=VECTOR('',#2433,1.E0); +-#2435=CARTESIAN_POINT('',(2.26825E1,1.E0,2.4E1)); +-#2436=LINE('',#2435,#2434); +-#2437=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2438=VECTOR('',#2437,5.E-1); +-#2439=CARTESIAN_POINT('',(6.256E0,1.5E0,1.25E0)); +-#2440=LINE('',#2439,#2438); +-#2441=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2442=VECTOR('',#2441,5.E-1); +-#2443=CARTESIAN_POINT('',(5.744E0,1.5E0,1.25E0)); +-#2444=LINE('',#2443,#2442); +-#2445=CARTESIAN_POINT('',(6.E0,1.E0,1.25E0)); +-#2446=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2447=DIRECTION('',(1.E0,0.E0,0.E0)); +-#2448=AXIS2_PLACEMENT_3D('',#2445,#2446,#2447); +-#2450=CARTESIAN_POINT('',(6.E0,1.E0,1.25E0)); +-#2451=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2452=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#2453=AXIS2_PLACEMENT_3D('',#2450,#2451,#2452); +-#2455=CARTESIAN_POINT('',(6.E0,1.E0,1.25E0)); +-#2456=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2457=DIRECTION('',(1.E0,0.E0,0.E0)); +-#2458=AXIS2_PLACEMENT_3D('',#2455,#2456,#2457); +-#2460=CARTESIAN_POINT('',(6.E0,1.E0,1.25E0)); +-#2461=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2462=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#2463=AXIS2_PLACEMENT_3D('',#2460,#2461,#2462); +-#2465=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2466=VECTOR('',#2465,1.E0); +-#2467=CARTESIAN_POINT('',(6.1925E0,1.E0,1.25E0)); +-#2468=LINE('',#2467,#2466); +-#2469=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2470=VECTOR('',#2469,1.E0); +-#2471=CARTESIAN_POINT('',(5.8075E0,1.E0,1.25E0)); +-#2472=LINE('',#2471,#2470); +-#2473=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2474=VECTOR('',#2473,5.E-1); +-#2475=CARTESIAN_POINT('',(1.2256E1,1.5E0,1.25E0)); +-#2476=LINE('',#2475,#2474); +-#2477=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2478=VECTOR('',#2477,5.E-1); +-#2479=CARTESIAN_POINT('',(1.1744E1,1.5E0,1.25E0)); +-#2480=LINE('',#2479,#2478); +-#2481=CARTESIAN_POINT('',(1.2E1,1.E0,1.25E0)); +-#2482=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2483=DIRECTION('',(1.E0,0.E0,0.E0)); +-#2484=AXIS2_PLACEMENT_3D('',#2481,#2482,#2483); +-#2486=CARTESIAN_POINT('',(1.2E1,1.E0,1.25E0)); +-#2487=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2488=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#2489=AXIS2_PLACEMENT_3D('',#2486,#2487,#2488); +-#2491=CARTESIAN_POINT('',(1.2E1,1.E0,1.25E0)); +-#2492=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2493=DIRECTION('',(1.E0,0.E0,0.E0)); +-#2494=AXIS2_PLACEMENT_3D('',#2491,#2492,#2493); +-#2496=CARTESIAN_POINT('',(1.2E1,1.E0,1.25E0)); +-#2497=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2498=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#2499=AXIS2_PLACEMENT_3D('',#2496,#2497,#2498); +-#2501=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2502=VECTOR('',#2501,1.E0); +-#2503=CARTESIAN_POINT('',(1.21925E1,1.E0,1.25E0)); +-#2504=LINE('',#2503,#2502); +-#2505=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2506=VECTOR('',#2505,1.E0); +-#2507=CARTESIAN_POINT('',(1.18075E1,1.E0,1.25E0)); +-#2508=LINE('',#2507,#2506); +-#2509=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2510=VECTOR('',#2509,5.E-1); +-#2511=CARTESIAN_POINT('',(1.8256E1,1.5E0,1.25E0)); +-#2512=LINE('',#2511,#2510); +-#2513=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2514=VECTOR('',#2513,5.E-1); +-#2515=CARTESIAN_POINT('',(1.7744E1,1.5E0,1.25E0)); +-#2516=LINE('',#2515,#2514); +-#2517=CARTESIAN_POINT('',(1.8E1,1.E0,1.25E0)); +-#2518=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2519=DIRECTION('',(1.E0,0.E0,0.E0)); +-#2520=AXIS2_PLACEMENT_3D('',#2517,#2518,#2519); +-#2522=CARTESIAN_POINT('',(1.8E1,1.E0,1.25E0)); +-#2523=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2524=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#2525=AXIS2_PLACEMENT_3D('',#2522,#2523,#2524); +-#2527=CARTESIAN_POINT('',(1.8E1,1.E0,1.25E0)); +-#2528=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2529=DIRECTION('',(1.E0,0.E0,0.E0)); +-#2530=AXIS2_PLACEMENT_3D('',#2527,#2528,#2529); +-#2532=CARTESIAN_POINT('',(1.8E1,1.E0,1.25E0)); +-#2533=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2534=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#2535=AXIS2_PLACEMENT_3D('',#2532,#2533,#2534); +-#2537=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2538=VECTOR('',#2537,1.E0); +-#2539=CARTESIAN_POINT('',(1.81925E1,1.E0,1.25E0)); +-#2540=LINE('',#2539,#2538); +-#2541=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2542=VECTOR('',#2541,1.E0); +-#2543=CARTESIAN_POINT('',(1.78075E1,1.E0,1.25E0)); +-#2544=LINE('',#2543,#2542); +-#2545=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2546=VECTOR('',#2545,5.E-1); +-#2547=CARTESIAN_POINT('',(6.256E0,1.5E0,3.075E1)); +-#2548=LINE('',#2547,#2546); +-#2549=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2550=VECTOR('',#2549,5.E-1); +-#2551=CARTESIAN_POINT('',(5.744E0,1.5E0,3.075E1)); +-#2552=LINE('',#2551,#2550); +-#2553=CARTESIAN_POINT('',(6.E0,1.E0,3.075E1)); +-#2554=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2555=DIRECTION('',(1.E0,0.E0,0.E0)); +-#2556=AXIS2_PLACEMENT_3D('',#2553,#2554,#2555); +-#2558=CARTESIAN_POINT('',(6.E0,1.E0,3.075E1)); +-#2559=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2560=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#2561=AXIS2_PLACEMENT_3D('',#2558,#2559,#2560); +-#2563=CARTESIAN_POINT('',(6.E0,1.E0,3.075E1)); +-#2564=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2565=DIRECTION('',(1.E0,0.E0,0.E0)); +-#2566=AXIS2_PLACEMENT_3D('',#2563,#2564,#2565); +-#2568=CARTESIAN_POINT('',(6.E0,1.E0,3.075E1)); +-#2569=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2570=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#2571=AXIS2_PLACEMENT_3D('',#2568,#2569,#2570); +-#2573=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2574=VECTOR('',#2573,1.E0); +-#2575=CARTESIAN_POINT('',(6.1925E0,1.E0,3.075E1)); +-#2576=LINE('',#2575,#2574); +-#2577=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2578=VECTOR('',#2577,1.E0); +-#2579=CARTESIAN_POINT('',(5.8075E0,1.E0,3.075E1)); +-#2580=LINE('',#2579,#2578); +-#2581=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2582=VECTOR('',#2581,5.E-1); +-#2583=CARTESIAN_POINT('',(1.2256E1,1.5E0,3.075E1)); +-#2584=LINE('',#2583,#2582); +-#2585=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2586=VECTOR('',#2585,5.E-1); +-#2587=CARTESIAN_POINT('',(1.1744E1,1.5E0,3.075E1)); +-#2588=LINE('',#2587,#2586); +-#2589=CARTESIAN_POINT('',(1.2E1,1.E0,3.075E1)); +-#2590=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2591=DIRECTION('',(1.E0,0.E0,0.E0)); +-#2592=AXIS2_PLACEMENT_3D('',#2589,#2590,#2591); +-#2594=CARTESIAN_POINT('',(1.2E1,1.E0,3.075E1)); +-#2595=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2596=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#2597=AXIS2_PLACEMENT_3D('',#2594,#2595,#2596); +-#2599=CARTESIAN_POINT('',(1.2E1,1.E0,3.075E1)); +-#2600=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2601=DIRECTION('',(1.E0,0.E0,0.E0)); +-#2602=AXIS2_PLACEMENT_3D('',#2599,#2600,#2601); +-#2604=CARTESIAN_POINT('',(1.2E1,1.E0,3.075E1)); +-#2605=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2606=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#2607=AXIS2_PLACEMENT_3D('',#2604,#2605,#2606); +-#2609=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2610=VECTOR('',#2609,1.E0); +-#2611=CARTESIAN_POINT('',(1.21925E1,1.E0,3.075E1)); +-#2612=LINE('',#2611,#2610); +-#2613=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2614=VECTOR('',#2613,1.E0); +-#2615=CARTESIAN_POINT('',(1.18075E1,1.E0,3.075E1)); +-#2616=LINE('',#2615,#2614); +-#2617=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2618=VECTOR('',#2617,5.E-1); +-#2619=CARTESIAN_POINT('',(1.8256E1,1.5E0,3.075E1)); +-#2620=LINE('',#2619,#2618); +-#2621=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2622=VECTOR('',#2621,5.E-1); +-#2623=CARTESIAN_POINT('',(1.7744E1,1.5E0,3.075E1)); +-#2624=LINE('',#2623,#2622); +-#2625=CARTESIAN_POINT('',(1.8E1,1.E0,3.075E1)); +-#2626=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2627=DIRECTION('',(1.E0,0.E0,0.E0)); +-#2628=AXIS2_PLACEMENT_3D('',#2625,#2626,#2627); +-#2630=CARTESIAN_POINT('',(1.8E1,1.E0,3.075E1)); +-#2631=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2632=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#2633=AXIS2_PLACEMENT_3D('',#2630,#2631,#2632); +-#2635=CARTESIAN_POINT('',(1.8E1,1.E0,3.075E1)); +-#2636=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2637=DIRECTION('',(1.E0,0.E0,0.E0)); +-#2638=AXIS2_PLACEMENT_3D('',#2635,#2636,#2637); +-#2640=CARTESIAN_POINT('',(1.8E1,1.E0,3.075E1)); +-#2641=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2642=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#2643=AXIS2_PLACEMENT_3D('',#2640,#2641,#2642); +-#2645=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2646=VECTOR('',#2645,1.E0); +-#2647=CARTESIAN_POINT('',(1.81925E1,1.E0,3.075E1)); +-#2648=LINE('',#2647,#2646); +-#2649=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2650=VECTOR('',#2649,1.E0); +-#2651=CARTESIAN_POINT('',(1.78075E1,1.E0,3.075E1)); +-#2652=LINE('',#2651,#2650); +-#2653=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2654=VECTOR('',#2653,5.E-1); +-#2655=CARTESIAN_POINT('',(6.2575E0,1.5E0,9.E0)); +-#2656=LINE('',#2655,#2654); +-#2657=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2658=VECTOR('',#2657,5.E-1); +-#2659=CARTESIAN_POINT('',(5.7425E0,1.5E0,9.E0)); +-#2660=LINE('',#2659,#2658); +-#2661=CARTESIAN_POINT('',(6.E0,1.E0,9.E0)); +-#2662=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2663=DIRECTION('',(1.E0,0.E0,0.E0)); +-#2664=AXIS2_PLACEMENT_3D('',#2661,#2662,#2663); +-#2666=CARTESIAN_POINT('',(6.E0,1.E0,9.E0)); +-#2667=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2668=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#2669=AXIS2_PLACEMENT_3D('',#2666,#2667,#2668); +-#2671=CARTESIAN_POINT('',(6.E0,1.E0,9.E0)); +-#2672=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2673=DIRECTION('',(1.E0,0.E0,0.E0)); +-#2674=AXIS2_PLACEMENT_3D('',#2671,#2672,#2673); +-#2676=CARTESIAN_POINT('',(6.E0,1.E0,9.E0)); +-#2677=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2678=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#2679=AXIS2_PLACEMENT_3D('',#2676,#2677,#2678); +-#2681=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2682=VECTOR('',#2681,1.E0); +-#2683=CARTESIAN_POINT('',(6.1925E0,1.E0,9.E0)); +-#2684=LINE('',#2683,#2682); +-#2685=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2686=VECTOR('',#2685,1.E0); +-#2687=CARTESIAN_POINT('',(5.8075E0,1.E0,9.E0)); +-#2688=LINE('',#2687,#2686); +-#2689=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2690=VECTOR('',#2689,5.E-1); +-#2691=CARTESIAN_POINT('',(1.22575E1,1.5E0,9.E0)); +-#2692=LINE('',#2691,#2690); +-#2693=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2694=VECTOR('',#2693,5.E-1); +-#2695=CARTESIAN_POINT('',(1.17425E1,1.5E0,9.E0)); +-#2696=LINE('',#2695,#2694); +-#2697=CARTESIAN_POINT('',(1.2E1,1.E0,9.E0)); +-#2698=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2699=DIRECTION('',(1.E0,0.E0,0.E0)); +-#2700=AXIS2_PLACEMENT_3D('',#2697,#2698,#2699); +-#2702=CARTESIAN_POINT('',(1.2E1,1.E0,9.E0)); +-#2703=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2704=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#2705=AXIS2_PLACEMENT_3D('',#2702,#2703,#2704); +-#2707=CARTESIAN_POINT('',(1.2E1,1.E0,9.E0)); +-#2708=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2709=DIRECTION('',(1.E0,0.E0,0.E0)); +-#2710=AXIS2_PLACEMENT_3D('',#2707,#2708,#2709); +-#2712=CARTESIAN_POINT('',(1.2E1,1.E0,9.E0)); +-#2713=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2714=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#2715=AXIS2_PLACEMENT_3D('',#2712,#2713,#2714); +-#2717=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2718=VECTOR('',#2717,1.E0); +-#2719=CARTESIAN_POINT('',(1.21925E1,1.E0,9.E0)); +-#2720=LINE('',#2719,#2718); +-#2721=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2722=VECTOR('',#2721,1.E0); +-#2723=CARTESIAN_POINT('',(1.18075E1,1.E0,9.E0)); +-#2724=LINE('',#2723,#2722); +-#2725=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2726=VECTOR('',#2725,5.E-1); +-#2727=CARTESIAN_POINT('',(1.82575E1,1.5E0,9.E0)); +-#2728=LINE('',#2727,#2726); +-#2729=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2730=VECTOR('',#2729,5.E-1); +-#2731=CARTESIAN_POINT('',(1.77425E1,1.5E0,9.E0)); +-#2732=LINE('',#2731,#2730); +-#2733=CARTESIAN_POINT('',(1.8E1,1.E0,9.E0)); +-#2734=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2735=DIRECTION('',(1.E0,0.E0,0.E0)); +-#2736=AXIS2_PLACEMENT_3D('',#2733,#2734,#2735); +-#2738=CARTESIAN_POINT('',(1.8E1,1.E0,9.E0)); +-#2739=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2740=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#2741=AXIS2_PLACEMENT_3D('',#2738,#2739,#2740); +-#2743=CARTESIAN_POINT('',(1.8E1,1.E0,9.E0)); +-#2744=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2745=DIRECTION('',(1.E0,0.E0,0.E0)); +-#2746=AXIS2_PLACEMENT_3D('',#2743,#2744,#2745); +-#2748=CARTESIAN_POINT('',(1.8E1,1.E0,9.E0)); +-#2749=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2750=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#2751=AXIS2_PLACEMENT_3D('',#2748,#2749,#2750); +-#2753=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2754=VECTOR('',#2753,1.E0); +-#2755=CARTESIAN_POINT('',(1.81925E1,1.E0,9.E0)); +-#2756=LINE('',#2755,#2754); +-#2757=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2758=VECTOR('',#2757,1.E0); +-#2759=CARTESIAN_POINT('',(1.78075E1,1.E0,9.E0)); +-#2760=LINE('',#2759,#2758); +-#2761=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2762=VECTOR('',#2761,5.E-1); +-#2763=CARTESIAN_POINT('',(6.2575E0,1.5E0,1.8E1)); +-#2764=LINE('',#2763,#2762); +-#2765=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2766=VECTOR('',#2765,5.E-1); +-#2767=CARTESIAN_POINT('',(5.7425E0,1.5E0,1.8E1)); +-#2768=LINE('',#2767,#2766); +-#2769=CARTESIAN_POINT('',(6.E0,1.E0,1.8E1)); +-#2770=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2771=DIRECTION('',(1.E0,0.E0,0.E0)); +-#2772=AXIS2_PLACEMENT_3D('',#2769,#2770,#2771); +-#2774=CARTESIAN_POINT('',(6.E0,1.E0,1.8E1)); +-#2775=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2776=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#2777=AXIS2_PLACEMENT_3D('',#2774,#2775,#2776); +-#2779=CARTESIAN_POINT('',(6.E0,1.E0,1.8E1)); +-#2780=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2781=DIRECTION('',(1.E0,0.E0,0.E0)); +-#2782=AXIS2_PLACEMENT_3D('',#2779,#2780,#2781); +-#2784=CARTESIAN_POINT('',(6.E0,1.E0,1.8E1)); +-#2785=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2786=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#2787=AXIS2_PLACEMENT_3D('',#2784,#2785,#2786); +-#2789=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2790=VECTOR('',#2789,1.E0); +-#2791=CARTESIAN_POINT('',(6.1925E0,1.E0,1.8E1)); +-#2792=LINE('',#2791,#2790); +-#2793=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2794=VECTOR('',#2793,1.E0); +-#2795=CARTESIAN_POINT('',(5.8075E0,1.E0,1.8E1)); +-#2796=LINE('',#2795,#2794); +-#2797=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2798=VECTOR('',#2797,5.E-1); +-#2799=CARTESIAN_POINT('',(1.22575E1,1.5E0,1.8E1)); +-#2800=LINE('',#2799,#2798); +-#2801=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2802=VECTOR('',#2801,5.E-1); +-#2803=CARTESIAN_POINT('',(1.17425E1,1.5E0,1.8E1)); +-#2804=LINE('',#2803,#2802); +-#2805=CARTESIAN_POINT('',(1.2E1,1.E0,1.8E1)); +-#2806=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2807=DIRECTION('',(1.E0,0.E0,0.E0)); +-#2808=AXIS2_PLACEMENT_3D('',#2805,#2806,#2807); +-#2810=CARTESIAN_POINT('',(1.2E1,1.E0,1.8E1)); +-#2811=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2812=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#2813=AXIS2_PLACEMENT_3D('',#2810,#2811,#2812); +-#2815=CARTESIAN_POINT('',(1.2E1,1.E0,1.8E1)); +-#2816=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2817=DIRECTION('',(1.E0,0.E0,0.E0)); +-#2818=AXIS2_PLACEMENT_3D('',#2815,#2816,#2817); +-#2820=CARTESIAN_POINT('',(1.2E1,1.E0,1.8E1)); +-#2821=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2822=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#2823=AXIS2_PLACEMENT_3D('',#2820,#2821,#2822); +-#2825=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2826=VECTOR('',#2825,1.E0); +-#2827=CARTESIAN_POINT('',(1.21925E1,1.E0,1.8E1)); +-#2828=LINE('',#2827,#2826); +-#2829=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2830=VECTOR('',#2829,1.E0); +-#2831=CARTESIAN_POINT('',(1.18075E1,1.E0,1.8E1)); +-#2832=LINE('',#2831,#2830); +-#2833=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2834=VECTOR('',#2833,5.E-1); +-#2835=CARTESIAN_POINT('',(1.82575E1,1.5E0,1.8E1)); +-#2836=LINE('',#2835,#2834); +-#2837=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2838=VECTOR('',#2837,5.E-1); +-#2839=CARTESIAN_POINT('',(1.77425E1,1.5E0,1.8E1)); +-#2840=LINE('',#2839,#2838); +-#2841=CARTESIAN_POINT('',(1.8E1,1.E0,1.8E1)); +-#2842=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2843=DIRECTION('',(1.E0,0.E0,0.E0)); +-#2844=AXIS2_PLACEMENT_3D('',#2841,#2842,#2843); +-#2846=CARTESIAN_POINT('',(1.8E1,1.E0,1.8E1)); +-#2847=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2848=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#2849=AXIS2_PLACEMENT_3D('',#2846,#2847,#2848); +-#2851=CARTESIAN_POINT('',(1.8E1,1.E0,1.8E1)); +-#2852=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2853=DIRECTION('',(1.E0,0.E0,0.E0)); +-#2854=AXIS2_PLACEMENT_3D('',#2851,#2852,#2853); +-#2856=CARTESIAN_POINT('',(1.8E1,1.E0,1.8E1)); +-#2857=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2858=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#2859=AXIS2_PLACEMENT_3D('',#2856,#2857,#2858); +-#2861=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2862=VECTOR('',#2861,1.E0); +-#2863=CARTESIAN_POINT('',(1.81925E1,1.E0,1.8E1)); +-#2864=LINE('',#2863,#2862); +-#2865=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2866=VECTOR('',#2865,1.E0); +-#2867=CARTESIAN_POINT('',(1.78075E1,1.E0,1.8E1)); +-#2868=LINE('',#2867,#2866); +-#2869=DIRECTION('',(0.E0,-8.660254037844E-1,5.E-1)); +-#2870=VECTOR('',#2869,5.773502691896E0); +-#2871=CARTESIAN_POINT('',(2.2E1,6.5E0,1.E1)); +-#2872=LINE('',#2871,#2870); +-#2873=CARTESIAN_POINT('',(2.31325E1,3.035898384862E0,1.2E1)); +-#2874=CARTESIAN_POINT('',(2.31325E1,2.930774450068E0,1.206069333205E1)); +-#2875=CARTESIAN_POINT('',(2.309416136180E1,2.745461691651E0,1.216768370301E1)); +-#2876=CARTESIAN_POINT('',(2.297013771881E1,2.608885438662E0,1.224653603944E1)); +-#2877=CARTESIAN_POINT('',(2.2875E1,2.580400233539E0,1.226298198028E1)); +-#2878=CARTESIAN_POINT('',(2.277986228119E1,2.608885438662E0,1.224653603944E1)); +-#2879=CARTESIAN_POINT('',(2.265583863820E1,2.745461691651E0,1.216768370301E1)); +-#2880=CARTESIAN_POINT('',(2.26175E1,2.930774450068E0,1.206069333205E1)); +-#2881=CARTESIAN_POINT('',(2.26175E1,3.035898384862E0,1.2E1)); +-#2883=CARTESIAN_POINT('',(2.26175E1,3.035898384862E0,1.2E1)); +-#2884=CARTESIAN_POINT('',(2.26175E1,3.141022319657E0,1.193930666795E1)); +-#2885=CARTESIAN_POINT('',(2.265583863820E1,3.326335078073E0,1.183231629699E1)); +-#2886=CARTESIAN_POINT('',(2.277986228119E1,3.462911331062E0,1.175346396056E1)); +-#2887=CARTESIAN_POINT('',(2.2875E1,3.491396536186E0,1.173701801972E1)); +-#2888=CARTESIAN_POINT('',(2.297013771881E1,3.462911331062E0,1.175346396056E1)); +-#2889=CARTESIAN_POINT('',(2.309416136180E1,3.326335078073E0,1.183231629699E1)); +-#2890=CARTESIAN_POINT('',(2.31325E1,3.141022319657E0,1.193930666795E1)); +-#2891=CARTESIAN_POINT('',(2.31325E1,3.035898384862E0,1.2E1)); +-#2893=DIRECTION('',(0.E0,1.E0,0.E0)); +-#2894=VECTOR('',#2893,2.035898384862E0); +-#2895=CARTESIAN_POINT('',(2.26175E1,1.E0,1.2E1)); +-#2896=LINE('',#2895,#2894); +-#2897=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2898=VECTOR('',#2897,2.035898384862E0); +-#2899=CARTESIAN_POINT('',(2.31325E1,3.035898384862E0,1.2E1)); +-#2900=LINE('',#2899,#2898); +-#2901=CARTESIAN_POINT('',(2.2875E1,1.E0,1.2E1)); +-#2902=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2903=DIRECTION('',(1.E0,0.E0,0.E0)); +-#2904=AXIS2_PLACEMENT_3D('',#2901,#2902,#2903); +-#2906=CARTESIAN_POINT('',(2.2875E1,1.E0,1.2E1)); +-#2907=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2908=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#2909=AXIS2_PLACEMENT_3D('',#2906,#2907,#2908); +-#2911=CARTESIAN_POINT('',(2.2875E1,1.E0,1.2E1)); +-#2912=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2913=DIRECTION('',(1.E0,0.E0,0.E0)); +-#2914=AXIS2_PLACEMENT_3D('',#2911,#2912,#2913); +-#2916=CARTESIAN_POINT('',(2.2875E1,1.E0,1.2E1)); +-#2917=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2918=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#2919=AXIS2_PLACEMENT_3D('',#2916,#2917,#2918); +-#2921=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2922=VECTOR('',#2921,1.E0); +-#2923=CARTESIAN_POINT('',(2.30675E1,1.E0,1.2E1)); +-#2924=LINE('',#2923,#2922); +-#2925=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2926=VECTOR('',#2925,1.E0); +-#2927=CARTESIAN_POINT('',(2.26825E1,1.E0,1.2E1)); +-#2928=LINE('',#2927,#2926); +-#2929=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#2930=VECTOR('',#2929,5.E-1); +-#2931=CARTESIAN_POINT('',(2.15E1,6.65E0,1.E1)); +-#2932=LINE('',#2931,#2930); +-#2933=CARTESIAN_POINT('',(2.185E1,6.65E0,9.5E0)); +-#2934=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#2935=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#2936=AXIS2_PLACEMENT_3D('',#2933,#2934,#2935); +-#2938=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#2939=VECTOR('',#2938,5.E-1); +-#2940=CARTESIAN_POINT('',(2.185E1,7.E0,1.E1)); +-#2941=LINE('',#2940,#2939); +-#2942=CARTESIAN_POINT('',(2.185E1,6.65E0,1.E1)); +-#2943=DIRECTION('',(0.E0,0.E0,1.E0)); +-#2944=DIRECTION('',(1.015061051086E-14,1.E0,0.E0)); +-#2945=AXIS2_PLACEMENT_3D('',#2942,#2943,#2944); +-#2947=DIRECTION('',(0.E0,0.E0,1.E0)); +-#2948=VECTOR('',#2947,5.E-1); +-#2949=CARTESIAN_POINT('',(2.115E1,2.E0,9.5E0)); +-#2950=LINE('',#2949,#2948); +-#2951=CARTESIAN_POINT('',(2.115E1,2.35E0,9.5E0)); +-#2952=DIRECTION('',(0.E0,0.E0,1.E0)); +-#2953=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#2954=AXIS2_PLACEMENT_3D('',#2951,#2952,#2953); +-#2956=DIRECTION('',(0.E0,0.E0,1.E0)); +-#2957=VECTOR('',#2956,5.E-1); +-#2958=CARTESIAN_POINT('',(2.15E1,2.35E0,9.5E0)); +-#2959=LINE('',#2958,#2957); +-#2960=CARTESIAN_POINT('',(2.115E1,2.35E0,1.E1)); +-#2961=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#2962=DIRECTION('',(1.E0,0.E0,0.E0)); +-#2963=AXIS2_PLACEMENT_3D('',#2960,#2961,#2962); +-#2965=DIRECTION('',(0.E0,0.E0,1.E0)); +-#2966=VECTOR('',#2965,5.E-1); +-#2967=CARTESIAN_POINT('',(1.95E1,2.35E0,9.5E0)); +-#2968=LINE('',#2967,#2966); +-#2969=CARTESIAN_POINT('',(1.985E1,2.35E0,9.5E0)); +-#2970=DIRECTION('',(0.E0,0.E0,1.E0)); +-#2971=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#2972=AXIS2_PLACEMENT_3D('',#2969,#2970,#2971); +-#2974=DIRECTION('',(0.E0,0.E0,1.E0)); +-#2975=VECTOR('',#2974,5.E-1); +-#2976=CARTESIAN_POINT('',(1.985E1,2.E0,9.5E0)); +-#2977=LINE('',#2976,#2975); +-#2978=CARTESIAN_POINT('',(1.985E1,2.35E0,1.E1)); +-#2979=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#2980=DIRECTION('',(1.015061051086E-14,-1.E0,0.E0)); +-#2981=AXIS2_PLACEMENT_3D('',#2978,#2979,#2980); +-#2983=DIRECTION('',(0.E0,0.E0,1.E0)); +-#2984=VECTOR('',#2983,5.E-1); +-#2985=CARTESIAN_POINT('',(1.985E1,9.5E0,9.5E0)); +-#2986=LINE('',#2985,#2984); +-#2987=CARTESIAN_POINT('',(1.985E1,9.15E0,9.5E0)); +-#2988=DIRECTION('',(0.E0,0.E0,1.E0)); +-#2989=DIRECTION('',(1.015061051086E-14,1.E0,0.E0)); +-#2990=AXIS2_PLACEMENT_3D('',#2987,#2988,#2989); +-#2992=DIRECTION('',(0.E0,0.E0,1.E0)); +-#2993=VECTOR('',#2992,5.E-1); +-#2994=CARTESIAN_POINT('',(1.95E1,9.15E0,9.5E0)); +-#2995=LINE('',#2994,#2993); +-#2996=CARTESIAN_POINT('',(1.985E1,9.15E0,1.E1)); +-#2997=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#2998=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#2999=AXIS2_PLACEMENT_3D('',#2996,#2997,#2998); +-#3001=DIRECTION('',(0.E0,0.E0,1.E0)); +-#3002=VECTOR('',#3001,5.E-1); +-#3003=CARTESIAN_POINT('',(2.135315580719E1,9.319975025913E0,9.5E0)); +-#3004=LINE('',#3003,#3002); +-#3005=CARTESIAN_POINT('',(2.104720076055E1,9.15E0,9.5E0)); +-#3006=DIRECTION('',(0.E0,0.E0,1.E0)); +-#3007=DIRECTION('',(8.741572761215E-1,4.856429311786E-1,0.E0)); +-#3008=AXIS2_PLACEMENT_3D('',#3005,#3006,#3007); +-#3010=DIRECTION('',(0.E0,0.E0,1.E0)); +-#3011=VECTOR('',#3010,5.E-1); +-#3012=CARTESIAN_POINT('',(2.104720076055E1,9.5E0,9.5E0)); +-#3013=LINE('',#3012,#3011); +-#3014=CARTESIAN_POINT('',(2.104720076055E1,9.15E0,1.E1)); +-#3015=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#3016=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3017=AXIS2_PLACEMENT_3D('',#3014,#3015,#3016); +-#3019=DIRECTION('',(0.E0,0.E0,1.E0)); +-#3020=VECTOR('',#3019,5.E-1); +-#3021=CARTESIAN_POINT('',(2.204720076055E1,7.E0,9.5E0)); +-#3022=LINE('',#3021,#3020); +-#3023=CARTESIAN_POINT('',(2.204720076055E1,7.35E0,9.5E0)); +-#3024=DIRECTION('',(0.E0,0.E0,1.E0)); +-#3025=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#3026=AXIS2_PLACEMENT_3D('',#3023,#3024,#3025); +-#3028=DIRECTION('',(0.E0,0.E0,1.E0)); +-#3029=VECTOR('',#3028,5.E-1); +-#3030=CARTESIAN_POINT('',(2.235315580719E1,7.519975025913E0,9.5E0)); +-#3031=LINE('',#3030,#3029); +-#3032=CARTESIAN_POINT('',(2.204720076055E1,7.35E0,1.E1)); +-#3033=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#3034=DIRECTION('',(8.741572761215E-1,4.856429311786E-1,0.E0)); +-#3035=AXIS2_PLACEMENT_3D('',#3032,#3033,#3034); +-#3037=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#3038=VECTOR('',#3037,1.972007605460E-1); +-#3039=CARTESIAN_POINT('',(2.204720076055E1,7.E0,9.5E0)); +-#3040=LINE('',#3039,#3038); +-#3041=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#3042=VECTOR('',#3041,4.3E0); +-#3043=CARTESIAN_POINT('',(2.15E1,6.65E0,9.5E0)); +-#3044=LINE('',#3043,#3042); +-#3045=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#3046=VECTOR('',#3045,1.3E0); +-#3047=CARTESIAN_POINT('',(2.115E1,2.E0,9.5E0)); +-#3048=LINE('',#3047,#3046); +-#3049=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3050=VECTOR('',#3049,6.8E0); +-#3051=CARTESIAN_POINT('',(1.95E1,2.35E0,9.5E0)); +-#3052=LINE('',#3051,#3050); +-#3053=DIRECTION('',(1.E0,0.E0,0.E0)); +-#3054=VECTOR('',#3053,1.197200760546E0); +-#3055=CARTESIAN_POINT('',(1.985E1,9.5E0,9.5E0)); +-#3056=LINE('',#3055,#3054); +-#3057=DIRECTION('',(4.856429311786E-1,-8.741572761215E-1,0.E0)); +-#3058=VECTOR('',#3057,2.059126028197E0); +-#3059=CARTESIAN_POINT('',(2.135315580719E1,9.319975025913E0,9.5E0)); +-#3060=LINE('',#3059,#3058); +-#3061=DIRECTION('',(0.E0,0.E0,1.E0)); +-#3062=VECTOR('',#3061,2.5E-1); +-#3063=CARTESIAN_POINT('',(2.00925E1,1.05E1,8.E0)); +-#3064=LINE('',#3063,#3062); +-#3065=DIRECTION('',(0.E0,0.E0,1.E0)); +-#3066=VECTOR('',#3065,2.5E-1); +-#3067=CARTESIAN_POINT('',(2.02825E1,1.05E1,8.E0)); +-#3068=LINE('',#3067,#3066); +-#3069=CARTESIAN_POINT('',(2.01875E1,1.05E1,8.25E0)); +-#3070=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#3071=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#3072=AXIS2_PLACEMENT_3D('',#3069,#3070,#3071); +-#3074=CARTESIAN_POINT('',(2.01875E1,1.05E1,8.25E0)); +-#3075=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#3076=DIRECTION('',(1.E0,0.E0,0.E0)); +-#3077=AXIS2_PLACEMENT_3D('',#3074,#3075,#3076); +-#3079=DIRECTION('',(0.E0,0.E0,1.E0)); +-#3080=VECTOR('',#3079,2.5E-1); +-#3081=CARTESIAN_POINT('',(1.9655E1,1.00625E1,8.E0)); +-#3082=LINE('',#3081,#3080); +-#3083=DIRECTION('',(0.E0,0.E0,1.E0)); +-#3084=VECTOR('',#3083,2.5E-1); +-#3085=CARTESIAN_POINT('',(1.9845E1,1.00625E1,8.E0)); +-#3086=LINE('',#3085,#3084); +-#3087=CARTESIAN_POINT('',(1.975E1,1.00625E1,8.25E0)); +-#3088=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#3089=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#3090=AXIS2_PLACEMENT_3D('',#3087,#3088,#3089); +-#3092=CARTESIAN_POINT('',(1.975E1,1.00625E1,8.25E0)); +-#3093=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#3094=DIRECTION('',(1.E0,0.E0,0.E0)); +-#3095=AXIS2_PLACEMENT_3D('',#3092,#3093,#3094); +-#3097=DIRECTION('',(0.E0,0.E0,1.E0)); +-#3098=VECTOR('',#3097,2.5E-1); +-#3099=CARTESIAN_POINT('',(4.345E0,1.00625E1,8.E0)); +-#3100=LINE('',#3099,#3098); +-#3101=DIRECTION('',(0.E0,0.E0,1.E0)); +-#3102=VECTOR('',#3101,2.5E-1); +-#3103=CARTESIAN_POINT('',(4.155E0,1.00625E1,8.E0)); +-#3104=LINE('',#3103,#3102); +-#3105=CARTESIAN_POINT('',(4.25E0,1.00625E1,8.25E0)); +-#3106=DIRECTION('',(0.E0,0.E0,1.E0)); +-#3107=DIRECTION('',(1.E0,0.E0,0.E0)); +-#3108=AXIS2_PLACEMENT_3D('',#3105,#3106,#3107); +-#3110=CARTESIAN_POINT('',(4.25E0,1.00625E1,8.25E0)); +-#3111=DIRECTION('',(0.E0,0.E0,1.E0)); +-#3112=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#3113=AXIS2_PLACEMENT_3D('',#3110,#3111,#3112); +-#3115=DIRECTION('',(0.E0,0.E0,1.E0)); +-#3116=VECTOR('',#3115,2.5E-1); +-#3117=CARTESIAN_POINT('',(3.9075E0,1.05E1,8.E0)); +-#3118=LINE('',#3117,#3116); +-#3119=DIRECTION('',(0.E0,0.E0,1.E0)); +-#3120=VECTOR('',#3119,2.5E-1); +-#3121=CARTESIAN_POINT('',(3.7175E0,1.05E1,8.E0)); +-#3122=LINE('',#3121,#3120); +-#3123=CARTESIAN_POINT('',(3.8125E0,1.05E1,8.25E0)); +-#3124=DIRECTION('',(0.E0,0.E0,1.E0)); +-#3125=DIRECTION('',(1.E0,0.E0,0.E0)); +-#3126=AXIS2_PLACEMENT_3D('',#3123,#3124,#3125); +-#3128=CARTESIAN_POINT('',(3.8125E0,1.05E1,8.25E0)); +-#3129=DIRECTION('',(0.E0,0.E0,1.E0)); +-#3130=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#3131=AXIS2_PLACEMENT_3D('',#3128,#3129,#3130); +-#3133=DIRECTION('',(0.E0,0.E0,1.E0)); +-#3134=VECTOR('',#3133,2.5E-1); +-#3135=CARTESIAN_POINT('',(4.345E0,1.09375E1,8.E0)); +-#3136=LINE('',#3135,#3134); +-#3137=DIRECTION('',(0.E0,0.E0,1.E0)); +-#3138=VECTOR('',#3137,2.5E-1); +-#3139=CARTESIAN_POINT('',(4.155E0,1.09375E1,8.E0)); +-#3140=LINE('',#3139,#3138); +-#3141=CARTESIAN_POINT('',(4.25E0,1.09375E1,8.25E0)); +-#3142=DIRECTION('',(0.E0,0.E0,1.E0)); +-#3143=DIRECTION('',(1.E0,0.E0,0.E0)); +-#3144=AXIS2_PLACEMENT_3D('',#3141,#3142,#3143); +-#3146=CARTESIAN_POINT('',(4.25E0,1.09375E1,8.25E0)); +-#3147=DIRECTION('',(0.E0,0.E0,1.E0)); +-#3148=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#3149=AXIS2_PLACEMENT_3D('',#3146,#3147,#3148); +-#3151=DIRECTION('',(0.E0,0.E0,1.E0)); +-#3152=VECTOR('',#3151,5.E-1); +-#3153=CARTESIAN_POINT('',(3.75E0,2.E0,8.E0)); +-#3154=LINE('',#3153,#3152); +-#3155=CARTESIAN_POINT('',(3.75E0,2.75E0,8.E0)); +-#3156=DIRECTION('',(0.E0,0.E0,1.E0)); +-#3157=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#3158=AXIS2_PLACEMENT_3D('',#3155,#3156,#3157); +-#3160=DIRECTION('',(0.E0,0.E0,1.E0)); +-#3161=VECTOR('',#3160,5.E-1); +-#3162=CARTESIAN_POINT('',(4.5E0,2.75E0,8.E0)); +-#3163=LINE('',#3162,#3161); +-#3164=CARTESIAN_POINT('',(3.75E0,2.75E0,8.5E0)); +-#3165=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#3166=DIRECTION('',(1.E0,0.E0,0.E0)); +-#3167=AXIS2_PLACEMENT_3D('',#3164,#3165,#3166); +-#3169=DIRECTION('',(0.E0,0.E0,1.E0)); +-#3170=VECTOR('',#3169,5.E-1); +-#3171=CARTESIAN_POINT('',(4.5E0,8.75E0,8.E0)); +-#3172=LINE('',#3171,#3170); +-#3173=CARTESIAN_POINT('',(3.75E0,8.75E0,8.E0)); +-#3174=DIRECTION('',(0.E0,0.E0,1.E0)); +-#3175=DIRECTION('',(1.E0,0.E0,0.E0)); +-#3176=AXIS2_PLACEMENT_3D('',#3173,#3174,#3175); +-#3178=DIRECTION('',(0.E0,0.E0,1.E0)); +-#3179=VECTOR('',#3178,5.E-1); +-#3180=CARTESIAN_POINT('',(3.75E0,9.5E0,8.E0)); +-#3181=LINE('',#3180,#3179); +-#3182=CARTESIAN_POINT('',(3.75E0,8.75E0,8.5E0)); +-#3183=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#3184=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3185=AXIS2_PLACEMENT_3D('',#3182,#3183,#3184); +-#3187=DIRECTION('',(0.E0,0.E0,1.E0)); +-#3188=VECTOR('',#3187,5.E-1); +-#3189=CARTESIAN_POINT('',(3.188160579053E0,9.5E0,8.E0)); +-#3190=LINE('',#3189,#3188); +-#3191=CARTESIAN_POINT('',(3.188160579053E0,8.75E0,8.E0)); +-#3192=DIRECTION('',(0.E0,0.E0,1.E0)); +-#3193=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3194=AXIS2_PLACEMENT_3D('',#3191,#3192,#3193); +-#3196=DIRECTION('',(0.E0,0.E0,1.E0)); +-#3197=VECTOR('',#3196,5.E-1); +-#3198=CARTESIAN_POINT('',(2.532542621962E0,9.114232198384E0,8.E0)); +-#3199=LINE('',#3198,#3197); +-#3200=CARTESIAN_POINT('',(3.188160579053E0,8.75E0,8.5E0)); +-#3201=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#3202=DIRECTION('',(-8.741572761215E-1,4.856429311786E-1,0.E0)); +-#3203=AXIS2_PLACEMENT_3D('',#3200,#3201,#3202); +-#3205=DIRECTION('',(0.E0,0.E0,1.E0)); +-#3206=VECTOR('',#3205,5.E-1); +-#3207=CARTESIAN_POINT('',(-8.007907113711E-1,3.114232198384E0,8.E0)); +-#3208=LINE('',#3207,#3206); +-#3209=CARTESIAN_POINT('',(-1.451727542799E-1,2.75E0,8.E0)); +-#3210=DIRECTION('',(0.E0,0.E0,1.E0)); +-#3211=DIRECTION('',(-8.741572761215E-1,4.856429311786E-1,0.E0)); +-#3212=AXIS2_PLACEMENT_3D('',#3209,#3210,#3211); +-#3214=DIRECTION('',(0.E0,0.E0,1.E0)); +-#3215=VECTOR('',#3214,5.E-1); +-#3216=CARTESIAN_POINT('',(-1.451727542799E-1,2.E0,8.E0)); +-#3217=LINE('',#3216,#3215); +-#3218=CARTESIAN_POINT('',(-1.451727542799E-1,2.75E0,8.5E0)); +-#3219=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#3220=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#3221=AXIS2_PLACEMENT_3D('',#3218,#3219,#3220); +-#3223=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#3224=VECTOR('',#3223,6.E0); +-#3225=CARTESIAN_POINT('',(4.5E0,8.75E0,8.5E0)); +-#3226=LINE('',#3225,#3224); +-#3227=DIRECTION('',(1.E0,0.E0,0.E0)); +-#3228=VECTOR('',#3227,5.618394209466E-1); +-#3229=CARTESIAN_POINT('',(3.188160579053E0,9.5E0,8.5E0)); +-#3230=LINE('',#3229,#3228); +-#3231=DIRECTION('',(4.856429311786E-1,8.741572761215E-1,0.E0)); +-#3232=VECTOR('',#3231,6.863753427325E0); +-#3233=CARTESIAN_POINT('',(-8.007907113711E-1,3.114232198384E0,8.5E0)); +-#3234=LINE('',#3233,#3232); +-#3235=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#3236=VECTOR('',#3235,3.895172754280E0); +-#3237=CARTESIAN_POINT('',(3.75E0,2.E0,8.5E0)); +-#3238=LINE('',#3237,#3236); +-#3239=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#3240=VECTOR('',#3239,5.E-1); +-#3241=CARTESIAN_POINT('',(2.480079071137E1,3.114232198384E0,8.5E0)); +-#3242=LINE('',#3241,#3240); +-#3243=CARTESIAN_POINT('',(2.414517275428E1,2.75E0,8.5E0)); +-#3244=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#3245=DIRECTION('',(8.741572761215E-1,4.856429311786E-1,0.E0)); +-#3246=AXIS2_PLACEMENT_3D('',#3243,#3244,#3245); +-#3248=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#3249=VECTOR('',#3248,5.E-1); +-#3250=CARTESIAN_POINT('',(2.414517275428E1,2.E0,8.5E0)); +-#3251=LINE('',#3250,#3249); +-#3252=CARTESIAN_POINT('',(2.414517275428E1,2.75E0,8.E0)); +-#3253=DIRECTION('',(0.E0,0.E0,1.E0)); +-#3254=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#3255=AXIS2_PLACEMENT_3D('',#3252,#3253,#3254); +-#3257=DIRECTION('',(1.E0,0.E0,0.E0)); +-#3258=VECTOR('',#3257,3.895172754280E0); +-#3259=CARTESIAN_POINT('',(2.025E1,2.E0,8.5E0)); +-#3260=LINE('',#3259,#3258); +-#3261=DIRECTION('',(-4.856429311786E-1,8.741572761215E-1,0.E0)); +-#3262=VECTOR('',#3261,6.863753427325E0); +-#3263=CARTESIAN_POINT('',(2.480079071137E1,3.114232198384E0,8.5E0)); +-#3264=LINE('',#3263,#3262); +-#3265=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#3266=VECTOR('',#3265,5.618394209466E-1); +-#3267=CARTESIAN_POINT('',(2.081183942095E1,9.5E0,8.5E0)); +-#3268=LINE('',#3267,#3266); +-#3269=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#3270=VECTOR('',#3269,6.E0); +-#3271=CARTESIAN_POINT('',(1.95E1,8.75E0,8.5E0)); +-#3272=LINE('',#3271,#3270); +-#3273=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#3274=VECTOR('',#3273,5.E-1); +-#3275=CARTESIAN_POINT('',(2.025E1,2.E0,8.5E0)); +-#3276=LINE('',#3275,#3274); +-#3277=CARTESIAN_POINT('',(2.025E1,2.75E0,8.5E0)); +-#3278=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#3279=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#3280=AXIS2_PLACEMENT_3D('',#3277,#3278,#3279); +-#3282=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#3283=VECTOR('',#3282,5.E-1); +-#3284=CARTESIAN_POINT('',(1.95E1,2.75E0,8.5E0)); +-#3285=LINE('',#3284,#3283); +-#3286=CARTESIAN_POINT('',(2.025E1,2.75E0,8.E0)); +-#3287=DIRECTION('',(0.E0,0.E0,1.E0)); +-#3288=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#3289=AXIS2_PLACEMENT_3D('',#3286,#3287,#3288); +-#3291=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#3292=VECTOR('',#3291,5.E-1); +-#3293=CARTESIAN_POINT('',(1.95E1,8.75E0,8.5E0)); +-#3294=LINE('',#3293,#3292); +-#3295=CARTESIAN_POINT('',(2.025E1,8.75E0,8.5E0)); +-#3296=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#3297=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#3298=AXIS2_PLACEMENT_3D('',#3295,#3296,#3297); +-#3300=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#3301=VECTOR('',#3300,5.E-1); +-#3302=CARTESIAN_POINT('',(2.025E1,9.5E0,8.5E0)); +-#3303=LINE('',#3302,#3301); +-#3304=CARTESIAN_POINT('',(2.025E1,8.75E0,8.E0)); +-#3305=DIRECTION('',(0.E0,0.E0,1.E0)); +-#3306=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3307=AXIS2_PLACEMENT_3D('',#3304,#3305,#3306); +-#3309=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#3310=VECTOR('',#3309,5.E-1); +-#3311=CARTESIAN_POINT('',(2.081183942095E1,9.5E0,8.5E0)); +-#3312=LINE('',#3311,#3310); +-#3313=CARTESIAN_POINT('',(2.081183942095E1,8.75E0,8.5E0)); +-#3314=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#3315=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3316=AXIS2_PLACEMENT_3D('',#3313,#3314,#3315); +-#3318=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#3319=VECTOR('',#3318,5.E-1); +-#3320=CARTESIAN_POINT('',(2.146745737804E1,9.114232198384E0,8.5E0)); +-#3321=LINE('',#3320,#3319); +-#3322=CARTESIAN_POINT('',(2.081183942095E1,8.75E0,8.E0)); +-#3323=DIRECTION('',(0.E0,0.E0,1.E0)); +-#3324=DIRECTION('',(8.741572761215E-1,4.856429311786E-1,0.E0)); +-#3325=AXIS2_PLACEMENT_3D('',#3322,#3323,#3324); +-#3327=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3328=VECTOR('',#3327,6.875E-1); +-#3329=CARTESIAN_POINT('',(7.5E0,0.E0,6.875E-1)); +-#3330=LINE('',#3329,#3328); +-#3331=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3332=VECTOR('',#3331,6.875E-1); +-#3333=CARTESIAN_POINT('',(7.5E0,0.E0,1.8125E0)); +-#3334=LINE('',#3333,#3332); +-#3335=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3336=VECTOR('',#3335,6.875E-1); +-#3337=CARTESIAN_POINT('',(1.05E1,0.E0,1.8125E0)); +-#3338=LINE('',#3337,#3336); +-#3339=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3340=VECTOR('',#3339,6.875E-1); +-#3341=CARTESIAN_POINT('',(1.05E1,0.E0,6.875E-1)); +-#3342=LINE('',#3341,#3340); +-#3343=DIRECTION('',(1.E0,0.E0,0.E0)); +-#3344=VECTOR('',#3343,3.E0); +-#3345=CARTESIAN_POINT('',(7.5E0,6.875E-1,6.875E-1)); +-#3346=LINE('',#3345,#3344); +-#3347=CARTESIAN_POINT('',(7.5E0,6.875E-1,1.25E0)); +-#3348=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#3349=DIRECTION('',(0.E0,0.E0,1.E0)); +-#3350=AXIS2_PLACEMENT_3D('',#3347,#3348,#3349); +-#3352=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#3353=VECTOR('',#3352,3.E0); +-#3354=CARTESIAN_POINT('',(1.05E1,6.875E-1,1.8125E0)); +-#3355=LINE('',#3354,#3353); +-#3356=CARTESIAN_POINT('',(1.05E1,6.875E-1,1.25E0)); +-#3357=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#3358=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#3359=AXIS2_PLACEMENT_3D('',#3356,#3357,#3358); +-#3361=CARTESIAN_POINT('',(1.61E0,6.875E-1,4.5E0)); +-#3362=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#3363=DIRECTION('',(8.910741301059E-1,0.E0,4.538577912254E-1)); +-#3364=AXIS2_PLACEMENT_3D('',#3361,#3362,#3363); +-#3366=CARTESIAN_POINT('',(7.5E0,6.875E-1,7.5E0)); +-#3367=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3368=DIRECTION('',(-4.496088413988E-1,0.E0,-8.932255536739E-1)); +-#3369=AXIS2_PLACEMENT_3D('',#3366,#3367,#3368); +-#3371=CARTESIAN_POINT('',(4.553039342392E0,6.875E-1,1.645354088550E0)); +-#3372=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#3373=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1)); +-#3374=AXIS2_PLACEMENT_3D('',#3371,#3372,#3373); +-#3376=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1)); +-#3377=VECTOR('',#3376,4.263248410977E0); +-#3378=CARTESIAN_POINT('',(9.254066777019E-1,6.875E-1,4.046865146430E0)); +-#3379=LINE('',#3378,#3377); +-#3380=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3381=VECTOR('',#3380,6.875E-1); +-#3382=CARTESIAN_POINT('',(9.254066777019E-1,0.E0,4.046865146430E0)); +-#3383=LINE('',#3382,#3381); +-#3384=CARTESIAN_POINT('',(1.455736763592E0,0.E0,4.577195232320E0)); +-#3385=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3386=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1)); +-#3387=AXIS2_PLACEMENT_3D('',#3384,#3385,#3386); +-#3389=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3390=VECTOR('',#3389,6.875E-1); +-#3391=CARTESIAN_POINT('',(7.850270400779E-1,0.E0,4.912826677187E0)); +-#3392=LINE('',#3391,#3390); +-#3393=CARTESIAN_POINT('',(1.455736763592E0,6.875E-1,4.577195232320E0)); +-#3394=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#3395=DIRECTION('',(-8.942796313519E-1,0.E0,4.475085931567E-1)); +-#3396=AXIS2_PLACEMENT_3D('',#3393,#3394,#3395); +-#3398=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3399=VECTOR('',#3398,6.875E-1); +-#3400=CARTESIAN_POINT('',(3.939978538987E0,0.E0,1.032293285145E0)); +-#3401=LINE('',#3400,#3399); +-#3402=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3403=VECTOR('',#3402,6.875E-1); +-#3404=CARTESIAN_POINT('',(4.942849714544E0,0.E0,2.419779663480E0)); +-#3405=LINE('',#3404,#3403); +-#3406=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3407=VECTOR('',#3406,6.875E-1); +-#3408=CARTESIAN_POINT('',(2.432015885023E0,0.E0,4.918683812405E0)); +-#3409=LINE('',#3408,#3407); +-#3410=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#3411=VECTOR('',#3410,6.875E-1); +-#3412=CARTESIAN_POINT('',(6.9E-1,6.875E-1,7.815E0)); +-#3413=LINE('',#3412,#3411); +-#3414=CARTESIAN_POINT('',(-1.85E-1,0.E0,7.815E0)); +-#3415=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#3416=DIRECTION('',(1.E0,0.E0,0.E0)); +-#3417=AXIS2_PLACEMENT_3D('',#3414,#3415,#3416); +-#3419=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#3420=VECTOR('',#3419,6.875E-1); +-#3421=CARTESIAN_POINT('',(-1.85E-1,6.875E-1,8.69E0)); +-#3422=LINE('',#3421,#3420); +-#3423=CARTESIAN_POINT('',(-1.85E-1,6.875E-1,7.815E0)); +-#3424=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3425=DIRECTION('',(0.E0,0.E0,1.E0)); +-#3426=AXIS2_PLACEMENT_3D('',#3423,#3424,#3425); +-#3428=DIRECTION('',(1.E0,0.E0,0.E0)); +-#3429=VECTOR('',#3428,7.5E-1); +-#3430=CARTESIAN_POINT('',(2.6875E0,6.875E-1,8.69E0)); +-#3431=LINE('',#3430,#3429); +-#3432=DIRECTION('',(0.E0,0.E0,1.E0)); +-#3433=VECTOR('',#3432,3.15E-1); +-#3434=CARTESIAN_POINT('',(1.8125E0,6.875E-1,7.5E0)); +-#3435=LINE('',#3434,#3433); +-#3436=CARTESIAN_POINT('',(1.25125E0,6.875E-1,7.5E0)); +-#3437=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#3438=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#3439=AXIS2_PLACEMENT_3D('',#3436,#3437,#3438); +-#3441=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#3442=VECTOR('',#3441,3.15E-1); +-#3443=CARTESIAN_POINT('',(6.9E-1,6.875E-1,7.815E0)); +-#3444=LINE('',#3443,#3442); +-#3445=DIRECTION('',(1.E0,0.E0,0.E0)); +-#3446=VECTOR('',#3445,2.525E-1); +-#3447=CARTESIAN_POINT('',(-4.375E-1,6.875E-1,8.69E0)); +-#3448=LINE('',#3447,#3446); +-#3449=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#3450=VECTOR('',#3449,8.1E-1); +-#3451=CARTESIAN_POINT('',(-1.3125E0,6.875E-1,1.0375E1)); +-#3452=LINE('',#3451,#3450); +-#3453=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#3454=VECTOR('',#3453,3.875E0); +-#3455=CARTESIAN_POINT('',(3.4375E0,6.875E-1,1.125E1)); +-#3456=LINE('',#3455,#3454); +-#3457=DIRECTION('',(0.E0,0.E0,1.E0)); +-#3458=VECTOR('',#3457,8.1E-1); +-#3459=CARTESIAN_POINT('',(4.3125E0,6.875E-1,9.565E0)); +-#3460=LINE('',#3459,#3458); +-#3461=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#3462=VECTOR('',#3461,6.875E-1); +-#3463=CARTESIAN_POINT('',(2.6875E0,6.875E-1,8.69E0)); +-#3464=LINE('',#3463,#3462); +-#3465=CARTESIAN_POINT('',(2.6875E0,0.E0,7.815E0)); +-#3466=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#3467=DIRECTION('',(0.E0,0.E0,1.E0)); +-#3468=AXIS2_PLACEMENT_3D('',#3465,#3466,#3467); +-#3470=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#3471=VECTOR('',#3470,6.875E-1); +-#3472=CARTESIAN_POINT('',(1.8125E0,6.875E-1,7.815E0)); +-#3473=LINE('',#3472,#3471); +-#3474=CARTESIAN_POINT('',(2.6875E0,6.875E-1,7.815E0)); +-#3475=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3476=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#3477=AXIS2_PLACEMENT_3D('',#3474,#3475,#3476); +-#3479=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3480=VECTOR('',#3479,6.875E-1); +-#3481=CARTESIAN_POINT('',(1.8125E0,0.E0,7.5E0)); +-#3482=LINE('',#3481,#3480); +-#3483=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3484=VECTOR('',#3483,6.875E-1); +-#3485=CARTESIAN_POINT('',(6.9E-1,0.E0,7.5E0)); +-#3486=LINE('',#3485,#3484); +-#3487=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3488=VECTOR('',#3487,6.875E-1); +-#3489=CARTESIAN_POINT('',(4.3125E0,0.E0,9.565E0)); +-#3490=LINE('',#3489,#3488); +-#3491=CARTESIAN_POINT('',(3.4375E0,0.E0,9.565E0)); +-#3492=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3493=DIRECTION('',(1.E0,0.E0,0.E0)); +-#3494=AXIS2_PLACEMENT_3D('',#3491,#3492,#3493); +-#3496=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3497=VECTOR('',#3496,6.875E-1); +-#3498=CARTESIAN_POINT('',(3.4375E0,0.E0,8.69E0)); +-#3499=LINE('',#3498,#3497); +-#3500=CARTESIAN_POINT('',(3.4375E0,6.875E-1,9.565E0)); +-#3501=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#3502=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#3503=AXIS2_PLACEMENT_3D('',#3500,#3501,#3502); +-#3505=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3506=VECTOR('',#3505,6.875E-1); +-#3507=CARTESIAN_POINT('',(3.4375E0,0.E0,1.125E1)); +-#3508=LINE('',#3507,#3506); +-#3509=CARTESIAN_POINT('',(3.4375E0,0.E0,1.0375E1)); +-#3510=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3511=DIRECTION('',(0.E0,0.E0,1.E0)); +-#3512=AXIS2_PLACEMENT_3D('',#3509,#3510,#3511); +-#3514=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3515=VECTOR('',#3514,6.875E-1); +-#3516=CARTESIAN_POINT('',(4.3125E0,0.E0,1.0375E1)); +-#3517=LINE('',#3516,#3515); +-#3518=CARTESIAN_POINT('',(3.4375E0,6.875E-1,1.0375E1)); +-#3519=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#3520=DIRECTION('',(1.E0,0.E0,0.E0)); +-#3521=AXIS2_PLACEMENT_3D('',#3518,#3519,#3520); +-#3523=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3524=VECTOR('',#3523,6.875E-1); +-#3525=CARTESIAN_POINT('',(-1.3125E0,0.E0,1.0375E1)); +-#3526=LINE('',#3525,#3524); +-#3527=CARTESIAN_POINT('',(-4.375E-1,0.E0,1.0375E1)); +-#3528=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3529=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#3530=AXIS2_PLACEMENT_3D('',#3527,#3528,#3529); +-#3532=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3533=VECTOR('',#3532,6.875E-1); +-#3534=CARTESIAN_POINT('',(-4.375E-1,0.E0,1.125E1)); +-#3535=LINE('',#3534,#3533); +-#3536=CARTESIAN_POINT('',(-4.375E-1,6.875E-1,1.0375E1)); +-#3537=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#3538=DIRECTION('',(0.E0,0.E0,1.E0)); +-#3539=AXIS2_PLACEMENT_3D('',#3536,#3537,#3538); +-#3541=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3542=VECTOR('',#3541,6.875E-1); +-#3543=CARTESIAN_POINT('',(-4.375E-1,0.E0,8.69E0)); +-#3544=LINE('',#3543,#3542); +-#3545=CARTESIAN_POINT('',(-4.375E-1,0.E0,9.565E0)); +-#3546=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3547=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#3548=AXIS2_PLACEMENT_3D('',#3545,#3546,#3547); +-#3550=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3551=VECTOR('',#3550,6.875E-1); +-#3552=CARTESIAN_POINT('',(-1.3125E0,0.E0,9.565E0)); +-#3553=LINE('',#3552,#3551); +-#3554=CARTESIAN_POINT('',(-4.375E-1,6.875E-1,9.565E0)); +-#3555=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#3556=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#3557=AXIS2_PLACEMENT_3D('',#3554,#3555,#3556); +-#3559=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3560=VECTOR('',#3559,6.875E-1); +-#3561=CARTESIAN_POINT('',(6.875E-1,0.E0,1.65E1)); +-#3562=LINE('',#3561,#3560); +-#3563=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3564=VECTOR('',#3563,6.875E-1); +-#3565=CARTESIAN_POINT('',(1.8125E0,0.E0,1.65E1)); +-#3566=LINE('',#3565,#3564); +-#3567=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3568=VECTOR('',#3567,6.875E-1); +-#3569=CARTESIAN_POINT('',(1.8125E0,0.E0,1.35E1)); +-#3570=LINE('',#3569,#3568); +-#3571=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3572=VECTOR('',#3571,6.875E-1); +-#3573=CARTESIAN_POINT('',(6.875E-1,0.E0,1.35E1)); +-#3574=LINE('',#3573,#3572); +-#3575=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#3576=VECTOR('',#3575,3.E0); +-#3577=CARTESIAN_POINT('',(6.875E-1,6.875E-1,1.65E1)); +-#3578=LINE('',#3577,#3576); +-#3579=CARTESIAN_POINT('',(1.25E0,6.875E-1,1.65E1)); +-#3580=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#3581=DIRECTION('',(1.E0,0.E0,0.E0)); +-#3582=AXIS2_PLACEMENT_3D('',#3579,#3580,#3581); +-#3584=DIRECTION('',(0.E0,0.E0,1.E0)); +-#3585=VECTOR('',#3584,3.E0); +-#3586=CARTESIAN_POINT('',(1.8125E0,6.875E-1,1.35E1)); +-#3587=LINE('',#3586,#3585); +-#3588=CARTESIAN_POINT('',(1.25E0,6.875E-1,1.35E1)); +-#3589=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#3590=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#3591=AXIS2_PLACEMENT_3D('',#3588,#3589,#3590); +-#3593=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3594=VECTOR('',#3593,6.875E-1); +-#3595=CARTESIAN_POINT('',(6.875E-1,0.E0,2.25E1)); +-#3596=LINE('',#3595,#3594); +-#3597=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3598=VECTOR('',#3597,6.875E-1); +-#3599=CARTESIAN_POINT('',(1.8125E0,0.E0,2.25E1)); +-#3600=LINE('',#3599,#3598); +-#3601=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3602=VECTOR('',#3601,6.875E-1); +-#3603=CARTESIAN_POINT('',(1.8125E0,0.E0,1.95E1)); +-#3604=LINE('',#3603,#3602); +-#3605=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3606=VECTOR('',#3605,6.875E-1); +-#3607=CARTESIAN_POINT('',(6.875E-1,0.E0,1.95E1)); +-#3608=LINE('',#3607,#3606); +-#3609=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#3610=VECTOR('',#3609,3.E0); +-#3611=CARTESIAN_POINT('',(6.875E-1,6.875E-1,2.25E1)); +-#3612=LINE('',#3611,#3610); +-#3613=CARTESIAN_POINT('',(1.25E0,6.875E-1,2.25E1)); +-#3614=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#3615=DIRECTION('',(1.E0,0.E0,0.E0)); +-#3616=AXIS2_PLACEMENT_3D('',#3613,#3614,#3615); +-#3618=DIRECTION('',(0.E0,0.E0,1.E0)); +-#3619=VECTOR('',#3618,3.E0); +-#3620=CARTESIAN_POINT('',(1.8125E0,6.875E-1,1.95E1)); +-#3621=LINE('',#3620,#3619); +-#3622=CARTESIAN_POINT('',(1.25E0,6.875E-1,1.95E1)); +-#3623=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#3624=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#3625=AXIS2_PLACEMENT_3D('',#3622,#3623,#3624); +-#3627=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3628=VECTOR('',#3627,6.875E-1); +-#3629=CARTESIAN_POINT('',(7.5E0,0.E0,8.5E0)); +-#3630=LINE('',#3629,#3628); +-#3631=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3632=VECTOR('',#3631,6.875E-1); +-#3633=CARTESIAN_POINT('',(7.5E0,0.E0,9.5E0)); +-#3634=LINE('',#3633,#3632); +-#3635=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3636=VECTOR('',#3635,6.875E-1); +-#3637=CARTESIAN_POINT('',(1.05E1,0.E0,9.5E0)); +-#3638=LINE('',#3637,#3636); +-#3639=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3640=VECTOR('',#3639,6.875E-1); +-#3641=CARTESIAN_POINT('',(1.05E1,0.E0,8.5E0)); +-#3642=LINE('',#3641,#3640); +-#3643=DIRECTION('',(1.E0,0.E0,0.E0)); +-#3644=VECTOR('',#3643,3.E0); +-#3645=CARTESIAN_POINT('',(7.5E0,6.875E-1,8.5E0)); +-#3646=LINE('',#3645,#3644); +-#3647=CARTESIAN_POINT('',(7.5E0,6.875E-1,9.E0)); +-#3648=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#3649=DIRECTION('',(0.E0,0.E0,1.E0)); +-#3650=AXIS2_PLACEMENT_3D('',#3647,#3648,#3649); +-#3652=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#3653=VECTOR('',#3652,3.E0); +-#3654=CARTESIAN_POINT('',(1.05E1,6.875E-1,9.5E0)); +-#3655=LINE('',#3654,#3653); +-#3656=CARTESIAN_POINT('',(1.05E1,6.875E-1,9.E0)); +-#3657=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#3658=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#3659=AXIS2_PLACEMENT_3D('',#3656,#3657,#3658); +-#3661=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3662=VECTOR('',#3661,6.875E-1); +-#3663=CARTESIAN_POINT('',(7.5E0,0.E0,1.75625E1)); +-#3664=LINE('',#3663,#3662); +-#3665=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3666=VECTOR('',#3665,6.875E-1); +-#3667=CARTESIAN_POINT('',(7.5E0,0.E0,1.84375E1)); +-#3668=LINE('',#3667,#3666); +-#3669=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3670=VECTOR('',#3669,6.875E-1); +-#3671=CARTESIAN_POINT('',(1.05E1,0.E0,1.84375E1)); +-#3672=LINE('',#3671,#3670); +-#3673=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3674=VECTOR('',#3673,6.875E-1); +-#3675=CARTESIAN_POINT('',(1.05E1,0.E0,1.75625E1)); +-#3676=LINE('',#3675,#3674); +-#3677=DIRECTION('',(1.E0,0.E0,0.E0)); +-#3678=VECTOR('',#3677,3.E0); +-#3679=CARTESIAN_POINT('',(7.5E0,6.875E-1,1.75625E1)); +-#3680=LINE('',#3679,#3678); +-#3681=CARTESIAN_POINT('',(7.5E0,6.875E-1,1.8E1)); +-#3682=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#3683=DIRECTION('',(0.E0,0.E0,1.E0)); +-#3684=AXIS2_PLACEMENT_3D('',#3681,#3682,#3683); +-#3686=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#3687=VECTOR('',#3686,3.E0); +-#3688=CARTESIAN_POINT('',(1.05E1,6.875E-1,1.84375E1)); +-#3689=LINE('',#3688,#3687); +-#3690=CARTESIAN_POINT('',(1.05E1,6.875E-1,1.8E1)); +-#3691=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#3692=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#3693=AXIS2_PLACEMENT_3D('',#3690,#3691,#3692); +-#3695=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3696=VECTOR('',#3695,6.875E-1); +-#3697=CARTESIAN_POINT('',(7.5E0,0.E0,3.13125E1)); +-#3698=LINE('',#3697,#3696); +-#3699=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3700=VECTOR('',#3699,6.875E-1); +-#3701=CARTESIAN_POINT('',(1.05E1,0.E0,3.13125E1)); +-#3702=LINE('',#3701,#3700); +-#3703=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3704=VECTOR('',#3703,6.875E-1); +-#3705=CARTESIAN_POINT('',(1.05E1,0.E0,3.01875E1)); +-#3706=LINE('',#3705,#3704); +-#3707=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3708=VECTOR('',#3707,6.875E-1); +-#3709=CARTESIAN_POINT('',(7.5E0,0.E0,3.01875E1)); +-#3710=LINE('',#3709,#3708); +-#3711=DIRECTION('',(1.E0,0.E0,0.E0)); +-#3712=VECTOR('',#3711,3.E0); +-#3713=CARTESIAN_POINT('',(7.5E0,6.875E-1,3.13125E1)); +-#3714=LINE('',#3713,#3712); +-#3715=CARTESIAN_POINT('',(1.05E1,6.875E-1,3.075E1)); +-#3716=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3717=DIRECTION('',(0.E0,0.E0,1.E0)); +-#3718=AXIS2_PLACEMENT_3D('',#3715,#3716,#3717); +-#3720=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#3721=VECTOR('',#3720,3.E0); +-#3722=CARTESIAN_POINT('',(1.05E1,6.875E-1,3.01875E1)); +-#3723=LINE('',#3722,#3721); +-#3724=CARTESIAN_POINT('',(7.5E0,6.875E-1,3.075E1)); +-#3725=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3726=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#3727=AXIS2_PLACEMENT_3D('',#3724,#3725,#3726); +-#3729=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1)); +-#3730=VECTOR('',#3729,4.263248410977E0); +-#3731=CARTESIAN_POINT('',(9.254066777019E-1,6.875E-1,2.795313485357E1)); +-#3732=LINE('',#3731,#3730); +-#3733=CARTESIAN_POINT('',(4.553039342392E0,6.875E-1,3.035464591145E1)); +-#3734=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3735=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1)); +-#3736=AXIS2_PLACEMENT_3D('',#3733,#3734,#3735); +-#3738=CARTESIAN_POINT('',(7.5E0,6.875E-1,2.45E1)); +-#3739=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#3740=DIRECTION('',(-4.496088413988E-1,0.E0,8.932255536739E-1)); +-#3741=AXIS2_PLACEMENT_3D('',#3738,#3739,#3740); +-#3743=CARTESIAN_POINT('',(1.61E0,6.875E-1,2.75E1)); +-#3744=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3745=DIRECTION('',(8.910741301059E-1,0.E0,-4.538577912254E-1)); +-#3746=AXIS2_PLACEMENT_3D('',#3743,#3744,#3745); +-#3748=DIRECTION('',(0.E0,1.E0,-1.033516706560E-14)); +-#3749=VECTOR('',#3748,6.875E-1); +-#3750=CARTESIAN_POINT('',(7.850270400779E-1,0.E0,2.708717332281E1)); +-#3751=LINE('',#3750,#3749); +-#3752=CARTESIAN_POINT('',(1.455736763592E0,0.E0,2.742280476768E1)); +-#3753=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3754=DIRECTION('',(-8.942796313519E-1,0.E0,-4.475085931567E-1)); +-#3755=AXIS2_PLACEMENT_3D('',#3752,#3753,#3754); +-#3757=DIRECTION('',(0.E0,1.E0,1.033516706560E-14)); +-#3758=VECTOR('',#3757,6.875E-1); +-#3759=CARTESIAN_POINT('',(9.254066777019E-1,0.E0,2.795313485357E1)); +-#3760=LINE('',#3759,#3758); +-#3761=CARTESIAN_POINT('',(1.455736763592E0,6.875E-1,2.742280476768E1)); +-#3762=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#3763=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811866E-1)); +-#3764=AXIS2_PLACEMENT_3D('',#3761,#3762,#3763); +-#3766=DIRECTION('',(0.E0,1.E0,1.033516706560E-14)); +-#3767=VECTOR('',#3766,6.875E-1); +-#3768=CARTESIAN_POINT('',(2.432015885023E0,0.E0,2.708131618759E1)); +-#3769=LINE('',#3768,#3767); +-#3770=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3771=VECTOR('',#3770,6.875E-1); +-#3772=CARTESIAN_POINT('',(4.942849714544E0,0.E0,2.958022033652E1)); +-#3773=LINE('',#3772,#3771); +-#3774=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3775=VECTOR('',#3774,6.875E-1); +-#3776=CARTESIAN_POINT('',(3.939978538987E0,0.E0,3.096770671486E1)); +-#3777=LINE('',#3776,#3775); +-#3778=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3779=VECTOR('',#3778,6.875E-1); +-#3780=CARTESIAN_POINT('',(1.65E1,0.E0,6.875E-1)); +-#3781=LINE('',#3780,#3779); +-#3782=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3783=VECTOR('',#3782,6.875E-1); +-#3784=CARTESIAN_POINT('',(1.35E1,0.E0,6.875E-1)); +-#3785=LINE('',#3784,#3783); +-#3786=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3787=VECTOR('',#3786,6.875E-1); +-#3788=CARTESIAN_POINT('',(1.35E1,0.E0,1.8125E0)); +-#3789=LINE('',#3788,#3787); +-#3790=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3791=VECTOR('',#3790,6.875E-1); +-#3792=CARTESIAN_POINT('',(1.65E1,0.E0,1.8125E0)); +-#3793=LINE('',#3792,#3791); +-#3794=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#3795=VECTOR('',#3794,3.E0); +-#3796=CARTESIAN_POINT('',(1.65E1,6.875E-1,6.875E-1)); +-#3797=LINE('',#3796,#3795); +-#3798=CARTESIAN_POINT('',(1.35E1,6.875E-1,1.25E0)); +-#3799=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3800=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#3801=AXIS2_PLACEMENT_3D('',#3798,#3799,#3800); +-#3803=DIRECTION('',(1.E0,0.E0,0.E0)); +-#3804=VECTOR('',#3803,3.E0); +-#3805=CARTESIAN_POINT('',(1.35E1,6.875E-1,1.8125E0)); +-#3806=LINE('',#3805,#3804); +-#3807=CARTESIAN_POINT('',(1.65E1,6.875E-1,1.25E0)); +-#3808=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3809=DIRECTION('',(0.E0,0.E0,1.E0)); +-#3810=AXIS2_PLACEMENT_3D('',#3807,#3808,#3809); +-#3812=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1)); +-#3813=VECTOR('',#3812,4.263248410977E0); +-#3814=CARTESIAN_POINT('',(2.307459332230E1,6.875E-1,4.046865146430E0)); +-#3815=LINE('',#3814,#3813); +-#3816=CARTESIAN_POINT('',(1.944696065761E1,6.875E-1,1.645354088550E0)); +-#3817=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3818=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1)); +-#3819=AXIS2_PLACEMENT_3D('',#3816,#3817,#3818); +-#3821=CARTESIAN_POINT('',(1.65E1,6.875E-1,7.5E0)); +-#3822=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#3823=DIRECTION('',(4.496088413988E-1,0.E0,-8.932255536739E-1)); +-#3824=AXIS2_PLACEMENT_3D('',#3821,#3822,#3823); +-#3826=CARTESIAN_POINT('',(2.239E1,6.875E-1,4.5E0)); +-#3827=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3828=DIRECTION('',(-8.910741301059E-1,0.E0,4.538577912254E-1)); +-#3829=AXIS2_PLACEMENT_3D('',#3826,#3827,#3828); +-#3831=DIRECTION('',(-1.033516706560E-14,1.E0,2.583791766400E-14)); +-#3832=VECTOR('',#3831,6.875E-1); +-#3833=CARTESIAN_POINT('',(2.321497295992E1,0.E0,4.912826677187E0)); +-#3834=LINE('',#3833,#3832); +-#3835=CARTESIAN_POINT('',(2.254426323641E1,0.E0,4.577195232320E0)); +-#3836=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3837=DIRECTION('',(8.942796313519E-1,0.E0,4.475085931567E-1)); +-#3838=AXIS2_PLACEMENT_3D('',#3835,#3836,#3837); +-#3840=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3841=VECTOR('',#3840,6.875E-1); +-#3842=CARTESIAN_POINT('',(2.307459332230E1,0.E0,4.046865146430E0)); +-#3843=LINE('',#3842,#3841); +-#3844=CARTESIAN_POINT('',(2.254426323641E1,6.875E-1,4.577195232320E0)); +-#3845=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#3846=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1)); +-#3847=AXIS2_PLACEMENT_3D('',#3844,#3845,#3846); +-#3849=DIRECTION('',(-1.550275059840E-14,1.E0,-2.067033413120E-14)); +-#3850=VECTOR('',#3849,6.875E-1); +-#3851=CARTESIAN_POINT('',(2.156798411498E1,0.E0,4.918683812405E0)); +-#3852=LINE('',#3851,#3850); +-#3853=DIRECTION('',(1.550275059840E-14,1.E0,0.E0)); +-#3854=VECTOR('',#3853,6.875E-1); +-#3855=CARTESIAN_POINT('',(1.905715028546E1,0.E0,2.419779663480E0)); +-#3856=LINE('',#3855,#3854); +-#3857=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3858=VECTOR('',#3857,6.875E-1); +-#3859=CARTESIAN_POINT('',(2.006002146101E1,0.E0,1.032293285145E0)); +-#3860=LINE('',#3859,#3858); +-#3861=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3862=VECTOR('',#3861,6.875E-1); +-#3863=CARTESIAN_POINT('',(2.33125E1,0.E0,1.65E1)); +-#3864=LINE('',#3863,#3862); +-#3865=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3866=VECTOR('',#3865,6.875E-1); +-#3867=CARTESIAN_POINT('',(2.33125E1,0.E0,1.35E1)); +-#3868=LINE('',#3867,#3866); +-#3869=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3870=VECTOR('',#3869,6.875E-1); +-#3871=CARTESIAN_POINT('',(2.21875E1,0.E0,1.35E1)); +-#3872=LINE('',#3871,#3870); +-#3873=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3874=VECTOR('',#3873,6.875E-1); +-#3875=CARTESIAN_POINT('',(2.21875E1,0.E0,1.65E1)); +-#3876=LINE('',#3875,#3874); +-#3877=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#3878=VECTOR('',#3877,3.E0); +-#3879=CARTESIAN_POINT('',(2.33125E1,6.875E-1,1.65E1)); +-#3880=LINE('',#3879,#3878); +-#3881=CARTESIAN_POINT('',(2.275E1,6.875E-1,1.35E1)); +-#3882=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3883=DIRECTION('',(1.E0,0.E0,0.E0)); +-#3884=AXIS2_PLACEMENT_3D('',#3881,#3882,#3883); +-#3886=DIRECTION('',(0.E0,0.E0,1.E0)); +-#3887=VECTOR('',#3886,3.E0); +-#3888=CARTESIAN_POINT('',(2.21875E1,6.875E-1,1.35E1)); +-#3889=LINE('',#3888,#3887); +-#3890=CARTESIAN_POINT('',(2.275E1,6.875E-1,1.65E1)); +-#3891=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3892=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#3893=AXIS2_PLACEMENT_3D('',#3890,#3891,#3892); +-#3895=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3896=VECTOR('',#3895,6.875E-1); +-#3897=CARTESIAN_POINT('',(2.33125E1,0.E0,2.25E1)); +-#3898=LINE('',#3897,#3896); +-#3899=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3900=VECTOR('',#3899,6.875E-1); +-#3901=CARTESIAN_POINT('',(2.33125E1,0.E0,1.95E1)); +-#3902=LINE('',#3901,#3900); +-#3903=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3904=VECTOR('',#3903,6.875E-1); +-#3905=CARTESIAN_POINT('',(2.21875E1,0.E0,1.95E1)); +-#3906=LINE('',#3905,#3904); +-#3907=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3908=VECTOR('',#3907,6.875E-1); +-#3909=CARTESIAN_POINT('',(2.21875E1,0.E0,2.25E1)); +-#3910=LINE('',#3909,#3908); +-#3911=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#3912=VECTOR('',#3911,3.E0); +-#3913=CARTESIAN_POINT('',(2.33125E1,6.875E-1,2.25E1)); +-#3914=LINE('',#3913,#3912); +-#3915=CARTESIAN_POINT('',(2.275E1,6.875E-1,1.95E1)); +-#3916=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3917=DIRECTION('',(1.E0,0.E0,0.E0)); +-#3918=AXIS2_PLACEMENT_3D('',#3915,#3916,#3917); +-#3920=DIRECTION('',(0.E0,0.E0,1.E0)); +-#3921=VECTOR('',#3920,3.E0); +-#3922=CARTESIAN_POINT('',(2.21875E1,6.875E-1,1.95E1)); +-#3923=LINE('',#3922,#3921); +-#3924=CARTESIAN_POINT('',(2.275E1,6.875E-1,2.25E1)); +-#3925=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3926=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#3927=AXIS2_PLACEMENT_3D('',#3924,#3925,#3926); +-#3929=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3930=VECTOR('',#3929,6.875E-1); +-#3931=CARTESIAN_POINT('',(1.65E1,0.E0,8.5E0)); +-#3932=LINE('',#3931,#3930); +-#3933=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3934=VECTOR('',#3933,6.875E-1); +-#3935=CARTESIAN_POINT('',(1.35E1,0.E0,8.5E0)); +-#3936=LINE('',#3935,#3934); +-#3937=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3938=VECTOR('',#3937,6.875E-1); +-#3939=CARTESIAN_POINT('',(1.35E1,0.E0,9.5E0)); +-#3940=LINE('',#3939,#3938); +-#3941=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3942=VECTOR('',#3941,6.875E-1); +-#3943=CARTESIAN_POINT('',(1.65E1,0.E0,9.5E0)); +-#3944=LINE('',#3943,#3942); +-#3945=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#3946=VECTOR('',#3945,3.E0); +-#3947=CARTESIAN_POINT('',(1.65E1,6.875E-1,8.5E0)); +-#3948=LINE('',#3947,#3946); +-#3949=CARTESIAN_POINT('',(1.35E1,6.875E-1,9.E0)); +-#3950=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3951=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#3952=AXIS2_PLACEMENT_3D('',#3949,#3950,#3951); +-#3954=DIRECTION('',(1.E0,0.E0,0.E0)); +-#3955=VECTOR('',#3954,3.E0); +-#3956=CARTESIAN_POINT('',(1.35E1,6.875E-1,9.5E0)); +-#3957=LINE('',#3956,#3955); +-#3958=CARTESIAN_POINT('',(1.65E1,6.875E-1,9.E0)); +-#3959=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3960=DIRECTION('',(0.E0,0.E0,1.E0)); +-#3961=AXIS2_PLACEMENT_3D('',#3958,#3959,#3960); +-#3963=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3964=VECTOR('',#3963,6.875E-1); +-#3965=CARTESIAN_POINT('',(1.65E1,0.E0,1.75625E1)); +-#3966=LINE('',#3965,#3964); +-#3967=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3968=VECTOR('',#3967,6.875E-1); +-#3969=CARTESIAN_POINT('',(1.35E1,0.E0,1.75625E1)); +-#3970=LINE('',#3969,#3968); +-#3971=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3972=VECTOR('',#3971,6.875E-1); +-#3973=CARTESIAN_POINT('',(1.35E1,0.E0,1.84375E1)); +-#3974=LINE('',#3973,#3972); +-#3975=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3976=VECTOR('',#3975,6.875E-1); +-#3977=CARTESIAN_POINT('',(1.65E1,0.E0,1.84375E1)); +-#3978=LINE('',#3977,#3976); +-#3979=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#3980=VECTOR('',#3979,3.E0); +-#3981=CARTESIAN_POINT('',(1.65E1,6.875E-1,1.75625E1)); +-#3982=LINE('',#3981,#3980); +-#3983=CARTESIAN_POINT('',(1.35E1,6.875E-1,1.8E1)); +-#3984=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3985=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#3986=AXIS2_PLACEMENT_3D('',#3983,#3984,#3985); +-#3988=DIRECTION('',(1.E0,0.E0,0.E0)); +-#3989=VECTOR('',#3988,3.E0); +-#3990=CARTESIAN_POINT('',(1.35E1,6.875E-1,1.84375E1)); +-#3991=LINE('',#3990,#3989); +-#3992=CARTESIAN_POINT('',(1.65E1,6.875E-1,1.8E1)); +-#3993=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3994=DIRECTION('',(0.E0,0.E0,1.E0)); +-#3995=AXIS2_PLACEMENT_3D('',#3992,#3993,#3994); +-#3997=DIRECTION('',(0.E0,1.E0,0.E0)); +-#3998=VECTOR('',#3997,6.875E-1); +-#3999=CARTESIAN_POINT('',(1.65E1,0.E0,3.13125E1)); +-#4000=LINE('',#3999,#3998); +-#4001=DIRECTION('',(0.E0,1.E0,0.E0)); +-#4002=VECTOR('',#4001,6.875E-1); +-#4003=CARTESIAN_POINT('',(1.65E1,0.E0,3.01875E1)); +-#4004=LINE('',#4003,#4002); +-#4005=DIRECTION('',(0.E0,1.E0,0.E0)); +-#4006=VECTOR('',#4005,6.875E-1); +-#4007=CARTESIAN_POINT('',(1.35E1,0.E0,3.01875E1)); +-#4008=LINE('',#4007,#4006); +-#4009=DIRECTION('',(0.E0,1.E0,0.E0)); +-#4010=VECTOR('',#4009,6.875E-1); +-#4011=CARTESIAN_POINT('',(1.35E1,0.E0,3.13125E1)); +-#4012=LINE('',#4011,#4010); +-#4013=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#4014=VECTOR('',#4013,3.E0); +-#4015=CARTESIAN_POINT('',(1.65E1,6.875E-1,3.13125E1)); +-#4016=LINE('',#4015,#4014); +-#4017=CARTESIAN_POINT('',(1.65E1,6.875E-1,3.075E1)); +-#4018=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#4019=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#4020=AXIS2_PLACEMENT_3D('',#4017,#4018,#4019); +-#4022=DIRECTION('',(1.E0,0.E0,0.E0)); +-#4023=VECTOR('',#4022,3.E0); +-#4024=CARTESIAN_POINT('',(1.35E1,6.875E-1,3.01875E1)); +-#4025=LINE('',#4024,#4023); +-#4026=CARTESIAN_POINT('',(1.35E1,6.875E-1,3.075E1)); +-#4027=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#4028=DIRECTION('',(0.E0,0.E0,1.E0)); +-#4029=AXIS2_PLACEMENT_3D('',#4026,#4027,#4028); +-#4031=CARTESIAN_POINT('',(2.239E1,6.875E-1,2.75E1)); +-#4032=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#4033=DIRECTION('',(-8.910741301059E-1,0.E0,-4.538577912254E-1)); +-#4034=AXIS2_PLACEMENT_3D('',#4031,#4032,#4033); +-#4036=CARTESIAN_POINT('',(1.65E1,6.875E-1,2.45E1)); +-#4037=DIRECTION('',(0.E0,1.E0,0.E0)); +-#4038=DIRECTION('',(4.496088413988E-1,0.E0,8.932255536739E-1)); +-#4039=AXIS2_PLACEMENT_3D('',#4036,#4037,#4038); +-#4041=CARTESIAN_POINT('',(1.944696065761E1,6.875E-1,3.035464591145E1)); +-#4042=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#4043=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1)); +-#4044=AXIS2_PLACEMENT_3D('',#4041,#4042,#4043); +-#4046=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1)); +-#4047=VECTOR('',#4046,4.263248410977E0); +-#4048=CARTESIAN_POINT('',(2.307459332230E1,6.875E-1,2.795313485357E1)); +-#4049=LINE('',#4048,#4047); +-#4050=DIRECTION('',(0.E0,1.E0,0.E0)); +-#4051=VECTOR('',#4050,6.875E-1); +-#4052=CARTESIAN_POINT('',(2.307459332230E1,0.E0,2.795313485357E1)); +-#4053=LINE('',#4052,#4051); +-#4054=CARTESIAN_POINT('',(2.254426323641E1,0.E0,2.742280476768E1)); +-#4055=DIRECTION('',(0.E0,1.E0,0.E0)); +-#4056=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1)); +-#4057=AXIS2_PLACEMENT_3D('',#4054,#4055,#4056); +-#4059=DIRECTION('',(0.E0,1.E0,2.067033413120E-14)); +-#4060=VECTOR('',#4059,6.875E-1); +-#4061=CARTESIAN_POINT('',(2.321497295992E1,0.E0,2.708717332281E1)); +-#4062=LINE('',#4061,#4060); +-#4063=CARTESIAN_POINT('',(2.254426323641E1,6.875E-1,2.742280476768E1)); +-#4064=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#4065=DIRECTION('',(8.942796313519E-1,0.E0,-4.475085931567E-1)); +-#4066=AXIS2_PLACEMENT_3D('',#4063,#4064,#4065); +-#4068=DIRECTION('',(0.E0,1.E0,0.E0)); +-#4069=VECTOR('',#4068,6.875E-1); +-#4070=CARTESIAN_POINT('',(2.006002146101E1,0.E0,3.096770671486E1)); +-#4071=LINE('',#4070,#4069); +-#4072=DIRECTION('',(1.033516706560E-14,1.E0,0.E0)); +-#4073=VECTOR('',#4072,6.875E-1); +-#4074=CARTESIAN_POINT('',(1.905715028546E1,0.E0,2.958022033652E1)); +-#4075=LINE('',#4074,#4073); +-#4076=DIRECTION('',(-2.067033413120E-14,1.E0,3.100550119680E-14)); +-#4077=VECTOR('',#4076,6.875E-1); +-#4078=CARTESIAN_POINT('',(2.156798411498E1,0.E0,2.708131618759E1)); +-#4079=LINE('',#4078,#4077); +-#4080=DIRECTION('',(0.E0,1.E0,0.E0)); +-#4081=VECTOR('',#4080,6.875E-1); +-#4082=CARTESIAN_POINT('',(2.13075E1,0.E0,8.69E0)); +-#4083=LINE('',#4082,#4081); +-#4084=CARTESIAN_POINT('',(2.13075E1,6.875E-1,7.81E0)); +-#4085=DIRECTION('',(0.E0,1.E0,0.E0)); +-#4086=DIRECTION('',(0.E0,0.E0,1.E0)); +-#4087=AXIS2_PLACEMENT_3D('',#4084,#4085,#4086); +-#4089=DIRECTION('',(0.E0,1.E0,0.E0)); +-#4090=VECTOR('',#4089,6.875E-1); +-#4091=CARTESIAN_POINT('',(2.21875E1,0.E0,7.81E0)); +-#4092=LINE('',#4091,#4090); +-#4093=CARTESIAN_POINT('',(2.13075E1,0.E0,7.81E0)); +-#4094=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#4095=DIRECTION('',(1.E0,0.E0,0.E0)); +-#4096=AXIS2_PLACEMENT_3D('',#4093,#4094,#4095); +-#4098=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#4099=VECTOR('',#4098,6.875E-1); +-#4100=CARTESIAN_POINT('',(1.96875E1,6.875E-1,9.57E0)); +-#4101=LINE('',#4100,#4099); +-#4102=CARTESIAN_POINT('',(2.05675E1,6.875E-1,9.57E0)); +-#4103=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#4104=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#4105=AXIS2_PLACEMENT_3D('',#4102,#4103,#4104); +-#4107=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#4108=VECTOR('',#4107,6.875E-1); +-#4109=CARTESIAN_POINT('',(2.05675E1,6.875E-1,8.69E0)); +-#4110=LINE('',#4109,#4108); +-#4111=CARTESIAN_POINT('',(2.05675E1,0.E0,9.57E0)); +-#4112=DIRECTION('',(0.E0,1.E0,0.E0)); +-#4113=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#4114=AXIS2_PLACEMENT_3D('',#4111,#4112,#4113); +-#4116=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#4117=VECTOR('',#4116,6.875E-1); +-#4118=CARTESIAN_POINT('',(2.05675E1,6.875E-1,1.125E1)); +-#4119=LINE('',#4118,#4117); +-#4120=CARTESIAN_POINT('',(2.05675E1,6.875E-1,1.037E1)); +-#4121=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#4122=DIRECTION('',(0.E0,0.E0,1.E0)); +-#4123=AXIS2_PLACEMENT_3D('',#4120,#4121,#4122); +-#4125=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#4126=VECTOR('',#4125,6.875E-1); +-#4127=CARTESIAN_POINT('',(1.96875E1,6.875E-1,1.037E1)); +-#4128=LINE('',#4127,#4126); +-#4129=CARTESIAN_POINT('',(2.05675E1,0.E0,1.037E1)); +-#4130=DIRECTION('',(0.E0,1.E0,0.E0)); +-#4131=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#4132=AXIS2_PLACEMENT_3D('',#4129,#4130,#4131); +-#4134=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#4135=VECTOR('',#4134,6.875E-1); +-#4136=CARTESIAN_POINT('',(2.53125E1,6.875E-1,1.037E1)); +-#4137=LINE('',#4136,#4135); +-#4138=CARTESIAN_POINT('',(2.44325E1,6.875E-1,1.037E1)); +-#4139=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#4140=DIRECTION('',(1.E0,0.E0,0.E0)); +-#4141=AXIS2_PLACEMENT_3D('',#4138,#4139,#4140); +-#4143=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#4144=VECTOR('',#4143,6.875E-1); +-#4145=CARTESIAN_POINT('',(2.44325E1,6.875E-1,1.125E1)); +-#4146=LINE('',#4145,#4144); +-#4147=CARTESIAN_POINT('',(2.44325E1,0.E0,1.037E1)); +-#4148=DIRECTION('',(0.E0,1.E0,0.E0)); +-#4149=DIRECTION('',(0.E0,0.E0,1.E0)); +-#4150=AXIS2_PLACEMENT_3D('',#4147,#4148,#4149); +-#4152=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#4153=VECTOR('',#4152,6.875E-1); +-#4154=CARTESIAN_POINT('',(2.44325E1,6.875E-1,8.69E0)); +-#4155=LINE('',#4154,#4153); +-#4156=CARTESIAN_POINT('',(2.44325E1,6.875E-1,9.57E0)); +-#4157=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#4158=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#4159=AXIS2_PLACEMENT_3D('',#4156,#4157,#4158); +-#4161=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#4162=VECTOR('',#4161,6.875E-1); +-#4163=CARTESIAN_POINT('',(2.53125E1,6.875E-1,9.57E0)); +-#4164=LINE('',#4163,#4162); +-#4165=CARTESIAN_POINT('',(2.44325E1,0.E0,9.57E0)); +-#4166=DIRECTION('',(0.E0,1.E0,0.E0)); +-#4167=DIRECTION('',(1.E0,0.E0,0.E0)); +-#4168=AXIS2_PLACEMENT_3D('',#4165,#4166,#4167); +-#4170=DIRECTION('',(0.E0,1.E0,0.E0)); +-#4171=VECTOR('',#4170,6.875E-1); +-#4172=CARTESIAN_POINT('',(2.331E1,0.E0,7.81E0)); +-#4173=LINE('',#4172,#4171); +-#4174=CARTESIAN_POINT('',(2.419E1,6.875E-1,7.81E0)); +-#4175=DIRECTION('',(0.E0,1.E0,0.E0)); +-#4176=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#4177=AXIS2_PLACEMENT_3D('',#4174,#4175,#4176); +-#4179=DIRECTION('',(0.E0,1.E0,0.E0)); +-#4180=VECTOR('',#4179,6.875E-1); +-#4181=CARTESIAN_POINT('',(2.419E1,0.E0,8.69E0)); +-#4182=LINE('',#4181,#4180); +-#4183=CARTESIAN_POINT('',(2.419E1,0.E0,7.81E0)); +-#4184=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#4185=DIRECTION('',(0.E0,0.E0,1.E0)); +-#4186=AXIS2_PLACEMENT_3D('',#4183,#4184,#4185); +-#4188=DIRECTION('',(0.E0,1.E0,1.033516706560E-14)); +-#4189=VECTOR('',#4188,6.875E-1); +-#4190=CARTESIAN_POINT('',(2.331E1,0.E0,7.5E0)); +-#4191=LINE('',#4190,#4189); +-#4192=DIRECTION('',(0.E0,1.E0,0.E0)); +-#4193=VECTOR('',#4192,6.875E-1); +-#4194=CARTESIAN_POINT('',(2.21875E1,0.E0,7.5E0)); +-#4195=LINE('',#4194,#4193); +-#4196=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#4197=VECTOR('',#4196,2.425E-1); +-#4198=CARTESIAN_POINT('',(2.44325E1,6.875E-1,8.69E0)); +-#4199=LINE('',#4198,#4197); +-#4200=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#4201=VECTOR('',#4200,3.1E-1); +-#4202=CARTESIAN_POINT('',(2.331E1,6.875E-1,7.81E0)); +-#4203=LINE('',#4202,#4201); +-#4204=CARTESIAN_POINT('',(2.274875E1,6.875E-1,7.5E0)); +-#4205=DIRECTION('',(0.E0,1.E0,0.E0)); +-#4206=DIRECTION('',(1.E0,0.E0,0.E0)); +-#4207=AXIS2_PLACEMENT_3D('',#4204,#4205,#4206); +-#4209=DIRECTION('',(0.E0,0.E0,1.E0)); +-#4210=VECTOR('',#4209,3.1E-1); +-#4211=CARTESIAN_POINT('',(2.21875E1,6.875E-1,7.5E0)); +-#4212=LINE('',#4211,#4210); +-#4213=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#4214=VECTOR('',#4213,7.4E-1); +-#4215=CARTESIAN_POINT('',(2.13075E1,6.875E-1,8.69E0)); +-#4216=LINE('',#4215,#4214); +-#4217=DIRECTION('',(0.E0,0.E0,1.E0)); +-#4218=VECTOR('',#4217,8.E-1); +-#4219=CARTESIAN_POINT('',(1.96875E1,6.875E-1,9.57E0)); +-#4220=LINE('',#4219,#4218); +-#4221=DIRECTION('',(1.E0,0.E0,0.E0)); +-#4222=VECTOR('',#4221,3.865E0); +-#4223=CARTESIAN_POINT('',(2.05675E1,6.875E-1,1.125E1)); +-#4224=LINE('',#4223,#4222); +-#4225=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#4226=VECTOR('',#4225,8.E-1); +-#4227=CARTESIAN_POINT('',(2.53125E1,6.875E-1,1.037E1)); +-#4228=LINE('',#4227,#4226); +-#4229=CARTESIAN_POINT('',(2.4E1,0.E0,2.8E1)); +-#4230=CARTESIAN_POINT('',(2.4E1,1.5E0,2.8E1)); +-#4231=VERTEX_POINT('',#4229); +-#4232=VERTEX_POINT('',#4230); +-#4233=CARTESIAN_POINT('',(2.E1,0.E0,3.2E1)); +-#4234=CARTESIAN_POINT('',(2.E1,1.5E0,3.2E1)); +-#4235=VERTEX_POINT('',#4233); +-#4236=VERTEX_POINT('',#4234); +-#4237=CARTESIAN_POINT('',(2.E1,0.E0,0.E0)); +-#4238=CARTESIAN_POINT('',(2.E1,1.5E0,0.E0)); +-#4239=VERTEX_POINT('',#4237); +-#4240=VERTEX_POINT('',#4238); +-#4241=CARTESIAN_POINT('',(2.4E1,0.E0,4.E0)); +-#4242=CARTESIAN_POINT('',(2.4E1,1.5E0,4.E0)); +-#4243=VERTEX_POINT('',#4241); +-#4244=VERTEX_POINT('',#4242); +-#4245=CARTESIAN_POINT('',(4.E0,0.E0,3.2E1)); +-#4246=CARTESIAN_POINT('',(4.E0,1.5E0,3.2E1)); +-#4247=VERTEX_POINT('',#4245); +-#4248=VERTEX_POINT('',#4246); +-#4249=CARTESIAN_POINT('',(0.E0,0.E0,2.8E1)); +-#4250=CARTESIAN_POINT('',(0.E0,1.5E0,2.8E1)); +-#4251=VERTEX_POINT('',#4249); +-#4252=VERTEX_POINT('',#4250); +-#4253=CARTESIAN_POINT('',(0.E0,0.E0,4.E0)); +-#4254=CARTESIAN_POINT('',(0.E0,1.5E0,4.E0)); +-#4255=VERTEX_POINT('',#4253); +-#4256=VERTEX_POINT('',#4254); +-#4257=CARTESIAN_POINT('',(4.E0,0.E0,0.E0)); +-#4258=CARTESIAN_POINT('',(4.E0,1.5E0,0.E0)); +-#4259=VERTEX_POINT('',#4257); +-#4260=VERTEX_POINT('',#4258); +-#4261=CARTESIAN_POINT('',(7.5E0,1.5E0,2.5E0)); +-#4262=CARTESIAN_POINT('',(7.5E0,0.E0,2.5E0)); +-#4263=VERTEX_POINT('',#4261); +-#4264=VERTEX_POINT('',#4262); +-#4265=CARTESIAN_POINT('',(1.65E1,1.5E0,2.5E0)); +-#4266=CARTESIAN_POINT('',(1.65E1,0.E0,2.5E0)); +-#4267=VERTEX_POINT('',#4265); +-#4268=VERTEX_POINT('',#4266); +-#4269=CARTESIAN_POINT('',(7.5E0,1.5E0,2.95E1)); +-#4270=CARTESIAN_POINT('',(7.5E0,0.E0,2.95E1)); +-#4271=VERTEX_POINT('',#4269); +-#4272=VERTEX_POINT('',#4270); +-#4273=CARTESIAN_POINT('',(2.5E0,1.5E0,2.45E1)); +-#4274=CARTESIAN_POINT('',(2.5E0,0.E0,2.45E1)); +-#4275=VERTEX_POINT('',#4273); +-#4276=VERTEX_POINT('',#4274); +-#4277=CARTESIAN_POINT('',(2.15E1,1.5E0,2.45E1)); +-#4278=CARTESIAN_POINT('',(2.15E1,0.E0,2.45E1)); +-#4279=VERTEX_POINT('',#4277); +-#4280=VERTEX_POINT('',#4278); +-#4281=CARTESIAN_POINT('',(1.65E1,1.5E0,2.95E1)); +-#4282=CARTESIAN_POINT('',(1.65E1,0.E0,2.95E1)); +-#4283=VERTEX_POINT('',#4281); +-#4284=VERTEX_POINT('',#4282); +-#4285=CARTESIAN_POINT('',(5.E0,1.15E1,8.E0)); +-#4286=CARTESIAN_POINT('',(3.E0,1.15E1,8.E0)); +-#4287=VERTEX_POINT('',#4285); +-#4288=VERTEX_POINT('',#4286); +-#4289=CARTESIAN_POINT('',(-2.E0,2.5E0,8.E0)); +-#4290=VERTEX_POINT('',#4289); +-#4291=CARTESIAN_POINT('',(5.E0,1.15E1,1.E1)); +-#4292=CARTESIAN_POINT('',(3.E0,1.15E1,1.E1)); +-#4293=VERTEX_POINT('',#4291); +-#4294=VERTEX_POINT('',#4292); +-#4295=CARTESIAN_POINT('',(-2.E0,2.5E0,1.E1)); +-#4296=VERTEX_POINT('',#4295); +-#4297=CARTESIAN_POINT('',(-2.E0,1.5E0,1.E1)); +-#4298=VERTEX_POINT('',#4297); +-#4299=CARTESIAN_POINT('',(-2.E0,0.E0,8.E0)); +-#4300=VERTEX_POINT('',#4299); +-#4301=CARTESIAN_POINT('',(2.5E0,1.5E0,1.325E1)); +-#4302=CARTESIAN_POINT('',(2.5E0,0.E0,1.325E1)); +-#4303=VERTEX_POINT('',#4301); +-#4304=VERTEX_POINT('',#4302); +-#4305=CARTESIAN_POINT('',(3.5E0,1.5E0,1.225E1)); +-#4306=CARTESIAN_POINT('',(3.5E0,0.E0,1.225E1)); +-#4307=VERTEX_POINT('',#4305); +-#4308=VERTEX_POINT('',#4306); +-#4309=CARTESIAN_POINT('',(0.E0,0.E0,1.325E1)); +-#4310=CARTESIAN_POINT('',(0.E0,1.5E0,1.325E1)); +-#4311=VERTEX_POINT('',#4309); +-#4312=VERTEX_POINT('',#4310); +-#4313=CARTESIAN_POINT('',(-1.E0,0.E0,1.225E1)); +-#4314=CARTESIAN_POINT('',(-1.E0,1.5E0,1.225E1)); +-#4315=VERTEX_POINT('',#4313); +-#4316=VERTEX_POINT('',#4314); +-#4317=CARTESIAN_POINT('',(0.E0,1.5E0,7.E0)); +-#4318=CARTESIAN_POINT('',(0.E0,0.E0,7.E0)); +-#4319=VERTEX_POINT('',#4317); +-#4320=VERTEX_POINT('',#4318); +-#4321=CARTESIAN_POINT('',(-1.E0,1.5E0,8.E0)); +-#4322=CARTESIAN_POINT('',(-1.E0,0.E0,8.E0)); +-#4323=VERTEX_POINT('',#4321); +-#4324=VERTEX_POINT('',#4322); +-#4325=CARTESIAN_POINT('',(3.531373033403E0,1.5E0,8.E0)); +-#4326=CARTESIAN_POINT('',(3.531373033403E0,0.E0,8.E0)); +-#4327=VERTEX_POINT('',#4325); +-#4328=VERTEX_POINT('',#4326); +-#4329=CARTESIAN_POINT('',(2.539216291754E0,1.5E0,6.875E0)); +-#4330=CARTESIAN_POINT('',(2.539216291754E0,0.E0,6.875E0)); +-#4331=VERTEX_POINT('',#4329); +-#4332=VERTEX_POINT('',#4330); +-#4333=CARTESIAN_POINT('',(5.E0,0.E0,1.175E1)); +-#4334=CARTESIAN_POINT('',(5.E0,1.5E0,1.175E1)); +-#4335=VERTEX_POINT('',#4333); +-#4336=VERTEX_POINT('',#4334); +-#4337=CARTESIAN_POINT('',(4.5E0,0.E0,1.225E1)); +-#4338=CARTESIAN_POINT('',(4.5E0,1.5E0,1.225E1)); +-#4339=VERTEX_POINT('',#4337); +-#4340=VERTEX_POINT('',#4338); +-#4341=CARTESIAN_POINT('',(-1.5E0,0.E0,1.225E1)); +-#4342=CARTESIAN_POINT('',(-1.5E0,1.5E0,1.225E1)); +-#4343=VERTEX_POINT('',#4341); +-#4344=VERTEX_POINT('',#4342); +-#4345=CARTESIAN_POINT('',(-2.E0,0.E0,1.175E1)); +-#4346=CARTESIAN_POINT('',(-2.E0,1.5E0,1.175E1)); +-#4347=VERTEX_POINT('',#4345); +-#4348=VERTEX_POINT('',#4346); +-#4349=CARTESIAN_POINT('',(4.095E0,1.1125E1,9.E0)); +-#4350=CARTESIAN_POINT('',(3.905E0,1.1125E1,9.E0)); +-#4351=VERTEX_POINT('',#4349); +-#4352=VERTEX_POINT('',#4350); +-#4353=CARTESIAN_POINT('',(4.095E0,1.15E1,9.E0)); +-#4354=CARTESIAN_POINT('',(3.905E0,1.15E1,9.E0)); +-#4355=VERTEX_POINT('',#4353); +-#4356=VERTEX_POINT('',#4354); +-#4357=CARTESIAN_POINT('',(3.929917478528E0,1.125E1,9.132582521472E0)); +-#4358=CARTESIAN_POINT('',(3.804917478528E0,1.125E1,9.132582521472E0)); +-#4359=VERTEX_POINT('',#4357); +-#4360=VERTEX_POINT('',#4358); +-#4361=CARTESIAN_POINT('',(3.929917478528E0,1.15E1,9.132582521472E0)); +-#4362=CARTESIAN_POINT('',(3.804917478528E0,1.15E1,9.132582521472E0)); +-#4363=VERTEX_POINT('',#4361); +-#4364=VERTEX_POINT('',#4362); +-#4365=CARTESIAN_POINT('',(6.45E0,1.192264973081E0,2.975E1)); +-#4366=CARTESIAN_POINT('',(6.55E0,1.25E0,2.975E1)); +-#4367=VERTEX_POINT('',#4365); +-#4368=VERTEX_POINT('',#4366); +-#4369=CARTESIAN_POINT('',(6.35E0,1.25E0,2.975E1)); +-#4370=VERTEX_POINT('',#4369); +-#4371=CARTESIAN_POINT('',(6.35E0,1.5E0,2.975E1)); +-#4372=CARTESIAN_POINT('',(6.55E0,1.5E0,2.975E1)); +-#4373=VERTEX_POINT('',#4371); +-#4374=VERTEX_POINT('',#4372); +-#4375=CARTESIAN_POINT('',(7.45E0,1.192264973081E0,2.975E1)); +-#4376=CARTESIAN_POINT('',(7.55E0,1.25E0,2.975E1)); +-#4377=VERTEX_POINT('',#4375); +-#4378=VERTEX_POINT('',#4376); +-#4379=CARTESIAN_POINT('',(7.35E0,1.25E0,2.975E1)); +-#4380=VERTEX_POINT('',#4379); +-#4381=CARTESIAN_POINT('',(7.35E0,1.5E0,2.975E1)); +-#4382=CARTESIAN_POINT('',(7.55E0,1.5E0,2.975E1)); +-#4383=VERTEX_POINT('',#4381); +-#4384=VERTEX_POINT('',#4382); +-#4385=CARTESIAN_POINT('',(2.1E1,1.15E1,8.E0)); +-#4386=CARTESIAN_POINT('',(1.9E1,1.15E1,8.E0)); +-#4387=VERTEX_POINT('',#4385); +-#4388=VERTEX_POINT('',#4386); +-#4389=CARTESIAN_POINT('',(2.6E1,2.5E0,8.E0)); +-#4390=VERTEX_POINT('',#4389); +-#4391=CARTESIAN_POINT('',(1.9E1,1.15E1,1.E1)); +-#4392=CARTESIAN_POINT('',(2.1E1,1.15E1,1.E1)); +-#4393=VERTEX_POINT('',#4391); +-#4394=VERTEX_POINT('',#4392); +-#4395=CARTESIAN_POINT('',(2.6E1,2.5E0,1.E1)); +-#4396=VERTEX_POINT('',#4395); +-#4397=CARTESIAN_POINT('',(2.6E1,1.5E0,1.E1)); +-#4398=VERTEX_POINT('',#4397); +-#4399=CARTESIAN_POINT('',(2.6E1,0.E0,8.E0)); +-#4400=VERTEX_POINT('',#4399); +-#4401=CARTESIAN_POINT('',(2.4E1,1.5E0,1.325E1)); +-#4402=CARTESIAN_POINT('',(2.4E1,0.E0,1.325E1)); +-#4403=VERTEX_POINT('',#4401); +-#4404=VERTEX_POINT('',#4402); +-#4405=CARTESIAN_POINT('',(2.5E1,1.5E0,1.225E1)); +-#4406=CARTESIAN_POINT('',(2.5E1,0.E0,1.225E1)); +-#4407=VERTEX_POINT('',#4405); +-#4408=VERTEX_POINT('',#4406); +-#4409=CARTESIAN_POINT('',(2.15E1,0.E0,1.325E1)); +-#4410=CARTESIAN_POINT('',(2.15E1,1.5E0,1.325E1)); +-#4411=VERTEX_POINT('',#4409); +-#4412=VERTEX_POINT('',#4410); +-#4413=CARTESIAN_POINT('',(2.05E1,0.E0,1.225E1)); +-#4414=CARTESIAN_POINT('',(2.05E1,1.5E0,1.225E1)); +-#4415=VERTEX_POINT('',#4413); +-#4416=VERTEX_POINT('',#4414); +-#4417=CARTESIAN_POINT('',(2.4E1,0.E0,7.E0)); +-#4418=CARTESIAN_POINT('',(2.4E1,1.5E0,7.E0)); +-#4419=VERTEX_POINT('',#4417); +-#4420=VERTEX_POINT('',#4418); +-#4421=CARTESIAN_POINT('',(2.5E1,0.E0,8.E0)); +-#4422=CARTESIAN_POINT('',(2.5E1,1.5E0,8.E0)); +-#4423=VERTEX_POINT('',#4421); +-#4424=VERTEX_POINT('',#4422); +-#4425=CARTESIAN_POINT('',(2.046862696660E1,0.E0,8.E0)); +-#4426=CARTESIAN_POINT('',(2.046862696660E1,1.5E0,8.E0)); +-#4427=VERTEX_POINT('',#4425); +-#4428=VERTEX_POINT('',#4426); +-#4429=CARTESIAN_POINT('',(2.146078370825E1,0.E0,6.875E0)); +-#4430=CARTESIAN_POINT('',(2.146078370825E1,1.5E0,6.875E0)); +-#4431=VERTEX_POINT('',#4429); +-#4432=VERTEX_POINT('',#4430); +-#4433=CARTESIAN_POINT('',(1.9E1,1.5E0,1.175E1)); +-#4434=CARTESIAN_POINT('',(1.9E1,0.E0,1.175E1)); +-#4435=VERTEX_POINT('',#4433); +-#4436=VERTEX_POINT('',#4434); +-#4437=CARTESIAN_POINT('',(1.95E1,1.5E0,1.225E1)); +-#4438=CARTESIAN_POINT('',(1.95E1,0.E0,1.225E1)); +-#4439=VERTEX_POINT('',#4437); +-#4440=VERTEX_POINT('',#4438); +-#4441=CARTESIAN_POINT('',(2.55E1,1.5E0,1.225E1)); +-#4442=CARTESIAN_POINT('',(2.55E1,0.E0,1.225E1)); +-#4443=VERTEX_POINT('',#4441); +-#4444=VERTEX_POINT('',#4442); +-#4445=CARTESIAN_POINT('',(2.6E1,1.5E0,1.175E1)); +-#4446=CARTESIAN_POINT('',(2.6E1,0.E0,1.175E1)); +-#4447=VERTEX_POINT('',#4445); +-#4448=VERTEX_POINT('',#4446); +-#4449=CARTESIAN_POINT('',(1.9905E1,1.1125E1,9.E0)); +-#4450=CARTESIAN_POINT('',(2.0095E1,1.1125E1,9.E0)); +-#4451=VERTEX_POINT('',#4449); +-#4452=VERTEX_POINT('',#4450); +-#4453=CARTESIAN_POINT('',(1.9905E1,1.15E1,9.E0)); +-#4454=CARTESIAN_POINT('',(2.0095E1,1.15E1,9.E0)); +-#4455=VERTEX_POINT('',#4453); +-#4456=VERTEX_POINT('',#4454); +-#4457=CARTESIAN_POINT('',(2.007008252147E1,1.125E1,9.132582521472E0)); +-#4458=CARTESIAN_POINT('',(2.019508252147E1,1.125E1,9.132582521472E0)); +-#4459=VERTEX_POINT('',#4457); +-#4460=VERTEX_POINT('',#4458); +-#4461=CARTESIAN_POINT('',(2.007008252147E1,1.15E1,9.132582521472E0)); +-#4462=CARTESIAN_POINT('',(2.019508252147E1,1.15E1,9.132582521472E0)); +-#4463=VERTEX_POINT('',#4461); +-#4464=VERTEX_POINT('',#4462); +-#4465=CARTESIAN_POINT('',(1.755E1,1.192264973081E0,2.975E1)); +-#4466=CARTESIAN_POINT('',(1.745E1,1.25E0,2.975E1)); +-#4467=VERTEX_POINT('',#4465); +-#4468=VERTEX_POINT('',#4466); +-#4469=CARTESIAN_POINT('',(1.765E1,1.25E0,2.975E1)); +-#4470=VERTEX_POINT('',#4469); +-#4471=CARTESIAN_POINT('',(1.765E1,1.5E0,2.975E1)); +-#4472=CARTESIAN_POINT('',(1.745E1,1.5E0,2.975E1)); +-#4473=VERTEX_POINT('',#4471); +-#4474=VERTEX_POINT('',#4472); +-#4475=CARTESIAN_POINT('',(1.655E1,1.192264973081E0,2.975E1)); +-#4476=CARTESIAN_POINT('',(1.645E1,1.25E0,2.975E1)); +-#4477=VERTEX_POINT('',#4475); +-#4478=VERTEX_POINT('',#4476); +-#4479=CARTESIAN_POINT('',(1.665E1,1.25E0,2.975E1)); +-#4480=VERTEX_POINT('',#4479); +-#4481=CARTESIAN_POINT('',(1.665E1,1.5E0,2.975E1)); +-#4482=CARTESIAN_POINT('',(1.645E1,1.5E0,2.975E1)); +-#4483=VERTEX_POINT('',#4481); +-#4484=VERTEX_POINT('',#4482); +-#4485=CARTESIAN_POINT('',(1.3175E0,0.E0,6.E0)); +-#4486=CARTESIAN_POINT('',(9.325E-1,0.E0,6.E0)); +-#4487=VERTEX_POINT('',#4485); +-#4488=VERTEX_POINT('',#4486); +-#4489=CARTESIAN_POINT('',(1.3825E0,1.E0,6.E0)); +-#4490=CARTESIAN_POINT('',(8.675E-1,1.E0,6.E0)); +-#4491=VERTEX_POINT('',#4489); +-#4492=VERTEX_POINT('',#4490); +-#4493=CARTESIAN_POINT('',(1.3825E0,1.5E0,6.E0)); +-#4494=CARTESIAN_POINT('',(8.675E-1,1.5E0,6.E0)); +-#4495=VERTEX_POINT('',#4493); +-#4496=VERTEX_POINT('',#4494); +-#4497=CARTESIAN_POINT('',(1.3175E0,1.E0,6.E0)); +-#4498=CARTESIAN_POINT('',(9.325E-1,1.E0,6.E0)); +-#4499=VERTEX_POINT('',#4497); +-#4500=VERTEX_POINT('',#4498); +-#4501=CARTESIAN_POINT('',(1.3175E0,0.E0,1.2E1)); +-#4502=CARTESIAN_POINT('',(9.325E-1,0.E0,1.2E1)); +-#4503=VERTEX_POINT('',#4501); +-#4504=VERTEX_POINT('',#4502); +-#4505=CARTESIAN_POINT('',(1.3175E0,0.E0,1.8E1)); +-#4506=CARTESIAN_POINT('',(9.325E-1,0.E0,1.8E1)); +-#4507=VERTEX_POINT('',#4505); +-#4508=VERTEX_POINT('',#4506); +-#4509=CARTESIAN_POINT('',(1.3175E0,0.E0,2.4E1)); +-#4510=CARTESIAN_POINT('',(9.325E-1,0.E0,2.4E1)); +-#4511=VERTEX_POINT('',#4509); +-#4512=VERTEX_POINT('',#4510); +-#4513=CARTESIAN_POINT('',(2.30675E1,0.E0,6.E0)); +-#4514=CARTESIAN_POINT('',(2.26825E1,0.E0,6.E0)); +-#4515=VERTEX_POINT('',#4513); +-#4516=VERTEX_POINT('',#4514); +-#4517=CARTESIAN_POINT('',(2.30675E1,0.E0,1.2E1)); +-#4518=CARTESIAN_POINT('',(2.26825E1,0.E0,1.2E1)); +-#4519=VERTEX_POINT('',#4517); +-#4520=VERTEX_POINT('',#4518); +-#4521=CARTESIAN_POINT('',(2.30675E1,0.E0,1.8E1)); +-#4522=CARTESIAN_POINT('',(2.26825E1,0.E0,1.8E1)); +-#4523=VERTEX_POINT('',#4521); +-#4524=VERTEX_POINT('',#4522); +-#4525=CARTESIAN_POINT('',(2.30675E1,0.E0,2.4E1)); +-#4526=CARTESIAN_POINT('',(2.26825E1,0.E0,2.4E1)); +-#4527=VERTEX_POINT('',#4525); +-#4528=VERTEX_POINT('',#4526); +-#4529=CARTESIAN_POINT('',(1.3825E0,1.E0,1.2E1)); +-#4530=CARTESIAN_POINT('',(8.675E-1,1.E0,1.2E1)); +-#4531=VERTEX_POINT('',#4529); +-#4532=VERTEX_POINT('',#4530); +-#4533=CARTESIAN_POINT('',(1.3175E0,1.E0,1.2E1)); +-#4534=CARTESIAN_POINT('',(9.325E-1,1.E0,1.2E1)); +-#4535=VERTEX_POINT('',#4533); +-#4536=VERTEX_POINT('',#4534); +-#4537=CARTESIAN_POINT('',(1.3825E0,1.E0,1.8E1)); +-#4538=CARTESIAN_POINT('',(8.675E-1,1.E0,1.8E1)); +-#4539=VERTEX_POINT('',#4537); +-#4540=VERTEX_POINT('',#4538); +-#4541=CARTESIAN_POINT('',(1.3825E0,1.5E0,1.8E1)); +-#4542=CARTESIAN_POINT('',(8.675E-1,1.5E0,1.8E1)); +-#4543=VERTEX_POINT('',#4541); +-#4544=VERTEX_POINT('',#4542); +-#4545=CARTESIAN_POINT('',(1.3175E0,1.E0,1.8E1)); +-#4546=CARTESIAN_POINT('',(9.325E-1,1.E0,1.8E1)); +-#4547=VERTEX_POINT('',#4545); +-#4548=VERTEX_POINT('',#4546); +-#4549=CARTESIAN_POINT('',(1.3825E0,1.E0,2.4E1)); +-#4550=CARTESIAN_POINT('',(8.675E-1,1.E0,2.4E1)); +-#4551=VERTEX_POINT('',#4549); +-#4552=VERTEX_POINT('',#4550); +-#4553=CARTESIAN_POINT('',(1.3825E0,1.5E0,2.4E1)); +-#4554=CARTESIAN_POINT('',(8.675E-1,1.5E0,2.4E1)); +-#4555=VERTEX_POINT('',#4553); +-#4556=VERTEX_POINT('',#4554); +-#4557=CARTESIAN_POINT('',(1.3175E0,1.E0,2.4E1)); +-#4558=CARTESIAN_POINT('',(9.325E-1,1.E0,2.4E1)); +-#4559=VERTEX_POINT('',#4557); +-#4560=VERTEX_POINT('',#4558); +-#4561=CARTESIAN_POINT('',(2.31325E1,1.E0,6.E0)); +-#4562=CARTESIAN_POINT('',(2.26175E1,1.E0,6.E0)); +-#4563=VERTEX_POINT('',#4561); +-#4564=VERTEX_POINT('',#4562); +-#4565=CARTESIAN_POINT('',(2.31325E1,1.5E0,6.E0)); +-#4566=CARTESIAN_POINT('',(2.26175E1,1.5E0,6.E0)); +-#4567=VERTEX_POINT('',#4565); +-#4568=VERTEX_POINT('',#4566); +-#4569=CARTESIAN_POINT('',(2.30675E1,1.E0,6.E0)); +-#4570=CARTESIAN_POINT('',(2.26825E1,1.E0,6.E0)); +-#4571=VERTEX_POINT('',#4569); +-#4572=VERTEX_POINT('',#4570); +-#4573=CARTESIAN_POINT('',(2.31325E1,1.E0,1.2E1)); +-#4574=CARTESIAN_POINT('',(2.26175E1,1.E0,1.2E1)); +-#4575=VERTEX_POINT('',#4573); +-#4576=VERTEX_POINT('',#4574); +-#4577=CARTESIAN_POINT('',(2.30675E1,1.E0,1.2E1)); +-#4578=CARTESIAN_POINT('',(2.26825E1,1.E0,1.2E1)); +-#4579=VERTEX_POINT('',#4577); +-#4580=VERTEX_POINT('',#4578); +-#4581=CARTESIAN_POINT('',(2.31325E1,1.E0,1.8E1)); +-#4582=CARTESIAN_POINT('',(2.26175E1,1.E0,1.8E1)); +-#4583=VERTEX_POINT('',#4581); +-#4584=VERTEX_POINT('',#4582); +-#4585=CARTESIAN_POINT('',(2.31325E1,1.5E0,1.8E1)); +-#4586=CARTESIAN_POINT('',(2.26175E1,1.5E0,1.8E1)); +-#4587=VERTEX_POINT('',#4585); +-#4588=VERTEX_POINT('',#4586); +-#4589=CARTESIAN_POINT('',(2.30675E1,1.E0,1.8E1)); +-#4590=CARTESIAN_POINT('',(2.26825E1,1.E0,1.8E1)); +-#4591=VERTEX_POINT('',#4589); +-#4592=VERTEX_POINT('',#4590); +-#4593=CARTESIAN_POINT('',(2.31325E1,1.E0,2.4E1)); +-#4594=CARTESIAN_POINT('',(2.26175E1,1.E0,2.4E1)); +-#4595=VERTEX_POINT('',#4593); +-#4596=VERTEX_POINT('',#4594); +-#4597=CARTESIAN_POINT('',(2.31325E1,1.5E0,2.4E1)); +-#4598=CARTESIAN_POINT('',(2.26175E1,1.5E0,2.4E1)); +-#4599=VERTEX_POINT('',#4597); +-#4600=VERTEX_POINT('',#4598); +-#4601=CARTESIAN_POINT('',(2.30675E1,1.E0,2.4E1)); +-#4602=CARTESIAN_POINT('',(2.26825E1,1.E0,2.4E1)); +-#4603=VERTEX_POINT('',#4601); +-#4604=VERTEX_POINT('',#4602); +-#4605=CARTESIAN_POINT('',(6.1925E0,0.E0,1.25E0)); +-#4606=CARTESIAN_POINT('',(5.8075E0,0.E0,1.25E0)); +-#4607=VERTEX_POINT('',#4605); +-#4608=VERTEX_POINT('',#4606); +-#4609=CARTESIAN_POINT('',(6.256E0,1.E0,1.25E0)); +-#4610=CARTESIAN_POINT('',(5.744E0,1.E0,1.25E0)); +-#4611=VERTEX_POINT('',#4609); +-#4612=VERTEX_POINT('',#4610); +-#4613=CARTESIAN_POINT('',(6.256E0,1.5E0,1.25E0)); +-#4614=CARTESIAN_POINT('',(5.744E0,1.5E0,1.25E0)); +-#4615=VERTEX_POINT('',#4613); +-#4616=VERTEX_POINT('',#4614); +-#4617=CARTESIAN_POINT('',(6.1925E0,1.E0,1.25E0)); +-#4618=CARTESIAN_POINT('',(5.8075E0,1.E0,1.25E0)); +-#4619=VERTEX_POINT('',#4617); +-#4620=VERTEX_POINT('',#4618); +-#4621=CARTESIAN_POINT('',(1.21925E1,0.E0,1.25E0)); +-#4622=CARTESIAN_POINT('',(1.18075E1,0.E0,1.25E0)); +-#4623=VERTEX_POINT('',#4621); +-#4624=VERTEX_POINT('',#4622); +-#4625=CARTESIAN_POINT('',(6.1925E0,0.E0,3.075E1)); +-#4626=CARTESIAN_POINT('',(5.8075E0,0.E0,3.075E1)); +-#4627=VERTEX_POINT('',#4625); +-#4628=VERTEX_POINT('',#4626); +-#4629=CARTESIAN_POINT('',(1.21925E1,0.E0,3.075E1)); +-#4630=CARTESIAN_POINT('',(1.18075E1,0.E0,3.075E1)); +-#4631=VERTEX_POINT('',#4629); +-#4632=VERTEX_POINT('',#4630); +-#4633=CARTESIAN_POINT('',(1.81925E1,0.E0,1.25E0)); +-#4634=CARTESIAN_POINT('',(1.78075E1,0.E0,1.25E0)); +-#4635=VERTEX_POINT('',#4633); +-#4636=VERTEX_POINT('',#4634); +-#4637=CARTESIAN_POINT('',(1.81925E1,0.E0,3.075E1)); +-#4638=CARTESIAN_POINT('',(1.78075E1,0.E0,3.075E1)); +-#4639=VERTEX_POINT('',#4637); +-#4640=VERTEX_POINT('',#4638); +-#4641=CARTESIAN_POINT('',(1.2256E1,1.E0,1.25E0)); +-#4642=CARTESIAN_POINT('',(1.1744E1,1.E0,1.25E0)); +-#4643=VERTEX_POINT('',#4641); +-#4644=VERTEX_POINT('',#4642); +-#4645=CARTESIAN_POINT('',(1.2256E1,1.5E0,1.25E0)); +-#4646=CARTESIAN_POINT('',(1.1744E1,1.5E0,1.25E0)); +-#4647=VERTEX_POINT('',#4645); +-#4648=VERTEX_POINT('',#4646); +-#4649=CARTESIAN_POINT('',(1.21925E1,1.E0,1.25E0)); +-#4650=CARTESIAN_POINT('',(1.18075E1,1.E0,1.25E0)); +-#4651=VERTEX_POINT('',#4649); +-#4652=VERTEX_POINT('',#4650); +-#4653=CARTESIAN_POINT('',(1.8256E1,1.E0,1.25E0)); +-#4654=CARTESIAN_POINT('',(1.7744E1,1.E0,1.25E0)); +-#4655=VERTEX_POINT('',#4653); +-#4656=VERTEX_POINT('',#4654); +-#4657=CARTESIAN_POINT('',(1.8256E1,1.5E0,1.25E0)); +-#4658=CARTESIAN_POINT('',(1.7744E1,1.5E0,1.25E0)); +-#4659=VERTEX_POINT('',#4657); +-#4660=VERTEX_POINT('',#4658); +-#4661=CARTESIAN_POINT('',(1.81925E1,1.E0,1.25E0)); +-#4662=CARTESIAN_POINT('',(1.78075E1,1.E0,1.25E0)); +-#4663=VERTEX_POINT('',#4661); +-#4664=VERTEX_POINT('',#4662); +-#4665=CARTESIAN_POINT('',(6.256E0,1.E0,3.075E1)); +-#4666=CARTESIAN_POINT('',(5.744E0,1.E0,3.075E1)); +-#4667=VERTEX_POINT('',#4665); +-#4668=VERTEX_POINT('',#4666); +-#4669=CARTESIAN_POINT('',(6.256E0,1.5E0,3.075E1)); +-#4670=CARTESIAN_POINT('',(5.744E0,1.5E0,3.075E1)); +-#4671=VERTEX_POINT('',#4669); +-#4672=VERTEX_POINT('',#4670); +-#4673=CARTESIAN_POINT('',(6.1925E0,1.E0,3.075E1)); +-#4674=CARTESIAN_POINT('',(5.8075E0,1.E0,3.075E1)); +-#4675=VERTEX_POINT('',#4673); +-#4676=VERTEX_POINT('',#4674); +-#4677=CARTESIAN_POINT('',(1.2256E1,1.E0,3.075E1)); +-#4678=CARTESIAN_POINT('',(1.1744E1,1.E0,3.075E1)); +-#4679=VERTEX_POINT('',#4677); +-#4680=VERTEX_POINT('',#4678); +-#4681=CARTESIAN_POINT('',(1.2256E1,1.5E0,3.075E1)); +-#4682=CARTESIAN_POINT('',(1.1744E1,1.5E0,3.075E1)); +-#4683=VERTEX_POINT('',#4681); +-#4684=VERTEX_POINT('',#4682); +-#4685=CARTESIAN_POINT('',(1.21925E1,1.E0,3.075E1)); +-#4686=CARTESIAN_POINT('',(1.18075E1,1.E0,3.075E1)); +-#4687=VERTEX_POINT('',#4685); +-#4688=VERTEX_POINT('',#4686); +-#4689=CARTESIAN_POINT('',(1.8256E1,1.E0,3.075E1)); +-#4690=CARTESIAN_POINT('',(1.7744E1,1.E0,3.075E1)); +-#4691=VERTEX_POINT('',#4689); +-#4692=VERTEX_POINT('',#4690); +-#4693=CARTESIAN_POINT('',(1.8256E1,1.5E0,3.075E1)); +-#4694=CARTESIAN_POINT('',(1.7744E1,1.5E0,3.075E1)); +-#4695=VERTEX_POINT('',#4693); +-#4696=VERTEX_POINT('',#4694); +-#4697=CARTESIAN_POINT('',(1.81925E1,1.E0,3.075E1)); +-#4698=CARTESIAN_POINT('',(1.78075E1,1.E0,3.075E1)); +-#4699=VERTEX_POINT('',#4697); +-#4700=VERTEX_POINT('',#4698); +-#4701=CARTESIAN_POINT('',(4.4125E0,1.05E1,8.E0)); +-#4702=CARTESIAN_POINT('',(4.0875E0,1.05E1,8.E0)); +-#4703=VERTEX_POINT('',#4701); +-#4704=VERTEX_POINT('',#4702); +-#4705=CARTESIAN_POINT('',(4.4125E0,1.05E1,1.E1)); +-#4706=CARTESIAN_POINT('',(4.0875E0,1.05E1,1.E1)); +-#4707=VERTEX_POINT('',#4705); +-#4708=VERTEX_POINT('',#4706); +-#4709=CARTESIAN_POINT('',(4.345E0,1.09375E1,8.25E0)); +-#4710=CARTESIAN_POINT('',(4.155E0,1.09375E1,8.25E0)); +-#4711=VERTEX_POINT('',#4709); +-#4712=VERTEX_POINT('',#4710); +-#4713=CARTESIAN_POINT('',(4.345E0,1.09375E1,8.E0)); +-#4714=CARTESIAN_POINT('',(4.155E0,1.09375E1,8.E0)); +-#4715=VERTEX_POINT('',#4713); +-#4716=VERTEX_POINT('',#4714); +-#4717=CARTESIAN_POINT('',(3.9075E0,1.05E1,8.25E0)); +-#4718=CARTESIAN_POINT('',(3.7175E0,1.05E1,8.25E0)); +-#4719=VERTEX_POINT('',#4717); +-#4720=VERTEX_POINT('',#4718); +-#4721=CARTESIAN_POINT('',(3.9075E0,1.05E1,8.E0)); +-#4722=CARTESIAN_POINT('',(3.7175E0,1.05E1,8.E0)); +-#4723=VERTEX_POINT('',#4721); +-#4724=VERTEX_POINT('',#4722); +-#4725=CARTESIAN_POINT('',(4.345E0,1.00625E1,8.25E0)); +-#4726=CARTESIAN_POINT('',(4.155E0,1.00625E1,8.25E0)); +-#4727=VERTEX_POINT('',#4725); +-#4728=VERTEX_POINT('',#4726); +-#4729=CARTESIAN_POINT('',(4.345E0,1.00625E1,8.E0)); +-#4730=CARTESIAN_POINT('',(4.155E0,1.00625E1,8.E0)); +-#4731=VERTEX_POINT('',#4729); +-#4732=VERTEX_POINT('',#4730); +-#4733=CARTESIAN_POINT('',(1.95875E1,1.05E1,8.E0)); +-#4734=CARTESIAN_POINT('',(1.99125E1,1.05E1,8.E0)); +-#4735=VERTEX_POINT('',#4733); +-#4736=VERTEX_POINT('',#4734); +-#4737=CARTESIAN_POINT('',(1.95875E1,1.05E1,1.E1)); +-#4738=CARTESIAN_POINT('',(1.99125E1,1.05E1,1.E1)); +-#4739=VERTEX_POINT('',#4737); +-#4740=VERTEX_POINT('',#4738); +-#4741=CARTESIAN_POINT('',(1.9655E1,1.09375E1,8.25E0)); +-#4742=CARTESIAN_POINT('',(1.9845E1,1.09375E1,8.25E0)); +-#4743=VERTEX_POINT('',#4741); +-#4744=VERTEX_POINT('',#4742); +-#4745=CARTESIAN_POINT('',(1.9655E1,1.09375E1,8.E0)); +-#4746=CARTESIAN_POINT('',(1.9845E1,1.09375E1,8.E0)); +-#4747=VERTEX_POINT('',#4745); +-#4748=VERTEX_POINT('',#4746); +-#4749=CARTESIAN_POINT('',(2.00925E1,1.05E1,8.25E0)); +-#4750=CARTESIAN_POINT('',(2.02825E1,1.05E1,8.25E0)); +-#4751=VERTEX_POINT('',#4749); +-#4752=VERTEX_POINT('',#4750); +-#4753=CARTESIAN_POINT('',(2.00925E1,1.05E1,8.E0)); +-#4754=CARTESIAN_POINT('',(2.02825E1,1.05E1,8.E0)); +-#4755=VERTEX_POINT('',#4753); +-#4756=VERTEX_POINT('',#4754); +-#4757=CARTESIAN_POINT('',(1.9655E1,1.00625E1,8.25E0)); +-#4758=CARTESIAN_POINT('',(1.9845E1,1.00625E1,8.25E0)); +-#4759=VERTEX_POINT('',#4757); +-#4760=VERTEX_POINT('',#4758); +-#4761=CARTESIAN_POINT('',(1.9655E1,1.00625E1,8.E0)); +-#4762=CARTESIAN_POINT('',(1.9845E1,1.00625E1,8.E0)); +-#4763=VERTEX_POINT('',#4761); +-#4764=VERTEX_POINT('',#4762); +-#4765=CARTESIAN_POINT('',(5.E0,1.5E0,8.E0)); +-#4766=CARTESIAN_POINT('',(1.9E1,1.5E0,8.E0)); +-#4767=VERTEX_POINT('',#4765); +-#4768=VERTEX_POINT('',#4766); +-#4769=CARTESIAN_POINT('',(5.E0,1.5E0,1.1E1)); +-#4770=CARTESIAN_POINT('',(5.E0,0.E0,1.1E1)); +-#4771=VERTEX_POINT('',#4769); +-#4772=VERTEX_POINT('',#4770); +-#4773=CARTESIAN_POINT('',(6.E0,1.5E0,1.E1)); +-#4774=CARTESIAN_POINT('',(6.E0,0.E0,1.E1)); +-#4775=VERTEX_POINT('',#4773); +-#4776=VERTEX_POINT('',#4774); +-#4777=CARTESIAN_POINT('',(1.9E1,0.E0,1.1E1)); +-#4778=CARTESIAN_POINT('',(1.9E1,1.5E0,1.1E1)); +-#4779=VERTEX_POINT('',#4777); +-#4780=VERTEX_POINT('',#4778); +-#4781=CARTESIAN_POINT('',(1.8E1,0.E0,1.E1)); +-#4782=CARTESIAN_POINT('',(1.8E1,1.5E0,1.E1)); +-#4783=VERTEX_POINT('',#4781); +-#4784=VERTEX_POINT('',#4782); +-#4785=CARTESIAN_POINT('',(5.E0,1.5E0,1.E1)); +-#4786=VERTEX_POINT('',#4785); +-#4787=CARTESIAN_POINT('',(1.9E1,1.5E0,1.E1)); +-#4788=VERTEX_POINT('',#4787); +-#4789=CARTESIAN_POINT('',(2.5E0,1.5E0,2.19375E1)); +-#4790=CARTESIAN_POINT('',(2.5E0,0.E0,2.19375E1)); +-#4791=VERTEX_POINT('',#4789); +-#4792=VERTEX_POINT('',#4790); +-#4793=CARTESIAN_POINT('',(5.5E0,1.5E0,1.89375E1)); +-#4794=CARTESIAN_POINT('',(5.5E0,0.E0,1.89375E1)); +-#4795=VERTEX_POINT('',#4793); +-#4796=VERTEX_POINT('',#4794); +-#4797=CARTESIAN_POINT('',(2.15E1,0.E0,2.19375E1)); +-#4798=CARTESIAN_POINT('',(2.15E1,1.5E0,2.19375E1)); +-#4799=VERTEX_POINT('',#4797); +-#4800=VERTEX_POINT('',#4798); +-#4801=CARTESIAN_POINT('',(1.85E1,0.E0,1.89375E1)); +-#4802=CARTESIAN_POINT('',(1.85E1,1.5E0,1.89375E1)); +-#4803=VERTEX_POINT('',#4801); +-#4804=VERTEX_POINT('',#4802); +-#4805=CARTESIAN_POINT('',(2.15E1,1.5E0,1.40625E1)); +-#4806=CARTESIAN_POINT('',(2.15E1,0.E0,1.40625E1)); +-#4807=VERTEX_POINT('',#4805); +-#4808=VERTEX_POINT('',#4806); +-#4809=CARTESIAN_POINT('',(1.85E1,1.5E0,1.70625E1)); +-#4810=CARTESIAN_POINT('',(1.85E1,0.E0,1.70625E1)); +-#4811=VERTEX_POINT('',#4809); +-#4812=VERTEX_POINT('',#4810); +-#4813=CARTESIAN_POINT('',(2.5E0,0.E0,1.40625E1)); +-#4814=CARTESIAN_POINT('',(2.5E0,1.5E0,1.40625E1)); +-#4815=VERTEX_POINT('',#4813); +-#4816=VERTEX_POINT('',#4814); +-#4817=CARTESIAN_POINT('',(5.5E0,0.E0,1.70625E1)); +-#4818=CARTESIAN_POINT('',(5.5E0,1.5E0,1.70625E1)); +-#4819=VERTEX_POINT('',#4817); +-#4820=VERTEX_POINT('',#4818); +-#4821=CARTESIAN_POINT('',(6.1925E0,0.E0,9.E0)); +-#4822=CARTESIAN_POINT('',(5.8075E0,0.E0,9.E0)); +-#4823=VERTEX_POINT('',#4821); +-#4824=VERTEX_POINT('',#4822); +-#4825=CARTESIAN_POINT('',(6.2575E0,1.E0,9.E0)); +-#4826=CARTESIAN_POINT('',(5.7425E0,1.E0,9.E0)); +-#4827=VERTEX_POINT('',#4825); +-#4828=VERTEX_POINT('',#4826); +-#4829=CARTESIAN_POINT('',(6.2575E0,1.5E0,9.E0)); +-#4830=CARTESIAN_POINT('',(5.7425E0,1.5E0,9.E0)); +-#4831=VERTEX_POINT('',#4829); +-#4832=VERTEX_POINT('',#4830); +-#4833=CARTESIAN_POINT('',(6.1925E0,1.E0,9.E0)); +-#4834=CARTESIAN_POINT('',(5.8075E0,1.E0,9.E0)); +-#4835=VERTEX_POINT('',#4833); +-#4836=VERTEX_POINT('',#4834); +-#4837=CARTESIAN_POINT('',(1.21925E1,0.E0,9.E0)); +-#4838=CARTESIAN_POINT('',(1.18075E1,0.E0,9.E0)); +-#4839=VERTEX_POINT('',#4837); +-#4840=VERTEX_POINT('',#4838); +-#4841=CARTESIAN_POINT('',(1.81925E1,0.E0,9.E0)); +-#4842=CARTESIAN_POINT('',(1.78075E1,0.E0,9.E0)); +-#4843=VERTEX_POINT('',#4841); +-#4844=VERTEX_POINT('',#4842); +-#4845=CARTESIAN_POINT('',(6.1925E0,0.E0,1.8E1)); +-#4846=CARTESIAN_POINT('',(5.8075E0,0.E0,1.8E1)); +-#4847=VERTEX_POINT('',#4845); +-#4848=VERTEX_POINT('',#4846); +-#4849=CARTESIAN_POINT('',(1.21925E1,0.E0,1.8E1)); +-#4850=CARTESIAN_POINT('',(1.18075E1,0.E0,1.8E1)); +-#4851=VERTEX_POINT('',#4849); +-#4852=VERTEX_POINT('',#4850); +-#4853=CARTESIAN_POINT('',(1.81925E1,0.E0,1.8E1)); +-#4854=CARTESIAN_POINT('',(1.78075E1,0.E0,1.8E1)); +-#4855=VERTEX_POINT('',#4853); +-#4856=VERTEX_POINT('',#4854); +-#4857=CARTESIAN_POINT('',(1.22575E1,1.E0,9.E0)); +-#4858=CARTESIAN_POINT('',(1.17425E1,1.E0,9.E0)); +-#4859=VERTEX_POINT('',#4857); +-#4860=VERTEX_POINT('',#4858); +-#4861=CARTESIAN_POINT('',(1.22575E1,1.5E0,9.E0)); +-#4862=CARTESIAN_POINT('',(1.17425E1,1.5E0,9.E0)); +-#4863=VERTEX_POINT('',#4861); +-#4864=VERTEX_POINT('',#4862); +-#4865=CARTESIAN_POINT('',(1.21925E1,1.E0,9.E0)); +-#4866=CARTESIAN_POINT('',(1.18075E1,1.E0,9.E0)); +-#4867=VERTEX_POINT('',#4865); +-#4868=VERTEX_POINT('',#4866); +-#4869=CARTESIAN_POINT('',(1.82575E1,1.E0,9.E0)); +-#4870=CARTESIAN_POINT('',(1.77425E1,1.E0,9.E0)); +-#4871=VERTEX_POINT('',#4869); +-#4872=VERTEX_POINT('',#4870); +-#4873=CARTESIAN_POINT('',(1.82575E1,1.5E0,9.E0)); +-#4874=CARTESIAN_POINT('',(1.77425E1,1.5E0,9.E0)); +-#4875=VERTEX_POINT('',#4873); +-#4876=VERTEX_POINT('',#4874); +-#4877=CARTESIAN_POINT('',(1.81925E1,1.E0,9.E0)); +-#4878=CARTESIAN_POINT('',(1.78075E1,1.E0,9.E0)); +-#4879=VERTEX_POINT('',#4877); +-#4880=VERTEX_POINT('',#4878); +-#4881=CARTESIAN_POINT('',(6.2575E0,1.E0,1.8E1)); +-#4882=CARTESIAN_POINT('',(5.7425E0,1.E0,1.8E1)); +-#4883=VERTEX_POINT('',#4881); +-#4884=VERTEX_POINT('',#4882); +-#4885=CARTESIAN_POINT('',(6.2575E0,1.5E0,1.8E1)); +-#4886=CARTESIAN_POINT('',(5.7425E0,1.5E0,1.8E1)); +-#4887=VERTEX_POINT('',#4885); +-#4888=VERTEX_POINT('',#4886); +-#4889=CARTESIAN_POINT('',(6.1925E0,1.E0,1.8E1)); +-#4890=CARTESIAN_POINT('',(5.8075E0,1.E0,1.8E1)); +-#4891=VERTEX_POINT('',#4889); +-#4892=VERTEX_POINT('',#4890); +-#4893=CARTESIAN_POINT('',(1.22575E1,1.E0,1.8E1)); +-#4894=CARTESIAN_POINT('',(1.17425E1,1.E0,1.8E1)); +-#4895=VERTEX_POINT('',#4893); +-#4896=VERTEX_POINT('',#4894); +-#4897=CARTESIAN_POINT('',(1.22575E1,1.5E0,1.8E1)); +-#4898=CARTESIAN_POINT('',(1.17425E1,1.5E0,1.8E1)); +-#4899=VERTEX_POINT('',#4897); +-#4900=VERTEX_POINT('',#4898); +-#4901=CARTESIAN_POINT('',(1.21925E1,1.E0,1.8E1)); +-#4902=CARTESIAN_POINT('',(1.18075E1,1.E0,1.8E1)); +-#4903=VERTEX_POINT('',#4901); +-#4904=VERTEX_POINT('',#4902); +-#4905=CARTESIAN_POINT('',(1.82575E1,1.E0,1.8E1)); +-#4906=CARTESIAN_POINT('',(1.77425E1,1.E0,1.8E1)); +-#4907=VERTEX_POINT('',#4905); +-#4908=VERTEX_POINT('',#4906); +-#4909=CARTESIAN_POINT('',(1.82575E1,1.5E0,1.8E1)); +-#4910=CARTESIAN_POINT('',(1.77425E1,1.5E0,1.8E1)); +-#4911=VERTEX_POINT('',#4909); +-#4912=VERTEX_POINT('',#4910); +-#4913=CARTESIAN_POINT('',(1.81925E1,1.E0,1.8E1)); +-#4914=CARTESIAN_POINT('',(1.78075E1,1.E0,1.8E1)); +-#4915=VERTEX_POINT('',#4913); +-#4916=VERTEX_POINT('',#4914); +-#4917=CARTESIAN_POINT('',(2.5E-1,1.5E0,1.288675134595E1)); +-#4918=CARTESIAN_POINT('',(2.5E-1,1.5E0,1.E1)); +-#4919=VERTEX_POINT('',#4917); +-#4920=VERTEX_POINT('',#4918); +-#4921=CARTESIAN_POINT('',(2.E0,1.5E0,1.288675134595E1)); +-#4922=CARTESIAN_POINT('',(2.E0,1.5E0,1.E1)); +-#4923=VERTEX_POINT('',#4921); +-#4924=VERTEX_POINT('',#4922); +-#4925=CARTESIAN_POINT('',(2.5E-1,6.5E0,1.E1)); +-#4926=VERTEX_POINT('',#4925); +-#4927=CARTESIAN_POINT('',(2.E0,6.5E0,1.E1)); +-#4928=VERTEX_POINT('',#4927); +-#4929=VERTEX_POINT('',#1837); +-#4930=VERTEX_POINT('',#1845); +-#4931=CARTESIAN_POINT('',(2.375E1,1.5E0,1.288675134595E1)); +-#4932=CARTESIAN_POINT('',(2.375E1,1.5E0,1.E1)); +-#4933=VERTEX_POINT('',#4931); +-#4934=VERTEX_POINT('',#4932); +-#4935=CARTESIAN_POINT('',(2.2E1,1.5E0,1.288675134595E1)); +-#4936=CARTESIAN_POINT('',(2.2E1,1.5E0,1.E1)); +-#4937=VERTEX_POINT('',#4935); +-#4938=VERTEX_POINT('',#4936); +-#4939=CARTESIAN_POINT('',(2.375E1,6.5E0,1.E1)); +-#4940=VERTEX_POINT('',#4939); +-#4941=CARTESIAN_POINT('',(2.2E1,6.5E0,1.E1)); +-#4942=VERTEX_POINT('',#4941); +-#4943=VERTEX_POINT('',#2873); +-#4944=VERTEX_POINT('',#2881); +-#4945=CARTESIAN_POINT('',(3.75E0,2.E0,8.E0)); +-#4946=CARTESIAN_POINT('',(3.75E0,2.E0,8.5E0)); +-#4947=VERTEX_POINT('',#4945); +-#4948=VERTEX_POINT('',#4946); +-#4949=CARTESIAN_POINT('',(4.5E0,2.75E0,8.E0)); +-#4950=CARTESIAN_POINT('',(4.5E0,2.75E0,8.5E0)); +-#4951=VERTEX_POINT('',#4949); +-#4952=VERTEX_POINT('',#4950); +-#4953=CARTESIAN_POINT('',(-8.007907113711E-1,3.114232198384E0,8.E0)); +-#4954=CARTESIAN_POINT('',(-8.007907113711E-1,3.114232198384E0,8.5E0)); +-#4955=VERTEX_POINT('',#4953); +-#4956=VERTEX_POINT('',#4954); +-#4957=CARTESIAN_POINT('',(-1.451727542799E-1,2.E0,8.E0)); +-#4958=CARTESIAN_POINT('',(-1.451727542799E-1,2.E0,8.5E0)); +-#4959=VERTEX_POINT('',#4957); +-#4960=VERTEX_POINT('',#4958); +-#4961=CARTESIAN_POINT('',(3.188160579053E0,9.5E0,8.E0)); +-#4962=CARTESIAN_POINT('',(3.188160579053E0,9.5E0,8.5E0)); +-#4963=VERTEX_POINT('',#4961); +-#4964=VERTEX_POINT('',#4962); +-#4965=CARTESIAN_POINT('',(2.532542621962E0,9.114232198384E0,8.E0)); +-#4966=CARTESIAN_POINT('',(2.532542621962E0,9.114232198384E0,8.5E0)); +-#4967=VERTEX_POINT('',#4965); +-#4968=VERTEX_POINT('',#4966); +-#4969=CARTESIAN_POINT('',(4.5E0,8.75E0,8.E0)); +-#4970=CARTESIAN_POINT('',(4.5E0,8.75E0,8.5E0)); +-#4971=VERTEX_POINT('',#4969); +-#4972=VERTEX_POINT('',#4970); +-#4973=CARTESIAN_POINT('',(3.75E0,9.5E0,8.E0)); +-#4974=CARTESIAN_POINT('',(3.75E0,9.5E0,8.5E0)); +-#4975=VERTEX_POINT('',#4973); +-#4976=VERTEX_POINT('',#4974); +-#4977=CARTESIAN_POINT('',(2.85E0,2.E0,1.E1)); +-#4978=CARTESIAN_POINT('',(2.85E0,2.E0,9.5E0)); +-#4979=VERTEX_POINT('',#4977); +-#4980=VERTEX_POINT('',#4978); +-#4981=CARTESIAN_POINT('',(2.5E0,2.35E0,1.E1)); +-#4982=CARTESIAN_POINT('',(2.5E0,2.35E0,9.5E0)); +-#4983=VERTEX_POINT('',#4981); +-#4984=VERTEX_POINT('',#4982); +-#4985=CARTESIAN_POINT('',(4.5E0,2.35E0,1.E1)); +-#4986=CARTESIAN_POINT('',(4.5E0,2.35E0,9.5E0)); +-#4987=VERTEX_POINT('',#4985); +-#4988=VERTEX_POINT('',#4986); +-#4989=CARTESIAN_POINT('',(4.15E0,2.E0,1.E1)); +-#4990=CARTESIAN_POINT('',(4.15E0,2.E0,9.5E0)); +-#4991=VERTEX_POINT('',#4989); +-#4992=VERTEX_POINT('',#4990); +-#4993=CARTESIAN_POINT('',(1.952799239454E0,7.E0,1.E1)); +-#4994=CARTESIAN_POINT('',(1.952799239454E0,7.E0,9.5E0)); +-#4995=VERTEX_POINT('',#4993); +-#4996=VERTEX_POINT('',#4994); +-#4997=CARTESIAN_POINT('',(1.646844192811E0,7.519975025913E0,1.E1)); +-#4998=CARTESIAN_POINT('',(1.646844192811E0,7.519975025913E0,9.5E0)); +-#4999=VERTEX_POINT('',#4997); +-#5000=VERTEX_POINT('',#4998); +-#5001=CARTESIAN_POINT('',(2.646844192811E0,9.319975025913E0,1.E1)); +-#5002=CARTESIAN_POINT('',(2.646844192811E0,9.319975025913E0,9.5E0)); +-#5003=VERTEX_POINT('',#5001); +-#5004=VERTEX_POINT('',#5002); +-#5005=CARTESIAN_POINT('',(2.952799239454E0,9.5E0,1.E1)); +-#5006=CARTESIAN_POINT('',(2.952799239454E0,9.5E0,9.5E0)); +-#5007=VERTEX_POINT('',#5005); +-#5008=VERTEX_POINT('',#5006); +-#5009=CARTESIAN_POINT('',(4.15E0,9.5E0,1.E1)); +-#5010=CARTESIAN_POINT('',(4.15E0,9.5E0,9.5E0)); +-#5011=VERTEX_POINT('',#5009); +-#5012=VERTEX_POINT('',#5010); +-#5013=CARTESIAN_POINT('',(4.5E0,9.15E0,1.E1)); +-#5014=CARTESIAN_POINT('',(4.5E0,9.15E0,9.5E0)); +-#5015=VERTEX_POINT('',#5013); +-#5016=VERTEX_POINT('',#5014); +-#5017=CARTESIAN_POINT('',(2.5E0,6.65E0,9.5E0)); +-#5018=CARTESIAN_POINT('',(2.5E0,6.65E0,1.E1)); +-#5019=VERTEX_POINT('',#5017); +-#5020=VERTEX_POINT('',#5018); +-#5021=CARTESIAN_POINT('',(2.15E0,7.E0,1.E1)); +-#5022=VERTEX_POINT('',#5021); +-#5023=CARTESIAN_POINT('',(2.15E0,7.E0,9.5E0)); +-#5024=VERTEX_POINT('',#5023); +-#5025=CARTESIAN_POINT('',(2.025E1,2.E0,8.5E0)); +-#5026=CARTESIAN_POINT('',(2.025E1,2.E0,8.E0)); +-#5027=VERTEX_POINT('',#5025); +-#5028=VERTEX_POINT('',#5026); +-#5029=CARTESIAN_POINT('',(1.95E1,2.75E0,8.5E0)); +-#5030=VERTEX_POINT('',#5029); +-#5031=CARTESIAN_POINT('',(1.95E1,2.75E0,8.E0)); +-#5032=VERTEX_POINT('',#5031); +-#5033=CARTESIAN_POINT('',(2.480079071137E1,3.114232198384E0,8.5E0)); +-#5034=CARTESIAN_POINT('',(2.480079071137E1,3.114232198384E0,8.E0)); +-#5035=VERTEX_POINT('',#5033); +-#5036=VERTEX_POINT('',#5034); +-#5037=CARTESIAN_POINT('',(2.414517275428E1,2.E0,8.5E0)); +-#5038=VERTEX_POINT('',#5037); +-#5039=CARTESIAN_POINT('',(2.414517275428E1,2.E0,8.E0)); +-#5040=VERTEX_POINT('',#5039); +-#5041=CARTESIAN_POINT('',(2.081183942095E1,9.5E0,8.5E0)); +-#5042=CARTESIAN_POINT('',(2.081183942095E1,9.5E0,8.E0)); +-#5043=VERTEX_POINT('',#5041); +-#5044=VERTEX_POINT('',#5042); +-#5045=CARTESIAN_POINT('',(2.146745737804E1,9.114232198384E0,8.5E0)); +-#5046=VERTEX_POINT('',#5045); +-#5047=CARTESIAN_POINT('',(2.146745737804E1,9.114232198384E0,8.E0)); +-#5048=VERTEX_POINT('',#5047); +-#5049=CARTESIAN_POINT('',(1.95E1,8.75E0,8.5E0)); +-#5050=CARTESIAN_POINT('',(1.95E1,8.75E0,8.E0)); +-#5051=VERTEX_POINT('',#5049); +-#5052=VERTEX_POINT('',#5050); +-#5053=CARTESIAN_POINT('',(2.025E1,9.5E0,8.5E0)); +-#5054=VERTEX_POINT('',#5053); +-#5055=CARTESIAN_POINT('',(2.025E1,9.5E0,8.E0)); +-#5056=VERTEX_POINT('',#5055); +-#5057=CARTESIAN_POINT('',(2.115E1,2.E0,9.5E0)); +-#5058=CARTESIAN_POINT('',(2.115E1,2.E0,1.E1)); +-#5059=VERTEX_POINT('',#5057); +-#5060=VERTEX_POINT('',#5058); +-#5061=CARTESIAN_POINT('',(2.15E1,2.35E0,9.5E0)); +-#5062=VERTEX_POINT('',#5061); +-#5063=CARTESIAN_POINT('',(2.15E1,2.35E0,1.E1)); +-#5064=VERTEX_POINT('',#5063); +-#5065=CARTESIAN_POINT('',(1.95E1,2.35E0,9.5E0)); +-#5066=CARTESIAN_POINT('',(1.95E1,2.35E0,1.E1)); +-#5067=VERTEX_POINT('',#5065); +-#5068=VERTEX_POINT('',#5066); +-#5069=CARTESIAN_POINT('',(1.985E1,2.E0,9.5E0)); +-#5070=VERTEX_POINT('',#5069); +-#5071=CARTESIAN_POINT('',(1.985E1,2.E0,1.E1)); +-#5072=VERTEX_POINT('',#5071); +-#5073=CARTESIAN_POINT('',(2.204720076055E1,7.E0,9.5E0)); +-#5074=CARTESIAN_POINT('',(2.204720076055E1,7.E0,1.E1)); +-#5075=VERTEX_POINT('',#5073); +-#5076=VERTEX_POINT('',#5074); +-#5077=CARTESIAN_POINT('',(2.235315580719E1,7.519975025913E0,9.5E0)); +-#5078=VERTEX_POINT('',#5077); +-#5079=CARTESIAN_POINT('',(2.235315580719E1,7.519975025913E0,1.E1)); +-#5080=VERTEX_POINT('',#5079); +-#5081=CARTESIAN_POINT('',(2.135315580719E1,9.319975025913E0,9.5E0)); +-#5082=CARTESIAN_POINT('',(2.135315580719E1,9.319975025913E0,1.E1)); +-#5083=VERTEX_POINT('',#5081); +-#5084=VERTEX_POINT('',#5082); +-#5085=CARTESIAN_POINT('',(2.104720076055E1,9.5E0,9.5E0)); +-#5086=VERTEX_POINT('',#5085); +-#5087=CARTESIAN_POINT('',(2.104720076055E1,9.5E0,1.E1)); +-#5088=VERTEX_POINT('',#5087); +-#5089=CARTESIAN_POINT('',(1.985E1,9.5E0,9.5E0)); +-#5090=CARTESIAN_POINT('',(1.985E1,9.5E0,1.E1)); +-#5091=VERTEX_POINT('',#5089); +-#5092=VERTEX_POINT('',#5090); +-#5093=CARTESIAN_POINT('',(1.95E1,9.15E0,9.5E0)); +-#5094=VERTEX_POINT('',#5093); +-#5095=CARTESIAN_POINT('',(1.95E1,9.15E0,1.E1)); +-#5096=VERTEX_POINT('',#5095); +-#5097=CARTESIAN_POINT('',(2.15E1,6.65E0,1.E1)); +-#5098=CARTESIAN_POINT('',(2.15E1,6.65E0,9.5E0)); +-#5099=VERTEX_POINT('',#5097); +-#5100=VERTEX_POINT('',#5098); +-#5101=CARTESIAN_POINT('',(2.185E1,7.E0,1.E1)); +-#5102=CARTESIAN_POINT('',(2.185E1,7.E0,9.5E0)); +-#5103=VERTEX_POINT('',#5101); +-#5104=VERTEX_POINT('',#5102); +-#5105=CARTESIAN_POINT('',(7.5E0,6.875E-1,6.875E-1)); +-#5106=CARTESIAN_POINT('',(1.05E1,6.875E-1,6.875E-1)); +-#5107=VERTEX_POINT('',#5105); +-#5108=VERTEX_POINT('',#5106); +-#5109=CARTESIAN_POINT('',(1.05E1,6.875E-1,1.8125E0)); +-#5110=VERTEX_POINT('',#5109); +-#5111=CARTESIAN_POINT('',(7.5E0,6.875E-1,1.8125E0)); +-#5112=VERTEX_POINT('',#5111); +-#5113=CARTESIAN_POINT('',(3.939978538987E0,6.875E-1,1.032293285145E0)); +-#5114=CARTESIAN_POINT('',(4.942849714544E0,6.875E-1,2.419779663480E0)); +-#5115=VERTEX_POINT('',#5113); +-#5116=VERTEX_POINT('',#5114); +-#5117=CARTESIAN_POINT('',(2.432015885023E0,6.875E-1,4.918683812405E0)); +-#5118=VERTEX_POINT('',#5117); +-#5119=CARTESIAN_POINT('',(7.5E0,0.E0,6.875E-1)); +-#5120=CARTESIAN_POINT('',(1.05E1,0.E0,6.875E-1)); +-#5121=VERTEX_POINT('',#5119); +-#5122=VERTEX_POINT('',#5120); +-#5123=CARTESIAN_POINT('',(1.05E1,0.E0,1.8125E0)); +-#5124=VERTEX_POINT('',#5123); +-#5125=CARTESIAN_POINT('',(7.5E0,0.E0,1.8125E0)); +-#5126=VERTEX_POINT('',#5125); +-#5127=CARTESIAN_POINT('',(3.939978538987E0,0.E0,1.032293285145E0)); +-#5128=CARTESIAN_POINT('',(4.942849714544E0,0.E0,2.419779663480E0)); +-#5129=VERTEX_POINT('',#5127); +-#5130=VERTEX_POINT('',#5128); +-#5131=CARTESIAN_POINT('',(2.432015885023E0,0.E0,4.918683812405E0)); +-#5132=VERTEX_POINT('',#5131); +-#5133=CARTESIAN_POINT('',(9.254066777019E-1,0.E0,4.046865146430E0)); +-#5134=CARTESIAN_POINT('',(9.254066777019E-1,6.875E-1,4.046865146430E0)); +-#5135=VERTEX_POINT('',#5133); +-#5136=VERTEX_POINT('',#5134); +-#5137=CARTESIAN_POINT('',(7.850270400779E-1,0.E0,4.912826677187E0)); +-#5138=CARTESIAN_POINT('',(7.850270400779E-1,6.875E-1,4.912826677187E0)); +-#5139=VERTEX_POINT('',#5137); +-#5140=VERTEX_POINT('',#5138); +-#5141=CARTESIAN_POINT('',(6.9E-1,6.875E-1,7.5E0)); +-#5142=CARTESIAN_POINT('',(1.8125E0,6.875E-1,7.5E0)); +-#5143=VERTEX_POINT('',#5141); +-#5144=VERTEX_POINT('',#5142); +-#5145=CARTESIAN_POINT('',(6.9E-1,0.E0,7.5E0)); +-#5146=CARTESIAN_POINT('',(1.8125E0,0.E0,7.5E0)); +-#5147=VERTEX_POINT('',#5145); +-#5148=VERTEX_POINT('',#5146); +-#5149=CARTESIAN_POINT('',(-1.3125E0,0.E0,1.0375E1)); +-#5150=CARTESIAN_POINT('',(-1.3125E0,6.875E-1,1.0375E1)); +-#5151=VERTEX_POINT('',#5149); +-#5152=VERTEX_POINT('',#5150); +-#5153=CARTESIAN_POINT('',(-4.375E-1,0.E0,1.125E1)); +-#5154=CARTESIAN_POINT('',(-4.375E-1,6.875E-1,1.125E1)); +-#5155=VERTEX_POINT('',#5153); +-#5156=VERTEX_POINT('',#5154); +-#5157=CARTESIAN_POINT('',(-4.375E-1,0.E0,8.69E0)); +-#5158=CARTESIAN_POINT('',(-4.375E-1,6.875E-1,8.69E0)); +-#5159=VERTEX_POINT('',#5157); +-#5160=VERTEX_POINT('',#5158); +-#5161=CARTESIAN_POINT('',(-1.3125E0,0.E0,9.565E0)); +-#5162=CARTESIAN_POINT('',(-1.3125E0,6.875E-1,9.565E0)); +-#5163=VERTEX_POINT('',#5161); +-#5164=VERTEX_POINT('',#5162); +-#5165=CARTESIAN_POINT('',(4.3125E0,0.E0,9.565E0)); +-#5166=CARTESIAN_POINT('',(4.3125E0,6.875E-1,9.565E0)); +-#5167=VERTEX_POINT('',#5165); +-#5168=VERTEX_POINT('',#5166); +-#5169=CARTESIAN_POINT('',(3.4375E0,0.E0,8.69E0)); +-#5170=CARTESIAN_POINT('',(3.4375E0,6.875E-1,8.69E0)); +-#5171=VERTEX_POINT('',#5169); +-#5172=VERTEX_POINT('',#5170); +-#5173=CARTESIAN_POINT('',(3.4375E0,0.E0,1.125E1)); +-#5174=CARTESIAN_POINT('',(3.4375E0,6.875E-1,1.125E1)); +-#5175=VERTEX_POINT('',#5173); +-#5176=VERTEX_POINT('',#5174); +-#5177=CARTESIAN_POINT('',(4.3125E0,0.E0,1.0375E1)); +-#5178=CARTESIAN_POINT('',(4.3125E0,6.875E-1,1.0375E1)); +-#5179=VERTEX_POINT('',#5177); +-#5180=VERTEX_POINT('',#5178); +-#5181=CARTESIAN_POINT('',(6.9E-1,6.875E-1,7.815E0)); +-#5182=CARTESIAN_POINT('',(6.9E-1,0.E0,7.815E0)); +-#5183=VERTEX_POINT('',#5181); +-#5184=VERTEX_POINT('',#5182); +-#5185=CARTESIAN_POINT('',(-1.85E-1,0.E0,8.69E0)); +-#5186=VERTEX_POINT('',#5185); +-#5187=CARTESIAN_POINT('',(-1.85E-1,6.875E-1,8.69E0)); +-#5188=VERTEX_POINT('',#5187); +-#5189=CARTESIAN_POINT('',(2.6875E0,6.875E-1,8.69E0)); +-#5190=CARTESIAN_POINT('',(2.6875E0,0.E0,8.69E0)); +-#5191=VERTEX_POINT('',#5189); +-#5192=VERTEX_POINT('',#5190); +-#5193=CARTESIAN_POINT('',(1.8125E0,0.E0,7.815E0)); +-#5194=VERTEX_POINT('',#5193); +-#5195=CARTESIAN_POINT('',(1.8125E0,6.875E-1,7.815E0)); +-#5196=VERTEX_POINT('',#5195); +-#5197=CARTESIAN_POINT('',(6.875E-1,6.875E-1,1.65E1)); +-#5198=CARTESIAN_POINT('',(6.875E-1,6.875E-1,1.35E1)); +-#5199=VERTEX_POINT('',#5197); +-#5200=VERTEX_POINT('',#5198); +-#5201=CARTESIAN_POINT('',(1.8125E0,6.875E-1,1.35E1)); +-#5202=VERTEX_POINT('',#5201); +-#5203=CARTESIAN_POINT('',(1.8125E0,6.875E-1,1.65E1)); +-#5204=VERTEX_POINT('',#5203); +-#5205=CARTESIAN_POINT('',(6.875E-1,0.E0,1.65E1)); +-#5206=CARTESIAN_POINT('',(6.875E-1,0.E0,1.35E1)); +-#5207=VERTEX_POINT('',#5205); +-#5208=VERTEX_POINT('',#5206); +-#5209=CARTESIAN_POINT('',(1.8125E0,0.E0,1.35E1)); +-#5210=VERTEX_POINT('',#5209); +-#5211=CARTESIAN_POINT('',(1.8125E0,0.E0,1.65E1)); +-#5212=VERTEX_POINT('',#5211); +-#5213=CARTESIAN_POINT('',(6.875E-1,6.875E-1,2.25E1)); +-#5214=CARTESIAN_POINT('',(6.875E-1,6.875E-1,1.95E1)); +-#5215=VERTEX_POINT('',#5213); +-#5216=VERTEX_POINT('',#5214); +-#5217=CARTESIAN_POINT('',(1.8125E0,6.875E-1,1.95E1)); +-#5218=VERTEX_POINT('',#5217); +-#5219=CARTESIAN_POINT('',(1.8125E0,6.875E-1,2.25E1)); +-#5220=VERTEX_POINT('',#5219); +-#5221=CARTESIAN_POINT('',(6.875E-1,0.E0,2.25E1)); +-#5222=CARTESIAN_POINT('',(6.875E-1,0.E0,1.95E1)); +-#5223=VERTEX_POINT('',#5221); +-#5224=VERTEX_POINT('',#5222); +-#5225=CARTESIAN_POINT('',(1.8125E0,0.E0,1.95E1)); +-#5226=VERTEX_POINT('',#5225); +-#5227=CARTESIAN_POINT('',(1.8125E0,0.E0,2.25E1)); +-#5228=VERTEX_POINT('',#5227); +-#5229=CARTESIAN_POINT('',(7.5E0,6.875E-1,8.5E0)); +-#5230=CARTESIAN_POINT('',(1.05E1,6.875E-1,8.5E0)); +-#5231=VERTEX_POINT('',#5229); +-#5232=VERTEX_POINT('',#5230); +-#5233=CARTESIAN_POINT('',(1.05E1,6.875E-1,9.5E0)); +-#5234=VERTEX_POINT('',#5233); +-#5235=CARTESIAN_POINT('',(7.5E0,6.875E-1,9.5E0)); +-#5236=VERTEX_POINT('',#5235); +-#5237=CARTESIAN_POINT('',(7.5E0,0.E0,8.5E0)); +-#5238=CARTESIAN_POINT('',(1.05E1,0.E0,8.5E0)); +-#5239=VERTEX_POINT('',#5237); +-#5240=VERTEX_POINT('',#5238); +-#5241=CARTESIAN_POINT('',(1.05E1,0.E0,9.5E0)); +-#5242=VERTEX_POINT('',#5241); +-#5243=CARTESIAN_POINT('',(7.5E0,0.E0,9.5E0)); +-#5244=VERTEX_POINT('',#5243); +-#5245=CARTESIAN_POINT('',(7.5E0,6.875E-1,1.75625E1)); +-#5246=CARTESIAN_POINT('',(1.05E1,6.875E-1,1.75625E1)); +-#5247=VERTEX_POINT('',#5245); +-#5248=VERTEX_POINT('',#5246); +-#5249=CARTESIAN_POINT('',(1.05E1,6.875E-1,1.84375E1)); +-#5250=VERTEX_POINT('',#5249); +-#5251=CARTESIAN_POINT('',(7.5E0,6.875E-1,1.84375E1)); +-#5252=VERTEX_POINT('',#5251); +-#5253=CARTESIAN_POINT('',(7.5E0,0.E0,1.75625E1)); +-#5254=CARTESIAN_POINT('',(1.05E1,0.E0,1.75625E1)); +-#5255=VERTEX_POINT('',#5253); +-#5256=VERTEX_POINT('',#5254); +-#5257=CARTESIAN_POINT('',(1.05E1,0.E0,1.84375E1)); +-#5258=VERTEX_POINT('',#5257); +-#5259=CARTESIAN_POINT('',(7.5E0,0.E0,1.84375E1)); +-#5260=VERTEX_POINT('',#5259); +-#5261=CARTESIAN_POINT('',(7.5E0,6.875E-1,3.13125E1)); +-#5262=CARTESIAN_POINT('',(1.05E1,6.875E-1,3.13125E1)); +-#5263=VERTEX_POINT('',#5261); +-#5264=VERTEX_POINT('',#5262); +-#5265=CARTESIAN_POINT('',(1.05E1,6.875E-1,3.01875E1)); +-#5266=VERTEX_POINT('',#5265); +-#5267=CARTESIAN_POINT('',(7.5E0,6.875E-1,3.01875E1)); +-#5268=VERTEX_POINT('',#5267); +-#5269=CARTESIAN_POINT('',(3.939978538987E0,6.875E-1,3.096770671486E1)); +-#5270=CARTESIAN_POINT('',(4.942849714544E0,6.875E-1,2.958022033652E1)); +-#5271=VERTEX_POINT('',#5269); +-#5272=VERTEX_POINT('',#5270); +-#5273=CARTESIAN_POINT('',(2.432015885023E0,6.875E-1,2.708131618759E1)); +-#5274=VERTEX_POINT('',#5273); +-#5275=CARTESIAN_POINT('',(7.5E0,0.E0,3.13125E1)); +-#5276=CARTESIAN_POINT('',(1.05E1,0.E0,3.13125E1)); +-#5277=VERTEX_POINT('',#5275); +-#5278=VERTEX_POINT('',#5276); +-#5279=CARTESIAN_POINT('',(1.05E1,0.E0,3.01875E1)); +-#5280=VERTEX_POINT('',#5279); +-#5281=CARTESIAN_POINT('',(7.5E0,0.E0,3.01875E1)); +-#5282=VERTEX_POINT('',#5281); +-#5283=CARTESIAN_POINT('',(3.939978538987E0,0.E0,3.096770671486E1)); +-#5284=CARTESIAN_POINT('',(4.942849714544E0,0.E0,2.958022033652E1)); +-#5285=VERTEX_POINT('',#5283); +-#5286=VERTEX_POINT('',#5284); +-#5287=CARTESIAN_POINT('',(2.432015885023E0,0.E0,2.708131618759E1)); +-#5288=VERTEX_POINT('',#5287); +-#5289=CARTESIAN_POINT('',(1.65E1,6.875E-1,6.875E-1)); +-#5290=CARTESIAN_POINT('',(1.35E1,6.875E-1,6.875E-1)); +-#5291=VERTEX_POINT('',#5289); +-#5292=VERTEX_POINT('',#5290); +-#5293=CARTESIAN_POINT('',(1.35E1,6.875E-1,1.8125E0)); +-#5294=VERTEX_POINT('',#5293); +-#5295=CARTESIAN_POINT('',(1.65E1,6.875E-1,1.8125E0)); +-#5296=VERTEX_POINT('',#5295); +-#5297=CARTESIAN_POINT('',(2.006002146101E1,6.875E-1,1.032293285145E0)); +-#5298=CARTESIAN_POINT('',(1.905715028546E1,6.875E-1,2.419779663480E0)); +-#5299=VERTEX_POINT('',#5297); +-#5300=VERTEX_POINT('',#5298); +-#5301=CARTESIAN_POINT('',(2.156798411498E1,6.875E-1,4.918683812405E0)); +-#5302=VERTEX_POINT('',#5301); +-#5303=CARTESIAN_POINT('',(1.65E1,0.E0,6.875E-1)); +-#5304=CARTESIAN_POINT('',(1.35E1,0.E0,6.875E-1)); +-#5305=VERTEX_POINT('',#5303); +-#5306=VERTEX_POINT('',#5304); +-#5307=CARTESIAN_POINT('',(1.35E1,0.E0,1.8125E0)); +-#5308=VERTEX_POINT('',#5307); +-#5309=CARTESIAN_POINT('',(1.65E1,0.E0,1.8125E0)); +-#5310=VERTEX_POINT('',#5309); +-#5311=CARTESIAN_POINT('',(2.006002146101E1,0.E0,1.032293285145E0)); +-#5312=CARTESIAN_POINT('',(1.905715028546E1,0.E0,2.419779663480E0)); +-#5313=VERTEX_POINT('',#5311); +-#5314=VERTEX_POINT('',#5312); +-#5315=CARTESIAN_POINT('',(2.156798411498E1,0.E0,4.918683812405E0)); +-#5316=VERTEX_POINT('',#5315); +-#5317=CARTESIAN_POINT('',(2.331E1,6.875E-1,7.5E0)); +-#5318=CARTESIAN_POINT('',(2.21875E1,6.875E-1,7.5E0)); +-#5319=VERTEX_POINT('',#5317); +-#5320=VERTEX_POINT('',#5318); +-#5321=CARTESIAN_POINT('',(2.331E1,0.E0,7.5E0)); +-#5322=CARTESIAN_POINT('',(2.21875E1,0.E0,7.5E0)); +-#5323=VERTEX_POINT('',#5321); +-#5324=VERTEX_POINT('',#5322); +-#5325=CARTESIAN_POINT('',(2.33125E1,6.875E-1,1.65E1)); +-#5326=CARTESIAN_POINT('',(2.33125E1,6.875E-1,1.35E1)); +-#5327=VERTEX_POINT('',#5325); +-#5328=VERTEX_POINT('',#5326); +-#5329=CARTESIAN_POINT('',(2.21875E1,6.875E-1,1.35E1)); +-#5330=VERTEX_POINT('',#5329); +-#5331=CARTESIAN_POINT('',(2.21875E1,6.875E-1,1.65E1)); +-#5332=VERTEX_POINT('',#5331); +-#5333=CARTESIAN_POINT('',(2.33125E1,0.E0,1.65E1)); +-#5334=CARTESIAN_POINT('',(2.33125E1,0.E0,1.35E1)); +-#5335=VERTEX_POINT('',#5333); +-#5336=VERTEX_POINT('',#5334); +-#5337=CARTESIAN_POINT('',(2.21875E1,0.E0,1.35E1)); +-#5338=VERTEX_POINT('',#5337); +-#5339=CARTESIAN_POINT('',(2.21875E1,0.E0,1.65E1)); +-#5340=VERTEX_POINT('',#5339); +-#5341=CARTESIAN_POINT('',(2.33125E1,6.875E-1,2.25E1)); +-#5342=CARTESIAN_POINT('',(2.33125E1,6.875E-1,1.95E1)); +-#5343=VERTEX_POINT('',#5341); +-#5344=VERTEX_POINT('',#5342); +-#5345=CARTESIAN_POINT('',(2.21875E1,6.875E-1,1.95E1)); +-#5346=VERTEX_POINT('',#5345); +-#5347=CARTESIAN_POINT('',(2.21875E1,6.875E-1,2.25E1)); +-#5348=VERTEX_POINT('',#5347); +-#5349=CARTESIAN_POINT('',(2.33125E1,0.E0,2.25E1)); +-#5350=CARTESIAN_POINT('',(2.33125E1,0.E0,1.95E1)); +-#5351=VERTEX_POINT('',#5349); +-#5352=VERTEX_POINT('',#5350); +-#5353=CARTESIAN_POINT('',(2.21875E1,0.E0,1.95E1)); +-#5354=VERTEX_POINT('',#5353); +-#5355=CARTESIAN_POINT('',(2.21875E1,0.E0,2.25E1)); +-#5356=VERTEX_POINT('',#5355); +-#5357=CARTESIAN_POINT('',(1.65E1,6.875E-1,8.5E0)); +-#5358=CARTESIAN_POINT('',(1.35E1,6.875E-1,8.5E0)); +-#5359=VERTEX_POINT('',#5357); +-#5360=VERTEX_POINT('',#5358); +-#5361=CARTESIAN_POINT('',(1.35E1,6.875E-1,9.5E0)); +-#5362=VERTEX_POINT('',#5361); +-#5363=CARTESIAN_POINT('',(1.65E1,6.875E-1,9.5E0)); +-#5364=VERTEX_POINT('',#5363); +-#5365=CARTESIAN_POINT('',(1.65E1,0.E0,8.5E0)); +-#5366=CARTESIAN_POINT('',(1.35E1,0.E0,8.5E0)); +-#5367=VERTEX_POINT('',#5365); +-#5368=VERTEX_POINT('',#5366); +-#5369=CARTESIAN_POINT('',(1.35E1,0.E0,9.5E0)); +-#5370=VERTEX_POINT('',#5369); +-#5371=CARTESIAN_POINT('',(1.65E1,0.E0,9.5E0)); +-#5372=VERTEX_POINT('',#5371); +-#5373=CARTESIAN_POINT('',(1.65E1,6.875E-1,1.75625E1)); +-#5374=CARTESIAN_POINT('',(1.35E1,6.875E-1,1.75625E1)); +-#5375=VERTEX_POINT('',#5373); +-#5376=VERTEX_POINT('',#5374); +-#5377=CARTESIAN_POINT('',(1.35E1,6.875E-1,1.84375E1)); +-#5378=VERTEX_POINT('',#5377); +-#5379=CARTESIAN_POINT('',(1.65E1,6.875E-1,1.84375E1)); +-#5380=VERTEX_POINT('',#5379); +-#5381=CARTESIAN_POINT('',(1.65E1,0.E0,1.75625E1)); +-#5382=CARTESIAN_POINT('',(1.35E1,0.E0,1.75625E1)); +-#5383=VERTEX_POINT('',#5381); +-#5384=VERTEX_POINT('',#5382); +-#5385=CARTESIAN_POINT('',(1.35E1,0.E0,1.84375E1)); +-#5386=VERTEX_POINT('',#5385); +-#5387=CARTESIAN_POINT('',(1.65E1,0.E0,1.84375E1)); +-#5388=VERTEX_POINT('',#5387); +-#5389=CARTESIAN_POINT('',(1.65E1,6.875E-1,3.13125E1)); +-#5390=CARTESIAN_POINT('',(1.35E1,6.875E-1,3.13125E1)); +-#5391=VERTEX_POINT('',#5389); +-#5392=VERTEX_POINT('',#5390); +-#5393=CARTESIAN_POINT('',(1.35E1,6.875E-1,3.01875E1)); +-#5394=VERTEX_POINT('',#5393); +-#5395=CARTESIAN_POINT('',(1.65E1,6.875E-1,3.01875E1)); +-#5396=VERTEX_POINT('',#5395); +-#5397=CARTESIAN_POINT('',(2.006002146101E1,6.875E-1,3.096770671486E1)); +-#5398=CARTESIAN_POINT('',(1.905715028546E1,6.875E-1,2.958022033652E1)); +-#5399=VERTEX_POINT('',#5397); +-#5400=VERTEX_POINT('',#5398); +-#5401=CARTESIAN_POINT('',(2.156798411498E1,6.875E-1,2.708131618759E1)); +-#5402=VERTEX_POINT('',#5401); +-#5403=CARTESIAN_POINT('',(1.65E1,0.E0,3.13125E1)); +-#5404=CARTESIAN_POINT('',(1.35E1,0.E0,3.13125E1)); +-#5405=VERTEX_POINT('',#5403); +-#5406=VERTEX_POINT('',#5404); +-#5407=CARTESIAN_POINT('',(1.35E1,0.E0,3.01875E1)); +-#5408=VERTEX_POINT('',#5407); +-#5409=CARTESIAN_POINT('',(1.65E1,0.E0,3.01875E1)); +-#5410=VERTEX_POINT('',#5409); +-#5411=CARTESIAN_POINT('',(2.006002146101E1,0.E0,3.096770671486E1)); +-#5412=CARTESIAN_POINT('',(1.905715028546E1,0.E0,2.958022033652E1)); +-#5413=VERTEX_POINT('',#5411); +-#5414=VERTEX_POINT('',#5412); +-#5415=CARTESIAN_POINT('',(2.156798411498E1,0.E0,2.708131618759E1)); +-#5416=VERTEX_POINT('',#5415); +-#5417=CARTESIAN_POINT('',(1.96875E1,6.875E-1,9.57E0)); +-#5418=CARTESIAN_POINT('',(1.96875E1,0.E0,9.57E0)); +-#5419=VERTEX_POINT('',#5417); +-#5420=VERTEX_POINT('',#5418); +-#5421=CARTESIAN_POINT('',(2.05675E1,6.875E-1,8.69E0)); +-#5422=VERTEX_POINT('',#5421); +-#5423=CARTESIAN_POINT('',(2.05675E1,0.E0,8.69E0)); +-#5424=VERTEX_POINT('',#5423); +-#5425=CARTESIAN_POINT('',(2.05675E1,6.875E-1,1.125E1)); +-#5426=CARTESIAN_POINT('',(2.05675E1,0.E0,1.125E1)); +-#5427=VERTEX_POINT('',#5425); +-#5428=VERTEX_POINT('',#5426); +-#5429=CARTESIAN_POINT('',(1.96875E1,6.875E-1,1.037E1)); +-#5430=VERTEX_POINT('',#5429); +-#5431=CARTESIAN_POINT('',(1.96875E1,0.E0,1.037E1)); +-#5432=VERTEX_POINT('',#5431); +-#5433=CARTESIAN_POINT('',(2.44325E1,6.875E-1,8.69E0)); +-#5434=CARTESIAN_POINT('',(2.44325E1,0.E0,8.69E0)); +-#5435=VERTEX_POINT('',#5433); +-#5436=VERTEX_POINT('',#5434); +-#5437=CARTESIAN_POINT('',(2.53125E1,6.875E-1,9.57E0)); +-#5438=VERTEX_POINT('',#5437); +-#5439=CARTESIAN_POINT('',(2.53125E1,0.E0,9.57E0)); +-#5440=VERTEX_POINT('',#5439); +-#5441=CARTESIAN_POINT('',(2.53125E1,6.875E-1,1.037E1)); +-#5442=CARTESIAN_POINT('',(2.53125E1,0.E0,1.037E1)); +-#5443=VERTEX_POINT('',#5441); +-#5444=VERTEX_POINT('',#5442); +-#5445=CARTESIAN_POINT('',(2.44325E1,6.875E-1,1.125E1)); +-#5446=VERTEX_POINT('',#5445); +-#5447=CARTESIAN_POINT('',(2.44325E1,0.E0,1.125E1)); +-#5448=VERTEX_POINT('',#5447); +-#5449=CARTESIAN_POINT('',(2.13075E1,0.E0,8.69E0)); +-#5450=CARTESIAN_POINT('',(2.13075E1,6.875E-1,8.69E0)); +-#5451=VERTEX_POINT('',#5449); +-#5452=VERTEX_POINT('',#5450); +-#5453=CARTESIAN_POINT('',(2.21875E1,0.E0,7.81E0)); +-#5454=CARTESIAN_POINT('',(2.21875E1,6.875E-1,7.81E0)); +-#5455=VERTEX_POINT('',#5453); +-#5456=VERTEX_POINT('',#5454); +-#5457=CARTESIAN_POINT('',(2.331E1,0.E0,7.81E0)); +-#5458=CARTESIAN_POINT('',(2.331E1,6.875E-1,7.81E0)); +-#5459=VERTEX_POINT('',#5457); +-#5460=VERTEX_POINT('',#5458); +-#5461=CARTESIAN_POINT('',(2.419E1,0.E0,8.69E0)); +-#5462=CARTESIAN_POINT('',(2.419E1,6.875E-1,8.69E0)); +-#5463=VERTEX_POINT('',#5461); +-#5464=VERTEX_POINT('',#5462); +-#5465=CARTESIAN_POINT('',(2.321497295992E1,0.E0,4.912826677187E0)); +-#5466=CARTESIAN_POINT('',(2.321497295992E1,6.875E-1,4.912826677187E0)); +-#5467=VERTEX_POINT('',#5465); +-#5468=VERTEX_POINT('',#5466); +-#5469=CARTESIAN_POINT('',(2.307459332230E1,0.E0,4.046865146430E0)); +-#5470=CARTESIAN_POINT('',(2.307459332230E1,6.875E-1,4.046865146430E0)); +-#5471=VERTEX_POINT('',#5469); +-#5472=VERTEX_POINT('',#5470); +-#5473=CARTESIAN_POINT('',(7.850270400779E-1,0.E0,2.708717332281E1)); +-#5474=CARTESIAN_POINT('',(7.850270400779E-1,6.875E-1,2.708717332281E1)); +-#5475=VERTEX_POINT('',#5473); +-#5476=VERTEX_POINT('',#5474); +-#5477=CARTESIAN_POINT('',(9.254066777019E-1,0.E0,2.795313485357E1)); +-#5478=CARTESIAN_POINT('',(9.254066777019E-1,6.875E-1,2.795313485357E1)); +-#5479=VERTEX_POINT('',#5477); +-#5480=VERTEX_POINT('',#5478); +-#5481=CARTESIAN_POINT('',(2.307459332230E1,0.E0,2.795313485357E1)); +-#5482=CARTESIAN_POINT('',(2.307459332230E1,6.875E-1,2.795313485357E1)); +-#5483=VERTEX_POINT('',#5481); +-#5484=VERTEX_POINT('',#5482); +-#5485=CARTESIAN_POINT('',(2.321497295992E1,0.E0,2.708717332281E1)); +-#5486=CARTESIAN_POINT('',(2.321497295992E1,6.875E-1,2.708717332281E1)); +-#5487=VERTEX_POINT('',#5485); +-#5488=VERTEX_POINT('',#5486); +-#5489=CARTESIAN_POINT('',(0.E0,0.E0,0.E0)); +-#5490=DIRECTION('',(0.E0,1.E0,0.E0)); +-#5491=DIRECTION('',(1.E0,0.E0,0.E0)); +-#5492=AXIS2_PLACEMENT_3D('',#5489,#5490,#5491); +-#5493=PLANE('',#5492); +-#5495=ORIENTED_EDGE('',*,*,#5494,.F.); +-#5497=ORIENTED_EDGE('',*,*,#5496,.F.); +-#5499=ORIENTED_EDGE('',*,*,#5498,.T.); +-#5501=ORIENTED_EDGE('',*,*,#5500,.F.); +-#5503=ORIENTED_EDGE('',*,*,#5502,.T.); +-#5505=ORIENTED_EDGE('',*,*,#5504,.F.); +-#5507=ORIENTED_EDGE('',*,*,#5506,.T.); +-#5509=ORIENTED_EDGE('',*,*,#5508,.F.); +-#5511=ORIENTED_EDGE('',*,*,#5510,.T.); +-#5513=ORIENTED_EDGE('',*,*,#5512,.T.); +-#5515=ORIENTED_EDGE('',*,*,#5514,.F.); +-#5517=ORIENTED_EDGE('',*,*,#5516,.T.); +-#5519=ORIENTED_EDGE('',*,*,#5518,.F.); +-#5521=ORIENTED_EDGE('',*,*,#5520,.T.); +-#5523=ORIENTED_EDGE('',*,*,#5522,.F.); +-#5525=ORIENTED_EDGE('',*,*,#5524,.T.); +-#5527=ORIENTED_EDGE('',*,*,#5526,.F.); +-#5529=ORIENTED_EDGE('',*,*,#5528,.T.); +-#5531=ORIENTED_EDGE('',*,*,#5530,.F.); +-#5533=ORIENTED_EDGE('',*,*,#5532,.F.); +-#5535=ORIENTED_EDGE('',*,*,#5534,.T.); +-#5537=ORIENTED_EDGE('',*,*,#5536,.F.); +-#5538=EDGE_LOOP('',(#5495,#5497,#5499,#5501,#5503,#5505,#5507,#5509,#5511,#5513, +-#5515,#5517,#5519,#5521,#5523,#5525,#5527,#5529,#5531,#5533,#5535,#5537)); +-#5539=FACE_OUTER_BOUND('',#5538,.F.); +-#5541=ORIENTED_EDGE('',*,*,#5540,.T.); +-#5543=ORIENTED_EDGE('',*,*,#5542,.F.); +-#5545=ORIENTED_EDGE('',*,*,#5544,.F.); +-#5547=ORIENTED_EDGE('',*,*,#5546,.F.); +-#5549=ORIENTED_EDGE('',*,*,#5548,.F.); +-#5551=ORIENTED_EDGE('',*,*,#5550,.F.); +-#5552=EDGE_LOOP('',(#5541,#5543,#5545,#5547,#5549,#5551)); +-#5553=FACE_BOUND('',#5552,.F.); +-#5555=ORIENTED_EDGE('',*,*,#5554,.T.); +-#5557=ORIENTED_EDGE('',*,*,#5556,.T.); +-#5558=EDGE_LOOP('',(#5555,#5557)); +-#5559=FACE_BOUND('',#5558,.F.); +-#5561=ORIENTED_EDGE('',*,*,#5560,.T.); +-#5563=ORIENTED_EDGE('',*,*,#5562,.T.); +-#5564=EDGE_LOOP('',(#5561,#5563)); +-#5565=FACE_BOUND('',#5564,.F.); +-#5567=ORIENTED_EDGE('',*,*,#5566,.T.); +-#5569=ORIENTED_EDGE('',*,*,#5568,.T.); +-#5570=EDGE_LOOP('',(#5567,#5569)); +-#5571=FACE_BOUND('',#5570,.F.); +-#5573=ORIENTED_EDGE('',*,*,#5572,.T.); +-#5575=ORIENTED_EDGE('',*,*,#5574,.T.); +-#5576=EDGE_LOOP('',(#5573,#5575)); +-#5577=FACE_BOUND('',#5576,.F.); +-#5579=ORIENTED_EDGE('',*,*,#5578,.T.); +-#5581=ORIENTED_EDGE('',*,*,#5580,.T.); +-#5582=EDGE_LOOP('',(#5579,#5581)); +-#5583=FACE_BOUND('',#5582,.F.); +-#5585=ORIENTED_EDGE('',*,*,#5584,.T.); +-#5587=ORIENTED_EDGE('',*,*,#5586,.T.); +-#5588=EDGE_LOOP('',(#5585,#5587)); +-#5589=FACE_BOUND('',#5588,.F.); +-#5591=ORIENTED_EDGE('',*,*,#5590,.T.); +-#5593=ORIENTED_EDGE('',*,*,#5592,.T.); +-#5594=EDGE_LOOP('',(#5591,#5593)); +-#5595=FACE_BOUND('',#5594,.F.); +-#5597=ORIENTED_EDGE('',*,*,#5596,.T.); +-#5599=ORIENTED_EDGE('',*,*,#5598,.T.); +-#5600=EDGE_LOOP('',(#5597,#5599)); +-#5601=FACE_BOUND('',#5600,.F.); +-#5603=ORIENTED_EDGE('',*,*,#5602,.T.); +-#5605=ORIENTED_EDGE('',*,*,#5604,.T.); +-#5606=EDGE_LOOP('',(#5603,#5605)); +-#5607=FACE_BOUND('',#5606,.F.); +-#5609=ORIENTED_EDGE('',*,*,#5608,.T.); +-#5611=ORIENTED_EDGE('',*,*,#5610,.T.); +-#5612=EDGE_LOOP('',(#5609,#5611)); +-#5613=FACE_BOUND('',#5612,.F.); +-#5615=ORIENTED_EDGE('',*,*,#5614,.T.); +-#5617=ORIENTED_EDGE('',*,*,#5616,.T.); +-#5618=EDGE_LOOP('',(#5615,#5617)); +-#5619=FACE_BOUND('',#5618,.F.); +-#5621=ORIENTED_EDGE('',*,*,#5620,.T.); +-#5623=ORIENTED_EDGE('',*,*,#5622,.T.); +-#5624=EDGE_LOOP('',(#5621,#5623)); +-#5625=FACE_BOUND('',#5624,.F.); +-#5627=ORIENTED_EDGE('',*,*,#5626,.T.); +-#5629=ORIENTED_EDGE('',*,*,#5628,.T.); +-#5630=EDGE_LOOP('',(#5627,#5629)); +-#5631=FACE_BOUND('',#5630,.F.); +-#5633=ORIENTED_EDGE('',*,*,#5632,.T.); +-#5635=ORIENTED_EDGE('',*,*,#5634,.T.); +-#5636=EDGE_LOOP('',(#5633,#5635)); +-#5637=FACE_BOUND('',#5636,.F.); +-#5639=ORIENTED_EDGE('',*,*,#5638,.T.); +-#5641=ORIENTED_EDGE('',*,*,#5640,.F.); +-#5643=ORIENTED_EDGE('',*,*,#5642,.F.); +-#5645=ORIENTED_EDGE('',*,*,#5644,.F.); +-#5647=ORIENTED_EDGE('',*,*,#5646,.F.); +-#5649=ORIENTED_EDGE('',*,*,#5648,.F.); +-#5651=ORIENTED_EDGE('',*,*,#5650,.F.); +-#5653=ORIENTED_EDGE('',*,*,#5652,.F.); +-#5654=EDGE_LOOP('',(#5639,#5641,#5643,#5645,#5647,#5649,#5651,#5653)); +-#5655=FACE_BOUND('',#5654,.F.); +-#5657=ORIENTED_EDGE('',*,*,#5656,.F.); +-#5659=ORIENTED_EDGE('',*,*,#5658,.F.); +-#5661=ORIENTED_EDGE('',*,*,#5660,.T.); +-#5663=ORIENTED_EDGE('',*,*,#5662,.F.); +-#5665=ORIENTED_EDGE('',*,*,#5664,.F.); +-#5667=ORIENTED_EDGE('',*,*,#5666,.F.); +-#5669=ORIENTED_EDGE('',*,*,#5668,.T.); +-#5671=ORIENTED_EDGE('',*,*,#5670,.F.); +-#5673=ORIENTED_EDGE('',*,*,#5672,.T.); +-#5675=ORIENTED_EDGE('',*,*,#5674,.F.); +-#5677=ORIENTED_EDGE('',*,*,#5676,.T.); +-#5679=ORIENTED_EDGE('',*,*,#5678,.F.); +-#5681=ORIENTED_EDGE('',*,*,#5680,.F.); +-#5683=ORIENTED_EDGE('',*,*,#5682,.T.); +-#5685=ORIENTED_EDGE('',*,*,#5684,.F.); +-#5687=ORIENTED_EDGE('',*,*,#5686,.F.); +-#5688=EDGE_LOOP('',(#5657,#5659,#5661,#5663,#5665,#5667,#5669,#5671,#5673,#5675, +-#5677,#5679,#5681,#5683,#5685,#5687)); +-#5689=FACE_BOUND('',#5688,.F.); +-#5691=ORIENTED_EDGE('',*,*,#5690,.T.); +-#5693=ORIENTED_EDGE('',*,*,#5692,.T.); +-#5694=EDGE_LOOP('',(#5691,#5693)); +-#5695=FACE_BOUND('',#5694,.F.); +-#5697=ORIENTED_EDGE('',*,*,#5696,.T.); +-#5699=ORIENTED_EDGE('',*,*,#5698,.T.); +-#5700=EDGE_LOOP('',(#5697,#5699)); +-#5701=FACE_BOUND('',#5700,.F.); +-#5703=ORIENTED_EDGE('',*,*,#5702,.T.); +-#5705=ORIENTED_EDGE('',*,*,#5704,.T.); +-#5706=EDGE_LOOP('',(#5703,#5705)); +-#5707=FACE_BOUND('',#5706,.F.); +-#5709=ORIENTED_EDGE('',*,*,#5708,.T.); +-#5711=ORIENTED_EDGE('',*,*,#5710,.T.); +-#5712=EDGE_LOOP('',(#5709,#5711)); +-#5713=FACE_BOUND('',#5712,.F.); +-#5715=ORIENTED_EDGE('',*,*,#5714,.T.); +-#5717=ORIENTED_EDGE('',*,*,#5716,.T.); +-#5718=EDGE_LOOP('',(#5715,#5717)); +-#5719=FACE_BOUND('',#5718,.F.); +-#5721=ORIENTED_EDGE('',*,*,#5720,.T.); +-#5723=ORIENTED_EDGE('',*,*,#5722,.T.); +-#5724=EDGE_LOOP('',(#5721,#5723)); +-#5725=FACE_BOUND('',#5724,.F.); +-#5727=ORIENTED_EDGE('',*,*,#5726,.T.); +-#5729=ORIENTED_EDGE('',*,*,#5728,.T.); +-#5731=ORIENTED_EDGE('',*,*,#5730,.T.); +-#5733=ORIENTED_EDGE('',*,*,#5732,.T.); +-#5734=EDGE_LOOP('',(#5727,#5729,#5731,#5733)); +-#5735=FACE_BOUND('',#5734,.F.); +-#5737=ORIENTED_EDGE('',*,*,#5736,.T.); +-#5739=ORIENTED_EDGE('',*,*,#5738,.F.); +-#5741=ORIENTED_EDGE('',*,*,#5740,.T.); +-#5743=ORIENTED_EDGE('',*,*,#5742,.T.); +-#5745=ORIENTED_EDGE('',*,*,#5744,.F.); +-#5746=EDGE_LOOP('',(#5737,#5739,#5741,#5743,#5745)); +-#5747=FACE_BOUND('',#5746,.F.); +-#5749=ORIENTED_EDGE('',*,*,#5748,.F.); +-#5751=ORIENTED_EDGE('',*,*,#5750,.T.); +-#5753=ORIENTED_EDGE('',*,*,#5752,.T.); +-#5755=ORIENTED_EDGE('',*,*,#5754,.T.); +-#5757=ORIENTED_EDGE('',*,*,#5756,.F.); +-#5759=ORIENTED_EDGE('',*,*,#5758,.T.); +-#5761=ORIENTED_EDGE('',*,*,#5760,.F.); +-#5763=ORIENTED_EDGE('',*,*,#5762,.T.); +-#5765=ORIENTED_EDGE('',*,*,#5764,.F.); +-#5767=ORIENTED_EDGE('',*,*,#5766,.T.); +-#5769=ORIENTED_EDGE('',*,*,#5768,.F.); +-#5771=ORIENTED_EDGE('',*,*,#5770,.T.); +-#5773=ORIENTED_EDGE('',*,*,#5772,.F.); +-#5775=ORIENTED_EDGE('',*,*,#5774,.T.); +-#5776=EDGE_LOOP('',(#5749,#5751,#5753,#5755,#5757,#5759,#5761,#5763,#5765,#5767, +-#5769,#5771,#5773,#5775)); +-#5777=FACE_BOUND('',#5776,.F.); +-#5779=ORIENTED_EDGE('',*,*,#5778,.T.); +-#5781=ORIENTED_EDGE('',*,*,#5780,.T.); +-#5783=ORIENTED_EDGE('',*,*,#5782,.T.); +-#5785=ORIENTED_EDGE('',*,*,#5784,.T.); +-#5786=EDGE_LOOP('',(#5779,#5781,#5783,#5785)); +-#5787=FACE_BOUND('',#5786,.F.); +-#5789=ORIENTED_EDGE('',*,*,#5788,.T.); +-#5791=ORIENTED_EDGE('',*,*,#5790,.T.); +-#5793=ORIENTED_EDGE('',*,*,#5792,.T.); +-#5795=ORIENTED_EDGE('',*,*,#5794,.T.); +-#5796=EDGE_LOOP('',(#5789,#5791,#5793,#5795)); +-#5797=FACE_BOUND('',#5796,.F.); +-#5799=ORIENTED_EDGE('',*,*,#5798,.T.); +-#5801=ORIENTED_EDGE('',*,*,#5800,.T.); +-#5803=ORIENTED_EDGE('',*,*,#5802,.T.); +-#5805=ORIENTED_EDGE('',*,*,#5804,.T.); +-#5806=EDGE_LOOP('',(#5799,#5801,#5803,#5805)); +-#5807=FACE_BOUND('',#5806,.F.); +-#5809=ORIENTED_EDGE('',*,*,#5808,.T.); +-#5811=ORIENTED_EDGE('',*,*,#5810,.T.); +-#5813=ORIENTED_EDGE('',*,*,#5812,.T.); +-#5815=ORIENTED_EDGE('',*,*,#5814,.T.); +-#5816=EDGE_LOOP('',(#5809,#5811,#5813,#5815)); +-#5817=FACE_BOUND('',#5816,.F.); +-#5819=ORIENTED_EDGE('',*,*,#5818,.F.); +-#5821=ORIENTED_EDGE('',*,*,#5820,.F.); +-#5823=ORIENTED_EDGE('',*,*,#5822,.F.); +-#5825=ORIENTED_EDGE('',*,*,#5824,.F.); +-#5826=EDGE_LOOP('',(#5819,#5821,#5823,#5825)); +-#5827=FACE_BOUND('',#5826,.F.); +-#5829=ORIENTED_EDGE('',*,*,#5828,.F.); +-#5831=ORIENTED_EDGE('',*,*,#5830,.F.); +-#5833=ORIENTED_EDGE('',*,*,#5832,.F.); +-#5835=ORIENTED_EDGE('',*,*,#5834,.F.); +-#5836=EDGE_LOOP('',(#5829,#5831,#5833,#5835)); +-#5837=FACE_BOUND('',#5836,.F.); +-#5839=ORIENTED_EDGE('',*,*,#5838,.F.); +-#5841=ORIENTED_EDGE('',*,*,#5840,.F.); +-#5843=ORIENTED_EDGE('',*,*,#5842,.F.); +-#5845=ORIENTED_EDGE('',*,*,#5844,.F.); +-#5846=EDGE_LOOP('',(#5839,#5841,#5843,#5845)); +-#5847=FACE_BOUND('',#5846,.F.); +-#5849=ORIENTED_EDGE('',*,*,#5848,.F.); +-#5851=ORIENTED_EDGE('',*,*,#5850,.F.); +-#5853=ORIENTED_EDGE('',*,*,#5852,.F.); +-#5855=ORIENTED_EDGE('',*,*,#5854,.F.); +-#5856=EDGE_LOOP('',(#5849,#5851,#5853,#5855)); +-#5857=FACE_BOUND('',#5856,.F.); +-#5859=ORIENTED_EDGE('',*,*,#5858,.F.); +-#5861=ORIENTED_EDGE('',*,*,#5860,.F.); +-#5863=ORIENTED_EDGE('',*,*,#5862,.F.); +-#5865=ORIENTED_EDGE('',*,*,#5864,.F.); +-#5866=EDGE_LOOP('',(#5859,#5861,#5863,#5865)); +-#5867=FACE_BOUND('',#5866,.F.); +-#5869=ORIENTED_EDGE('',*,*,#5868,.F.); +-#5871=ORIENTED_EDGE('',*,*,#5870,.F.); +-#5873=ORIENTED_EDGE('',*,*,#5872,.F.); +-#5875=ORIENTED_EDGE('',*,*,#5874,.F.); +-#5876=EDGE_LOOP('',(#5869,#5871,#5873,#5875)); +-#5877=FACE_BOUND('',#5876,.F.); +-#5879=ORIENTED_EDGE('',*,*,#5878,.T.); +-#5881=ORIENTED_EDGE('',*,*,#5880,.T.); +-#5883=ORIENTED_EDGE('',*,*,#5882,.T.); +-#5885=ORIENTED_EDGE('',*,*,#5884,.T.); +-#5886=EDGE_LOOP('',(#5879,#5881,#5883,#5885)); +-#5887=FACE_BOUND('',#5886,.F.); +-#5889=ORIENTED_EDGE('',*,*,#5888,.F.); +-#5891=ORIENTED_EDGE('',*,*,#5890,.F.); +-#5893=ORIENTED_EDGE('',*,*,#5892,.F.); +-#5895=ORIENTED_EDGE('',*,*,#5894,.F.); +-#5897=ORIENTED_EDGE('',*,*,#5896,.F.); +-#5899=ORIENTED_EDGE('',*,*,#5898,.F.); +-#5901=ORIENTED_EDGE('',*,*,#5900,.F.); +-#5903=ORIENTED_EDGE('',*,*,#5902,.F.); +-#5905=ORIENTED_EDGE('',*,*,#5904,.F.); +-#5907=ORIENTED_EDGE('',*,*,#5906,.F.); +-#5909=ORIENTED_EDGE('',*,*,#5908,.F.); +-#5911=ORIENTED_EDGE('',*,*,#5910,.F.); +-#5913=ORIENTED_EDGE('',*,*,#5912,.F.); +-#5915=ORIENTED_EDGE('',*,*,#5914,.F.); +-#5916=EDGE_LOOP('',(#5889,#5891,#5893,#5895,#5897,#5899,#5901,#5903,#5905,#5907, +-#5909,#5911,#5913,#5915)); +-#5917=FACE_BOUND('',#5916,.F.); +-#5919=ORIENTED_EDGE('',*,*,#5918,.F.); +-#5921=ORIENTED_EDGE('',*,*,#5920,.F.); +-#5923=ORIENTED_EDGE('',*,*,#5922,.F.); +-#5925=ORIENTED_EDGE('',*,*,#5924,.T.); +-#5927=ORIENTED_EDGE('',*,*,#5926,.F.); +-#5928=EDGE_LOOP('',(#5919,#5921,#5923,#5925,#5927)); +-#5929=FACE_BOUND('',#5928,.F.); +-#5931=ORIENTED_EDGE('',*,*,#5930,.F.); +-#5933=ORIENTED_EDGE('',*,*,#5932,.F.); +-#5935=ORIENTED_EDGE('',*,*,#5934,.F.); +-#5937=ORIENTED_EDGE('',*,*,#5936,.T.); +-#5939=ORIENTED_EDGE('',*,*,#5938,.F.); +-#5940=EDGE_LOOP('',(#5931,#5933,#5935,#5937,#5939)); +-#5941=FACE_BOUND('',#5940,.F.); +-#5943=ORIENTED_EDGE('',*,*,#5942,.T.); +-#5945=ORIENTED_EDGE('',*,*,#5944,.F.); +-#5947=ORIENTED_EDGE('',*,*,#5946,.T.); +-#5949=ORIENTED_EDGE('',*,*,#5948,.T.); +-#5951=ORIENTED_EDGE('',*,*,#5950,.F.); +-#5952=EDGE_LOOP('',(#5943,#5945,#5947,#5949,#5951)); +-#5953=FACE_BOUND('',#5952,.F.); +-#5954=ADVANCED_FACE('',(#5539,#5553,#5559,#5565,#5571,#5577,#5583,#5589,#5595, +-#5601,#5607,#5613,#5619,#5625,#5631,#5637,#5655,#5689,#5695,#5701,#5707,#5713, +-#5719,#5725,#5735,#5747,#5777,#5787,#5797,#5807,#5817,#5827,#5837,#5847,#5857, +-#5867,#5877,#5887,#5917,#5929,#5941,#5953),#5493,.F.); +-#5955=CARTESIAN_POINT('',(0.E0,0.E0,8.E0)); +-#5956=DIRECTION('',(0.E0,0.E0,1.E0)); +-#5957=DIRECTION('',(1.E0,0.E0,0.E0)); +-#5958=AXIS2_PLACEMENT_3D('',#5955,#5956,#5957); +-#5959=PLANE('',#5958); +-#5960=ORIENTED_EDGE('',*,*,#5540,.F.); +-#5962=ORIENTED_EDGE('',*,*,#5961,.T.); +-#5964=ORIENTED_EDGE('',*,*,#5963,.F.); +-#5966=ORIENTED_EDGE('',*,*,#5965,.F.); +-#5967=ORIENTED_EDGE('',*,*,#5494,.T.); +-#5969=ORIENTED_EDGE('',*,*,#5968,.F.); +-#5971=ORIENTED_EDGE('',*,*,#5970,.F.); +-#5973=ORIENTED_EDGE('',*,*,#5972,.T.); +-#5975=ORIENTED_EDGE('',*,*,#5974,.F.); +-#5977=ORIENTED_EDGE('',*,*,#5976,.F.); +-#5979=ORIENTED_EDGE('',*,*,#5978,.F.); +-#5981=ORIENTED_EDGE('',*,*,#5980,.T.); +-#5983=ORIENTED_EDGE('',*,*,#5982,.T.); +-#5985=ORIENTED_EDGE('',*,*,#5984,.F.); +-#5986=ORIENTED_EDGE('',*,*,#5510,.F.); +-#5988=ORIENTED_EDGE('',*,*,#5987,.F.); +-#5990=ORIENTED_EDGE('',*,*,#5989,.F.); +-#5992=ORIENTED_EDGE('',*,*,#5991,.T.); +-#5993=EDGE_LOOP('',(#5960,#5962,#5964,#5966,#5967,#5969,#5971,#5973,#5975,#5977, +-#5979,#5981,#5983,#5985,#5986,#5988,#5990,#5992)); +-#5994=FACE_OUTER_BOUND('',#5993,.F.); +-#5996=ORIENTED_EDGE('',*,*,#5995,.T.); +-#5998=ORIENTED_EDGE('',*,*,#5997,.T.); +-#5999=EDGE_LOOP('',(#5996,#5998)); +-#6000=FACE_BOUND('',#5999,.F.); +-#6002=ORIENTED_EDGE('',*,*,#6001,.T.); +-#6004=ORIENTED_EDGE('',*,*,#6003,.T.); +-#6005=EDGE_LOOP('',(#6002,#6004)); +-#6006=FACE_BOUND('',#6005,.F.); +-#6008=ORIENTED_EDGE('',*,*,#6007,.T.); +-#6010=ORIENTED_EDGE('',*,*,#6009,.T.); +-#6011=EDGE_LOOP('',(#6008,#6010)); +-#6012=FACE_BOUND('',#6011,.F.); +-#6014=ORIENTED_EDGE('',*,*,#6013,.T.); +-#6016=ORIENTED_EDGE('',*,*,#6015,.T.); +-#6017=EDGE_LOOP('',(#6014,#6016)); +-#6018=FACE_BOUND('',#6017,.F.); +-#6020=ORIENTED_EDGE('',*,*,#6019,.F.); +-#6022=ORIENTED_EDGE('',*,*,#6021,.F.); +-#6023=EDGE_LOOP('',(#6020,#6022)); +-#6024=FACE_BOUND('',#6023,.F.); +-#6026=ORIENTED_EDGE('',*,*,#6025,.F.); +-#6028=ORIENTED_EDGE('',*,*,#6027,.F.); +-#6029=EDGE_LOOP('',(#6026,#6028)); +-#6030=FACE_BOUND('',#6029,.F.); +-#6032=ORIENTED_EDGE('',*,*,#6031,.F.); +-#6034=ORIENTED_EDGE('',*,*,#6033,.F.); +-#6035=EDGE_LOOP('',(#6032,#6034)); +-#6036=FACE_BOUND('',#6035,.F.); +-#6038=ORIENTED_EDGE('',*,*,#6037,.F.); +-#6040=ORIENTED_EDGE('',*,*,#6039,.F.); +-#6041=EDGE_LOOP('',(#6038,#6040)); +-#6042=FACE_BOUND('',#6041,.F.); +-#6044=ORIENTED_EDGE('',*,*,#6043,.T.); +-#6046=ORIENTED_EDGE('',*,*,#6045,.F.); +-#6048=ORIENTED_EDGE('',*,*,#6047,.T.); +-#6050=ORIENTED_EDGE('',*,*,#6049,.F.); +-#6052=ORIENTED_EDGE('',*,*,#6051,.T.); +-#6054=ORIENTED_EDGE('',*,*,#6053,.F.); +-#6056=ORIENTED_EDGE('',*,*,#6055,.T.); +-#6058=ORIENTED_EDGE('',*,*,#6057,.F.); +-#6059=EDGE_LOOP('',(#6044,#6046,#6048,#6050,#6052,#6054,#6056,#6058)); +-#6060=FACE_BOUND('',#6059,.F.); +-#6062=ORIENTED_EDGE('',*,*,#6061,.F.); +-#6064=ORIENTED_EDGE('',*,*,#6063,.F.); +-#6066=ORIENTED_EDGE('',*,*,#6065,.F.); +-#6068=ORIENTED_EDGE('',*,*,#6067,.F.); +-#6070=ORIENTED_EDGE('',*,*,#6069,.F.); +-#6072=ORIENTED_EDGE('',*,*,#6071,.F.); +-#6074=ORIENTED_EDGE('',*,*,#6073,.F.); +-#6076=ORIENTED_EDGE('',*,*,#6075,.F.); +-#6077=EDGE_LOOP('',(#6062,#6064,#6066,#6068,#6070,#6072,#6074,#6076)); +-#6078=FACE_BOUND('',#6077,.F.); +-#6079=ADVANCED_FACE('',(#5994,#6000,#6006,#6012,#6018,#6024,#6030,#6036,#6042, +-#6060,#6078),#5959,.F.); +-#6080=CARTESIAN_POINT('',(1.975E1,1.09375E1,8.E0)); +-#6081=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#6082=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#6083=AXIS2_PLACEMENT_3D('',#6080,#6081,#6082); +-#6084=CYLINDRICAL_SURFACE('',#6083,9.5E-2); +-#6085=ORIENTED_EDGE('',*,*,#5995,.F.); +-#6087=ORIENTED_EDGE('',*,*,#6086,.T.); +-#6089=ORIENTED_EDGE('',*,*,#6088,.T.); +-#6091=ORIENTED_EDGE('',*,*,#6090,.F.); +-#6092=EDGE_LOOP('',(#6085,#6087,#6089,#6091)); +-#6093=FACE_OUTER_BOUND('',#6092,.F.); +-#6094=ADVANCED_FACE('',(#6093),#6084,.F.); +-#6095=CARTESIAN_POINT('',(1.975E1,1.09375E1,8.E0)); +-#6096=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#6097=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#6098=AXIS2_PLACEMENT_3D('',#6095,#6096,#6097); +-#6099=CYLINDRICAL_SURFACE('',#6098,9.5E-2); +-#6100=ORIENTED_EDGE('',*,*,#5997,.F.); +-#6101=ORIENTED_EDGE('',*,*,#6090,.T.); +-#6103=ORIENTED_EDGE('',*,*,#6102,.T.); +-#6104=ORIENTED_EDGE('',*,*,#6086,.F.); +-#6105=EDGE_LOOP('',(#6100,#6101,#6103,#6104)); +-#6106=FACE_OUTER_BOUND('',#6105,.F.); +-#6107=ADVANCED_FACE('',(#6106),#6099,.F.); +-#6108=CARTESIAN_POINT('',(1.975E1,1.09375E1,8.25E0)); +-#6109=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#6110=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#6111=AXIS2_PLACEMENT_3D('',#6108,#6109,#6110); +-#6112=PLANE('',#6111); +-#6113=ORIENTED_EDGE('',*,*,#6088,.F.); +-#6114=ORIENTED_EDGE('',*,*,#6102,.F.); +-#6115=EDGE_LOOP('',(#6113,#6114)); +-#6116=FACE_OUTER_BOUND('',#6115,.F.); +-#6117=ADVANCED_FACE('',(#6116),#6112,.T.); +-#6118=CARTESIAN_POINT('',(1.975E1,1.05E1,8.E0)); +-#6119=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#6120=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#6121=AXIS2_PLACEMENT_3D('',#6118,#6119,#6120); +-#6122=CYLINDRICAL_SURFACE('',#6121,1.625E-1); +-#6123=ORIENTED_EDGE('',*,*,#6001,.F.); +-#6125=ORIENTED_EDGE('',*,*,#6124,.T.); +-#6127=ORIENTED_EDGE('',*,*,#6126,.T.); +-#6129=ORIENTED_EDGE('',*,*,#6128,.F.); +-#6130=EDGE_LOOP('',(#6123,#6125,#6127,#6129)); +-#6131=FACE_OUTER_BOUND('',#6130,.F.); +-#6132=ADVANCED_FACE('',(#6131),#6122,.F.); +-#6133=CARTESIAN_POINT('',(1.975E1,1.05E1,8.E0)); +-#6134=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#6135=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#6136=AXIS2_PLACEMENT_3D('',#6133,#6134,#6135); +-#6137=CYLINDRICAL_SURFACE('',#6136,1.625E-1); +-#6138=ORIENTED_EDGE('',*,*,#6003,.F.); +-#6139=ORIENTED_EDGE('',*,*,#6128,.T.); +-#6141=ORIENTED_EDGE('',*,*,#6140,.T.); +-#6142=ORIENTED_EDGE('',*,*,#6124,.F.); +-#6143=EDGE_LOOP('',(#6138,#6139,#6141,#6142)); +-#6144=FACE_OUTER_BOUND('',#6143,.F.); +-#6145=ADVANCED_FACE('',(#6144),#6137,.F.); +-#6146=CARTESIAN_POINT('',(2.4E1,0.E0,1.E1)); +-#6147=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#6148=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#6149=AXIS2_PLACEMENT_3D('',#6146,#6147,#6148); +-#6150=PLANE('',#6149); +-#6152=ORIENTED_EDGE('',*,*,#6151,.T.); +-#6154=ORIENTED_EDGE('',*,*,#6153,.T.); +-#6156=ORIENTED_EDGE('',*,*,#6155,.F.); +-#6158=ORIENTED_EDGE('',*,*,#6157,.F.); +-#6160=ORIENTED_EDGE('',*,*,#6159,.T.); +-#6162=ORIENTED_EDGE('',*,*,#6161,.T.); +-#6164=ORIENTED_EDGE('',*,*,#6163,.T.); +-#6166=ORIENTED_EDGE('',*,*,#6165,.T.); +-#6168=ORIENTED_EDGE('',*,*,#6167,.F.); +-#6169=EDGE_LOOP('',(#6152,#6154,#6156,#6158,#6160,#6162,#6164,#6166,#6168)); +-#6170=FACE_OUTER_BOUND('',#6169,.F.); +-#6171=ORIENTED_EDGE('',*,*,#6126,.F.); +-#6172=ORIENTED_EDGE('',*,*,#6140,.F.); +-#6173=EDGE_LOOP('',(#6171,#6172)); +-#6174=FACE_BOUND('',#6173,.F.); +-#6176=ORIENTED_EDGE('',*,*,#6175,.F.); +-#6178=ORIENTED_EDGE('',*,*,#6177,.F.); +-#6180=ORIENTED_EDGE('',*,*,#6179,.F.); +-#6182=ORIENTED_EDGE('',*,*,#6181,.F.); +-#6184=ORIENTED_EDGE('',*,*,#6183,.F.); +-#6186=ORIENTED_EDGE('',*,*,#6185,.F.); +-#6188=ORIENTED_EDGE('',*,*,#6187,.F.); +-#6190=ORIENTED_EDGE('',*,*,#6189,.F.); +-#6192=ORIENTED_EDGE('',*,*,#6191,.F.); +-#6194=ORIENTED_EDGE('',*,*,#6193,.F.); +-#6196=ORIENTED_EDGE('',*,*,#6195,.F.); +-#6198=ORIENTED_EDGE('',*,*,#6197,.F.); +-#6199=EDGE_LOOP('',(#6176,#6178,#6180,#6182,#6184,#6186,#6188,#6190,#6192,#6194, +-#6196,#6198)); +-#6200=FACE_BOUND('',#6199,.F.); +-#6201=ADVANCED_FACE('',(#6170,#6174,#6200),#6150,.F.); +-#6202=CARTESIAN_POINT('',(2.375E1,1.5E0,1.2E1)); +-#6203=DIRECTION('',(1.E0,0.E0,0.E0)); +-#6204=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#6205=AXIS2_PLACEMENT_3D('',#6202,#6203,#6204); +-#6206=PLANE('',#6205); +-#6208=ORIENTED_EDGE('',*,*,#6207,.F.); +-#6210=ORIENTED_EDGE('',*,*,#6209,.F.); +-#6211=ORIENTED_EDGE('',*,*,#6151,.F.); +-#6212=EDGE_LOOP('',(#6208,#6210,#6211)); +-#6213=FACE_OUTER_BOUND('',#6212,.F.); +-#6214=ADVANCED_FACE('',(#6213),#6206,.T.); +-#6215=CARTESIAN_POINT('',(0.E0,1.5E0,0.E0)); +-#6216=DIRECTION('',(0.E0,1.E0,0.E0)); +-#6217=DIRECTION('',(1.E0,0.E0,0.E0)); +-#6218=AXIS2_PLACEMENT_3D('',#6215,#6216,#6217); +-#6219=PLANE('',#6218); +-#6220=ORIENTED_EDGE('',*,*,#5963,.T.); +-#6222=ORIENTED_EDGE('',*,*,#6221,.F.); +-#6224=ORIENTED_EDGE('',*,*,#6223,.F.); +-#6226=ORIENTED_EDGE('',*,*,#6225,.T.); +-#6228=ORIENTED_EDGE('',*,*,#6227,.F.); +-#6230=ORIENTED_EDGE('',*,*,#6229,.F.); +-#6231=ORIENTED_EDGE('',*,*,#5989,.T.); +-#6233=ORIENTED_EDGE('',*,*,#6232,.F.); +-#6235=ORIENTED_EDGE('',*,*,#6234,.F.); +-#6237=ORIENTED_EDGE('',*,*,#6236,.T.); +-#6239=ORIENTED_EDGE('',*,*,#6238,.F.); +-#6241=ORIENTED_EDGE('',*,*,#6240,.T.); +-#6243=ORIENTED_EDGE('',*,*,#6242,.F.); +-#6245=ORIENTED_EDGE('',*,*,#6244,.F.); +-#6246=EDGE_LOOP('',(#6220,#6222,#6224,#6226,#6228,#6230,#6231,#6233,#6235,#6237, +-#6239,#6241,#6243,#6245)); +-#6247=FACE_OUTER_BOUND('',#6246,.F.); +-#6249=ORIENTED_EDGE('',*,*,#6248,.F.); +-#6251=ORIENTED_EDGE('',*,*,#6250,.F.); +-#6252=EDGE_LOOP('',(#6249,#6251)); +-#6253=FACE_BOUND('',#6252,.F.); +-#6255=ORIENTED_EDGE('',*,*,#6254,.F.); +-#6257=ORIENTED_EDGE('',*,*,#6256,.F.); +-#6258=EDGE_LOOP('',(#6255,#6257)); +-#6259=FACE_BOUND('',#6258,.F.); +-#6261=ORIENTED_EDGE('',*,*,#6260,.F.); +-#6263=ORIENTED_EDGE('',*,*,#6262,.F.); +-#6264=EDGE_LOOP('',(#6261,#6263)); +-#6265=FACE_BOUND('',#6264,.F.); +-#6267=ORIENTED_EDGE('',*,*,#6266,.F.); +-#6269=ORIENTED_EDGE('',*,*,#6268,.F.); +-#6270=EDGE_LOOP('',(#6267,#6269)); +-#6271=FACE_BOUND('',#6270,.F.); +-#6273=ORIENTED_EDGE('',*,*,#6272,.F.); +-#6275=ORIENTED_EDGE('',*,*,#6274,.F.); +-#6276=EDGE_LOOP('',(#6273,#6275)); +-#6277=FACE_BOUND('',#6276,.F.); +-#6278=ADVANCED_FACE('',(#6247,#6253,#6259,#6265,#6271,#6277),#6219,.T.); +-#6279=CARTESIAN_POINT('',(0.E0,1.5E0,0.E0)); +-#6280=DIRECTION('',(0.E0,1.E0,0.E0)); +-#6281=DIRECTION('',(1.E0,0.E0,0.E0)); +-#6282=AXIS2_PLACEMENT_3D('',#6279,#6280,#6281); +-#6283=PLANE('',#6282); +-#6284=ORIENTED_EDGE('',*,*,#6207,.T.); +-#6285=ORIENTED_EDGE('',*,*,#6167,.T.); +-#6287=ORIENTED_EDGE('',*,*,#6286,.T.); +-#6289=ORIENTED_EDGE('',*,*,#6288,.F.); +-#6291=ORIENTED_EDGE('',*,*,#6290,.T.); +-#6293=ORIENTED_EDGE('',*,*,#6292,.F.); +-#6295=ORIENTED_EDGE('',*,*,#6294,.F.); +-#6297=ORIENTED_EDGE('',*,*,#6296,.T.); +-#6299=ORIENTED_EDGE('',*,*,#6298,.F.); +-#6301=ORIENTED_EDGE('',*,*,#6300,.T.); +-#6303=ORIENTED_EDGE('',*,*,#6302,.F.); +-#6305=ORIENTED_EDGE('',*,*,#6304,.F.); +-#6307=ORIENTED_EDGE('',*,*,#6306,.F.); +-#6309=ORIENTED_EDGE('',*,*,#6308,.T.); +-#6311=ORIENTED_EDGE('',*,*,#6310,.F.); +-#6313=ORIENTED_EDGE('',*,*,#6312,.T.); +-#6315=ORIENTED_EDGE('',*,*,#6314,.F.); +-#6317=ORIENTED_EDGE('',*,*,#6316,.T.); +-#6319=ORIENTED_EDGE('',*,*,#6318,.T.); +-#6321=ORIENTED_EDGE('',*,*,#6320,.T.); +-#6323=ORIENTED_EDGE('',*,*,#6322,.F.); +-#6324=ORIENTED_EDGE('',*,*,#5976,.T.); +-#6326=ORIENTED_EDGE('',*,*,#6325,.T.); +-#6327=ORIENTED_EDGE('',*,*,#6157,.T.); +-#6329=ORIENTED_EDGE('',*,*,#6328,.F.); +-#6331=ORIENTED_EDGE('',*,*,#6330,.F.); +-#6332=EDGE_LOOP('',(#6284,#6285,#6287,#6289,#6291,#6293,#6295,#6297,#6299,#6301, +-#6303,#6305,#6307,#6309,#6311,#6313,#6315,#6317,#6319,#6321,#6323,#6324,#6326, +-#6327,#6329,#6331)); +-#6333=FACE_OUTER_BOUND('',#6332,.F.); +-#6335=ORIENTED_EDGE('',*,*,#6334,.F.); +-#6337=ORIENTED_EDGE('',*,*,#6336,.F.); +-#6338=EDGE_LOOP('',(#6335,#6337)); +-#6339=FACE_BOUND('',#6338,.F.); +-#6341=ORIENTED_EDGE('',*,*,#6340,.F.); +-#6343=ORIENTED_EDGE('',*,*,#6342,.F.); +-#6344=EDGE_LOOP('',(#6341,#6343)); +-#6345=FACE_BOUND('',#6344,.F.); +-#6347=ORIENTED_EDGE('',*,*,#6346,.T.); +-#6349=ORIENTED_EDGE('',*,*,#6348,.T.); +-#6350=EDGE_LOOP('',(#6347,#6349)); +-#6351=FACE_BOUND('',#6350,.F.); +-#6353=ORIENTED_EDGE('',*,*,#6352,.T.); +-#6355=ORIENTED_EDGE('',*,*,#6354,.T.); +-#6356=EDGE_LOOP('',(#6353,#6355)); +-#6357=FACE_BOUND('',#6356,.F.); +-#6359=ORIENTED_EDGE('',*,*,#6358,.F.); +-#6361=ORIENTED_EDGE('',*,*,#6360,.F.); +-#6362=EDGE_LOOP('',(#6359,#6361)); +-#6363=FACE_BOUND('',#6362,.F.); +-#6365=ORIENTED_EDGE('',*,*,#6364,.F.); +-#6367=ORIENTED_EDGE('',*,*,#6366,.F.); +-#6368=EDGE_LOOP('',(#6365,#6367)); +-#6369=FACE_BOUND('',#6368,.F.); +-#6371=ORIENTED_EDGE('',*,*,#6370,.F.); +-#6373=ORIENTED_EDGE('',*,*,#6372,.F.); +-#6374=EDGE_LOOP('',(#6371,#6373)); +-#6375=FACE_BOUND('',#6374,.F.); +-#6377=ORIENTED_EDGE('',*,*,#6376,.F.); +-#6379=ORIENTED_EDGE('',*,*,#6378,.F.); +-#6380=EDGE_LOOP('',(#6377,#6379)); +-#6381=FACE_BOUND('',#6380,.F.); +-#6383=ORIENTED_EDGE('',*,*,#6382,.F.); +-#6385=ORIENTED_EDGE('',*,*,#6384,.F.); +-#6386=EDGE_LOOP('',(#6383,#6385)); +-#6387=FACE_BOUND('',#6386,.F.); +-#6389=ORIENTED_EDGE('',*,*,#6388,.F.); +-#6391=ORIENTED_EDGE('',*,*,#6390,.F.); +-#6392=EDGE_LOOP('',(#6389,#6391)); +-#6393=FACE_BOUND('',#6392,.F.); +-#6395=ORIENTED_EDGE('',*,*,#6394,.F.); +-#6397=ORIENTED_EDGE('',*,*,#6396,.F.); +-#6398=EDGE_LOOP('',(#6395,#6397)); +-#6399=FACE_BOUND('',#6398,.F.); +-#6401=ORIENTED_EDGE('',*,*,#6400,.T.); +-#6403=ORIENTED_EDGE('',*,*,#6402,.F.); +-#6405=ORIENTED_EDGE('',*,*,#6404,.F.); +-#6407=ORIENTED_EDGE('',*,*,#6406,.F.); +-#6409=ORIENTED_EDGE('',*,*,#6408,.T.); +-#6411=ORIENTED_EDGE('',*,*,#6410,.F.); +-#6413=ORIENTED_EDGE('',*,*,#6412,.T.); +-#6415=ORIENTED_EDGE('',*,*,#6414,.F.); +-#6416=EDGE_LOOP('',(#6401,#6403,#6405,#6407,#6409,#6411,#6413,#6415)); +-#6417=FACE_BOUND('',#6416,.F.); +-#6419=ORIENTED_EDGE('',*,*,#6418,.F.); +-#6421=ORIENTED_EDGE('',*,*,#6420,.F.); +-#6423=ORIENTED_EDGE('',*,*,#6422,.T.); +-#6425=ORIENTED_EDGE('',*,*,#6424,.F.); +-#6427=ORIENTED_EDGE('',*,*,#6426,.T.); +-#6429=ORIENTED_EDGE('',*,*,#6428,.F.); +-#6431=ORIENTED_EDGE('',*,*,#6430,.T.); +-#6433=ORIENTED_EDGE('',*,*,#6432,.F.); +-#6435=ORIENTED_EDGE('',*,*,#6434,.F.); +-#6437=ORIENTED_EDGE('',*,*,#6436,.F.); +-#6439=ORIENTED_EDGE('',*,*,#6438,.F.); +-#6441=ORIENTED_EDGE('',*,*,#6440,.T.); +-#6443=ORIENTED_EDGE('',*,*,#6442,.F.); +-#6445=ORIENTED_EDGE('',*,*,#6444,.F.); +-#6447=ORIENTED_EDGE('',*,*,#6446,.T.); +-#6449=ORIENTED_EDGE('',*,*,#6448,.F.); +-#6450=EDGE_LOOP('',(#6419,#6421,#6423,#6425,#6427,#6429,#6431,#6433,#6435,#6437, +-#6439,#6441,#6443,#6445,#6447,#6449)); +-#6451=FACE_BOUND('',#6450,.F.); +-#6453=ORIENTED_EDGE('',*,*,#6452,.F.); +-#6455=ORIENTED_EDGE('',*,*,#6454,.F.); +-#6456=EDGE_LOOP('',(#6453,#6455)); +-#6457=FACE_BOUND('',#6456,.F.); +-#6459=ORIENTED_EDGE('',*,*,#6458,.F.); +-#6461=ORIENTED_EDGE('',*,*,#6460,.F.); +-#6462=EDGE_LOOP('',(#6459,#6461)); +-#6463=FACE_BOUND('',#6462,.F.); +-#6465=ORIENTED_EDGE('',*,*,#6464,.F.); +-#6467=ORIENTED_EDGE('',*,*,#6466,.F.); +-#6468=EDGE_LOOP('',(#6465,#6467)); +-#6469=FACE_BOUND('',#6468,.F.); +-#6471=ORIENTED_EDGE('',*,*,#6470,.F.); +-#6473=ORIENTED_EDGE('',*,*,#6472,.F.); +-#6474=EDGE_LOOP('',(#6471,#6473)); +-#6475=FACE_BOUND('',#6474,.F.); +-#6477=ORIENTED_EDGE('',*,*,#6476,.F.); +-#6479=ORIENTED_EDGE('',*,*,#6478,.F.); +-#6480=EDGE_LOOP('',(#6477,#6479)); +-#6481=FACE_BOUND('',#6480,.F.); +-#6483=ORIENTED_EDGE('',*,*,#6482,.F.); +-#6485=ORIENTED_EDGE('',*,*,#6484,.F.); +-#6486=EDGE_LOOP('',(#6483,#6485)); +-#6487=FACE_BOUND('',#6486,.F.); +-#6488=ADVANCED_FACE('',(#6333,#6339,#6345,#6351,#6357,#6363,#6369,#6375,#6381, +-#6387,#6393,#6399,#6417,#6451,#6457,#6463,#6469,#6475,#6481,#6487),#6283,.T.); +-#6489=CARTESIAN_POINT('',(6.45E0,1.176878221735E0,2.975E1)); +-#6490=DIRECTION('',(0.E0,1.E0,0.E0)); +-#6491=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#6492=AXIS2_PLACEMENT_3D('',#6489,#6490,#6491); +-#6493=CYLINDRICAL_SURFACE('',#6492,1.E-1); +-#6494=ORIENTED_EDGE('',*,*,#6334,.T.); +-#6496=ORIENTED_EDGE('',*,*,#6495,.F.); +-#6498=ORIENTED_EDGE('',*,*,#6497,.F.); +-#6500=ORIENTED_EDGE('',*,*,#6499,.T.); +-#6501=EDGE_LOOP('',(#6494,#6496,#6498,#6500)); +-#6502=FACE_OUTER_BOUND('',#6501,.F.); +-#6503=ADVANCED_FACE('',(#6502),#6493,.F.); +-#6504=CARTESIAN_POINT('',(6.45E0,1.176878221735E0,2.975E1)); +-#6505=DIRECTION('',(0.E0,1.E0,0.E0)); +-#6506=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#6507=AXIS2_PLACEMENT_3D('',#6504,#6505,#6506); +-#6508=CYLINDRICAL_SURFACE('',#6507,1.E-1); +-#6509=ORIENTED_EDGE('',*,*,#6336,.T.); +-#6510=ORIENTED_EDGE('',*,*,#6499,.F.); +-#6512=ORIENTED_EDGE('',*,*,#6511,.T.); +-#6513=ORIENTED_EDGE('',*,*,#6495,.T.); +-#6514=EDGE_LOOP('',(#6509,#6510,#6512,#6513)); +-#6515=FACE_OUTER_BOUND('',#6514,.F.); +-#6516=ADVANCED_FACE('',(#6515),#6508,.F.); +-#6517=CARTESIAN_POINT('',(6.45E0,1.234346967234E0,2.975E1)); +-#6518=DIRECTION('',(0.E0,1.E0,0.E0)); +-#6519=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#6520=AXIS2_PLACEMENT_3D('',#6517,#6518,#6519); +-#6521=CONICAL_SURFACE('',#6520,7.288815195685E-2,6.E1); +-#6523=ORIENTED_EDGE('',*,*,#6522,.T.); +-#6524=ORIENTED_EDGE('',*,*,#6511,.F.); +-#6526=ORIENTED_EDGE('',*,*,#6525,.F.); +-#6527=EDGE_LOOP('',(#6523,#6524,#6526)); +-#6528=FACE_OUTER_BOUND('',#6527,.F.); +-#6529=ADVANCED_FACE('',(#6528),#6521,.F.); +-#6530=CARTESIAN_POINT('',(6.45E0,1.234346967234E0,2.975E1)); +-#6531=DIRECTION('',(0.E0,1.E0,0.E0)); +-#6532=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#6533=AXIS2_PLACEMENT_3D('',#6530,#6531,#6532); +-#6534=CONICAL_SURFACE('',#6533,7.288815195685E-2,6.E1); +-#6535=ORIENTED_EDGE('',*,*,#6522,.F.); +-#6536=ORIENTED_EDGE('',*,*,#6525,.T.); +-#6537=ORIENTED_EDGE('',*,*,#6497,.T.); +-#6538=EDGE_LOOP('',(#6535,#6536,#6537)); +-#6539=FACE_OUTER_BOUND('',#6538,.F.); +-#6540=ADVANCED_FACE('',(#6539),#6534,.F.); +-#6541=CARTESIAN_POINT('',(7.45E0,1.176878221735E0,2.975E1)); +-#6542=DIRECTION('',(0.E0,1.E0,0.E0)); +-#6543=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#6544=AXIS2_PLACEMENT_3D('',#6541,#6542,#6543); +-#6545=CYLINDRICAL_SURFACE('',#6544,1.E-1); +-#6546=ORIENTED_EDGE('',*,*,#6340,.T.); +-#6548=ORIENTED_EDGE('',*,*,#6547,.F.); +-#6550=ORIENTED_EDGE('',*,*,#6549,.F.); +-#6552=ORIENTED_EDGE('',*,*,#6551,.T.); +-#6553=EDGE_LOOP('',(#6546,#6548,#6550,#6552)); +-#6554=FACE_OUTER_BOUND('',#6553,.F.); +-#6555=ADVANCED_FACE('',(#6554),#6545,.F.); +-#6556=CARTESIAN_POINT('',(7.45E0,1.176878221735E0,2.975E1)); +-#6557=DIRECTION('',(0.E0,1.E0,0.E0)); +-#6558=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#6559=AXIS2_PLACEMENT_3D('',#6556,#6557,#6558); +-#6560=CYLINDRICAL_SURFACE('',#6559,1.E-1); +-#6561=ORIENTED_EDGE('',*,*,#6342,.T.); +-#6562=ORIENTED_EDGE('',*,*,#6551,.F.); +-#6564=ORIENTED_EDGE('',*,*,#6563,.T.); +-#6565=ORIENTED_EDGE('',*,*,#6547,.T.); +-#6566=EDGE_LOOP('',(#6561,#6562,#6564,#6565)); +-#6567=FACE_OUTER_BOUND('',#6566,.F.); +-#6568=ADVANCED_FACE('',(#6567),#6560,.F.); +-#6569=CARTESIAN_POINT('',(7.45E0,1.234346967234E0,2.975E1)); +-#6570=DIRECTION('',(0.E0,1.E0,0.E0)); +-#6571=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#6572=AXIS2_PLACEMENT_3D('',#6569,#6570,#6571); +-#6573=CONICAL_SURFACE('',#6572,7.288815195685E-2,6.E1); +-#6575=ORIENTED_EDGE('',*,*,#6574,.T.); +-#6576=ORIENTED_EDGE('',*,*,#6563,.F.); +-#6578=ORIENTED_EDGE('',*,*,#6577,.F.); +-#6579=EDGE_LOOP('',(#6575,#6576,#6578)); +-#6580=FACE_OUTER_BOUND('',#6579,.F.); +-#6581=ADVANCED_FACE('',(#6580),#6573,.F.); +-#6582=CARTESIAN_POINT('',(7.45E0,1.234346967234E0,2.975E1)); +-#6583=DIRECTION('',(0.E0,1.E0,0.E0)); +-#6584=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#6585=AXIS2_PLACEMENT_3D('',#6582,#6583,#6584); +-#6586=CONICAL_SURFACE('',#6585,7.288815195685E-2,6.E1); +-#6587=ORIENTED_EDGE('',*,*,#6574,.F.); +-#6588=ORIENTED_EDGE('',*,*,#6577,.T.); +-#6589=ORIENTED_EDGE('',*,*,#6549,.T.); +-#6590=EDGE_LOOP('',(#6587,#6588,#6589)); +-#6591=FACE_OUTER_BOUND('',#6590,.F.); +-#6592=ADVANCED_FACE('',(#6591),#6586,.F.); +-#6593=CARTESIAN_POINT('',(2.046862696660E1,-7.805924235695E-2,7.E0)); +-#6594=DIRECTION('',(0.E0,1.E0,0.E0)); +-#6595=DIRECTION('',(0.E0,0.E0,1.E0)); +-#6596=AXIS2_PLACEMENT_3D('',#6593,#6594,#6595); +-#6597=CYLINDRICAL_SURFACE('',#6596,1.E0); +-#6598=ORIENTED_EDGE('',*,*,#5961,.F.); +-#6599=ORIENTED_EDGE('',*,*,#5550,.T.); +-#6601=ORIENTED_EDGE('',*,*,#6600,.T.); +-#6602=ORIENTED_EDGE('',*,*,#6221,.T.); +-#6603=EDGE_LOOP('',(#6598,#6599,#6601,#6602)); +-#6604=FACE_OUTER_BOUND('',#6603,.F.); +-#6605=ADVANCED_FACE('',(#6604),#6597,.F.); +-#6606=CARTESIAN_POINT('',(1.65E1,1.562633489099E0,7.5E0)); +-#6607=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#6608=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#6609=AXIS2_PLACEMENT_3D('',#6606,#6607,#6608); +-#6610=CYLINDRICAL_SURFACE('',#6609,5.E0); +-#6611=ORIENTED_EDGE('',*,*,#6600,.F.); +-#6612=ORIENTED_EDGE('',*,*,#5548,.T.); +-#6614=ORIENTED_EDGE('',*,*,#6613,.F.); +-#6615=ORIENTED_EDGE('',*,*,#6223,.T.); +-#6616=EDGE_LOOP('',(#6611,#6612,#6614,#6615)); +-#6617=FACE_OUTER_BOUND('',#6616,.F.); +-#6618=ADVANCED_FACE('',(#6617),#6610,.F.); +-#6619=CARTESIAN_POINT('',(2.15E1,1.5E0,2.5E0)); +-#6620=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#6621=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#6622=AXIS2_PLACEMENT_3D('',#6619,#6620,#6621); +-#6623=PLANE('',#6622); +-#6625=ORIENTED_EDGE('',*,*,#6624,.F.); +-#6626=ORIENTED_EDGE('',*,*,#6225,.F.); +-#6627=ORIENTED_EDGE('',*,*,#6613,.T.); +-#6628=ORIENTED_EDGE('',*,*,#5546,.T.); +-#6629=EDGE_LOOP('',(#6625,#6626,#6627,#6628)); +-#6630=FACE_OUTER_BOUND('',#6629,.F.); +-#6631=ADVANCED_FACE('',(#6630),#6623,.F.); +-#6632=CARTESIAN_POINT('',(7.5E0,1.562633489099E0,7.5E0)); +-#6633=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#6634=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#6635=AXIS2_PLACEMENT_3D('',#6632,#6633,#6634); +-#6636=CYLINDRICAL_SURFACE('',#6635,5.E0); +-#6638=ORIENTED_EDGE('',*,*,#6637,.F.); +-#6639=ORIENTED_EDGE('',*,*,#6227,.T.); +-#6640=ORIENTED_EDGE('',*,*,#6624,.T.); +-#6641=ORIENTED_EDGE('',*,*,#5544,.T.); +-#6642=EDGE_LOOP('',(#6638,#6639,#6640,#6641)); +-#6643=FACE_OUTER_BOUND('',#6642,.F.); +-#6644=ADVANCED_FACE('',(#6643),#6636,.F.); +-#6645=CARTESIAN_POINT('',(3.531373033403E0,1.157860978230E1,7.E0)); +-#6646=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#6647=DIRECTION('',(0.E0,0.E0,1.E0)); +-#6648=AXIS2_PLACEMENT_3D('',#6645,#6646,#6647); +-#6649=CYLINDRICAL_SURFACE('',#6648,1.E0); +-#6650=ORIENTED_EDGE('',*,*,#5991,.F.); +-#6651=ORIENTED_EDGE('',*,*,#6229,.T.); +-#6652=ORIENTED_EDGE('',*,*,#6637,.T.); +-#6653=ORIENTED_EDGE('',*,*,#5542,.T.); +-#6654=EDGE_LOOP('',(#6650,#6651,#6652,#6653)); +-#6655=FACE_OUTER_BOUND('',#6654,.F.); +-#6656=ADVANCED_FACE('',(#6655),#6649,.F.); +-#6657=CARTESIAN_POINT('',(-1.E0,1.161044894892E1,7.E0)); +-#6658=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#6659=DIRECTION('',(1.E0,0.E0,0.E0)); +-#6660=AXIS2_PLACEMENT_3D('',#6657,#6658,#6659); +-#6661=CYLINDRICAL_SURFACE('',#6660,1.E0); +-#6663=ORIENTED_EDGE('',*,*,#6662,.F.); +-#6664=ORIENTED_EDGE('',*,*,#6232,.T.); +-#6665=ORIENTED_EDGE('',*,*,#5987,.T.); +-#6666=ORIENTED_EDGE('',*,*,#5508,.T.); +-#6667=EDGE_LOOP('',(#6663,#6664,#6665,#6666)); +-#6668=FACE_OUTER_BOUND('',#6667,.F.); +-#6669=ADVANCED_FACE('',(#6668),#6661,.F.); +-#6670=CARTESIAN_POINT('',(0.E0,0.E0,0.E0)); +-#6671=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#6672=DIRECTION('',(0.E0,0.E0,1.E0)); +-#6673=AXIS2_PLACEMENT_3D('',#6670,#6671,#6672); +-#6674=PLANE('',#6673); +-#6676=ORIENTED_EDGE('',*,*,#6675,.T.); +-#6677=ORIENTED_EDGE('',*,*,#6302,.T.); +-#6679=ORIENTED_EDGE('',*,*,#6678,.F.); +-#6680=ORIENTED_EDGE('',*,*,#5520,.F.); +-#6681=EDGE_LOOP('',(#6676,#6677,#6679,#6680)); +-#6682=FACE_OUTER_BOUND('',#6681,.F.); +-#6683=ADVANCED_FACE('',(#6682),#6674,.T.); +-#6684=CARTESIAN_POINT('',(0.E0,0.E0,0.E0)); +-#6685=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#6686=DIRECTION('',(0.E0,0.E0,1.E0)); +-#6687=AXIS2_PLACEMENT_3D('',#6684,#6685,#6686); +-#6688=PLANE('',#6687); +-#6689=ORIENTED_EDGE('',*,*,#6662,.T.); +-#6690=ORIENTED_EDGE('',*,*,#5506,.F.); +-#6692=ORIENTED_EDGE('',*,*,#6691,.T.); +-#6693=ORIENTED_EDGE('',*,*,#6234,.T.); +-#6694=EDGE_LOOP('',(#6689,#6690,#6692,#6693)); +-#6695=FACE_OUTER_BOUND('',#6694,.F.); +-#6696=ADVANCED_FACE('',(#6695),#6688,.T.); +-#6697=CARTESIAN_POINT('',(-1.E0,-5.722942641981E-2,1.325E1)); +-#6698=DIRECTION('',(0.E0,1.E0,0.E0)); +-#6699=DIRECTION('',(1.E0,0.E0,0.E0)); +-#6700=AXIS2_PLACEMENT_3D('',#6697,#6698,#6699); +-#6701=CYLINDRICAL_SURFACE('',#6700,1.E0); +-#6702=ORIENTED_EDGE('',*,*,#6675,.F.); +-#6703=ORIENTED_EDGE('',*,*,#5518,.T.); +-#6705=ORIENTED_EDGE('',*,*,#6704,.T.); +-#6706=ORIENTED_EDGE('',*,*,#6304,.T.); +-#6707=EDGE_LOOP('',(#6702,#6703,#6705,#6706)); +-#6708=FACE_OUTER_BOUND('',#6707,.F.); +-#6709=ADVANCED_FACE('',(#6708),#6701,.F.); +-#6710=CARTESIAN_POINT('',(-2.E0,0.E0,1.225E1)); +-#6711=DIRECTION('',(0.E0,0.E0,1.E0)); +-#6712=DIRECTION('',(1.E0,0.E0,0.E0)); +-#6713=AXIS2_PLACEMENT_3D('',#6710,#6711,#6712); +-#6714=PLANE('',#6713); +-#6716=ORIENTED_EDGE('',*,*,#6715,.F.); +-#6717=ORIENTED_EDGE('',*,*,#6442,.T.); +-#6719=ORIENTED_EDGE('',*,*,#6718,.F.); +-#6720=ORIENTED_EDGE('',*,*,#5668,.F.); +-#6721=EDGE_LOOP('',(#6716,#6717,#6719,#6720)); +-#6722=FACE_OUTER_BOUND('',#6721,.F.); +-#6723=ADVANCED_FACE('',(#6722),#6714,.T.); +-#6724=CARTESIAN_POINT('',(-2.E0,0.E0,1.225E1)); +-#6725=DIRECTION('',(0.E0,0.E0,1.E0)); +-#6726=DIRECTION('',(1.E0,0.E0,0.E0)); +-#6727=AXIS2_PLACEMENT_3D('',#6724,#6725,#6726); +-#6728=PLANE('',#6727); +-#6729=ORIENTED_EDGE('',*,*,#6704,.F.); +-#6730=ORIENTED_EDGE('',*,*,#5516,.F.); +-#6732=ORIENTED_EDGE('',*,*,#6731,.T.); +-#6733=ORIENTED_EDGE('',*,*,#6306,.T.); +-#6734=EDGE_LOOP('',(#6729,#6730,#6732,#6733)); +-#6735=FACE_OUTER_BOUND('',#6734,.F.); +-#6736=ADVANCED_FACE('',(#6735),#6728,.T.); +-#6737=CARTESIAN_POINT('',(3.5E0,1.566978255297E0,1.325E1)); +-#6738=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#6739=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#6740=AXIS2_PLACEMENT_3D('',#6737,#6738,#6739); +-#6741=CYLINDRICAL_SURFACE('',#6740,1.E0); +-#6743=ORIENTED_EDGE('',*,*,#6742,.F.); +-#6744=ORIENTED_EDGE('',*,*,#6444,.T.); +-#6745=ORIENTED_EDGE('',*,*,#6715,.T.); +-#6746=ORIENTED_EDGE('',*,*,#5666,.T.); +-#6747=EDGE_LOOP('',(#6743,#6744,#6745,#6746)); +-#6748=FACE_OUTER_BOUND('',#6747,.F.); +-#6749=ADVANCED_FACE('',(#6748),#6741,.F.); +-#6750=CARTESIAN_POINT('',(2.5E0,1.5E0,2.5E0)); +-#6751=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#6752=DIRECTION('',(0.E0,0.E0,1.E0)); +-#6753=AXIS2_PLACEMENT_3D('',#6750,#6751,#6752); +-#6754=PLANE('',#6753); +-#6756=ORIENTED_EDGE('',*,*,#6755,.T.); +-#6757=ORIENTED_EDGE('',*,*,#5650,.T.); +-#6759=ORIENTED_EDGE('',*,*,#6758,.F.); +-#6760=ORIENTED_EDGE('',*,*,#6408,.F.); +-#6761=EDGE_LOOP('',(#6756,#6757,#6759,#6760)); +-#6762=FACE_OUTER_BOUND('',#6761,.F.); +-#6763=ADVANCED_FACE('',(#6762),#6754,.F.); +-#6764=CARTESIAN_POINT('',(2.5E0,1.5E0,2.5E0)); +-#6765=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#6766=DIRECTION('',(0.E0,0.E0,1.E0)); +-#6767=AXIS2_PLACEMENT_3D('',#6764,#6765,#6766); +-#6768=PLANE('',#6767); +-#6770=ORIENTED_EDGE('',*,*,#6769,.T.); +-#6771=ORIENTED_EDGE('',*,*,#6446,.F.); +-#6772=ORIENTED_EDGE('',*,*,#6742,.T.); +-#6773=ORIENTED_EDGE('',*,*,#5664,.T.); +-#6774=EDGE_LOOP('',(#6770,#6771,#6772,#6773)); +-#6775=FACE_OUTER_BOUND('',#6774,.F.); +-#6776=ADVANCED_FACE('',(#6775),#6768,.F.); +-#6777=CARTESIAN_POINT('',(5.5E0,1.568923974228E0,2.19375E1)); +-#6778=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#6779=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#6780=AXIS2_PLACEMENT_3D('',#6777,#6778,#6779); +-#6781=CYLINDRICAL_SURFACE('',#6780,3.E0); +-#6782=ORIENTED_EDGE('',*,*,#6755,.F.); +-#6783=ORIENTED_EDGE('',*,*,#6406,.T.); +-#6785=ORIENTED_EDGE('',*,*,#6784,.T.); +-#6786=ORIENTED_EDGE('',*,*,#5652,.T.); +-#6787=EDGE_LOOP('',(#6782,#6783,#6785,#6786)); +-#6788=FACE_OUTER_BOUND('',#6787,.F.); +-#6789=ADVANCED_FACE('',(#6788),#6781,.F.); +-#6790=CARTESIAN_POINT('',(2.5E0,0.E0,1.89375E1)); +-#6791=DIRECTION('',(0.E0,0.E0,1.E0)); +-#6792=DIRECTION('',(1.E0,0.E0,0.E0)); +-#6793=AXIS2_PLACEMENT_3D('',#6790,#6791,#6792); +-#6794=PLANE('',#6793); +-#6795=ORIENTED_EDGE('',*,*,#6784,.F.); +-#6796=ORIENTED_EDGE('',*,*,#6404,.T.); +-#6798=ORIENTED_EDGE('',*,*,#6797,.F.); +-#6799=ORIENTED_EDGE('',*,*,#5638,.F.); +-#6800=EDGE_LOOP('',(#6795,#6796,#6798,#6799)); +-#6801=FACE_OUTER_BOUND('',#6800,.F.); +-#6802=ADVANCED_FACE('',(#6801),#6794,.T.); +-#6803=CARTESIAN_POINT('',(1.85E1,-5.889194178308E-2,2.19375E1)); +-#6804=DIRECTION('',(0.E0,1.E0,0.E0)); +-#6805=DIRECTION('',(1.E0,0.E0,0.E0)); +-#6806=AXIS2_PLACEMENT_3D('',#6803,#6804,#6805); +-#6807=CYLINDRICAL_SURFACE('',#6806,3.E0); +-#6809=ORIENTED_EDGE('',*,*,#6808,.F.); +-#6810=ORIENTED_EDGE('',*,*,#5640,.T.); +-#6811=ORIENTED_EDGE('',*,*,#6797,.T.); +-#6812=ORIENTED_EDGE('',*,*,#6402,.T.); +-#6813=EDGE_LOOP('',(#6809,#6810,#6811,#6812)); +-#6814=FACE_OUTER_BOUND('',#6813,.F.); +-#6815=ADVANCED_FACE('',(#6814),#6807,.F.); +-#6816=CARTESIAN_POINT('',(2.15E1,1.5E0,2.95E1)); +-#6817=DIRECTION('',(1.E0,0.E0,0.E0)); +-#6818=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#6819=AXIS2_PLACEMENT_3D('',#6816,#6817,#6818); +-#6820=PLANE('',#6819); +-#6821=ORIENTED_EDGE('',*,*,#6808,.T.); +-#6822=ORIENTED_EDGE('',*,*,#6400,.F.); +-#6824=ORIENTED_EDGE('',*,*,#6823,.T.); +-#6825=ORIENTED_EDGE('',*,*,#5642,.T.); +-#6826=EDGE_LOOP('',(#6821,#6822,#6824,#6825)); +-#6827=FACE_OUTER_BOUND('',#6826,.F.); +-#6828=ADVANCED_FACE('',(#6827),#6820,.F.); +-#6829=CARTESIAN_POINT('',(2.15E1,1.5E0,2.95E1)); +-#6830=DIRECTION('',(1.E0,0.E0,0.E0)); +-#6831=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#6832=AXIS2_PLACEMENT_3D('',#6829,#6830,#6831); +-#6833=PLANE('',#6832); +-#6835=ORIENTED_EDGE('',*,*,#6834,.T.); +-#6836=ORIENTED_EDGE('',*,*,#5656,.T.); +-#6838=ORIENTED_EDGE('',*,*,#6837,.T.); +-#6839=ORIENTED_EDGE('',*,*,#6422,.F.); +-#6840=EDGE_LOOP('',(#6835,#6836,#6838,#6839)); +-#6841=FACE_OUTER_BOUND('',#6840,.F.); +-#6842=ADVANCED_FACE('',(#6841),#6833,.F.); +-#6843=CARTESIAN_POINT('',(1.65E1,1.562633489099E0,2.45E1)); +-#6844=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#6845=DIRECTION('',(1.E0,0.E0,0.E0)); +-#6846=AXIS2_PLACEMENT_3D('',#6843,#6844,#6845); +-#6847=CYLINDRICAL_SURFACE('',#6846,5.E0); +-#6848=ORIENTED_EDGE('',*,*,#6823,.F.); +-#6849=ORIENTED_EDGE('',*,*,#6414,.T.); +-#6851=ORIENTED_EDGE('',*,*,#6850,.T.); +-#6852=ORIENTED_EDGE('',*,*,#5644,.T.); +-#6853=EDGE_LOOP('',(#6848,#6849,#6851,#6852)); +-#6854=FACE_OUTER_BOUND('',#6853,.F.); +-#6855=ADVANCED_FACE('',(#6854),#6847,.F.); +-#6856=CARTESIAN_POINT('',(2.5E0,1.5E0,2.95E1)); +-#6857=DIRECTION('',(0.E0,0.E0,1.E0)); +-#6858=DIRECTION('',(1.E0,0.E0,0.E0)); +-#6859=AXIS2_PLACEMENT_3D('',#6856,#6857,#6858); +-#6860=PLANE('',#6859); +-#6862=ORIENTED_EDGE('',*,*,#6861,.T.); +-#6863=ORIENTED_EDGE('',*,*,#5646,.T.); +-#6864=ORIENTED_EDGE('',*,*,#6850,.F.); +-#6865=ORIENTED_EDGE('',*,*,#6412,.F.); +-#6866=EDGE_LOOP('',(#6862,#6863,#6864,#6865)); +-#6867=FACE_OUTER_BOUND('',#6866,.F.); +-#6868=ADVANCED_FACE('',(#6867),#6860,.F.); +-#6869=CARTESIAN_POINT('',(7.5E0,1.562633489099E0,2.45E1)); +-#6870=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#6871=DIRECTION('',(0.E0,0.E0,1.E0)); +-#6872=AXIS2_PLACEMENT_3D('',#6869,#6870,#6871); +-#6873=CYLINDRICAL_SURFACE('',#6872,5.E0); +-#6874=ORIENTED_EDGE('',*,*,#6861,.F.); +-#6875=ORIENTED_EDGE('',*,*,#6410,.T.); +-#6876=ORIENTED_EDGE('',*,*,#6758,.T.); +-#6877=ORIENTED_EDGE('',*,*,#5648,.T.); +-#6878=EDGE_LOOP('',(#6874,#6875,#6876,#6877)); +-#6879=FACE_OUTER_BOUND('',#6878,.F.); +-#6880=ADVANCED_FACE('',(#6879),#6873,.F.); +-#6881=CARTESIAN_POINT('',(1.85E1,1.568923974228E0,1.40625E1)); +-#6882=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#6883=DIRECTION('',(1.E0,0.E0,0.E0)); +-#6884=AXIS2_PLACEMENT_3D('',#6881,#6882,#6883); +-#6885=CYLINDRICAL_SURFACE('',#6884,3.E0); +-#6886=ORIENTED_EDGE('',*,*,#6834,.F.); +-#6887=ORIENTED_EDGE('',*,*,#6420,.T.); +-#6889=ORIENTED_EDGE('',*,*,#6888,.T.); +-#6890=ORIENTED_EDGE('',*,*,#5658,.T.); +-#6891=EDGE_LOOP('',(#6886,#6887,#6889,#6890)); +-#6892=FACE_OUTER_BOUND('',#6891,.F.); +-#6893=ADVANCED_FACE('',(#6892),#6885,.F.); +-#6894=CARTESIAN_POINT('',(2.15E1,0.E0,1.70625E1)); +-#6895=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#6896=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#6897=AXIS2_PLACEMENT_3D('',#6894,#6895,#6896); +-#6898=PLANE('',#6897); +-#6899=ORIENTED_EDGE('',*,*,#6888,.F.); +-#6900=ORIENTED_EDGE('',*,*,#6418,.T.); +-#6902=ORIENTED_EDGE('',*,*,#6901,.F.); +-#6903=ORIENTED_EDGE('',*,*,#5660,.F.); +-#6904=EDGE_LOOP('',(#6899,#6900,#6902,#6903)); +-#6905=FACE_OUTER_BOUND('',#6904,.F.); +-#6906=ADVANCED_FACE('',(#6905),#6898,.T.); +-#6907=CARTESIAN_POINT('',(5.5E0,-5.889194178308E-2,1.40625E1)); +-#6908=DIRECTION('',(0.E0,1.E0,0.E0)); +-#6909=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#6910=AXIS2_PLACEMENT_3D('',#6907,#6908,#6909); +-#6911=CYLINDRICAL_SURFACE('',#6910,3.E0); +-#6912=ORIENTED_EDGE('',*,*,#6769,.F.); +-#6913=ORIENTED_EDGE('',*,*,#5662,.T.); +-#6914=ORIENTED_EDGE('',*,*,#6901,.T.); +-#6915=ORIENTED_EDGE('',*,*,#6448,.T.); +-#6916=EDGE_LOOP('',(#6912,#6913,#6914,#6915)); +-#6917=FACE_OUTER_BOUND('',#6916,.F.); +-#6918=ADVANCED_FACE('',(#6917),#6911,.F.); +-#6919=CARTESIAN_POINT('',(2.05E1,-5.889194178308E-2,1.325E1)); +-#6920=DIRECTION('',(0.E0,1.E0,0.E0)); +-#6921=DIRECTION('',(1.E0,0.E0,0.E0)); +-#6922=AXIS2_PLACEMENT_3D('',#6919,#6920,#6921); +-#6923=CYLINDRICAL_SURFACE('',#6922,1.E0); +-#6924=ORIENTED_EDGE('',*,*,#6837,.F.); +-#6925=ORIENTED_EDGE('',*,*,#5686,.T.); +-#6927=ORIENTED_EDGE('',*,*,#6926,.T.); +-#6928=ORIENTED_EDGE('',*,*,#6424,.T.); +-#6929=EDGE_LOOP('',(#6924,#6925,#6927,#6928)); +-#6930=FACE_OUTER_BOUND('',#6929,.F.); +-#6931=ADVANCED_FACE('',(#6930),#6923,.F.); +-#6932=CARTESIAN_POINT('',(2.6E1,0.E0,1.225E1)); +-#6933=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#6934=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#6935=AXIS2_PLACEMENT_3D('',#6932,#6933,#6934); +-#6936=PLANE('',#6935); +-#6938=ORIENTED_EDGE('',*,*,#6937,.F.); +-#6939=ORIENTED_EDGE('',*,*,#6290,.F.); +-#6941=ORIENTED_EDGE('',*,*,#6940,.T.); +-#6942=ORIENTED_EDGE('',*,*,#5532,.T.); +-#6943=EDGE_LOOP('',(#6938,#6939,#6941,#6942)); +-#6944=FACE_OUTER_BOUND('',#6943,.F.); +-#6945=ADVANCED_FACE('',(#6944),#6936,.F.); +-#6946=CARTESIAN_POINT('',(2.6E1,0.E0,1.225E1)); +-#6947=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#6948=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#6949=AXIS2_PLACEMENT_3D('',#6946,#6947,#6948); +-#6950=PLANE('',#6949); +-#6951=ORIENTED_EDGE('',*,*,#6926,.F.); +-#6952=ORIENTED_EDGE('',*,*,#5684,.T.); +-#6954=ORIENTED_EDGE('',*,*,#6953,.F.); +-#6955=ORIENTED_EDGE('',*,*,#6426,.F.); +-#6956=EDGE_LOOP('',(#6951,#6952,#6954,#6955)); +-#6957=FACE_OUTER_BOUND('',#6956,.F.); +-#6958=ADVANCED_FACE('',(#6957),#6950,.F.); +-#6959=CARTESIAN_POINT('',(2.5E1,1.568923974228E0,1.325E1)); +-#6960=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#6961=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#6962=AXIS2_PLACEMENT_3D('',#6959,#6960,#6961); +-#6963=CYLINDRICAL_SURFACE('',#6962,1.E0); +-#6965=ORIENTED_EDGE('',*,*,#6964,.F.); +-#6966=ORIENTED_EDGE('',*,*,#6292,.T.); +-#6967=ORIENTED_EDGE('',*,*,#6937,.T.); +-#6968=ORIENTED_EDGE('',*,*,#5530,.T.); +-#6969=EDGE_LOOP('',(#6965,#6966,#6967,#6968)); +-#6970=FACE_OUTER_BOUND('',#6969,.F.); +-#6971=ADVANCED_FACE('',(#6970),#6963,.F.); +-#6972=CARTESIAN_POINT('',(2.4E1,0.E0,3.2E1)); +-#6973=DIRECTION('',(1.E0,0.E0,0.E0)); +-#6974=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#6975=AXIS2_PLACEMENT_3D('',#6972,#6973,#6974); +-#6976=PLANE('',#6975); +-#6977=ORIENTED_EDGE('',*,*,#6964,.T.); +-#6978=ORIENTED_EDGE('',*,*,#5528,.F.); +-#6980=ORIENTED_EDGE('',*,*,#6979,.T.); +-#6981=ORIENTED_EDGE('',*,*,#6294,.T.); +-#6982=EDGE_LOOP('',(#6977,#6978,#6980,#6981)); +-#6983=FACE_OUTER_BOUND('',#6982,.F.); +-#6984=ADVANCED_FACE('',(#6983),#6976,.T.); +-#6985=CARTESIAN_POINT('',(2.4E1,0.E0,3.2E1)); +-#6986=DIRECTION('',(1.E0,0.E0,0.E0)); +-#6987=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#6988=AXIS2_PLACEMENT_3D('',#6985,#6986,#6987); +-#6989=PLANE('',#6988); +-#6991=ORIENTED_EDGE('',*,*,#6990,.T.); +-#6992=ORIENTED_EDGE('',*,*,#6242,.T.); +-#6994=ORIENTED_EDGE('',*,*,#6993,.F.); +-#6995=ORIENTED_EDGE('',*,*,#5498,.F.); +-#6996=EDGE_LOOP('',(#6991,#6992,#6994,#6995)); +-#6997=FACE_OUTER_BOUND('',#6996,.F.); +-#6998=ADVANCED_FACE('',(#6997),#6989,.T.); +-#6999=CARTESIAN_POINT('',(2.4E1,0.E0,2.8E1)); +-#7000=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1)); +-#7001=DIRECTION('',(0.E0,1.E0,0.E0)); +-#7002=AXIS2_PLACEMENT_3D('',#6999,#7000,#7001); +-#7003=PLANE('',#7002); +-#7004=ORIENTED_EDGE('',*,*,#6979,.F.); +-#7005=ORIENTED_EDGE('',*,*,#5526,.T.); +-#7007=ORIENTED_EDGE('',*,*,#7006,.T.); +-#7008=ORIENTED_EDGE('',*,*,#6296,.F.); +-#7009=EDGE_LOOP('',(#7004,#7005,#7007,#7008)); +-#7010=FACE_OUTER_BOUND('',#7009,.F.); +-#7011=ADVANCED_FACE('',(#7010),#7003,.T.); +-#7012=CARTESIAN_POINT('',(0.E0,0.E0,3.2E1)); +-#7013=DIRECTION('',(0.E0,0.E0,1.E0)); +-#7014=DIRECTION('',(1.E0,0.E0,0.E0)); +-#7015=AXIS2_PLACEMENT_3D('',#7012,#7013,#7014); +-#7016=PLANE('',#7015); +-#7017=ORIENTED_EDGE('',*,*,#5524,.F.); +-#7019=ORIENTED_EDGE('',*,*,#7018,.T.); +-#7020=ORIENTED_EDGE('',*,*,#6298,.T.); +-#7021=ORIENTED_EDGE('',*,*,#7006,.F.); +-#7022=EDGE_LOOP('',(#7017,#7019,#7020,#7021)); +-#7023=FACE_OUTER_BOUND('',#7022,.F.); +-#7024=ADVANCED_FACE('',(#7023),#7016,.T.); +-#7025=CARTESIAN_POINT('',(4.E0,0.E0,3.2E1)); +-#7026=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1)); +-#7027=DIRECTION('',(0.E0,1.E0,0.E0)); +-#7028=AXIS2_PLACEMENT_3D('',#7025,#7026,#7027); +-#7029=PLANE('',#7028); +-#7030=ORIENTED_EDGE('',*,*,#7018,.F.); +-#7031=ORIENTED_EDGE('',*,*,#5522,.T.); +-#7032=ORIENTED_EDGE('',*,*,#6678,.T.); +-#7033=ORIENTED_EDGE('',*,*,#6300,.F.); +-#7034=EDGE_LOOP('',(#7030,#7031,#7032,#7033)); +-#7035=FACE_OUTER_BOUND('',#7034,.F.); +-#7036=ADVANCED_FACE('',(#7035),#7029,.T.); +-#7037=CARTESIAN_POINT('',(2.5E1,-7.055249658685E-2,7.E0)); +-#7038=DIRECTION('',(0.E0,1.E0,0.E0)); +-#7039=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#7040=AXIS2_PLACEMENT_3D('',#7037,#7038,#7039); +-#7041=CYLINDRICAL_SURFACE('',#7040,1.E0); +-#7042=ORIENTED_EDGE('',*,*,#6990,.F.); +-#7043=ORIENTED_EDGE('',*,*,#5496,.T.); +-#7044=ORIENTED_EDGE('',*,*,#5965,.T.); +-#7045=ORIENTED_EDGE('',*,*,#6244,.T.); +-#7046=EDGE_LOOP('',(#7042,#7043,#7044,#7045)); +-#7047=FACE_OUTER_BOUND('',#7046,.F.); +-#7048=ADVANCED_FACE('',(#7047),#7041,.F.); +-#7049=CARTESIAN_POINT('',(2.E1,0.E0,0.E0)); +-#7050=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1)); +-#7051=DIRECTION('',(0.E0,1.E0,0.E0)); +-#7052=AXIS2_PLACEMENT_3D('',#7049,#7050,#7051); +-#7053=PLANE('',#7052); +-#7055=ORIENTED_EDGE('',*,*,#7054,.F.); +-#7056=ORIENTED_EDGE('',*,*,#5500,.T.); +-#7057=ORIENTED_EDGE('',*,*,#6993,.T.); +-#7058=ORIENTED_EDGE('',*,*,#6240,.F.); +-#7059=EDGE_LOOP('',(#7055,#7056,#7057,#7058)); +-#7060=FACE_OUTER_BOUND('',#7059,.F.); +-#7061=ADVANCED_FACE('',(#7060),#7053,.T.); +-#7062=CARTESIAN_POINT('',(2.4E1,0.E0,0.E0)); +-#7063=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#7064=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#7065=AXIS2_PLACEMENT_3D('',#7062,#7063,#7064); +-#7066=PLANE('',#7065); +-#7067=ORIENTED_EDGE('',*,*,#5502,.F.); +-#7068=ORIENTED_EDGE('',*,*,#7054,.T.); +-#7069=ORIENTED_EDGE('',*,*,#6238,.T.); +-#7071=ORIENTED_EDGE('',*,*,#7070,.F.); +-#7072=EDGE_LOOP('',(#7067,#7068,#7069,#7071)); +-#7073=FACE_OUTER_BOUND('',#7072,.F.); +-#7074=ADVANCED_FACE('',(#7073),#7066,.T.); +-#7075=CARTESIAN_POINT('',(0.E0,0.E0,4.E0)); +-#7076=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1)); +-#7077=DIRECTION('',(0.E0,1.E0,0.E0)); +-#7078=AXIS2_PLACEMENT_3D('',#7075,#7076,#7077); +-#7079=PLANE('',#7078); +-#7080=ORIENTED_EDGE('',*,*,#6691,.F.); +-#7081=ORIENTED_EDGE('',*,*,#5504,.T.); +-#7082=ORIENTED_EDGE('',*,*,#7070,.T.); +-#7083=ORIENTED_EDGE('',*,*,#6236,.F.); +-#7084=EDGE_LOOP('',(#7080,#7081,#7082,#7083)); +-#7085=FACE_OUTER_BOUND('',#7084,.F.); +-#7086=ADVANCED_FACE('',(#7085),#7079,.T.); +-#7087=CARTESIAN_POINT('',(2.55E1,1.5E0,1.225E1)); +-#7088=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1)); +-#7089=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#7090=AXIS2_PLACEMENT_3D('',#7087,#7088,#7089); +-#7091=PLANE('',#7090); +-#7092=ORIENTED_EDGE('',*,*,#6940,.F.); +-#7093=ORIENTED_EDGE('',*,*,#6288,.T.); +-#7095=ORIENTED_EDGE('',*,*,#7094,.T.); +-#7096=ORIENTED_EDGE('',*,*,#5534,.F.); +-#7097=EDGE_LOOP('',(#7092,#7093,#7095,#7096)); +-#7098=FACE_OUTER_BOUND('',#7097,.F.); +-#7099=ADVANCED_FACE('',(#7098),#7091,.T.); +-#7100=CARTESIAN_POINT('',(2.6E1,2.5E0,8.E0)); +-#7101=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#7102=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#7103=AXIS2_PLACEMENT_3D('',#7100,#7101,#7102); +-#7104=PLANE('',#7103); +-#7105=ORIENTED_EDGE('',*,*,#5968,.T.); +-#7106=ORIENTED_EDGE('',*,*,#5536,.T.); +-#7107=ORIENTED_EDGE('',*,*,#7094,.F.); +-#7108=ORIENTED_EDGE('',*,*,#6286,.F.); +-#7109=ORIENTED_EDGE('',*,*,#6165,.F.); +-#7111=ORIENTED_EDGE('',*,*,#7110,.F.); +-#7112=EDGE_LOOP('',(#7105,#7106,#7107,#7108,#7109,#7111)); +-#7113=FACE_OUTER_BOUND('',#7112,.F.); +-#7114=ADVANCED_FACE('',(#7113),#7104,.F.); +-#7115=CARTESIAN_POINT('',(2.1E1,1.15E1,8.E0)); +-#7116=DIRECTION('',(-8.741572761215E-1,-4.856429311786E-1,0.E0)); +-#7117=DIRECTION('',(4.856429311786E-1,-8.741572761215E-1,0.E0)); +-#7118=AXIS2_PLACEMENT_3D('',#7115,#7116,#7117); +-#7119=PLANE('',#7118); +-#7120=ORIENTED_EDGE('',*,*,#5970,.T.); +-#7121=ORIENTED_EDGE('',*,*,#7110,.T.); +-#7122=ORIENTED_EDGE('',*,*,#6163,.F.); +-#7124=ORIENTED_EDGE('',*,*,#7123,.F.); +-#7125=EDGE_LOOP('',(#7120,#7121,#7122,#7124)); +-#7126=FACE_OUTER_BOUND('',#7125,.F.); +-#7127=ADVANCED_FACE('',(#7126),#7119,.F.); +-#7128=CARTESIAN_POINT('',(1.9E1,1.15E1,8.E0)); +-#7129=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#7130=DIRECTION('',(1.E0,0.E0,0.E0)); +-#7131=AXIS2_PLACEMENT_3D('',#7128,#7129,#7130); +-#7132=PLANE('',#7131); +-#7133=ORIENTED_EDGE('',*,*,#5972,.F.); +-#7134=ORIENTED_EDGE('',*,*,#7123,.T.); +-#7135=ORIENTED_EDGE('',*,*,#6161,.F.); +-#7137=ORIENTED_EDGE('',*,*,#7136,.F.); +-#7138=EDGE_LOOP('',(#7133,#7134,#7135,#7137)); +-#7139=FACE_OUTER_BOUND('',#7138,.F.); +-#7141=ORIENTED_EDGE('',*,*,#7140,.T.); +-#7143=ORIENTED_EDGE('',*,*,#7142,.T.); +-#7144=EDGE_LOOP('',(#7141,#7143)); +-#7145=FACE_BOUND('',#7144,.F.); +-#7147=ORIENTED_EDGE('',*,*,#7146,.T.); +-#7149=ORIENTED_EDGE('',*,*,#7148,.T.); +-#7150=EDGE_LOOP('',(#7147,#7149)); +-#7151=FACE_BOUND('',#7150,.F.); +-#7152=ADVANCED_FACE('',(#7139,#7145,#7151),#7132,.F.); +-#7153=CARTESIAN_POINT('',(1.9E1,1.5E0,8.E0)); +-#7154=DIRECTION('',(1.E0,0.E0,0.E0)); +-#7155=DIRECTION('',(0.E0,1.E0,0.E0)); +-#7156=AXIS2_PLACEMENT_3D('',#7153,#7154,#7155); +-#7157=PLANE('',#7156); +-#7159=ORIENTED_EDGE('',*,*,#7158,.T.); +-#7160=ORIENTED_EDGE('',*,*,#6430,.F.); +-#7162=ORIENTED_EDGE('',*,*,#7161,.T.); +-#7163=ORIENTED_EDGE('',*,*,#5680,.T.); +-#7164=EDGE_LOOP('',(#7159,#7160,#7162,#7163)); +-#7165=FACE_OUTER_BOUND('',#7164,.F.); +-#7166=ADVANCED_FACE('',(#7165),#7157,.F.); +-#7167=CARTESIAN_POINT('',(1.9E1,1.5E0,8.E0)); +-#7168=DIRECTION('',(1.E0,0.E0,0.E0)); +-#7169=DIRECTION('',(0.E0,1.E0,0.E0)); +-#7170=AXIS2_PLACEMENT_3D('',#7167,#7168,#7169); +-#7171=PLANE('',#7170); +-#7172=ORIENTED_EDGE('',*,*,#6325,.F.); +-#7173=ORIENTED_EDGE('',*,*,#5974,.T.); +-#7174=ORIENTED_EDGE('',*,*,#7136,.T.); +-#7175=ORIENTED_EDGE('',*,*,#6159,.F.); +-#7176=EDGE_LOOP('',(#7172,#7173,#7174,#7175)); +-#7177=FACE_OUTER_BOUND('',#7176,.F.); +-#7178=ADVANCED_FACE('',(#7177),#7171,.F.); +-#7179=CARTESIAN_POINT('',(1.8E1,-7.099592191979E-2,1.1E1)); +-#7180=DIRECTION('',(0.E0,1.E0,0.E0)); +-#7181=DIRECTION('',(1.E0,0.E0,0.E0)); +-#7182=AXIS2_PLACEMENT_3D('',#7179,#7180,#7181); +-#7183=CYLINDRICAL_SURFACE('',#7182,1.E0); +-#7184=ORIENTED_EDGE('',*,*,#7158,.F.); +-#7185=ORIENTED_EDGE('',*,*,#5678,.T.); +-#7187=ORIENTED_EDGE('',*,*,#7186,.T.); +-#7188=ORIENTED_EDGE('',*,*,#6432,.T.); +-#7189=EDGE_LOOP('',(#7184,#7185,#7187,#7188)); +-#7190=FACE_OUTER_BOUND('',#7189,.F.); +-#7191=ADVANCED_FACE('',(#7190),#7183,.F.); +-#7192=CARTESIAN_POINT('',(5.E0,1.5E0,1.E1)); +-#7193=DIRECTION('',(0.E0,0.E0,1.E0)); +-#7194=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#7195=AXIS2_PLACEMENT_3D('',#7192,#7193,#7194); +-#7196=PLANE('',#7195); +-#7198=ORIENTED_EDGE('',*,*,#7197,.F.); +-#7199=ORIENTED_EDGE('',*,*,#6434,.T.); +-#7200=ORIENTED_EDGE('',*,*,#7186,.F.); +-#7201=ORIENTED_EDGE('',*,*,#5676,.F.); +-#7202=EDGE_LOOP('',(#7198,#7199,#7200,#7201)); +-#7203=FACE_OUTER_BOUND('',#7202,.F.); +-#7204=ADVANCED_FACE('',(#7203),#7196,.T.); +-#7205=CARTESIAN_POINT('',(6.E0,1.567729432957E0,1.1E1)); +-#7206=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#7207=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#7208=AXIS2_PLACEMENT_3D('',#7205,#7206,#7207); +-#7209=CYLINDRICAL_SURFACE('',#7208,1.E0); +-#7211=ORIENTED_EDGE('',*,*,#7210,.F.); +-#7212=ORIENTED_EDGE('',*,*,#6436,.T.); +-#7213=ORIENTED_EDGE('',*,*,#7197,.T.); +-#7214=ORIENTED_EDGE('',*,*,#5674,.T.); +-#7215=EDGE_LOOP('',(#7211,#7212,#7213,#7214)); +-#7216=FACE_OUTER_BOUND('',#7215,.F.); +-#7217=ADVANCED_FACE('',(#7216),#7209,.F.); +-#7218=CARTESIAN_POINT('',(5.E0,1.5E0,8.E0)); +-#7219=DIRECTION('',(1.E0,0.E0,0.E0)); +-#7220=DIRECTION('',(0.E0,1.E0,0.E0)); +-#7221=AXIS2_PLACEMENT_3D('',#7218,#7219,#7220); +-#7222=PLANE('',#7221); +-#7223=ORIENTED_EDGE('',*,*,#7210,.T.); +-#7224=ORIENTED_EDGE('',*,*,#5672,.F.); +-#7226=ORIENTED_EDGE('',*,*,#7225,.T.); +-#7227=ORIENTED_EDGE('',*,*,#6438,.T.); +-#7228=EDGE_LOOP('',(#7223,#7224,#7226,#7227)); +-#7229=FACE_OUTER_BOUND('',#7228,.F.); +-#7230=ADVANCED_FACE('',(#7229),#7222,.T.); +-#7231=CARTESIAN_POINT('',(5.E0,1.5E0,8.E0)); +-#7232=DIRECTION('',(1.E0,0.E0,0.E0)); +-#7233=DIRECTION('',(0.E0,1.E0,0.E0)); +-#7234=AXIS2_PLACEMENT_3D('',#7231,#7232,#7233); +-#7235=PLANE('',#7234); +-#7236=ORIENTED_EDGE('',*,*,#6322,.T.); +-#7238=ORIENTED_EDGE('',*,*,#7237,.T.); +-#7240=ORIENTED_EDGE('',*,*,#7239,.F.); +-#7241=ORIENTED_EDGE('',*,*,#5978,.T.); +-#7242=EDGE_LOOP('',(#7236,#7238,#7240,#7241)); +-#7243=FACE_OUTER_BOUND('',#7242,.F.); +-#7244=ADVANCED_FACE('',(#7243),#7235,.T.); +-#7245=CARTESIAN_POINT('',(5.E0,0.E0,1.175E1)); +-#7246=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1)); +-#7247=DIRECTION('',(0.E0,1.E0,0.E0)); +-#7248=AXIS2_PLACEMENT_3D('',#7245,#7246,#7247); +-#7249=PLANE('',#7248); +-#7250=ORIENTED_EDGE('',*,*,#7225,.F.); +-#7251=ORIENTED_EDGE('',*,*,#5670,.T.); +-#7252=ORIENTED_EDGE('',*,*,#6718,.T.); +-#7253=ORIENTED_EDGE('',*,*,#6440,.F.); +-#7254=EDGE_LOOP('',(#7250,#7251,#7252,#7253)); +-#7255=FACE_OUTER_BOUND('',#7254,.F.); +-#7256=ADVANCED_FACE('',(#7255),#7249,.T.); +-#7257=CARTESIAN_POINT('',(0.E0,0.E0,1.E1)); +-#7258=DIRECTION('',(0.E0,0.E0,1.E0)); +-#7259=DIRECTION('',(1.E0,0.E0,0.E0)); +-#7260=AXIS2_PLACEMENT_3D('',#7257,#7258,#7259); +-#7261=PLANE('',#7260); +-#7263=ORIENTED_EDGE('',*,*,#7262,.F.); +-#7264=ORIENTED_EDGE('',*,*,#6312,.F.); +-#7266=ORIENTED_EDGE('',*,*,#7265,.F.); +-#7268=ORIENTED_EDGE('',*,*,#7267,.F.); +-#7270=ORIENTED_EDGE('',*,*,#7269,.F.); +-#7271=ORIENTED_EDGE('',*,*,#7237,.F.); +-#7272=ORIENTED_EDGE('',*,*,#6320,.F.); +-#7274=ORIENTED_EDGE('',*,*,#7273,.T.); +-#7276=ORIENTED_EDGE('',*,*,#7275,.F.); +-#7277=EDGE_LOOP('',(#7263,#7264,#7266,#7268,#7270,#7271,#7272,#7274,#7276)); +-#7278=FACE_OUTER_BOUND('',#7277,.F.); +-#7280=ORIENTED_EDGE('',*,*,#7279,.T.); +-#7282=ORIENTED_EDGE('',*,*,#7281,.T.); +-#7283=EDGE_LOOP('',(#7280,#7282)); +-#7284=FACE_BOUND('',#7283,.F.); +-#7286=ORIENTED_EDGE('',*,*,#7285,.F.); +-#7288=ORIENTED_EDGE('',*,*,#7287,.T.); +-#7290=ORIENTED_EDGE('',*,*,#7289,.F.); +-#7292=ORIENTED_EDGE('',*,*,#7291,.T.); +-#7294=ORIENTED_EDGE('',*,*,#7293,.F.); +-#7296=ORIENTED_EDGE('',*,*,#7295,.T.); +-#7298=ORIENTED_EDGE('',*,*,#7297,.F.); +-#7300=ORIENTED_EDGE('',*,*,#7299,.T.); +-#7302=ORIENTED_EDGE('',*,*,#7301,.F.); +-#7304=ORIENTED_EDGE('',*,*,#7303,.T.); +-#7306=ORIENTED_EDGE('',*,*,#7305,.F.); +-#7308=ORIENTED_EDGE('',*,*,#7307,.T.); +-#7309=EDGE_LOOP('',(#7286,#7288,#7290,#7292,#7294,#7296,#7298,#7300,#7302,#7304, +-#7306,#7308)); +-#7310=FACE_BOUND('',#7309,.F.); +-#7311=ADVANCED_FACE('',(#7278,#7284,#7310),#7261,.T.); +-#7312=CARTESIAN_POINT('',(4.25E0,1.05E1,8.E0)); +-#7313=DIRECTION('',(0.E0,0.E0,1.E0)); +-#7314=DIRECTION('',(1.E0,0.E0,0.E0)); +-#7315=AXIS2_PLACEMENT_3D('',#7312,#7313,#7314); +-#7316=CYLINDRICAL_SURFACE('',#7315,1.625E-1); +-#7317=ORIENTED_EDGE('',*,*,#6031,.T.); +-#7319=ORIENTED_EDGE('',*,*,#7318,.T.); +-#7320=ORIENTED_EDGE('',*,*,#7279,.F.); +-#7322=ORIENTED_EDGE('',*,*,#7321,.F.); +-#7323=EDGE_LOOP('',(#7317,#7319,#7320,#7322)); +-#7324=FACE_OUTER_BOUND('',#7323,.F.); +-#7325=ADVANCED_FACE('',(#7324),#7316,.F.); +-#7326=CARTESIAN_POINT('',(4.25E0,1.05E1,8.E0)); +-#7327=DIRECTION('',(0.E0,0.E0,1.E0)); +-#7328=DIRECTION('',(1.E0,0.E0,0.E0)); +-#7329=AXIS2_PLACEMENT_3D('',#7326,#7327,#7328); +-#7330=CYLINDRICAL_SURFACE('',#7329,1.625E-1); +-#7331=ORIENTED_EDGE('',*,*,#6033,.T.); +-#7332=ORIENTED_EDGE('',*,*,#7321,.T.); +-#7333=ORIENTED_EDGE('',*,*,#7281,.F.); +-#7334=ORIENTED_EDGE('',*,*,#7318,.F.); +-#7335=EDGE_LOOP('',(#7331,#7332,#7333,#7334)); +-#7336=FACE_OUTER_BOUND('',#7335,.F.); +-#7337=ADVANCED_FACE('',(#7336),#7330,.F.); +-#7338=CARTESIAN_POINT('',(2.5E-1,1.5E0,1.2E1)); +-#7339=DIRECTION('',(1.E0,0.E0,0.E0)); +-#7340=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#7341=AXIS2_PLACEMENT_3D('',#7338,#7339,#7340); +-#7342=PLANE('',#7341); +-#7343=ORIENTED_EDGE('',*,*,#6314,.T.); +-#7344=ORIENTED_EDGE('',*,*,#7262,.T.); +-#7346=ORIENTED_EDGE('',*,*,#7345,.T.); +-#7347=EDGE_LOOP('',(#7343,#7344,#7346)); +-#7348=FACE_OUTER_BOUND('',#7347,.F.); +-#7349=ADVANCED_FACE('',(#7348),#7342,.F.); +-#7350=CARTESIAN_POINT('',(2.5E-1,6.5E0,1.E1)); +-#7351=DIRECTION('',(0.E0,5.E-1,8.660254037844E-1)); +-#7352=DIRECTION('',(0.E0,-8.660254037844E-1,5.E-1)); +-#7353=AXIS2_PLACEMENT_3D('',#7350,#7351,#7352); +-#7354=PLANE('',#7353); +-#7355=ORIENTED_EDGE('',*,*,#6316,.F.); +-#7356=ORIENTED_EDGE('',*,*,#7345,.F.); +-#7357=ORIENTED_EDGE('',*,*,#7275,.T.); +-#7359=ORIENTED_EDGE('',*,*,#7358,.T.); +-#7360=EDGE_LOOP('',(#7355,#7356,#7357,#7359)); +-#7361=FACE_OUTER_BOUND('',#7360,.F.); +-#7363=ORIENTED_EDGE('',*,*,#7362,.T.); +-#7365=ORIENTED_EDGE('',*,*,#7364,.T.); +-#7366=EDGE_LOOP('',(#7363,#7365)); +-#7367=FACE_BOUND('',#7366,.F.); +-#7368=ADVANCED_FACE('',(#7361,#7367),#7354,.T.); +-#7369=CARTESIAN_POINT('',(2.E0,1.5E0,1.2E1)); +-#7370=DIRECTION('',(1.E0,0.E0,0.E0)); +-#7371=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#7372=AXIS2_PLACEMENT_3D('',#7369,#7370,#7371); +-#7373=PLANE('',#7372); +-#7374=ORIENTED_EDGE('',*,*,#6318,.F.); +-#7375=ORIENTED_EDGE('',*,*,#7358,.F.); +-#7376=ORIENTED_EDGE('',*,*,#7273,.F.); +-#7377=EDGE_LOOP('',(#7374,#7375,#7376)); +-#7378=FACE_OUTER_BOUND('',#7377,.F.); +-#7379=ADVANCED_FACE('',(#7378),#7373,.T.); +-#7380=CARTESIAN_POINT('',(1.125E0,1.5E0,1.2E1)); +-#7381=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#7382=DIRECTION('',(1.E0,0.E0,0.E0)); +-#7383=AXIS2_PLACEMENT_3D('',#7380,#7381,#7382); +-#7384=CYLINDRICAL_SURFACE('',#7383,2.575E-1); +-#7386=ORIENTED_EDGE('',*,*,#7385,.F.); +-#7387=ORIENTED_EDGE('',*,*,#7362,.F.); +-#7389=ORIENTED_EDGE('',*,*,#7388,.F.); +-#7391=ORIENTED_EDGE('',*,*,#7390,.F.); +-#7392=EDGE_LOOP('',(#7386,#7387,#7389,#7391)); +-#7393=FACE_OUTER_BOUND('',#7392,.F.); +-#7394=ADVANCED_FACE('',(#7393),#7384,.F.); +-#7395=CARTESIAN_POINT('',(1.125E0,1.5E0,1.2E1)); +-#7396=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#7397=DIRECTION('',(1.E0,0.E0,0.E0)); +-#7398=AXIS2_PLACEMENT_3D('',#7395,#7396,#7397); +-#7399=CYLINDRICAL_SURFACE('',#7398,2.575E-1); +-#7400=ORIENTED_EDGE('',*,*,#7388,.T.); +-#7401=ORIENTED_EDGE('',*,*,#7364,.F.); +-#7402=ORIENTED_EDGE('',*,*,#7385,.T.); +-#7404=ORIENTED_EDGE('',*,*,#7403,.F.); +-#7405=EDGE_LOOP('',(#7400,#7401,#7402,#7404)); +-#7406=FACE_OUTER_BOUND('',#7405,.F.); +-#7407=ADVANCED_FACE('',(#7406),#7399,.F.); +-#7408=CARTESIAN_POINT('',(1.125E0,1.E0,1.2E1)); +-#7409=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#7410=DIRECTION('',(1.E0,0.E0,0.E0)); +-#7411=AXIS2_PLACEMENT_3D('',#7408,#7409,#7410); +-#7412=PLANE('',#7411); +-#7413=ORIENTED_EDGE('',*,*,#7390,.T.); +-#7414=ORIENTED_EDGE('',*,*,#7403,.T.); +-#7415=EDGE_LOOP('',(#7413,#7414)); +-#7416=FACE_OUTER_BOUND('',#7415,.F.); +-#7418=ORIENTED_EDGE('',*,*,#7417,.F.); +-#7420=ORIENTED_EDGE('',*,*,#7419,.F.); +-#7421=EDGE_LOOP('',(#7418,#7420)); +-#7422=FACE_BOUND('',#7421,.F.); +-#7423=ADVANCED_FACE('',(#7416,#7422),#7412,.F.); +-#7424=CARTESIAN_POINT('',(1.125E0,1.5E0,1.2E1)); +-#7425=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#7426=DIRECTION('',(1.E0,0.E0,0.E0)); +-#7427=AXIS2_PLACEMENT_3D('',#7424,#7425,#7426); +-#7428=CYLINDRICAL_SURFACE('',#7427,1.925E-1); +-#7429=ORIENTED_EDGE('',*,*,#7417,.T.); +-#7431=ORIENTED_EDGE('',*,*,#7430,.T.); +-#7432=ORIENTED_EDGE('',*,*,#5620,.F.); +-#7434=ORIENTED_EDGE('',*,*,#7433,.F.); +-#7435=EDGE_LOOP('',(#7429,#7431,#7432,#7434)); +-#7436=FACE_OUTER_BOUND('',#7435,.F.); +-#7437=ADVANCED_FACE('',(#7436),#7428,.F.); +-#7438=CARTESIAN_POINT('',(1.125E0,1.5E0,1.2E1)); +-#7439=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#7440=DIRECTION('',(1.E0,0.E0,0.E0)); +-#7441=AXIS2_PLACEMENT_3D('',#7438,#7439,#7440); +-#7442=CYLINDRICAL_SURFACE('',#7441,1.925E-1); +-#7443=ORIENTED_EDGE('',*,*,#7419,.T.); +-#7444=ORIENTED_EDGE('',*,*,#7433,.T.); +-#7445=ORIENTED_EDGE('',*,*,#5622,.F.); +-#7446=ORIENTED_EDGE('',*,*,#7430,.F.); +-#7447=EDGE_LOOP('',(#7443,#7444,#7445,#7446)); +-#7448=FACE_OUTER_BOUND('',#7447,.F.); +-#7449=ADVANCED_FACE('',(#7448),#7442,.F.); +-#7450=CARTESIAN_POINT('',(-2.E0,2.5E0,8.E0)); +-#7451=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#7452=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#7453=AXIS2_PLACEMENT_3D('',#7450,#7451,#7452); +-#7454=PLANE('',#7453); +-#7455=ORIENTED_EDGE('',*,*,#7265,.T.); +-#7456=ORIENTED_EDGE('',*,*,#6310,.T.); +-#7458=ORIENTED_EDGE('',*,*,#7457,.F.); +-#7459=ORIENTED_EDGE('',*,*,#5512,.F.); +-#7460=ORIENTED_EDGE('',*,*,#5984,.T.); +-#7462=ORIENTED_EDGE('',*,*,#7461,.T.); +-#7463=EDGE_LOOP('',(#7455,#7456,#7458,#7459,#7460,#7462)); +-#7464=FACE_OUTER_BOUND('',#7463,.F.); +-#7465=ADVANCED_FACE('',(#7464),#7454,.T.); +-#7466=CARTESIAN_POINT('',(-1.5E0,0.E0,1.225E1)); +-#7467=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1)); +-#7468=DIRECTION('',(0.E0,1.E0,0.E0)); +-#7469=AXIS2_PLACEMENT_3D('',#7466,#7467,#7468); +-#7470=PLANE('',#7469); +-#7471=ORIENTED_EDGE('',*,*,#6731,.F.); +-#7472=ORIENTED_EDGE('',*,*,#5514,.T.); +-#7473=ORIENTED_EDGE('',*,*,#7457,.T.); +-#7474=ORIENTED_EDGE('',*,*,#6308,.F.); +-#7475=EDGE_LOOP('',(#7471,#7472,#7473,#7474)); +-#7476=FACE_OUTER_BOUND('',#7475,.F.); +-#7477=ADVANCED_FACE('',(#7476),#7470,.T.); +-#7478=CARTESIAN_POINT('',(3.E0,1.15E1,8.E0)); +-#7479=DIRECTION('',(-8.741572761215E-1,4.856429311786E-1,0.E0)); +-#7480=DIRECTION('',(-4.856429311786E-1,-8.741572761215E-1,0.E0)); +-#7481=AXIS2_PLACEMENT_3D('',#7478,#7479,#7480); +-#7482=PLANE('',#7481); +-#7483=ORIENTED_EDGE('',*,*,#5982,.F.); +-#7485=ORIENTED_EDGE('',*,*,#7484,.T.); +-#7486=ORIENTED_EDGE('',*,*,#7267,.T.); +-#7487=ORIENTED_EDGE('',*,*,#7461,.F.); +-#7488=EDGE_LOOP('',(#7483,#7485,#7486,#7487)); +-#7489=FACE_OUTER_BOUND('',#7488,.F.); +-#7490=ADVANCED_FACE('',(#7489),#7482,.T.); +-#7491=CARTESIAN_POINT('',(5.E0,1.15E1,8.E0)); +-#7492=DIRECTION('',(0.E0,1.E0,0.E0)); +-#7493=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#7494=AXIS2_PLACEMENT_3D('',#7491,#7492,#7493); +-#7495=PLANE('',#7494); +-#7496=ORIENTED_EDGE('',*,*,#5980,.F.); +-#7497=ORIENTED_EDGE('',*,*,#7239,.T.); +-#7498=ORIENTED_EDGE('',*,*,#7269,.T.); +-#7499=ORIENTED_EDGE('',*,*,#7484,.F.); +-#7500=EDGE_LOOP('',(#7496,#7497,#7498,#7499)); +-#7501=FACE_OUTER_BOUND('',#7500,.F.); +-#7503=ORIENTED_EDGE('',*,*,#7502,.F.); +-#7505=ORIENTED_EDGE('',*,*,#7504,.F.); +-#7506=EDGE_LOOP('',(#7503,#7505)); +-#7507=FACE_BOUND('',#7506,.F.); +-#7509=ORIENTED_EDGE('',*,*,#7508,.F.); +-#7511=ORIENTED_EDGE('',*,*,#7510,.F.); +-#7512=EDGE_LOOP('',(#7509,#7511)); +-#7513=FACE_BOUND('',#7512,.F.); +-#7514=ADVANCED_FACE('',(#7501,#7507,#7513),#7495,.T.); +-#7515=CARTESIAN_POINT('',(4.E0,1.15E1,9.E0)); +-#7516=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#7517=DIRECTION('',(1.E0,0.E0,0.E0)); +-#7518=AXIS2_PLACEMENT_3D('',#7515,#7516,#7517); +-#7519=CYLINDRICAL_SURFACE('',#7518,9.5E-2); +-#7520=ORIENTED_EDGE('',*,*,#7502,.T.); +-#7522=ORIENTED_EDGE('',*,*,#7521,.T.); +-#7524=ORIENTED_EDGE('',*,*,#7523,.F.); +-#7526=ORIENTED_EDGE('',*,*,#7525,.F.); +-#7527=EDGE_LOOP('',(#7520,#7522,#7524,#7526)); +-#7528=FACE_OUTER_BOUND('',#7527,.F.); +-#7529=ADVANCED_FACE('',(#7528),#7519,.F.); +-#7530=CARTESIAN_POINT('',(4.E0,1.15E1,9.E0)); +-#7531=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#7532=DIRECTION('',(1.E0,0.E0,0.E0)); +-#7533=AXIS2_PLACEMENT_3D('',#7530,#7531,#7532); +-#7534=CYLINDRICAL_SURFACE('',#7533,9.5E-2); +-#7535=ORIENTED_EDGE('',*,*,#7504,.T.); +-#7536=ORIENTED_EDGE('',*,*,#7525,.T.); +-#7538=ORIENTED_EDGE('',*,*,#7537,.F.); +-#7539=ORIENTED_EDGE('',*,*,#7521,.F.); +-#7540=EDGE_LOOP('',(#7535,#7536,#7538,#7539)); +-#7541=FACE_OUTER_BOUND('',#7540,.F.); +-#7542=ADVANCED_FACE('',(#7541),#7534,.F.); +-#7543=CARTESIAN_POINT('',(4.E0,1.1125E1,9.E0)); +-#7544=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#7545=DIRECTION('',(1.E0,0.E0,0.E0)); +-#7546=AXIS2_PLACEMENT_3D('',#7543,#7544,#7545); +-#7547=PLANE('',#7546); +-#7548=ORIENTED_EDGE('',*,*,#7523,.T.); +-#7549=ORIENTED_EDGE('',*,*,#7537,.T.); +-#7550=EDGE_LOOP('',(#7548,#7549)); +-#7551=FACE_OUTER_BOUND('',#7550,.F.); +-#7552=ADVANCED_FACE('',(#7551),#7547,.F.); +-#7553=CARTESIAN_POINT('',(3.867417478528E0,1.15E1,9.132582521472E0)); +-#7554=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#7555=DIRECTION('',(1.E0,0.E0,0.E0)); +-#7556=AXIS2_PLACEMENT_3D('',#7553,#7554,#7555); +-#7557=CYLINDRICAL_SURFACE('',#7556,6.25E-2); +-#7558=ORIENTED_EDGE('',*,*,#7508,.T.); +-#7560=ORIENTED_EDGE('',*,*,#7559,.T.); +-#7562=ORIENTED_EDGE('',*,*,#7561,.F.); +-#7564=ORIENTED_EDGE('',*,*,#7563,.F.); +-#7565=EDGE_LOOP('',(#7558,#7560,#7562,#7564)); +-#7566=FACE_OUTER_BOUND('',#7565,.F.); +-#7567=ADVANCED_FACE('',(#7566),#7557,.F.); +-#7568=CARTESIAN_POINT('',(3.867417478528E0,1.15E1,9.132582521472E0)); +-#7569=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#7570=DIRECTION('',(1.E0,0.E0,0.E0)); +-#7571=AXIS2_PLACEMENT_3D('',#7568,#7569,#7570); +-#7572=CYLINDRICAL_SURFACE('',#7571,6.25E-2); +-#7573=ORIENTED_EDGE('',*,*,#7510,.T.); +-#7574=ORIENTED_EDGE('',*,*,#7563,.T.); +-#7576=ORIENTED_EDGE('',*,*,#7575,.F.); +-#7577=ORIENTED_EDGE('',*,*,#7559,.F.); +-#7578=EDGE_LOOP('',(#7573,#7574,#7576,#7577)); +-#7579=FACE_OUTER_BOUND('',#7578,.F.); +-#7580=ADVANCED_FACE('',(#7579),#7572,.F.); +-#7581=CARTESIAN_POINT('',(3.867417478528E0,1.125E1,9.132582521472E0)); +-#7582=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#7583=DIRECTION('',(1.E0,0.E0,0.E0)); +-#7584=AXIS2_PLACEMENT_3D('',#7581,#7582,#7583); +-#7585=PLANE('',#7584); +-#7586=ORIENTED_EDGE('',*,*,#7561,.T.); +-#7587=ORIENTED_EDGE('',*,*,#7575,.T.); +-#7588=EDGE_LOOP('',(#7586,#7587)); +-#7589=FACE_OUTER_BOUND('',#7588,.F.); +-#7590=ADVANCED_FACE('',(#7589),#7585,.F.); +-#7591=CARTESIAN_POINT('',(2.15E0,6.65E0,9.441108058217E0)); +-#7592=DIRECTION('',(0.E0,0.E0,1.E0)); +-#7593=DIRECTION('',(1.E0,0.E0,0.E0)); +-#7594=AXIS2_PLACEMENT_3D('',#7591,#7592,#7593); +-#7595=CYLINDRICAL_SURFACE('',#7594,3.5E-1); +-#7597=ORIENTED_EDGE('',*,*,#7596,.T.); +-#7598=ORIENTED_EDGE('',*,*,#7285,.T.); +-#7600=ORIENTED_EDGE('',*,*,#7599,.F.); +-#7602=ORIENTED_EDGE('',*,*,#7601,.T.); +-#7603=EDGE_LOOP('',(#7597,#7598,#7600,#7602)); +-#7604=FACE_OUTER_BOUND('',#7603,.F.); +-#7605=ADVANCED_FACE('',(#7604),#7595,.T.); +-#7606=CARTESIAN_POINT('',(2.5E0,7.E0,1.E1)); +-#7607=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#7608=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#7609=AXIS2_PLACEMENT_3D('',#7606,#7607,#7608); +-#7610=PLANE('',#7609); +-#7611=ORIENTED_EDGE('',*,*,#7596,.F.); +-#7613=ORIENTED_EDGE('',*,*,#7612,.T.); +-#7615=ORIENTED_EDGE('',*,*,#7614,.F.); +-#7616=ORIENTED_EDGE('',*,*,#7287,.F.); +-#7617=EDGE_LOOP('',(#7611,#7613,#7615,#7616)); +-#7618=FACE_OUTER_BOUND('',#7617,.F.); +-#7619=ADVANCED_FACE('',(#7618),#7610,.F.); +-#7620=CARTESIAN_POINT('',(0.E0,0.E0,9.5E0)); +-#7621=DIRECTION('',(0.E0,0.E0,1.E0)); +-#7622=DIRECTION('',(1.E0,0.E0,0.E0)); +-#7623=AXIS2_PLACEMENT_3D('',#7620,#7621,#7622); +-#7624=PLANE('',#7623); +-#7625=ORIENTED_EDGE('',*,*,#7612,.F.); +-#7626=ORIENTED_EDGE('',*,*,#7601,.F.); +-#7628=ORIENTED_EDGE('',*,*,#7627,.F.); +-#7630=ORIENTED_EDGE('',*,*,#7629,.F.); +-#7632=ORIENTED_EDGE('',*,*,#7631,.F.); +-#7634=ORIENTED_EDGE('',*,*,#7633,.F.); +-#7636=ORIENTED_EDGE('',*,*,#7635,.F.); +-#7638=ORIENTED_EDGE('',*,*,#7637,.F.); +-#7640=ORIENTED_EDGE('',*,*,#7639,.F.); +-#7642=ORIENTED_EDGE('',*,*,#7641,.F.); +-#7644=ORIENTED_EDGE('',*,*,#7643,.F.); +-#7646=ORIENTED_EDGE('',*,*,#7645,.F.); +-#7647=EDGE_LOOP('',(#7625,#7626,#7628,#7630,#7632,#7634,#7636,#7638,#7640,#7642, +-#7644,#7646)); +-#7648=FACE_OUTER_BOUND('',#7647,.F.); +-#7649=ADVANCED_FACE('',(#7648),#7624,.T.); +-#7650=CARTESIAN_POINT('',(1.357969178416E0,7.E0,1.E1)); +-#7651=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#7652=DIRECTION('',(1.E0,0.E0,0.E0)); +-#7653=AXIS2_PLACEMENT_3D('',#7650,#7651,#7652); +-#7654=PLANE('',#7653); +-#7655=ORIENTED_EDGE('',*,*,#7599,.T.); +-#7656=ORIENTED_EDGE('',*,*,#7307,.F.); +-#7658=ORIENTED_EDGE('',*,*,#7657,.T.); +-#7659=ORIENTED_EDGE('',*,*,#7627,.T.); +-#7660=EDGE_LOOP('',(#7655,#7656,#7658,#7659)); +-#7661=FACE_OUTER_BOUND('',#7660,.F.); +-#7662=ADVANCED_FACE('',(#7661),#7654,.F.); +-#7663=CARTESIAN_POINT('',(1.952799239454E0,7.35E0,1.006892397423E1)); +-#7664=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#7665=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#7666=AXIS2_PLACEMENT_3D('',#7663,#7664,#7665); +-#7667=CYLINDRICAL_SURFACE('',#7666,3.5E-1); +-#7668=ORIENTED_EDGE('',*,*,#7657,.F.); +-#7669=ORIENTED_EDGE('',*,*,#7305,.T.); +-#7671=ORIENTED_EDGE('',*,*,#7670,.T.); +-#7672=ORIENTED_EDGE('',*,*,#7629,.T.); +-#7673=EDGE_LOOP('',(#7668,#7669,#7671,#7672)); +-#7674=FACE_OUTER_BOUND('',#7673,.F.); +-#7675=ADVANCED_FACE('',(#7674),#7667,.F.); +-#7676=CARTESIAN_POINT('',(2.746858067304E0,9.5E0,1.E1)); +-#7677=DIRECTION('',(-8.741572761215E-1,4.856429311786E-1,0.E0)); +-#7678=DIRECTION('',(-4.856429311786E-1,-8.741572761215E-1,0.E0)); +-#7679=AXIS2_PLACEMENT_3D('',#7676,#7677,#7678); +-#7680=PLANE('',#7679); +-#7681=ORIENTED_EDGE('',*,*,#7670,.F.); +-#7682=ORIENTED_EDGE('',*,*,#7303,.F.); +-#7684=ORIENTED_EDGE('',*,*,#7683,.T.); +-#7685=ORIENTED_EDGE('',*,*,#7631,.T.); +-#7686=EDGE_LOOP('',(#7681,#7682,#7684,#7685)); +-#7687=FACE_OUTER_BOUND('',#7686,.F.); +-#7688=ADVANCED_FACE('',(#7687),#7680,.F.); +-#7689=CARTESIAN_POINT('',(2.952799239454E0,9.15E0,1.006892397423E1)); +-#7690=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#7691=DIRECTION('',(-8.741572761215E-1,4.856429311786E-1,0.E0)); +-#7692=AXIS2_PLACEMENT_3D('',#7689,#7690,#7691); +-#7693=CYLINDRICAL_SURFACE('',#7692,3.5E-1); +-#7694=ORIENTED_EDGE('',*,*,#7683,.F.); +-#7695=ORIENTED_EDGE('',*,*,#7301,.T.); +-#7697=ORIENTED_EDGE('',*,*,#7696,.T.); +-#7698=ORIENTED_EDGE('',*,*,#7633,.T.); +-#7699=EDGE_LOOP('',(#7694,#7695,#7697,#7698)); +-#7700=FACE_OUTER_BOUND('',#7699,.F.); +-#7701=ADVANCED_FACE('',(#7700),#7693,.F.); +-#7702=CARTESIAN_POINT('',(4.5E0,9.5E0,1.E1)); +-#7703=DIRECTION('',(0.E0,1.E0,0.E0)); +-#7704=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#7705=AXIS2_PLACEMENT_3D('',#7702,#7703,#7704); +-#7706=PLANE('',#7705); +-#7707=ORIENTED_EDGE('',*,*,#7696,.F.); +-#7708=ORIENTED_EDGE('',*,*,#7299,.F.); +-#7710=ORIENTED_EDGE('',*,*,#7709,.T.); +-#7711=ORIENTED_EDGE('',*,*,#7635,.T.); +-#7712=EDGE_LOOP('',(#7707,#7708,#7710,#7711)); +-#7713=FACE_OUTER_BOUND('',#7712,.F.); +-#7714=ADVANCED_FACE('',(#7713),#7706,.F.); +-#7715=CARTESIAN_POINT('',(4.15E0,9.15E0,1.006892397423E1)); +-#7716=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#7717=DIRECTION('',(0.E0,1.E0,0.E0)); +-#7718=AXIS2_PLACEMENT_3D('',#7715,#7716,#7717); +-#7719=CYLINDRICAL_SURFACE('',#7718,3.5E-1); +-#7720=ORIENTED_EDGE('',*,*,#7709,.F.); +-#7721=ORIENTED_EDGE('',*,*,#7297,.T.); +-#7723=ORIENTED_EDGE('',*,*,#7722,.T.); +-#7724=ORIENTED_EDGE('',*,*,#7637,.T.); +-#7725=EDGE_LOOP('',(#7720,#7721,#7723,#7724)); +-#7726=FACE_OUTER_BOUND('',#7725,.F.); +-#7727=ADVANCED_FACE('',(#7726),#7719,.F.); +-#7728=CARTESIAN_POINT('',(4.5E0,2.E0,1.E1)); +-#7729=DIRECTION('',(1.E0,0.E0,0.E0)); +-#7730=DIRECTION('',(0.E0,1.E0,0.E0)); +-#7731=AXIS2_PLACEMENT_3D('',#7728,#7729,#7730); +-#7732=PLANE('',#7731); +-#7734=ORIENTED_EDGE('',*,*,#7733,.T.); +-#7735=ORIENTED_EDGE('',*,*,#7639,.T.); +-#7736=ORIENTED_EDGE('',*,*,#7722,.F.); +-#7737=ORIENTED_EDGE('',*,*,#7295,.F.); +-#7738=EDGE_LOOP('',(#7734,#7735,#7736,#7737)); +-#7739=FACE_OUTER_BOUND('',#7738,.F.); +-#7740=ADVANCED_FACE('',(#7739),#7732,.F.); +-#7741=CARTESIAN_POINT('',(4.15E0,2.35E0,1.006892397423E1)); +-#7742=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#7743=DIRECTION('',(1.E0,0.E0,0.E0)); +-#7744=AXIS2_PLACEMENT_3D('',#7741,#7742,#7743); +-#7745=CYLINDRICAL_SURFACE('',#7744,3.5E-1); +-#7746=ORIENTED_EDGE('',*,*,#7733,.F.); +-#7747=ORIENTED_EDGE('',*,*,#7293,.T.); +-#7749=ORIENTED_EDGE('',*,*,#7748,.T.); +-#7750=ORIENTED_EDGE('',*,*,#7641,.T.); +-#7751=EDGE_LOOP('',(#7746,#7747,#7749,#7750)); +-#7752=FACE_OUTER_BOUND('',#7751,.F.); +-#7753=ADVANCED_FACE('',(#7752),#7745,.F.); +-#7754=CARTESIAN_POINT('',(2.5E0,2.E0,1.E1)); +-#7755=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#7756=DIRECTION('',(1.E0,0.E0,0.E0)); +-#7757=AXIS2_PLACEMENT_3D('',#7754,#7755,#7756); +-#7758=PLANE('',#7757); +-#7760=ORIENTED_EDGE('',*,*,#7759,.T.); +-#7761=ORIENTED_EDGE('',*,*,#7643,.T.); +-#7762=ORIENTED_EDGE('',*,*,#7748,.F.); +-#7763=ORIENTED_EDGE('',*,*,#7291,.F.); +-#7764=EDGE_LOOP('',(#7760,#7761,#7762,#7763)); +-#7765=FACE_OUTER_BOUND('',#7764,.F.); +-#7766=ADVANCED_FACE('',(#7765),#7758,.F.); +-#7767=CARTESIAN_POINT('',(2.85E0,2.35E0,1.006892397423E1)); +-#7768=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#7769=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#7770=AXIS2_PLACEMENT_3D('',#7767,#7768,#7769); +-#7771=CYLINDRICAL_SURFACE('',#7770,3.5E-1); +-#7772=ORIENTED_EDGE('',*,*,#7759,.F.); +-#7773=ORIENTED_EDGE('',*,*,#7289,.T.); +-#7774=ORIENTED_EDGE('',*,*,#7614,.T.); +-#7775=ORIENTED_EDGE('',*,*,#7645,.T.); +-#7776=EDGE_LOOP('',(#7772,#7773,#7774,#7775)); +-#7777=FACE_OUTER_BOUND('',#7776,.F.); +-#7778=ADVANCED_FACE('',(#7777),#7771,.F.); +-#7779=CARTESIAN_POINT('',(1.9E1,1.5E0,1.175E1)); +-#7780=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1)); +-#7781=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#7782=AXIS2_PLACEMENT_3D('',#7779,#7780,#7781); +-#7783=PLANE('',#7782); +-#7784=ORIENTED_EDGE('',*,*,#7161,.F.); +-#7785=ORIENTED_EDGE('',*,*,#6428,.T.); +-#7786=ORIENTED_EDGE('',*,*,#6953,.T.); +-#7787=ORIENTED_EDGE('',*,*,#5682,.F.); +-#7788=EDGE_LOOP('',(#7784,#7785,#7786,#7787)); +-#7789=FACE_OUTER_BOUND('',#7788,.F.); +-#7790=ADVANCED_FACE('',(#7789),#7783,.T.); +-#7791=CARTESIAN_POINT('',(2.E1,1.15E1,9.E0)); +-#7792=DIRECTION('',(0.E0,1.E0,0.E0)); +-#7793=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#7794=AXIS2_PLACEMENT_3D('',#7791,#7792,#7793); +-#7795=CYLINDRICAL_SURFACE('',#7794,9.5E-2); +-#7796=ORIENTED_EDGE('',*,*,#7140,.F.); +-#7798=ORIENTED_EDGE('',*,*,#7797,.T.); +-#7800=ORIENTED_EDGE('',*,*,#7799,.T.); +-#7802=ORIENTED_EDGE('',*,*,#7801,.F.); +-#7803=EDGE_LOOP('',(#7796,#7798,#7800,#7802)); +-#7804=FACE_OUTER_BOUND('',#7803,.F.); +-#7805=ADVANCED_FACE('',(#7804),#7795,.F.); +-#7806=CARTESIAN_POINT('',(2.E1,1.15E1,9.E0)); +-#7807=DIRECTION('',(0.E0,1.E0,0.E0)); +-#7808=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#7809=AXIS2_PLACEMENT_3D('',#7806,#7807,#7808); +-#7810=CYLINDRICAL_SURFACE('',#7809,9.5E-2); +-#7811=ORIENTED_EDGE('',*,*,#7142,.F.); +-#7812=ORIENTED_EDGE('',*,*,#7801,.T.); +-#7814=ORIENTED_EDGE('',*,*,#7813,.T.); +-#7815=ORIENTED_EDGE('',*,*,#7797,.F.); +-#7816=EDGE_LOOP('',(#7811,#7812,#7814,#7815)); +-#7817=FACE_OUTER_BOUND('',#7816,.F.); +-#7818=ADVANCED_FACE('',(#7817),#7810,.F.); +-#7819=CARTESIAN_POINT('',(2.E1,1.1125E1,9.E0)); +-#7820=DIRECTION('',(0.E0,1.E0,0.E0)); +-#7821=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#7822=AXIS2_PLACEMENT_3D('',#7819,#7820,#7821); +-#7823=PLANE('',#7822); +-#7824=ORIENTED_EDGE('',*,*,#7799,.F.); +-#7825=ORIENTED_EDGE('',*,*,#7813,.F.); +-#7826=EDGE_LOOP('',(#7824,#7825)); +-#7827=FACE_OUTER_BOUND('',#7826,.F.); +-#7828=ADVANCED_FACE('',(#7827),#7823,.T.); +-#7829=CARTESIAN_POINT('',(2.013258252147E1,1.15E1,9.132582521472E0)); +-#7830=DIRECTION('',(0.E0,1.E0,0.E0)); +-#7831=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#7832=AXIS2_PLACEMENT_3D('',#7829,#7830,#7831); +-#7833=CYLINDRICAL_SURFACE('',#7832,6.25E-2); +-#7834=ORIENTED_EDGE('',*,*,#7146,.F.); +-#7836=ORIENTED_EDGE('',*,*,#7835,.T.); +-#7838=ORIENTED_EDGE('',*,*,#7837,.T.); +-#7840=ORIENTED_EDGE('',*,*,#7839,.F.); +-#7841=EDGE_LOOP('',(#7834,#7836,#7838,#7840)); +-#7842=FACE_OUTER_BOUND('',#7841,.F.); +-#7843=ADVANCED_FACE('',(#7842),#7833,.F.); +-#7844=CARTESIAN_POINT('',(2.013258252147E1,1.15E1,9.132582521472E0)); +-#7845=DIRECTION('',(0.E0,1.E0,0.E0)); +-#7846=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#7847=AXIS2_PLACEMENT_3D('',#7844,#7845,#7846); +-#7848=CYLINDRICAL_SURFACE('',#7847,6.25E-2); +-#7849=ORIENTED_EDGE('',*,*,#7148,.F.); +-#7850=ORIENTED_EDGE('',*,*,#7839,.T.); +-#7852=ORIENTED_EDGE('',*,*,#7851,.T.); +-#7853=ORIENTED_EDGE('',*,*,#7835,.F.); +-#7854=EDGE_LOOP('',(#7849,#7850,#7852,#7853)); +-#7855=FACE_OUTER_BOUND('',#7854,.F.); +-#7856=ADVANCED_FACE('',(#7855),#7848,.F.); +-#7857=CARTESIAN_POINT('',(2.013258252147E1,1.125E1,9.132582521472E0)); +-#7858=DIRECTION('',(0.E0,1.E0,0.E0)); +-#7859=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#7860=AXIS2_PLACEMENT_3D('',#7857,#7858,#7859); +-#7861=PLANE('',#7860); +-#7862=ORIENTED_EDGE('',*,*,#7837,.F.); +-#7863=ORIENTED_EDGE('',*,*,#7851,.F.); +-#7864=EDGE_LOOP('',(#7862,#7863)); +-#7865=FACE_OUTER_BOUND('',#7864,.F.); +-#7866=ADVANCED_FACE('',(#7865),#7861,.T.); +-#7867=CARTESIAN_POINT('',(1.755E1,1.176878221735E0,2.975E1)); +-#7868=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#7869=DIRECTION('',(1.E0,0.E0,0.E0)); +-#7870=AXIS2_PLACEMENT_3D('',#7867,#7868,#7869); +-#7871=CYLINDRICAL_SURFACE('',#7870,1.E-1); +-#7872=ORIENTED_EDGE('',*,*,#6346,.F.); +-#7874=ORIENTED_EDGE('',*,*,#7873,.F.); +-#7876=ORIENTED_EDGE('',*,*,#7875,.T.); +-#7878=ORIENTED_EDGE('',*,*,#7877,.T.); +-#7879=EDGE_LOOP('',(#7872,#7874,#7876,#7878)); +-#7880=FACE_OUTER_BOUND('',#7879,.F.); +-#7881=ADVANCED_FACE('',(#7880),#7871,.F.); +-#7882=CARTESIAN_POINT('',(1.755E1,1.176878221735E0,2.975E1)); +-#7883=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#7884=DIRECTION('',(1.E0,0.E0,0.E0)); +-#7885=AXIS2_PLACEMENT_3D('',#7882,#7883,#7884); +-#7886=CYLINDRICAL_SURFACE('',#7885,1.E-1); +-#7887=ORIENTED_EDGE('',*,*,#6348,.F.); +-#7888=ORIENTED_EDGE('',*,*,#7877,.F.); +-#7890=ORIENTED_EDGE('',*,*,#7889,.F.); +-#7891=ORIENTED_EDGE('',*,*,#7873,.T.); +-#7892=EDGE_LOOP('',(#7887,#7888,#7890,#7891)); +-#7893=FACE_OUTER_BOUND('',#7892,.F.); +-#7894=ADVANCED_FACE('',(#7893),#7886,.F.); +-#7895=CARTESIAN_POINT('',(1.755E1,1.234346967234E0,2.975E1)); +-#7896=DIRECTION('',(0.E0,1.E0,0.E0)); +-#7897=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#7898=AXIS2_PLACEMENT_3D('',#7895,#7896,#7897); +-#7899=CONICAL_SURFACE('',#7898,7.288815195685E-2,6.E1); +-#7901=ORIENTED_EDGE('',*,*,#7900,.F.); +-#7903=ORIENTED_EDGE('',*,*,#7902,.T.); +-#7904=ORIENTED_EDGE('',*,*,#7889,.T.); +-#7905=EDGE_LOOP('',(#7901,#7903,#7904)); +-#7906=FACE_OUTER_BOUND('',#7905,.F.); +-#7907=ADVANCED_FACE('',(#7906),#7899,.F.); +-#7908=CARTESIAN_POINT('',(1.755E1,1.234346967234E0,2.975E1)); +-#7909=DIRECTION('',(0.E0,1.E0,0.E0)); +-#7910=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#7911=AXIS2_PLACEMENT_3D('',#7908,#7909,#7910); +-#7912=CONICAL_SURFACE('',#7911,7.288815195685E-2,6.E1); +-#7913=ORIENTED_EDGE('',*,*,#7900,.T.); +-#7914=ORIENTED_EDGE('',*,*,#7875,.F.); +-#7915=ORIENTED_EDGE('',*,*,#7902,.F.); +-#7916=EDGE_LOOP('',(#7913,#7914,#7915)); +-#7917=FACE_OUTER_BOUND('',#7916,.F.); +-#7918=ADVANCED_FACE('',(#7917),#7912,.F.); +-#7919=CARTESIAN_POINT('',(1.655E1,1.176878221735E0,2.975E1)); +-#7920=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#7921=DIRECTION('',(1.E0,0.E0,0.E0)); +-#7922=AXIS2_PLACEMENT_3D('',#7919,#7920,#7921); +-#7923=CYLINDRICAL_SURFACE('',#7922,1.E-1); +-#7924=ORIENTED_EDGE('',*,*,#6352,.F.); +-#7926=ORIENTED_EDGE('',*,*,#7925,.F.); +-#7928=ORIENTED_EDGE('',*,*,#7927,.T.); +-#7930=ORIENTED_EDGE('',*,*,#7929,.T.); +-#7931=EDGE_LOOP('',(#7924,#7926,#7928,#7930)); +-#7932=FACE_OUTER_BOUND('',#7931,.F.); +-#7933=ADVANCED_FACE('',(#7932),#7923,.F.); +-#7934=CARTESIAN_POINT('',(1.655E1,1.176878221735E0,2.975E1)); +-#7935=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#7936=DIRECTION('',(1.E0,0.E0,0.E0)); +-#7937=AXIS2_PLACEMENT_3D('',#7934,#7935,#7936); +-#7938=CYLINDRICAL_SURFACE('',#7937,1.E-1); +-#7939=ORIENTED_EDGE('',*,*,#6354,.F.); +-#7940=ORIENTED_EDGE('',*,*,#7929,.F.); +-#7942=ORIENTED_EDGE('',*,*,#7941,.F.); +-#7943=ORIENTED_EDGE('',*,*,#7925,.T.); +-#7944=EDGE_LOOP('',(#7939,#7940,#7942,#7943)); +-#7945=FACE_OUTER_BOUND('',#7944,.F.); +-#7946=ADVANCED_FACE('',(#7945),#7938,.F.); +-#7947=CARTESIAN_POINT('',(1.655E1,1.234346967234E0,2.975E1)); +-#7948=DIRECTION('',(0.E0,1.E0,0.E0)); +-#7949=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#7950=AXIS2_PLACEMENT_3D('',#7947,#7948,#7949); +-#7951=CONICAL_SURFACE('',#7950,7.288815195685E-2,6.E1); +-#7953=ORIENTED_EDGE('',*,*,#7952,.F.); +-#7955=ORIENTED_EDGE('',*,*,#7954,.T.); +-#7956=ORIENTED_EDGE('',*,*,#7941,.T.); +-#7957=EDGE_LOOP('',(#7953,#7955,#7956)); +-#7958=FACE_OUTER_BOUND('',#7957,.F.); +-#7959=ADVANCED_FACE('',(#7958),#7951,.F.); +-#7960=CARTESIAN_POINT('',(1.655E1,1.234346967234E0,2.975E1)); +-#7961=DIRECTION('',(0.E0,1.E0,0.E0)); +-#7962=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#7963=AXIS2_PLACEMENT_3D('',#7960,#7961,#7962); +-#7964=CONICAL_SURFACE('',#7963,7.288815195685E-2,6.E1); +-#7965=ORIENTED_EDGE('',*,*,#7952,.T.); +-#7966=ORIENTED_EDGE('',*,*,#7927,.F.); +-#7967=ORIENTED_EDGE('',*,*,#7954,.F.); +-#7968=EDGE_LOOP('',(#7965,#7966,#7967)); +-#7969=FACE_OUTER_BOUND('',#7968,.F.); +-#7970=ADVANCED_FACE('',(#7969),#7964,.F.); +-#7971=CARTESIAN_POINT('',(1.125E0,1.5E0,6.E0)); +-#7972=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#7973=DIRECTION('',(1.E0,0.E0,0.E0)); +-#7974=AXIS2_PLACEMENT_3D('',#7971,#7972,#7973); +-#7975=CYLINDRICAL_SURFACE('',#7974,2.575E-1); +-#7976=ORIENTED_EDGE('',*,*,#6248,.T.); +-#7978=ORIENTED_EDGE('',*,*,#7977,.T.); +-#7980=ORIENTED_EDGE('',*,*,#7979,.F.); +-#7982=ORIENTED_EDGE('',*,*,#7981,.F.); +-#7983=EDGE_LOOP('',(#7976,#7978,#7980,#7982)); +-#7984=FACE_OUTER_BOUND('',#7983,.F.); +-#7985=ADVANCED_FACE('',(#7984),#7975,.F.); +-#7986=CARTESIAN_POINT('',(1.125E0,1.5E0,6.E0)); +-#7987=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#7988=DIRECTION('',(1.E0,0.E0,0.E0)); +-#7989=AXIS2_PLACEMENT_3D('',#7986,#7987,#7988); +-#7990=CYLINDRICAL_SURFACE('',#7989,2.575E-1); +-#7991=ORIENTED_EDGE('',*,*,#6250,.T.); +-#7992=ORIENTED_EDGE('',*,*,#7981,.T.); +-#7994=ORIENTED_EDGE('',*,*,#7993,.F.); +-#7995=ORIENTED_EDGE('',*,*,#7977,.F.); +-#7996=EDGE_LOOP('',(#7991,#7992,#7994,#7995)); +-#7997=FACE_OUTER_BOUND('',#7996,.F.); +-#7998=ADVANCED_FACE('',(#7997),#7990,.F.); +-#7999=CARTESIAN_POINT('',(1.125E0,1.E0,6.E0)); +-#8000=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8001=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8002=AXIS2_PLACEMENT_3D('',#7999,#8000,#8001); +-#8003=PLANE('',#8002); +-#8004=ORIENTED_EDGE('',*,*,#7979,.T.); +-#8005=ORIENTED_EDGE('',*,*,#7993,.T.); +-#8006=EDGE_LOOP('',(#8004,#8005)); +-#8007=FACE_OUTER_BOUND('',#8006,.F.); +-#8009=ORIENTED_EDGE('',*,*,#8008,.F.); +-#8011=ORIENTED_EDGE('',*,*,#8010,.F.); +-#8012=EDGE_LOOP('',(#8009,#8011)); +-#8013=FACE_BOUND('',#8012,.F.); +-#8014=ADVANCED_FACE('',(#8007,#8013),#8003,.F.); +-#8015=CARTESIAN_POINT('',(1.125E0,1.5E0,6.E0)); +-#8016=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8017=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8018=AXIS2_PLACEMENT_3D('',#8015,#8016,#8017); +-#8019=CYLINDRICAL_SURFACE('',#8018,1.925E-1); +-#8020=ORIENTED_EDGE('',*,*,#8008,.T.); +-#8022=ORIENTED_EDGE('',*,*,#8021,.T.); +-#8023=ORIENTED_EDGE('',*,*,#5626,.F.); +-#8025=ORIENTED_EDGE('',*,*,#8024,.F.); +-#8026=EDGE_LOOP('',(#8020,#8022,#8023,#8025)); +-#8027=FACE_OUTER_BOUND('',#8026,.F.); +-#8028=ADVANCED_FACE('',(#8027),#8019,.F.); +-#8029=CARTESIAN_POINT('',(1.125E0,1.5E0,6.E0)); +-#8030=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8031=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8032=AXIS2_PLACEMENT_3D('',#8029,#8030,#8031); +-#8033=CYLINDRICAL_SURFACE('',#8032,1.925E-1); +-#8034=ORIENTED_EDGE('',*,*,#8010,.T.); +-#8035=ORIENTED_EDGE('',*,*,#8024,.T.); +-#8036=ORIENTED_EDGE('',*,*,#5628,.F.); +-#8037=ORIENTED_EDGE('',*,*,#8021,.F.); +-#8038=EDGE_LOOP('',(#8034,#8035,#8036,#8037)); +-#8039=FACE_OUTER_BOUND('',#8038,.F.); +-#8040=ADVANCED_FACE('',(#8039),#8033,.F.); +-#8041=CARTESIAN_POINT('',(1.125E0,1.5E0,1.8E1)); +-#8042=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8043=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8044=AXIS2_PLACEMENT_3D('',#8041,#8042,#8043); +-#8045=CYLINDRICAL_SURFACE('',#8044,2.575E-1); +-#8046=ORIENTED_EDGE('',*,*,#6358,.T.); +-#8048=ORIENTED_EDGE('',*,*,#8047,.T.); +-#8050=ORIENTED_EDGE('',*,*,#8049,.F.); +-#8052=ORIENTED_EDGE('',*,*,#8051,.F.); +-#8053=EDGE_LOOP('',(#8046,#8048,#8050,#8052)); +-#8054=FACE_OUTER_BOUND('',#8053,.F.); +-#8055=ADVANCED_FACE('',(#8054),#8045,.F.); +-#8056=CARTESIAN_POINT('',(1.125E0,1.5E0,1.8E1)); +-#8057=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8058=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8059=AXIS2_PLACEMENT_3D('',#8056,#8057,#8058); +-#8060=CYLINDRICAL_SURFACE('',#8059,2.575E-1); +-#8061=ORIENTED_EDGE('',*,*,#6360,.T.); +-#8062=ORIENTED_EDGE('',*,*,#8051,.T.); +-#8064=ORIENTED_EDGE('',*,*,#8063,.F.); +-#8065=ORIENTED_EDGE('',*,*,#8047,.F.); +-#8066=EDGE_LOOP('',(#8061,#8062,#8064,#8065)); +-#8067=FACE_OUTER_BOUND('',#8066,.F.); +-#8068=ADVANCED_FACE('',(#8067),#8060,.F.); +-#8069=CARTESIAN_POINT('',(1.125E0,1.E0,1.8E1)); +-#8070=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8071=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8072=AXIS2_PLACEMENT_3D('',#8069,#8070,#8071); +-#8073=PLANE('',#8072); +-#8074=ORIENTED_EDGE('',*,*,#8049,.T.); +-#8075=ORIENTED_EDGE('',*,*,#8063,.T.); +-#8076=EDGE_LOOP('',(#8074,#8075)); +-#8077=FACE_OUTER_BOUND('',#8076,.F.); +-#8079=ORIENTED_EDGE('',*,*,#8078,.F.); +-#8081=ORIENTED_EDGE('',*,*,#8080,.F.); +-#8082=EDGE_LOOP('',(#8079,#8081)); +-#8083=FACE_BOUND('',#8082,.F.); +-#8084=ADVANCED_FACE('',(#8077,#8083),#8073,.F.); +-#8085=CARTESIAN_POINT('',(1.125E0,1.5E0,1.8E1)); +-#8086=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8087=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8088=AXIS2_PLACEMENT_3D('',#8085,#8086,#8087); +-#8089=CYLINDRICAL_SURFACE('',#8088,1.925E-1); +-#8090=ORIENTED_EDGE('',*,*,#8078,.T.); +-#8092=ORIENTED_EDGE('',*,*,#8091,.T.); +-#8093=ORIENTED_EDGE('',*,*,#5614,.F.); +-#8095=ORIENTED_EDGE('',*,*,#8094,.F.); +-#8096=EDGE_LOOP('',(#8090,#8092,#8093,#8095)); +-#8097=FACE_OUTER_BOUND('',#8096,.F.); +-#8098=ADVANCED_FACE('',(#8097),#8089,.F.); +-#8099=CARTESIAN_POINT('',(1.125E0,1.5E0,1.8E1)); +-#8100=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8101=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8102=AXIS2_PLACEMENT_3D('',#8099,#8100,#8101); +-#8103=CYLINDRICAL_SURFACE('',#8102,1.925E-1); +-#8104=ORIENTED_EDGE('',*,*,#8080,.T.); +-#8105=ORIENTED_EDGE('',*,*,#8094,.T.); +-#8106=ORIENTED_EDGE('',*,*,#5616,.F.); +-#8107=ORIENTED_EDGE('',*,*,#8091,.F.); +-#8108=EDGE_LOOP('',(#8104,#8105,#8106,#8107)); +-#8109=FACE_OUTER_BOUND('',#8108,.F.); +-#8110=ADVANCED_FACE('',(#8109),#8103,.F.); +-#8111=CARTESIAN_POINT('',(1.125E0,1.5E0,2.4E1)); +-#8112=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8113=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8114=AXIS2_PLACEMENT_3D('',#8111,#8112,#8113); +-#8115=CYLINDRICAL_SURFACE('',#8114,2.575E-1); +-#8116=ORIENTED_EDGE('',*,*,#6364,.T.); +-#8118=ORIENTED_EDGE('',*,*,#8117,.T.); +-#8120=ORIENTED_EDGE('',*,*,#8119,.F.); +-#8122=ORIENTED_EDGE('',*,*,#8121,.F.); +-#8123=EDGE_LOOP('',(#8116,#8118,#8120,#8122)); +-#8124=FACE_OUTER_BOUND('',#8123,.F.); +-#8125=ADVANCED_FACE('',(#8124),#8115,.F.); +-#8126=CARTESIAN_POINT('',(1.125E0,1.5E0,2.4E1)); +-#8127=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8128=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8129=AXIS2_PLACEMENT_3D('',#8126,#8127,#8128); +-#8130=CYLINDRICAL_SURFACE('',#8129,2.575E-1); +-#8131=ORIENTED_EDGE('',*,*,#6366,.T.); +-#8132=ORIENTED_EDGE('',*,*,#8121,.T.); +-#8134=ORIENTED_EDGE('',*,*,#8133,.F.); +-#8135=ORIENTED_EDGE('',*,*,#8117,.F.); +-#8136=EDGE_LOOP('',(#8131,#8132,#8134,#8135)); +-#8137=FACE_OUTER_BOUND('',#8136,.F.); +-#8138=ADVANCED_FACE('',(#8137),#8130,.F.); +-#8139=CARTESIAN_POINT('',(1.125E0,1.E0,2.4E1)); +-#8140=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8141=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8142=AXIS2_PLACEMENT_3D('',#8139,#8140,#8141); +-#8143=PLANE('',#8142); +-#8144=ORIENTED_EDGE('',*,*,#8119,.T.); +-#8145=ORIENTED_EDGE('',*,*,#8133,.T.); +-#8146=EDGE_LOOP('',(#8144,#8145)); +-#8147=FACE_OUTER_BOUND('',#8146,.F.); +-#8149=ORIENTED_EDGE('',*,*,#8148,.F.); +-#8151=ORIENTED_EDGE('',*,*,#8150,.F.); +-#8152=EDGE_LOOP('',(#8149,#8151)); +-#8153=FACE_BOUND('',#8152,.F.); +-#8154=ADVANCED_FACE('',(#8147,#8153),#8143,.F.); +-#8155=CARTESIAN_POINT('',(1.125E0,1.5E0,2.4E1)); +-#8156=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8157=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8158=AXIS2_PLACEMENT_3D('',#8155,#8156,#8157); +-#8159=CYLINDRICAL_SURFACE('',#8158,1.925E-1); +-#8160=ORIENTED_EDGE('',*,*,#8148,.T.); +-#8162=ORIENTED_EDGE('',*,*,#8161,.T.); +-#8163=ORIENTED_EDGE('',*,*,#5608,.F.); +-#8165=ORIENTED_EDGE('',*,*,#8164,.F.); +-#8166=EDGE_LOOP('',(#8160,#8162,#8163,#8165)); +-#8167=FACE_OUTER_BOUND('',#8166,.F.); +-#8168=ADVANCED_FACE('',(#8167),#8159,.F.); +-#8169=CARTESIAN_POINT('',(1.125E0,1.5E0,2.4E1)); +-#8170=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8171=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8172=AXIS2_PLACEMENT_3D('',#8169,#8170,#8171); +-#8173=CYLINDRICAL_SURFACE('',#8172,1.925E-1); +-#8174=ORIENTED_EDGE('',*,*,#8150,.T.); +-#8175=ORIENTED_EDGE('',*,*,#8164,.T.); +-#8176=ORIENTED_EDGE('',*,*,#5610,.F.); +-#8177=ORIENTED_EDGE('',*,*,#8161,.F.); +-#8178=EDGE_LOOP('',(#8174,#8175,#8176,#8177)); +-#8179=FACE_OUTER_BOUND('',#8178,.F.); +-#8180=ADVANCED_FACE('',(#8179),#8173,.F.); +-#8181=CARTESIAN_POINT('',(2.2875E1,1.5E0,6.E0)); +-#8182=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8183=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8184=AXIS2_PLACEMENT_3D('',#8181,#8182,#8183); +-#8185=CYLINDRICAL_SURFACE('',#8184,2.575E-1); +-#8186=ORIENTED_EDGE('',*,*,#6254,.T.); +-#8188=ORIENTED_EDGE('',*,*,#8187,.T.); +-#8190=ORIENTED_EDGE('',*,*,#8189,.F.); +-#8192=ORIENTED_EDGE('',*,*,#8191,.F.); +-#8193=EDGE_LOOP('',(#8186,#8188,#8190,#8192)); +-#8194=FACE_OUTER_BOUND('',#8193,.F.); +-#8195=ADVANCED_FACE('',(#8194),#8185,.F.); +-#8196=CARTESIAN_POINT('',(2.2875E1,1.5E0,6.E0)); +-#8197=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8198=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8199=AXIS2_PLACEMENT_3D('',#8196,#8197,#8198); +-#8200=CYLINDRICAL_SURFACE('',#8199,2.575E-1); +-#8201=ORIENTED_EDGE('',*,*,#6256,.T.); +-#8202=ORIENTED_EDGE('',*,*,#8191,.T.); +-#8204=ORIENTED_EDGE('',*,*,#8203,.F.); +-#8205=ORIENTED_EDGE('',*,*,#8187,.F.); +-#8206=EDGE_LOOP('',(#8201,#8202,#8204,#8205)); +-#8207=FACE_OUTER_BOUND('',#8206,.F.); +-#8208=ADVANCED_FACE('',(#8207),#8200,.F.); +-#8209=CARTESIAN_POINT('',(2.2875E1,1.E0,6.E0)); +-#8210=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8211=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8212=AXIS2_PLACEMENT_3D('',#8209,#8210,#8211); +-#8213=PLANE('',#8212); +-#8214=ORIENTED_EDGE('',*,*,#8189,.T.); +-#8215=ORIENTED_EDGE('',*,*,#8203,.T.); +-#8216=EDGE_LOOP('',(#8214,#8215)); +-#8217=FACE_OUTER_BOUND('',#8216,.F.); +-#8219=ORIENTED_EDGE('',*,*,#8218,.F.); +-#8221=ORIENTED_EDGE('',*,*,#8220,.F.); +-#8222=EDGE_LOOP('',(#8219,#8221)); +-#8223=FACE_BOUND('',#8222,.F.); +-#8224=ADVANCED_FACE('',(#8217,#8223),#8213,.F.); +-#8225=CARTESIAN_POINT('',(2.2875E1,1.5E0,6.E0)); +-#8226=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8227=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8228=AXIS2_PLACEMENT_3D('',#8225,#8226,#8227); +-#8229=CYLINDRICAL_SURFACE('',#8228,1.925E-1); +-#8230=ORIENTED_EDGE('',*,*,#8218,.T.); +-#8232=ORIENTED_EDGE('',*,*,#8231,.T.); +-#8233=ORIENTED_EDGE('',*,*,#5602,.F.); +-#8235=ORIENTED_EDGE('',*,*,#8234,.F.); +-#8236=EDGE_LOOP('',(#8230,#8232,#8233,#8235)); +-#8237=FACE_OUTER_BOUND('',#8236,.F.); +-#8238=ADVANCED_FACE('',(#8237),#8229,.F.); +-#8239=CARTESIAN_POINT('',(2.2875E1,1.5E0,6.E0)); +-#8240=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8241=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8242=AXIS2_PLACEMENT_3D('',#8239,#8240,#8241); +-#8243=CYLINDRICAL_SURFACE('',#8242,1.925E-1); +-#8244=ORIENTED_EDGE('',*,*,#8220,.T.); +-#8245=ORIENTED_EDGE('',*,*,#8234,.T.); +-#8246=ORIENTED_EDGE('',*,*,#5604,.F.); +-#8247=ORIENTED_EDGE('',*,*,#8231,.F.); +-#8248=EDGE_LOOP('',(#8244,#8245,#8246,#8247)); +-#8249=FACE_OUTER_BOUND('',#8248,.F.); +-#8250=ADVANCED_FACE('',(#8249),#8243,.F.); +-#8251=CARTESIAN_POINT('',(2.2875E1,1.5E0,1.8E1)); +-#8252=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8253=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8254=AXIS2_PLACEMENT_3D('',#8251,#8252,#8253); +-#8255=CYLINDRICAL_SURFACE('',#8254,2.575E-1); +-#8256=ORIENTED_EDGE('',*,*,#6370,.T.); +-#8258=ORIENTED_EDGE('',*,*,#8257,.T.); +-#8260=ORIENTED_EDGE('',*,*,#8259,.F.); +-#8262=ORIENTED_EDGE('',*,*,#8261,.F.); +-#8263=EDGE_LOOP('',(#8256,#8258,#8260,#8262)); +-#8264=FACE_OUTER_BOUND('',#8263,.F.); +-#8265=ADVANCED_FACE('',(#8264),#8255,.F.); +-#8266=CARTESIAN_POINT('',(2.2875E1,1.5E0,1.8E1)); +-#8267=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8268=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8269=AXIS2_PLACEMENT_3D('',#8266,#8267,#8268); +-#8270=CYLINDRICAL_SURFACE('',#8269,2.575E-1); +-#8271=ORIENTED_EDGE('',*,*,#6372,.T.); +-#8272=ORIENTED_EDGE('',*,*,#8261,.T.); +-#8274=ORIENTED_EDGE('',*,*,#8273,.F.); +-#8275=ORIENTED_EDGE('',*,*,#8257,.F.); +-#8276=EDGE_LOOP('',(#8271,#8272,#8274,#8275)); +-#8277=FACE_OUTER_BOUND('',#8276,.F.); +-#8278=ADVANCED_FACE('',(#8277),#8270,.F.); +-#8279=CARTESIAN_POINT('',(2.2875E1,1.E0,1.8E1)); +-#8280=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8281=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8282=AXIS2_PLACEMENT_3D('',#8279,#8280,#8281); +-#8283=PLANE('',#8282); +-#8284=ORIENTED_EDGE('',*,*,#8259,.T.); +-#8285=ORIENTED_EDGE('',*,*,#8273,.T.); +-#8286=EDGE_LOOP('',(#8284,#8285)); +-#8287=FACE_OUTER_BOUND('',#8286,.F.); +-#8289=ORIENTED_EDGE('',*,*,#8288,.F.); +-#8291=ORIENTED_EDGE('',*,*,#8290,.F.); +-#8292=EDGE_LOOP('',(#8289,#8291)); +-#8293=FACE_BOUND('',#8292,.F.); +-#8294=ADVANCED_FACE('',(#8287,#8293),#8283,.F.); +-#8295=CARTESIAN_POINT('',(2.2875E1,1.5E0,1.8E1)); +-#8296=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8297=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8298=AXIS2_PLACEMENT_3D('',#8295,#8296,#8297); +-#8299=CYLINDRICAL_SURFACE('',#8298,1.925E-1); +-#8300=ORIENTED_EDGE('',*,*,#8288,.T.); +-#8302=ORIENTED_EDGE('',*,*,#8301,.T.); +-#8303=ORIENTED_EDGE('',*,*,#5590,.F.); +-#8305=ORIENTED_EDGE('',*,*,#8304,.F.); +-#8306=EDGE_LOOP('',(#8300,#8302,#8303,#8305)); +-#8307=FACE_OUTER_BOUND('',#8306,.F.); +-#8308=ADVANCED_FACE('',(#8307),#8299,.F.); +-#8309=CARTESIAN_POINT('',(2.2875E1,1.5E0,1.8E1)); +-#8310=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8311=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8312=AXIS2_PLACEMENT_3D('',#8309,#8310,#8311); +-#8313=CYLINDRICAL_SURFACE('',#8312,1.925E-1); +-#8314=ORIENTED_EDGE('',*,*,#8290,.T.); +-#8315=ORIENTED_EDGE('',*,*,#8304,.T.); +-#8316=ORIENTED_EDGE('',*,*,#5592,.F.); +-#8317=ORIENTED_EDGE('',*,*,#8301,.F.); +-#8318=EDGE_LOOP('',(#8314,#8315,#8316,#8317)); +-#8319=FACE_OUTER_BOUND('',#8318,.F.); +-#8320=ADVANCED_FACE('',(#8319),#8313,.F.); +-#8321=CARTESIAN_POINT('',(2.2875E1,1.5E0,2.4E1)); +-#8322=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8323=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8324=AXIS2_PLACEMENT_3D('',#8321,#8322,#8323); +-#8325=CYLINDRICAL_SURFACE('',#8324,2.575E-1); +-#8326=ORIENTED_EDGE('',*,*,#6376,.T.); +-#8328=ORIENTED_EDGE('',*,*,#8327,.T.); +-#8330=ORIENTED_EDGE('',*,*,#8329,.F.); +-#8332=ORIENTED_EDGE('',*,*,#8331,.F.); +-#8333=EDGE_LOOP('',(#8326,#8328,#8330,#8332)); +-#8334=FACE_OUTER_BOUND('',#8333,.F.); +-#8335=ADVANCED_FACE('',(#8334),#8325,.F.); +-#8336=CARTESIAN_POINT('',(2.2875E1,1.5E0,2.4E1)); +-#8337=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8338=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8339=AXIS2_PLACEMENT_3D('',#8336,#8337,#8338); +-#8340=CYLINDRICAL_SURFACE('',#8339,2.575E-1); +-#8341=ORIENTED_EDGE('',*,*,#6378,.T.); +-#8342=ORIENTED_EDGE('',*,*,#8331,.T.); +-#8344=ORIENTED_EDGE('',*,*,#8343,.F.); +-#8345=ORIENTED_EDGE('',*,*,#8327,.F.); +-#8346=EDGE_LOOP('',(#8341,#8342,#8344,#8345)); +-#8347=FACE_OUTER_BOUND('',#8346,.F.); +-#8348=ADVANCED_FACE('',(#8347),#8340,.F.); +-#8349=CARTESIAN_POINT('',(2.2875E1,1.E0,2.4E1)); +-#8350=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8351=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8352=AXIS2_PLACEMENT_3D('',#8349,#8350,#8351); +-#8353=PLANE('',#8352); +-#8354=ORIENTED_EDGE('',*,*,#8329,.T.); +-#8355=ORIENTED_EDGE('',*,*,#8343,.T.); +-#8356=EDGE_LOOP('',(#8354,#8355)); +-#8357=FACE_OUTER_BOUND('',#8356,.F.); +-#8359=ORIENTED_EDGE('',*,*,#8358,.F.); +-#8361=ORIENTED_EDGE('',*,*,#8360,.F.); +-#8362=EDGE_LOOP('',(#8359,#8361)); +-#8363=FACE_BOUND('',#8362,.F.); +-#8364=ADVANCED_FACE('',(#8357,#8363),#8353,.F.); +-#8365=CARTESIAN_POINT('',(2.2875E1,1.5E0,2.4E1)); +-#8366=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8367=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8368=AXIS2_PLACEMENT_3D('',#8365,#8366,#8367); +-#8369=CYLINDRICAL_SURFACE('',#8368,1.925E-1); +-#8370=ORIENTED_EDGE('',*,*,#8358,.T.); +-#8372=ORIENTED_EDGE('',*,*,#8371,.T.); +-#8373=ORIENTED_EDGE('',*,*,#5584,.F.); +-#8375=ORIENTED_EDGE('',*,*,#8374,.F.); +-#8376=EDGE_LOOP('',(#8370,#8372,#8373,#8375)); +-#8377=FACE_OUTER_BOUND('',#8376,.F.); +-#8378=ADVANCED_FACE('',(#8377),#8369,.F.); +-#8379=CARTESIAN_POINT('',(2.2875E1,1.5E0,2.4E1)); +-#8380=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8381=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8382=AXIS2_PLACEMENT_3D('',#8379,#8380,#8381); +-#8383=CYLINDRICAL_SURFACE('',#8382,1.925E-1); +-#8384=ORIENTED_EDGE('',*,*,#8360,.T.); +-#8385=ORIENTED_EDGE('',*,*,#8374,.T.); +-#8386=ORIENTED_EDGE('',*,*,#5586,.F.); +-#8387=ORIENTED_EDGE('',*,*,#8371,.F.); +-#8388=EDGE_LOOP('',(#8384,#8385,#8386,#8387)); +-#8389=FACE_OUTER_BOUND('',#8388,.F.); +-#8390=ADVANCED_FACE('',(#8389),#8383,.F.); +-#8391=CARTESIAN_POINT('',(6.E0,1.5E0,1.25E0)); +-#8392=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8393=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8394=AXIS2_PLACEMENT_3D('',#8391,#8392,#8393); +-#8395=CYLINDRICAL_SURFACE('',#8394,2.56E-1); +-#8396=ORIENTED_EDGE('',*,*,#6260,.T.); +-#8398=ORIENTED_EDGE('',*,*,#8397,.T.); +-#8400=ORIENTED_EDGE('',*,*,#8399,.F.); +-#8402=ORIENTED_EDGE('',*,*,#8401,.F.); +-#8403=EDGE_LOOP('',(#8396,#8398,#8400,#8402)); +-#8404=FACE_OUTER_BOUND('',#8403,.F.); +-#8405=ADVANCED_FACE('',(#8404),#8395,.F.); +-#8406=CARTESIAN_POINT('',(6.E0,1.5E0,1.25E0)); +-#8407=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8408=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8409=AXIS2_PLACEMENT_3D('',#8406,#8407,#8408); +-#8410=CYLINDRICAL_SURFACE('',#8409,2.56E-1); +-#8411=ORIENTED_EDGE('',*,*,#6262,.T.); +-#8412=ORIENTED_EDGE('',*,*,#8401,.T.); +-#8414=ORIENTED_EDGE('',*,*,#8413,.F.); +-#8415=ORIENTED_EDGE('',*,*,#8397,.F.); +-#8416=EDGE_LOOP('',(#8411,#8412,#8414,#8415)); +-#8417=FACE_OUTER_BOUND('',#8416,.F.); +-#8418=ADVANCED_FACE('',(#8417),#8410,.F.); +-#8419=CARTESIAN_POINT('',(6.E0,1.E0,1.25E0)); +-#8420=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8421=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8422=AXIS2_PLACEMENT_3D('',#8419,#8420,#8421); +-#8423=PLANE('',#8422); +-#8424=ORIENTED_EDGE('',*,*,#8399,.T.); +-#8425=ORIENTED_EDGE('',*,*,#8413,.T.); +-#8426=EDGE_LOOP('',(#8424,#8425)); +-#8427=FACE_OUTER_BOUND('',#8426,.F.); +-#8429=ORIENTED_EDGE('',*,*,#8428,.F.); +-#8431=ORIENTED_EDGE('',*,*,#8430,.F.); +-#8432=EDGE_LOOP('',(#8429,#8431)); +-#8433=FACE_BOUND('',#8432,.F.); +-#8434=ADVANCED_FACE('',(#8427,#8433),#8423,.F.); +-#8435=CARTESIAN_POINT('',(6.E0,1.5E0,1.25E0)); +-#8436=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8437=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8438=AXIS2_PLACEMENT_3D('',#8435,#8436,#8437); +-#8439=CYLINDRICAL_SURFACE('',#8438,1.925E-1); +-#8440=ORIENTED_EDGE('',*,*,#8428,.T.); +-#8442=ORIENTED_EDGE('',*,*,#8441,.T.); +-#8443=ORIENTED_EDGE('',*,*,#5632,.F.); +-#8445=ORIENTED_EDGE('',*,*,#8444,.F.); +-#8446=EDGE_LOOP('',(#8440,#8442,#8443,#8445)); +-#8447=FACE_OUTER_BOUND('',#8446,.F.); +-#8448=ADVANCED_FACE('',(#8447),#8439,.F.); +-#8449=CARTESIAN_POINT('',(6.E0,1.5E0,1.25E0)); +-#8450=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8451=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8452=AXIS2_PLACEMENT_3D('',#8449,#8450,#8451); +-#8453=CYLINDRICAL_SURFACE('',#8452,1.925E-1); +-#8454=ORIENTED_EDGE('',*,*,#8430,.T.); +-#8455=ORIENTED_EDGE('',*,*,#8444,.T.); +-#8456=ORIENTED_EDGE('',*,*,#5634,.F.); +-#8457=ORIENTED_EDGE('',*,*,#8441,.F.); +-#8458=EDGE_LOOP('',(#8454,#8455,#8456,#8457)); +-#8459=FACE_OUTER_BOUND('',#8458,.F.); +-#8460=ADVANCED_FACE('',(#8459),#8453,.F.); +-#8461=CARTESIAN_POINT('',(1.2E1,1.5E0,1.25E0)); +-#8462=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8463=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8464=AXIS2_PLACEMENT_3D('',#8461,#8462,#8463); +-#8465=CYLINDRICAL_SURFACE('',#8464,2.56E-1); +-#8466=ORIENTED_EDGE('',*,*,#6266,.T.); +-#8468=ORIENTED_EDGE('',*,*,#8467,.T.); +-#8470=ORIENTED_EDGE('',*,*,#8469,.F.); +-#8472=ORIENTED_EDGE('',*,*,#8471,.F.); +-#8473=EDGE_LOOP('',(#8466,#8468,#8470,#8472)); +-#8474=FACE_OUTER_BOUND('',#8473,.F.); +-#8475=ADVANCED_FACE('',(#8474),#8465,.F.); +-#8476=CARTESIAN_POINT('',(1.2E1,1.5E0,1.25E0)); +-#8477=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8478=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8479=AXIS2_PLACEMENT_3D('',#8476,#8477,#8478); +-#8480=CYLINDRICAL_SURFACE('',#8479,2.56E-1); +-#8481=ORIENTED_EDGE('',*,*,#6268,.T.); +-#8482=ORIENTED_EDGE('',*,*,#8471,.T.); +-#8484=ORIENTED_EDGE('',*,*,#8483,.F.); +-#8485=ORIENTED_EDGE('',*,*,#8467,.F.); +-#8486=EDGE_LOOP('',(#8481,#8482,#8484,#8485)); +-#8487=FACE_OUTER_BOUND('',#8486,.F.); +-#8488=ADVANCED_FACE('',(#8487),#8480,.F.); +-#8489=CARTESIAN_POINT('',(1.2E1,1.E0,1.25E0)); +-#8490=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8491=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8492=AXIS2_PLACEMENT_3D('',#8489,#8490,#8491); +-#8493=PLANE('',#8492); +-#8494=ORIENTED_EDGE('',*,*,#8469,.T.); +-#8495=ORIENTED_EDGE('',*,*,#8483,.T.); +-#8496=EDGE_LOOP('',(#8494,#8495)); +-#8497=FACE_OUTER_BOUND('',#8496,.F.); +-#8499=ORIENTED_EDGE('',*,*,#8498,.F.); +-#8501=ORIENTED_EDGE('',*,*,#8500,.F.); +-#8502=EDGE_LOOP('',(#8499,#8501)); +-#8503=FACE_BOUND('',#8502,.F.); +-#8504=ADVANCED_FACE('',(#8497,#8503),#8493,.F.); +-#8505=CARTESIAN_POINT('',(1.2E1,1.5E0,1.25E0)); +-#8506=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8507=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8508=AXIS2_PLACEMENT_3D('',#8505,#8506,#8507); +-#8509=CYLINDRICAL_SURFACE('',#8508,1.925E-1); +-#8510=ORIENTED_EDGE('',*,*,#8498,.T.); +-#8512=ORIENTED_EDGE('',*,*,#8511,.T.); +-#8513=ORIENTED_EDGE('',*,*,#5578,.F.); +-#8515=ORIENTED_EDGE('',*,*,#8514,.F.); +-#8516=EDGE_LOOP('',(#8510,#8512,#8513,#8515)); +-#8517=FACE_OUTER_BOUND('',#8516,.F.); +-#8518=ADVANCED_FACE('',(#8517),#8509,.F.); +-#8519=CARTESIAN_POINT('',(1.2E1,1.5E0,1.25E0)); +-#8520=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8521=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8522=AXIS2_PLACEMENT_3D('',#8519,#8520,#8521); +-#8523=CYLINDRICAL_SURFACE('',#8522,1.925E-1); +-#8524=ORIENTED_EDGE('',*,*,#8500,.T.); +-#8525=ORIENTED_EDGE('',*,*,#8514,.T.); +-#8526=ORIENTED_EDGE('',*,*,#5580,.F.); +-#8527=ORIENTED_EDGE('',*,*,#8511,.F.); +-#8528=EDGE_LOOP('',(#8524,#8525,#8526,#8527)); +-#8529=FACE_OUTER_BOUND('',#8528,.F.); +-#8530=ADVANCED_FACE('',(#8529),#8523,.F.); +-#8531=CARTESIAN_POINT('',(1.8E1,1.5E0,1.25E0)); +-#8532=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8533=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8534=AXIS2_PLACEMENT_3D('',#8531,#8532,#8533); +-#8535=CYLINDRICAL_SURFACE('',#8534,2.56E-1); +-#8536=ORIENTED_EDGE('',*,*,#6272,.T.); +-#8538=ORIENTED_EDGE('',*,*,#8537,.T.); +-#8540=ORIENTED_EDGE('',*,*,#8539,.F.); +-#8542=ORIENTED_EDGE('',*,*,#8541,.F.); +-#8543=EDGE_LOOP('',(#8536,#8538,#8540,#8542)); +-#8544=FACE_OUTER_BOUND('',#8543,.F.); +-#8545=ADVANCED_FACE('',(#8544),#8535,.F.); +-#8546=CARTESIAN_POINT('',(1.8E1,1.5E0,1.25E0)); +-#8547=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8548=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8549=AXIS2_PLACEMENT_3D('',#8546,#8547,#8548); +-#8550=CYLINDRICAL_SURFACE('',#8549,2.56E-1); +-#8551=ORIENTED_EDGE('',*,*,#6274,.T.); +-#8552=ORIENTED_EDGE('',*,*,#8541,.T.); +-#8554=ORIENTED_EDGE('',*,*,#8553,.F.); +-#8555=ORIENTED_EDGE('',*,*,#8537,.F.); +-#8556=EDGE_LOOP('',(#8551,#8552,#8554,#8555)); +-#8557=FACE_OUTER_BOUND('',#8556,.F.); +-#8558=ADVANCED_FACE('',(#8557),#8550,.F.); +-#8559=CARTESIAN_POINT('',(1.8E1,1.E0,1.25E0)); +-#8560=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8561=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8562=AXIS2_PLACEMENT_3D('',#8559,#8560,#8561); +-#8563=PLANE('',#8562); +-#8564=ORIENTED_EDGE('',*,*,#8539,.T.); +-#8565=ORIENTED_EDGE('',*,*,#8553,.T.); +-#8566=EDGE_LOOP('',(#8564,#8565)); +-#8567=FACE_OUTER_BOUND('',#8566,.F.); +-#8569=ORIENTED_EDGE('',*,*,#8568,.F.); +-#8571=ORIENTED_EDGE('',*,*,#8570,.F.); +-#8572=EDGE_LOOP('',(#8569,#8571)); +-#8573=FACE_BOUND('',#8572,.F.); +-#8574=ADVANCED_FACE('',(#8567,#8573),#8563,.F.); +-#8575=CARTESIAN_POINT('',(1.8E1,1.5E0,1.25E0)); +-#8576=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8577=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8578=AXIS2_PLACEMENT_3D('',#8575,#8576,#8577); +-#8579=CYLINDRICAL_SURFACE('',#8578,1.925E-1); +-#8580=ORIENTED_EDGE('',*,*,#8568,.T.); +-#8582=ORIENTED_EDGE('',*,*,#8581,.T.); +-#8583=ORIENTED_EDGE('',*,*,#5560,.F.); +-#8585=ORIENTED_EDGE('',*,*,#8584,.F.); +-#8586=EDGE_LOOP('',(#8580,#8582,#8583,#8585)); +-#8587=FACE_OUTER_BOUND('',#8586,.F.); +-#8588=ADVANCED_FACE('',(#8587),#8579,.F.); +-#8589=CARTESIAN_POINT('',(1.8E1,1.5E0,1.25E0)); +-#8590=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8591=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8592=AXIS2_PLACEMENT_3D('',#8589,#8590,#8591); +-#8593=CYLINDRICAL_SURFACE('',#8592,1.925E-1); +-#8594=ORIENTED_EDGE('',*,*,#8570,.T.); +-#8595=ORIENTED_EDGE('',*,*,#8584,.T.); +-#8596=ORIENTED_EDGE('',*,*,#5562,.F.); +-#8597=ORIENTED_EDGE('',*,*,#8581,.F.); +-#8598=EDGE_LOOP('',(#8594,#8595,#8596,#8597)); +-#8599=FACE_OUTER_BOUND('',#8598,.F.); +-#8600=ADVANCED_FACE('',(#8599),#8593,.F.); +-#8601=CARTESIAN_POINT('',(6.E0,1.5E0,3.075E1)); +-#8602=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8603=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8604=AXIS2_PLACEMENT_3D('',#8601,#8602,#8603); +-#8605=CYLINDRICAL_SURFACE('',#8604,2.56E-1); +-#8606=ORIENTED_EDGE('',*,*,#6382,.T.); +-#8608=ORIENTED_EDGE('',*,*,#8607,.T.); +-#8610=ORIENTED_EDGE('',*,*,#8609,.F.); +-#8612=ORIENTED_EDGE('',*,*,#8611,.F.); +-#8613=EDGE_LOOP('',(#8606,#8608,#8610,#8612)); +-#8614=FACE_OUTER_BOUND('',#8613,.F.); +-#8615=ADVANCED_FACE('',(#8614),#8605,.F.); +-#8616=CARTESIAN_POINT('',(6.E0,1.5E0,3.075E1)); +-#8617=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8618=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8619=AXIS2_PLACEMENT_3D('',#8616,#8617,#8618); +-#8620=CYLINDRICAL_SURFACE('',#8619,2.56E-1); +-#8621=ORIENTED_EDGE('',*,*,#6384,.T.); +-#8622=ORIENTED_EDGE('',*,*,#8611,.T.); +-#8624=ORIENTED_EDGE('',*,*,#8623,.F.); +-#8625=ORIENTED_EDGE('',*,*,#8607,.F.); +-#8626=EDGE_LOOP('',(#8621,#8622,#8624,#8625)); +-#8627=FACE_OUTER_BOUND('',#8626,.F.); +-#8628=ADVANCED_FACE('',(#8627),#8620,.F.); +-#8629=CARTESIAN_POINT('',(6.E0,1.E0,3.075E1)); +-#8630=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8631=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8632=AXIS2_PLACEMENT_3D('',#8629,#8630,#8631); +-#8633=PLANE('',#8632); +-#8634=ORIENTED_EDGE('',*,*,#8609,.T.); +-#8635=ORIENTED_EDGE('',*,*,#8623,.T.); +-#8636=EDGE_LOOP('',(#8634,#8635)); +-#8637=FACE_OUTER_BOUND('',#8636,.F.); +-#8639=ORIENTED_EDGE('',*,*,#8638,.F.); +-#8641=ORIENTED_EDGE('',*,*,#8640,.F.); +-#8642=EDGE_LOOP('',(#8639,#8641)); +-#8643=FACE_BOUND('',#8642,.F.); +-#8644=ADVANCED_FACE('',(#8637,#8643),#8633,.F.); +-#8645=CARTESIAN_POINT('',(6.E0,1.5E0,3.075E1)); +-#8646=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8647=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8648=AXIS2_PLACEMENT_3D('',#8645,#8646,#8647); +-#8649=CYLINDRICAL_SURFACE('',#8648,1.925E-1); +-#8650=ORIENTED_EDGE('',*,*,#8638,.T.); +-#8652=ORIENTED_EDGE('',*,*,#8651,.T.); +-#8653=ORIENTED_EDGE('',*,*,#5572,.F.); +-#8655=ORIENTED_EDGE('',*,*,#8654,.F.); +-#8656=EDGE_LOOP('',(#8650,#8652,#8653,#8655)); +-#8657=FACE_OUTER_BOUND('',#8656,.F.); +-#8658=ADVANCED_FACE('',(#8657),#8649,.F.); +-#8659=CARTESIAN_POINT('',(6.E0,1.5E0,3.075E1)); +-#8660=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8661=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8662=AXIS2_PLACEMENT_3D('',#8659,#8660,#8661); +-#8663=CYLINDRICAL_SURFACE('',#8662,1.925E-1); +-#8664=ORIENTED_EDGE('',*,*,#8640,.T.); +-#8665=ORIENTED_EDGE('',*,*,#8654,.T.); +-#8666=ORIENTED_EDGE('',*,*,#5574,.F.); +-#8667=ORIENTED_EDGE('',*,*,#8651,.F.); +-#8668=EDGE_LOOP('',(#8664,#8665,#8666,#8667)); +-#8669=FACE_OUTER_BOUND('',#8668,.F.); +-#8670=ADVANCED_FACE('',(#8669),#8663,.F.); +-#8671=CARTESIAN_POINT('',(1.2E1,1.5E0,3.075E1)); +-#8672=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8673=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8674=AXIS2_PLACEMENT_3D('',#8671,#8672,#8673); +-#8675=CYLINDRICAL_SURFACE('',#8674,2.56E-1); +-#8676=ORIENTED_EDGE('',*,*,#6388,.T.); +-#8678=ORIENTED_EDGE('',*,*,#8677,.T.); +-#8680=ORIENTED_EDGE('',*,*,#8679,.F.); +-#8682=ORIENTED_EDGE('',*,*,#8681,.F.); +-#8683=EDGE_LOOP('',(#8676,#8678,#8680,#8682)); +-#8684=FACE_OUTER_BOUND('',#8683,.F.); +-#8685=ADVANCED_FACE('',(#8684),#8675,.F.); +-#8686=CARTESIAN_POINT('',(1.2E1,1.5E0,3.075E1)); +-#8687=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8688=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8689=AXIS2_PLACEMENT_3D('',#8686,#8687,#8688); +-#8690=CYLINDRICAL_SURFACE('',#8689,2.56E-1); +-#8691=ORIENTED_EDGE('',*,*,#6390,.T.); +-#8692=ORIENTED_EDGE('',*,*,#8681,.T.); +-#8694=ORIENTED_EDGE('',*,*,#8693,.F.); +-#8695=ORIENTED_EDGE('',*,*,#8677,.F.); +-#8696=EDGE_LOOP('',(#8691,#8692,#8694,#8695)); +-#8697=FACE_OUTER_BOUND('',#8696,.F.); +-#8698=ADVANCED_FACE('',(#8697),#8690,.F.); +-#8699=CARTESIAN_POINT('',(1.2E1,1.E0,3.075E1)); +-#8700=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8701=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8702=AXIS2_PLACEMENT_3D('',#8699,#8700,#8701); +-#8703=PLANE('',#8702); +-#8704=ORIENTED_EDGE('',*,*,#8679,.T.); +-#8705=ORIENTED_EDGE('',*,*,#8693,.T.); +-#8706=EDGE_LOOP('',(#8704,#8705)); +-#8707=FACE_OUTER_BOUND('',#8706,.F.); +-#8709=ORIENTED_EDGE('',*,*,#8708,.F.); +-#8711=ORIENTED_EDGE('',*,*,#8710,.F.); +-#8712=EDGE_LOOP('',(#8709,#8711)); +-#8713=FACE_BOUND('',#8712,.F.); +-#8714=ADVANCED_FACE('',(#8707,#8713),#8703,.F.); +-#8715=CARTESIAN_POINT('',(1.2E1,1.5E0,3.075E1)); +-#8716=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8717=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8718=AXIS2_PLACEMENT_3D('',#8715,#8716,#8717); +-#8719=CYLINDRICAL_SURFACE('',#8718,1.925E-1); +-#8720=ORIENTED_EDGE('',*,*,#8708,.T.); +-#8722=ORIENTED_EDGE('',*,*,#8721,.T.); +-#8723=ORIENTED_EDGE('',*,*,#5566,.F.); +-#8725=ORIENTED_EDGE('',*,*,#8724,.F.); +-#8726=EDGE_LOOP('',(#8720,#8722,#8723,#8725)); +-#8727=FACE_OUTER_BOUND('',#8726,.F.); +-#8728=ADVANCED_FACE('',(#8727),#8719,.F.); +-#8729=CARTESIAN_POINT('',(1.2E1,1.5E0,3.075E1)); +-#8730=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8731=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8732=AXIS2_PLACEMENT_3D('',#8729,#8730,#8731); +-#8733=CYLINDRICAL_SURFACE('',#8732,1.925E-1); +-#8734=ORIENTED_EDGE('',*,*,#8710,.T.); +-#8735=ORIENTED_EDGE('',*,*,#8724,.T.); +-#8736=ORIENTED_EDGE('',*,*,#5568,.F.); +-#8737=ORIENTED_EDGE('',*,*,#8721,.F.); +-#8738=EDGE_LOOP('',(#8734,#8735,#8736,#8737)); +-#8739=FACE_OUTER_BOUND('',#8738,.F.); +-#8740=ADVANCED_FACE('',(#8739),#8733,.F.); +-#8741=CARTESIAN_POINT('',(1.8E1,1.5E0,3.075E1)); +-#8742=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8743=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8744=AXIS2_PLACEMENT_3D('',#8741,#8742,#8743); +-#8745=CYLINDRICAL_SURFACE('',#8744,2.56E-1); +-#8746=ORIENTED_EDGE('',*,*,#6394,.T.); +-#8748=ORIENTED_EDGE('',*,*,#8747,.T.); +-#8750=ORIENTED_EDGE('',*,*,#8749,.F.); +-#8752=ORIENTED_EDGE('',*,*,#8751,.F.); +-#8753=EDGE_LOOP('',(#8746,#8748,#8750,#8752)); +-#8754=FACE_OUTER_BOUND('',#8753,.F.); +-#8755=ADVANCED_FACE('',(#8754),#8745,.F.); +-#8756=CARTESIAN_POINT('',(1.8E1,1.5E0,3.075E1)); +-#8757=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8758=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8759=AXIS2_PLACEMENT_3D('',#8756,#8757,#8758); +-#8760=CYLINDRICAL_SURFACE('',#8759,2.56E-1); +-#8761=ORIENTED_EDGE('',*,*,#6396,.T.); +-#8762=ORIENTED_EDGE('',*,*,#8751,.T.); +-#8764=ORIENTED_EDGE('',*,*,#8763,.F.); +-#8765=ORIENTED_EDGE('',*,*,#8747,.F.); +-#8766=EDGE_LOOP('',(#8761,#8762,#8764,#8765)); +-#8767=FACE_OUTER_BOUND('',#8766,.F.); +-#8768=ADVANCED_FACE('',(#8767),#8760,.F.); +-#8769=CARTESIAN_POINT('',(1.8E1,1.E0,3.075E1)); +-#8770=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8771=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8772=AXIS2_PLACEMENT_3D('',#8769,#8770,#8771); +-#8773=PLANE('',#8772); +-#8774=ORIENTED_EDGE('',*,*,#8749,.T.); +-#8775=ORIENTED_EDGE('',*,*,#8763,.T.); +-#8776=EDGE_LOOP('',(#8774,#8775)); +-#8777=FACE_OUTER_BOUND('',#8776,.F.); +-#8779=ORIENTED_EDGE('',*,*,#8778,.F.); +-#8781=ORIENTED_EDGE('',*,*,#8780,.F.); +-#8782=EDGE_LOOP('',(#8779,#8781)); +-#8783=FACE_BOUND('',#8782,.F.); +-#8784=ADVANCED_FACE('',(#8777,#8783),#8773,.F.); +-#8785=CARTESIAN_POINT('',(1.8E1,1.5E0,3.075E1)); +-#8786=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8787=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8788=AXIS2_PLACEMENT_3D('',#8785,#8786,#8787); +-#8789=CYLINDRICAL_SURFACE('',#8788,1.925E-1); +-#8790=ORIENTED_EDGE('',*,*,#8778,.T.); +-#8792=ORIENTED_EDGE('',*,*,#8791,.T.); +-#8793=ORIENTED_EDGE('',*,*,#5554,.F.); +-#8795=ORIENTED_EDGE('',*,*,#8794,.F.); +-#8796=EDGE_LOOP('',(#8790,#8792,#8793,#8795)); +-#8797=FACE_OUTER_BOUND('',#8796,.F.); +-#8798=ADVANCED_FACE('',(#8797),#8789,.F.); +-#8799=CARTESIAN_POINT('',(1.8E1,1.5E0,3.075E1)); +-#8800=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8801=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8802=AXIS2_PLACEMENT_3D('',#8799,#8800,#8801); +-#8803=CYLINDRICAL_SURFACE('',#8802,1.925E-1); +-#8804=ORIENTED_EDGE('',*,*,#8780,.T.); +-#8805=ORIENTED_EDGE('',*,*,#8794,.T.); +-#8806=ORIENTED_EDGE('',*,*,#5556,.F.); +-#8807=ORIENTED_EDGE('',*,*,#8791,.F.); +-#8808=EDGE_LOOP('',(#8804,#8805,#8806,#8807)); +-#8809=FACE_OUTER_BOUND('',#8808,.F.); +-#8810=ADVANCED_FACE('',(#8809),#8803,.F.); +-#8811=CARTESIAN_POINT('',(6.E0,1.5E0,9.E0)); +-#8812=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8813=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8814=AXIS2_PLACEMENT_3D('',#8811,#8812,#8813); +-#8815=CYLINDRICAL_SURFACE('',#8814,2.575E-1); +-#8816=ORIENTED_EDGE('',*,*,#6452,.T.); +-#8818=ORIENTED_EDGE('',*,*,#8817,.T.); +-#8820=ORIENTED_EDGE('',*,*,#8819,.F.); +-#8822=ORIENTED_EDGE('',*,*,#8821,.F.); +-#8823=EDGE_LOOP('',(#8816,#8818,#8820,#8822)); +-#8824=FACE_OUTER_BOUND('',#8823,.F.); +-#8825=ADVANCED_FACE('',(#8824),#8815,.F.); +-#8826=CARTESIAN_POINT('',(6.E0,1.5E0,9.E0)); +-#8827=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8828=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8829=AXIS2_PLACEMENT_3D('',#8826,#8827,#8828); +-#8830=CYLINDRICAL_SURFACE('',#8829,2.575E-1); +-#8831=ORIENTED_EDGE('',*,*,#6454,.T.); +-#8832=ORIENTED_EDGE('',*,*,#8821,.T.); +-#8834=ORIENTED_EDGE('',*,*,#8833,.F.); +-#8835=ORIENTED_EDGE('',*,*,#8817,.F.); +-#8836=EDGE_LOOP('',(#8831,#8832,#8834,#8835)); +-#8837=FACE_OUTER_BOUND('',#8836,.F.); +-#8838=ADVANCED_FACE('',(#8837),#8830,.F.); +-#8839=CARTESIAN_POINT('',(6.E0,1.E0,9.E0)); +-#8840=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8841=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8842=AXIS2_PLACEMENT_3D('',#8839,#8840,#8841); +-#8843=PLANE('',#8842); +-#8844=ORIENTED_EDGE('',*,*,#8819,.T.); +-#8845=ORIENTED_EDGE('',*,*,#8833,.T.); +-#8846=EDGE_LOOP('',(#8844,#8845)); +-#8847=FACE_OUTER_BOUND('',#8846,.F.); +-#8849=ORIENTED_EDGE('',*,*,#8848,.F.); +-#8851=ORIENTED_EDGE('',*,*,#8850,.F.); +-#8852=EDGE_LOOP('',(#8849,#8851)); +-#8853=FACE_BOUND('',#8852,.F.); +-#8854=ADVANCED_FACE('',(#8847,#8853),#8843,.F.); +-#8855=CARTESIAN_POINT('',(6.E0,1.5E0,9.E0)); +-#8856=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8857=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8858=AXIS2_PLACEMENT_3D('',#8855,#8856,#8857); +-#8859=CYLINDRICAL_SURFACE('',#8858,1.925E-1); +-#8860=ORIENTED_EDGE('',*,*,#8848,.T.); +-#8862=ORIENTED_EDGE('',*,*,#8861,.T.); +-#8863=ORIENTED_EDGE('',*,*,#5690,.F.); +-#8865=ORIENTED_EDGE('',*,*,#8864,.F.); +-#8866=EDGE_LOOP('',(#8860,#8862,#8863,#8865)); +-#8867=FACE_OUTER_BOUND('',#8866,.F.); +-#8868=ADVANCED_FACE('',(#8867),#8859,.F.); +-#8869=CARTESIAN_POINT('',(6.E0,1.5E0,9.E0)); +-#8870=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8871=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8872=AXIS2_PLACEMENT_3D('',#8869,#8870,#8871); +-#8873=CYLINDRICAL_SURFACE('',#8872,1.925E-1); +-#8874=ORIENTED_EDGE('',*,*,#8850,.T.); +-#8875=ORIENTED_EDGE('',*,*,#8864,.T.); +-#8876=ORIENTED_EDGE('',*,*,#5692,.F.); +-#8877=ORIENTED_EDGE('',*,*,#8861,.F.); +-#8878=EDGE_LOOP('',(#8874,#8875,#8876,#8877)); +-#8879=FACE_OUTER_BOUND('',#8878,.F.); +-#8880=ADVANCED_FACE('',(#8879),#8873,.F.); +-#8881=CARTESIAN_POINT('',(1.2E1,1.5E0,9.E0)); +-#8882=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8883=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8884=AXIS2_PLACEMENT_3D('',#8881,#8882,#8883); +-#8885=CYLINDRICAL_SURFACE('',#8884,2.575E-1); +-#8886=ORIENTED_EDGE('',*,*,#6458,.T.); +-#8888=ORIENTED_EDGE('',*,*,#8887,.T.); +-#8890=ORIENTED_EDGE('',*,*,#8889,.F.); +-#8892=ORIENTED_EDGE('',*,*,#8891,.F.); +-#8893=EDGE_LOOP('',(#8886,#8888,#8890,#8892)); +-#8894=FACE_OUTER_BOUND('',#8893,.F.); +-#8895=ADVANCED_FACE('',(#8894),#8885,.F.); +-#8896=CARTESIAN_POINT('',(1.2E1,1.5E0,9.E0)); +-#8897=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8898=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8899=AXIS2_PLACEMENT_3D('',#8896,#8897,#8898); +-#8900=CYLINDRICAL_SURFACE('',#8899,2.575E-1); +-#8901=ORIENTED_EDGE('',*,*,#6460,.T.); +-#8902=ORIENTED_EDGE('',*,*,#8891,.T.); +-#8904=ORIENTED_EDGE('',*,*,#8903,.F.); +-#8905=ORIENTED_EDGE('',*,*,#8887,.F.); +-#8906=EDGE_LOOP('',(#8901,#8902,#8904,#8905)); +-#8907=FACE_OUTER_BOUND('',#8906,.F.); +-#8908=ADVANCED_FACE('',(#8907),#8900,.F.); +-#8909=CARTESIAN_POINT('',(1.2E1,1.E0,9.E0)); +-#8910=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8911=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8912=AXIS2_PLACEMENT_3D('',#8909,#8910,#8911); +-#8913=PLANE('',#8912); +-#8914=ORIENTED_EDGE('',*,*,#8889,.T.); +-#8915=ORIENTED_EDGE('',*,*,#8903,.T.); +-#8916=EDGE_LOOP('',(#8914,#8915)); +-#8917=FACE_OUTER_BOUND('',#8916,.F.); +-#8919=ORIENTED_EDGE('',*,*,#8918,.F.); +-#8921=ORIENTED_EDGE('',*,*,#8920,.F.); +-#8922=EDGE_LOOP('',(#8919,#8921)); +-#8923=FACE_BOUND('',#8922,.F.); +-#8924=ADVANCED_FACE('',(#8917,#8923),#8913,.F.); +-#8925=CARTESIAN_POINT('',(1.2E1,1.5E0,9.E0)); +-#8926=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8927=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8928=AXIS2_PLACEMENT_3D('',#8925,#8926,#8927); +-#8929=CYLINDRICAL_SURFACE('',#8928,1.925E-1); +-#8930=ORIENTED_EDGE('',*,*,#8918,.T.); +-#8932=ORIENTED_EDGE('',*,*,#8931,.T.); +-#8933=ORIENTED_EDGE('',*,*,#5696,.F.); +-#8935=ORIENTED_EDGE('',*,*,#8934,.F.); +-#8936=EDGE_LOOP('',(#8930,#8932,#8933,#8935)); +-#8937=FACE_OUTER_BOUND('',#8936,.F.); +-#8938=ADVANCED_FACE('',(#8937),#8929,.F.); +-#8939=CARTESIAN_POINT('',(1.2E1,1.5E0,9.E0)); +-#8940=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8941=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8942=AXIS2_PLACEMENT_3D('',#8939,#8940,#8941); +-#8943=CYLINDRICAL_SURFACE('',#8942,1.925E-1); +-#8944=ORIENTED_EDGE('',*,*,#8920,.T.); +-#8945=ORIENTED_EDGE('',*,*,#8934,.T.); +-#8946=ORIENTED_EDGE('',*,*,#5698,.F.); +-#8947=ORIENTED_EDGE('',*,*,#8931,.F.); +-#8948=EDGE_LOOP('',(#8944,#8945,#8946,#8947)); +-#8949=FACE_OUTER_BOUND('',#8948,.F.); +-#8950=ADVANCED_FACE('',(#8949),#8943,.F.); +-#8951=CARTESIAN_POINT('',(1.8E1,1.5E0,9.E0)); +-#8952=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8953=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8954=AXIS2_PLACEMENT_3D('',#8951,#8952,#8953); +-#8955=CYLINDRICAL_SURFACE('',#8954,2.575E-1); +-#8956=ORIENTED_EDGE('',*,*,#6464,.T.); +-#8958=ORIENTED_EDGE('',*,*,#8957,.T.); +-#8960=ORIENTED_EDGE('',*,*,#8959,.F.); +-#8962=ORIENTED_EDGE('',*,*,#8961,.F.); +-#8963=EDGE_LOOP('',(#8956,#8958,#8960,#8962)); +-#8964=FACE_OUTER_BOUND('',#8963,.F.); +-#8965=ADVANCED_FACE('',(#8964),#8955,.F.); +-#8966=CARTESIAN_POINT('',(1.8E1,1.5E0,9.E0)); +-#8967=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8968=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8969=AXIS2_PLACEMENT_3D('',#8966,#8967,#8968); +-#8970=CYLINDRICAL_SURFACE('',#8969,2.575E-1); +-#8971=ORIENTED_EDGE('',*,*,#6466,.T.); +-#8972=ORIENTED_EDGE('',*,*,#8961,.T.); +-#8974=ORIENTED_EDGE('',*,*,#8973,.F.); +-#8975=ORIENTED_EDGE('',*,*,#8957,.F.); +-#8976=EDGE_LOOP('',(#8971,#8972,#8974,#8975)); +-#8977=FACE_OUTER_BOUND('',#8976,.F.); +-#8978=ADVANCED_FACE('',(#8977),#8970,.F.); +-#8979=CARTESIAN_POINT('',(1.8E1,1.E0,9.E0)); +-#8980=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8981=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8982=AXIS2_PLACEMENT_3D('',#8979,#8980,#8981); +-#8983=PLANE('',#8982); +-#8984=ORIENTED_EDGE('',*,*,#8959,.T.); +-#8985=ORIENTED_EDGE('',*,*,#8973,.T.); +-#8986=EDGE_LOOP('',(#8984,#8985)); +-#8987=FACE_OUTER_BOUND('',#8986,.F.); +-#8989=ORIENTED_EDGE('',*,*,#8988,.F.); +-#8991=ORIENTED_EDGE('',*,*,#8990,.F.); +-#8992=EDGE_LOOP('',(#8989,#8991)); +-#8993=FACE_BOUND('',#8992,.F.); +-#8994=ADVANCED_FACE('',(#8987,#8993),#8983,.F.); +-#8995=CARTESIAN_POINT('',(1.8E1,1.5E0,9.E0)); +-#8996=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#8997=DIRECTION('',(1.E0,0.E0,0.E0)); +-#8998=AXIS2_PLACEMENT_3D('',#8995,#8996,#8997); +-#8999=CYLINDRICAL_SURFACE('',#8998,1.925E-1); +-#9000=ORIENTED_EDGE('',*,*,#8988,.T.); +-#9002=ORIENTED_EDGE('',*,*,#9001,.T.); +-#9003=ORIENTED_EDGE('',*,*,#5702,.F.); +-#9005=ORIENTED_EDGE('',*,*,#9004,.F.); +-#9006=EDGE_LOOP('',(#9000,#9002,#9003,#9005)); +-#9007=FACE_OUTER_BOUND('',#9006,.F.); +-#9008=ADVANCED_FACE('',(#9007),#8999,.F.); +-#9009=CARTESIAN_POINT('',(1.8E1,1.5E0,9.E0)); +-#9010=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#9011=DIRECTION('',(1.E0,0.E0,0.E0)); +-#9012=AXIS2_PLACEMENT_3D('',#9009,#9010,#9011); +-#9013=CYLINDRICAL_SURFACE('',#9012,1.925E-1); +-#9014=ORIENTED_EDGE('',*,*,#8990,.T.); +-#9015=ORIENTED_EDGE('',*,*,#9004,.T.); +-#9016=ORIENTED_EDGE('',*,*,#5704,.F.); +-#9017=ORIENTED_EDGE('',*,*,#9001,.F.); +-#9018=EDGE_LOOP('',(#9014,#9015,#9016,#9017)); +-#9019=FACE_OUTER_BOUND('',#9018,.F.); +-#9020=ADVANCED_FACE('',(#9019),#9013,.F.); +-#9021=CARTESIAN_POINT('',(6.E0,1.5E0,1.8E1)); +-#9022=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#9023=DIRECTION('',(1.E0,0.E0,0.E0)); +-#9024=AXIS2_PLACEMENT_3D('',#9021,#9022,#9023); +-#9025=CYLINDRICAL_SURFACE('',#9024,2.575E-1); +-#9026=ORIENTED_EDGE('',*,*,#6470,.T.); +-#9028=ORIENTED_EDGE('',*,*,#9027,.T.); +-#9030=ORIENTED_EDGE('',*,*,#9029,.F.); +-#9032=ORIENTED_EDGE('',*,*,#9031,.F.); +-#9033=EDGE_LOOP('',(#9026,#9028,#9030,#9032)); +-#9034=FACE_OUTER_BOUND('',#9033,.F.); +-#9035=ADVANCED_FACE('',(#9034),#9025,.F.); +-#9036=CARTESIAN_POINT('',(6.E0,1.5E0,1.8E1)); +-#9037=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#9038=DIRECTION('',(1.E0,0.E0,0.E0)); +-#9039=AXIS2_PLACEMENT_3D('',#9036,#9037,#9038); +-#9040=CYLINDRICAL_SURFACE('',#9039,2.575E-1); +-#9041=ORIENTED_EDGE('',*,*,#6472,.T.); +-#9042=ORIENTED_EDGE('',*,*,#9031,.T.); +-#9044=ORIENTED_EDGE('',*,*,#9043,.F.); +-#9045=ORIENTED_EDGE('',*,*,#9027,.F.); +-#9046=EDGE_LOOP('',(#9041,#9042,#9044,#9045)); +-#9047=FACE_OUTER_BOUND('',#9046,.F.); +-#9048=ADVANCED_FACE('',(#9047),#9040,.F.); +-#9049=CARTESIAN_POINT('',(6.E0,1.E0,1.8E1)); +-#9050=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#9051=DIRECTION('',(1.E0,0.E0,0.E0)); +-#9052=AXIS2_PLACEMENT_3D('',#9049,#9050,#9051); +-#9053=PLANE('',#9052); +-#9054=ORIENTED_EDGE('',*,*,#9029,.T.); +-#9055=ORIENTED_EDGE('',*,*,#9043,.T.); +-#9056=EDGE_LOOP('',(#9054,#9055)); +-#9057=FACE_OUTER_BOUND('',#9056,.F.); +-#9059=ORIENTED_EDGE('',*,*,#9058,.F.); +-#9061=ORIENTED_EDGE('',*,*,#9060,.F.); +-#9062=EDGE_LOOP('',(#9059,#9061)); +-#9063=FACE_BOUND('',#9062,.F.); +-#9064=ADVANCED_FACE('',(#9057,#9063),#9053,.F.); +-#9065=CARTESIAN_POINT('',(6.E0,1.5E0,1.8E1)); +-#9066=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#9067=DIRECTION('',(1.E0,0.E0,0.E0)); +-#9068=AXIS2_PLACEMENT_3D('',#9065,#9066,#9067); +-#9069=CYLINDRICAL_SURFACE('',#9068,1.925E-1); +-#9070=ORIENTED_EDGE('',*,*,#9058,.T.); +-#9072=ORIENTED_EDGE('',*,*,#9071,.T.); +-#9073=ORIENTED_EDGE('',*,*,#5708,.F.); +-#9075=ORIENTED_EDGE('',*,*,#9074,.F.); +-#9076=EDGE_LOOP('',(#9070,#9072,#9073,#9075)); +-#9077=FACE_OUTER_BOUND('',#9076,.F.); +-#9078=ADVANCED_FACE('',(#9077),#9069,.F.); +-#9079=CARTESIAN_POINT('',(6.E0,1.5E0,1.8E1)); +-#9080=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#9081=DIRECTION('',(1.E0,0.E0,0.E0)); +-#9082=AXIS2_PLACEMENT_3D('',#9079,#9080,#9081); +-#9083=CYLINDRICAL_SURFACE('',#9082,1.925E-1); +-#9084=ORIENTED_EDGE('',*,*,#9060,.T.); +-#9085=ORIENTED_EDGE('',*,*,#9074,.T.); +-#9086=ORIENTED_EDGE('',*,*,#5710,.F.); +-#9087=ORIENTED_EDGE('',*,*,#9071,.F.); +-#9088=EDGE_LOOP('',(#9084,#9085,#9086,#9087)); +-#9089=FACE_OUTER_BOUND('',#9088,.F.); +-#9090=ADVANCED_FACE('',(#9089),#9083,.F.); +-#9091=CARTESIAN_POINT('',(1.2E1,1.5E0,1.8E1)); +-#9092=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#9093=DIRECTION('',(1.E0,0.E0,0.E0)); +-#9094=AXIS2_PLACEMENT_3D('',#9091,#9092,#9093); +-#9095=CYLINDRICAL_SURFACE('',#9094,2.575E-1); +-#9096=ORIENTED_EDGE('',*,*,#6476,.T.); +-#9098=ORIENTED_EDGE('',*,*,#9097,.T.); +-#9100=ORIENTED_EDGE('',*,*,#9099,.F.); +-#9102=ORIENTED_EDGE('',*,*,#9101,.F.); +-#9103=EDGE_LOOP('',(#9096,#9098,#9100,#9102)); +-#9104=FACE_OUTER_BOUND('',#9103,.F.); +-#9105=ADVANCED_FACE('',(#9104),#9095,.F.); +-#9106=CARTESIAN_POINT('',(1.2E1,1.5E0,1.8E1)); +-#9107=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#9108=DIRECTION('',(1.E0,0.E0,0.E0)); +-#9109=AXIS2_PLACEMENT_3D('',#9106,#9107,#9108); +-#9110=CYLINDRICAL_SURFACE('',#9109,2.575E-1); +-#9111=ORIENTED_EDGE('',*,*,#6478,.T.); +-#9112=ORIENTED_EDGE('',*,*,#9101,.T.); +-#9114=ORIENTED_EDGE('',*,*,#9113,.F.); +-#9115=ORIENTED_EDGE('',*,*,#9097,.F.); +-#9116=EDGE_LOOP('',(#9111,#9112,#9114,#9115)); +-#9117=FACE_OUTER_BOUND('',#9116,.F.); +-#9118=ADVANCED_FACE('',(#9117),#9110,.F.); +-#9119=CARTESIAN_POINT('',(1.2E1,1.E0,1.8E1)); +-#9120=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#9121=DIRECTION('',(1.E0,0.E0,0.E0)); +-#9122=AXIS2_PLACEMENT_3D('',#9119,#9120,#9121); +-#9123=PLANE('',#9122); +-#9124=ORIENTED_EDGE('',*,*,#9099,.T.); +-#9125=ORIENTED_EDGE('',*,*,#9113,.T.); +-#9126=EDGE_LOOP('',(#9124,#9125)); +-#9127=FACE_OUTER_BOUND('',#9126,.F.); +-#9129=ORIENTED_EDGE('',*,*,#9128,.F.); +-#9131=ORIENTED_EDGE('',*,*,#9130,.F.); +-#9132=EDGE_LOOP('',(#9129,#9131)); +-#9133=FACE_BOUND('',#9132,.F.); +-#9134=ADVANCED_FACE('',(#9127,#9133),#9123,.F.); +-#9135=CARTESIAN_POINT('',(1.2E1,1.5E0,1.8E1)); +-#9136=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#9137=DIRECTION('',(1.E0,0.E0,0.E0)); +-#9138=AXIS2_PLACEMENT_3D('',#9135,#9136,#9137); +-#9139=CYLINDRICAL_SURFACE('',#9138,1.925E-1); +-#9140=ORIENTED_EDGE('',*,*,#9128,.T.); +-#9142=ORIENTED_EDGE('',*,*,#9141,.T.); +-#9143=ORIENTED_EDGE('',*,*,#5714,.F.); +-#9145=ORIENTED_EDGE('',*,*,#9144,.F.); +-#9146=EDGE_LOOP('',(#9140,#9142,#9143,#9145)); +-#9147=FACE_OUTER_BOUND('',#9146,.F.); +-#9148=ADVANCED_FACE('',(#9147),#9139,.F.); +-#9149=CARTESIAN_POINT('',(1.2E1,1.5E0,1.8E1)); +-#9150=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#9151=DIRECTION('',(1.E0,0.E0,0.E0)); +-#9152=AXIS2_PLACEMENT_3D('',#9149,#9150,#9151); +-#9153=CYLINDRICAL_SURFACE('',#9152,1.925E-1); +-#9154=ORIENTED_EDGE('',*,*,#9130,.T.); +-#9155=ORIENTED_EDGE('',*,*,#9144,.T.); +-#9156=ORIENTED_EDGE('',*,*,#5716,.F.); +-#9157=ORIENTED_EDGE('',*,*,#9141,.F.); +-#9158=EDGE_LOOP('',(#9154,#9155,#9156,#9157)); +-#9159=FACE_OUTER_BOUND('',#9158,.F.); +-#9160=ADVANCED_FACE('',(#9159),#9153,.F.); +-#9161=CARTESIAN_POINT('',(1.8E1,1.5E0,1.8E1)); +-#9162=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#9163=DIRECTION('',(1.E0,0.E0,0.E0)); +-#9164=AXIS2_PLACEMENT_3D('',#9161,#9162,#9163); +-#9165=CYLINDRICAL_SURFACE('',#9164,2.575E-1); +-#9166=ORIENTED_EDGE('',*,*,#6482,.T.); +-#9168=ORIENTED_EDGE('',*,*,#9167,.T.); +-#9170=ORIENTED_EDGE('',*,*,#9169,.F.); +-#9172=ORIENTED_EDGE('',*,*,#9171,.F.); +-#9173=EDGE_LOOP('',(#9166,#9168,#9170,#9172)); +-#9174=FACE_OUTER_BOUND('',#9173,.F.); +-#9175=ADVANCED_FACE('',(#9174),#9165,.F.); +-#9176=CARTESIAN_POINT('',(1.8E1,1.5E0,1.8E1)); +-#9177=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#9178=DIRECTION('',(1.E0,0.E0,0.E0)); +-#9179=AXIS2_PLACEMENT_3D('',#9176,#9177,#9178); +-#9180=CYLINDRICAL_SURFACE('',#9179,2.575E-1); +-#9181=ORIENTED_EDGE('',*,*,#6484,.T.); +-#9182=ORIENTED_EDGE('',*,*,#9171,.T.); +-#9184=ORIENTED_EDGE('',*,*,#9183,.F.); +-#9185=ORIENTED_EDGE('',*,*,#9167,.F.); +-#9186=EDGE_LOOP('',(#9181,#9182,#9184,#9185)); +-#9187=FACE_OUTER_BOUND('',#9186,.F.); +-#9188=ADVANCED_FACE('',(#9187),#9180,.F.); +-#9189=CARTESIAN_POINT('',(1.8E1,1.E0,1.8E1)); +-#9190=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#9191=DIRECTION('',(1.E0,0.E0,0.E0)); +-#9192=AXIS2_PLACEMENT_3D('',#9189,#9190,#9191); +-#9193=PLANE('',#9192); +-#9194=ORIENTED_EDGE('',*,*,#9169,.T.); +-#9195=ORIENTED_EDGE('',*,*,#9183,.T.); +-#9196=EDGE_LOOP('',(#9194,#9195)); +-#9197=FACE_OUTER_BOUND('',#9196,.F.); +-#9199=ORIENTED_EDGE('',*,*,#9198,.F.); +-#9201=ORIENTED_EDGE('',*,*,#9200,.F.); +-#9202=EDGE_LOOP('',(#9199,#9201)); +-#9203=FACE_BOUND('',#9202,.F.); +-#9204=ADVANCED_FACE('',(#9197,#9203),#9193,.F.); +-#9205=CARTESIAN_POINT('',(1.8E1,1.5E0,1.8E1)); +-#9206=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#9207=DIRECTION('',(1.E0,0.E0,0.E0)); +-#9208=AXIS2_PLACEMENT_3D('',#9205,#9206,#9207); +-#9209=CYLINDRICAL_SURFACE('',#9208,1.925E-1); +-#9210=ORIENTED_EDGE('',*,*,#9198,.T.); +-#9212=ORIENTED_EDGE('',*,*,#9211,.T.); +-#9213=ORIENTED_EDGE('',*,*,#5720,.F.); +-#9215=ORIENTED_EDGE('',*,*,#9214,.F.); +-#9216=EDGE_LOOP('',(#9210,#9212,#9213,#9215)); +-#9217=FACE_OUTER_BOUND('',#9216,.F.); +-#9218=ADVANCED_FACE('',(#9217),#9209,.F.); +-#9219=CARTESIAN_POINT('',(1.8E1,1.5E0,1.8E1)); +-#9220=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#9221=DIRECTION('',(1.E0,0.E0,0.E0)); +-#9222=AXIS2_PLACEMENT_3D('',#9219,#9220,#9221); +-#9223=CYLINDRICAL_SURFACE('',#9222,1.925E-1); +-#9224=ORIENTED_EDGE('',*,*,#9200,.T.); +-#9225=ORIENTED_EDGE('',*,*,#9214,.T.); +-#9226=ORIENTED_EDGE('',*,*,#5722,.F.); +-#9227=ORIENTED_EDGE('',*,*,#9211,.F.); +-#9228=EDGE_LOOP('',(#9224,#9225,#9226,#9227)); +-#9229=FACE_OUTER_BOUND('',#9228,.F.); +-#9230=ADVANCED_FACE('',(#9229),#9223,.F.); +-#9231=CARTESIAN_POINT('',(2.2E1,1.5E0,1.2E1)); +-#9232=DIRECTION('',(1.E0,0.E0,0.E0)); +-#9233=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#9234=AXIS2_PLACEMENT_3D('',#9231,#9232,#9233); +-#9235=PLANE('',#9234); +-#9236=ORIENTED_EDGE('',*,*,#6328,.T.); +-#9237=ORIENTED_EDGE('',*,*,#6155,.T.); +-#9239=ORIENTED_EDGE('',*,*,#9238,.T.); +-#9240=EDGE_LOOP('',(#9236,#9237,#9239)); +-#9241=FACE_OUTER_BOUND('',#9240,.F.); +-#9242=ADVANCED_FACE('',(#9241),#9235,.F.); +-#9243=CARTESIAN_POINT('',(2.375E1,6.5E0,1.E1)); +-#9244=DIRECTION('',(0.E0,-5.E-1,-8.660254037844E-1)); +-#9245=DIRECTION('',(0.E0,-8.660254037844E-1,5.E-1)); +-#9246=AXIS2_PLACEMENT_3D('',#9243,#9244,#9245); +-#9247=PLANE('',#9246); +-#9248=ORIENTED_EDGE('',*,*,#6330,.T.); +-#9249=ORIENTED_EDGE('',*,*,#9238,.F.); +-#9250=ORIENTED_EDGE('',*,*,#6153,.F.); +-#9251=ORIENTED_EDGE('',*,*,#6209,.T.); +-#9252=EDGE_LOOP('',(#9248,#9249,#9250,#9251)); +-#9253=FACE_OUTER_BOUND('',#9252,.F.); +-#9255=ORIENTED_EDGE('',*,*,#9254,.F.); +-#9257=ORIENTED_EDGE('',*,*,#9256,.F.); +-#9258=EDGE_LOOP('',(#9255,#9257)); +-#9259=FACE_BOUND('',#9258,.F.); +-#9260=ADVANCED_FACE('',(#9253,#9259),#9247,.F.); +-#9261=CARTESIAN_POINT('',(2.2875E1,1.5E0,1.2E1)); +-#9262=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#9263=DIRECTION('',(1.E0,0.E0,0.E0)); +-#9264=AXIS2_PLACEMENT_3D('',#9261,#9262,#9263); +-#9265=CYLINDRICAL_SURFACE('',#9264,2.575E-1); +-#9267=ORIENTED_EDGE('',*,*,#9266,.F.); +-#9268=ORIENTED_EDGE('',*,*,#9254,.T.); +-#9270=ORIENTED_EDGE('',*,*,#9269,.F.); +-#9272=ORIENTED_EDGE('',*,*,#9271,.F.); +-#9273=EDGE_LOOP('',(#9267,#9268,#9270,#9272)); +-#9274=FACE_OUTER_BOUND('',#9273,.F.); +-#9275=ADVANCED_FACE('',(#9274),#9265,.F.); +-#9276=CARTESIAN_POINT('',(2.2875E1,1.5E0,1.2E1)); +-#9277=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#9278=DIRECTION('',(1.E0,0.E0,0.E0)); +-#9279=AXIS2_PLACEMENT_3D('',#9276,#9277,#9278); +-#9280=CYLINDRICAL_SURFACE('',#9279,2.575E-1); +-#9281=ORIENTED_EDGE('',*,*,#9269,.T.); +-#9282=ORIENTED_EDGE('',*,*,#9256,.T.); +-#9283=ORIENTED_EDGE('',*,*,#9266,.T.); +-#9285=ORIENTED_EDGE('',*,*,#9284,.F.); +-#9286=EDGE_LOOP('',(#9281,#9282,#9283,#9285)); +-#9287=FACE_OUTER_BOUND('',#9286,.F.); +-#9288=ADVANCED_FACE('',(#9287),#9280,.F.); +-#9289=CARTESIAN_POINT('',(2.2875E1,1.E0,1.2E1)); +-#9290=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#9291=DIRECTION('',(1.E0,0.E0,0.E0)); +-#9292=AXIS2_PLACEMENT_3D('',#9289,#9290,#9291); +-#9293=PLANE('',#9292); +-#9294=ORIENTED_EDGE('',*,*,#9271,.T.); +-#9295=ORIENTED_EDGE('',*,*,#9284,.T.); +-#9296=EDGE_LOOP('',(#9294,#9295)); +-#9297=FACE_OUTER_BOUND('',#9296,.F.); +-#9299=ORIENTED_EDGE('',*,*,#9298,.F.); +-#9301=ORIENTED_EDGE('',*,*,#9300,.F.); +-#9302=EDGE_LOOP('',(#9299,#9301)); +-#9303=FACE_BOUND('',#9302,.F.); +-#9304=ADVANCED_FACE('',(#9297,#9303),#9293,.F.); +-#9305=CARTESIAN_POINT('',(2.2875E1,1.5E0,1.2E1)); +-#9306=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#9307=DIRECTION('',(1.E0,0.E0,0.E0)); +-#9308=AXIS2_PLACEMENT_3D('',#9305,#9306,#9307); +-#9309=CYLINDRICAL_SURFACE('',#9308,1.925E-1); +-#9310=ORIENTED_EDGE('',*,*,#9298,.T.); +-#9312=ORIENTED_EDGE('',*,*,#9311,.T.); +-#9313=ORIENTED_EDGE('',*,*,#5596,.F.); +-#9315=ORIENTED_EDGE('',*,*,#9314,.F.); +-#9316=EDGE_LOOP('',(#9310,#9312,#9313,#9315)); +-#9317=FACE_OUTER_BOUND('',#9316,.F.); +-#9318=ADVANCED_FACE('',(#9317),#9309,.F.); +-#9319=CARTESIAN_POINT('',(2.2875E1,1.5E0,1.2E1)); +-#9320=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#9321=DIRECTION('',(1.E0,0.E0,0.E0)); +-#9322=AXIS2_PLACEMENT_3D('',#9319,#9320,#9321); +-#9323=CYLINDRICAL_SURFACE('',#9322,1.925E-1); +-#9324=ORIENTED_EDGE('',*,*,#9300,.T.); +-#9325=ORIENTED_EDGE('',*,*,#9314,.T.); +-#9326=ORIENTED_EDGE('',*,*,#5598,.F.); +-#9327=ORIENTED_EDGE('',*,*,#9311,.F.); +-#9328=EDGE_LOOP('',(#9324,#9325,#9326,#9327)); +-#9329=FACE_OUTER_BOUND('',#9328,.F.); +-#9330=ADVANCED_FACE('',(#9329),#9323,.F.); +-#9331=CARTESIAN_POINT('',(2.185E1,6.65E0,1.006892397423E1)); +-#9332=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#9333=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#9334=AXIS2_PLACEMENT_3D('',#9331,#9332,#9333); +-#9335=CYLINDRICAL_SURFACE('',#9334,3.5E-1); +-#9337=ORIENTED_EDGE('',*,*,#9336,.T.); +-#9339=ORIENTED_EDGE('',*,*,#9338,.T.); +-#9341=ORIENTED_EDGE('',*,*,#9340,.F.); +-#9342=ORIENTED_EDGE('',*,*,#6175,.T.); +-#9343=EDGE_LOOP('',(#9337,#9339,#9341,#9342)); +-#9344=FACE_OUTER_BOUND('',#9343,.F.); +-#9345=ADVANCED_FACE('',(#9344),#9335,.T.); +-#9346=CARTESIAN_POINT('',(2.15E1,7.E0,1.E1)); +-#9347=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#9348=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#9349=AXIS2_PLACEMENT_3D('',#9346,#9347,#9348); +-#9350=PLANE('',#9349); +-#9351=ORIENTED_EDGE('',*,*,#9336,.F.); +-#9352=ORIENTED_EDGE('',*,*,#6197,.T.); +-#9354=ORIENTED_EDGE('',*,*,#9353,.F.); +-#9356=ORIENTED_EDGE('',*,*,#9355,.F.); +-#9357=EDGE_LOOP('',(#9351,#9352,#9354,#9356)); +-#9358=FACE_OUTER_BOUND('',#9357,.F.); +-#9359=ADVANCED_FACE('',(#9358),#9350,.T.); +-#9360=CARTESIAN_POINT('',(2.115E1,2.35E0,9.441108058217E0)); +-#9361=DIRECTION('',(0.E0,0.E0,1.E0)); +-#9362=DIRECTION('',(1.015061051086E-14,-1.E0,0.E0)); +-#9363=AXIS2_PLACEMENT_3D('',#9360,#9361,#9362); +-#9364=CYLINDRICAL_SURFACE('',#9363,3.5E-1); +-#9366=ORIENTED_EDGE('',*,*,#9365,.F.); +-#9368=ORIENTED_EDGE('',*,*,#9367,.T.); +-#9369=ORIENTED_EDGE('',*,*,#9353,.T.); +-#9370=ORIENTED_EDGE('',*,*,#6195,.T.); +-#9371=EDGE_LOOP('',(#9366,#9368,#9369,#9370)); +-#9372=FACE_OUTER_BOUND('',#9371,.F.); +-#9373=ADVANCED_FACE('',(#9372),#9364,.F.); +-#9374=CARTESIAN_POINT('',(2.15E1,2.E0,1.E1)); +-#9375=DIRECTION('',(0.E0,1.E0,0.E0)); +-#9376=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#9377=AXIS2_PLACEMENT_3D('',#9374,#9375,#9376); +-#9378=PLANE('',#9377); +-#9379=ORIENTED_EDGE('',*,*,#9365,.T.); +-#9380=ORIENTED_EDGE('',*,*,#6193,.T.); +-#9382=ORIENTED_EDGE('',*,*,#9381,.F.); +-#9384=ORIENTED_EDGE('',*,*,#9383,.F.); +-#9385=EDGE_LOOP('',(#9379,#9380,#9382,#9384)); +-#9386=FACE_OUTER_BOUND('',#9385,.F.); +-#9387=ADVANCED_FACE('',(#9386),#9378,.T.); +-#9388=CARTESIAN_POINT('',(1.985E1,2.35E0,9.441108058217E0)); +-#9389=DIRECTION('',(0.E0,0.E0,1.E0)); +-#9390=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#9391=AXIS2_PLACEMENT_3D('',#9388,#9389,#9390); +-#9392=CYLINDRICAL_SURFACE('',#9391,3.5E-1); +-#9394=ORIENTED_EDGE('',*,*,#9393,.F.); +-#9396=ORIENTED_EDGE('',*,*,#9395,.T.); +-#9397=ORIENTED_EDGE('',*,*,#9381,.T.); +-#9398=ORIENTED_EDGE('',*,*,#6191,.T.); +-#9399=EDGE_LOOP('',(#9394,#9396,#9397,#9398)); +-#9400=FACE_OUTER_BOUND('',#9399,.F.); +-#9401=ADVANCED_FACE('',(#9400),#9392,.F.); +-#9402=CARTESIAN_POINT('',(1.95E1,2.E0,1.E1)); +-#9403=DIRECTION('',(1.E0,0.E0,0.E0)); +-#9404=DIRECTION('',(0.E0,1.E0,0.E0)); +-#9405=AXIS2_PLACEMENT_3D('',#9402,#9403,#9404); +-#9406=PLANE('',#9405); +-#9407=ORIENTED_EDGE('',*,*,#9393,.T.); +-#9408=ORIENTED_EDGE('',*,*,#6189,.T.); +-#9410=ORIENTED_EDGE('',*,*,#9409,.F.); +-#9412=ORIENTED_EDGE('',*,*,#9411,.F.); +-#9413=EDGE_LOOP('',(#9407,#9408,#9410,#9412)); +-#9414=FACE_OUTER_BOUND('',#9413,.F.); +-#9415=ADVANCED_FACE('',(#9414),#9406,.T.); +-#9416=CARTESIAN_POINT('',(1.985E1,9.15E0,9.441108058217E0)); +-#9417=DIRECTION('',(0.E0,0.E0,1.E0)); +-#9418=DIRECTION('',(-1.015061051086E-14,1.E0,0.E0)); +-#9419=AXIS2_PLACEMENT_3D('',#9416,#9417,#9418); +-#9420=CYLINDRICAL_SURFACE('',#9419,3.5E-1); +-#9422=ORIENTED_EDGE('',*,*,#9421,.F.); +-#9424=ORIENTED_EDGE('',*,*,#9423,.T.); +-#9425=ORIENTED_EDGE('',*,*,#9409,.T.); +-#9426=ORIENTED_EDGE('',*,*,#6187,.T.); +-#9427=EDGE_LOOP('',(#9422,#9424,#9425,#9426)); +-#9428=FACE_OUTER_BOUND('',#9427,.F.); +-#9429=ADVANCED_FACE('',(#9428),#9420,.F.); +-#9430=CARTESIAN_POINT('',(1.95E1,9.5E0,1.E1)); +-#9431=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#9432=DIRECTION('',(1.E0,0.E0,0.E0)); +-#9433=AXIS2_PLACEMENT_3D('',#9430,#9431,#9432); +-#9434=PLANE('',#9433); +-#9436=ORIENTED_EDGE('',*,*,#9435,.F.); +-#9438=ORIENTED_EDGE('',*,*,#9437,.F.); +-#9439=ORIENTED_EDGE('',*,*,#9421,.T.); +-#9440=ORIENTED_EDGE('',*,*,#6185,.T.); +-#9441=EDGE_LOOP('',(#9436,#9438,#9439,#9440)); +-#9442=FACE_OUTER_BOUND('',#9441,.F.); +-#9443=ADVANCED_FACE('',(#9442),#9434,.T.); +-#9444=CARTESIAN_POINT('',(2.104720076055E1,9.15E0,9.441108058217E0)); +-#9445=DIRECTION('',(0.E0,0.E0,1.E0)); +-#9446=DIRECTION('',(8.741572761215E-1,4.856429311786E-1,0.E0)); +-#9447=AXIS2_PLACEMENT_3D('',#9444,#9445,#9446); +-#9448=CYLINDRICAL_SURFACE('',#9447,3.5E-1); +-#9450=ORIENTED_EDGE('',*,*,#9449,.F.); +-#9452=ORIENTED_EDGE('',*,*,#9451,.T.); +-#9453=ORIENTED_EDGE('',*,*,#9435,.T.); +-#9454=ORIENTED_EDGE('',*,*,#6183,.T.); +-#9455=EDGE_LOOP('',(#9450,#9452,#9453,#9454)); +-#9456=FACE_OUTER_BOUND('',#9455,.F.); +-#9457=ADVANCED_FACE('',(#9456),#9448,.F.); +-#9458=CARTESIAN_POINT('',(2.125314193270E1,9.5E0,1.E1)); +-#9459=DIRECTION('',(-8.741572761215E-1,-4.856429311786E-1,0.E0)); +-#9460=DIRECTION('',(4.856429311786E-1,-8.741572761215E-1,0.E0)); +-#9461=AXIS2_PLACEMENT_3D('',#9458,#9459,#9460); +-#9462=PLANE('',#9461); +-#9464=ORIENTED_EDGE('',*,*,#9463,.F.); +-#9466=ORIENTED_EDGE('',*,*,#9465,.F.); +-#9467=ORIENTED_EDGE('',*,*,#9449,.T.); +-#9468=ORIENTED_EDGE('',*,*,#6181,.T.); +-#9469=EDGE_LOOP('',(#9464,#9466,#9467,#9468)); +-#9470=FACE_OUTER_BOUND('',#9469,.F.); +-#9471=ADVANCED_FACE('',(#9470),#9462,.T.); +-#9472=CARTESIAN_POINT('',(2.204720076055E1,7.35E0,9.441108058217E0)); +-#9473=DIRECTION('',(0.E0,0.E0,1.E0)); +-#9474=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#9475=AXIS2_PLACEMENT_3D('',#9472,#9473,#9474); +-#9476=CYLINDRICAL_SURFACE('',#9475,3.5E-1); +-#9478=ORIENTED_EDGE('',*,*,#9477,.F.); +-#9480=ORIENTED_EDGE('',*,*,#9479,.T.); +-#9481=ORIENTED_EDGE('',*,*,#9463,.T.); +-#9482=ORIENTED_EDGE('',*,*,#6179,.T.); +-#9483=EDGE_LOOP('',(#9478,#9480,#9481,#9482)); +-#9484=FACE_OUTER_BOUND('',#9483,.F.); +-#9485=ADVANCED_FACE('',(#9484),#9476,.F.); +-#9486=CARTESIAN_POINT('',(2.264203082158E1,7.E0,1.E1)); +-#9487=DIRECTION('',(0.E0,1.E0,0.E0)); +-#9488=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#9489=AXIS2_PLACEMENT_3D('',#9486,#9487,#9488); +-#9490=PLANE('',#9489); +-#9491=ORIENTED_EDGE('',*,*,#9340,.T.); +-#9493=ORIENTED_EDGE('',*,*,#9492,.F.); +-#9494=ORIENTED_EDGE('',*,*,#9477,.T.); +-#9495=ORIENTED_EDGE('',*,*,#6177,.T.); +-#9496=EDGE_LOOP('',(#9491,#9493,#9494,#9495)); +-#9497=FACE_OUTER_BOUND('',#9496,.F.); +-#9498=ADVANCED_FACE('',(#9497),#9490,.T.); +-#9499=CARTESIAN_POINT('',(2.4E1,0.E0,9.5E0)); +-#9500=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#9501=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#9502=AXIS2_PLACEMENT_3D('',#9499,#9500,#9501); +-#9503=PLANE('',#9502); +-#9504=ORIENTED_EDGE('',*,*,#9492,.T.); +-#9505=ORIENTED_EDGE('',*,*,#9338,.F.); +-#9506=ORIENTED_EDGE('',*,*,#9355,.T.); +-#9507=ORIENTED_EDGE('',*,*,#9367,.F.); +-#9508=ORIENTED_EDGE('',*,*,#9383,.T.); +-#9509=ORIENTED_EDGE('',*,*,#9395,.F.); +-#9510=ORIENTED_EDGE('',*,*,#9411,.T.); +-#9511=ORIENTED_EDGE('',*,*,#9423,.F.); +-#9512=ORIENTED_EDGE('',*,*,#9437,.T.); +-#9513=ORIENTED_EDGE('',*,*,#9451,.F.); +-#9514=ORIENTED_EDGE('',*,*,#9465,.T.); +-#9515=ORIENTED_EDGE('',*,*,#9479,.F.); +-#9516=EDGE_LOOP('',(#9504,#9505,#9506,#9507,#9508,#9509,#9510,#9511,#9512,#9513, +-#9514,#9515)); +-#9517=FACE_OUTER_BOUND('',#9516,.F.); +-#9518=ADVANCED_FACE('',(#9517),#9503,.F.); +-#9519=CARTESIAN_POINT('',(2.01875E1,1.05E1,8.E0)); +-#9520=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#9521=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#9522=AXIS2_PLACEMENT_3D('',#9519,#9520,#9521); +-#9523=CYLINDRICAL_SURFACE('',#9522,9.5E-2); +-#9524=ORIENTED_EDGE('',*,*,#6007,.F.); +-#9526=ORIENTED_EDGE('',*,*,#9525,.T.); +-#9528=ORIENTED_EDGE('',*,*,#9527,.T.); +-#9530=ORIENTED_EDGE('',*,*,#9529,.F.); +-#9531=EDGE_LOOP('',(#9524,#9526,#9528,#9530)); +-#9532=FACE_OUTER_BOUND('',#9531,.F.); +-#9533=ADVANCED_FACE('',(#9532),#9523,.F.); +-#9534=CARTESIAN_POINT('',(2.01875E1,1.05E1,8.E0)); +-#9535=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#9536=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#9537=AXIS2_PLACEMENT_3D('',#9534,#9535,#9536); +-#9538=CYLINDRICAL_SURFACE('',#9537,9.5E-2); +-#9539=ORIENTED_EDGE('',*,*,#6009,.F.); +-#9540=ORIENTED_EDGE('',*,*,#9529,.T.); +-#9542=ORIENTED_EDGE('',*,*,#9541,.T.); +-#9543=ORIENTED_EDGE('',*,*,#9525,.F.); +-#9544=EDGE_LOOP('',(#9539,#9540,#9542,#9543)); +-#9545=FACE_OUTER_BOUND('',#9544,.F.); +-#9546=ADVANCED_FACE('',(#9545),#9538,.F.); +-#9547=CARTESIAN_POINT('',(2.01875E1,1.05E1,8.25E0)); +-#9548=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#9549=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#9550=AXIS2_PLACEMENT_3D('',#9547,#9548,#9549); +-#9551=PLANE('',#9550); +-#9552=ORIENTED_EDGE('',*,*,#9527,.F.); +-#9553=ORIENTED_EDGE('',*,*,#9541,.F.); +-#9554=EDGE_LOOP('',(#9552,#9553)); +-#9555=FACE_OUTER_BOUND('',#9554,.F.); +-#9556=ADVANCED_FACE('',(#9555),#9551,.T.); +-#9557=CARTESIAN_POINT('',(1.975E1,1.00625E1,8.E0)); +-#9558=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#9559=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#9560=AXIS2_PLACEMENT_3D('',#9557,#9558,#9559); +-#9561=CYLINDRICAL_SURFACE('',#9560,9.5E-2); +-#9562=ORIENTED_EDGE('',*,*,#6013,.F.); +-#9564=ORIENTED_EDGE('',*,*,#9563,.T.); +-#9566=ORIENTED_EDGE('',*,*,#9565,.T.); +-#9568=ORIENTED_EDGE('',*,*,#9567,.F.); +-#9569=EDGE_LOOP('',(#9562,#9564,#9566,#9568)); +-#9570=FACE_OUTER_BOUND('',#9569,.F.); +-#9571=ADVANCED_FACE('',(#9570),#9561,.F.); +-#9572=CARTESIAN_POINT('',(1.975E1,1.00625E1,8.E0)); +-#9573=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#9574=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#9575=AXIS2_PLACEMENT_3D('',#9572,#9573,#9574); +-#9576=CYLINDRICAL_SURFACE('',#9575,9.5E-2); +-#9577=ORIENTED_EDGE('',*,*,#6015,.F.); +-#9578=ORIENTED_EDGE('',*,*,#9567,.T.); +-#9580=ORIENTED_EDGE('',*,*,#9579,.T.); +-#9581=ORIENTED_EDGE('',*,*,#9563,.F.); +-#9582=EDGE_LOOP('',(#9577,#9578,#9580,#9581)); +-#9583=FACE_OUTER_BOUND('',#9582,.F.); +-#9584=ADVANCED_FACE('',(#9583),#9576,.F.); +-#9585=CARTESIAN_POINT('',(1.975E1,1.00625E1,8.25E0)); +-#9586=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#9587=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#9588=AXIS2_PLACEMENT_3D('',#9585,#9586,#9587); +-#9589=PLANE('',#9588); +-#9590=ORIENTED_EDGE('',*,*,#9565,.F.); +-#9591=ORIENTED_EDGE('',*,*,#9579,.F.); +-#9592=EDGE_LOOP('',(#9590,#9591)); +-#9593=FACE_OUTER_BOUND('',#9592,.F.); +-#9594=ADVANCED_FACE('',(#9593),#9589,.T.); +-#9595=CARTESIAN_POINT('',(4.25E0,1.00625E1,8.E0)); +-#9596=DIRECTION('',(0.E0,0.E0,1.E0)); +-#9597=DIRECTION('',(1.E0,0.E0,0.E0)); +-#9598=AXIS2_PLACEMENT_3D('',#9595,#9596,#9597); +-#9599=CYLINDRICAL_SURFACE('',#9598,9.5E-2); +-#9600=ORIENTED_EDGE('',*,*,#6019,.T.); +-#9602=ORIENTED_EDGE('',*,*,#9601,.T.); +-#9604=ORIENTED_EDGE('',*,*,#9603,.F.); +-#9606=ORIENTED_EDGE('',*,*,#9605,.F.); +-#9607=EDGE_LOOP('',(#9600,#9602,#9604,#9606)); +-#9608=FACE_OUTER_BOUND('',#9607,.F.); +-#9609=ADVANCED_FACE('',(#9608),#9599,.F.); +-#9610=CARTESIAN_POINT('',(4.25E0,1.00625E1,8.E0)); +-#9611=DIRECTION('',(0.E0,0.E0,1.E0)); +-#9612=DIRECTION('',(1.E0,0.E0,0.E0)); +-#9613=AXIS2_PLACEMENT_3D('',#9610,#9611,#9612); +-#9614=CYLINDRICAL_SURFACE('',#9613,9.5E-2); +-#9615=ORIENTED_EDGE('',*,*,#6021,.T.); +-#9616=ORIENTED_EDGE('',*,*,#9605,.T.); +-#9618=ORIENTED_EDGE('',*,*,#9617,.F.); +-#9619=ORIENTED_EDGE('',*,*,#9601,.F.); +-#9620=EDGE_LOOP('',(#9615,#9616,#9618,#9619)); +-#9621=FACE_OUTER_BOUND('',#9620,.F.); +-#9622=ADVANCED_FACE('',(#9621),#9614,.F.); +-#9623=CARTESIAN_POINT('',(4.25E0,1.00625E1,8.25E0)); +-#9624=DIRECTION('',(0.E0,0.E0,1.E0)); +-#9625=DIRECTION('',(1.E0,0.E0,0.E0)); +-#9626=AXIS2_PLACEMENT_3D('',#9623,#9624,#9625); +-#9627=PLANE('',#9626); +-#9628=ORIENTED_EDGE('',*,*,#9603,.T.); +-#9629=ORIENTED_EDGE('',*,*,#9617,.T.); +-#9630=EDGE_LOOP('',(#9628,#9629)); +-#9631=FACE_OUTER_BOUND('',#9630,.F.); +-#9632=ADVANCED_FACE('',(#9631),#9627,.F.); +-#9633=CARTESIAN_POINT('',(3.8125E0,1.05E1,8.E0)); +-#9634=DIRECTION('',(0.E0,0.E0,1.E0)); +-#9635=DIRECTION('',(1.E0,0.E0,0.E0)); +-#9636=AXIS2_PLACEMENT_3D('',#9633,#9634,#9635); +-#9637=CYLINDRICAL_SURFACE('',#9636,9.5E-2); +-#9638=ORIENTED_EDGE('',*,*,#6025,.T.); +-#9640=ORIENTED_EDGE('',*,*,#9639,.T.); +-#9642=ORIENTED_EDGE('',*,*,#9641,.F.); +-#9644=ORIENTED_EDGE('',*,*,#9643,.F.); +-#9645=EDGE_LOOP('',(#9638,#9640,#9642,#9644)); +-#9646=FACE_OUTER_BOUND('',#9645,.F.); +-#9647=ADVANCED_FACE('',(#9646),#9637,.F.); +-#9648=CARTESIAN_POINT('',(3.8125E0,1.05E1,8.E0)); +-#9649=DIRECTION('',(0.E0,0.E0,1.E0)); +-#9650=DIRECTION('',(1.E0,0.E0,0.E0)); +-#9651=AXIS2_PLACEMENT_3D('',#9648,#9649,#9650); +-#9652=CYLINDRICAL_SURFACE('',#9651,9.5E-2); +-#9653=ORIENTED_EDGE('',*,*,#6027,.T.); +-#9654=ORIENTED_EDGE('',*,*,#9643,.T.); +-#9656=ORIENTED_EDGE('',*,*,#9655,.F.); +-#9657=ORIENTED_EDGE('',*,*,#9639,.F.); +-#9658=EDGE_LOOP('',(#9653,#9654,#9656,#9657)); +-#9659=FACE_OUTER_BOUND('',#9658,.F.); +-#9660=ADVANCED_FACE('',(#9659),#9652,.F.); +-#9661=CARTESIAN_POINT('',(3.8125E0,1.05E1,8.25E0)); +-#9662=DIRECTION('',(0.E0,0.E0,1.E0)); +-#9663=DIRECTION('',(1.E0,0.E0,0.E0)); +-#9664=AXIS2_PLACEMENT_3D('',#9661,#9662,#9663); +-#9665=PLANE('',#9664); +-#9666=ORIENTED_EDGE('',*,*,#9641,.T.); +-#9667=ORIENTED_EDGE('',*,*,#9655,.T.); +-#9668=EDGE_LOOP('',(#9666,#9667)); +-#9669=FACE_OUTER_BOUND('',#9668,.F.); +-#9670=ADVANCED_FACE('',(#9669),#9665,.F.); +-#9671=CARTESIAN_POINT('',(4.25E0,1.09375E1,8.E0)); +-#9672=DIRECTION('',(0.E0,0.E0,1.E0)); +-#9673=DIRECTION('',(1.E0,0.E0,0.E0)); +-#9674=AXIS2_PLACEMENT_3D('',#9671,#9672,#9673); +-#9675=CYLINDRICAL_SURFACE('',#9674,9.5E-2); +-#9676=ORIENTED_EDGE('',*,*,#6037,.T.); +-#9678=ORIENTED_EDGE('',*,*,#9677,.T.); +-#9680=ORIENTED_EDGE('',*,*,#9679,.F.); +-#9682=ORIENTED_EDGE('',*,*,#9681,.F.); +-#9683=EDGE_LOOP('',(#9676,#9678,#9680,#9682)); +-#9684=FACE_OUTER_BOUND('',#9683,.F.); +-#9685=ADVANCED_FACE('',(#9684),#9675,.F.); +-#9686=CARTESIAN_POINT('',(4.25E0,1.09375E1,8.E0)); +-#9687=DIRECTION('',(0.E0,0.E0,1.E0)); +-#9688=DIRECTION('',(1.E0,0.E0,0.E0)); +-#9689=AXIS2_PLACEMENT_3D('',#9686,#9687,#9688); +-#9690=CYLINDRICAL_SURFACE('',#9689,9.5E-2); +-#9691=ORIENTED_EDGE('',*,*,#6039,.T.); +-#9692=ORIENTED_EDGE('',*,*,#9681,.T.); +-#9694=ORIENTED_EDGE('',*,*,#9693,.F.); +-#9695=ORIENTED_EDGE('',*,*,#9677,.F.); +-#9696=EDGE_LOOP('',(#9691,#9692,#9694,#9695)); +-#9697=FACE_OUTER_BOUND('',#9696,.F.); +-#9698=ADVANCED_FACE('',(#9697),#9690,.F.); +-#9699=CARTESIAN_POINT('',(4.25E0,1.09375E1,8.25E0)); +-#9700=DIRECTION('',(0.E0,0.E0,1.E0)); +-#9701=DIRECTION('',(1.E0,0.E0,0.E0)); +-#9702=AXIS2_PLACEMENT_3D('',#9699,#9700,#9701); +-#9703=PLANE('',#9702); +-#9704=ORIENTED_EDGE('',*,*,#9679,.T.); +-#9705=ORIENTED_EDGE('',*,*,#9693,.T.); +-#9706=EDGE_LOOP('',(#9704,#9705)); +-#9707=FACE_OUTER_BOUND('',#9706,.F.); +-#9708=ADVANCED_FACE('',(#9707),#9703,.F.); +-#9709=CARTESIAN_POINT('',(4.5E0,2.E0,8.E0)); +-#9710=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#9711=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#9712=AXIS2_PLACEMENT_3D('',#9709,#9710,#9711); +-#9713=PLANE('',#9712); +-#9715=ORIENTED_EDGE('',*,*,#9714,.T.); +-#9717=ORIENTED_EDGE('',*,*,#9716,.T.); +-#9719=ORIENTED_EDGE('',*,*,#9718,.F.); +-#9720=ORIENTED_EDGE('',*,*,#6043,.F.); +-#9721=EDGE_LOOP('',(#9715,#9717,#9719,#9720)); +-#9722=FACE_OUTER_BOUND('',#9721,.F.); +-#9723=ADVANCED_FACE('',(#9722),#9713,.F.); +-#9724=CARTESIAN_POINT('',(3.75E0,2.75E0,7.931076025772E0)); +-#9725=DIRECTION('',(0.E0,0.E0,1.E0)); +-#9726=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#9727=AXIS2_PLACEMENT_3D('',#9724,#9725,#9726); +-#9728=CYLINDRICAL_SURFACE('',#9727,7.5E-1); +-#9729=ORIENTED_EDGE('',*,*,#9714,.F.); +-#9730=ORIENTED_EDGE('',*,*,#6057,.T.); +-#9732=ORIENTED_EDGE('',*,*,#9731,.T.); +-#9734=ORIENTED_EDGE('',*,*,#9733,.T.); +-#9735=EDGE_LOOP('',(#9729,#9730,#9732,#9734)); +-#9736=FACE_OUTER_BOUND('',#9735,.F.); +-#9737=ADVANCED_FACE('',(#9736),#9728,.F.); +-#9738=CARTESIAN_POINT('',(4.5E0,9.5E0,8.E0)); +-#9739=DIRECTION('',(1.E0,0.E0,0.E0)); +-#9740=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#9741=AXIS2_PLACEMENT_3D('',#9738,#9739,#9740); +-#9742=PLANE('',#9741); +-#9743=ORIENTED_EDGE('',*,*,#9731,.F.); +-#9744=ORIENTED_EDGE('',*,*,#6055,.F.); +-#9746=ORIENTED_EDGE('',*,*,#9745,.T.); +-#9748=ORIENTED_EDGE('',*,*,#9747,.T.); +-#9749=EDGE_LOOP('',(#9743,#9744,#9746,#9748)); +-#9750=FACE_OUTER_BOUND('',#9749,.F.); +-#9751=ADVANCED_FACE('',(#9750),#9742,.F.); +-#9752=CARTESIAN_POINT('',(3.75E0,8.75E0,7.931076025772E0)); +-#9753=DIRECTION('',(0.E0,0.E0,1.E0)); +-#9754=DIRECTION('',(1.E0,0.E0,0.E0)); +-#9755=AXIS2_PLACEMENT_3D('',#9752,#9753,#9754); +-#9756=CYLINDRICAL_SURFACE('',#9755,7.5E-1); +-#9757=ORIENTED_EDGE('',*,*,#9745,.F.); +-#9758=ORIENTED_EDGE('',*,*,#6053,.T.); +-#9760=ORIENTED_EDGE('',*,*,#9759,.T.); +-#9762=ORIENTED_EDGE('',*,*,#9761,.T.); +-#9763=EDGE_LOOP('',(#9757,#9758,#9760,#9762)); +-#9764=FACE_OUTER_BOUND('',#9763,.F.); +-#9765=ADVANCED_FACE('',(#9764),#9756,.F.); +-#9766=CARTESIAN_POINT('',(2.746858067304E0,9.5E0,8.E0)); +-#9767=DIRECTION('',(0.E0,1.E0,0.E0)); +-#9768=DIRECTION('',(1.E0,0.E0,0.E0)); +-#9769=AXIS2_PLACEMENT_3D('',#9766,#9767,#9768); +-#9770=PLANE('',#9769); +-#9772=ORIENTED_EDGE('',*,*,#9771,.T.); +-#9774=ORIENTED_EDGE('',*,*,#9773,.T.); +-#9775=ORIENTED_EDGE('',*,*,#9759,.F.); +-#9776=ORIENTED_EDGE('',*,*,#6051,.F.); +-#9777=EDGE_LOOP('',(#9772,#9774,#9775,#9776)); +-#9778=FACE_OUTER_BOUND('',#9777,.F.); +-#9779=ADVANCED_FACE('',(#9778),#9770,.F.); +-#9780=CARTESIAN_POINT('',(3.188160579053E0,8.75E0,7.931076025772E0)); +-#9781=DIRECTION('',(0.E0,0.E0,1.E0)); +-#9782=DIRECTION('',(0.E0,1.E0,0.E0)); +-#9783=AXIS2_PLACEMENT_3D('',#9780,#9781,#9782); +-#9784=CYLINDRICAL_SURFACE('',#9783,7.5E-1); +-#9785=ORIENTED_EDGE('',*,*,#9771,.F.); +-#9786=ORIENTED_EDGE('',*,*,#6049,.T.); +-#9788=ORIENTED_EDGE('',*,*,#9787,.T.); +-#9790=ORIENTED_EDGE('',*,*,#9789,.T.); +-#9791=EDGE_LOOP('',(#9785,#9786,#9788,#9790)); +-#9792=FACE_OUTER_BOUND('',#9791,.F.); +-#9793=ADVANCED_FACE('',(#9792),#9784,.F.); +-#9794=CARTESIAN_POINT('',(-1.419808599362E0,2.E0,8.E0)); +-#9795=DIRECTION('',(-8.741572761215E-1,4.856429311786E-1,0.E0)); +-#9796=DIRECTION('',(4.856429311786E-1,8.741572761215E-1,0.E0)); +-#9797=AXIS2_PLACEMENT_3D('',#9794,#9795,#9796); +-#9798=PLANE('',#9797); +-#9800=ORIENTED_EDGE('',*,*,#9799,.T.); +-#9802=ORIENTED_EDGE('',*,*,#9801,.T.); +-#9803=ORIENTED_EDGE('',*,*,#9787,.F.); +-#9804=ORIENTED_EDGE('',*,*,#6047,.F.); +-#9805=EDGE_LOOP('',(#9800,#9802,#9803,#9804)); +-#9806=FACE_OUTER_BOUND('',#9805,.F.); +-#9807=ADVANCED_FACE('',(#9806),#9798,.F.); +-#9808=CARTESIAN_POINT('',(-1.451727542799E-1,2.75E0,7.931076025772E0)); +-#9809=DIRECTION('',(0.E0,0.E0,1.E0)); +-#9810=DIRECTION('',(-8.741572761215E-1,4.856429311786E-1,0.E0)); +-#9811=AXIS2_PLACEMENT_3D('',#9808,#9809,#9810); +-#9812=CYLINDRICAL_SURFACE('',#9811,7.5E-1); +-#9813=ORIENTED_EDGE('',*,*,#9799,.F.); +-#9814=ORIENTED_EDGE('',*,*,#6045,.T.); +-#9815=ORIENTED_EDGE('',*,*,#9718,.T.); +-#9817=ORIENTED_EDGE('',*,*,#9816,.T.); +-#9818=EDGE_LOOP('',(#9813,#9814,#9815,#9817)); +-#9819=FACE_OUTER_BOUND('',#9818,.F.); +-#9820=ADVANCED_FACE('',(#9819),#9812,.F.); +-#9821=CARTESIAN_POINT('',(0.E0,0.E0,8.5E0)); +-#9822=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#9823=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#9824=AXIS2_PLACEMENT_3D('',#9821,#9822,#9823); +-#9825=PLANE('',#9824); +-#9826=ORIENTED_EDGE('',*,*,#9733,.F.); +-#9827=ORIENTED_EDGE('',*,*,#9747,.F.); +-#9828=ORIENTED_EDGE('',*,*,#9761,.F.); +-#9829=ORIENTED_EDGE('',*,*,#9773,.F.); +-#9830=ORIENTED_EDGE('',*,*,#9789,.F.); +-#9831=ORIENTED_EDGE('',*,*,#9801,.F.); +-#9832=ORIENTED_EDGE('',*,*,#9816,.F.); +-#9833=ORIENTED_EDGE('',*,*,#9716,.F.); +-#9834=EDGE_LOOP('',(#9826,#9827,#9828,#9829,#9830,#9831,#9832,#9833)); +-#9835=FACE_OUTER_BOUND('',#9834,.F.); +-#9836=ADVANCED_FACE('',(#9835),#9825,.T.); +-#9837=CARTESIAN_POINT('',(2.541980859936E1,2.E0,8.E0)); +-#9838=DIRECTION('',(-8.741572761215E-1,-4.856429311786E-1,0.E0)); +-#9839=DIRECTION('',(-4.856429311786E-1,8.741572761215E-1,0.E0)); +-#9840=AXIS2_PLACEMENT_3D('',#9837,#9838,#9839); +-#9841=PLANE('',#9840); +-#9843=ORIENTED_EDGE('',*,*,#9842,.T.); +-#9844=ORIENTED_EDGE('',*,*,#6061,.T.); +-#9846=ORIENTED_EDGE('',*,*,#9845,.F.); +-#9848=ORIENTED_EDGE('',*,*,#9847,.F.); +-#9849=EDGE_LOOP('',(#9843,#9844,#9846,#9848)); +-#9850=FACE_OUTER_BOUND('',#9849,.F.); +-#9851=ADVANCED_FACE('',(#9850),#9841,.T.); +-#9852=CARTESIAN_POINT('',(2.414517275428E1,2.75E0,8.558891941783E0)); +-#9853=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#9854=DIRECTION('',(8.741572761215E-1,4.856429311786E-1,0.E0)); +-#9855=AXIS2_PLACEMENT_3D('',#9852,#9853,#9854); +-#9856=CYLINDRICAL_SURFACE('',#9855,7.5E-1); +-#9857=ORIENTED_EDGE('',*,*,#9842,.F.); +-#9859=ORIENTED_EDGE('',*,*,#9858,.T.); +-#9861=ORIENTED_EDGE('',*,*,#9860,.T.); +-#9862=ORIENTED_EDGE('',*,*,#6063,.T.); +-#9863=EDGE_LOOP('',(#9857,#9859,#9861,#9862)); +-#9864=FACE_OUTER_BOUND('',#9863,.F.); +-#9865=ADVANCED_FACE('',(#9864),#9856,.F.); +-#9866=CARTESIAN_POINT('',(2.4E1,0.E0,8.5E0)); +-#9867=DIRECTION('',(0.E0,0.E0,1.E0)); +-#9868=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#9869=AXIS2_PLACEMENT_3D('',#9866,#9867,#9868); +-#9870=PLANE('',#9869); +-#9872=ORIENTED_EDGE('',*,*,#9871,.F.); +-#9874=ORIENTED_EDGE('',*,*,#9873,.T.); +-#9875=ORIENTED_EDGE('',*,*,#9858,.F.); +-#9876=ORIENTED_EDGE('',*,*,#9847,.T.); +-#9878=ORIENTED_EDGE('',*,*,#9877,.F.); +-#9880=ORIENTED_EDGE('',*,*,#9879,.T.); +-#9882=ORIENTED_EDGE('',*,*,#9881,.F.); +-#9884=ORIENTED_EDGE('',*,*,#9883,.T.); +-#9885=EDGE_LOOP('',(#9872,#9874,#9875,#9876,#9878,#9880,#9882,#9884)); +-#9886=FACE_OUTER_BOUND('',#9885,.F.); +-#9887=ADVANCED_FACE('',(#9886),#9870,.F.); +-#9888=CARTESIAN_POINT('',(2.025E1,2.75E0,8.558891941783E0)); +-#9889=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#9890=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#9891=AXIS2_PLACEMENT_3D('',#9888,#9889,#9890); +-#9892=CYLINDRICAL_SURFACE('',#9891,7.5E-1); +-#9894=ORIENTED_EDGE('',*,*,#9893,.F.); +-#9895=ORIENTED_EDGE('',*,*,#9871,.T.); +-#9897=ORIENTED_EDGE('',*,*,#9896,.T.); +-#9898=ORIENTED_EDGE('',*,*,#6067,.T.); +-#9899=EDGE_LOOP('',(#9894,#9895,#9897,#9898)); +-#9900=FACE_OUTER_BOUND('',#9899,.F.); +-#9901=ADVANCED_FACE('',(#9900),#9892,.F.); +-#9902=CARTESIAN_POINT('',(1.95E1,2.E0,8.E0)); +-#9903=DIRECTION('',(0.E0,1.E0,0.E0)); +-#9904=DIRECTION('',(1.E0,0.E0,0.E0)); +-#9905=AXIS2_PLACEMENT_3D('',#9902,#9903,#9904); +-#9906=PLANE('',#9905); +-#9907=ORIENTED_EDGE('',*,*,#9893,.T.); +-#9908=ORIENTED_EDGE('',*,*,#6065,.T.); +-#9909=ORIENTED_EDGE('',*,*,#9860,.F.); +-#9910=ORIENTED_EDGE('',*,*,#9873,.F.); +-#9911=EDGE_LOOP('',(#9907,#9908,#9909,#9910)); +-#9912=FACE_OUTER_BOUND('',#9911,.F.); +-#9913=ADVANCED_FACE('',(#9912),#9906,.T.); +-#9914=CARTESIAN_POINT('',(1.95E1,9.5E0,8.E0)); +-#9915=DIRECTION('',(1.E0,0.E0,0.E0)); +-#9916=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#9917=AXIS2_PLACEMENT_3D('',#9914,#9915,#9916); +-#9918=PLANE('',#9917); +-#9919=ORIENTED_EDGE('',*,*,#9896,.F.); +-#9920=ORIENTED_EDGE('',*,*,#9883,.F.); +-#9922=ORIENTED_EDGE('',*,*,#9921,.T.); +-#9923=ORIENTED_EDGE('',*,*,#6069,.T.); +-#9924=EDGE_LOOP('',(#9919,#9920,#9922,#9923)); +-#9925=FACE_OUTER_BOUND('',#9924,.F.); +-#9926=ADVANCED_FACE('',(#9925),#9918,.T.); +-#9927=CARTESIAN_POINT('',(2.025E1,8.75E0,8.558891941783E0)); +-#9928=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#9929=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#9930=AXIS2_PLACEMENT_3D('',#9927,#9928,#9929); +-#9931=CYLINDRICAL_SURFACE('',#9930,7.5E-1); +-#9932=ORIENTED_EDGE('',*,*,#9921,.F.); +-#9933=ORIENTED_EDGE('',*,*,#9881,.T.); +-#9935=ORIENTED_EDGE('',*,*,#9934,.T.); +-#9936=ORIENTED_EDGE('',*,*,#6071,.T.); +-#9937=EDGE_LOOP('',(#9932,#9933,#9935,#9936)); +-#9938=FACE_OUTER_BOUND('',#9937,.F.); +-#9939=ADVANCED_FACE('',(#9938),#9931,.F.); +-#9940=CARTESIAN_POINT('',(2.125314193270E1,9.5E0,8.E0)); +-#9941=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#9942=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#9943=AXIS2_PLACEMENT_3D('',#9940,#9941,#9942); +-#9944=PLANE('',#9943); +-#9946=ORIENTED_EDGE('',*,*,#9945,.T.); +-#9947=ORIENTED_EDGE('',*,*,#6073,.T.); +-#9948=ORIENTED_EDGE('',*,*,#9934,.F.); +-#9949=ORIENTED_EDGE('',*,*,#9879,.F.); +-#9950=EDGE_LOOP('',(#9946,#9947,#9948,#9949)); +-#9951=FACE_OUTER_BOUND('',#9950,.F.); +-#9952=ADVANCED_FACE('',(#9951),#9944,.T.); +-#9953=CARTESIAN_POINT('',(2.081183942095E1,8.75E0,8.558891941783E0)); +-#9954=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#9955=DIRECTION('',(0.E0,1.E0,0.E0)); +-#9956=AXIS2_PLACEMENT_3D('',#9953,#9954,#9955); +-#9957=CYLINDRICAL_SURFACE('',#9956,7.5E-1); +-#9958=ORIENTED_EDGE('',*,*,#9945,.F.); +-#9959=ORIENTED_EDGE('',*,*,#9877,.T.); +-#9960=ORIENTED_EDGE('',*,*,#9845,.T.); +-#9961=ORIENTED_EDGE('',*,*,#6075,.T.); +-#9962=EDGE_LOOP('',(#9958,#9959,#9960,#9961)); +-#9963=FACE_OUTER_BOUND('',#9962,.F.); +-#9964=ADVANCED_FACE('',(#9963),#9957,.F.); +-#9965=CARTESIAN_POINT('',(7.5E0,0.E0,6.875E-1)); +-#9966=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#9967=DIRECTION('',(1.E0,0.E0,0.E0)); +-#9968=AXIS2_PLACEMENT_3D('',#9965,#9966,#9967); +-#9969=PLANE('',#9968); +-#9970=ORIENTED_EDGE('',*,*,#5726,.F.); +-#9972=ORIENTED_EDGE('',*,*,#9971,.T.); +-#9974=ORIENTED_EDGE('',*,*,#9973,.T.); +-#9976=ORIENTED_EDGE('',*,*,#9975,.F.); +-#9977=EDGE_LOOP('',(#9970,#9972,#9974,#9976)); +-#9978=FACE_OUTER_BOUND('',#9977,.F.); +-#9979=ADVANCED_FACE('',(#9978),#9969,.F.); +-#9980=CARTESIAN_POINT('',(7.5E0,0.E0,1.25E0)); +-#9981=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#9982=DIRECTION('',(1.E0,0.E0,0.E0)); +-#9983=AXIS2_PLACEMENT_3D('',#9980,#9981,#9982); +-#9984=CYLINDRICAL_SURFACE('',#9983,5.625E-1); +-#9985=ORIENTED_EDGE('',*,*,#5732,.F.); +-#9987=ORIENTED_EDGE('',*,*,#9986,.T.); +-#9989=ORIENTED_EDGE('',*,*,#9988,.T.); +-#9990=ORIENTED_EDGE('',*,*,#9971,.F.); +-#9991=EDGE_LOOP('',(#9985,#9987,#9989,#9990)); +-#9992=FACE_OUTER_BOUND('',#9991,.F.); +-#9993=ADVANCED_FACE('',(#9992),#9984,.F.); +-#9994=CARTESIAN_POINT('',(1.05E1,0.E0,1.8125E0)); +-#9995=DIRECTION('',(0.E0,0.E0,1.E0)); +-#9996=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#9997=AXIS2_PLACEMENT_3D('',#9994,#9995,#9996); +-#9998=PLANE('',#9997); +-#9999=ORIENTED_EDGE('',*,*,#5730,.F.); +-#10001=ORIENTED_EDGE('',*,*,#10000,.T.); +-#10003=ORIENTED_EDGE('',*,*,#10002,.T.); +-#10004=ORIENTED_EDGE('',*,*,#9986,.F.); +-#10005=EDGE_LOOP('',(#9999,#10001,#10003,#10004)); +-#10006=FACE_OUTER_BOUND('',#10005,.F.); +-#10007=ADVANCED_FACE('',(#10006),#9998,.F.); +-#10008=CARTESIAN_POINT('',(1.05E1,0.E0,1.25E0)); +-#10009=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#10010=DIRECTION('',(1.E0,0.E0,0.E0)); +-#10011=AXIS2_PLACEMENT_3D('',#10008,#10009,#10010); +-#10012=CYLINDRICAL_SURFACE('',#10011,5.625E-1); +-#10013=ORIENTED_EDGE('',*,*,#5728,.F.); +-#10014=ORIENTED_EDGE('',*,*,#9975,.T.); +-#10016=ORIENTED_EDGE('',*,*,#10015,.T.); +-#10017=ORIENTED_EDGE('',*,*,#10000,.F.); +-#10018=EDGE_LOOP('',(#10013,#10014,#10016,#10017)); +-#10019=FACE_OUTER_BOUND('',#10018,.F.); +-#10020=ADVANCED_FACE('',(#10019),#10012,.F.); +-#10021=CARTESIAN_POINT('',(0.E0,6.875E-1,0.E0)); +-#10022=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#10023=DIRECTION('',(1.E0,0.E0,0.E0)); +-#10024=AXIS2_PLACEMENT_3D('',#10021,#10022,#10023); +-#10025=PLANE('',#10024); +-#10026=ORIENTED_EDGE('',*,*,#9973,.F.); +-#10027=ORIENTED_EDGE('',*,*,#9988,.F.); +-#10028=ORIENTED_EDGE('',*,*,#10002,.F.); +-#10029=ORIENTED_EDGE('',*,*,#10015,.F.); +-#10030=EDGE_LOOP('',(#10026,#10027,#10028,#10029)); +-#10031=FACE_OUTER_BOUND('',#10030,.F.); +-#10032=ADVANCED_FACE('',(#10031),#10025,.T.); +-#10033=CARTESIAN_POINT('',(0.E0,6.875E-1,0.E0)); +-#10034=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#10035=DIRECTION('',(1.E0,0.E0,0.E0)); +-#10036=AXIS2_PLACEMENT_3D('',#10033,#10034,#10035); +-#10037=PLANE('',#10036); +-#10039=ORIENTED_EDGE('',*,*,#10038,.F.); +-#10041=ORIENTED_EDGE('',*,*,#10040,.F.); +-#10043=ORIENTED_EDGE('',*,*,#10042,.F.); +-#10045=ORIENTED_EDGE('',*,*,#10044,.F.); +-#10047=ORIENTED_EDGE('',*,*,#10046,.F.); +-#10048=EDGE_LOOP('',(#10039,#10041,#10043,#10045,#10047)); +-#10049=FACE_OUTER_BOUND('',#10048,.F.); +-#10050=ADVANCED_FACE('',(#10049),#10037,.T.); +-#10051=CARTESIAN_POINT('',(1.455736763592E0,-6.892397422826E-2, +-4.577195232320E0)); +-#10052=DIRECTION('',(0.E0,1.E0,0.E0)); +-#10053=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1)); +-#10054=AXIS2_PLACEMENT_3D('',#10051,#10052,#10053); +-#10055=CYLINDRICAL_SURFACE('',#10054,7.5E-1); +-#10057=ORIENTED_EDGE('',*,*,#10056,.F.); +-#10058=ORIENTED_EDGE('',*,*,#5738,.T.); +-#10060=ORIENTED_EDGE('',*,*,#10059,.T.); +-#10061=ORIENTED_EDGE('',*,*,#10038,.T.); +-#10062=EDGE_LOOP('',(#10057,#10058,#10060,#10061)); +-#10063=FACE_OUTER_BOUND('',#10062,.F.); +-#10064=ADVANCED_FACE('',(#10063),#10055,.F.); +-#10065=CARTESIAN_POINT('',(6.875E-1,0.E0,4.284771824132E0)); +-#10066=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1)); +-#10067=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1)); +-#10068=AXIS2_PLACEMENT_3D('',#10065,#10066,#10067); +-#10069=PLANE('',#10068); +-#10070=ORIENTED_EDGE('',*,*,#10056,.T.); +-#10071=ORIENTED_EDGE('',*,*,#10046,.T.); +-#10073=ORIENTED_EDGE('',*,*,#10072,.F.); +-#10074=ORIENTED_EDGE('',*,*,#5740,.F.); +-#10075=EDGE_LOOP('',(#10070,#10071,#10073,#10074)); +-#10076=FACE_OUTER_BOUND('',#10075,.F.); +-#10077=ADVANCED_FACE('',(#10076),#10069,.F.); +-#10078=CARTESIAN_POINT('',(4.553039342392E0,0.E0,1.645354088550E0)); +-#10079=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#10080=DIRECTION('',(1.E0,0.E0,0.E0)); +-#10081=AXIS2_PLACEMENT_3D('',#10078,#10079,#10080); +-#10082=CYLINDRICAL_SURFACE('',#10081,8.669989027347E-1); +-#10083=ORIENTED_EDGE('',*,*,#5742,.F.); +-#10084=ORIENTED_EDGE('',*,*,#10072,.T.); +-#10085=ORIENTED_EDGE('',*,*,#10044,.T.); +-#10087=ORIENTED_EDGE('',*,*,#10086,.F.); +-#10088=EDGE_LOOP('',(#10083,#10084,#10085,#10087)); +-#10089=FACE_OUTER_BOUND('',#10088,.F.); +-#10090=ADVANCED_FACE('',(#10089),#10082,.F.); +-#10091=CARTESIAN_POINT('',(7.5E0,0.E0,7.5E0)); +-#10092=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#10093=DIRECTION('',(1.E0,0.E0,0.E0)); +-#10094=AXIS2_PLACEMENT_3D('',#10091,#10092,#10093); +-#10095=CYLINDRICAL_SURFACE('',#10094,5.6875E0); +-#10096=ORIENTED_EDGE('',*,*,#5744,.T.); +-#10097=ORIENTED_EDGE('',*,*,#10086,.T.); +-#10098=ORIENTED_EDGE('',*,*,#10042,.T.); +-#10100=ORIENTED_EDGE('',*,*,#10099,.F.); +-#10101=EDGE_LOOP('',(#10096,#10097,#10098,#10100)); +-#10102=FACE_OUTER_BOUND('',#10101,.F.); +-#10103=ADVANCED_FACE('',(#10102),#10095,.T.); +-#10104=CARTESIAN_POINT('',(1.61E0,0.E0,4.5E0)); +-#10105=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#10106=DIRECTION('',(1.E0,0.E0,0.E0)); +-#10107=AXIS2_PLACEMENT_3D('',#10104,#10105,#10106); +-#10108=CYLINDRICAL_SURFACE('',#10107,9.225E-1); +-#10109=ORIENTED_EDGE('',*,*,#10059,.F.); +-#10110=ORIENTED_EDGE('',*,*,#5736,.F.); +-#10111=ORIENTED_EDGE('',*,*,#10099,.T.); +-#10112=ORIENTED_EDGE('',*,*,#10040,.T.); +-#10113=EDGE_LOOP('',(#10109,#10110,#10111,#10112)); +-#10114=FACE_OUTER_BOUND('',#10113,.F.); +-#10115=ADVANCED_FACE('',(#10114),#10108,.F.); +-#10116=CARTESIAN_POINT('',(-1.85E-1,7.463919417831E-1,7.815E0)); +-#10117=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#10118=DIRECTION('',(1.E0,0.E0,0.E0)); +-#10119=AXIS2_PLACEMENT_3D('',#10116,#10117,#10118); +-#10120=CYLINDRICAL_SURFACE('',#10119,8.75E-1); +-#10122=ORIENTED_EDGE('',*,*,#10121,.T.); +-#10123=ORIENTED_EDGE('',*,*,#5748,.T.); +-#10125=ORIENTED_EDGE('',*,*,#10124,.F.); +-#10127=ORIENTED_EDGE('',*,*,#10126,.T.); +-#10128=EDGE_LOOP('',(#10122,#10123,#10125,#10127)); +-#10129=FACE_OUTER_BOUND('',#10128,.F.); +-#10130=ADVANCED_FACE('',(#10129),#10120,.T.); +-#10131=CARTESIAN_POINT('',(6.9E-1,0.E0,8.69E0)); +-#10132=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#10133=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#10134=AXIS2_PLACEMENT_3D('',#10131,#10132,#10133); +-#10135=PLANE('',#10134); +-#10136=ORIENTED_EDGE('',*,*,#10121,.F.); +-#10138=ORIENTED_EDGE('',*,*,#10137,.T.); +-#10140=ORIENTED_EDGE('',*,*,#10139,.F.); +-#10141=ORIENTED_EDGE('',*,*,#5750,.F.); +-#10142=EDGE_LOOP('',(#10136,#10138,#10140,#10141)); +-#10143=FACE_OUTER_BOUND('',#10142,.F.); +-#10144=ADVANCED_FACE('',(#10143),#10135,.F.); +-#10145=CARTESIAN_POINT('',(0.E0,6.875E-1,0.E0)); +-#10146=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#10147=DIRECTION('',(1.E0,0.E0,0.E0)); +-#10148=AXIS2_PLACEMENT_3D('',#10145,#10146,#10147); +-#10149=PLANE('',#10148); +-#10151=ORIENTED_EDGE('',*,*,#10150,.F.); +-#10153=ORIENTED_EDGE('',*,*,#10152,.F.); +-#10155=ORIENTED_EDGE('',*,*,#10154,.F.); +-#10157=ORIENTED_EDGE('',*,*,#10156,.F.); +-#10158=ORIENTED_EDGE('',*,*,#10137,.F.); +-#10159=ORIENTED_EDGE('',*,*,#10126,.F.); +-#10161=ORIENTED_EDGE('',*,*,#10160,.F.); +-#10163=ORIENTED_EDGE('',*,*,#10162,.F.); +-#10165=ORIENTED_EDGE('',*,*,#10164,.F.); +-#10167=ORIENTED_EDGE('',*,*,#10166,.F.); +-#10169=ORIENTED_EDGE('',*,*,#10168,.F.); +-#10171=ORIENTED_EDGE('',*,*,#10170,.F.); +-#10173=ORIENTED_EDGE('',*,*,#10172,.F.); +-#10175=ORIENTED_EDGE('',*,*,#10174,.F.); +-#10176=EDGE_LOOP('',(#10151,#10153,#10155,#10157,#10158,#10159,#10161,#10163, +-#10165,#10167,#10169,#10171,#10173,#10175)); +-#10177=FACE_OUTER_BOUND('',#10176,.F.); +-#10178=ADVANCED_FACE('',(#10177),#10149,.T.); +-#10179=CARTESIAN_POINT('',(1.8125E0,0.E0,8.69E0)); +-#10180=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#10181=DIRECTION('',(1.E0,0.E0,0.E0)); +-#10182=AXIS2_PLACEMENT_3D('',#10179,#10180,#10181); +-#10183=PLANE('',#10182); +-#10185=ORIENTED_EDGE('',*,*,#10184,.F.); +-#10186=ORIENTED_EDGE('',*,*,#10150,.T.); +-#10188=ORIENTED_EDGE('',*,*,#10187,.F.); +-#10189=ORIENTED_EDGE('',*,*,#5758,.F.); +-#10190=EDGE_LOOP('',(#10185,#10186,#10188,#10189)); +-#10191=FACE_OUTER_BOUND('',#10190,.F.); +-#10192=ADVANCED_FACE('',(#10191),#10183,.F.); +-#10193=CARTESIAN_POINT('',(2.6875E0,7.463919417831E-1,7.815E0)); +-#10194=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#10195=DIRECTION('',(0.E0,0.E0,1.E0)); +-#10196=AXIS2_PLACEMENT_3D('',#10193,#10194,#10195); +-#10197=CYLINDRICAL_SURFACE('',#10196,8.75E-1); +-#10198=ORIENTED_EDGE('',*,*,#10184,.T.); +-#10199=ORIENTED_EDGE('',*,*,#5756,.T.); +-#10201=ORIENTED_EDGE('',*,*,#10200,.F.); +-#10202=ORIENTED_EDGE('',*,*,#10152,.T.); +-#10203=EDGE_LOOP('',(#10198,#10199,#10201,#10202)); +-#10204=FACE_OUTER_BOUND('',#10203,.F.); +-#10205=ADVANCED_FACE('',(#10204),#10197,.T.); +-#10206=CARTESIAN_POINT('',(1.8125E0,0.E0,7.5E0)); +-#10207=DIRECTION('',(1.E0,0.E0,0.E0)); +-#10208=DIRECTION('',(0.E0,0.E0,1.E0)); +-#10209=AXIS2_PLACEMENT_3D('',#10206,#10207,#10208); +-#10210=PLANE('',#10209); +-#10211=ORIENTED_EDGE('',*,*,#10200,.T.); +-#10212=ORIENTED_EDGE('',*,*,#5754,.F.); +-#10214=ORIENTED_EDGE('',*,*,#10213,.T.); +-#10215=ORIENTED_EDGE('',*,*,#10154,.T.); +-#10216=EDGE_LOOP('',(#10211,#10212,#10214,#10215)); +-#10217=FACE_OUTER_BOUND('',#10216,.F.); +-#10218=ADVANCED_FACE('',(#10217),#10210,.F.); +-#10219=CARTESIAN_POINT('',(1.25125E0,0.E0,7.5E0)); +-#10220=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#10221=DIRECTION('',(1.E0,0.E0,0.E0)); +-#10222=AXIS2_PLACEMENT_3D('',#10219,#10220,#10221); +-#10223=CYLINDRICAL_SURFACE('',#10222,5.6125E-1); +-#10224=ORIENTED_EDGE('',*,*,#5752,.F.); +-#10225=ORIENTED_EDGE('',*,*,#10139,.T.); +-#10226=ORIENTED_EDGE('',*,*,#10156,.T.); +-#10227=ORIENTED_EDGE('',*,*,#10213,.F.); +-#10228=EDGE_LOOP('',(#10224,#10225,#10226,#10227)); +-#10229=FACE_OUTER_BOUND('',#10228,.F.); +-#10230=ADVANCED_FACE('',(#10229),#10223,.F.); +-#10231=CARTESIAN_POINT('',(3.4375E0,-6.892397422826E-2,9.565E0)); +-#10232=DIRECTION('',(0.E0,1.E0,0.E0)); +-#10233=DIRECTION('',(1.E0,0.E0,0.E0)); +-#10234=AXIS2_PLACEMENT_3D('',#10231,#10232,#10233); +-#10235=CYLINDRICAL_SURFACE('',#10234,8.75E-1); +-#10237=ORIENTED_EDGE('',*,*,#10236,.F.); +-#10238=ORIENTED_EDGE('',*,*,#5760,.T.); +-#10239=ORIENTED_EDGE('',*,*,#10187,.T.); +-#10240=ORIENTED_EDGE('',*,*,#10174,.T.); +-#10241=EDGE_LOOP('',(#10237,#10238,#10239,#10240)); +-#10242=FACE_OUTER_BOUND('',#10241,.F.); +-#10243=ADVANCED_FACE('',(#10242),#10235,.F.); +-#10244=CARTESIAN_POINT('',(4.3125E0,0.E0,8.69E0)); +-#10245=DIRECTION('',(1.E0,0.E0,0.E0)); +-#10246=DIRECTION('',(0.E0,0.E0,1.E0)); +-#10247=AXIS2_PLACEMENT_3D('',#10244,#10245,#10246); +-#10248=PLANE('',#10247); +-#10249=ORIENTED_EDGE('',*,*,#10236,.T.); +-#10250=ORIENTED_EDGE('',*,*,#10172,.T.); +-#10252=ORIENTED_EDGE('',*,*,#10251,.F.); +-#10253=ORIENTED_EDGE('',*,*,#5762,.F.); +-#10254=EDGE_LOOP('',(#10249,#10250,#10252,#10253)); +-#10255=FACE_OUTER_BOUND('',#10254,.F.); +-#10256=ADVANCED_FACE('',(#10255),#10248,.F.); +-#10257=CARTESIAN_POINT('',(3.4375E0,-6.892397422826E-2,1.0375E1)); +-#10258=DIRECTION('',(0.E0,1.E0,0.E0)); +-#10259=DIRECTION('',(0.E0,0.E0,1.E0)); +-#10260=AXIS2_PLACEMENT_3D('',#10257,#10258,#10259); +-#10261=CYLINDRICAL_SURFACE('',#10260,8.75E-1); +-#10263=ORIENTED_EDGE('',*,*,#10262,.F.); +-#10264=ORIENTED_EDGE('',*,*,#5764,.T.); +-#10265=ORIENTED_EDGE('',*,*,#10251,.T.); +-#10266=ORIENTED_EDGE('',*,*,#10170,.T.); +-#10267=EDGE_LOOP('',(#10263,#10264,#10265,#10266)); +-#10268=FACE_OUTER_BOUND('',#10267,.F.); +-#10269=ADVANCED_FACE('',(#10268),#10261,.F.); +-#10270=CARTESIAN_POINT('',(4.3125E0,0.E0,1.125E1)); +-#10271=DIRECTION('',(0.E0,0.E0,1.E0)); +-#10272=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#10273=AXIS2_PLACEMENT_3D('',#10270,#10271,#10272); +-#10274=PLANE('',#10273); +-#10276=ORIENTED_EDGE('',*,*,#10275,.F.); +-#10277=ORIENTED_EDGE('',*,*,#5766,.F.); +-#10278=ORIENTED_EDGE('',*,*,#10262,.T.); +-#10279=ORIENTED_EDGE('',*,*,#10168,.T.); +-#10280=EDGE_LOOP('',(#10276,#10277,#10278,#10279)); +-#10281=FACE_OUTER_BOUND('',#10280,.F.); +-#10282=ADVANCED_FACE('',(#10281),#10274,.F.); +-#10283=CARTESIAN_POINT('',(-4.375E-1,-6.892397422826E-2,1.0375E1)); +-#10284=DIRECTION('',(0.E0,1.E0,0.E0)); +-#10285=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#10286=AXIS2_PLACEMENT_3D('',#10283,#10284,#10285); +-#10287=CYLINDRICAL_SURFACE('',#10286,8.75E-1); +-#10289=ORIENTED_EDGE('',*,*,#10288,.F.); +-#10290=ORIENTED_EDGE('',*,*,#5768,.T.); +-#10291=ORIENTED_EDGE('',*,*,#10275,.T.); +-#10292=ORIENTED_EDGE('',*,*,#10166,.T.); +-#10293=EDGE_LOOP('',(#10289,#10290,#10291,#10292)); +-#10294=FACE_OUTER_BOUND('',#10293,.F.); +-#10295=ADVANCED_FACE('',(#10294),#10287,.F.); +-#10296=CARTESIAN_POINT('',(-1.3125E0,0.E0,1.125E1)); +-#10297=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#10298=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#10299=AXIS2_PLACEMENT_3D('',#10296,#10297,#10298); +-#10300=PLANE('',#10299); +-#10301=ORIENTED_EDGE('',*,*,#10288,.T.); +-#10302=ORIENTED_EDGE('',*,*,#10164,.T.); +-#10304=ORIENTED_EDGE('',*,*,#10303,.F.); +-#10305=ORIENTED_EDGE('',*,*,#5770,.F.); +-#10306=EDGE_LOOP('',(#10301,#10302,#10304,#10305)); +-#10307=FACE_OUTER_BOUND('',#10306,.F.); +-#10308=ADVANCED_FACE('',(#10307),#10300,.F.); +-#10309=CARTESIAN_POINT('',(-4.375E-1,-6.892397422826E-2,9.565E0)); +-#10310=DIRECTION('',(0.E0,1.E0,0.E0)); +-#10311=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#10312=AXIS2_PLACEMENT_3D('',#10309,#10310,#10311); +-#10313=CYLINDRICAL_SURFACE('',#10312,8.75E-1); +-#10315=ORIENTED_EDGE('',*,*,#10314,.F.); +-#10316=ORIENTED_EDGE('',*,*,#5772,.T.); +-#10317=ORIENTED_EDGE('',*,*,#10303,.T.); +-#10318=ORIENTED_EDGE('',*,*,#10162,.T.); +-#10319=EDGE_LOOP('',(#10315,#10316,#10317,#10318)); +-#10320=FACE_OUTER_BOUND('',#10319,.F.); +-#10321=ADVANCED_FACE('',(#10320),#10313,.F.); +-#10322=CARTESIAN_POINT('',(-1.3125E0,0.E0,8.69E0)); +-#10323=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#10324=DIRECTION('',(1.E0,0.E0,0.E0)); +-#10325=AXIS2_PLACEMENT_3D('',#10322,#10323,#10324); +-#10326=PLANE('',#10325); +-#10327=ORIENTED_EDGE('',*,*,#10124,.T.); +-#10328=ORIENTED_EDGE('',*,*,#5774,.F.); +-#10329=ORIENTED_EDGE('',*,*,#10314,.T.); +-#10330=ORIENTED_EDGE('',*,*,#10160,.T.); +-#10331=EDGE_LOOP('',(#10327,#10328,#10329,#10330)); +-#10332=FACE_OUTER_BOUND('',#10331,.F.); +-#10333=ADVANCED_FACE('',(#10332),#10326,.F.); +-#10334=CARTESIAN_POINT('',(6.875E-1,0.E0,1.65E1)); +-#10335=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#10336=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#10337=AXIS2_PLACEMENT_3D('',#10334,#10335,#10336); +-#10338=PLANE('',#10337); +-#10339=ORIENTED_EDGE('',*,*,#5778,.F.); +-#10341=ORIENTED_EDGE('',*,*,#10340,.T.); +-#10343=ORIENTED_EDGE('',*,*,#10342,.T.); +-#10345=ORIENTED_EDGE('',*,*,#10344,.F.); +-#10346=EDGE_LOOP('',(#10339,#10341,#10343,#10345)); +-#10347=FACE_OUTER_BOUND('',#10346,.F.); +-#10348=ADVANCED_FACE('',(#10347),#10338,.F.); +-#10349=CARTESIAN_POINT('',(1.25E0,0.E0,1.65E1)); +-#10350=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#10351=DIRECTION('',(1.E0,0.E0,0.E0)); +-#10352=AXIS2_PLACEMENT_3D('',#10349,#10350,#10351); +-#10353=CYLINDRICAL_SURFACE('',#10352,5.625E-1); +-#10354=ORIENTED_EDGE('',*,*,#5784,.F.); +-#10356=ORIENTED_EDGE('',*,*,#10355,.T.); +-#10358=ORIENTED_EDGE('',*,*,#10357,.T.); +-#10359=ORIENTED_EDGE('',*,*,#10340,.F.); +-#10360=EDGE_LOOP('',(#10354,#10356,#10358,#10359)); +-#10361=FACE_OUTER_BOUND('',#10360,.F.); +-#10362=ADVANCED_FACE('',(#10361),#10353,.F.); +-#10363=CARTESIAN_POINT('',(1.8125E0,0.E0,1.35E1)); +-#10364=DIRECTION('',(1.E0,0.E0,0.E0)); +-#10365=DIRECTION('',(0.E0,0.E0,1.E0)); +-#10366=AXIS2_PLACEMENT_3D('',#10363,#10364,#10365); +-#10367=PLANE('',#10366); +-#10368=ORIENTED_EDGE('',*,*,#5782,.F.); +-#10370=ORIENTED_EDGE('',*,*,#10369,.T.); +-#10372=ORIENTED_EDGE('',*,*,#10371,.T.); +-#10373=ORIENTED_EDGE('',*,*,#10355,.F.); +-#10374=EDGE_LOOP('',(#10368,#10370,#10372,#10373)); +-#10375=FACE_OUTER_BOUND('',#10374,.F.); +-#10376=ADVANCED_FACE('',(#10375),#10367,.F.); +-#10377=CARTESIAN_POINT('',(1.25E0,0.E0,1.35E1)); +-#10378=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#10379=DIRECTION('',(1.E0,0.E0,0.E0)); +-#10380=AXIS2_PLACEMENT_3D('',#10377,#10378,#10379); +-#10381=CYLINDRICAL_SURFACE('',#10380,5.625E-1); +-#10382=ORIENTED_EDGE('',*,*,#5780,.F.); +-#10383=ORIENTED_EDGE('',*,*,#10344,.T.); +-#10385=ORIENTED_EDGE('',*,*,#10384,.T.); +-#10386=ORIENTED_EDGE('',*,*,#10369,.F.); +-#10387=EDGE_LOOP('',(#10382,#10383,#10385,#10386)); +-#10388=FACE_OUTER_BOUND('',#10387,.F.); +-#10389=ADVANCED_FACE('',(#10388),#10381,.F.); +-#10390=CARTESIAN_POINT('',(0.E0,6.875E-1,0.E0)); +-#10391=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#10392=DIRECTION('',(1.E0,0.E0,0.E0)); +-#10393=AXIS2_PLACEMENT_3D('',#10390,#10391,#10392); +-#10394=PLANE('',#10393); +-#10395=ORIENTED_EDGE('',*,*,#10342,.F.); +-#10396=ORIENTED_EDGE('',*,*,#10357,.F.); +-#10397=ORIENTED_EDGE('',*,*,#10371,.F.); +-#10398=ORIENTED_EDGE('',*,*,#10384,.F.); +-#10399=EDGE_LOOP('',(#10395,#10396,#10397,#10398)); +-#10400=FACE_OUTER_BOUND('',#10399,.F.); +-#10401=ADVANCED_FACE('',(#10400),#10394,.T.); +-#10402=CARTESIAN_POINT('',(6.875E-1,0.E0,2.25E1)); +-#10403=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#10404=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#10405=AXIS2_PLACEMENT_3D('',#10402,#10403,#10404); +-#10406=PLANE('',#10405); +-#10407=ORIENTED_EDGE('',*,*,#5788,.F.); +-#10409=ORIENTED_EDGE('',*,*,#10408,.T.); +-#10411=ORIENTED_EDGE('',*,*,#10410,.T.); +-#10413=ORIENTED_EDGE('',*,*,#10412,.F.); +-#10414=EDGE_LOOP('',(#10407,#10409,#10411,#10413)); +-#10415=FACE_OUTER_BOUND('',#10414,.F.); +-#10416=ADVANCED_FACE('',(#10415),#10406,.F.); +-#10417=CARTESIAN_POINT('',(1.25E0,0.E0,2.25E1)); +-#10418=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#10419=DIRECTION('',(1.E0,0.E0,0.E0)); +-#10420=AXIS2_PLACEMENT_3D('',#10417,#10418,#10419); +-#10421=CYLINDRICAL_SURFACE('',#10420,5.625E-1); +-#10422=ORIENTED_EDGE('',*,*,#5794,.F.); +-#10424=ORIENTED_EDGE('',*,*,#10423,.T.); +-#10426=ORIENTED_EDGE('',*,*,#10425,.T.); +-#10427=ORIENTED_EDGE('',*,*,#10408,.F.); +-#10428=EDGE_LOOP('',(#10422,#10424,#10426,#10427)); +-#10429=FACE_OUTER_BOUND('',#10428,.F.); +-#10430=ADVANCED_FACE('',(#10429),#10421,.F.); +-#10431=CARTESIAN_POINT('',(1.8125E0,0.E0,1.95E1)); +-#10432=DIRECTION('',(1.E0,0.E0,0.E0)); +-#10433=DIRECTION('',(0.E0,0.E0,1.E0)); +-#10434=AXIS2_PLACEMENT_3D('',#10431,#10432,#10433); +-#10435=PLANE('',#10434); +-#10436=ORIENTED_EDGE('',*,*,#5792,.F.); +-#10438=ORIENTED_EDGE('',*,*,#10437,.T.); +-#10440=ORIENTED_EDGE('',*,*,#10439,.T.); +-#10441=ORIENTED_EDGE('',*,*,#10423,.F.); +-#10442=EDGE_LOOP('',(#10436,#10438,#10440,#10441)); +-#10443=FACE_OUTER_BOUND('',#10442,.F.); +-#10444=ADVANCED_FACE('',(#10443),#10435,.F.); +-#10445=CARTESIAN_POINT('',(1.25E0,0.E0,1.95E1)); +-#10446=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#10447=DIRECTION('',(1.E0,0.E0,0.E0)); +-#10448=AXIS2_PLACEMENT_3D('',#10445,#10446,#10447); +-#10449=CYLINDRICAL_SURFACE('',#10448,5.625E-1); +-#10450=ORIENTED_EDGE('',*,*,#5790,.F.); +-#10451=ORIENTED_EDGE('',*,*,#10412,.T.); +-#10453=ORIENTED_EDGE('',*,*,#10452,.T.); +-#10454=ORIENTED_EDGE('',*,*,#10437,.F.); +-#10455=EDGE_LOOP('',(#10450,#10451,#10453,#10454)); +-#10456=FACE_OUTER_BOUND('',#10455,.F.); +-#10457=ADVANCED_FACE('',(#10456),#10449,.F.); +-#10458=CARTESIAN_POINT('',(0.E0,6.875E-1,0.E0)); +-#10459=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#10460=DIRECTION('',(1.E0,0.E0,0.E0)); +-#10461=AXIS2_PLACEMENT_3D('',#10458,#10459,#10460); +-#10462=PLANE('',#10461); +-#10463=ORIENTED_EDGE('',*,*,#10410,.F.); +-#10464=ORIENTED_EDGE('',*,*,#10425,.F.); +-#10465=ORIENTED_EDGE('',*,*,#10439,.F.); +-#10466=ORIENTED_EDGE('',*,*,#10452,.F.); +-#10467=EDGE_LOOP('',(#10463,#10464,#10465,#10466)); +-#10468=FACE_OUTER_BOUND('',#10467,.F.); +-#10469=ADVANCED_FACE('',(#10468),#10462,.T.); +-#10470=CARTESIAN_POINT('',(7.5E0,0.E0,8.5E0)); +-#10471=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#10472=DIRECTION('',(1.E0,0.E0,0.E0)); +-#10473=AXIS2_PLACEMENT_3D('',#10470,#10471,#10472); +-#10474=PLANE('',#10473); +-#10475=ORIENTED_EDGE('',*,*,#5798,.F.); +-#10477=ORIENTED_EDGE('',*,*,#10476,.T.); +-#10479=ORIENTED_EDGE('',*,*,#10478,.T.); +-#10481=ORIENTED_EDGE('',*,*,#10480,.F.); +-#10482=EDGE_LOOP('',(#10475,#10477,#10479,#10481)); +-#10483=FACE_OUTER_BOUND('',#10482,.F.); +-#10484=ADVANCED_FACE('',(#10483),#10474,.F.); +-#10485=CARTESIAN_POINT('',(7.5E0,0.E0,9.E0)); +-#10486=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#10487=DIRECTION('',(1.E0,0.E0,0.E0)); +-#10488=AXIS2_PLACEMENT_3D('',#10485,#10486,#10487); +-#10489=CYLINDRICAL_SURFACE('',#10488,5.E-1); +-#10490=ORIENTED_EDGE('',*,*,#5804,.F.); +-#10492=ORIENTED_EDGE('',*,*,#10491,.T.); +-#10494=ORIENTED_EDGE('',*,*,#10493,.T.); +-#10495=ORIENTED_EDGE('',*,*,#10476,.F.); +-#10496=EDGE_LOOP('',(#10490,#10492,#10494,#10495)); +-#10497=FACE_OUTER_BOUND('',#10496,.F.); +-#10498=ADVANCED_FACE('',(#10497),#10489,.F.); +-#10499=CARTESIAN_POINT('',(1.05E1,0.E0,9.5E0)); +-#10500=DIRECTION('',(0.E0,0.E0,1.E0)); +-#10501=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#10502=AXIS2_PLACEMENT_3D('',#10499,#10500,#10501); +-#10503=PLANE('',#10502); +-#10504=ORIENTED_EDGE('',*,*,#5802,.F.); +-#10506=ORIENTED_EDGE('',*,*,#10505,.T.); +-#10508=ORIENTED_EDGE('',*,*,#10507,.T.); +-#10509=ORIENTED_EDGE('',*,*,#10491,.F.); +-#10510=EDGE_LOOP('',(#10504,#10506,#10508,#10509)); +-#10511=FACE_OUTER_BOUND('',#10510,.F.); +-#10512=ADVANCED_FACE('',(#10511),#10503,.F.); +-#10513=CARTESIAN_POINT('',(1.05E1,0.E0,9.E0)); +-#10514=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#10515=DIRECTION('',(1.E0,0.E0,0.E0)); +-#10516=AXIS2_PLACEMENT_3D('',#10513,#10514,#10515); +-#10517=CYLINDRICAL_SURFACE('',#10516,5.E-1); +-#10518=ORIENTED_EDGE('',*,*,#5800,.F.); +-#10519=ORIENTED_EDGE('',*,*,#10480,.T.); +-#10521=ORIENTED_EDGE('',*,*,#10520,.T.); +-#10522=ORIENTED_EDGE('',*,*,#10505,.F.); +-#10523=EDGE_LOOP('',(#10518,#10519,#10521,#10522)); +-#10524=FACE_OUTER_BOUND('',#10523,.F.); +-#10525=ADVANCED_FACE('',(#10524),#10517,.F.); +-#10526=CARTESIAN_POINT('',(0.E0,6.875E-1,0.E0)); +-#10527=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#10528=DIRECTION('',(1.E0,0.E0,0.E0)); +-#10529=AXIS2_PLACEMENT_3D('',#10526,#10527,#10528); +-#10530=PLANE('',#10529); +-#10531=ORIENTED_EDGE('',*,*,#10478,.F.); +-#10532=ORIENTED_EDGE('',*,*,#10493,.F.); +-#10533=ORIENTED_EDGE('',*,*,#10507,.F.); +-#10534=ORIENTED_EDGE('',*,*,#10520,.F.); +-#10535=EDGE_LOOP('',(#10531,#10532,#10533,#10534)); +-#10536=FACE_OUTER_BOUND('',#10535,.F.); +-#10537=ADVANCED_FACE('',(#10536),#10530,.T.); +-#10538=CARTESIAN_POINT('',(7.5E0,0.E0,1.75625E1)); +-#10539=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#10540=DIRECTION('',(1.E0,0.E0,0.E0)); +-#10541=AXIS2_PLACEMENT_3D('',#10538,#10539,#10540); +-#10542=PLANE('',#10541); +-#10543=ORIENTED_EDGE('',*,*,#5808,.F.); +-#10545=ORIENTED_EDGE('',*,*,#10544,.T.); +-#10547=ORIENTED_EDGE('',*,*,#10546,.T.); +-#10549=ORIENTED_EDGE('',*,*,#10548,.F.); +-#10550=EDGE_LOOP('',(#10543,#10545,#10547,#10549)); +-#10551=FACE_OUTER_BOUND('',#10550,.F.); +-#10552=ADVANCED_FACE('',(#10551),#10542,.F.); +-#10553=CARTESIAN_POINT('',(7.5E0,0.E0,1.8E1)); +-#10554=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#10555=DIRECTION('',(1.E0,0.E0,0.E0)); +-#10556=AXIS2_PLACEMENT_3D('',#10553,#10554,#10555); +-#10557=CYLINDRICAL_SURFACE('',#10556,4.375E-1); +-#10558=ORIENTED_EDGE('',*,*,#5814,.F.); +-#10560=ORIENTED_EDGE('',*,*,#10559,.T.); +-#10562=ORIENTED_EDGE('',*,*,#10561,.T.); +-#10563=ORIENTED_EDGE('',*,*,#10544,.F.); +-#10564=EDGE_LOOP('',(#10558,#10560,#10562,#10563)); +-#10565=FACE_OUTER_BOUND('',#10564,.F.); +-#10566=ADVANCED_FACE('',(#10565),#10557,.F.); +-#10567=CARTESIAN_POINT('',(1.05E1,0.E0,1.84375E1)); +-#10568=DIRECTION('',(0.E0,0.E0,1.E0)); +-#10569=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#10570=AXIS2_PLACEMENT_3D('',#10567,#10568,#10569); +-#10571=PLANE('',#10570); +-#10572=ORIENTED_EDGE('',*,*,#5812,.F.); +-#10574=ORIENTED_EDGE('',*,*,#10573,.T.); +-#10576=ORIENTED_EDGE('',*,*,#10575,.T.); +-#10577=ORIENTED_EDGE('',*,*,#10559,.F.); +-#10578=EDGE_LOOP('',(#10572,#10574,#10576,#10577)); +-#10579=FACE_OUTER_BOUND('',#10578,.F.); +-#10580=ADVANCED_FACE('',(#10579),#10571,.F.); +-#10581=CARTESIAN_POINT('',(1.05E1,0.E0,1.8E1)); +-#10582=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#10583=DIRECTION('',(1.E0,0.E0,0.E0)); +-#10584=AXIS2_PLACEMENT_3D('',#10581,#10582,#10583); +-#10585=CYLINDRICAL_SURFACE('',#10584,4.375E-1); +-#10586=ORIENTED_EDGE('',*,*,#5810,.F.); +-#10587=ORIENTED_EDGE('',*,*,#10548,.T.); +-#10589=ORIENTED_EDGE('',*,*,#10588,.T.); +-#10590=ORIENTED_EDGE('',*,*,#10573,.F.); +-#10591=EDGE_LOOP('',(#10586,#10587,#10589,#10590)); +-#10592=FACE_OUTER_BOUND('',#10591,.F.); +-#10593=ADVANCED_FACE('',(#10592),#10585,.F.); +-#10594=CARTESIAN_POINT('',(0.E0,6.875E-1,0.E0)); +-#10595=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#10596=DIRECTION('',(1.E0,0.E0,0.E0)); +-#10597=AXIS2_PLACEMENT_3D('',#10594,#10595,#10596); +-#10598=PLANE('',#10597); +-#10599=ORIENTED_EDGE('',*,*,#10546,.F.); +-#10600=ORIENTED_EDGE('',*,*,#10561,.F.); +-#10601=ORIENTED_EDGE('',*,*,#10575,.F.); +-#10602=ORIENTED_EDGE('',*,*,#10588,.F.); +-#10603=EDGE_LOOP('',(#10599,#10600,#10601,#10602)); +-#10604=FACE_OUTER_BOUND('',#10603,.F.); +-#10605=ADVANCED_FACE('',(#10604),#10598,.T.); +-#10606=CARTESIAN_POINT('',(7.5E0,0.E0,3.13125E1)); +-#10607=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#10608=DIRECTION('',(1.E0,0.E0,0.E0)); +-#10609=AXIS2_PLACEMENT_3D('',#10606,#10607,#10608); +-#10610=PLANE('',#10609); +-#10611=ORIENTED_EDGE('',*,*,#5818,.T.); +-#10613=ORIENTED_EDGE('',*,*,#10612,.T.); +-#10615=ORIENTED_EDGE('',*,*,#10614,.F.); +-#10617=ORIENTED_EDGE('',*,*,#10616,.F.); +-#10618=EDGE_LOOP('',(#10611,#10613,#10615,#10617)); +-#10619=FACE_OUTER_BOUND('',#10618,.F.); +-#10620=ADVANCED_FACE('',(#10619),#10610,.T.); +-#10621=CARTESIAN_POINT('',(1.05E1,0.E0,3.075E1)); +-#10622=DIRECTION('',(0.E0,1.E0,0.E0)); +-#10623=DIRECTION('',(1.E0,0.E0,0.E0)); +-#10624=AXIS2_PLACEMENT_3D('',#10621,#10622,#10623); +-#10625=CYLINDRICAL_SURFACE('',#10624,5.625E-1); +-#10626=ORIENTED_EDGE('',*,*,#5824,.T.); +-#10628=ORIENTED_EDGE('',*,*,#10627,.T.); +-#10630=ORIENTED_EDGE('',*,*,#10629,.F.); +-#10631=ORIENTED_EDGE('',*,*,#10612,.F.); +-#10632=EDGE_LOOP('',(#10626,#10628,#10630,#10631)); +-#10633=FACE_OUTER_BOUND('',#10632,.F.); +-#10634=ADVANCED_FACE('',(#10633),#10625,.F.); +-#10635=CARTESIAN_POINT('',(1.05E1,0.E0,3.01875E1)); +-#10636=DIRECTION('',(0.E0,0.E0,1.E0)); +-#10637=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#10638=AXIS2_PLACEMENT_3D('',#10635,#10636,#10637); +-#10639=PLANE('',#10638); +-#10640=ORIENTED_EDGE('',*,*,#5822,.T.); +-#10642=ORIENTED_EDGE('',*,*,#10641,.T.); +-#10644=ORIENTED_EDGE('',*,*,#10643,.F.); +-#10645=ORIENTED_EDGE('',*,*,#10627,.F.); +-#10646=EDGE_LOOP('',(#10640,#10642,#10644,#10645)); +-#10647=FACE_OUTER_BOUND('',#10646,.F.); +-#10648=ADVANCED_FACE('',(#10647),#10639,.T.); +-#10649=CARTESIAN_POINT('',(7.5E0,0.E0,3.075E1)); +-#10650=DIRECTION('',(0.E0,1.E0,0.E0)); +-#10651=DIRECTION('',(1.E0,0.E0,0.E0)); +-#10652=AXIS2_PLACEMENT_3D('',#10649,#10650,#10651); +-#10653=CYLINDRICAL_SURFACE('',#10652,5.625E-1); +-#10654=ORIENTED_EDGE('',*,*,#5820,.T.); +-#10655=ORIENTED_EDGE('',*,*,#10616,.T.); +-#10657=ORIENTED_EDGE('',*,*,#10656,.F.); +-#10658=ORIENTED_EDGE('',*,*,#10641,.F.); +-#10659=EDGE_LOOP('',(#10654,#10655,#10657,#10658)); +-#10660=FACE_OUTER_BOUND('',#10659,.F.); +-#10661=ADVANCED_FACE('',(#10660),#10653,.F.); +-#10662=CARTESIAN_POINT('',(0.E0,6.875E-1,3.2E1)); +-#10663=DIRECTION('',(0.E0,1.E0,0.E0)); +-#10664=DIRECTION('',(1.E0,0.E0,0.E0)); +-#10665=AXIS2_PLACEMENT_3D('',#10662,#10663,#10664); +-#10666=PLANE('',#10665); +-#10667=ORIENTED_EDGE('',*,*,#10614,.T.); +-#10668=ORIENTED_EDGE('',*,*,#10629,.T.); +-#10669=ORIENTED_EDGE('',*,*,#10643,.T.); +-#10670=ORIENTED_EDGE('',*,*,#10656,.T.); +-#10671=EDGE_LOOP('',(#10667,#10668,#10669,#10670)); +-#10672=FACE_OUTER_BOUND('',#10671,.F.); +-#10673=ADVANCED_FACE('',(#10672),#10666,.F.); +-#10674=CARTESIAN_POINT('',(0.E0,6.875E-1,3.2E1)); +-#10675=DIRECTION('',(0.E0,1.E0,0.E0)); +-#10676=DIRECTION('',(1.E0,0.E0,0.E0)); +-#10677=AXIS2_PLACEMENT_3D('',#10674,#10675,#10676); +-#10678=PLANE('',#10677); +-#10680=ORIENTED_EDGE('',*,*,#10679,.F.); +-#10682=ORIENTED_EDGE('',*,*,#10681,.T.); +-#10684=ORIENTED_EDGE('',*,*,#10683,.T.); +-#10686=ORIENTED_EDGE('',*,*,#10685,.T.); +-#10688=ORIENTED_EDGE('',*,*,#10687,.T.); +-#10689=EDGE_LOOP('',(#10680,#10682,#10684,#10686,#10688)); +-#10690=FACE_OUTER_BOUND('',#10689,.F.); +-#10691=ADVANCED_FACE('',(#10690),#10678,.F.); +-#10692=CARTESIAN_POINT('',(1.455736763592E0,-6.642389448824E-2, +-2.742280476768E1)); +-#10693=DIRECTION('',(0.E0,1.E0,0.E0)); +-#10694=DIRECTION('',(-8.942796313519E-1,0.E0,-4.475085931567E-1)); +-#10695=AXIS2_PLACEMENT_3D('',#10692,#10693,#10694); +-#10696=CYLINDRICAL_SURFACE('',#10695,7.5E-1); +-#10698=ORIENTED_EDGE('',*,*,#10697,.F.); +-#10699=ORIENTED_EDGE('',*,*,#5932,.T.); +-#10701=ORIENTED_EDGE('',*,*,#10700,.T.); +-#10702=ORIENTED_EDGE('',*,*,#10679,.T.); +-#10703=EDGE_LOOP('',(#10698,#10699,#10701,#10702)); +-#10704=FACE_OUTER_BOUND('',#10703,.F.); +-#10705=ADVANCED_FACE('',(#10704),#10696,.F.); +-#10706=CARTESIAN_POINT('',(1.61E0,0.E0,2.75E1)); +-#10707=DIRECTION('',(0.E0,1.E0,0.E0)); +-#10708=DIRECTION('',(1.E0,0.E0,0.E0)); +-#10709=AXIS2_PLACEMENT_3D('',#10706,#10707,#10708); +-#10710=CYLINDRICAL_SURFACE('',#10709,9.225E-1); +-#10711=ORIENTED_EDGE('',*,*,#10697,.T.); +-#10712=ORIENTED_EDGE('',*,*,#10687,.F.); +-#10714=ORIENTED_EDGE('',*,*,#10713,.F.); +-#10715=ORIENTED_EDGE('',*,*,#5934,.T.); +-#10716=EDGE_LOOP('',(#10711,#10712,#10714,#10715)); +-#10717=FACE_OUTER_BOUND('',#10716,.F.); +-#10718=ADVANCED_FACE('',(#10717),#10710,.F.); +-#10719=CARTESIAN_POINT('',(7.5E0,0.E0,2.45E1)); +-#10720=DIRECTION('',(0.E0,1.E0,0.E0)); +-#10721=DIRECTION('',(1.E0,0.E0,0.E0)); +-#10722=AXIS2_PLACEMENT_3D('',#10719,#10720,#10721); +-#10723=CYLINDRICAL_SURFACE('',#10722,5.6875E0); +-#10724=ORIENTED_EDGE('',*,*,#5936,.F.); +-#10725=ORIENTED_EDGE('',*,*,#10713,.T.); +-#10726=ORIENTED_EDGE('',*,*,#10685,.F.); +-#10728=ORIENTED_EDGE('',*,*,#10727,.F.); +-#10729=EDGE_LOOP('',(#10724,#10725,#10726,#10728)); +-#10730=FACE_OUTER_BOUND('',#10729,.F.); +-#10731=ADVANCED_FACE('',(#10730),#10723,.T.); +-#10732=CARTESIAN_POINT('',(4.553039342392E0,0.E0,3.035464591145E1)); +-#10733=DIRECTION('',(0.E0,1.E0,0.E0)); +-#10734=DIRECTION('',(1.E0,0.E0,0.E0)); +-#10735=AXIS2_PLACEMENT_3D('',#10732,#10733,#10734); +-#10736=CYLINDRICAL_SURFACE('',#10735,8.669989027347E-1); +-#10737=ORIENTED_EDGE('',*,*,#5938,.T.); +-#10738=ORIENTED_EDGE('',*,*,#10727,.T.); +-#10739=ORIENTED_EDGE('',*,*,#10683,.F.); +-#10741=ORIENTED_EDGE('',*,*,#10740,.F.); +-#10742=EDGE_LOOP('',(#10737,#10738,#10739,#10741)); +-#10743=FACE_OUTER_BOUND('',#10742,.F.); +-#10744=ADVANCED_FACE('',(#10743),#10736,.F.); +-#10745=CARTESIAN_POINT('',(6.875E-1,0.E0,2.771522817587E1)); +-#10746=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1)); +-#10747=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1)); +-#10748=AXIS2_PLACEMENT_3D('',#10745,#10746,#10747); +-#10749=PLANE('',#10748); +-#10750=ORIENTED_EDGE('',*,*,#10700,.F.); +-#10751=ORIENTED_EDGE('',*,*,#5930,.T.); +-#10752=ORIENTED_EDGE('',*,*,#10740,.T.); +-#10753=ORIENTED_EDGE('',*,*,#10681,.F.); +-#10754=EDGE_LOOP('',(#10750,#10751,#10752,#10753)); +-#10755=FACE_OUTER_BOUND('',#10754,.F.); +-#10756=ADVANCED_FACE('',(#10755),#10749,.T.); +-#10757=CARTESIAN_POINT('',(1.65E1,0.E0,6.875E-1)); +-#10758=DIRECTION('',(0.E0,0.E0,1.E0)); +-#10759=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#10760=AXIS2_PLACEMENT_3D('',#10757,#10758,#10759); +-#10761=PLANE('',#10760); +-#10762=ORIENTED_EDGE('',*,*,#5828,.T.); +-#10764=ORIENTED_EDGE('',*,*,#10763,.T.); +-#10766=ORIENTED_EDGE('',*,*,#10765,.F.); +-#10768=ORIENTED_EDGE('',*,*,#10767,.F.); +-#10769=EDGE_LOOP('',(#10762,#10764,#10766,#10768)); +-#10770=FACE_OUTER_BOUND('',#10769,.F.); +-#10771=ADVANCED_FACE('',(#10770),#10761,.T.); +-#10772=CARTESIAN_POINT('',(1.35E1,0.E0,1.25E0)); +-#10773=DIRECTION('',(0.E0,1.E0,0.E0)); +-#10774=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#10775=AXIS2_PLACEMENT_3D('',#10772,#10773,#10774); +-#10776=CYLINDRICAL_SURFACE('',#10775,5.625E-1); +-#10777=ORIENTED_EDGE('',*,*,#5834,.T.); +-#10779=ORIENTED_EDGE('',*,*,#10778,.T.); +-#10781=ORIENTED_EDGE('',*,*,#10780,.F.); +-#10782=ORIENTED_EDGE('',*,*,#10763,.F.); +-#10783=EDGE_LOOP('',(#10777,#10779,#10781,#10782)); +-#10784=FACE_OUTER_BOUND('',#10783,.F.); +-#10785=ADVANCED_FACE('',(#10784),#10776,.F.); +-#10786=CARTESIAN_POINT('',(1.35E1,0.E0,1.8125E0)); +-#10787=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#10788=DIRECTION('',(1.E0,0.E0,0.E0)); +-#10789=AXIS2_PLACEMENT_3D('',#10786,#10787,#10788); +-#10790=PLANE('',#10789); +-#10791=ORIENTED_EDGE('',*,*,#5832,.T.); +-#10793=ORIENTED_EDGE('',*,*,#10792,.T.); +-#10795=ORIENTED_EDGE('',*,*,#10794,.F.); +-#10796=ORIENTED_EDGE('',*,*,#10778,.F.); +-#10797=EDGE_LOOP('',(#10791,#10793,#10795,#10796)); +-#10798=FACE_OUTER_BOUND('',#10797,.F.); +-#10799=ADVANCED_FACE('',(#10798),#10790,.T.); +-#10800=CARTESIAN_POINT('',(1.65E1,0.E0,1.25E0)); +-#10801=DIRECTION('',(0.E0,1.E0,0.E0)); +-#10802=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#10803=AXIS2_PLACEMENT_3D('',#10800,#10801,#10802); +-#10804=CYLINDRICAL_SURFACE('',#10803,5.625E-1); +-#10805=ORIENTED_EDGE('',*,*,#5830,.T.); +-#10806=ORIENTED_EDGE('',*,*,#10767,.T.); +-#10808=ORIENTED_EDGE('',*,*,#10807,.F.); +-#10809=ORIENTED_EDGE('',*,*,#10792,.F.); +-#10810=EDGE_LOOP('',(#10805,#10806,#10808,#10809)); +-#10811=FACE_OUTER_BOUND('',#10810,.F.); +-#10812=ADVANCED_FACE('',(#10811),#10804,.F.); +-#10813=CARTESIAN_POINT('',(2.4E1,6.875E-1,0.E0)); +-#10814=DIRECTION('',(0.E0,1.E0,0.E0)); +-#10815=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#10816=AXIS2_PLACEMENT_3D('',#10813,#10814,#10815); +-#10817=PLANE('',#10816); +-#10818=ORIENTED_EDGE('',*,*,#10765,.T.); +-#10819=ORIENTED_EDGE('',*,*,#10780,.T.); +-#10820=ORIENTED_EDGE('',*,*,#10794,.T.); +-#10821=ORIENTED_EDGE('',*,*,#10807,.T.); +-#10822=EDGE_LOOP('',(#10818,#10819,#10820,#10821)); +-#10823=FACE_OUTER_BOUND('',#10822,.F.); +-#10824=ADVANCED_FACE('',(#10823),#10817,.F.); +-#10825=CARTESIAN_POINT('',(2.4E1,6.875E-1,0.E0)); +-#10826=DIRECTION('',(0.E0,1.E0,0.E0)); +-#10827=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#10828=AXIS2_PLACEMENT_3D('',#10825,#10826,#10827); +-#10829=PLANE('',#10828); +-#10831=ORIENTED_EDGE('',*,*,#10830,.F.); +-#10833=ORIENTED_EDGE('',*,*,#10832,.T.); +-#10835=ORIENTED_EDGE('',*,*,#10834,.T.); +-#10837=ORIENTED_EDGE('',*,*,#10836,.T.); +-#10839=ORIENTED_EDGE('',*,*,#10838,.T.); +-#10840=EDGE_LOOP('',(#10831,#10833,#10835,#10837,#10839)); +-#10841=FACE_OUTER_BOUND('',#10840,.F.); +-#10842=ADVANCED_FACE('',(#10841),#10829,.F.); +-#10843=CARTESIAN_POINT('',(2.254426323641E1,-6.642389448824E-2, +-4.577195232320E0)); +-#10844=DIRECTION('',(0.E0,1.E0,0.E0)); +-#10845=DIRECTION('',(8.942796313519E-1,0.E0,4.475085931567E-1)); +-#10846=AXIS2_PLACEMENT_3D('',#10843,#10844,#10845); +-#10847=CYLINDRICAL_SURFACE('',#10846,7.5E-1); +-#10849=ORIENTED_EDGE('',*,*,#10848,.F.); +-#10850=ORIENTED_EDGE('',*,*,#5920,.T.); +-#10852=ORIENTED_EDGE('',*,*,#10851,.T.); +-#10853=ORIENTED_EDGE('',*,*,#10830,.T.); +-#10854=EDGE_LOOP('',(#10849,#10850,#10852,#10853)); +-#10855=FACE_OUTER_BOUND('',#10854,.F.); +-#10856=ADVANCED_FACE('',(#10855),#10847,.F.); +-#10857=CARTESIAN_POINT('',(2.239E1,0.E0,4.5E0)); +-#10858=DIRECTION('',(0.E0,1.E0,0.E0)); +-#10859=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#10860=AXIS2_PLACEMENT_3D('',#10857,#10858,#10859); +-#10861=CYLINDRICAL_SURFACE('',#10860,9.225E-1); +-#10862=ORIENTED_EDGE('',*,*,#10848,.T.); +-#10863=ORIENTED_EDGE('',*,*,#10838,.F.); +-#10865=ORIENTED_EDGE('',*,*,#10864,.F.); +-#10866=ORIENTED_EDGE('',*,*,#5922,.T.); +-#10867=EDGE_LOOP('',(#10862,#10863,#10865,#10866)); +-#10868=FACE_OUTER_BOUND('',#10867,.F.); +-#10869=ADVANCED_FACE('',(#10868),#10861,.F.); +-#10870=CARTESIAN_POINT('',(1.65E1,0.E0,7.5E0)); +-#10871=DIRECTION('',(0.E0,1.E0,0.E0)); +-#10872=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#10873=AXIS2_PLACEMENT_3D('',#10870,#10871,#10872); +-#10874=CYLINDRICAL_SURFACE('',#10873,5.6875E0); +-#10875=ORIENTED_EDGE('',*,*,#5924,.F.); +-#10876=ORIENTED_EDGE('',*,*,#10864,.T.); +-#10877=ORIENTED_EDGE('',*,*,#10836,.F.); +-#10879=ORIENTED_EDGE('',*,*,#10878,.F.); +-#10880=EDGE_LOOP('',(#10875,#10876,#10877,#10879)); +-#10881=FACE_OUTER_BOUND('',#10880,.F.); +-#10882=ADVANCED_FACE('',(#10881),#10874,.T.); +-#10883=CARTESIAN_POINT('',(1.944696065761E1,0.E0,1.645354088550E0)); +-#10884=DIRECTION('',(0.E0,1.E0,0.E0)); +-#10885=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#10886=AXIS2_PLACEMENT_3D('',#10883,#10884,#10885); +-#10887=CYLINDRICAL_SURFACE('',#10886,8.669989027347E-1); +-#10888=ORIENTED_EDGE('',*,*,#5926,.T.); +-#10889=ORIENTED_EDGE('',*,*,#10878,.T.); +-#10890=ORIENTED_EDGE('',*,*,#10834,.F.); +-#10892=ORIENTED_EDGE('',*,*,#10891,.F.); +-#10893=EDGE_LOOP('',(#10888,#10889,#10890,#10892)); +-#10894=FACE_OUTER_BOUND('',#10893,.F.); +-#10895=ADVANCED_FACE('',(#10894),#10887,.F.); +-#10896=CARTESIAN_POINT('',(2.33125E1,0.E0,4.284771824132E0)); +-#10897=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1)); +-#10898=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1)); +-#10899=AXIS2_PLACEMENT_3D('',#10896,#10897,#10898); +-#10900=PLANE('',#10899); +-#10901=ORIENTED_EDGE('',*,*,#10851,.F.); +-#10902=ORIENTED_EDGE('',*,*,#5918,.T.); +-#10903=ORIENTED_EDGE('',*,*,#10891,.T.); +-#10904=ORIENTED_EDGE('',*,*,#10832,.F.); +-#10905=EDGE_LOOP('',(#10901,#10902,#10903,#10904)); +-#10906=FACE_OUTER_BOUND('',#10905,.F.); +-#10907=ADVANCED_FACE('',(#10906),#10900,.T.); +-#10908=CARTESIAN_POINT('',(2.33125E1,0.E0,1.65E1)); +-#10909=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#10910=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#10911=AXIS2_PLACEMENT_3D('',#10908,#10909,#10910); +-#10912=PLANE('',#10911); +-#10913=ORIENTED_EDGE('',*,*,#5838,.T.); +-#10915=ORIENTED_EDGE('',*,*,#10914,.T.); +-#10917=ORIENTED_EDGE('',*,*,#10916,.F.); +-#10919=ORIENTED_EDGE('',*,*,#10918,.F.); +-#10920=EDGE_LOOP('',(#10913,#10915,#10917,#10919)); +-#10921=FACE_OUTER_BOUND('',#10920,.F.); +-#10922=ADVANCED_FACE('',(#10921),#10912,.T.); +-#10923=CARTESIAN_POINT('',(2.275E1,0.E0,1.35E1)); +-#10924=DIRECTION('',(0.E0,1.E0,0.E0)); +-#10925=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#10926=AXIS2_PLACEMENT_3D('',#10923,#10924,#10925); +-#10927=CYLINDRICAL_SURFACE('',#10926,5.625E-1); +-#10928=ORIENTED_EDGE('',*,*,#5844,.T.); +-#10930=ORIENTED_EDGE('',*,*,#10929,.T.); +-#10932=ORIENTED_EDGE('',*,*,#10931,.F.); +-#10933=ORIENTED_EDGE('',*,*,#10914,.F.); +-#10934=EDGE_LOOP('',(#10928,#10930,#10932,#10933)); +-#10935=FACE_OUTER_BOUND('',#10934,.F.); +-#10936=ADVANCED_FACE('',(#10935),#10927,.F.); +-#10937=CARTESIAN_POINT('',(2.21875E1,0.E0,1.35E1)); +-#10938=DIRECTION('',(1.E0,0.E0,0.E0)); +-#10939=DIRECTION('',(0.E0,0.E0,1.E0)); +-#10940=AXIS2_PLACEMENT_3D('',#10937,#10938,#10939); +-#10941=PLANE('',#10940); +-#10942=ORIENTED_EDGE('',*,*,#5842,.T.); +-#10944=ORIENTED_EDGE('',*,*,#10943,.T.); +-#10946=ORIENTED_EDGE('',*,*,#10945,.F.); +-#10947=ORIENTED_EDGE('',*,*,#10929,.F.); +-#10948=EDGE_LOOP('',(#10942,#10944,#10946,#10947)); +-#10949=FACE_OUTER_BOUND('',#10948,.F.); +-#10950=ADVANCED_FACE('',(#10949),#10941,.T.); +-#10951=CARTESIAN_POINT('',(2.275E1,0.E0,1.65E1)); +-#10952=DIRECTION('',(0.E0,1.E0,0.E0)); +-#10953=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#10954=AXIS2_PLACEMENT_3D('',#10951,#10952,#10953); +-#10955=CYLINDRICAL_SURFACE('',#10954,5.625E-1); +-#10956=ORIENTED_EDGE('',*,*,#5840,.T.); +-#10957=ORIENTED_EDGE('',*,*,#10918,.T.); +-#10959=ORIENTED_EDGE('',*,*,#10958,.F.); +-#10960=ORIENTED_EDGE('',*,*,#10943,.F.); +-#10961=EDGE_LOOP('',(#10956,#10957,#10959,#10960)); +-#10962=FACE_OUTER_BOUND('',#10961,.F.); +-#10963=ADVANCED_FACE('',(#10962),#10955,.F.); +-#10964=CARTESIAN_POINT('',(2.4E1,6.875E-1,0.E0)); +-#10965=DIRECTION('',(0.E0,1.E0,0.E0)); +-#10966=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#10967=AXIS2_PLACEMENT_3D('',#10964,#10965,#10966); +-#10968=PLANE('',#10967); +-#10969=ORIENTED_EDGE('',*,*,#10916,.T.); +-#10970=ORIENTED_EDGE('',*,*,#10931,.T.); +-#10971=ORIENTED_EDGE('',*,*,#10945,.T.); +-#10972=ORIENTED_EDGE('',*,*,#10958,.T.); +-#10973=EDGE_LOOP('',(#10969,#10970,#10971,#10972)); +-#10974=FACE_OUTER_BOUND('',#10973,.F.); +-#10975=ADVANCED_FACE('',(#10974),#10968,.F.); +-#10976=CARTESIAN_POINT('',(2.33125E1,0.E0,2.25E1)); +-#10977=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#10978=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#10979=AXIS2_PLACEMENT_3D('',#10976,#10977,#10978); +-#10980=PLANE('',#10979); +-#10981=ORIENTED_EDGE('',*,*,#5848,.T.); +-#10983=ORIENTED_EDGE('',*,*,#10982,.T.); +-#10985=ORIENTED_EDGE('',*,*,#10984,.F.); +-#10987=ORIENTED_EDGE('',*,*,#10986,.F.); +-#10988=EDGE_LOOP('',(#10981,#10983,#10985,#10987)); +-#10989=FACE_OUTER_BOUND('',#10988,.F.); +-#10990=ADVANCED_FACE('',(#10989),#10980,.T.); +-#10991=CARTESIAN_POINT('',(2.275E1,0.E0,1.95E1)); +-#10992=DIRECTION('',(0.E0,1.E0,0.E0)); +-#10993=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#10994=AXIS2_PLACEMENT_3D('',#10991,#10992,#10993); +-#10995=CYLINDRICAL_SURFACE('',#10994,5.625E-1); +-#10996=ORIENTED_EDGE('',*,*,#5854,.T.); +-#10998=ORIENTED_EDGE('',*,*,#10997,.T.); +-#11000=ORIENTED_EDGE('',*,*,#10999,.F.); +-#11001=ORIENTED_EDGE('',*,*,#10982,.F.); +-#11002=EDGE_LOOP('',(#10996,#10998,#11000,#11001)); +-#11003=FACE_OUTER_BOUND('',#11002,.F.); +-#11004=ADVANCED_FACE('',(#11003),#10995,.F.); +-#11005=CARTESIAN_POINT('',(2.21875E1,0.E0,1.95E1)); +-#11006=DIRECTION('',(1.E0,0.E0,0.E0)); +-#11007=DIRECTION('',(0.E0,0.E0,1.E0)); +-#11008=AXIS2_PLACEMENT_3D('',#11005,#11006,#11007); +-#11009=PLANE('',#11008); +-#11010=ORIENTED_EDGE('',*,*,#5852,.T.); +-#11012=ORIENTED_EDGE('',*,*,#11011,.T.); +-#11014=ORIENTED_EDGE('',*,*,#11013,.F.); +-#11015=ORIENTED_EDGE('',*,*,#10997,.F.); +-#11016=EDGE_LOOP('',(#11010,#11012,#11014,#11015)); +-#11017=FACE_OUTER_BOUND('',#11016,.F.); +-#11018=ADVANCED_FACE('',(#11017),#11009,.T.); +-#11019=CARTESIAN_POINT('',(2.275E1,0.E0,2.25E1)); +-#11020=DIRECTION('',(0.E0,1.E0,0.E0)); +-#11021=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#11022=AXIS2_PLACEMENT_3D('',#11019,#11020,#11021); +-#11023=CYLINDRICAL_SURFACE('',#11022,5.625E-1); +-#11024=ORIENTED_EDGE('',*,*,#5850,.T.); +-#11025=ORIENTED_EDGE('',*,*,#10986,.T.); +-#11027=ORIENTED_EDGE('',*,*,#11026,.F.); +-#11028=ORIENTED_EDGE('',*,*,#11011,.F.); +-#11029=EDGE_LOOP('',(#11024,#11025,#11027,#11028)); +-#11030=FACE_OUTER_BOUND('',#11029,.F.); +-#11031=ADVANCED_FACE('',(#11030),#11023,.F.); +-#11032=CARTESIAN_POINT('',(2.4E1,6.875E-1,0.E0)); +-#11033=DIRECTION('',(0.E0,1.E0,0.E0)); +-#11034=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#11035=AXIS2_PLACEMENT_3D('',#11032,#11033,#11034); +-#11036=PLANE('',#11035); +-#11037=ORIENTED_EDGE('',*,*,#10984,.T.); +-#11038=ORIENTED_EDGE('',*,*,#10999,.T.); +-#11039=ORIENTED_EDGE('',*,*,#11013,.T.); +-#11040=ORIENTED_EDGE('',*,*,#11026,.T.); +-#11041=EDGE_LOOP('',(#11037,#11038,#11039,#11040)); +-#11042=FACE_OUTER_BOUND('',#11041,.F.); +-#11043=ADVANCED_FACE('',(#11042),#11036,.F.); +-#11044=CARTESIAN_POINT('',(1.65E1,0.E0,8.5E0)); +-#11045=DIRECTION('',(0.E0,0.E0,1.E0)); +-#11046=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#11047=AXIS2_PLACEMENT_3D('',#11044,#11045,#11046); +-#11048=PLANE('',#11047); +-#11049=ORIENTED_EDGE('',*,*,#5858,.T.); +-#11051=ORIENTED_EDGE('',*,*,#11050,.T.); +-#11053=ORIENTED_EDGE('',*,*,#11052,.F.); +-#11055=ORIENTED_EDGE('',*,*,#11054,.F.); +-#11056=EDGE_LOOP('',(#11049,#11051,#11053,#11055)); +-#11057=FACE_OUTER_BOUND('',#11056,.F.); +-#11058=ADVANCED_FACE('',(#11057),#11048,.T.); +-#11059=CARTESIAN_POINT('',(1.35E1,0.E0,9.E0)); +-#11060=DIRECTION('',(0.E0,1.E0,0.E0)); +-#11061=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#11062=AXIS2_PLACEMENT_3D('',#11059,#11060,#11061); +-#11063=CYLINDRICAL_SURFACE('',#11062,5.E-1); +-#11064=ORIENTED_EDGE('',*,*,#5864,.T.); +-#11066=ORIENTED_EDGE('',*,*,#11065,.T.); +-#11068=ORIENTED_EDGE('',*,*,#11067,.F.); +-#11069=ORIENTED_EDGE('',*,*,#11050,.F.); +-#11070=EDGE_LOOP('',(#11064,#11066,#11068,#11069)); +-#11071=FACE_OUTER_BOUND('',#11070,.F.); +-#11072=ADVANCED_FACE('',(#11071),#11063,.F.); +-#11073=CARTESIAN_POINT('',(1.35E1,0.E0,9.5E0)); +-#11074=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#11075=DIRECTION('',(1.E0,0.E0,0.E0)); +-#11076=AXIS2_PLACEMENT_3D('',#11073,#11074,#11075); +-#11077=PLANE('',#11076); +-#11078=ORIENTED_EDGE('',*,*,#5862,.T.); +-#11080=ORIENTED_EDGE('',*,*,#11079,.T.); +-#11082=ORIENTED_EDGE('',*,*,#11081,.F.); +-#11083=ORIENTED_EDGE('',*,*,#11065,.F.); +-#11084=EDGE_LOOP('',(#11078,#11080,#11082,#11083)); +-#11085=FACE_OUTER_BOUND('',#11084,.F.); +-#11086=ADVANCED_FACE('',(#11085),#11077,.T.); +-#11087=CARTESIAN_POINT('',(1.65E1,0.E0,9.E0)); +-#11088=DIRECTION('',(0.E0,1.E0,0.E0)); +-#11089=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#11090=AXIS2_PLACEMENT_3D('',#11087,#11088,#11089); +-#11091=CYLINDRICAL_SURFACE('',#11090,5.E-1); +-#11092=ORIENTED_EDGE('',*,*,#5860,.T.); +-#11093=ORIENTED_EDGE('',*,*,#11054,.T.); +-#11095=ORIENTED_EDGE('',*,*,#11094,.F.); +-#11096=ORIENTED_EDGE('',*,*,#11079,.F.); +-#11097=EDGE_LOOP('',(#11092,#11093,#11095,#11096)); +-#11098=FACE_OUTER_BOUND('',#11097,.F.); +-#11099=ADVANCED_FACE('',(#11098),#11091,.F.); +-#11100=CARTESIAN_POINT('',(2.4E1,6.875E-1,0.E0)); +-#11101=DIRECTION('',(0.E0,1.E0,0.E0)); +-#11102=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#11103=AXIS2_PLACEMENT_3D('',#11100,#11101,#11102); +-#11104=PLANE('',#11103); +-#11105=ORIENTED_EDGE('',*,*,#11052,.T.); +-#11106=ORIENTED_EDGE('',*,*,#11067,.T.); +-#11107=ORIENTED_EDGE('',*,*,#11081,.T.); +-#11108=ORIENTED_EDGE('',*,*,#11094,.T.); +-#11109=EDGE_LOOP('',(#11105,#11106,#11107,#11108)); +-#11110=FACE_OUTER_BOUND('',#11109,.F.); +-#11111=ADVANCED_FACE('',(#11110),#11104,.F.); +-#11112=CARTESIAN_POINT('',(1.65E1,0.E0,1.75625E1)); +-#11113=DIRECTION('',(0.E0,0.E0,1.E0)); +-#11114=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#11115=AXIS2_PLACEMENT_3D('',#11112,#11113,#11114); +-#11116=PLANE('',#11115); +-#11117=ORIENTED_EDGE('',*,*,#5868,.T.); +-#11119=ORIENTED_EDGE('',*,*,#11118,.T.); +-#11121=ORIENTED_EDGE('',*,*,#11120,.F.); +-#11123=ORIENTED_EDGE('',*,*,#11122,.F.); +-#11124=EDGE_LOOP('',(#11117,#11119,#11121,#11123)); +-#11125=FACE_OUTER_BOUND('',#11124,.F.); +-#11126=ADVANCED_FACE('',(#11125),#11116,.T.); +-#11127=CARTESIAN_POINT('',(1.35E1,0.E0,1.8E1)); +-#11128=DIRECTION('',(0.E0,1.E0,0.E0)); +-#11129=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#11130=AXIS2_PLACEMENT_3D('',#11127,#11128,#11129); +-#11131=CYLINDRICAL_SURFACE('',#11130,4.375E-1); +-#11132=ORIENTED_EDGE('',*,*,#5874,.T.); +-#11134=ORIENTED_EDGE('',*,*,#11133,.T.); +-#11136=ORIENTED_EDGE('',*,*,#11135,.F.); +-#11137=ORIENTED_EDGE('',*,*,#11118,.F.); +-#11138=EDGE_LOOP('',(#11132,#11134,#11136,#11137)); +-#11139=FACE_OUTER_BOUND('',#11138,.F.); +-#11140=ADVANCED_FACE('',(#11139),#11131,.F.); +-#11141=CARTESIAN_POINT('',(1.35E1,0.E0,1.84375E1)); +-#11142=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#11143=DIRECTION('',(1.E0,0.E0,0.E0)); +-#11144=AXIS2_PLACEMENT_3D('',#11141,#11142,#11143); +-#11145=PLANE('',#11144); +-#11146=ORIENTED_EDGE('',*,*,#5872,.T.); +-#11148=ORIENTED_EDGE('',*,*,#11147,.T.); +-#11150=ORIENTED_EDGE('',*,*,#11149,.F.); +-#11151=ORIENTED_EDGE('',*,*,#11133,.F.); +-#11152=EDGE_LOOP('',(#11146,#11148,#11150,#11151)); +-#11153=FACE_OUTER_BOUND('',#11152,.F.); +-#11154=ADVANCED_FACE('',(#11153),#11145,.T.); +-#11155=CARTESIAN_POINT('',(1.65E1,0.E0,1.8E1)); +-#11156=DIRECTION('',(0.E0,1.E0,0.E0)); +-#11157=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#11158=AXIS2_PLACEMENT_3D('',#11155,#11156,#11157); +-#11159=CYLINDRICAL_SURFACE('',#11158,4.375E-1); +-#11160=ORIENTED_EDGE('',*,*,#5870,.T.); +-#11161=ORIENTED_EDGE('',*,*,#11122,.T.); +-#11163=ORIENTED_EDGE('',*,*,#11162,.F.); +-#11164=ORIENTED_EDGE('',*,*,#11147,.F.); +-#11165=EDGE_LOOP('',(#11160,#11161,#11163,#11164)); +-#11166=FACE_OUTER_BOUND('',#11165,.F.); +-#11167=ADVANCED_FACE('',(#11166),#11159,.F.); +-#11168=CARTESIAN_POINT('',(2.4E1,6.875E-1,0.E0)); +-#11169=DIRECTION('',(0.E0,1.E0,0.E0)); +-#11170=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#11171=AXIS2_PLACEMENT_3D('',#11168,#11169,#11170); +-#11172=PLANE('',#11171); +-#11173=ORIENTED_EDGE('',*,*,#11120,.T.); +-#11174=ORIENTED_EDGE('',*,*,#11135,.T.); +-#11175=ORIENTED_EDGE('',*,*,#11149,.T.); +-#11176=ORIENTED_EDGE('',*,*,#11162,.T.); +-#11177=EDGE_LOOP('',(#11173,#11174,#11175,#11176)); +-#11178=FACE_OUTER_BOUND('',#11177,.F.); +-#11179=ADVANCED_FACE('',(#11178),#11172,.F.); +-#11180=CARTESIAN_POINT('',(1.65E1,0.E0,3.13125E1)); +-#11181=DIRECTION('',(0.E0,0.E0,1.E0)); +-#11182=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#11183=AXIS2_PLACEMENT_3D('',#11180,#11181,#11182); +-#11184=PLANE('',#11183); +-#11185=ORIENTED_EDGE('',*,*,#5878,.F.); +-#11187=ORIENTED_EDGE('',*,*,#11186,.T.); +-#11189=ORIENTED_EDGE('',*,*,#11188,.T.); +-#11191=ORIENTED_EDGE('',*,*,#11190,.F.); +-#11192=EDGE_LOOP('',(#11185,#11187,#11189,#11191)); +-#11193=FACE_OUTER_BOUND('',#11192,.F.); +-#11194=ADVANCED_FACE('',(#11193),#11184,.F.); +-#11195=CARTESIAN_POINT('',(1.65E1,0.E0,3.075E1)); +-#11196=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#11197=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#11198=AXIS2_PLACEMENT_3D('',#11195,#11196,#11197); +-#11199=CYLINDRICAL_SURFACE('',#11198,5.625E-1); +-#11200=ORIENTED_EDGE('',*,*,#5884,.F.); +-#11202=ORIENTED_EDGE('',*,*,#11201,.T.); +-#11204=ORIENTED_EDGE('',*,*,#11203,.T.); +-#11205=ORIENTED_EDGE('',*,*,#11186,.F.); +-#11206=EDGE_LOOP('',(#11200,#11202,#11204,#11205)); +-#11207=FACE_OUTER_BOUND('',#11206,.F.); +-#11208=ADVANCED_FACE('',(#11207),#11199,.F.); +-#11209=CARTESIAN_POINT('',(1.35E1,0.E0,3.01875E1)); +-#11210=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#11211=DIRECTION('',(1.E0,0.E0,0.E0)); +-#11212=AXIS2_PLACEMENT_3D('',#11209,#11210,#11211); +-#11213=PLANE('',#11212); +-#11214=ORIENTED_EDGE('',*,*,#5882,.F.); +-#11216=ORIENTED_EDGE('',*,*,#11215,.T.); +-#11218=ORIENTED_EDGE('',*,*,#11217,.T.); +-#11219=ORIENTED_EDGE('',*,*,#11201,.F.); +-#11220=EDGE_LOOP('',(#11214,#11216,#11218,#11219)); +-#11221=FACE_OUTER_BOUND('',#11220,.F.); +-#11222=ADVANCED_FACE('',(#11221),#11213,.F.); +-#11223=CARTESIAN_POINT('',(1.35E1,0.E0,3.075E1)); +-#11224=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#11225=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#11226=AXIS2_PLACEMENT_3D('',#11223,#11224,#11225); +-#11227=CYLINDRICAL_SURFACE('',#11226,5.625E-1); +-#11228=ORIENTED_EDGE('',*,*,#5880,.F.); +-#11229=ORIENTED_EDGE('',*,*,#11190,.T.); +-#11231=ORIENTED_EDGE('',*,*,#11230,.T.); +-#11232=ORIENTED_EDGE('',*,*,#11215,.F.); +-#11233=EDGE_LOOP('',(#11228,#11229,#11231,#11232)); +-#11234=FACE_OUTER_BOUND('',#11233,.F.); +-#11235=ADVANCED_FACE('',(#11234),#11227,.F.); +-#11236=CARTESIAN_POINT('',(2.4E1,6.875E-1,3.2E1)); +-#11237=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#11238=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#11239=AXIS2_PLACEMENT_3D('',#11236,#11237,#11238); +-#11240=PLANE('',#11239); +-#11241=ORIENTED_EDGE('',*,*,#11188,.F.); +-#11242=ORIENTED_EDGE('',*,*,#11203,.F.); +-#11243=ORIENTED_EDGE('',*,*,#11217,.F.); +-#11244=ORIENTED_EDGE('',*,*,#11230,.F.); +-#11245=EDGE_LOOP('',(#11241,#11242,#11243,#11244)); +-#11246=FACE_OUTER_BOUND('',#11245,.F.); +-#11247=ADVANCED_FACE('',(#11246),#11240,.T.); +-#11248=CARTESIAN_POINT('',(2.4E1,6.875E-1,3.2E1)); +-#11249=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#11250=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#11251=AXIS2_PLACEMENT_3D('',#11248,#11249,#11250); +-#11252=PLANE('',#11251); +-#11254=ORIENTED_EDGE('',*,*,#11253,.F.); +-#11256=ORIENTED_EDGE('',*,*,#11255,.F.); +-#11258=ORIENTED_EDGE('',*,*,#11257,.F.); +-#11260=ORIENTED_EDGE('',*,*,#11259,.F.); +-#11262=ORIENTED_EDGE('',*,*,#11261,.F.); +-#11263=EDGE_LOOP('',(#11254,#11256,#11258,#11260,#11262)); +-#11264=FACE_OUTER_BOUND('',#11263,.F.); +-#11265=ADVANCED_FACE('',(#11264),#11252,.T.); +-#11266=CARTESIAN_POINT('',(2.254426323641E1,-6.892397422826E-2, +-2.742280476768E1)); +-#11267=DIRECTION('',(0.E0,1.E0,0.E0)); +-#11268=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1)); +-#11269=AXIS2_PLACEMENT_3D('',#11266,#11267,#11268); +-#11270=CYLINDRICAL_SURFACE('',#11269,7.5E-1); +-#11272=ORIENTED_EDGE('',*,*,#11271,.F.); +-#11273=ORIENTED_EDGE('',*,*,#5944,.T.); +-#11275=ORIENTED_EDGE('',*,*,#11274,.T.); +-#11276=ORIENTED_EDGE('',*,*,#11253,.T.); +-#11277=EDGE_LOOP('',(#11272,#11273,#11275,#11276)); +-#11278=FACE_OUTER_BOUND('',#11277,.F.); +-#11279=ADVANCED_FACE('',(#11278),#11270,.F.); +-#11280=CARTESIAN_POINT('',(2.33125E1,0.E0,2.771522817587E1)); +-#11281=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1)); +-#11282=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1)); +-#11283=AXIS2_PLACEMENT_3D('',#11280,#11281,#11282); +-#11284=PLANE('',#11283); +-#11285=ORIENTED_EDGE('',*,*,#11271,.T.); +-#11286=ORIENTED_EDGE('',*,*,#11261,.T.); +-#11288=ORIENTED_EDGE('',*,*,#11287,.F.); +-#11289=ORIENTED_EDGE('',*,*,#5946,.F.); +-#11290=EDGE_LOOP('',(#11285,#11286,#11288,#11289)); +-#11291=FACE_OUTER_BOUND('',#11290,.F.); +-#11292=ADVANCED_FACE('',(#11291),#11284,.F.); +-#11293=CARTESIAN_POINT('',(1.944696065761E1,0.E0,3.035464591145E1)); +-#11294=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#11295=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#11296=AXIS2_PLACEMENT_3D('',#11293,#11294,#11295); +-#11297=CYLINDRICAL_SURFACE('',#11296,8.669989027347E-1); +-#11298=ORIENTED_EDGE('',*,*,#5948,.F.); +-#11299=ORIENTED_EDGE('',*,*,#11287,.T.); +-#11300=ORIENTED_EDGE('',*,*,#11259,.T.); +-#11302=ORIENTED_EDGE('',*,*,#11301,.F.); +-#11303=EDGE_LOOP('',(#11298,#11299,#11300,#11302)); +-#11304=FACE_OUTER_BOUND('',#11303,.F.); +-#11305=ADVANCED_FACE('',(#11304),#11297,.F.); +-#11306=CARTESIAN_POINT('',(1.65E1,0.E0,2.45E1)); +-#11307=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#11308=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#11309=AXIS2_PLACEMENT_3D('',#11306,#11307,#11308); +-#11310=CYLINDRICAL_SURFACE('',#11309,5.6875E0); +-#11311=ORIENTED_EDGE('',*,*,#5950,.T.); +-#11312=ORIENTED_EDGE('',*,*,#11301,.T.); +-#11313=ORIENTED_EDGE('',*,*,#11257,.T.); +-#11315=ORIENTED_EDGE('',*,*,#11314,.F.); +-#11316=EDGE_LOOP('',(#11311,#11312,#11313,#11315)); +-#11317=FACE_OUTER_BOUND('',#11316,.F.); +-#11318=ADVANCED_FACE('',(#11317),#11310,.T.); +-#11319=CARTESIAN_POINT('',(2.239E1,0.E0,2.75E1)); +-#11320=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#11321=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#11322=AXIS2_PLACEMENT_3D('',#11319,#11320,#11321); +-#11323=CYLINDRICAL_SURFACE('',#11322,9.225E-1); +-#11324=ORIENTED_EDGE('',*,*,#11274,.F.); +-#11325=ORIENTED_EDGE('',*,*,#5942,.F.); +-#11326=ORIENTED_EDGE('',*,*,#11314,.T.); +-#11327=ORIENTED_EDGE('',*,*,#11255,.T.); +-#11328=EDGE_LOOP('',(#11324,#11325,#11326,#11327)); +-#11329=FACE_OUTER_BOUND('',#11328,.F.); +-#11330=ADVANCED_FACE('',(#11329),#11323,.F.); +-#11331=CARTESIAN_POINT('',(2.13075E1,-6.892397422826E-2,7.81E0)); +-#11332=DIRECTION('',(0.E0,1.E0,0.E0)); +-#11333=DIRECTION('',(0.E0,0.E0,1.E0)); +-#11334=AXIS2_PLACEMENT_3D('',#11331,#11332,#11333); +-#11335=CYLINDRICAL_SURFACE('',#11334,8.8E-1); +-#11337=ORIENTED_EDGE('',*,*,#11336,.T.); +-#11339=ORIENTED_EDGE('',*,*,#11338,.T.); +-#11341=ORIENTED_EDGE('',*,*,#11340,.F.); +-#11342=ORIENTED_EDGE('',*,*,#5888,.T.); +-#11343=EDGE_LOOP('',(#11337,#11339,#11341,#11342)); +-#11344=FACE_OUTER_BOUND('',#11343,.F.); +-#11345=ADVANCED_FACE('',(#11344),#11335,.T.); +-#11346=CARTESIAN_POINT('',(2.21875E1,0.E0,8.69E0)); +-#11347=DIRECTION('',(0.E0,0.E0,1.E0)); +-#11348=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#11349=AXIS2_PLACEMENT_3D('',#11346,#11347,#11348); +-#11350=PLANE('',#11349); +-#11351=ORIENTED_EDGE('',*,*,#11336,.F.); +-#11352=ORIENTED_EDGE('',*,*,#5914,.T.); +-#11354=ORIENTED_EDGE('',*,*,#11353,.F.); +-#11356=ORIENTED_EDGE('',*,*,#11355,.F.); +-#11357=EDGE_LOOP('',(#11351,#11352,#11354,#11356)); +-#11358=FACE_OUTER_BOUND('',#11357,.F.); +-#11359=ADVANCED_FACE('',(#11358),#11350,.T.); +-#11360=CARTESIAN_POINT('',(2.05675E1,7.463919417831E-1,9.57E0)); +-#11361=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#11362=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#11363=AXIS2_PLACEMENT_3D('',#11360,#11361,#11362); +-#11364=CYLINDRICAL_SURFACE('',#11363,8.8E-1); +-#11366=ORIENTED_EDGE('',*,*,#11365,.F.); +-#11368=ORIENTED_EDGE('',*,*,#11367,.T.); +-#11369=ORIENTED_EDGE('',*,*,#11353,.T.); +-#11370=ORIENTED_EDGE('',*,*,#5912,.T.); +-#11371=EDGE_LOOP('',(#11366,#11368,#11369,#11370)); +-#11372=FACE_OUTER_BOUND('',#11371,.F.); +-#11373=ADVANCED_FACE('',(#11372),#11364,.F.); +-#11374=CARTESIAN_POINT('',(1.96875E1,0.E0,8.69E0)); +-#11375=DIRECTION('',(1.E0,0.E0,0.E0)); +-#11376=DIRECTION('',(0.E0,0.E0,1.E0)); +-#11377=AXIS2_PLACEMENT_3D('',#11374,#11375,#11376); +-#11378=PLANE('',#11377); +-#11379=ORIENTED_EDGE('',*,*,#11365,.T.); +-#11380=ORIENTED_EDGE('',*,*,#5910,.T.); +-#11382=ORIENTED_EDGE('',*,*,#11381,.F.); +-#11384=ORIENTED_EDGE('',*,*,#11383,.F.); +-#11385=EDGE_LOOP('',(#11379,#11380,#11382,#11384)); +-#11386=FACE_OUTER_BOUND('',#11385,.F.); +-#11387=ADVANCED_FACE('',(#11386),#11378,.T.); +-#11388=CARTESIAN_POINT('',(2.05675E1,7.463919417831E-1,1.037E1)); +-#11389=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#11390=DIRECTION('',(0.E0,0.E0,1.E0)); +-#11391=AXIS2_PLACEMENT_3D('',#11388,#11389,#11390); +-#11392=CYLINDRICAL_SURFACE('',#11391,8.8E-1); +-#11394=ORIENTED_EDGE('',*,*,#11393,.F.); +-#11396=ORIENTED_EDGE('',*,*,#11395,.T.); +-#11397=ORIENTED_EDGE('',*,*,#11381,.T.); +-#11398=ORIENTED_EDGE('',*,*,#5908,.T.); +-#11399=EDGE_LOOP('',(#11394,#11396,#11397,#11398)); +-#11400=FACE_OUTER_BOUND('',#11399,.F.); +-#11401=ADVANCED_FACE('',(#11400),#11392,.F.); +-#11402=CARTESIAN_POINT('',(1.96875E1,0.E0,1.125E1)); +-#11403=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#11404=DIRECTION('',(1.E0,0.E0,0.E0)); +-#11405=AXIS2_PLACEMENT_3D('',#11402,#11403,#11404); +-#11406=PLANE('',#11405); +-#11407=ORIENTED_EDGE('',*,*,#11393,.T.); +-#11408=ORIENTED_EDGE('',*,*,#5906,.T.); +-#11410=ORIENTED_EDGE('',*,*,#11409,.F.); +-#11412=ORIENTED_EDGE('',*,*,#11411,.F.); +-#11413=EDGE_LOOP('',(#11407,#11408,#11410,#11412)); +-#11414=FACE_OUTER_BOUND('',#11413,.F.); +-#11415=ADVANCED_FACE('',(#11414),#11406,.T.); +-#11416=CARTESIAN_POINT('',(2.44325E1,7.463919417831E-1,1.037E1)); +-#11417=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#11418=DIRECTION('',(1.E0,0.E0,0.E0)); +-#11419=AXIS2_PLACEMENT_3D('',#11416,#11417,#11418); +-#11420=CYLINDRICAL_SURFACE('',#11419,8.8E-1); +-#11422=ORIENTED_EDGE('',*,*,#11421,.F.); +-#11424=ORIENTED_EDGE('',*,*,#11423,.T.); +-#11425=ORIENTED_EDGE('',*,*,#11409,.T.); +-#11426=ORIENTED_EDGE('',*,*,#5904,.T.); +-#11427=EDGE_LOOP('',(#11422,#11424,#11425,#11426)); +-#11428=FACE_OUTER_BOUND('',#11427,.F.); +-#11429=ADVANCED_FACE('',(#11428),#11420,.F.); +-#11430=CARTESIAN_POINT('',(2.53125E1,0.E0,1.125E1)); +-#11431=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#11432=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#11433=AXIS2_PLACEMENT_3D('',#11430,#11431,#11432); +-#11434=PLANE('',#11433); +-#11436=ORIENTED_EDGE('',*,*,#11435,.F.); +-#11438=ORIENTED_EDGE('',*,*,#11437,.F.); +-#11439=ORIENTED_EDGE('',*,*,#11421,.T.); +-#11440=ORIENTED_EDGE('',*,*,#5902,.T.); +-#11441=EDGE_LOOP('',(#11436,#11438,#11439,#11440)); +-#11442=FACE_OUTER_BOUND('',#11441,.F.); +-#11443=ADVANCED_FACE('',(#11442),#11434,.T.); +-#11444=CARTESIAN_POINT('',(2.44325E1,7.463919417831E-1,9.57E0)); +-#11445=DIRECTION('',(0.E0,-1.E0,0.E0)); +-#11446=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#11447=AXIS2_PLACEMENT_3D('',#11444,#11445,#11446); +-#11448=CYLINDRICAL_SURFACE('',#11447,8.8E-1); +-#11450=ORIENTED_EDGE('',*,*,#11449,.F.); +-#11452=ORIENTED_EDGE('',*,*,#11451,.T.); +-#11453=ORIENTED_EDGE('',*,*,#11435,.T.); +-#11454=ORIENTED_EDGE('',*,*,#5900,.T.); +-#11455=EDGE_LOOP('',(#11450,#11452,#11453,#11454)); +-#11456=FACE_OUTER_BOUND('',#11455,.F.); +-#11457=ADVANCED_FACE('',(#11456),#11448,.F.); +-#11458=CARTESIAN_POINT('',(2.53125E1,0.E0,8.69E0)); +-#11459=DIRECTION('',(0.E0,0.E0,1.E0)); +-#11460=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#11461=AXIS2_PLACEMENT_3D('',#11458,#11459,#11460); +-#11462=PLANE('',#11461); +-#11464=ORIENTED_EDGE('',*,*,#11463,.T.); +-#11466=ORIENTED_EDGE('',*,*,#11465,.F.); +-#11467=ORIENTED_EDGE('',*,*,#11449,.T.); +-#11468=ORIENTED_EDGE('',*,*,#5898,.T.); +-#11469=EDGE_LOOP('',(#11464,#11466,#11467,#11468)); +-#11470=FACE_OUTER_BOUND('',#11469,.F.); +-#11471=ADVANCED_FACE('',(#11470),#11462,.T.); +-#11472=CARTESIAN_POINT('',(2.419E1,-6.892397422826E-2,7.81E0)); +-#11473=DIRECTION('',(0.E0,1.E0,0.E0)); +-#11474=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#11475=AXIS2_PLACEMENT_3D('',#11472,#11473,#11474); +-#11476=CYLINDRICAL_SURFACE('',#11475,8.8E-1); +-#11478=ORIENTED_EDGE('',*,*,#11477,.T.); +-#11480=ORIENTED_EDGE('',*,*,#11479,.T.); +-#11481=ORIENTED_EDGE('',*,*,#11463,.F.); +-#11482=ORIENTED_EDGE('',*,*,#5896,.T.); +-#11483=EDGE_LOOP('',(#11478,#11480,#11481,#11482)); +-#11484=FACE_OUTER_BOUND('',#11483,.F.); +-#11485=ADVANCED_FACE('',(#11484),#11476,.T.); +-#11486=CARTESIAN_POINT('',(2.331E1,0.E0,8.69E0)); +-#11487=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#11488=DIRECTION('',(0.E0,0.E0,-1.E0)); +-#11489=AXIS2_PLACEMENT_3D('',#11486,#11487,#11488); +-#11490=PLANE('',#11489); +-#11491=ORIENTED_EDGE('',*,*,#11477,.F.); +-#11492=ORIENTED_EDGE('',*,*,#5894,.T.); +-#11494=ORIENTED_EDGE('',*,*,#11493,.T.); +-#11496=ORIENTED_EDGE('',*,*,#11495,.F.); +-#11497=EDGE_LOOP('',(#11491,#11492,#11494,#11496)); +-#11498=FACE_OUTER_BOUND('',#11497,.F.); +-#11499=ADVANCED_FACE('',(#11498),#11490,.T.); +-#11500=CARTESIAN_POINT('',(2.274875E1,0.E0,7.5E0)); +-#11501=DIRECTION('',(0.E0,1.E0,0.E0)); +-#11502=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#11503=AXIS2_PLACEMENT_3D('',#11500,#11501,#11502); +-#11504=CYLINDRICAL_SURFACE('',#11503,5.6125E-1); +-#11505=ORIENTED_EDGE('',*,*,#5892,.T.); +-#11507=ORIENTED_EDGE('',*,*,#11506,.T.); +-#11509=ORIENTED_EDGE('',*,*,#11508,.F.); +-#11510=ORIENTED_EDGE('',*,*,#11493,.F.); +-#11511=EDGE_LOOP('',(#11505,#11507,#11509,#11510)); +-#11512=FACE_OUTER_BOUND('',#11511,.F.); +-#11513=ADVANCED_FACE('',(#11512),#11504,.F.); +-#11514=CARTESIAN_POINT('',(2.21875E1,0.E0,7.5E0)); +-#11515=DIRECTION('',(1.E0,0.E0,0.E0)); +-#11516=DIRECTION('',(0.E0,0.E0,1.E0)); +-#11517=AXIS2_PLACEMENT_3D('',#11514,#11515,#11516); +-#11518=PLANE('',#11517); +-#11519=ORIENTED_EDGE('',*,*,#11340,.T.); +-#11521=ORIENTED_EDGE('',*,*,#11520,.F.); +-#11522=ORIENTED_EDGE('',*,*,#11506,.F.); +-#11523=ORIENTED_EDGE('',*,*,#5890,.T.); +-#11524=EDGE_LOOP('',(#11519,#11521,#11522,#11523)); +-#11525=FACE_OUTER_BOUND('',#11524,.F.); +-#11526=ADVANCED_FACE('',(#11525),#11518,.T.); +-#11527=CARTESIAN_POINT('',(2.4E1,6.875E-1,0.E0)); +-#11528=DIRECTION('',(0.E0,1.E0,0.E0)); +-#11529=DIRECTION('',(-1.E0,0.E0,0.E0)); +-#11530=AXIS2_PLACEMENT_3D('',#11527,#11528,#11529); +-#11531=PLANE('',#11530); +-#11532=ORIENTED_EDGE('',*,*,#11465,.T.); +-#11533=ORIENTED_EDGE('',*,*,#11479,.F.); +-#11534=ORIENTED_EDGE('',*,*,#11495,.T.); +-#11535=ORIENTED_EDGE('',*,*,#11508,.T.); +-#11536=ORIENTED_EDGE('',*,*,#11520,.T.); +-#11537=ORIENTED_EDGE('',*,*,#11338,.F.); +-#11538=ORIENTED_EDGE('',*,*,#11355,.T.); +-#11539=ORIENTED_EDGE('',*,*,#11367,.F.); +-#11540=ORIENTED_EDGE('',*,*,#11383,.T.); +-#11541=ORIENTED_EDGE('',*,*,#11395,.F.); +-#11542=ORIENTED_EDGE('',*,*,#11411,.T.); +-#11543=ORIENTED_EDGE('',*,*,#11423,.F.); +-#11544=ORIENTED_EDGE('',*,*,#11437,.T.); +-#11545=ORIENTED_EDGE('',*,*,#11451,.F.); +-#11546=EDGE_LOOP('',(#11532,#11533,#11534,#11535,#11536,#11537,#11538,#11539, +-#11540,#11541,#11542,#11543,#11544,#11545)); +-#11547=FACE_OUTER_BOUND('',#11546,.F.); +-#11548=ADVANCED_FACE('',(#11547),#11531,.F.); +-#11549=CLOSED_SHELL('',(#5954,#6079,#6094,#6107,#6117,#6132,#6145,#6201,#6214, +-#6278,#6488,#6503,#6516,#6529,#6540,#6555,#6568,#6581,#6592,#6605,#6618,#6631, +-#6644,#6656,#6669,#6683,#6696,#6709,#6723,#6736,#6749,#6763,#6776,#6789,#6802, +-#6815,#6828,#6842,#6855,#6868,#6880,#6893,#6906,#6918,#6931,#6945,#6958,#6971, +-#6984,#6998,#7011,#7024,#7036,#7048,#7061,#7074,#7086,#7099,#7114,#7127,#7152, +-#7166,#7178,#7191,#7204,#7217,#7230,#7244,#7256,#7311,#7325,#7337,#7349,#7368, +-#7379,#7394,#7407,#7423,#7437,#7449,#7465,#7477,#7490,#7514,#7529,#7542,#7552, +-#7567,#7580,#7590,#7605,#7619,#7649,#7662,#7675,#7688,#7701,#7714,#7727,#7740, +-#7753,#7766,#7778,#7790,#7805,#7818,#7828,#7843,#7856,#7866,#7881,#7894,#7907, +-#7918,#7933,#7946,#7959,#7970,#7985,#7998,#8014,#8028,#8040,#8055,#8068,#8084, +-#8098,#8110,#8125,#8138,#8154,#8168,#8180,#8195,#8208,#8224,#8238,#8250,#8265, +-#8278,#8294,#8308,#8320,#8335,#8348,#8364,#8378,#8390,#8405,#8418,#8434,#8448, +-#8460,#8475,#8488,#8504,#8518,#8530,#8545,#8558,#8574,#8588,#8600,#8615,#8628, +-#8644,#8658,#8670,#8685,#8698,#8714,#8728,#8740,#8755,#8768,#8784,#8798,#8810, +-#8825,#8838,#8854,#8868,#8880,#8895,#8908,#8924,#8938,#8950,#8965,#8978,#8994, +-#9008,#9020,#9035,#9048,#9064,#9078,#9090,#9105,#9118,#9134,#9148,#9160,#9175, +-#9188,#9204,#9218,#9230,#9242,#9260,#9275,#9288,#9304,#9318,#9330,#9345,#9359, +-#9373,#9387,#9401,#9415,#9429,#9443,#9457,#9471,#9485,#9498,#9518,#9533,#9546, +-#9556,#9571,#9584,#9594,#9609,#9622,#9632,#9647,#9660,#9670,#9685,#9698,#9708, +-#9723,#9737,#9751,#9765,#9779,#9793,#9807,#9820,#9836,#9851,#9865,#9887,#9901, +-#9913,#9926,#9939,#9952,#9964,#9979,#9993,#10007,#10020,#10032,#10050,#10064, +-#10077,#10090,#10103,#10115,#10130,#10144,#10178,#10192,#10205,#10218,#10230, +-#10243,#10256,#10269,#10282,#10295,#10308,#10321,#10333,#10348,#10362,#10376, +-#10389,#10401,#10416,#10430,#10444,#10457,#10469,#10484,#10498,#10512,#10525, +-#10537,#10552,#10566,#10580,#10593,#10605,#10620,#10634,#10648,#10661,#10673, +-#10691,#10705,#10718,#10731,#10744,#10756,#10771,#10785,#10799,#10812,#10824, +-#10842,#10856,#10869,#10882,#10895,#10907,#10922,#10936,#10950,#10963,#10975, +-#10990,#11004,#11018,#11031,#11043,#11058,#11072,#11086,#11099,#11111,#11126, +-#11140,#11154,#11167,#11179,#11194,#11208,#11222,#11235,#11247,#11265,#11279, +-#11292,#11305,#11318,#11330,#11345,#11359,#11373,#11387,#11401,#11415,#11429, +-#11443,#11457,#11471,#11485,#11499,#11513,#11526,#11548)); +-#11550=MANIFOLD_SOLID_BREP('',#11549); +-#11551=DIMENSIONAL_EXPONENTS(1.E0,0.E0,0.E0,0.E0,0.E0,0.E0,0.E0); +-#11552=(LENGTH_UNIT()NAMED_UNIT(*)SI_UNIT(.MILLI.,.METRE.)); +-#11553=LENGTH_MEASURE_WITH_UNIT(LENGTH_MEASURE(2.54E1),#11552); +-#11554=(CONVERSION_BASED_UNIT('INCH',#11553)LENGTH_UNIT()NAMED_UNIT(#11551)); +-#11555=DIMENSIONAL_EXPONENTS(0.E0,0.E0,0.E0,0.E0,0.E0,0.E0,0.E0); +-#11556=(NAMED_UNIT(*)PLANE_ANGLE_UNIT()SI_UNIT($,.RADIAN.)); +-#11557=PLANE_ANGLE_MEASURE_WITH_UNIT(PLANE_ANGLE_MEASURE(1.745329251994E-2), +-#11556); +-#11558=(CONVERSION_BASED_UNIT('DEGREE',#11557)NAMED_UNIT(#11555)PLANE_ANGLE_UNIT()); +-#11559=(NAMED_UNIT(*)SI_UNIT($,.STERADIAN.)SOLID_ANGLE_UNIT()); +-#11560=UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(4.404650704771E-3),#11554, +-'closure', +-'Maximum model space distance between geometric entities at asserted connectivities'); +-#11561=(GEOMETRIC_REPRESENTATION_CONTEXT(3)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT(( +-#11560))GLOBAL_UNIT_ASSIGNED_CONTEXT((#11554,#11558,#11559))REPRESENTATION_CONTEXT('ID1','3')); +-#11563=APPLICATION_CONTEXT( +-'CONFIGURATION CONTROLLED 3D DESIGNS OF MECHANICAL PARTS AND ASSEMBLIES'); +-#11564=APPLICATION_PROTOCOL_DEFINITION('international standard', +-'config_control_design',1994,#11563); +-#11565=DESIGN_CONTEXT('',#11563,'design'); +-#11566=MECHANICAL_CONTEXT('',#11563,'mechanical'); +-#11567=PRODUCT('PROESOURCE','PROESOURCE','NOT SPECIFIED',(#11566)); +-#11568=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('1','LAST_VERSION', +-#11567,.MADE.); +-#11572=PRODUCT_CATEGORY('part',''); +-#11573=PRODUCT_RELATED_PRODUCT_CATEGORY('detail','',(#11567)); +-#11574=PRODUCT_CATEGORY_RELATIONSHIP('','',#11572,#11573); +-#11575=SECURITY_CLASSIFICATION_LEVEL('unclassified'); +-#11576=SECURITY_CLASSIFICATION('','',#11575); +-#11577=CC_DESIGN_SECURITY_CLASSIFICATION(#11576,(#11568)); +-#11578=APPROVAL_STATUS('approved'); +-#11579=APPROVAL(#11578,''); +-#11580=CC_DESIGN_APPROVAL(#11579,(#11576,#11568,#11569)); +-#11581=CALENDAR_DATE(102,4,11); +-#11582=COORDINATED_UNIVERSAL_TIME_OFFSET(5,0,.BEHIND.); +-#11583=LOCAL_TIME(14,0,4.8E1,#11582); +-#11584=DATE_AND_TIME(#11581,#11583); +-#11585=APPROVAL_DATE_TIME(#11584,#11579); +-#11586=DATE_TIME_ROLE('creation_date'); +-#11587=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#11584,#11586,(#11569)); +-#11588=DATE_TIME_ROLE('classification_date'); +-#11589=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#11584,#11588,(#11576)); +-#11590=PERSON('UNSPECIFIED','UNSPECIFIED',$,$,$,$); +-#11591=ORGANIZATION('UNSPECIFIED','UNSPECIFIED','UNSPECIFIED'); +-#11592=PERSON_AND_ORGANIZATION(#11590,#11591); +-#11593=APPROVAL_ROLE('approver'); +-#11594=APPROVAL_PERSON_ORGANIZATION(#11592,#11579,#11593); +-#11595=PERSON_AND_ORGANIZATION_ROLE('creator'); +-#11596=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#11592,#11595,(#11568, +-#11569)); +-#11597=PERSON_AND_ORGANIZATION_ROLE('design_supplier'); +-#11598=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#11592,#11597,(#11568)); +-#11599=PERSON_AND_ORGANIZATION_ROLE('classification_officer'); +-#11600=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#11592,#11599,(#11576)); +-#11601=PERSON_AND_ORGANIZATION_ROLE('design_owner'); +-#11602=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#11592,#11601,(#11567)); +-#13=CIRCLE('',#12,1.925E-1); +-#18=CIRCLE('',#17,1.925E-1); +-#23=CIRCLE('',#22,1.925E-1); +-#28=CIRCLE('',#27,1.925E-1); +-#33=CIRCLE('',#32,1.925E-1); +-#38=CIRCLE('',#37,1.925E-1); +-#43=CIRCLE('',#42,1.925E-1); +-#48=CIRCLE('',#47,1.925E-1); +-#53=CIRCLE('',#52,1.925E-1); +-#58=CIRCLE('',#57,1.925E-1); +-#63=CIRCLE('',#62,1.925E-1); +-#68=CIRCLE('',#67,1.925E-1); +-#73=CIRCLE('',#72,1.925E-1); +-#78=CIRCLE('',#77,1.925E-1); +-#83=CIRCLE('',#82,1.925E-1); +-#88=CIRCLE('',#87,1.925E-1); +-#93=CIRCLE('',#92,1.925E-1); +-#98=CIRCLE('',#97,1.925E-1); +-#103=CIRCLE('',#102,1.925E-1); +-#108=CIRCLE('',#107,1.925E-1); +-#113=CIRCLE('',#112,1.925E-1); +-#118=CIRCLE('',#117,1.925E-1); +-#123=CIRCLE('',#122,1.925E-1); +-#128=CIRCLE('',#127,1.925E-1); +-#181=CIRCLE('',#180,1.925E-1); +-#186=CIRCLE('',#185,1.925E-1); +-#191=CIRCLE('',#190,1.925E-1); +-#196=CIRCLE('',#195,1.925E-1); +-#249=CIRCLE('',#248,1.925E-1); +-#254=CIRCLE('',#253,1.925E-1); +-#259=CIRCLE('',#258,1.925E-1); +-#264=CIRCLE('',#263,1.925E-1); +-#269=CIRCLE('',#268,1.925E-1); +-#274=CIRCLE('',#273,1.925E-1); +-#279=CIRCLE('',#278,1.925E-1); +-#284=CIRCLE('',#283,1.925E-1); +-#289=CIRCLE('',#288,1.925E-1); +-#294=CIRCLE('',#293,1.925E-1); +-#299=CIRCLE('',#298,1.925E-1); +-#304=CIRCLE('',#303,1.925E-1); +-#313=CIRCLE('',#312,5.625E-1); +-#322=CIRCLE('',#321,5.625E-1); +-#327=CIRCLE('',#326,9.225E-1); +-#336=CIRCLE('',#335,8.669989027347E-1); +-#341=CIRCLE('',#340,5.6875E0); +-#350=CIRCLE('',#349,5.6125E-1); +-#383=CIRCLE('',#382,5.625E-1); +-#392=CIRCLE('',#391,5.625E-1); +-#401=CIRCLE('',#400,5.625E-1); +-#410=CIRCLE('',#409,5.625E-1); +-#419=CIRCLE('',#418,5.E-1); +-#428=CIRCLE('',#427,5.E-1); +-#437=CIRCLE('',#436,4.375E-1); +-#446=CIRCLE('',#445,4.375E-1); +-#455=CIRCLE('',#454,5.625E-1); +-#464=CIRCLE('',#463,5.625E-1); +-#473=CIRCLE('',#472,5.625E-1); +-#482=CIRCLE('',#481,5.625E-1); +-#491=CIRCLE('',#490,5.625E-1); +-#500=CIRCLE('',#499,5.625E-1); +-#509=CIRCLE('',#508,5.625E-1); +-#518=CIRCLE('',#517,5.625E-1); +-#527=CIRCLE('',#526,5.E-1); +-#536=CIRCLE('',#535,5.E-1); +-#545=CIRCLE('',#544,4.375E-1); +-#554=CIRCLE('',#553,4.375E-1); +-#563=CIRCLE('',#562,5.625E-1); +-#572=CIRCLE('',#571,5.625E-1); +-#581=CIRCLE('',#580,5.6125E-1); +-#614=CIRCLE('',#613,9.225E-1); +-#619=CIRCLE('',#618,5.6875E0); +-#624=CIRCLE('',#623,8.669989027347E-1); +-#633=CIRCLE('',#632,9.225E-1); +-#638=CIRCLE('',#637,5.6875E0); +-#643=CIRCLE('',#642,8.669989027347E-1); +-#648=CIRCLE('',#647,9.225E-1); +-#657=CIRCLE('',#656,8.669989027347E-1); +-#662=CIRCLE('',#661,5.6875E0); +-#667=CIRCLE('',#666,9.5E-2); +-#672=CIRCLE('',#671,9.5E-2); +-#677=CIRCLE('',#676,1.625E-1); +-#682=CIRCLE('',#681,1.625E-1); +-#687=CIRCLE('',#686,9.5E-2); +-#692=CIRCLE('',#691,9.5E-2); +-#697=CIRCLE('',#696,9.5E-2); +-#702=CIRCLE('',#701,9.5E-2); +-#707=CIRCLE('',#706,9.5E-2); +-#712=CIRCLE('',#711,9.5E-2); +-#717=CIRCLE('',#716,9.5E-2); +-#722=CIRCLE('',#721,9.5E-2); +-#727=CIRCLE('',#726,1.625E-1); +-#732=CIRCLE('',#731,1.625E-1); +-#737=CIRCLE('',#736,9.5E-2); +-#742=CIRCLE('',#741,9.5E-2); +-#803=CIRCLE('',#802,9.5E-2); +-#808=CIRCLE('',#807,9.5E-2); +-#821=CIRCLE('',#820,1.625E-1); +-#826=CIRCLE('',#825,1.625E-1); +-#887=CIRCLE('',#886,1.E-1); +-#892=CIRCLE('',#891,1.E-1); +-#897=CIRCLE('',#896,1.E-1); +-#902=CIRCLE('',#901,1.E-1); +-#931=CIRCLE('',#930,1.E-1); +-#936=CIRCLE('',#935,1.E-1); +-#941=CIRCLE('',#940,1.E-1); +-#946=CIRCLE('',#945,1.E-1); +-#951=CIRCLE('',#950,2.575E-1); +-#956=CIRCLE('',#955,2.575E-1); +-#961=CIRCLE('',#960,2.575E-1); +-#966=CIRCLE('',#965,2.575E-1); +-#971=CIRCLE('',#970,2.575E-1); +-#976=CIRCLE('',#975,2.575E-1); +-#981=CIRCLE('',#980,2.575E-1); +-#986=CIRCLE('',#985,2.575E-1); +-#991=CIRCLE('',#990,2.575E-1); +-#996=CIRCLE('',#995,2.575E-1); +-#1001=CIRCLE('',#1000,2.575E-1); +-#1006=CIRCLE('',#1005,2.575E-1); +-#1011=CIRCLE('',#1010,2.56E-1); +-#1016=CIRCLE('',#1015,2.56E-1); +-#1021=CIRCLE('',#1020,2.56E-1); +-#1026=CIRCLE('',#1025,2.56E-1); +-#1031=CIRCLE('',#1030,2.56E-1); +-#1036=CIRCLE('',#1035,2.56E-1); +-#1041=CIRCLE('',#1040,2.56E-1); +-#1046=CIRCLE('',#1045,2.56E-1); +-#1051=CIRCLE('',#1050,2.56E-1); +-#1056=CIRCLE('',#1055,2.56E-1); +-#1061=CIRCLE('',#1060,2.56E-1); +-#1066=CIRCLE('',#1065,2.56E-1); +-#1115=CIRCLE('',#1114,2.575E-1); +-#1120=CIRCLE('',#1119,2.575E-1); +-#1125=CIRCLE('',#1124,2.575E-1); +-#1130=CIRCLE('',#1129,2.575E-1); +-#1135=CIRCLE('',#1134,2.575E-1); +-#1140=CIRCLE('',#1139,2.575E-1); +-#1145=CIRCLE('',#1144,2.575E-1); +-#1150=CIRCLE('',#1149,2.575E-1); +-#1155=CIRCLE('',#1154,2.575E-1); +-#1160=CIRCLE('',#1159,2.575E-1); +-#1165=CIRCLE('',#1164,2.575E-1); +-#1170=CIRCLE('',#1169,2.575E-1); +-#1259=CIRCLE('',#1258,1.E-1); +-#1268=CIRCLE('',#1267,1.E-1); +-#1285=CIRCLE('',#1284,1.E-1); +-#1294=CIRCLE('',#1293,1.E-1); +-#1303=CIRCLE('',#1302,1.E0); +-#1312=CIRCLE('',#1311,1.E0); +-#1317=CIRCLE('',#1316,5.E0); +-#1326=CIRCLE('',#1325,5.E0); +-#1331=CIRCLE('',#1330,5.E0); +-#1340=CIRCLE('',#1339,5.E0); +-#1349=CIRCLE('',#1348,1.E0); +-#1358=CIRCLE('',#1357,1.E0); +-#1367=CIRCLE('',#1366,1.E0); +-#1376=CIRCLE('',#1375,1.E0); +-#1385=CIRCLE('',#1384,1.E0); +-#1394=CIRCLE('',#1393,1.E0); +-#1403=CIRCLE('',#1402,1.E0); +-#1412=CIRCLE('',#1411,1.E0); +-#1421=CIRCLE('',#1420,3.E0); +-#1430=CIRCLE('',#1429,3.E0); +-#1439=CIRCLE('',#1438,3.E0); +-#1448=CIRCLE('',#1447,3.E0); +-#1457=CIRCLE('',#1456,5.E0); +-#1466=CIRCLE('',#1465,5.E0); +-#1475=CIRCLE('',#1474,5.E0); +-#1484=CIRCLE('',#1483,5.E0); +-#1493=CIRCLE('',#1492,3.E0); +-#1502=CIRCLE('',#1501,3.E0); +-#1511=CIRCLE('',#1510,3.E0); +-#1520=CIRCLE('',#1519,3.E0); +-#1529=CIRCLE('',#1528,1.E0); +-#1538=CIRCLE('',#1537,1.E0); +-#1547=CIRCLE('',#1546,1.E0); +-#1556=CIRCLE('',#1555,1.E0); +-#1597=CIRCLE('',#1596,1.E0); +-#1606=CIRCLE('',#1605,1.E0); +-#1675=CIRCLE('',#1674,9.5E-2); +-#1680=CIRCLE('',#1679,9.5E-2); +-#1685=CIRCLE('',#1684,6.25E-2); +-#1690=CIRCLE('',#1689,6.25E-2); +-#1707=CIRCLE('',#1706,1.E0); +-#1716=CIRCLE('',#1715,1.E0); +-#1729=CIRCLE('',#1728,1.E0); +-#1738=CIRCLE('',#1737,1.E0); +-#1767=CIRCLE('',#1766,1.625E-1); +-#1772=CIRCLE('',#1771,1.625E-1); +-#1846=B_SPLINE_CURVE_WITH_KNOTS('',3,(#1837,#1838,#1839,#1840,#1841,#1842,#1843, +-#1844,#1845),.UNSPECIFIED.,.F.,.F.,(4,1,1,1,1,1,4),(0.E0,2.5E-1,3.75E-1,5.E-1, +-6.25E-1,7.5E-1,1.E0),.UNSPECIFIED.); +-#1856=B_SPLINE_CURVE_WITH_KNOTS('',3,(#1847,#1848,#1849,#1850,#1851,#1852,#1853, +-#1854,#1855),.UNSPECIFIED.,.F.,.F.,(4,1,1,1,1,1,4),(0.E0,2.5E-1,3.75E-1,5.E-1, +-6.25E-1,7.5E-1,1.E0),.UNSPECIFIED.); +-#1873=CIRCLE('',#1872,2.575E-1); +-#1878=CIRCLE('',#1877,2.575E-1); +-#1883=CIRCLE('',#1882,1.925E-1); +-#1888=CIRCLE('',#1887,1.925E-1); +-#1933=CIRCLE('',#1932,9.5E-2); +-#1938=CIRCLE('',#1937,9.5E-2); +-#1943=CIRCLE('',#1942,6.25E-2); +-#1948=CIRCLE('',#1947,6.25E-2); +-#1961=CIRCLE('',#1960,9.5E-2); +-#1966=CIRCLE('',#1965,9.5E-2); +-#1979=CIRCLE('',#1978,6.25E-2); +-#1984=CIRCLE('',#1983,6.25E-2); +-#1993=CIRCLE('',#1992,3.5E-1); +-#2002=CIRCLE('',#2001,3.5E-1); +-#2035=CIRCLE('',#2034,3.5E-1); +-#2044=CIRCLE('',#2043,3.5E-1); +-#2053=CIRCLE('',#2052,3.5E-1); +-#2062=CIRCLE('',#2061,3.5E-1); +-#2071=CIRCLE('',#2070,3.5E-1); +-#2080=CIRCLE('',#2079,3.5E-1); +-#2089=CIRCLE('',#2088,3.5E-1); +-#2098=CIRCLE('',#2097,3.5E-1); +-#2107=CIRCLE('',#2106,3.5E-1); +-#2116=CIRCLE('',#2115,3.5E-1); +-#2145=CIRCLE('',#2144,9.5E-2); +-#2150=CIRCLE('',#2149,9.5E-2); +-#2163=CIRCLE('',#2162,6.25E-2); +-#2168=CIRCLE('',#2167,6.25E-2); +-#2189=CIRCLE('',#2188,1.E-1); +-#2194=CIRCLE('',#2193,1.E-1); +-#2215=CIRCLE('',#2214,1.E-1); +-#2220=CIRCLE('',#2219,1.E-1); +-#2233=CIRCLE('',#2232,2.575E-1); +-#2238=CIRCLE('',#2237,2.575E-1); +-#2243=CIRCLE('',#2242,1.925E-1); +-#2248=CIRCLE('',#2247,1.925E-1); +-#2269=CIRCLE('',#2268,2.575E-1); +-#2274=CIRCLE('',#2273,2.575E-1); +-#2279=CIRCLE('',#2278,1.925E-1); +-#2284=CIRCLE('',#2283,1.925E-1); +-#2305=CIRCLE('',#2304,2.575E-1); +-#2310=CIRCLE('',#2309,2.575E-1); +-#2315=CIRCLE('',#2314,1.925E-1); +-#2320=CIRCLE('',#2319,1.925E-1); +-#2341=CIRCLE('',#2340,2.575E-1); +-#2346=CIRCLE('',#2345,2.575E-1); +-#2351=CIRCLE('',#2350,1.925E-1); +-#2356=CIRCLE('',#2355,1.925E-1); +-#2377=CIRCLE('',#2376,2.575E-1); +-#2382=CIRCLE('',#2381,2.575E-1); +-#2387=CIRCLE('',#2386,1.925E-1); +-#2392=CIRCLE('',#2391,1.925E-1); +-#2413=CIRCLE('',#2412,2.575E-1); +-#2418=CIRCLE('',#2417,2.575E-1); +-#2423=CIRCLE('',#2422,1.925E-1); +-#2428=CIRCLE('',#2427,1.925E-1); +-#2449=CIRCLE('',#2448,2.56E-1); +-#2454=CIRCLE('',#2453,2.56E-1); +-#2459=CIRCLE('',#2458,1.925E-1); +-#2464=CIRCLE('',#2463,1.925E-1); +-#2485=CIRCLE('',#2484,2.56E-1); +-#2490=CIRCLE('',#2489,2.56E-1); +-#2495=CIRCLE('',#2494,1.925E-1); +-#2500=CIRCLE('',#2499,1.925E-1); +-#2521=CIRCLE('',#2520,2.56E-1); +-#2526=CIRCLE('',#2525,2.56E-1); +-#2531=CIRCLE('',#2530,1.925E-1); +-#2536=CIRCLE('',#2535,1.925E-1); +-#2557=CIRCLE('',#2556,2.56E-1); +-#2562=CIRCLE('',#2561,2.56E-1); +-#2567=CIRCLE('',#2566,1.925E-1); +-#2572=CIRCLE('',#2571,1.925E-1); +-#2593=CIRCLE('',#2592,2.56E-1); +-#2598=CIRCLE('',#2597,2.56E-1); +-#2603=CIRCLE('',#2602,1.925E-1); +-#2608=CIRCLE('',#2607,1.925E-1); +-#2629=CIRCLE('',#2628,2.56E-1); +-#2634=CIRCLE('',#2633,2.56E-1); +-#2639=CIRCLE('',#2638,1.925E-1); +-#2644=CIRCLE('',#2643,1.925E-1); +-#2665=CIRCLE('',#2664,2.575E-1); +-#2670=CIRCLE('',#2669,2.575E-1); +-#2675=CIRCLE('',#2674,1.925E-1); +-#2680=CIRCLE('',#2679,1.925E-1); +-#2701=CIRCLE('',#2700,2.575E-1); +-#2706=CIRCLE('',#2705,2.575E-1); +-#2711=CIRCLE('',#2710,1.925E-1); +-#2716=CIRCLE('',#2715,1.925E-1); +-#2737=CIRCLE('',#2736,2.575E-1); +-#2742=CIRCLE('',#2741,2.575E-1); +-#2747=CIRCLE('',#2746,1.925E-1); +-#2752=CIRCLE('',#2751,1.925E-1); +-#2773=CIRCLE('',#2772,2.575E-1); +-#2778=CIRCLE('',#2777,2.575E-1); +-#2783=CIRCLE('',#2782,1.925E-1); +-#2788=CIRCLE('',#2787,1.925E-1); +-#2809=CIRCLE('',#2808,2.575E-1); +-#2814=CIRCLE('',#2813,2.575E-1); +-#2819=CIRCLE('',#2818,1.925E-1); +-#2824=CIRCLE('',#2823,1.925E-1); +-#2845=CIRCLE('',#2844,2.575E-1); +-#2850=CIRCLE('',#2849,2.575E-1); +-#2855=CIRCLE('',#2854,1.925E-1); +-#2860=CIRCLE('',#2859,1.925E-1); +-#2882=B_SPLINE_CURVE_WITH_KNOTS('',3,(#2873,#2874,#2875,#2876,#2877,#2878,#2879, +-#2880,#2881),.UNSPECIFIED.,.F.,.F.,(4,1,1,1,1,1,4),(0.E0,2.5E-1,3.75E-1,5.E-1, +-6.25E-1,7.5E-1,1.E0),.UNSPECIFIED.); +-#2892=B_SPLINE_CURVE_WITH_KNOTS('',3,(#2883,#2884,#2885,#2886,#2887,#2888,#2889, +-#2890,#2891),.UNSPECIFIED.,.F.,.F.,(4,1,1,1,1,1,4),(0.E0,2.5E-1,3.75E-1,5.E-1, +-6.25E-1,7.5E-1,1.E0),.UNSPECIFIED.); +-#2905=CIRCLE('',#2904,2.575E-1); +-#2910=CIRCLE('',#2909,2.575E-1); +-#2915=CIRCLE('',#2914,1.925E-1); +-#2920=CIRCLE('',#2919,1.925E-1); +-#2937=CIRCLE('',#2936,3.5E-1); +-#2946=CIRCLE('',#2945,3.5E-1); +-#2955=CIRCLE('',#2954,3.5E-1); +-#2964=CIRCLE('',#2963,3.5E-1); +-#2973=CIRCLE('',#2972,3.5E-1); +-#2982=CIRCLE('',#2981,3.5E-1); +-#2991=CIRCLE('',#2990,3.5E-1); +-#3000=CIRCLE('',#2999,3.5E-1); +-#3009=CIRCLE('',#3008,3.5E-1); +-#3018=CIRCLE('',#3017,3.5E-1); +-#3027=CIRCLE('',#3026,3.5E-1); +-#3036=CIRCLE('',#3035,3.5E-1); +-#3073=CIRCLE('',#3072,9.5E-2); +-#3078=CIRCLE('',#3077,9.5E-2); +-#3091=CIRCLE('',#3090,9.5E-2); +-#3096=CIRCLE('',#3095,9.5E-2); +-#3109=CIRCLE('',#3108,9.5E-2); +-#3114=CIRCLE('',#3113,9.5E-2); +-#3127=CIRCLE('',#3126,9.5E-2); +-#3132=CIRCLE('',#3131,9.5E-2); +-#3145=CIRCLE('',#3144,9.5E-2); +-#3150=CIRCLE('',#3149,9.5E-2); +-#3159=CIRCLE('',#3158,7.5E-1); +-#3168=CIRCLE('',#3167,7.5E-1); +-#3177=CIRCLE('',#3176,7.5E-1); +-#3186=CIRCLE('',#3185,7.5E-1); +-#3195=CIRCLE('',#3194,7.5E-1); +-#3204=CIRCLE('',#3203,7.5E-1); +-#3213=CIRCLE('',#3212,7.5E-1); +-#3222=CIRCLE('',#3221,7.5E-1); +-#3247=CIRCLE('',#3246,7.5E-1); +-#3256=CIRCLE('',#3255,7.5E-1); +-#3281=CIRCLE('',#3280,7.5E-1); +-#3290=CIRCLE('',#3289,7.5E-1); +-#3299=CIRCLE('',#3298,7.5E-1); +-#3308=CIRCLE('',#3307,7.5E-1); +-#3317=CIRCLE('',#3316,7.5E-1); +-#3326=CIRCLE('',#3325,7.5E-1); +-#3351=CIRCLE('',#3350,5.625E-1); +-#3360=CIRCLE('',#3359,5.625E-1); +-#3365=CIRCLE('',#3364,9.225E-1); +-#3370=CIRCLE('',#3369,5.6875E0); +-#3375=CIRCLE('',#3374,8.669989027347E-1); +-#3388=CIRCLE('',#3387,7.5E-1); +-#3397=CIRCLE('',#3396,7.5E-1); +-#3418=CIRCLE('',#3417,8.75E-1); +-#3427=CIRCLE('',#3426,8.75E-1); +-#3440=CIRCLE('',#3439,5.6125E-1); +-#3469=CIRCLE('',#3468,8.75E-1); +-#3478=CIRCLE('',#3477,8.75E-1); +-#3495=CIRCLE('',#3494,8.75E-1); +-#3504=CIRCLE('',#3503,8.75E-1); +-#3513=CIRCLE('',#3512,8.75E-1); +-#3522=CIRCLE('',#3521,8.75E-1); +-#3531=CIRCLE('',#3530,8.75E-1); +-#3540=CIRCLE('',#3539,8.75E-1); +-#3549=CIRCLE('',#3548,8.75E-1); +-#3558=CIRCLE('',#3557,8.75E-1); +-#3583=CIRCLE('',#3582,5.625E-1); +-#3592=CIRCLE('',#3591,5.625E-1); +-#3617=CIRCLE('',#3616,5.625E-1); +-#3626=CIRCLE('',#3625,5.625E-1); +-#3651=CIRCLE('',#3650,5.E-1); +-#3660=CIRCLE('',#3659,5.E-1); +-#3685=CIRCLE('',#3684,4.375E-1); +-#3694=CIRCLE('',#3693,4.375E-1); +-#3719=CIRCLE('',#3718,5.625E-1); +-#3728=CIRCLE('',#3727,5.625E-1); +-#3737=CIRCLE('',#3736,8.669989027347E-1); +-#3742=CIRCLE('',#3741,5.6875E0); +-#3747=CIRCLE('',#3746,9.225E-1); +-#3756=CIRCLE('',#3755,7.5E-1); +-#3765=CIRCLE('',#3764,7.5E-1); +-#3802=CIRCLE('',#3801,5.625E-1); +-#3811=CIRCLE('',#3810,5.625E-1); +-#3820=CIRCLE('',#3819,8.669989027347E-1); +-#3825=CIRCLE('',#3824,5.6875E0); +-#3830=CIRCLE('',#3829,9.225E-1); +-#3839=CIRCLE('',#3838,7.5E-1); +-#3848=CIRCLE('',#3847,7.5E-1); +-#3885=CIRCLE('',#3884,5.625E-1); +-#3894=CIRCLE('',#3893,5.625E-1); +-#3919=CIRCLE('',#3918,5.625E-1); +-#3928=CIRCLE('',#3927,5.625E-1); +-#3953=CIRCLE('',#3952,5.E-1); +-#3962=CIRCLE('',#3961,5.E-1); +-#3987=CIRCLE('',#3986,4.375E-1); +-#3996=CIRCLE('',#3995,4.375E-1); +-#4021=CIRCLE('',#4020,5.625E-1); +-#4030=CIRCLE('',#4029,5.625E-1); +-#4035=CIRCLE('',#4034,9.225E-1); +-#4040=CIRCLE('',#4039,5.6875E0); +-#4045=CIRCLE('',#4044,8.669989027347E-1); +-#4058=CIRCLE('',#4057,7.5E-1); +-#4067=CIRCLE('',#4066,7.5E-1); +-#4088=CIRCLE('',#4087,8.8E-1); +-#4097=CIRCLE('',#4096,8.8E-1); +-#4106=CIRCLE('',#4105,8.8E-1); +-#4115=CIRCLE('',#4114,8.8E-1); +-#4124=CIRCLE('',#4123,8.8E-1); +-#4133=CIRCLE('',#4132,8.8E-1); +-#4142=CIRCLE('',#4141,8.8E-1); +-#4151=CIRCLE('',#4150,8.8E-1); +-#4160=CIRCLE('',#4159,8.8E-1); +-#4169=CIRCLE('',#4168,8.8E-1); +-#4178=CIRCLE('',#4177,8.8E-1); +-#4187=CIRCLE('',#4186,8.8E-1); +-#4208=CIRCLE('',#4207,5.6125E-1); +-#5494=EDGE_CURVE('',#4423,#4400,#132,.T.); +-#5496=EDGE_CURVE('',#4419,#4423,#1597,.T.); +-#5498=EDGE_CURVE('',#4419,#4243,#136,.T.); +-#5500=EDGE_CURVE('',#4239,#4243,#1614,.T.); +-#5502=EDGE_CURVE('',#4239,#4259,#140,.T.); +-#5504=EDGE_CURVE('',#4255,#4259,#1630,.T.); +-#5506=EDGE_CURVE('',#4255,#4320,#144,.T.); +-#5508=EDGE_CURVE('',#4324,#4320,#1376,.T.); +-#5510=EDGE_CURVE('',#4324,#4300,#148,.T.); +-#5512=EDGE_CURVE('',#4300,#4347,#152,.T.); +-#5514=EDGE_CURVE('',#4343,#4347,#1912,.T.); +-#5516=EDGE_CURVE('',#4343,#4315,#156,.T.); +-#5518=EDGE_CURVE('',#4311,#4315,#1385,.T.); +-#5520=EDGE_CURVE('',#4311,#4251,#160,.T.); +-#5522=EDGE_CURVE('',#4247,#4251,#1580,.T.); +-#5524=EDGE_CURVE('',#4247,#4235,#164,.T.); +-#5526=EDGE_CURVE('',#4231,#4235,#1564,.T.); +-#5528=EDGE_CURVE('',#4231,#4404,#168,.T.); +-#5530=EDGE_CURVE('',#4408,#4404,#1556,.T.); +-#5532=EDGE_CURVE('',#4444,#4408,#172,.T.); +-#5534=EDGE_CURVE('',#4444,#4448,#1654,.T.); +-#5536=EDGE_CURVE('',#4400,#4448,#176,.T.); +-#5540=EDGE_CURVE('',#4427,#4328,#4,.T.); +-#5542=EDGE_CURVE('',#4332,#4328,#1358,.T.); +-#5544=EDGE_CURVE('',#4264,#4332,#1340,.T.); +-#5546=EDGE_CURVE('',#4268,#4264,#8,.T.); +-#5548=EDGE_CURVE('',#4431,#4268,#1317,.T.); +-#5550=EDGE_CURVE('',#4427,#4431,#1303,.T.); +-#5554=EDGE_CURVE('',#4639,#4640,#13,.T.); +-#5556=EDGE_CURVE('',#4640,#4639,#18,.T.); +-#5560=EDGE_CURVE('',#4635,#4636,#23,.T.); +-#5562=EDGE_CURVE('',#4636,#4635,#28,.T.); +-#5566=EDGE_CURVE('',#4631,#4632,#33,.T.); +-#5568=EDGE_CURVE('',#4632,#4631,#38,.T.); +-#5572=EDGE_CURVE('',#4627,#4628,#43,.T.); +-#5574=EDGE_CURVE('',#4628,#4627,#48,.T.); +-#5578=EDGE_CURVE('',#4623,#4624,#53,.T.); +-#5580=EDGE_CURVE('',#4624,#4623,#58,.T.); +-#5584=EDGE_CURVE('',#4527,#4528,#63,.T.); +-#5586=EDGE_CURVE('',#4528,#4527,#68,.T.); +-#5590=EDGE_CURVE('',#4523,#4524,#73,.T.); +-#5592=EDGE_CURVE('',#4524,#4523,#78,.T.); +-#5596=EDGE_CURVE('',#4519,#4520,#83,.T.); +-#5598=EDGE_CURVE('',#4520,#4519,#88,.T.); +-#5602=EDGE_CURVE('',#4515,#4516,#93,.T.); +-#5604=EDGE_CURVE('',#4516,#4515,#98,.T.); +-#5608=EDGE_CURVE('',#4511,#4512,#103,.T.); +-#5610=EDGE_CURVE('',#4512,#4511,#108,.T.); +-#5614=EDGE_CURVE('',#4507,#4508,#113,.T.); +-#5616=EDGE_CURVE('',#4508,#4507,#118,.T.); +-#5620=EDGE_CURVE('',#4503,#4504,#123,.T.); +-#5622=EDGE_CURVE('',#4504,#4503,#128,.T.); +-#5626=EDGE_CURVE('',#4487,#4488,#181,.T.); +-#5628=EDGE_CURVE('',#4488,#4487,#186,.T.); +-#5632=EDGE_CURVE('',#4607,#4608,#191,.T.); +-#5634=EDGE_CURVE('',#4608,#4607,#196,.T.); +-#5638=EDGE_CURVE('',#4796,#4803,#200,.T.); +-#5640=EDGE_CURVE('',#4799,#4803,#1439,.T.); +-#5642=EDGE_CURVE('',#4280,#4799,#204,.T.); +-#5644=EDGE_CURVE('',#4284,#4280,#1466,.T.); +-#5646=EDGE_CURVE('',#4272,#4284,#208,.T.); +-#5648=EDGE_CURVE('',#4276,#4272,#1484,.T.); +-#5650=EDGE_CURVE('',#4792,#4276,#212,.T.); +-#5652=EDGE_CURVE('',#4796,#4792,#1430,.T.); +-#5656=EDGE_CURVE('',#4808,#4411,#216,.T.); +-#5658=EDGE_CURVE('',#4812,#4808,#1502,.T.); +-#5660=EDGE_CURVE('',#4812,#4819,#220,.T.); +-#5662=EDGE_CURVE('',#4815,#4819,#1511,.T.); +-#5664=EDGE_CURVE('',#4304,#4815,#224,.T.); +-#5666=EDGE_CURVE('',#4308,#4304,#1412,.T.); +-#5668=EDGE_CURVE('',#4308,#4339,#228,.T.); +-#5670=EDGE_CURVE('',#4335,#4339,#1754,.T.); +-#5672=EDGE_CURVE('',#4335,#4772,#232,.T.); +-#5674=EDGE_CURVE('',#4776,#4772,#1738,.T.); +-#5676=EDGE_CURVE('',#4776,#4783,#236,.T.); +-#5678=EDGE_CURVE('',#4779,#4783,#1707,.T.); +-#5680=EDGE_CURVE('',#4436,#4779,#240,.T.); +-#5682=EDGE_CURVE('',#4436,#4440,#2132,.T.); +-#5684=EDGE_CURVE('',#4415,#4440,#244,.T.); +-#5686=EDGE_CURVE('',#4411,#4415,#1529,.T.); +-#5690=EDGE_CURVE('',#4823,#4824,#249,.T.); +-#5692=EDGE_CURVE('',#4824,#4823,#254,.T.); +-#5696=EDGE_CURVE('',#4839,#4840,#259,.T.); +-#5698=EDGE_CURVE('',#4840,#4839,#264,.T.); +-#5702=EDGE_CURVE('',#4843,#4844,#269,.T.); +-#5704=EDGE_CURVE('',#4844,#4843,#274,.T.); +-#5708=EDGE_CURVE('',#4847,#4848,#279,.T.); +-#5710=EDGE_CURVE('',#4848,#4847,#284,.T.); +-#5714=EDGE_CURVE('',#4851,#4852,#289,.T.); +-#5716=EDGE_CURVE('',#4852,#4851,#294,.T.); +-#5720=EDGE_CURVE('',#4855,#4856,#299,.T.); +-#5722=EDGE_CURVE('',#4856,#4855,#304,.T.); +-#5726=EDGE_CURVE('',#5121,#5122,#308,.T.); +-#5728=EDGE_CURVE('',#5122,#5124,#313,.T.); +-#5730=EDGE_CURVE('',#5124,#5126,#317,.T.); +-#5732=EDGE_CURVE('',#5126,#5121,#322,.T.); +-#5736=EDGE_CURVE('',#5132,#5139,#327,.T.); +-#5738=EDGE_CURVE('',#5135,#5139,#3388,.T.); +-#5740=EDGE_CURVE('',#5135,#5129,#331,.T.); +-#5742=EDGE_CURVE('',#5129,#5130,#336,.T.); +-#5744=EDGE_CURVE('',#5132,#5130,#341,.T.); +-#5748=EDGE_CURVE('',#5184,#5186,#3418,.T.); +-#5750=EDGE_CURVE('',#5184,#5147,#345,.T.); +-#5752=EDGE_CURVE('',#5147,#5148,#350,.T.); +-#5754=EDGE_CURVE('',#5148,#5194,#354,.T.); +-#5756=EDGE_CURVE('',#5192,#5194,#3469,.T.); +-#5758=EDGE_CURVE('',#5192,#5171,#358,.T.); +-#5760=EDGE_CURVE('',#5167,#5171,#3495,.T.); +-#5762=EDGE_CURVE('',#5167,#5179,#362,.T.); +-#5764=EDGE_CURVE('',#5175,#5179,#3513,.T.); +-#5766=EDGE_CURVE('',#5175,#5155,#366,.T.); +-#5768=EDGE_CURVE('',#5151,#5155,#3531,.T.); +-#5770=EDGE_CURVE('',#5151,#5163,#370,.T.); +-#5772=EDGE_CURVE('',#5159,#5163,#3549,.T.); +-#5774=EDGE_CURVE('',#5159,#5186,#374,.T.); +-#5778=EDGE_CURVE('',#5207,#5208,#378,.T.); +-#5780=EDGE_CURVE('',#5208,#5210,#383,.T.); +-#5782=EDGE_CURVE('',#5210,#5212,#387,.T.); +-#5784=EDGE_CURVE('',#5212,#5207,#392,.T.); +-#5788=EDGE_CURVE('',#5223,#5224,#396,.T.); +-#5790=EDGE_CURVE('',#5224,#5226,#401,.T.); +-#5792=EDGE_CURVE('',#5226,#5228,#405,.T.); +-#5794=EDGE_CURVE('',#5228,#5223,#410,.T.); +-#5798=EDGE_CURVE('',#5239,#5240,#414,.T.); +-#5800=EDGE_CURVE('',#5240,#5242,#419,.T.); +-#5802=EDGE_CURVE('',#5242,#5244,#423,.T.); +-#5804=EDGE_CURVE('',#5244,#5239,#428,.T.); +-#5808=EDGE_CURVE('',#5255,#5256,#432,.T.); +-#5810=EDGE_CURVE('',#5256,#5258,#437,.T.); +-#5812=EDGE_CURVE('',#5258,#5260,#441,.T.); +-#5814=EDGE_CURVE('',#5260,#5255,#446,.T.); +-#5818=EDGE_CURVE('',#5277,#5278,#450,.T.); +-#5820=EDGE_CURVE('',#5282,#5277,#455,.T.); +-#5822=EDGE_CURVE('',#5280,#5282,#459,.T.); +-#5824=EDGE_CURVE('',#5278,#5280,#464,.T.); +-#5828=EDGE_CURVE('',#5305,#5306,#468,.T.); +-#5830=EDGE_CURVE('',#5310,#5305,#473,.T.); +-#5832=EDGE_CURVE('',#5308,#5310,#477,.T.); +-#5834=EDGE_CURVE('',#5306,#5308,#482,.T.); +-#5838=EDGE_CURVE('',#5335,#5336,#486,.T.); +-#5840=EDGE_CURVE('',#5340,#5335,#491,.T.); +-#5842=EDGE_CURVE('',#5338,#5340,#495,.T.); +-#5844=EDGE_CURVE('',#5336,#5338,#500,.T.); +-#5848=EDGE_CURVE('',#5351,#5352,#504,.T.); +-#5850=EDGE_CURVE('',#5356,#5351,#509,.T.); +-#5852=EDGE_CURVE('',#5354,#5356,#513,.T.); +-#5854=EDGE_CURVE('',#5352,#5354,#518,.T.); +-#5858=EDGE_CURVE('',#5367,#5368,#522,.T.); +-#5860=EDGE_CURVE('',#5372,#5367,#527,.T.); +-#5862=EDGE_CURVE('',#5370,#5372,#531,.T.); +-#5864=EDGE_CURVE('',#5368,#5370,#536,.T.); +-#5868=EDGE_CURVE('',#5383,#5384,#540,.T.); +-#5870=EDGE_CURVE('',#5388,#5383,#545,.T.); +-#5872=EDGE_CURVE('',#5386,#5388,#549,.T.); +-#5874=EDGE_CURVE('',#5384,#5386,#554,.T.); +-#5878=EDGE_CURVE('',#5405,#5406,#558,.T.); +-#5880=EDGE_CURVE('',#5406,#5408,#563,.T.); +-#5882=EDGE_CURVE('',#5408,#5410,#567,.T.); +-#5884=EDGE_CURVE('',#5410,#5405,#572,.T.); +-#5888=EDGE_CURVE('',#5455,#5451,#4097,.T.); +-#5890=EDGE_CURVE('',#5324,#5455,#576,.T.); +-#5892=EDGE_CURVE('',#5323,#5324,#581,.T.); +-#5894=EDGE_CURVE('',#5459,#5323,#585,.T.); +-#5896=EDGE_CURVE('',#5463,#5459,#4187,.T.); +-#5898=EDGE_CURVE('',#5436,#5463,#589,.T.); +-#5900=EDGE_CURVE('',#5440,#5436,#4169,.T.); +-#5902=EDGE_CURVE('',#5444,#5440,#593,.T.); +-#5904=EDGE_CURVE('',#5448,#5444,#4151,.T.); +-#5906=EDGE_CURVE('',#5428,#5448,#597,.T.); +-#5908=EDGE_CURVE('',#5432,#5428,#4133,.T.); +-#5910=EDGE_CURVE('',#5420,#5432,#601,.T.); +-#5912=EDGE_CURVE('',#5424,#5420,#4115,.T.); +-#5914=EDGE_CURVE('',#5451,#5424,#605,.T.); +-#5918=EDGE_CURVE('',#5471,#5313,#609,.T.); +-#5920=EDGE_CURVE('',#5467,#5471,#3839,.T.); +-#5922=EDGE_CURVE('',#5316,#5467,#614,.T.); +-#5924=EDGE_CURVE('',#5316,#5314,#619,.T.); +-#5926=EDGE_CURVE('',#5313,#5314,#624,.T.); +-#5930=EDGE_CURVE('',#5479,#5285,#628,.T.); +-#5932=EDGE_CURVE('',#5475,#5479,#3756,.T.); +-#5934=EDGE_CURVE('',#5288,#5475,#633,.T.); +-#5936=EDGE_CURVE('',#5288,#5286,#638,.T.); +-#5938=EDGE_CURVE('',#5285,#5286,#643,.T.); +-#5942=EDGE_CURVE('',#5416,#5487,#648,.T.); +-#5944=EDGE_CURVE('',#5483,#5487,#4058,.T.); +-#5946=EDGE_CURVE('',#5483,#5413,#652,.T.); +-#5948=EDGE_CURVE('',#5413,#5414,#657,.T.); +-#5950=EDGE_CURVE('',#5416,#5414,#662,.T.); +-#5961=EDGE_CURVE('',#4427,#4428,#1298,.T.); +-#5963=EDGE_CURVE('',#4424,#4428,#906,.T.); +-#5965=EDGE_CURVE('',#4423,#4424,#1601,.T.); +-#5968=EDGE_CURVE('',#4390,#4400,#1658,.T.); +-#5970=EDGE_CURVE('',#4387,#4390,#746,.T.); +-#5972=EDGE_CURVE('',#4387,#4388,#750,.T.); +-#5974=EDGE_CURVE('',#4768,#4388,#1698,.T.); +-#5976=EDGE_CURVE('',#4767,#4768,#1230,.T.); +-#5978=EDGE_CURVE('',#4287,#4767,#1746,.T.); +-#5980=EDGE_CURVE('',#4287,#4288,#754,.T.); +-#5982=EDGE_CURVE('',#4288,#4290,#758,.T.); +-#5984=EDGE_CURVE('',#4300,#4290,#1900,.T.); +-#5987=EDGE_CURVE('',#4323,#4324,#1371,.T.); +-#5989=EDGE_CURVE('',#4327,#4323,#914,.T.); +-#5991=EDGE_CURVE('',#4327,#4328,#1344,.T.); +-#5995=EDGE_CURVE('',#4747,#4748,#667,.T.); +-#5997=EDGE_CURVE('',#4748,#4747,#672,.T.); +-#6001=EDGE_CURVE('',#4735,#4736,#677,.T.); +-#6003=EDGE_CURVE('',#4736,#4735,#682,.T.); +-#6007=EDGE_CURVE('',#4755,#4756,#687,.T.); +-#6009=EDGE_CURVE('',#4756,#4755,#692,.T.); +-#6013=EDGE_CURVE('',#4763,#4764,#697,.T.); +-#6015=EDGE_CURVE('',#4764,#4763,#702,.T.); +-#6019=EDGE_CURVE('',#4731,#4732,#707,.T.); +-#6021=EDGE_CURVE('',#4732,#4731,#712,.T.); +-#6025=EDGE_CURVE('',#4723,#4724,#717,.T.); +-#6027=EDGE_CURVE('',#4724,#4723,#722,.T.); +-#6031=EDGE_CURVE('',#4703,#4704,#727,.T.); +-#6033=EDGE_CURVE('',#4704,#4703,#732,.T.); +-#6037=EDGE_CURVE('',#4715,#4716,#737,.T.); +-#6039=EDGE_CURVE('',#4716,#4715,#742,.T.); +-#6043=EDGE_CURVE('',#4947,#4959,#762,.T.); +-#6045=EDGE_CURVE('',#4955,#4959,#3213,.T.); +-#6047=EDGE_CURVE('',#4955,#4967,#766,.T.); +-#6049=EDGE_CURVE('',#4963,#4967,#3195,.T.); +-#6051=EDGE_CURVE('',#4963,#4975,#770,.T.); +-#6053=EDGE_CURVE('',#4971,#4975,#3177,.T.); +-#6055=EDGE_CURVE('',#4971,#4951,#774,.T.); +-#6057=EDGE_CURVE('',#4947,#4951,#3159,.T.); +-#6061=EDGE_CURVE('',#5036,#5048,#778,.T.); +-#6063=EDGE_CURVE('',#5040,#5036,#3256,.T.); +-#6065=EDGE_CURVE('',#5028,#5040,#782,.T.); +-#6067=EDGE_CURVE('',#5032,#5028,#3290,.T.); +-#6069=EDGE_CURVE('',#5052,#5032,#786,.T.); +-#6071=EDGE_CURVE('',#5056,#5052,#3308,.T.); +-#6073=EDGE_CURVE('',#5044,#5056,#790,.T.); +-#6075=EDGE_CURVE('',#5048,#5044,#3326,.T.); +-#6086=EDGE_CURVE('',#4747,#4743,#794,.T.); +-#6088=EDGE_CURVE('',#4743,#4744,#803,.T.); +-#6090=EDGE_CURVE('',#4748,#4744,#798,.T.); +-#6102=EDGE_CURVE('',#4744,#4743,#808,.T.); +-#6124=EDGE_CURVE('',#4735,#4739,#812,.T.); +-#6126=EDGE_CURVE('',#4739,#4740,#821,.T.); +-#6128=EDGE_CURVE('',#4736,#4740,#816,.T.); +-#6140=EDGE_CURVE('',#4740,#4739,#826,.T.); +-#6151=EDGE_CURVE('',#4934,#4940,#830,.T.); +-#6153=EDGE_CURVE('',#4940,#4942,#834,.T.); +-#6155=EDGE_CURVE('',#4938,#4942,#838,.T.); +-#6157=EDGE_CURVE('',#4788,#4938,#1234,.T.); +-#6159=EDGE_CURVE('',#4788,#4393,#842,.T.); +-#6161=EDGE_CURVE('',#4393,#4394,#846,.T.); +-#6163=EDGE_CURVE('',#4394,#4396,#850,.T.); +-#6165=EDGE_CURVE('',#4396,#4398,#854,.T.); +-#6167=EDGE_CURVE('',#4934,#4398,#1178,.T.); +-#6175=EDGE_CURVE('',#5103,#5099,#2946,.T.); +-#6177=EDGE_CURVE('',#5076,#5103,#858,.T.); +-#6179=EDGE_CURVE('',#5080,#5076,#3036,.T.); +-#6181=EDGE_CURVE('',#5084,#5080,#862,.T.); +-#6183=EDGE_CURVE('',#5088,#5084,#3018,.T.); +-#6185=EDGE_CURVE('',#5092,#5088,#866,.T.); +-#6187=EDGE_CURVE('',#5096,#5092,#3000,.T.); +-#6189=EDGE_CURVE('',#5068,#5096,#870,.T.); +-#6191=EDGE_CURVE('',#5072,#5068,#2982,.T.); +-#6193=EDGE_CURVE('',#5060,#5072,#874,.T.); +-#6195=EDGE_CURVE('',#5064,#5060,#2964,.T.); +-#6197=EDGE_CURVE('',#5099,#5064,#878,.T.); +-#6207=EDGE_CURVE('',#4933,#4934,#1174,.T.); +-#6209=EDGE_CURVE('',#4940,#4933,#882,.T.); +-#6221=EDGE_CURVE('',#4432,#4428,#1312,.T.); +-#6223=EDGE_CURVE('',#4267,#4432,#1326,.T.); +-#6225=EDGE_CURVE('',#4267,#4263,#910,.T.); +-#6227=EDGE_CURVE('',#4331,#4263,#1331,.T.); +-#6229=EDGE_CURVE('',#4327,#4331,#1349,.T.); +-#6232=EDGE_CURVE('',#4319,#4323,#1367,.T.); +-#6234=EDGE_CURVE('',#4256,#4319,#918,.T.); +-#6236=EDGE_CURVE('',#4256,#4260,#1638,.T.); +-#6238=EDGE_CURVE('',#4240,#4260,#922,.T.); +-#6240=EDGE_CURVE('',#4240,#4244,#1622,.T.); +-#6242=EDGE_CURVE('',#4420,#4244,#926,.T.); +-#6244=EDGE_CURVE('',#4424,#4420,#1606,.T.); +-#6248=EDGE_CURVE('',#4495,#4496,#951,.T.); +-#6250=EDGE_CURVE('',#4496,#4495,#956,.T.); +-#6254=EDGE_CURVE('',#4567,#4568,#981,.T.); +-#6256=EDGE_CURVE('',#4568,#4567,#986,.T.); +-#6260=EDGE_CURVE('',#4615,#4616,#1011,.T.); +-#6262=EDGE_CURVE('',#4616,#4615,#1016,.T.); +-#6266=EDGE_CURVE('',#4647,#4648,#1021,.T.); +-#6268=EDGE_CURVE('',#4648,#4647,#1026,.T.); +-#6272=EDGE_CURVE('',#4659,#4660,#1031,.T.); +-#6274=EDGE_CURVE('',#4660,#4659,#1036,.T.); +-#6286=EDGE_CURVE('',#4398,#4447,#1182,.T.); +-#6288=EDGE_CURVE('',#4443,#4447,#1646,.T.); +-#6290=EDGE_CURVE('',#4443,#4407,#1186,.T.); +-#6292=EDGE_CURVE('',#4403,#4407,#1547,.T.); +-#6294=EDGE_CURVE('',#4232,#4403,#1190,.T.); +-#6296=EDGE_CURVE('',#4232,#4236,#1572,.T.); +-#6298=EDGE_CURVE('',#4248,#4236,#1194,.T.); +-#6300=EDGE_CURVE('',#4248,#4252,#1588,.T.); +-#6302=EDGE_CURVE('',#4312,#4252,#1198,.T.); +-#6304=EDGE_CURVE('',#4316,#4312,#1394,.T.); +-#6306=EDGE_CURVE('',#4344,#4316,#1202,.T.); +-#6308=EDGE_CURVE('',#4344,#4348,#1920,.T.); +-#6310=EDGE_CURVE('',#4298,#4348,#1206,.T.); +-#6312=EDGE_CURVE('',#4298,#4920,#1210,.T.); +-#6314=EDGE_CURVE('',#4919,#4920,#1214,.T.); +-#6316=EDGE_CURVE('',#4919,#4923,#1218,.T.); +-#6318=EDGE_CURVE('',#4923,#4924,#1222,.T.); +-#6320=EDGE_CURVE('',#4924,#4786,#1226,.T.); +-#6322=EDGE_CURVE('',#4767,#4786,#1742,.T.); +-#6325=EDGE_CURVE('',#4768,#4788,#1694,.T.); +-#6328=EDGE_CURVE('',#4937,#4938,#1238,.T.); +-#6330=EDGE_CURVE('',#4933,#4937,#1242,.T.); +-#6334=EDGE_CURVE('',#4373,#4374,#887,.T.); +-#6336=EDGE_CURVE('',#4374,#4373,#892,.T.); +-#6340=EDGE_CURVE('',#4383,#4384,#897,.T.); +-#6342=EDGE_CURVE('',#4384,#4383,#902,.T.); +-#6346=EDGE_CURVE('',#4473,#4474,#931,.T.); +-#6348=EDGE_CURVE('',#4474,#4473,#936,.T.); +-#6352=EDGE_CURVE('',#4483,#4484,#941,.T.); +-#6354=EDGE_CURVE('',#4484,#4483,#946,.T.); +-#6358=EDGE_CURVE('',#4543,#4544,#961,.T.); +-#6360=EDGE_CURVE('',#4544,#4543,#966,.T.); +-#6364=EDGE_CURVE('',#4555,#4556,#971,.T.); +-#6366=EDGE_CURVE('',#4556,#4555,#976,.T.); +-#6370=EDGE_CURVE('',#4587,#4588,#991,.T.); +-#6372=EDGE_CURVE('',#4588,#4587,#996,.T.); +-#6376=EDGE_CURVE('',#4599,#4600,#1001,.T.); +-#6378=EDGE_CURVE('',#4600,#4599,#1006,.T.); +-#6382=EDGE_CURVE('',#4671,#4672,#1041,.T.); +-#6384=EDGE_CURVE('',#4672,#4671,#1046,.T.); +-#6388=EDGE_CURVE('',#4683,#4684,#1051,.T.); +-#6390=EDGE_CURVE('',#4684,#4683,#1056,.T.); +-#6394=EDGE_CURVE('',#4695,#4696,#1061,.T.); +-#6396=EDGE_CURVE('',#4696,#4695,#1066,.T.); +-#6400=EDGE_CURVE('',#4279,#4800,#1070,.T.); +-#6402=EDGE_CURVE('',#4804,#4800,#1448,.T.); +-#6404=EDGE_CURVE('',#4795,#4804,#1074,.T.); +-#6406=EDGE_CURVE('',#4791,#4795,#1421,.T.); +-#6408=EDGE_CURVE('',#4791,#4275,#1078,.T.); +-#6410=EDGE_CURVE('',#4271,#4275,#1475,.T.); +-#6412=EDGE_CURVE('',#4271,#4283,#1082,.T.); +-#6414=EDGE_CURVE('',#4279,#4283,#1457,.T.); +-#6418=EDGE_CURVE('',#4811,#4820,#1086,.T.); +-#6420=EDGE_CURVE('',#4807,#4811,#1493,.T.); +-#6422=EDGE_CURVE('',#4807,#4412,#1090,.T.); +-#6424=EDGE_CURVE('',#4416,#4412,#1538,.T.); +-#6426=EDGE_CURVE('',#4416,#4439,#1094,.T.); +-#6428=EDGE_CURVE('',#4435,#4439,#2124,.T.); +-#6430=EDGE_CURVE('',#4435,#4780,#1098,.T.); +-#6432=EDGE_CURVE('',#4784,#4780,#1716,.T.); +-#6434=EDGE_CURVE('',#4775,#4784,#1720,.T.); +-#6436=EDGE_CURVE('',#4771,#4775,#1729,.T.); +-#6438=EDGE_CURVE('',#4336,#4771,#1102,.T.); +-#6440=EDGE_CURVE('',#4336,#4340,#1762,.T.); +-#6442=EDGE_CURVE('',#4307,#4340,#1106,.T.); +-#6444=EDGE_CURVE('',#4303,#4307,#1403,.T.); +-#6446=EDGE_CURVE('',#4303,#4816,#1110,.T.); +-#6448=EDGE_CURVE('',#4820,#4816,#1520,.T.); +-#6452=EDGE_CURVE('',#4831,#4832,#1115,.T.); +-#6454=EDGE_CURVE('',#4832,#4831,#1120,.T.); +-#6458=EDGE_CURVE('',#4863,#4864,#1125,.T.); +-#6460=EDGE_CURVE('',#4864,#4863,#1130,.T.); +-#6464=EDGE_CURVE('',#4875,#4876,#1135,.T.); +-#6466=EDGE_CURVE('',#4876,#4875,#1140,.T.); +-#6470=EDGE_CURVE('',#4887,#4888,#1145,.T.); +-#6472=EDGE_CURVE('',#4888,#4887,#1150,.T.); +-#6476=EDGE_CURVE('',#4899,#4900,#1155,.T.); +-#6478=EDGE_CURVE('',#4900,#4899,#1160,.T.); +-#6482=EDGE_CURVE('',#4911,#4912,#1165,.T.); +-#6484=EDGE_CURVE('',#4912,#4911,#1170,.T.); +-#6495=EDGE_CURVE('',#4368,#4374,#1250,.T.); +-#6497=EDGE_CURVE('',#4370,#4368,#1268,.T.); +-#6499=EDGE_CURVE('',#4370,#4373,#1246,.T.); +-#6511=EDGE_CURVE('',#4370,#4368,#1259,.T.); +-#6522=EDGE_CURVE('',#4367,#4368,#1254,.T.); +-#6525=EDGE_CURVE('',#4367,#4370,#1263,.T.); +-#6547=EDGE_CURVE('',#4378,#4384,#1276,.T.); +-#6549=EDGE_CURVE('',#4380,#4378,#1294,.T.); +-#6551=EDGE_CURVE('',#4380,#4383,#1272,.T.); +-#6563=EDGE_CURVE('',#4380,#4378,#1285,.T.); +-#6574=EDGE_CURVE('',#4377,#4378,#1280,.T.); +-#6577=EDGE_CURVE('',#4377,#4380,#1289,.T.); +-#6600=EDGE_CURVE('',#4431,#4432,#1307,.T.); +-#6613=EDGE_CURVE('',#4267,#4268,#1321,.T.); +-#6624=EDGE_CURVE('',#4263,#4264,#1335,.T.); +-#6637=EDGE_CURVE('',#4331,#4332,#1353,.T.); +-#6662=EDGE_CURVE('',#4319,#4320,#1362,.T.); +-#6675=EDGE_CURVE('',#4311,#4312,#1380,.T.); +-#6678=EDGE_CURVE('',#4251,#4252,#1584,.T.); +-#6691=EDGE_CURVE('',#4255,#4256,#1626,.T.); +-#6704=EDGE_CURVE('',#4315,#4316,#1389,.T.); +-#6715=EDGE_CURVE('',#4307,#4308,#1407,.T.); +-#6718=EDGE_CURVE('',#4339,#4340,#1758,.T.); +-#6731=EDGE_CURVE('',#4343,#4344,#1908,.T.); +-#6742=EDGE_CURVE('',#4303,#4304,#1398,.T.); +-#6755=EDGE_CURVE('',#4791,#4792,#1416,.T.); +-#6758=EDGE_CURVE('',#4275,#4276,#1479,.T.); +-#6769=EDGE_CURVE('',#4815,#4816,#1506,.T.); +-#6784=EDGE_CURVE('',#4795,#4796,#1425,.T.); +-#6797=EDGE_CURVE('',#4803,#4804,#1443,.T.); +-#6808=EDGE_CURVE('',#4799,#4800,#1434,.T.); +-#6823=EDGE_CURVE('',#4279,#4280,#1452,.T.); +-#6834=EDGE_CURVE('',#4807,#4808,#1488,.T.); +-#6837=EDGE_CURVE('',#4411,#4412,#1524,.T.); +-#6850=EDGE_CURVE('',#4283,#4284,#1461,.T.); +-#6861=EDGE_CURVE('',#4271,#4272,#1470,.T.); +-#6888=EDGE_CURVE('',#4811,#4812,#1497,.T.); +-#6901=EDGE_CURVE('',#4819,#4820,#1515,.T.); +-#6926=EDGE_CURVE('',#4415,#4416,#1533,.T.); +-#6937=EDGE_CURVE('',#4407,#4408,#1551,.T.); +-#6940=EDGE_CURVE('',#4443,#4444,#1642,.T.); +-#6953=EDGE_CURVE('',#4439,#4440,#2128,.T.); +-#6964=EDGE_CURVE('',#4403,#4404,#1542,.T.); +-#6979=EDGE_CURVE('',#4231,#4232,#1560,.T.); +-#6990=EDGE_CURVE('',#4419,#4420,#1592,.T.); +-#6993=EDGE_CURVE('',#4243,#4244,#1618,.T.); +-#7006=EDGE_CURVE('',#4235,#4236,#1568,.T.); +-#7018=EDGE_CURVE('',#4247,#4248,#1576,.T.); +-#7054=EDGE_CURVE('',#4239,#4240,#1610,.T.); +-#7070=EDGE_CURVE('',#4259,#4260,#1634,.T.); +-#7094=EDGE_CURVE('',#4447,#4448,#1650,.T.); +-#7110=EDGE_CURVE('',#4390,#4396,#1662,.T.); +-#7123=EDGE_CURVE('',#4387,#4394,#1666,.T.); +-#7136=EDGE_CURVE('',#4388,#4393,#1670,.T.); +-#7140=EDGE_CURVE('',#4455,#4456,#1675,.T.); +-#7142=EDGE_CURVE('',#4456,#4455,#1680,.T.); +-#7146=EDGE_CURVE('',#4463,#4464,#1685,.T.); +-#7148=EDGE_CURVE('',#4464,#4463,#1690,.T.); +-#7158=EDGE_CURVE('',#4779,#4780,#1702,.T.); +-#7161=EDGE_CURVE('',#4435,#4436,#2120,.T.); +-#7186=EDGE_CURVE('',#4783,#4784,#1711,.T.); +-#7197=EDGE_CURVE('',#4775,#4776,#1733,.T.); +-#7210=EDGE_CURVE('',#4771,#4772,#1724,.T.); +-#7225=EDGE_CURVE('',#4335,#4336,#1750,.T.); +-#7237=EDGE_CURVE('',#4786,#4293,#1792,.T.); +-#7239=EDGE_CURVE('',#4287,#4293,#1928,.T.); +-#7262=EDGE_CURVE('',#4920,#4926,#1776,.T.); +-#7265=EDGE_CURVE('',#4296,#4298,#1780,.T.); +-#7267=EDGE_CURVE('',#4294,#4296,#1784,.T.); +-#7269=EDGE_CURVE('',#4293,#4294,#1788,.T.); +-#7273=EDGE_CURVE('',#4924,#4928,#1796,.T.); +-#7275=EDGE_CURVE('',#4926,#4928,#1800,.T.); +-#7279=EDGE_CURVE('',#4707,#4708,#1767,.T.); +-#7281=EDGE_CURVE('',#4708,#4707,#1772,.T.); +-#7285=EDGE_CURVE('',#5020,#5022,#1993,.T.); +-#7287=EDGE_CURVE('',#5020,#4983,#1804,.T.); +-#7289=EDGE_CURVE('',#4979,#4983,#2107,.T.); +-#7291=EDGE_CURVE('',#4979,#4991,#1808,.T.); +-#7293=EDGE_CURVE('',#4987,#4991,#2089,.T.); +-#7295=EDGE_CURVE('',#4987,#5015,#1812,.T.); +-#7297=EDGE_CURVE('',#5011,#5015,#2071,.T.); +-#7299=EDGE_CURVE('',#5011,#5007,#1816,.T.); +-#7301=EDGE_CURVE('',#5003,#5007,#2053,.T.); +-#7303=EDGE_CURVE('',#5003,#4999,#1820,.T.); +-#7305=EDGE_CURVE('',#4995,#4999,#2035,.T.); +-#7307=EDGE_CURVE('',#4995,#5022,#1824,.T.); +-#7318=EDGE_CURVE('',#4704,#4708,#1832,.T.); +-#7321=EDGE_CURVE('',#4703,#4707,#1828,.T.); +-#7345=EDGE_CURVE('',#4926,#4919,#1836,.T.); +-#7358=EDGE_CURVE('',#4928,#4923,#1860,.T.); +-#7362=EDGE_CURVE('',#4929,#4930,#1846,.T.); +-#7364=EDGE_CURVE('',#4930,#4929,#1856,.T.); +-#7385=EDGE_CURVE('',#4930,#4531,#1868,.T.); +-#7388=EDGE_CURVE('',#4532,#4929,#1864,.T.); +-#7390=EDGE_CURVE('',#4531,#4532,#1873,.T.); +-#7403=EDGE_CURVE('',#4532,#4531,#1878,.T.); +-#7417=EDGE_CURVE('',#4535,#4536,#1883,.T.); +-#7419=EDGE_CURVE('',#4536,#4535,#1888,.T.); +-#7430=EDGE_CURVE('',#4536,#4504,#1896,.T.); +-#7433=EDGE_CURVE('',#4535,#4503,#1892,.T.); +-#7457=EDGE_CURVE('',#4347,#4348,#1916,.T.); +-#7461=EDGE_CURVE('',#4290,#4296,#1904,.T.); +-#7484=EDGE_CURVE('',#4288,#4294,#1924,.T.); +-#7502=EDGE_CURVE('',#4355,#4356,#1933,.T.); +-#7504=EDGE_CURVE('',#4356,#4355,#1938,.T.); +-#7508=EDGE_CURVE('',#4363,#4364,#1943,.T.); +-#7510=EDGE_CURVE('',#4364,#4363,#1948,.T.); +-#7521=EDGE_CURVE('',#4356,#4352,#1956,.T.); +-#7523=EDGE_CURVE('',#4351,#4352,#1961,.T.); +-#7525=EDGE_CURVE('',#4355,#4351,#1952,.T.); +-#7537=EDGE_CURVE('',#4352,#4351,#1966,.T.); +-#7559=EDGE_CURVE('',#4364,#4360,#1974,.T.); +-#7561=EDGE_CURVE('',#4359,#4360,#1979,.T.); +-#7563=EDGE_CURVE('',#4363,#4359,#1970,.T.); +-#7575=EDGE_CURVE('',#4360,#4359,#1984,.T.); +-#7596=EDGE_CURVE('',#5019,#5020,#1988,.T.); +-#7599=EDGE_CURVE('',#5024,#5022,#1997,.T.); +-#7601=EDGE_CURVE('',#5024,#5019,#2002,.T.); +-#7612=EDGE_CURVE('',#5019,#4984,#2006,.T.); +-#7614=EDGE_CURVE('',#4983,#4984,#2111,.T.); +-#7627=EDGE_CURVE('',#4996,#5024,#2010,.T.); +-#7629=EDGE_CURVE('',#5000,#4996,#2044,.T.); +-#7631=EDGE_CURVE('',#5004,#5000,#2014,.T.); +-#7633=EDGE_CURVE('',#5008,#5004,#2062,.T.); +-#7635=EDGE_CURVE('',#5012,#5008,#2018,.T.); +-#7637=EDGE_CURVE('',#5016,#5012,#2080,.T.); +-#7639=EDGE_CURVE('',#4988,#5016,#2022,.T.); +-#7641=EDGE_CURVE('',#4992,#4988,#2098,.T.); +-#7643=EDGE_CURVE('',#4980,#4992,#2026,.T.); +-#7645=EDGE_CURVE('',#4984,#4980,#2116,.T.); +-#7657=EDGE_CURVE('',#4995,#4996,#2030,.T.); +-#7670=EDGE_CURVE('',#4999,#5000,#2039,.T.); +-#7683=EDGE_CURVE('',#5003,#5004,#2048,.T.); +-#7696=EDGE_CURVE('',#5007,#5008,#2057,.T.); +-#7709=EDGE_CURVE('',#5011,#5012,#2066,.T.); +-#7722=EDGE_CURVE('',#5015,#5016,#2075,.T.); +-#7733=EDGE_CURVE('',#4987,#4988,#2084,.T.); +-#7748=EDGE_CURVE('',#4991,#4992,#2093,.T.); +-#7759=EDGE_CURVE('',#4979,#4980,#2102,.T.); +-#7797=EDGE_CURVE('',#4455,#4451,#2136,.T.); +-#7799=EDGE_CURVE('',#4451,#4452,#2145,.T.); +-#7801=EDGE_CURVE('',#4456,#4452,#2140,.T.); +-#7813=EDGE_CURVE('',#4452,#4451,#2150,.T.); +-#7835=EDGE_CURVE('',#4463,#4459,#2154,.T.); +-#7837=EDGE_CURVE('',#4459,#4460,#2163,.T.); +-#7839=EDGE_CURVE('',#4464,#4460,#2158,.T.); +-#7851=EDGE_CURVE('',#4460,#4459,#2168,.T.); +-#7873=EDGE_CURVE('',#4470,#4473,#2176,.T.); +-#7875=EDGE_CURVE('',#4470,#4468,#2194,.T.); +-#7877=EDGE_CURVE('',#4468,#4474,#2172,.T.); +-#7889=EDGE_CURVE('',#4470,#4468,#2189,.T.); +-#7900=EDGE_CURVE('',#4467,#4468,#2180,.T.); +-#7902=EDGE_CURVE('',#4467,#4470,#2184,.T.); +-#7925=EDGE_CURVE('',#4480,#4483,#2202,.T.); +-#7927=EDGE_CURVE('',#4480,#4478,#2220,.T.); +-#7929=EDGE_CURVE('',#4478,#4484,#2198,.T.); +-#7941=EDGE_CURVE('',#4480,#4478,#2215,.T.); +-#7952=EDGE_CURVE('',#4477,#4478,#2206,.T.); +-#7954=EDGE_CURVE('',#4477,#4480,#2210,.T.); +-#7977=EDGE_CURVE('',#4496,#4492,#2228,.T.); +-#7979=EDGE_CURVE('',#4491,#4492,#2233,.T.); +-#7981=EDGE_CURVE('',#4495,#4491,#2224,.T.); +-#7993=EDGE_CURVE('',#4492,#4491,#2238,.T.); +-#8008=EDGE_CURVE('',#4499,#4500,#2243,.T.); +-#8010=EDGE_CURVE('',#4500,#4499,#2248,.T.); +-#8021=EDGE_CURVE('',#4500,#4488,#2256,.T.); +-#8024=EDGE_CURVE('',#4499,#4487,#2252,.T.); +-#8047=EDGE_CURVE('',#4544,#4540,#2264,.T.); +-#8049=EDGE_CURVE('',#4539,#4540,#2269,.T.); +-#8051=EDGE_CURVE('',#4543,#4539,#2260,.T.); +-#8063=EDGE_CURVE('',#4540,#4539,#2274,.T.); +-#8078=EDGE_CURVE('',#4547,#4548,#2279,.T.); +-#8080=EDGE_CURVE('',#4548,#4547,#2284,.T.); +-#8091=EDGE_CURVE('',#4548,#4508,#2292,.T.); +-#8094=EDGE_CURVE('',#4547,#4507,#2288,.T.); +-#8117=EDGE_CURVE('',#4556,#4552,#2300,.T.); +-#8119=EDGE_CURVE('',#4551,#4552,#2305,.T.); +-#8121=EDGE_CURVE('',#4555,#4551,#2296,.T.); +-#8133=EDGE_CURVE('',#4552,#4551,#2310,.T.); +-#8148=EDGE_CURVE('',#4559,#4560,#2315,.T.); +-#8150=EDGE_CURVE('',#4560,#4559,#2320,.T.); +-#8161=EDGE_CURVE('',#4560,#4512,#2328,.T.); +-#8164=EDGE_CURVE('',#4559,#4511,#2324,.T.); +-#8187=EDGE_CURVE('',#4568,#4564,#2336,.T.); +-#8189=EDGE_CURVE('',#4563,#4564,#2341,.T.); +-#8191=EDGE_CURVE('',#4567,#4563,#2332,.T.); +-#8203=EDGE_CURVE('',#4564,#4563,#2346,.T.); +-#8218=EDGE_CURVE('',#4571,#4572,#2351,.T.); +-#8220=EDGE_CURVE('',#4572,#4571,#2356,.T.); +-#8231=EDGE_CURVE('',#4572,#4516,#2364,.T.); +-#8234=EDGE_CURVE('',#4571,#4515,#2360,.T.); +-#8257=EDGE_CURVE('',#4588,#4584,#2372,.T.); +-#8259=EDGE_CURVE('',#4583,#4584,#2377,.T.); +-#8261=EDGE_CURVE('',#4587,#4583,#2368,.T.); +-#8273=EDGE_CURVE('',#4584,#4583,#2382,.T.); +-#8288=EDGE_CURVE('',#4591,#4592,#2387,.T.); +-#8290=EDGE_CURVE('',#4592,#4591,#2392,.T.); +-#8301=EDGE_CURVE('',#4592,#4524,#2400,.T.); +-#8304=EDGE_CURVE('',#4591,#4523,#2396,.T.); +-#8327=EDGE_CURVE('',#4600,#4596,#2408,.T.); +-#8329=EDGE_CURVE('',#4595,#4596,#2413,.T.); +-#8331=EDGE_CURVE('',#4599,#4595,#2404,.T.); +-#8343=EDGE_CURVE('',#4596,#4595,#2418,.T.); +-#8358=EDGE_CURVE('',#4603,#4604,#2423,.T.); +-#8360=EDGE_CURVE('',#4604,#4603,#2428,.T.); +-#8371=EDGE_CURVE('',#4604,#4528,#2436,.T.); +-#8374=EDGE_CURVE('',#4603,#4527,#2432,.T.); +-#8397=EDGE_CURVE('',#4616,#4612,#2444,.T.); +-#8399=EDGE_CURVE('',#4611,#4612,#2449,.T.); +-#8401=EDGE_CURVE('',#4615,#4611,#2440,.T.); +-#8413=EDGE_CURVE('',#4612,#4611,#2454,.T.); +-#8428=EDGE_CURVE('',#4619,#4620,#2459,.T.); +-#8430=EDGE_CURVE('',#4620,#4619,#2464,.T.); +-#8441=EDGE_CURVE('',#4620,#4608,#2472,.T.); +-#8444=EDGE_CURVE('',#4619,#4607,#2468,.T.); +-#8467=EDGE_CURVE('',#4648,#4644,#2480,.T.); +-#8469=EDGE_CURVE('',#4643,#4644,#2485,.T.); +-#8471=EDGE_CURVE('',#4647,#4643,#2476,.T.); +-#8483=EDGE_CURVE('',#4644,#4643,#2490,.T.); +-#8498=EDGE_CURVE('',#4651,#4652,#2495,.T.); +-#8500=EDGE_CURVE('',#4652,#4651,#2500,.T.); +-#8511=EDGE_CURVE('',#4652,#4624,#2508,.T.); +-#8514=EDGE_CURVE('',#4651,#4623,#2504,.T.); +-#8537=EDGE_CURVE('',#4660,#4656,#2516,.T.); +-#8539=EDGE_CURVE('',#4655,#4656,#2521,.T.); +-#8541=EDGE_CURVE('',#4659,#4655,#2512,.T.); +-#8553=EDGE_CURVE('',#4656,#4655,#2526,.T.); +-#8568=EDGE_CURVE('',#4663,#4664,#2531,.T.); +-#8570=EDGE_CURVE('',#4664,#4663,#2536,.T.); +-#8581=EDGE_CURVE('',#4664,#4636,#2544,.T.); +-#8584=EDGE_CURVE('',#4663,#4635,#2540,.T.); +-#8607=EDGE_CURVE('',#4672,#4668,#2552,.T.); +-#8609=EDGE_CURVE('',#4667,#4668,#2557,.T.); +-#8611=EDGE_CURVE('',#4671,#4667,#2548,.T.); +-#8623=EDGE_CURVE('',#4668,#4667,#2562,.T.); +-#8638=EDGE_CURVE('',#4675,#4676,#2567,.T.); +-#8640=EDGE_CURVE('',#4676,#4675,#2572,.T.); +-#8651=EDGE_CURVE('',#4676,#4628,#2580,.T.); +-#8654=EDGE_CURVE('',#4675,#4627,#2576,.T.); +-#8677=EDGE_CURVE('',#4684,#4680,#2588,.T.); +-#8679=EDGE_CURVE('',#4679,#4680,#2593,.T.); +-#8681=EDGE_CURVE('',#4683,#4679,#2584,.T.); +-#8693=EDGE_CURVE('',#4680,#4679,#2598,.T.); +-#8708=EDGE_CURVE('',#4687,#4688,#2603,.T.); +-#8710=EDGE_CURVE('',#4688,#4687,#2608,.T.); +-#8721=EDGE_CURVE('',#4688,#4632,#2616,.T.); +-#8724=EDGE_CURVE('',#4687,#4631,#2612,.T.); +-#8747=EDGE_CURVE('',#4696,#4692,#2624,.T.); +-#8749=EDGE_CURVE('',#4691,#4692,#2629,.T.); +-#8751=EDGE_CURVE('',#4695,#4691,#2620,.T.); +-#8763=EDGE_CURVE('',#4692,#4691,#2634,.T.); +-#8778=EDGE_CURVE('',#4699,#4700,#2639,.T.); +-#8780=EDGE_CURVE('',#4700,#4699,#2644,.T.); +-#8791=EDGE_CURVE('',#4700,#4640,#2652,.T.); +-#8794=EDGE_CURVE('',#4699,#4639,#2648,.T.); +-#8817=EDGE_CURVE('',#4832,#4828,#2660,.T.); +-#8819=EDGE_CURVE('',#4827,#4828,#2665,.T.); +-#8821=EDGE_CURVE('',#4831,#4827,#2656,.T.); +-#8833=EDGE_CURVE('',#4828,#4827,#2670,.T.); +-#8848=EDGE_CURVE('',#4835,#4836,#2675,.T.); +-#8850=EDGE_CURVE('',#4836,#4835,#2680,.T.); +-#8861=EDGE_CURVE('',#4836,#4824,#2688,.T.); +-#8864=EDGE_CURVE('',#4835,#4823,#2684,.T.); +-#8887=EDGE_CURVE('',#4864,#4860,#2696,.T.); +-#8889=EDGE_CURVE('',#4859,#4860,#2701,.T.); +-#8891=EDGE_CURVE('',#4863,#4859,#2692,.T.); +-#8903=EDGE_CURVE('',#4860,#4859,#2706,.T.); +-#8918=EDGE_CURVE('',#4867,#4868,#2711,.T.); +-#8920=EDGE_CURVE('',#4868,#4867,#2716,.T.); +-#8931=EDGE_CURVE('',#4868,#4840,#2724,.T.); +-#8934=EDGE_CURVE('',#4867,#4839,#2720,.T.); +-#8957=EDGE_CURVE('',#4876,#4872,#2732,.T.); +-#8959=EDGE_CURVE('',#4871,#4872,#2737,.T.); +-#8961=EDGE_CURVE('',#4875,#4871,#2728,.T.); +-#8973=EDGE_CURVE('',#4872,#4871,#2742,.T.); +-#8988=EDGE_CURVE('',#4879,#4880,#2747,.T.); +-#8990=EDGE_CURVE('',#4880,#4879,#2752,.T.); +-#9001=EDGE_CURVE('',#4880,#4844,#2760,.T.); +-#9004=EDGE_CURVE('',#4879,#4843,#2756,.T.); +-#9027=EDGE_CURVE('',#4888,#4884,#2768,.T.); +-#9029=EDGE_CURVE('',#4883,#4884,#2773,.T.); +-#9031=EDGE_CURVE('',#4887,#4883,#2764,.T.); +-#9043=EDGE_CURVE('',#4884,#4883,#2778,.T.); +-#9058=EDGE_CURVE('',#4891,#4892,#2783,.T.); +-#9060=EDGE_CURVE('',#4892,#4891,#2788,.T.); +-#9071=EDGE_CURVE('',#4892,#4848,#2796,.T.); +-#9074=EDGE_CURVE('',#4891,#4847,#2792,.T.); +-#9097=EDGE_CURVE('',#4900,#4896,#2804,.T.); +-#9099=EDGE_CURVE('',#4895,#4896,#2809,.T.); +-#9101=EDGE_CURVE('',#4899,#4895,#2800,.T.); +-#9113=EDGE_CURVE('',#4896,#4895,#2814,.T.); +-#9128=EDGE_CURVE('',#4903,#4904,#2819,.T.); +-#9130=EDGE_CURVE('',#4904,#4903,#2824,.T.); +-#9141=EDGE_CURVE('',#4904,#4852,#2832,.T.); +-#9144=EDGE_CURVE('',#4903,#4851,#2828,.T.); +-#9167=EDGE_CURVE('',#4912,#4908,#2840,.T.); +-#9169=EDGE_CURVE('',#4907,#4908,#2845,.T.); +-#9171=EDGE_CURVE('',#4911,#4907,#2836,.T.); +-#9183=EDGE_CURVE('',#4908,#4907,#2850,.T.); +-#9198=EDGE_CURVE('',#4915,#4916,#2855,.T.); +-#9200=EDGE_CURVE('',#4916,#4915,#2860,.T.); +-#9211=EDGE_CURVE('',#4916,#4856,#2868,.T.); +-#9214=EDGE_CURVE('',#4915,#4855,#2864,.T.); +-#9238=EDGE_CURVE('',#4942,#4937,#2872,.T.); +-#9254=EDGE_CURVE('',#4943,#4944,#2882,.T.); +-#9256=EDGE_CURVE('',#4944,#4943,#2892,.T.); +-#9266=EDGE_CURVE('',#4943,#4575,#2900,.T.); +-#9269=EDGE_CURVE('',#4576,#4944,#2896,.T.); +-#9271=EDGE_CURVE('',#4575,#4576,#2905,.T.); +-#9284=EDGE_CURVE('',#4576,#4575,#2910,.T.); +-#9298=EDGE_CURVE('',#4579,#4580,#2915,.T.); +-#9300=EDGE_CURVE('',#4580,#4579,#2920,.T.); +-#9311=EDGE_CURVE('',#4580,#4520,#2928,.T.); +-#9314=EDGE_CURVE('',#4579,#4519,#2924,.T.); +-#9336=EDGE_CURVE('',#5099,#5100,#2932,.T.); +-#9338=EDGE_CURVE('',#5100,#5104,#2937,.T.); +-#9340=EDGE_CURVE('',#5103,#5104,#2941,.T.); +-#9353=EDGE_CURVE('',#5062,#5064,#2959,.T.); +-#9355=EDGE_CURVE('',#5100,#5062,#3044,.T.); +-#9365=EDGE_CURVE('',#5059,#5060,#2950,.T.); +-#9367=EDGE_CURVE('',#5059,#5062,#2955,.T.); +-#9381=EDGE_CURVE('',#5070,#5072,#2977,.T.); +-#9383=EDGE_CURVE('',#5059,#5070,#3048,.T.); +-#9393=EDGE_CURVE('',#5067,#5068,#2968,.T.); +-#9395=EDGE_CURVE('',#5067,#5070,#2973,.T.); +-#9409=EDGE_CURVE('',#5094,#5096,#2995,.T.); +-#9411=EDGE_CURVE('',#5067,#5094,#3052,.T.); +-#9421=EDGE_CURVE('',#5091,#5092,#2986,.T.); +-#9423=EDGE_CURVE('',#5091,#5094,#2991,.T.); +-#9435=EDGE_CURVE('',#5086,#5088,#3013,.T.); +-#9437=EDGE_CURVE('',#5091,#5086,#3056,.T.); +-#9449=EDGE_CURVE('',#5083,#5084,#3004,.T.); +-#9451=EDGE_CURVE('',#5083,#5086,#3009,.T.); +-#9463=EDGE_CURVE('',#5078,#5080,#3031,.T.); +-#9465=EDGE_CURVE('',#5083,#5078,#3060,.T.); +-#9477=EDGE_CURVE('',#5075,#5076,#3022,.T.); +-#9479=EDGE_CURVE('',#5075,#5078,#3027,.T.); +-#9492=EDGE_CURVE('',#5075,#5104,#3040,.T.); +-#9525=EDGE_CURVE('',#4755,#4751,#3064,.T.); +-#9527=EDGE_CURVE('',#4751,#4752,#3073,.T.); +-#9529=EDGE_CURVE('',#4756,#4752,#3068,.T.); +-#9541=EDGE_CURVE('',#4752,#4751,#3078,.T.); +-#9563=EDGE_CURVE('',#4763,#4759,#3082,.T.); +-#9565=EDGE_CURVE('',#4759,#4760,#3091,.T.); +-#9567=EDGE_CURVE('',#4764,#4760,#3086,.T.); +-#9579=EDGE_CURVE('',#4760,#4759,#3096,.T.); +-#9601=EDGE_CURVE('',#4732,#4728,#3104,.T.); +-#9603=EDGE_CURVE('',#4727,#4728,#3109,.T.); +-#9605=EDGE_CURVE('',#4731,#4727,#3100,.T.); +-#9617=EDGE_CURVE('',#4728,#4727,#3114,.T.); +-#9639=EDGE_CURVE('',#4724,#4720,#3122,.T.); +-#9641=EDGE_CURVE('',#4719,#4720,#3127,.T.); +-#9643=EDGE_CURVE('',#4723,#4719,#3118,.T.); +-#9655=EDGE_CURVE('',#4720,#4719,#3132,.T.); +-#9677=EDGE_CURVE('',#4716,#4712,#3140,.T.); +-#9679=EDGE_CURVE('',#4711,#4712,#3145,.T.); +-#9681=EDGE_CURVE('',#4715,#4711,#3136,.T.); +-#9693=EDGE_CURVE('',#4712,#4711,#3150,.T.); +-#9714=EDGE_CURVE('',#4947,#4948,#3154,.T.); +-#9716=EDGE_CURVE('',#4948,#4960,#3238,.T.); +-#9718=EDGE_CURVE('',#4959,#4960,#3217,.T.); +-#9731=EDGE_CURVE('',#4951,#4952,#3163,.T.); +-#9733=EDGE_CURVE('',#4952,#4948,#3168,.T.); +-#9745=EDGE_CURVE('',#4971,#4972,#3172,.T.); +-#9747=EDGE_CURVE('',#4972,#4952,#3226,.T.); +-#9759=EDGE_CURVE('',#4975,#4976,#3181,.T.); +-#9761=EDGE_CURVE('',#4976,#4972,#3186,.T.); +-#9771=EDGE_CURVE('',#4963,#4964,#3190,.T.); +-#9773=EDGE_CURVE('',#4964,#4976,#3230,.T.); +-#9787=EDGE_CURVE('',#4967,#4968,#3199,.T.); +-#9789=EDGE_CURVE('',#4968,#4964,#3204,.T.); +-#9799=EDGE_CURVE('',#4955,#4956,#3208,.T.); +-#9801=EDGE_CURVE('',#4956,#4968,#3234,.T.); +-#9816=EDGE_CURVE('',#4960,#4956,#3222,.T.); +-#9842=EDGE_CURVE('',#5035,#5036,#3242,.T.); +-#9845=EDGE_CURVE('',#5046,#5048,#3321,.T.); +-#9847=EDGE_CURVE('',#5035,#5046,#3264,.T.); +-#9858=EDGE_CURVE('',#5035,#5038,#3247,.T.); +-#9860=EDGE_CURVE('',#5038,#5040,#3251,.T.); +-#9871=EDGE_CURVE('',#5027,#5030,#3281,.T.); +-#9873=EDGE_CURVE('',#5027,#5038,#3260,.T.); +-#9877=EDGE_CURVE('',#5043,#5046,#3317,.T.); +-#9879=EDGE_CURVE('',#5043,#5054,#3268,.T.); +-#9881=EDGE_CURVE('',#5051,#5054,#3299,.T.); +-#9883=EDGE_CURVE('',#5051,#5030,#3272,.T.); +-#9893=EDGE_CURVE('',#5027,#5028,#3276,.T.); +-#9896=EDGE_CURVE('',#5030,#5032,#3285,.T.); +-#9921=EDGE_CURVE('',#5051,#5052,#3294,.T.); +-#9934=EDGE_CURVE('',#5054,#5056,#3303,.T.); +-#9945=EDGE_CURVE('',#5043,#5044,#3312,.T.); +-#9971=EDGE_CURVE('',#5121,#5107,#3330,.T.); +-#9973=EDGE_CURVE('',#5107,#5108,#3346,.T.); +-#9975=EDGE_CURVE('',#5122,#5108,#3342,.T.); +-#9986=EDGE_CURVE('',#5126,#5112,#3334,.T.); +-#9988=EDGE_CURVE('',#5112,#5107,#3351,.T.); +-#10000=EDGE_CURVE('',#5124,#5110,#3338,.T.); +-#10002=EDGE_CURVE('',#5110,#5112,#3355,.T.); +-#10015=EDGE_CURVE('',#5108,#5110,#3360,.T.); +-#10038=EDGE_CURVE('',#5140,#5136,#3397,.T.); +-#10040=EDGE_CURVE('',#5118,#5140,#3365,.T.); +-#10042=EDGE_CURVE('',#5116,#5118,#3370,.T.); +-#10044=EDGE_CURVE('',#5115,#5116,#3375,.T.); +-#10046=EDGE_CURVE('',#5136,#5115,#3379,.T.); +-#10056=EDGE_CURVE('',#5135,#5136,#3383,.T.); +-#10059=EDGE_CURVE('',#5139,#5140,#3392,.T.); +-#10072=EDGE_CURVE('',#5129,#5115,#3401,.T.); +-#10086=EDGE_CURVE('',#5130,#5116,#3405,.T.); +-#10099=EDGE_CURVE('',#5132,#5118,#3409,.T.); +-#10121=EDGE_CURVE('',#5183,#5184,#3413,.T.); +-#10124=EDGE_CURVE('',#5188,#5186,#3422,.T.); +-#10126=EDGE_CURVE('',#5188,#5183,#3427,.T.); +-#10137=EDGE_CURVE('',#5183,#5143,#3444,.T.); +-#10139=EDGE_CURVE('',#5147,#5143,#3486,.T.); +-#10150=EDGE_CURVE('',#5191,#5172,#3431,.T.); +-#10152=EDGE_CURVE('',#5196,#5191,#3478,.T.); +-#10154=EDGE_CURVE('',#5144,#5196,#3435,.T.); +-#10156=EDGE_CURVE('',#5143,#5144,#3440,.T.); +-#10160=EDGE_CURVE('',#5160,#5188,#3448,.T.); +-#10162=EDGE_CURVE('',#5164,#5160,#3558,.T.); +-#10164=EDGE_CURVE('',#5152,#5164,#3452,.T.); +-#10166=EDGE_CURVE('',#5156,#5152,#3540,.T.); +-#10168=EDGE_CURVE('',#5176,#5156,#3456,.T.); +-#10170=EDGE_CURVE('',#5180,#5176,#3522,.T.); +-#10172=EDGE_CURVE('',#5168,#5180,#3460,.T.); +-#10174=EDGE_CURVE('',#5172,#5168,#3504,.T.); +-#10184=EDGE_CURVE('',#5191,#5192,#3464,.T.); +-#10187=EDGE_CURVE('',#5171,#5172,#3499,.T.); +-#10200=EDGE_CURVE('',#5196,#5194,#3473,.T.); +-#10213=EDGE_CURVE('',#5148,#5144,#3482,.T.); +-#10236=EDGE_CURVE('',#5167,#5168,#3490,.T.); +-#10251=EDGE_CURVE('',#5179,#5180,#3517,.T.); +-#10262=EDGE_CURVE('',#5175,#5176,#3508,.T.); +-#10275=EDGE_CURVE('',#5155,#5156,#3535,.T.); +-#10288=EDGE_CURVE('',#5151,#5152,#3526,.T.); +-#10303=EDGE_CURVE('',#5163,#5164,#3553,.T.); +-#10314=EDGE_CURVE('',#5159,#5160,#3544,.T.); +-#10340=EDGE_CURVE('',#5207,#5199,#3562,.T.); +-#10342=EDGE_CURVE('',#5199,#5200,#3578,.T.); +-#10344=EDGE_CURVE('',#5208,#5200,#3574,.T.); +-#10355=EDGE_CURVE('',#5212,#5204,#3566,.T.); +-#10357=EDGE_CURVE('',#5204,#5199,#3583,.T.); +-#10369=EDGE_CURVE('',#5210,#5202,#3570,.T.); +-#10371=EDGE_CURVE('',#5202,#5204,#3587,.T.); +-#10384=EDGE_CURVE('',#5200,#5202,#3592,.T.); +-#10408=EDGE_CURVE('',#5223,#5215,#3596,.T.); +-#10410=EDGE_CURVE('',#5215,#5216,#3612,.T.); +-#10412=EDGE_CURVE('',#5224,#5216,#3608,.T.); +-#10423=EDGE_CURVE('',#5228,#5220,#3600,.T.); +-#10425=EDGE_CURVE('',#5220,#5215,#3617,.T.); +-#10437=EDGE_CURVE('',#5226,#5218,#3604,.T.); +-#10439=EDGE_CURVE('',#5218,#5220,#3621,.T.); +-#10452=EDGE_CURVE('',#5216,#5218,#3626,.T.); +-#10476=EDGE_CURVE('',#5239,#5231,#3630,.T.); +-#10478=EDGE_CURVE('',#5231,#5232,#3646,.T.); +-#10480=EDGE_CURVE('',#5240,#5232,#3642,.T.); +-#10491=EDGE_CURVE('',#5244,#5236,#3634,.T.); +-#10493=EDGE_CURVE('',#5236,#5231,#3651,.T.); +-#10505=EDGE_CURVE('',#5242,#5234,#3638,.T.); +-#10507=EDGE_CURVE('',#5234,#5236,#3655,.T.); +-#10520=EDGE_CURVE('',#5232,#5234,#3660,.T.); +-#10544=EDGE_CURVE('',#5255,#5247,#3664,.T.); +-#10546=EDGE_CURVE('',#5247,#5248,#3680,.T.); +-#10548=EDGE_CURVE('',#5256,#5248,#3676,.T.); +-#10559=EDGE_CURVE('',#5260,#5252,#3668,.T.); +-#10561=EDGE_CURVE('',#5252,#5247,#3685,.T.); +-#10573=EDGE_CURVE('',#5258,#5250,#3672,.T.); +-#10575=EDGE_CURVE('',#5250,#5252,#3689,.T.); +-#10588=EDGE_CURVE('',#5248,#5250,#3694,.T.); +-#10612=EDGE_CURVE('',#5278,#5264,#3702,.T.); +-#10614=EDGE_CURVE('',#5263,#5264,#3714,.T.); +-#10616=EDGE_CURVE('',#5277,#5263,#3698,.T.); +-#10627=EDGE_CURVE('',#5280,#5266,#3706,.T.); +-#10629=EDGE_CURVE('',#5264,#5266,#3719,.T.); +-#10641=EDGE_CURVE('',#5282,#5268,#3710,.T.); +-#10643=EDGE_CURVE('',#5266,#5268,#3723,.T.); +-#10656=EDGE_CURVE('',#5268,#5263,#3728,.T.); +-#10679=EDGE_CURVE('',#5480,#5476,#3765,.T.); +-#10681=EDGE_CURVE('',#5480,#5271,#3732,.T.); +-#10683=EDGE_CURVE('',#5271,#5272,#3737,.T.); +-#10685=EDGE_CURVE('',#5272,#5274,#3742,.T.); +-#10687=EDGE_CURVE('',#5274,#5476,#3747,.T.); +-#10697=EDGE_CURVE('',#5475,#5476,#3751,.T.); +-#10700=EDGE_CURVE('',#5479,#5480,#3760,.T.); +-#10713=EDGE_CURVE('',#5288,#5274,#3769,.T.); +-#10727=EDGE_CURVE('',#5286,#5272,#3773,.T.); +-#10740=EDGE_CURVE('',#5285,#5271,#3777,.T.); +-#10763=EDGE_CURVE('',#5306,#5292,#3785,.T.); +-#10765=EDGE_CURVE('',#5291,#5292,#3797,.T.); +-#10767=EDGE_CURVE('',#5305,#5291,#3781,.T.); +-#10778=EDGE_CURVE('',#5308,#5294,#3789,.T.); +-#10780=EDGE_CURVE('',#5292,#5294,#3802,.T.); +-#10792=EDGE_CURVE('',#5310,#5296,#3793,.T.); +-#10794=EDGE_CURVE('',#5294,#5296,#3806,.T.); +-#10807=EDGE_CURVE('',#5296,#5291,#3811,.T.); +-#10830=EDGE_CURVE('',#5472,#5468,#3848,.T.); +-#10832=EDGE_CURVE('',#5472,#5299,#3815,.T.); +-#10834=EDGE_CURVE('',#5299,#5300,#3820,.T.); +-#10836=EDGE_CURVE('',#5300,#5302,#3825,.T.); +-#10838=EDGE_CURVE('',#5302,#5468,#3830,.T.); +-#10848=EDGE_CURVE('',#5467,#5468,#3834,.T.); +-#10851=EDGE_CURVE('',#5471,#5472,#3843,.T.); +-#10864=EDGE_CURVE('',#5316,#5302,#3852,.T.); +-#10878=EDGE_CURVE('',#5314,#5300,#3856,.T.); +-#10891=EDGE_CURVE('',#5313,#5299,#3860,.T.); +-#10914=EDGE_CURVE('',#5336,#5328,#3868,.T.); +-#10916=EDGE_CURVE('',#5327,#5328,#3880,.T.); +-#10918=EDGE_CURVE('',#5335,#5327,#3864,.T.); +-#10929=EDGE_CURVE('',#5338,#5330,#3872,.T.); +-#10931=EDGE_CURVE('',#5328,#5330,#3885,.T.); +-#10943=EDGE_CURVE('',#5340,#5332,#3876,.T.); +-#10945=EDGE_CURVE('',#5330,#5332,#3889,.T.); +-#10958=EDGE_CURVE('',#5332,#5327,#3894,.T.); +-#10982=EDGE_CURVE('',#5352,#5344,#3902,.T.); +-#10984=EDGE_CURVE('',#5343,#5344,#3914,.T.); +-#10986=EDGE_CURVE('',#5351,#5343,#3898,.T.); +-#10997=EDGE_CURVE('',#5354,#5346,#3906,.T.); +-#10999=EDGE_CURVE('',#5344,#5346,#3919,.T.); +-#11011=EDGE_CURVE('',#5356,#5348,#3910,.T.); +-#11013=EDGE_CURVE('',#5346,#5348,#3923,.T.); +-#11026=EDGE_CURVE('',#5348,#5343,#3928,.T.); +-#11050=EDGE_CURVE('',#5368,#5360,#3936,.T.); +-#11052=EDGE_CURVE('',#5359,#5360,#3948,.T.); +-#11054=EDGE_CURVE('',#5367,#5359,#3932,.T.); +-#11065=EDGE_CURVE('',#5370,#5362,#3940,.T.); +-#11067=EDGE_CURVE('',#5360,#5362,#3953,.T.); +-#11079=EDGE_CURVE('',#5372,#5364,#3944,.T.); +-#11081=EDGE_CURVE('',#5362,#5364,#3957,.T.); +-#11094=EDGE_CURVE('',#5364,#5359,#3962,.T.); +-#11118=EDGE_CURVE('',#5384,#5376,#3970,.T.); +-#11120=EDGE_CURVE('',#5375,#5376,#3982,.T.); +-#11122=EDGE_CURVE('',#5383,#5375,#3966,.T.); +-#11133=EDGE_CURVE('',#5386,#5378,#3974,.T.); +-#11135=EDGE_CURVE('',#5376,#5378,#3987,.T.); +-#11147=EDGE_CURVE('',#5388,#5380,#3978,.T.); +-#11149=EDGE_CURVE('',#5378,#5380,#3991,.T.); +-#11162=EDGE_CURVE('',#5380,#5375,#3996,.T.); +-#11186=EDGE_CURVE('',#5405,#5391,#4000,.T.); +-#11188=EDGE_CURVE('',#5391,#5392,#4016,.T.); +-#11190=EDGE_CURVE('',#5406,#5392,#4012,.T.); +-#11201=EDGE_CURVE('',#5410,#5396,#4004,.T.); +-#11203=EDGE_CURVE('',#5396,#5391,#4021,.T.); +-#11215=EDGE_CURVE('',#5408,#5394,#4008,.T.); +-#11217=EDGE_CURVE('',#5394,#5396,#4025,.T.); +-#11230=EDGE_CURVE('',#5392,#5394,#4030,.T.); +-#11253=EDGE_CURVE('',#5488,#5484,#4067,.T.); +-#11255=EDGE_CURVE('',#5402,#5488,#4035,.T.); +-#11257=EDGE_CURVE('',#5400,#5402,#4040,.T.); +-#11259=EDGE_CURVE('',#5399,#5400,#4045,.T.); +-#11261=EDGE_CURVE('',#5484,#5399,#4049,.T.); +-#11271=EDGE_CURVE('',#5483,#5484,#4053,.T.); +-#11274=EDGE_CURVE('',#5487,#5488,#4062,.T.); +-#11287=EDGE_CURVE('',#5413,#5399,#4071,.T.); +-#11301=EDGE_CURVE('',#5414,#5400,#4075,.T.); +-#11314=EDGE_CURVE('',#5416,#5402,#4079,.T.); +-#11336=EDGE_CURVE('',#5451,#5452,#4083,.T.); +-#11338=EDGE_CURVE('',#5452,#5456,#4088,.T.); +-#11340=EDGE_CURVE('',#5455,#5456,#4092,.T.); +-#11353=EDGE_CURVE('',#5422,#5424,#4110,.T.); +-#11355=EDGE_CURVE('',#5452,#5422,#4216,.T.); +-#11365=EDGE_CURVE('',#5419,#5420,#4101,.T.); +-#11367=EDGE_CURVE('',#5419,#5422,#4106,.T.); +-#11381=EDGE_CURVE('',#5430,#5432,#4128,.T.); +-#11383=EDGE_CURVE('',#5419,#5430,#4220,.T.); +-#11393=EDGE_CURVE('',#5427,#5428,#4119,.T.); +-#11395=EDGE_CURVE('',#5427,#5430,#4124,.T.); +-#11409=EDGE_CURVE('',#5446,#5448,#4146,.T.); +-#11411=EDGE_CURVE('',#5427,#5446,#4224,.T.); +-#11421=EDGE_CURVE('',#5443,#5444,#4137,.T.); +-#11423=EDGE_CURVE('',#5443,#5446,#4142,.T.); +-#11435=EDGE_CURVE('',#5438,#5440,#4164,.T.); +-#11437=EDGE_CURVE('',#5443,#5438,#4228,.T.); +-#11449=EDGE_CURVE('',#5435,#5436,#4155,.T.); +-#11451=EDGE_CURVE('',#5435,#5438,#4160,.T.); +-#11463=EDGE_CURVE('',#5463,#5464,#4182,.T.); +-#11465=EDGE_CURVE('',#5435,#5464,#4199,.T.); +-#11477=EDGE_CURVE('',#5459,#5460,#4173,.T.); +-#11479=EDGE_CURVE('',#5460,#5464,#4178,.T.); +-#11493=EDGE_CURVE('',#5323,#5319,#4191,.T.); +-#11495=EDGE_CURVE('',#5460,#5319,#4203,.T.); +-#11506=EDGE_CURVE('',#5324,#5320,#4195,.T.); +-#11508=EDGE_CURVE('',#5319,#5320,#4208,.T.); +-#11520=EDGE_CURVE('',#5320,#5456,#4212,.T.); +-#11562=ADVANCED_BREP_SHAPE_REPRESENTATION('',(#11550),#11561); +-#11569=PRODUCT_DEFINITION('design','',#11568,#11565); +-#11570=PRODUCT_DEFINITION_SHAPE('','SHAPE FOR PROESOURCE.',#11569); +-#11571=SHAPE_DEFINITION_REPRESENTATION(#11570,#11562); +-ENDSEC; +-END-ISO-10303-21; ++ISO-10303-21; ++HEADER; ++FILE_DESCRIPTION((''),'2;1'); ++FILE_NAME('PROESOURCE','2002-11-04T',('user-01'),(''), ++'PRO/ENGINEER BY PARAMETRIC TECHNOLOGY CORPORATION, 2002060', ++'PRO/ENGINEER BY PARAMETRIC TECHNOLOGY CORPORATION, 2002060',''); ++FILE_SCHEMA(('CONFIG_CONTROL_DESIGN')); ++ENDSEC; ++DATA; ++#1=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#2=VECTOR('',#1,1.693725393319E1); ++#3=CARTESIAN_POINT('',(2.046862696660E1,0.E0,8.E0)); ++#4=LINE('',#3,#2); ++#5=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#6=VECTOR('',#5,9.E0); ++#7=CARTESIAN_POINT('',(1.65E1,0.E0,2.5E0)); ++#8=LINE('',#7,#6); ++#9=CARTESIAN_POINT('',(1.8E1,0.E0,3.075E1)); ++#10=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#11=DIRECTION('',(1.E0,0.E0,0.E0)); ++#12=AXIS2_PLACEMENT_3D('',#9,#10,#11); ++#14=CARTESIAN_POINT('',(1.8E1,0.E0,3.075E1)); ++#15=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#16=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#17=AXIS2_PLACEMENT_3D('',#14,#15,#16); ++#19=CARTESIAN_POINT('',(1.8E1,0.E0,1.25E0)); ++#20=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#21=DIRECTION('',(1.E0,0.E0,0.E0)); ++#22=AXIS2_PLACEMENT_3D('',#19,#20,#21); ++#24=CARTESIAN_POINT('',(1.8E1,0.E0,1.25E0)); ++#25=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#26=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#27=AXIS2_PLACEMENT_3D('',#24,#25,#26); ++#29=CARTESIAN_POINT('',(1.2E1,0.E0,3.075E1)); ++#30=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#31=DIRECTION('',(1.E0,0.E0,0.E0)); ++#32=AXIS2_PLACEMENT_3D('',#29,#30,#31); ++#34=CARTESIAN_POINT('',(1.2E1,0.E0,3.075E1)); ++#35=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#36=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#37=AXIS2_PLACEMENT_3D('',#34,#35,#36); ++#39=CARTESIAN_POINT('',(6.E0,0.E0,3.075E1)); ++#40=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#41=DIRECTION('',(1.E0,0.E0,0.E0)); ++#42=AXIS2_PLACEMENT_3D('',#39,#40,#41); ++#44=CARTESIAN_POINT('',(6.E0,0.E0,3.075E1)); ++#45=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#46=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#47=AXIS2_PLACEMENT_3D('',#44,#45,#46); ++#49=CARTESIAN_POINT('',(1.2E1,0.E0,1.25E0)); ++#50=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#51=DIRECTION('',(1.E0,0.E0,0.E0)); ++#52=AXIS2_PLACEMENT_3D('',#49,#50,#51); ++#54=CARTESIAN_POINT('',(1.2E1,0.E0,1.25E0)); ++#55=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#56=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#57=AXIS2_PLACEMENT_3D('',#54,#55,#56); ++#59=CARTESIAN_POINT('',(2.2875E1,0.E0,2.4E1)); ++#60=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#61=DIRECTION('',(1.E0,0.E0,0.E0)); ++#62=AXIS2_PLACEMENT_3D('',#59,#60,#61); ++#64=CARTESIAN_POINT('',(2.2875E1,0.E0,2.4E1)); ++#65=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#66=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#67=AXIS2_PLACEMENT_3D('',#64,#65,#66); ++#69=CARTESIAN_POINT('',(2.2875E1,0.E0,1.8E1)); ++#70=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#71=DIRECTION('',(1.E0,0.E0,0.E0)); ++#72=AXIS2_PLACEMENT_3D('',#69,#70,#71); ++#74=CARTESIAN_POINT('',(2.2875E1,0.E0,1.8E1)); ++#75=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#76=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#77=AXIS2_PLACEMENT_3D('',#74,#75,#76); ++#79=CARTESIAN_POINT('',(2.2875E1,0.E0,1.2E1)); ++#80=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#81=DIRECTION('',(1.E0,0.E0,0.E0)); ++#82=AXIS2_PLACEMENT_3D('',#79,#80,#81); ++#84=CARTESIAN_POINT('',(2.2875E1,0.E0,1.2E1)); ++#85=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#86=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#87=AXIS2_PLACEMENT_3D('',#84,#85,#86); ++#89=CARTESIAN_POINT('',(2.2875E1,0.E0,6.E0)); ++#90=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#91=DIRECTION('',(1.E0,0.E0,0.E0)); ++#92=AXIS2_PLACEMENT_3D('',#89,#90,#91); ++#94=CARTESIAN_POINT('',(2.2875E1,0.E0,6.E0)); ++#95=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#96=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#97=AXIS2_PLACEMENT_3D('',#94,#95,#96); ++#99=CARTESIAN_POINT('',(1.125E0,0.E0,2.4E1)); ++#100=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#101=DIRECTION('',(1.E0,0.E0,0.E0)); ++#102=AXIS2_PLACEMENT_3D('',#99,#100,#101); ++#104=CARTESIAN_POINT('',(1.125E0,0.E0,2.4E1)); ++#105=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#106=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#107=AXIS2_PLACEMENT_3D('',#104,#105,#106); ++#109=CARTESIAN_POINT('',(1.125E0,0.E0,1.8E1)); ++#110=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#111=DIRECTION('',(1.E0,0.E0,0.E0)); ++#112=AXIS2_PLACEMENT_3D('',#109,#110,#111); ++#114=CARTESIAN_POINT('',(1.125E0,0.E0,1.8E1)); ++#115=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#116=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#117=AXIS2_PLACEMENT_3D('',#114,#115,#116); ++#119=CARTESIAN_POINT('',(1.125E0,0.E0,1.2E1)); ++#120=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#121=DIRECTION('',(1.E0,0.E0,0.E0)); ++#122=AXIS2_PLACEMENT_3D('',#119,#120,#121); ++#124=CARTESIAN_POINT('',(1.125E0,0.E0,1.2E1)); ++#125=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#126=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#127=AXIS2_PLACEMENT_3D('',#124,#125,#126); ++#129=DIRECTION('',(1.E0,0.E0,0.E0)); ++#130=VECTOR('',#129,1.E0); ++#131=CARTESIAN_POINT('',(2.5E1,0.E0,8.E0)); ++#132=LINE('',#131,#130); ++#133=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#134=VECTOR('',#133,3.E0); ++#135=CARTESIAN_POINT('',(2.4E1,0.E0,7.E0)); ++#136=LINE('',#135,#134); ++#137=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#138=VECTOR('',#137,1.6E1); ++#139=CARTESIAN_POINT('',(2.E1,0.E0,0.E0)); ++#140=LINE('',#139,#138); ++#141=DIRECTION('',(0.E0,0.E0,1.E0)); ++#142=VECTOR('',#141,3.E0); ++#143=CARTESIAN_POINT('',(0.E0,0.E0,4.E0)); ++#144=LINE('',#143,#142); ++#145=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#146=VECTOR('',#145,1.E0); ++#147=CARTESIAN_POINT('',(-1.E0,0.E0,8.E0)); ++#148=LINE('',#147,#146); ++#149=DIRECTION('',(0.E0,0.E0,1.E0)); ++#150=VECTOR('',#149,3.75E0); ++#151=CARTESIAN_POINT('',(-2.E0,0.E0,8.E0)); ++#152=LINE('',#151,#150); ++#153=DIRECTION('',(1.E0,0.E0,0.E0)); ++#154=VECTOR('',#153,5.E-1); ++#155=CARTESIAN_POINT('',(-1.5E0,0.E0,1.225E1)); ++#156=LINE('',#155,#154); ++#157=DIRECTION('',(0.E0,0.E0,1.E0)); ++#158=VECTOR('',#157,1.475E1); ++#159=CARTESIAN_POINT('',(0.E0,0.E0,1.325E1)); ++#160=LINE('',#159,#158); ++#161=DIRECTION('',(1.E0,0.E0,0.E0)); ++#162=VECTOR('',#161,1.6E1); ++#163=CARTESIAN_POINT('',(4.E0,0.E0,3.2E1)); ++#164=LINE('',#163,#162); ++#165=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#166=VECTOR('',#165,1.475E1); ++#167=CARTESIAN_POINT('',(2.4E1,0.E0,2.8E1)); ++#168=LINE('',#167,#166); ++#169=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#170=VECTOR('',#169,5.E-1); ++#171=CARTESIAN_POINT('',(2.55E1,0.E0,1.225E1)); ++#172=LINE('',#171,#170); ++#173=DIRECTION('',(0.E0,0.E0,1.E0)); ++#174=VECTOR('',#173,3.75E0); ++#175=CARTESIAN_POINT('',(2.6E1,0.E0,8.E0)); ++#176=LINE('',#175,#174); ++#177=CARTESIAN_POINT('',(1.125E0,0.E0,6.E0)); ++#178=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#179=DIRECTION('',(1.E0,0.E0,0.E0)); ++#180=AXIS2_PLACEMENT_3D('',#177,#178,#179); ++#182=CARTESIAN_POINT('',(1.125E0,0.E0,6.E0)); ++#183=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#184=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#185=AXIS2_PLACEMENT_3D('',#182,#183,#184); ++#187=CARTESIAN_POINT('',(6.E0,0.E0,1.25E0)); ++#188=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#189=DIRECTION('',(1.E0,0.E0,0.E0)); ++#190=AXIS2_PLACEMENT_3D('',#187,#188,#189); ++#192=CARTESIAN_POINT('',(6.E0,0.E0,1.25E0)); ++#193=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#194=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#195=AXIS2_PLACEMENT_3D('',#192,#193,#194); ++#197=DIRECTION('',(1.E0,0.E0,0.E0)); ++#198=VECTOR('',#197,1.3E1); ++#199=CARTESIAN_POINT('',(5.5E0,0.E0,1.89375E1)); ++#200=LINE('',#199,#198); ++#201=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#202=VECTOR('',#201,2.5625E0); ++#203=CARTESIAN_POINT('',(2.15E1,0.E0,2.45E1)); ++#204=LINE('',#203,#202); ++#205=DIRECTION('',(1.E0,0.E0,0.E0)); ++#206=VECTOR('',#205,9.E0); ++#207=CARTESIAN_POINT('',(7.5E0,0.E0,2.95E1)); ++#208=LINE('',#207,#206); ++#209=DIRECTION('',(0.E0,0.E0,1.E0)); ++#210=VECTOR('',#209,2.5625E0); ++#211=CARTESIAN_POINT('',(2.5E0,0.E0,2.19375E1)); ++#212=LINE('',#211,#210); ++#213=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#214=VECTOR('',#213,8.125E-1); ++#215=CARTESIAN_POINT('',(2.15E1,0.E0,1.40625E1)); ++#216=LINE('',#215,#214); ++#217=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#218=VECTOR('',#217,1.3E1); ++#219=CARTESIAN_POINT('',(1.85E1,0.E0,1.70625E1)); ++#220=LINE('',#219,#218); ++#221=DIRECTION('',(0.E0,0.E0,1.E0)); ++#222=VECTOR('',#221,8.125E-1); ++#223=CARTESIAN_POINT('',(2.5E0,0.E0,1.325E1)); ++#224=LINE('',#223,#222); ++#225=DIRECTION('',(1.E0,0.E0,0.E0)); ++#226=VECTOR('',#225,1.E0); ++#227=CARTESIAN_POINT('',(3.5E0,0.E0,1.225E1)); ++#228=LINE('',#227,#226); ++#229=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#230=VECTOR('',#229,7.5E-1); ++#231=CARTESIAN_POINT('',(5.E0,0.E0,1.175E1)); ++#232=LINE('',#231,#230); ++#233=DIRECTION('',(1.E0,0.E0,0.E0)); ++#234=VECTOR('',#233,1.2E1); ++#235=CARTESIAN_POINT('',(6.E0,0.E0,1.E1)); ++#236=LINE('',#235,#234); ++#237=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#238=VECTOR('',#237,7.5E-1); ++#239=CARTESIAN_POINT('',(1.9E1,0.E0,1.175E1)); ++#240=LINE('',#239,#238); ++#241=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#242=VECTOR('',#241,1.E0); ++#243=CARTESIAN_POINT('',(2.05E1,0.E0,1.225E1)); ++#244=LINE('',#243,#242); ++#245=CARTESIAN_POINT('',(6.E0,0.E0,9.E0)); ++#246=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#247=DIRECTION('',(1.E0,0.E0,0.E0)); ++#248=AXIS2_PLACEMENT_3D('',#245,#246,#247); ++#250=CARTESIAN_POINT('',(6.E0,0.E0,9.E0)); ++#251=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#252=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#253=AXIS2_PLACEMENT_3D('',#250,#251,#252); ++#255=CARTESIAN_POINT('',(1.2E1,0.E0,9.E0)); ++#256=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#257=DIRECTION('',(1.E0,0.E0,0.E0)); ++#258=AXIS2_PLACEMENT_3D('',#255,#256,#257); ++#260=CARTESIAN_POINT('',(1.2E1,0.E0,9.E0)); ++#261=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#262=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#263=AXIS2_PLACEMENT_3D('',#260,#261,#262); ++#265=CARTESIAN_POINT('',(1.8E1,0.E0,9.E0)); ++#266=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#267=DIRECTION('',(1.E0,0.E0,0.E0)); ++#268=AXIS2_PLACEMENT_3D('',#265,#266,#267); ++#270=CARTESIAN_POINT('',(1.8E1,0.E0,9.E0)); ++#271=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#272=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#273=AXIS2_PLACEMENT_3D('',#270,#271,#272); ++#275=CARTESIAN_POINT('',(6.E0,0.E0,1.8E1)); ++#276=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#277=DIRECTION('',(1.E0,0.E0,0.E0)); ++#278=AXIS2_PLACEMENT_3D('',#275,#276,#277); ++#280=CARTESIAN_POINT('',(6.E0,0.E0,1.8E1)); ++#281=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#282=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#283=AXIS2_PLACEMENT_3D('',#280,#281,#282); ++#285=CARTESIAN_POINT('',(1.2E1,0.E0,1.8E1)); ++#286=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#287=DIRECTION('',(1.E0,0.E0,0.E0)); ++#288=AXIS2_PLACEMENT_3D('',#285,#286,#287); ++#290=CARTESIAN_POINT('',(1.2E1,0.E0,1.8E1)); ++#291=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#292=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#293=AXIS2_PLACEMENT_3D('',#290,#291,#292); ++#295=CARTESIAN_POINT('',(1.8E1,0.E0,1.8E1)); ++#296=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#297=DIRECTION('',(1.E0,0.E0,0.E0)); ++#298=AXIS2_PLACEMENT_3D('',#295,#296,#297); ++#300=CARTESIAN_POINT('',(1.8E1,0.E0,1.8E1)); ++#301=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#302=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#303=AXIS2_PLACEMENT_3D('',#300,#301,#302); ++#305=DIRECTION('',(1.E0,0.E0,0.E0)); ++#306=VECTOR('',#305,3.E0); ++#307=CARTESIAN_POINT('',(7.5E0,0.E0,6.875E-1)); ++#308=LINE('',#307,#306); ++#309=CARTESIAN_POINT('',(1.05E1,0.E0,1.25E0)); ++#310=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#311=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#312=AXIS2_PLACEMENT_3D('',#309,#310,#311); ++#314=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#315=VECTOR('',#314,3.E0); ++#316=CARTESIAN_POINT('',(1.05E1,0.E0,1.8125E0)); ++#317=LINE('',#316,#315); ++#318=CARTESIAN_POINT('',(7.5E0,0.E0,1.25E0)); ++#319=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#320=DIRECTION('',(0.E0,0.E0,1.E0)); ++#321=AXIS2_PLACEMENT_3D('',#318,#319,#320); ++#323=CARTESIAN_POINT('',(1.61E0,0.E0,4.5E0)); ++#324=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#325=DIRECTION('',(8.910741301059E-1,0.E0,4.538577912254E-1)); ++#326=AXIS2_PLACEMENT_3D('',#323,#324,#325); ++#328=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1)); ++#329=VECTOR('',#328,4.263248410977E0); ++#330=CARTESIAN_POINT('',(9.254066777019E-1,0.E0,4.046865146430E0)); ++#331=LINE('',#330,#329); ++#332=CARTESIAN_POINT('',(4.553039342392E0,0.E0,1.645354088550E0)); ++#333=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#334=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1)); ++#335=AXIS2_PLACEMENT_3D('',#332,#333,#334); ++#337=CARTESIAN_POINT('',(7.5E0,0.E0,7.5E0)); ++#338=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#339=DIRECTION('',(-8.910741301059E-1,0.E0,-4.538577912254E-1)); ++#340=AXIS2_PLACEMENT_3D('',#337,#338,#339); ++#342=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#343=VECTOR('',#342,3.15E-1); ++#344=CARTESIAN_POINT('',(6.9E-1,0.E0,7.815E0)); ++#345=LINE('',#344,#343); ++#346=CARTESIAN_POINT('',(1.25125E0,0.E0,7.5E0)); ++#347=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#348=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#349=AXIS2_PLACEMENT_3D('',#346,#347,#348); ++#351=DIRECTION('',(0.E0,0.E0,1.E0)); ++#352=VECTOR('',#351,3.15E-1); ++#353=CARTESIAN_POINT('',(1.8125E0,0.E0,7.5E0)); ++#354=LINE('',#353,#352); ++#355=DIRECTION('',(1.E0,0.E0,0.E0)); ++#356=VECTOR('',#355,7.5E-1); ++#357=CARTESIAN_POINT('',(2.6875E0,0.E0,8.69E0)); ++#358=LINE('',#357,#356); ++#359=DIRECTION('',(0.E0,0.E0,1.E0)); ++#360=VECTOR('',#359,8.1E-1); ++#361=CARTESIAN_POINT('',(4.3125E0,0.E0,9.565E0)); ++#362=LINE('',#361,#360); ++#363=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#364=VECTOR('',#363,3.875E0); ++#365=CARTESIAN_POINT('',(3.4375E0,0.E0,1.125E1)); ++#366=LINE('',#365,#364); ++#367=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#368=VECTOR('',#367,8.1E-1); ++#369=CARTESIAN_POINT('',(-1.3125E0,0.E0,1.0375E1)); ++#370=LINE('',#369,#368); ++#371=DIRECTION('',(1.E0,0.E0,0.E0)); ++#372=VECTOR('',#371,2.525E-1); ++#373=CARTESIAN_POINT('',(-4.375E-1,0.E0,8.69E0)); ++#374=LINE('',#373,#372); ++#375=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#376=VECTOR('',#375,3.E0); ++#377=CARTESIAN_POINT('',(6.875E-1,0.E0,1.65E1)); ++#378=LINE('',#377,#376); ++#379=CARTESIAN_POINT('',(1.25E0,0.E0,1.35E1)); ++#380=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#381=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#382=AXIS2_PLACEMENT_3D('',#379,#380,#381); ++#384=DIRECTION('',(0.E0,0.E0,1.E0)); ++#385=VECTOR('',#384,3.E0); ++#386=CARTESIAN_POINT('',(1.8125E0,0.E0,1.35E1)); ++#387=LINE('',#386,#385); ++#388=CARTESIAN_POINT('',(1.25E0,0.E0,1.65E1)); ++#389=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#390=DIRECTION('',(1.E0,0.E0,0.E0)); ++#391=AXIS2_PLACEMENT_3D('',#388,#389,#390); ++#393=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#394=VECTOR('',#393,3.E0); ++#395=CARTESIAN_POINT('',(6.875E-1,0.E0,2.25E1)); ++#396=LINE('',#395,#394); ++#397=CARTESIAN_POINT('',(1.25E0,0.E0,1.95E1)); ++#398=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#399=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#400=AXIS2_PLACEMENT_3D('',#397,#398,#399); ++#402=DIRECTION('',(0.E0,0.E0,1.E0)); ++#403=VECTOR('',#402,3.E0); ++#404=CARTESIAN_POINT('',(1.8125E0,0.E0,1.95E1)); ++#405=LINE('',#404,#403); ++#406=CARTESIAN_POINT('',(1.25E0,0.E0,2.25E1)); ++#407=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#408=DIRECTION('',(1.E0,0.E0,0.E0)); ++#409=AXIS2_PLACEMENT_3D('',#406,#407,#408); ++#411=DIRECTION('',(1.E0,0.E0,0.E0)); ++#412=VECTOR('',#411,3.E0); ++#413=CARTESIAN_POINT('',(7.5E0,0.E0,8.5E0)); ++#414=LINE('',#413,#412); ++#415=CARTESIAN_POINT('',(1.05E1,0.E0,9.E0)); ++#416=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#417=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#418=AXIS2_PLACEMENT_3D('',#415,#416,#417); ++#420=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#421=VECTOR('',#420,3.E0); ++#422=CARTESIAN_POINT('',(1.05E1,0.E0,9.5E0)); ++#423=LINE('',#422,#421); ++#424=CARTESIAN_POINT('',(7.5E0,0.E0,9.E0)); ++#425=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#426=DIRECTION('',(0.E0,0.E0,1.E0)); ++#427=AXIS2_PLACEMENT_3D('',#424,#425,#426); ++#429=DIRECTION('',(1.E0,0.E0,0.E0)); ++#430=VECTOR('',#429,3.E0); ++#431=CARTESIAN_POINT('',(7.5E0,0.E0,1.75625E1)); ++#432=LINE('',#431,#430); ++#433=CARTESIAN_POINT('',(1.05E1,0.E0,1.8E1)); ++#434=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#435=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#436=AXIS2_PLACEMENT_3D('',#433,#434,#435); ++#438=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#439=VECTOR('',#438,3.E0); ++#440=CARTESIAN_POINT('',(1.05E1,0.E0,1.84375E1)); ++#441=LINE('',#440,#439); ++#442=CARTESIAN_POINT('',(7.5E0,0.E0,1.8E1)); ++#443=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#444=DIRECTION('',(0.E0,0.E0,1.E0)); ++#445=AXIS2_PLACEMENT_3D('',#442,#443,#444); ++#447=DIRECTION('',(1.E0,0.E0,0.E0)); ++#448=VECTOR('',#447,3.E0); ++#449=CARTESIAN_POINT('',(7.5E0,0.E0,3.13125E1)); ++#450=LINE('',#449,#448); ++#451=CARTESIAN_POINT('',(7.5E0,0.E0,3.075E1)); ++#452=DIRECTION('',(0.E0,1.E0,0.E0)); ++#453=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#454=AXIS2_PLACEMENT_3D('',#451,#452,#453); ++#456=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#457=VECTOR('',#456,3.E0); ++#458=CARTESIAN_POINT('',(1.05E1,0.E0,3.01875E1)); ++#459=LINE('',#458,#457); ++#460=CARTESIAN_POINT('',(1.05E1,0.E0,3.075E1)); ++#461=DIRECTION('',(0.E0,1.E0,0.E0)); ++#462=DIRECTION('',(0.E0,0.E0,1.E0)); ++#463=AXIS2_PLACEMENT_3D('',#460,#461,#462); ++#465=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#466=VECTOR('',#465,3.E0); ++#467=CARTESIAN_POINT('',(1.65E1,0.E0,6.875E-1)); ++#468=LINE('',#467,#466); ++#469=CARTESIAN_POINT('',(1.65E1,0.E0,1.25E0)); ++#470=DIRECTION('',(0.E0,1.E0,0.E0)); ++#471=DIRECTION('',(0.E0,0.E0,1.E0)); ++#472=AXIS2_PLACEMENT_3D('',#469,#470,#471); ++#474=DIRECTION('',(1.E0,0.E0,0.E0)); ++#475=VECTOR('',#474,3.E0); ++#476=CARTESIAN_POINT('',(1.35E1,0.E0,1.8125E0)); ++#477=LINE('',#476,#475); ++#478=CARTESIAN_POINT('',(1.35E1,0.E0,1.25E0)); ++#479=DIRECTION('',(0.E0,1.E0,0.E0)); ++#480=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#481=AXIS2_PLACEMENT_3D('',#478,#479,#480); ++#483=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#484=VECTOR('',#483,3.E0); ++#485=CARTESIAN_POINT('',(2.33125E1,0.E0,1.65E1)); ++#486=LINE('',#485,#484); ++#487=CARTESIAN_POINT('',(2.275E1,0.E0,1.65E1)); ++#488=DIRECTION('',(0.E0,1.E0,0.E0)); ++#489=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#490=AXIS2_PLACEMENT_3D('',#487,#488,#489); ++#492=DIRECTION('',(0.E0,0.E0,1.E0)); ++#493=VECTOR('',#492,3.E0); ++#494=CARTESIAN_POINT('',(2.21875E1,0.E0,1.35E1)); ++#495=LINE('',#494,#493); ++#496=CARTESIAN_POINT('',(2.275E1,0.E0,1.35E1)); ++#497=DIRECTION('',(0.E0,1.E0,0.E0)); ++#498=DIRECTION('',(1.E0,0.E0,0.E0)); ++#499=AXIS2_PLACEMENT_3D('',#496,#497,#498); ++#501=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#502=VECTOR('',#501,3.E0); ++#503=CARTESIAN_POINT('',(2.33125E1,0.E0,2.25E1)); ++#504=LINE('',#503,#502); ++#505=CARTESIAN_POINT('',(2.275E1,0.E0,2.25E1)); ++#506=DIRECTION('',(0.E0,1.E0,0.E0)); ++#507=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#508=AXIS2_PLACEMENT_3D('',#505,#506,#507); ++#510=DIRECTION('',(0.E0,0.E0,1.E0)); ++#511=VECTOR('',#510,3.E0); ++#512=CARTESIAN_POINT('',(2.21875E1,0.E0,1.95E1)); ++#513=LINE('',#512,#511); ++#514=CARTESIAN_POINT('',(2.275E1,0.E0,1.95E1)); ++#515=DIRECTION('',(0.E0,1.E0,0.E0)); ++#516=DIRECTION('',(1.E0,0.E0,0.E0)); ++#517=AXIS2_PLACEMENT_3D('',#514,#515,#516); ++#519=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#520=VECTOR('',#519,3.E0); ++#521=CARTESIAN_POINT('',(1.65E1,0.E0,8.5E0)); ++#522=LINE('',#521,#520); ++#523=CARTESIAN_POINT('',(1.65E1,0.E0,9.E0)); ++#524=DIRECTION('',(0.E0,1.E0,0.E0)); ++#525=DIRECTION('',(0.E0,0.E0,1.E0)); ++#526=AXIS2_PLACEMENT_3D('',#523,#524,#525); ++#528=DIRECTION('',(1.E0,0.E0,0.E0)); ++#529=VECTOR('',#528,3.E0); ++#530=CARTESIAN_POINT('',(1.35E1,0.E0,9.5E0)); ++#531=LINE('',#530,#529); ++#532=CARTESIAN_POINT('',(1.35E1,0.E0,9.E0)); ++#533=DIRECTION('',(0.E0,1.E0,0.E0)); ++#534=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#535=AXIS2_PLACEMENT_3D('',#532,#533,#534); ++#537=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#538=VECTOR('',#537,3.E0); ++#539=CARTESIAN_POINT('',(1.65E1,0.E0,1.75625E1)); ++#540=LINE('',#539,#538); ++#541=CARTESIAN_POINT('',(1.65E1,0.E0,1.8E1)); ++#542=DIRECTION('',(0.E0,1.E0,0.E0)); ++#543=DIRECTION('',(0.E0,0.E0,1.E0)); ++#544=AXIS2_PLACEMENT_3D('',#541,#542,#543); ++#546=DIRECTION('',(1.E0,0.E0,0.E0)); ++#547=VECTOR('',#546,3.E0); ++#548=CARTESIAN_POINT('',(1.35E1,0.E0,1.84375E1)); ++#549=LINE('',#548,#547); ++#550=CARTESIAN_POINT('',(1.35E1,0.E0,1.8E1)); ++#551=DIRECTION('',(0.E0,1.E0,0.E0)); ++#552=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#553=AXIS2_PLACEMENT_3D('',#550,#551,#552); ++#555=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#556=VECTOR('',#555,3.E0); ++#557=CARTESIAN_POINT('',(1.65E1,0.E0,3.13125E1)); ++#558=LINE('',#557,#556); ++#559=CARTESIAN_POINT('',(1.35E1,0.E0,3.075E1)); ++#560=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#561=DIRECTION('',(0.E0,0.E0,1.E0)); ++#562=AXIS2_PLACEMENT_3D('',#559,#560,#561); ++#564=DIRECTION('',(1.E0,0.E0,0.E0)); ++#565=VECTOR('',#564,3.E0); ++#566=CARTESIAN_POINT('',(1.35E1,0.E0,3.01875E1)); ++#567=LINE('',#566,#565); ++#568=CARTESIAN_POINT('',(1.65E1,0.E0,3.075E1)); ++#569=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#570=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#571=AXIS2_PLACEMENT_3D('',#568,#569,#570); ++#573=DIRECTION('',(0.E0,0.E0,1.E0)); ++#574=VECTOR('',#573,3.1E-1); ++#575=CARTESIAN_POINT('',(2.21875E1,0.E0,7.5E0)); ++#576=LINE('',#575,#574); ++#577=CARTESIAN_POINT('',(2.274875E1,0.E0,7.5E0)); ++#578=DIRECTION('',(0.E0,1.E0,0.E0)); ++#579=DIRECTION('',(1.E0,0.E0,-3.956251312695E-14)); ++#580=AXIS2_PLACEMENT_3D('',#577,#578,#579); ++#582=DIRECTION('',(2.292073341162E-14,0.E0,-1.E0)); ++#583=VECTOR('',#582,3.1E-1); ++#584=CARTESIAN_POINT('',(2.331E1,0.E0,7.81E0)); ++#585=LINE('',#584,#583); ++#586=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#587=VECTOR('',#586,2.425E-1); ++#588=CARTESIAN_POINT('',(2.44325E1,0.E0,8.69E0)); ++#589=LINE('',#588,#587); ++#590=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#591=VECTOR('',#590,8.E-1); ++#592=CARTESIAN_POINT('',(2.53125E1,0.E0,1.037E1)); ++#593=LINE('',#592,#591); ++#594=DIRECTION('',(1.E0,0.E0,0.E0)); ++#595=VECTOR('',#594,3.865E0); ++#596=CARTESIAN_POINT('',(2.05675E1,0.E0,1.125E1)); ++#597=LINE('',#596,#595); ++#598=DIRECTION('',(0.E0,0.E0,1.E0)); ++#599=VECTOR('',#598,8.E-1); ++#600=CARTESIAN_POINT('',(1.96875E1,0.E0,9.57E0)); ++#601=LINE('',#600,#599); ++#602=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#603=VECTOR('',#602,7.4E-1); ++#604=CARTESIAN_POINT('',(2.13075E1,0.E0,8.69E0)); ++#605=LINE('',#604,#603); ++#606=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1)); ++#607=VECTOR('',#606,4.263248410977E0); ++#608=CARTESIAN_POINT('',(2.307459332230E1,0.E0,4.046865146430E0)); ++#609=LINE('',#608,#607); ++#610=CARTESIAN_POINT('',(2.239E1,0.E0,4.5E0)); ++#611=DIRECTION('',(0.E0,1.E0,0.E0)); ++#612=DIRECTION('',(-8.910741301059E-1,0.E0,4.538577912254E-1)); ++#613=AXIS2_PLACEMENT_3D('',#610,#611,#612); ++#615=CARTESIAN_POINT('',(1.65E1,0.E0,7.5E0)); ++#616=DIRECTION('',(0.E0,1.E0,0.E0)); ++#617=DIRECTION('',(8.910741301059E-1,0.E0,-4.538577912254E-1)); ++#618=AXIS2_PLACEMENT_3D('',#615,#616,#617); ++#620=CARTESIAN_POINT('',(1.944696065761E1,0.E0,1.645354088550E0)); ++#621=DIRECTION('',(0.E0,1.E0,0.E0)); ++#622=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811866E-1)); ++#623=AXIS2_PLACEMENT_3D('',#620,#621,#622); ++#625=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1)); ++#626=VECTOR('',#625,4.263248410977E0); ++#627=CARTESIAN_POINT('',(9.254066777019E-1,0.E0,2.795313485357E1)); ++#628=LINE('',#627,#626); ++#629=CARTESIAN_POINT('',(1.61E0,0.E0,2.75E1)); ++#630=DIRECTION('',(0.E0,1.E0,0.E0)); ++#631=DIRECTION('',(8.910741301059E-1,0.E0,-4.538577912254E-1)); ++#632=AXIS2_PLACEMENT_3D('',#629,#630,#631); ++#634=CARTESIAN_POINT('',(7.5E0,0.E0,2.45E1)); ++#635=DIRECTION('',(0.E0,1.E0,0.E0)); ++#636=DIRECTION('',(-8.910741301059E-1,0.E0,4.538577912254E-1)); ++#637=AXIS2_PLACEMENT_3D('',#634,#635,#636); ++#639=CARTESIAN_POINT('',(4.553039342392E0,0.E0,3.035464591145E1)); ++#640=DIRECTION('',(0.E0,1.E0,0.E0)); ++#641=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1)); ++#642=AXIS2_PLACEMENT_3D('',#639,#640,#641); ++#644=CARTESIAN_POINT('',(2.239E1,0.E0,2.75E1)); ++#645=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#646=DIRECTION('',(-8.910741301059E-1,0.E0,-4.538577912254E-1)); ++#647=AXIS2_PLACEMENT_3D('',#644,#645,#646); ++#649=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1)); ++#650=VECTOR('',#649,4.263248410977E0); ++#651=CARTESIAN_POINT('',(2.307459332230E1,0.E0,2.795313485357E1)); ++#652=LINE('',#651,#650); ++#653=CARTESIAN_POINT('',(1.944696065761E1,0.E0,3.035464591145E1)); ++#654=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#655=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811866E-1)); ++#656=AXIS2_PLACEMENT_3D('',#653,#654,#655); ++#658=CARTESIAN_POINT('',(1.65E1,0.E0,2.45E1)); ++#659=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#660=DIRECTION('',(8.910741301059E-1,0.E0,4.538577912254E-1)); ++#661=AXIS2_PLACEMENT_3D('',#658,#659,#660); ++#663=CARTESIAN_POINT('',(1.975E1,1.09375E1,8.E0)); ++#664=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#665=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#666=AXIS2_PLACEMENT_3D('',#663,#664,#665); ++#668=CARTESIAN_POINT('',(1.975E1,1.09375E1,8.E0)); ++#669=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#670=DIRECTION('',(1.E0,0.E0,0.E0)); ++#671=AXIS2_PLACEMENT_3D('',#668,#669,#670); ++#673=CARTESIAN_POINT('',(1.975E1,1.05E1,8.E0)); ++#674=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#675=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#676=AXIS2_PLACEMENT_3D('',#673,#674,#675); ++#678=CARTESIAN_POINT('',(1.975E1,1.05E1,8.E0)); ++#679=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#680=DIRECTION('',(1.E0,0.E0,0.E0)); ++#681=AXIS2_PLACEMENT_3D('',#678,#679,#680); ++#683=CARTESIAN_POINT('',(2.01875E1,1.05E1,8.E0)); ++#684=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#685=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#686=AXIS2_PLACEMENT_3D('',#683,#684,#685); ++#688=CARTESIAN_POINT('',(2.01875E1,1.05E1,8.E0)); ++#689=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#690=DIRECTION('',(1.E0,0.E0,0.E0)); ++#691=AXIS2_PLACEMENT_3D('',#688,#689,#690); ++#693=CARTESIAN_POINT('',(1.975E1,1.00625E1,8.E0)); ++#694=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#695=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#696=AXIS2_PLACEMENT_3D('',#693,#694,#695); ++#698=CARTESIAN_POINT('',(1.975E1,1.00625E1,8.E0)); ++#699=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#700=DIRECTION('',(1.E0,0.E0,0.E0)); ++#701=AXIS2_PLACEMENT_3D('',#698,#699,#700); ++#703=CARTESIAN_POINT('',(4.25E0,1.00625E1,8.E0)); ++#704=DIRECTION('',(0.E0,0.E0,1.E0)); ++#705=DIRECTION('',(1.E0,0.E0,0.E0)); ++#706=AXIS2_PLACEMENT_3D('',#703,#704,#705); ++#708=CARTESIAN_POINT('',(4.25E0,1.00625E1,8.E0)); ++#709=DIRECTION('',(0.E0,0.E0,1.E0)); ++#710=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#711=AXIS2_PLACEMENT_3D('',#708,#709,#710); ++#713=CARTESIAN_POINT('',(3.8125E0,1.05E1,8.E0)); ++#714=DIRECTION('',(0.E0,0.E0,1.E0)); ++#715=DIRECTION('',(1.E0,0.E0,0.E0)); ++#716=AXIS2_PLACEMENT_3D('',#713,#714,#715); ++#718=CARTESIAN_POINT('',(3.8125E0,1.05E1,8.E0)); ++#719=DIRECTION('',(0.E0,0.E0,1.E0)); ++#720=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#721=AXIS2_PLACEMENT_3D('',#718,#719,#720); ++#723=CARTESIAN_POINT('',(4.25E0,1.05E1,8.E0)); ++#724=DIRECTION('',(0.E0,0.E0,1.E0)); ++#725=DIRECTION('',(1.E0,0.E0,0.E0)); ++#726=AXIS2_PLACEMENT_3D('',#723,#724,#725); ++#728=CARTESIAN_POINT('',(4.25E0,1.05E1,8.E0)); ++#729=DIRECTION('',(0.E0,0.E0,1.E0)); ++#730=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#731=AXIS2_PLACEMENT_3D('',#728,#729,#730); ++#733=CARTESIAN_POINT('',(4.25E0,1.09375E1,8.E0)); ++#734=DIRECTION('',(0.E0,0.E0,1.E0)); ++#735=DIRECTION('',(1.E0,0.E0,0.E0)); ++#736=AXIS2_PLACEMENT_3D('',#733,#734,#735); ++#738=CARTESIAN_POINT('',(4.25E0,1.09375E1,8.E0)); ++#739=DIRECTION('',(0.E0,0.E0,1.E0)); ++#740=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#741=AXIS2_PLACEMENT_3D('',#738,#739,#740); ++#743=DIRECTION('',(4.856429311786E-1,-8.741572761215E-1,0.E0)); ++#744=VECTOR('',#743,1.029563014099E1); ++#745=CARTESIAN_POINT('',(2.1E1,1.15E1,8.E0)); ++#746=LINE('',#745,#744); ++#747=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#748=VECTOR('',#747,2.E0); ++#749=CARTESIAN_POINT('',(2.1E1,1.15E1,8.E0)); ++#750=LINE('',#749,#748); ++#751=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#752=VECTOR('',#751,2.E0); ++#753=CARTESIAN_POINT('',(5.E0,1.15E1,8.E0)); ++#754=LINE('',#753,#752); ++#755=DIRECTION('',(-4.856429311786E-1,-8.741572761215E-1,0.E0)); ++#756=VECTOR('',#755,1.029563014099E1); ++#757=CARTESIAN_POINT('',(3.E0,1.15E1,8.E0)); ++#758=LINE('',#757,#756); ++#759=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#760=VECTOR('',#759,3.895172754280E0); ++#761=CARTESIAN_POINT('',(3.75E0,2.E0,8.E0)); ++#762=LINE('',#761,#760); ++#763=DIRECTION('',(4.856429311786E-1,8.741572761215E-1,0.E0)); ++#764=VECTOR('',#763,6.863753427325E0); ++#765=CARTESIAN_POINT('',(-8.007907113711E-1,3.114232198384E0,8.E0)); ++#766=LINE('',#765,#764); ++#767=DIRECTION('',(1.E0,0.E0,0.E0)); ++#768=VECTOR('',#767,5.618394209466E-1); ++#769=CARTESIAN_POINT('',(3.188160579053E0,9.5E0,8.E0)); ++#770=LINE('',#769,#768); ++#771=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#772=VECTOR('',#771,6.E0); ++#773=CARTESIAN_POINT('',(4.5E0,8.75E0,8.E0)); ++#774=LINE('',#773,#772); ++#775=DIRECTION('',(-4.856429311786E-1,8.741572761215E-1,0.E0)); ++#776=VECTOR('',#775,6.863753427325E0); ++#777=CARTESIAN_POINT('',(2.480079071137E1,3.114232198384E0,8.E0)); ++#778=LINE('',#777,#776); ++#779=DIRECTION('',(1.E0,0.E0,0.E0)); ++#780=VECTOR('',#779,3.895172754280E0); ++#781=CARTESIAN_POINT('',(2.025E1,2.E0,8.E0)); ++#782=LINE('',#781,#780); ++#783=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#784=VECTOR('',#783,6.E0); ++#785=CARTESIAN_POINT('',(1.95E1,8.75E0,8.E0)); ++#786=LINE('',#785,#784); ++#787=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#788=VECTOR('',#787,5.618394209466E-1); ++#789=CARTESIAN_POINT('',(2.081183942095E1,9.5E0,8.E0)); ++#790=LINE('',#789,#788); ++#791=DIRECTION('',(0.E0,0.E0,1.E0)); ++#792=VECTOR('',#791,2.5E-1); ++#793=CARTESIAN_POINT('',(1.9655E1,1.09375E1,8.E0)); ++#794=LINE('',#793,#792); ++#795=DIRECTION('',(0.E0,0.E0,1.E0)); ++#796=VECTOR('',#795,2.5E-1); ++#797=CARTESIAN_POINT('',(1.9845E1,1.09375E1,8.E0)); ++#798=LINE('',#797,#796); ++#799=CARTESIAN_POINT('',(1.975E1,1.09375E1,8.25E0)); ++#800=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#801=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#802=AXIS2_PLACEMENT_3D('',#799,#800,#801); ++#804=CARTESIAN_POINT('',(1.975E1,1.09375E1,8.25E0)); ++#805=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#806=DIRECTION('',(1.E0,0.E0,0.E0)); ++#807=AXIS2_PLACEMENT_3D('',#804,#805,#806); ++#809=DIRECTION('',(0.E0,0.E0,1.E0)); ++#810=VECTOR('',#809,2.E0); ++#811=CARTESIAN_POINT('',(1.95875E1,1.05E1,8.E0)); ++#812=LINE('',#811,#810); ++#813=DIRECTION('',(0.E0,0.E0,1.E0)); ++#814=VECTOR('',#813,2.E0); ++#815=CARTESIAN_POINT('',(1.99125E1,1.05E1,8.E0)); ++#816=LINE('',#815,#814); ++#817=CARTESIAN_POINT('',(1.975E1,1.05E1,1.E1)); ++#818=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#819=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#820=AXIS2_PLACEMENT_3D('',#817,#818,#819); ++#822=CARTESIAN_POINT('',(1.975E1,1.05E1,1.E1)); ++#823=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#824=DIRECTION('',(1.E0,0.E0,0.E0)); ++#825=AXIS2_PLACEMENT_3D('',#822,#823,#824); ++#827=DIRECTION('',(0.E0,1.E0,0.E0)); ++#828=VECTOR('',#827,5.E0); ++#829=CARTESIAN_POINT('',(2.375E1,1.5E0,1.E1)); ++#830=LINE('',#829,#828); ++#831=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#832=VECTOR('',#831,1.75E0); ++#833=CARTESIAN_POINT('',(2.375E1,6.5E0,1.E1)); ++#834=LINE('',#833,#832); ++#835=DIRECTION('',(0.E0,1.E0,0.E0)); ++#836=VECTOR('',#835,5.E0); ++#837=CARTESIAN_POINT('',(2.2E1,1.5E0,1.E1)); ++#838=LINE('',#837,#836); ++#839=DIRECTION('',(0.E0,1.E0,0.E0)); ++#840=VECTOR('',#839,1.E1); ++#841=CARTESIAN_POINT('',(1.9E1,1.5E0,1.E1)); ++#842=LINE('',#841,#840); ++#843=DIRECTION('',(1.E0,0.E0,0.E0)); ++#844=VECTOR('',#843,2.E0); ++#845=CARTESIAN_POINT('',(1.9E1,1.15E1,1.E1)); ++#846=LINE('',#845,#844); ++#847=DIRECTION('',(4.856429311786E-1,-8.741572761215E-1,0.E0)); ++#848=VECTOR('',#847,1.029563014099E1); ++#849=CARTESIAN_POINT('',(2.1E1,1.15E1,1.E1)); ++#850=LINE('',#849,#848); ++#851=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#852=VECTOR('',#851,1.E0); ++#853=CARTESIAN_POINT('',(2.6E1,2.5E0,1.E1)); ++#854=LINE('',#853,#852); ++#855=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#856=VECTOR('',#855,1.972007605460E-1); ++#857=CARTESIAN_POINT('',(2.204720076055E1,7.E0,1.E1)); ++#858=LINE('',#857,#856); ++#859=DIRECTION('',(4.856429311786E-1,-8.741572761215E-1,0.E0)); ++#860=VECTOR('',#859,2.059126028197E0); ++#861=CARTESIAN_POINT('',(2.135315580719E1,9.319975025913E0,1.E1)); ++#862=LINE('',#861,#860); ++#863=DIRECTION('',(1.E0,0.E0,0.E0)); ++#864=VECTOR('',#863,1.197200760546E0); ++#865=CARTESIAN_POINT('',(1.985E1,9.5E0,1.E1)); ++#866=LINE('',#865,#864); ++#867=DIRECTION('',(0.E0,1.E0,0.E0)); ++#868=VECTOR('',#867,6.8E0); ++#869=CARTESIAN_POINT('',(1.95E1,2.35E0,1.E1)); ++#870=LINE('',#869,#868); ++#871=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#872=VECTOR('',#871,1.3E0); ++#873=CARTESIAN_POINT('',(2.115E1,2.E0,1.E1)); ++#874=LINE('',#873,#872); ++#875=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#876=VECTOR('',#875,4.3E0); ++#877=CARTESIAN_POINT('',(2.15E1,6.65E0,1.E1)); ++#878=LINE('',#877,#876); ++#879=DIRECTION('',(0.E0,-8.660254037844E-1,5.E-1)); ++#880=VECTOR('',#879,5.773502691896E0); ++#881=CARTESIAN_POINT('',(2.375E1,6.5E0,1.E1)); ++#882=LINE('',#881,#880); ++#883=CARTESIAN_POINT('',(6.45E0,1.5E0,2.975E1)); ++#884=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#885=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#886=AXIS2_PLACEMENT_3D('',#883,#884,#885); ++#888=CARTESIAN_POINT('',(6.45E0,1.5E0,2.975E1)); ++#889=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#890=DIRECTION('',(1.E0,0.E0,0.E0)); ++#891=AXIS2_PLACEMENT_3D('',#888,#889,#890); ++#893=CARTESIAN_POINT('',(7.45E0,1.5E0,2.975E1)); ++#894=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#895=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#896=AXIS2_PLACEMENT_3D('',#893,#894,#895); ++#898=CARTESIAN_POINT('',(7.45E0,1.5E0,2.975E1)); ++#899=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#900=DIRECTION('',(1.E0,0.E0,0.E0)); ++#901=AXIS2_PLACEMENT_3D('',#898,#899,#900); ++#903=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#904=VECTOR('',#903,4.531373033403E0); ++#905=CARTESIAN_POINT('',(2.5E1,1.5E0,8.E0)); ++#906=LINE('',#905,#904); ++#907=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#908=VECTOR('',#907,9.E0); ++#909=CARTESIAN_POINT('',(1.65E1,1.5E0,2.5E0)); ++#910=LINE('',#909,#908); ++#911=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#912=VECTOR('',#911,4.531373033403E0); ++#913=CARTESIAN_POINT('',(3.531373033403E0,1.5E0,8.E0)); ++#914=LINE('',#913,#912); ++#915=DIRECTION('',(0.E0,0.E0,1.E0)); ++#916=VECTOR('',#915,3.E0); ++#917=CARTESIAN_POINT('',(0.E0,1.5E0,4.E0)); ++#918=LINE('',#917,#916); ++#919=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#920=VECTOR('',#919,1.6E1); ++#921=CARTESIAN_POINT('',(2.E1,1.5E0,0.E0)); ++#922=LINE('',#921,#920); ++#923=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#924=VECTOR('',#923,3.E0); ++#925=CARTESIAN_POINT('',(2.4E1,1.5E0,7.E0)); ++#926=LINE('',#925,#924); ++#927=CARTESIAN_POINT('',(1.755E1,1.5E0,2.975E1)); ++#928=DIRECTION('',(0.E0,1.E0,0.E0)); ++#929=DIRECTION('',(1.E0,0.E0,0.E0)); ++#930=AXIS2_PLACEMENT_3D('',#927,#928,#929); ++#932=CARTESIAN_POINT('',(1.755E1,1.5E0,2.975E1)); ++#933=DIRECTION('',(0.E0,1.E0,0.E0)); ++#934=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#935=AXIS2_PLACEMENT_3D('',#932,#933,#934); ++#937=CARTESIAN_POINT('',(1.655E1,1.5E0,2.975E1)); ++#938=DIRECTION('',(0.E0,1.E0,0.E0)); ++#939=DIRECTION('',(1.E0,0.E0,0.E0)); ++#940=AXIS2_PLACEMENT_3D('',#937,#938,#939); ++#942=CARTESIAN_POINT('',(1.655E1,1.5E0,2.975E1)); ++#943=DIRECTION('',(0.E0,1.E0,0.E0)); ++#944=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#945=AXIS2_PLACEMENT_3D('',#942,#943,#944); ++#947=CARTESIAN_POINT('',(1.125E0,1.5E0,6.E0)); ++#948=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#949=DIRECTION('',(1.E0,0.E0,0.E0)); ++#950=AXIS2_PLACEMENT_3D('',#947,#948,#949); ++#952=CARTESIAN_POINT('',(1.125E0,1.5E0,6.E0)); ++#953=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#954=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#955=AXIS2_PLACEMENT_3D('',#952,#953,#954); ++#957=CARTESIAN_POINT('',(1.125E0,1.5E0,1.8E1)); ++#958=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#959=DIRECTION('',(1.E0,0.E0,0.E0)); ++#960=AXIS2_PLACEMENT_3D('',#957,#958,#959); ++#962=CARTESIAN_POINT('',(1.125E0,1.5E0,1.8E1)); ++#963=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#964=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#965=AXIS2_PLACEMENT_3D('',#962,#963,#964); ++#967=CARTESIAN_POINT('',(1.125E0,1.5E0,2.4E1)); ++#968=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#969=DIRECTION('',(1.E0,0.E0,0.E0)); ++#970=AXIS2_PLACEMENT_3D('',#967,#968,#969); ++#972=CARTESIAN_POINT('',(1.125E0,1.5E0,2.4E1)); ++#973=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#974=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#975=AXIS2_PLACEMENT_3D('',#972,#973,#974); ++#977=CARTESIAN_POINT('',(2.2875E1,1.5E0,6.E0)); ++#978=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#979=DIRECTION('',(1.E0,0.E0,0.E0)); ++#980=AXIS2_PLACEMENT_3D('',#977,#978,#979); ++#982=CARTESIAN_POINT('',(2.2875E1,1.5E0,6.E0)); ++#983=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#984=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#985=AXIS2_PLACEMENT_3D('',#982,#983,#984); ++#987=CARTESIAN_POINT('',(2.2875E1,1.5E0,1.8E1)); ++#988=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#989=DIRECTION('',(1.E0,0.E0,0.E0)); ++#990=AXIS2_PLACEMENT_3D('',#987,#988,#989); ++#992=CARTESIAN_POINT('',(2.2875E1,1.5E0,1.8E1)); ++#993=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#994=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#995=AXIS2_PLACEMENT_3D('',#992,#993,#994); ++#997=CARTESIAN_POINT('',(2.2875E1,1.5E0,2.4E1)); ++#998=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#999=DIRECTION('',(1.E0,0.E0,0.E0)); ++#1000=AXIS2_PLACEMENT_3D('',#997,#998,#999); ++#1002=CARTESIAN_POINT('',(2.2875E1,1.5E0,2.4E1)); ++#1003=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1004=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#1005=AXIS2_PLACEMENT_3D('',#1002,#1003,#1004); ++#1007=CARTESIAN_POINT('',(6.E0,1.5E0,1.25E0)); ++#1008=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1009=DIRECTION('',(1.E0,0.E0,0.E0)); ++#1010=AXIS2_PLACEMENT_3D('',#1007,#1008,#1009); ++#1012=CARTESIAN_POINT('',(6.E0,1.5E0,1.25E0)); ++#1013=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1014=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#1015=AXIS2_PLACEMENT_3D('',#1012,#1013,#1014); ++#1017=CARTESIAN_POINT('',(1.2E1,1.5E0,1.25E0)); ++#1018=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1019=DIRECTION('',(1.E0,0.E0,0.E0)); ++#1020=AXIS2_PLACEMENT_3D('',#1017,#1018,#1019); ++#1022=CARTESIAN_POINT('',(1.2E1,1.5E0,1.25E0)); ++#1023=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1024=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#1025=AXIS2_PLACEMENT_3D('',#1022,#1023,#1024); ++#1027=CARTESIAN_POINT('',(1.8E1,1.5E0,1.25E0)); ++#1028=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1029=DIRECTION('',(1.E0,0.E0,0.E0)); ++#1030=AXIS2_PLACEMENT_3D('',#1027,#1028,#1029); ++#1032=CARTESIAN_POINT('',(1.8E1,1.5E0,1.25E0)); ++#1033=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1034=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#1035=AXIS2_PLACEMENT_3D('',#1032,#1033,#1034); ++#1037=CARTESIAN_POINT('',(6.E0,1.5E0,3.075E1)); ++#1038=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1039=DIRECTION('',(1.E0,0.E0,0.E0)); ++#1040=AXIS2_PLACEMENT_3D('',#1037,#1038,#1039); ++#1042=CARTESIAN_POINT('',(6.E0,1.5E0,3.075E1)); ++#1043=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1044=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#1045=AXIS2_PLACEMENT_3D('',#1042,#1043,#1044); ++#1047=CARTESIAN_POINT('',(1.2E1,1.5E0,3.075E1)); ++#1048=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1049=DIRECTION('',(1.E0,0.E0,0.E0)); ++#1050=AXIS2_PLACEMENT_3D('',#1047,#1048,#1049); ++#1052=CARTESIAN_POINT('',(1.2E1,1.5E0,3.075E1)); ++#1053=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1054=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#1055=AXIS2_PLACEMENT_3D('',#1052,#1053,#1054); ++#1057=CARTESIAN_POINT('',(1.8E1,1.5E0,3.075E1)); ++#1058=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1059=DIRECTION('',(1.E0,0.E0,0.E0)); ++#1060=AXIS2_PLACEMENT_3D('',#1057,#1058,#1059); ++#1062=CARTESIAN_POINT('',(1.8E1,1.5E0,3.075E1)); ++#1063=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1064=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#1065=AXIS2_PLACEMENT_3D('',#1062,#1063,#1064); ++#1067=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#1068=VECTOR('',#1067,2.5625E0); ++#1069=CARTESIAN_POINT('',(2.15E1,1.5E0,2.45E1)); ++#1070=LINE('',#1069,#1068); ++#1071=DIRECTION('',(1.E0,0.E0,0.E0)); ++#1072=VECTOR('',#1071,1.3E1); ++#1073=CARTESIAN_POINT('',(5.5E0,1.5E0,1.89375E1)); ++#1074=LINE('',#1073,#1072); ++#1075=DIRECTION('',(0.E0,0.E0,1.E0)); ++#1076=VECTOR('',#1075,2.5625E0); ++#1077=CARTESIAN_POINT('',(2.5E0,1.5E0,2.19375E1)); ++#1078=LINE('',#1077,#1076); ++#1079=DIRECTION('',(1.E0,0.E0,0.E0)); ++#1080=VECTOR('',#1079,9.E0); ++#1081=CARTESIAN_POINT('',(7.5E0,1.5E0,2.95E1)); ++#1082=LINE('',#1081,#1080); ++#1083=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#1084=VECTOR('',#1083,1.3E1); ++#1085=CARTESIAN_POINT('',(1.85E1,1.5E0,1.70625E1)); ++#1086=LINE('',#1085,#1084); ++#1087=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#1088=VECTOR('',#1087,8.125E-1); ++#1089=CARTESIAN_POINT('',(2.15E1,1.5E0,1.40625E1)); ++#1090=LINE('',#1089,#1088); ++#1091=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#1092=VECTOR('',#1091,1.E0); ++#1093=CARTESIAN_POINT('',(2.05E1,1.5E0,1.225E1)); ++#1094=LINE('',#1093,#1092); ++#1095=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#1096=VECTOR('',#1095,7.5E-1); ++#1097=CARTESIAN_POINT('',(1.9E1,1.5E0,1.175E1)); ++#1098=LINE('',#1097,#1096); ++#1099=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#1100=VECTOR('',#1099,7.5E-1); ++#1101=CARTESIAN_POINT('',(5.E0,1.5E0,1.175E1)); ++#1102=LINE('',#1101,#1100); ++#1103=DIRECTION('',(1.E0,0.E0,0.E0)); ++#1104=VECTOR('',#1103,1.E0); ++#1105=CARTESIAN_POINT('',(3.5E0,1.5E0,1.225E1)); ++#1106=LINE('',#1105,#1104); ++#1107=DIRECTION('',(0.E0,0.E0,1.E0)); ++#1108=VECTOR('',#1107,8.125E-1); ++#1109=CARTESIAN_POINT('',(2.5E0,1.5E0,1.325E1)); ++#1110=LINE('',#1109,#1108); ++#1111=CARTESIAN_POINT('',(6.E0,1.5E0,9.E0)); ++#1112=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1113=DIRECTION('',(1.E0,0.E0,0.E0)); ++#1114=AXIS2_PLACEMENT_3D('',#1111,#1112,#1113); ++#1116=CARTESIAN_POINT('',(6.E0,1.5E0,9.E0)); ++#1117=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1118=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#1119=AXIS2_PLACEMENT_3D('',#1116,#1117,#1118); ++#1121=CARTESIAN_POINT('',(1.2E1,1.5E0,9.E0)); ++#1122=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1123=DIRECTION('',(1.E0,0.E0,0.E0)); ++#1124=AXIS2_PLACEMENT_3D('',#1121,#1122,#1123); ++#1126=CARTESIAN_POINT('',(1.2E1,1.5E0,9.E0)); ++#1127=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1128=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#1129=AXIS2_PLACEMENT_3D('',#1126,#1127,#1128); ++#1131=CARTESIAN_POINT('',(1.8E1,1.5E0,9.E0)); ++#1132=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1133=DIRECTION('',(1.E0,0.E0,0.E0)); ++#1134=AXIS2_PLACEMENT_3D('',#1131,#1132,#1133); ++#1136=CARTESIAN_POINT('',(1.8E1,1.5E0,9.E0)); ++#1137=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1138=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#1139=AXIS2_PLACEMENT_3D('',#1136,#1137,#1138); ++#1141=CARTESIAN_POINT('',(6.E0,1.5E0,1.8E1)); ++#1142=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1143=DIRECTION('',(1.E0,0.E0,0.E0)); ++#1144=AXIS2_PLACEMENT_3D('',#1141,#1142,#1143); ++#1146=CARTESIAN_POINT('',(6.E0,1.5E0,1.8E1)); ++#1147=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1148=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#1149=AXIS2_PLACEMENT_3D('',#1146,#1147,#1148); ++#1151=CARTESIAN_POINT('',(1.2E1,1.5E0,1.8E1)); ++#1152=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1153=DIRECTION('',(1.E0,0.E0,0.E0)); ++#1154=AXIS2_PLACEMENT_3D('',#1151,#1152,#1153); ++#1156=CARTESIAN_POINT('',(1.2E1,1.5E0,1.8E1)); ++#1157=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1158=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#1159=AXIS2_PLACEMENT_3D('',#1156,#1157,#1158); ++#1161=CARTESIAN_POINT('',(1.8E1,1.5E0,1.8E1)); ++#1162=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1163=DIRECTION('',(1.E0,0.E0,0.E0)); ++#1164=AXIS2_PLACEMENT_3D('',#1161,#1162,#1163); ++#1166=CARTESIAN_POINT('',(1.8E1,1.5E0,1.8E1)); ++#1167=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1168=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#1169=AXIS2_PLACEMENT_3D('',#1166,#1167,#1168); ++#1171=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#1172=VECTOR('',#1171,2.886751345948E0); ++#1173=CARTESIAN_POINT('',(2.375E1,1.5E0,1.288675134595E1)); ++#1174=LINE('',#1173,#1172); ++#1175=DIRECTION('',(1.E0,0.E0,0.E0)); ++#1176=VECTOR('',#1175,2.25E0); ++#1177=CARTESIAN_POINT('',(2.375E1,1.5E0,1.E1)); ++#1178=LINE('',#1177,#1176); ++#1179=DIRECTION('',(0.E0,0.E0,1.E0)); ++#1180=VECTOR('',#1179,1.75E0); ++#1181=CARTESIAN_POINT('',(2.6E1,1.5E0,1.E1)); ++#1182=LINE('',#1181,#1180); ++#1183=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#1184=VECTOR('',#1183,5.E-1); ++#1185=CARTESIAN_POINT('',(2.55E1,1.5E0,1.225E1)); ++#1186=LINE('',#1185,#1184); ++#1187=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#1188=VECTOR('',#1187,1.475E1); ++#1189=CARTESIAN_POINT('',(2.4E1,1.5E0,2.8E1)); ++#1190=LINE('',#1189,#1188); ++#1191=DIRECTION('',(1.E0,0.E0,0.E0)); ++#1192=VECTOR('',#1191,1.6E1); ++#1193=CARTESIAN_POINT('',(4.E0,1.5E0,3.2E1)); ++#1194=LINE('',#1193,#1192); ++#1195=DIRECTION('',(0.E0,0.E0,1.E0)); ++#1196=VECTOR('',#1195,1.475E1); ++#1197=CARTESIAN_POINT('',(0.E0,1.5E0,1.325E1)); ++#1198=LINE('',#1197,#1196); ++#1199=DIRECTION('',(1.E0,0.E0,0.E0)); ++#1200=VECTOR('',#1199,5.E-1); ++#1201=CARTESIAN_POINT('',(-1.5E0,1.5E0,1.225E1)); ++#1202=LINE('',#1201,#1200); ++#1203=DIRECTION('',(0.E0,0.E0,1.E0)); ++#1204=VECTOR('',#1203,1.75E0); ++#1205=CARTESIAN_POINT('',(-2.E0,1.5E0,1.E1)); ++#1206=LINE('',#1205,#1204); ++#1207=DIRECTION('',(1.E0,0.E0,0.E0)); ++#1208=VECTOR('',#1207,2.25E0); ++#1209=CARTESIAN_POINT('',(-2.E0,1.5E0,1.E1)); ++#1210=LINE('',#1209,#1208); ++#1211=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#1212=VECTOR('',#1211,2.886751345948E0); ++#1213=CARTESIAN_POINT('',(2.5E-1,1.5E0,1.288675134595E1)); ++#1214=LINE('',#1213,#1212); ++#1215=DIRECTION('',(1.E0,0.E0,0.E0)); ++#1216=VECTOR('',#1215,1.75E0); ++#1217=CARTESIAN_POINT('',(2.5E-1,1.5E0,1.288675134595E1)); ++#1218=LINE('',#1217,#1216); ++#1219=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#1220=VECTOR('',#1219,2.886751345948E0); ++#1221=CARTESIAN_POINT('',(2.E0,1.5E0,1.288675134595E1)); ++#1222=LINE('',#1221,#1220); ++#1223=DIRECTION('',(1.E0,0.E0,0.E0)); ++#1224=VECTOR('',#1223,3.E0); ++#1225=CARTESIAN_POINT('',(2.E0,1.5E0,1.E1)); ++#1226=LINE('',#1225,#1224); ++#1227=DIRECTION('',(1.E0,0.E0,0.E0)); ++#1228=VECTOR('',#1227,1.4E1); ++#1229=CARTESIAN_POINT('',(5.E0,1.5E0,8.E0)); ++#1230=LINE('',#1229,#1228); ++#1231=DIRECTION('',(1.E0,0.E0,0.E0)); ++#1232=VECTOR('',#1231,3.E0); ++#1233=CARTESIAN_POINT('',(1.9E1,1.5E0,1.E1)); ++#1234=LINE('',#1233,#1232); ++#1235=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#1236=VECTOR('',#1235,2.886751345948E0); ++#1237=CARTESIAN_POINT('',(2.2E1,1.5E0,1.288675134595E1)); ++#1238=LINE('',#1237,#1236); ++#1239=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#1240=VECTOR('',#1239,1.75E0); ++#1241=CARTESIAN_POINT('',(2.375E1,1.5E0,1.288675134595E1)); ++#1242=LINE('',#1241,#1240); ++#1243=DIRECTION('',(0.E0,1.E0,0.E0)); ++#1244=VECTOR('',#1243,2.5E-1); ++#1245=CARTESIAN_POINT('',(6.35E0,1.25E0,2.975E1)); ++#1246=LINE('',#1245,#1244); ++#1247=DIRECTION('',(0.E0,1.E0,0.E0)); ++#1248=VECTOR('',#1247,2.5E-1); ++#1249=CARTESIAN_POINT('',(6.55E0,1.25E0,2.975E1)); ++#1250=LINE('',#1249,#1248); ++#1251=DIRECTION('',(8.660254037844E-1,5.E-1,0.E0)); ++#1252=VECTOR('',#1251,1.154700538379E-1); ++#1253=CARTESIAN_POINT('',(6.45E0,1.192264973081E0,2.975E1)); ++#1254=LINE('',#1253,#1252); ++#1255=CARTESIAN_POINT('',(6.45E0,1.25E0,2.975E1)); ++#1256=DIRECTION('',(0.E0,1.E0,0.E0)); ++#1257=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#1258=AXIS2_PLACEMENT_3D('',#1255,#1256,#1257); ++#1260=DIRECTION('',(-8.660254037844E-1,5.E-1,0.E0)); ++#1261=VECTOR('',#1260,1.154700538379E-1); ++#1262=CARTESIAN_POINT('',(6.45E0,1.192264973081E0,2.975E1)); ++#1263=LINE('',#1262,#1261); ++#1264=CARTESIAN_POINT('',(6.45E0,1.25E0,2.975E1)); ++#1265=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1266=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#1267=AXIS2_PLACEMENT_3D('',#1264,#1265,#1266); ++#1269=DIRECTION('',(0.E0,1.E0,0.E0)); ++#1270=VECTOR('',#1269,2.5E-1); ++#1271=CARTESIAN_POINT('',(7.35E0,1.25E0,2.975E1)); ++#1272=LINE('',#1271,#1270); ++#1273=DIRECTION('',(0.E0,1.E0,0.E0)); ++#1274=VECTOR('',#1273,2.5E-1); ++#1275=CARTESIAN_POINT('',(7.55E0,1.25E0,2.975E1)); ++#1276=LINE('',#1275,#1274); ++#1277=DIRECTION('',(8.660254037844E-1,5.E-1,0.E0)); ++#1278=VECTOR('',#1277,1.154700538379E-1); ++#1279=CARTESIAN_POINT('',(7.45E0,1.192264973081E0,2.975E1)); ++#1280=LINE('',#1279,#1278); ++#1281=CARTESIAN_POINT('',(7.45E0,1.25E0,2.975E1)); ++#1282=DIRECTION('',(0.E0,1.E0,0.E0)); ++#1283=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#1284=AXIS2_PLACEMENT_3D('',#1281,#1282,#1283); ++#1286=DIRECTION('',(-8.660254037844E-1,5.E-1,0.E0)); ++#1287=VECTOR('',#1286,1.154700538379E-1); ++#1288=CARTESIAN_POINT('',(7.45E0,1.192264973081E0,2.975E1)); ++#1289=LINE('',#1288,#1287); ++#1290=CARTESIAN_POINT('',(7.45E0,1.25E0,2.975E1)); ++#1291=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1292=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#1293=AXIS2_PLACEMENT_3D('',#1290,#1291,#1292); ++#1295=DIRECTION('',(0.E0,1.E0,0.E0)); ++#1296=VECTOR('',#1295,1.5E0); ++#1297=CARTESIAN_POINT('',(2.046862696660E1,0.E0,8.E0)); ++#1298=LINE('',#1297,#1296); ++#1299=CARTESIAN_POINT('',(2.046862696660E1,0.E0,7.E0)); ++#1300=DIRECTION('',(0.E0,1.E0,0.E0)); ++#1301=DIRECTION('',(0.E0,0.E0,1.E0)); ++#1302=AXIS2_PLACEMENT_3D('',#1299,#1300,#1301); ++#1304=DIRECTION('',(0.E0,1.E0,0.E0)); ++#1305=VECTOR('',#1304,1.5E0); ++#1306=CARTESIAN_POINT('',(2.146078370825E1,0.E0,6.875E0)); ++#1307=LINE('',#1306,#1305); ++#1308=CARTESIAN_POINT('',(2.046862696660E1,1.5E0,7.E0)); ++#1309=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1310=DIRECTION('',(9.921567416492E-1,0.E0,-1.25E-1)); ++#1311=AXIS2_PLACEMENT_3D('',#1308,#1309,#1310); ++#1313=CARTESIAN_POINT('',(1.65E1,0.E0,7.5E0)); ++#1314=DIRECTION('',(0.E0,1.E0,0.E0)); ++#1315=DIRECTION('',(9.921567416492E-1,0.E0,-1.25E-1)); ++#1316=AXIS2_PLACEMENT_3D('',#1313,#1314,#1315); ++#1318=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1319=VECTOR('',#1318,1.5E0); ++#1320=CARTESIAN_POINT('',(1.65E1,1.5E0,2.5E0)); ++#1321=LINE('',#1320,#1319); ++#1322=CARTESIAN_POINT('',(1.65E1,1.5E0,7.5E0)); ++#1323=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1324=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#1325=AXIS2_PLACEMENT_3D('',#1322,#1323,#1324); ++#1327=CARTESIAN_POINT('',(7.5E0,1.5E0,7.5E0)); ++#1328=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1329=DIRECTION('',(-9.921567416492E-1,0.E0,-1.25E-1)); ++#1330=AXIS2_PLACEMENT_3D('',#1327,#1328,#1329); ++#1332=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1333=VECTOR('',#1332,1.5E0); ++#1334=CARTESIAN_POINT('',(7.5E0,1.5E0,2.5E0)); ++#1335=LINE('',#1334,#1333); ++#1336=CARTESIAN_POINT('',(7.5E0,0.E0,7.5E0)); ++#1337=DIRECTION('',(0.E0,1.E0,0.E0)); ++#1338=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#1339=AXIS2_PLACEMENT_3D('',#1336,#1337,#1338); ++#1341=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1342=VECTOR('',#1341,1.5E0); ++#1343=CARTESIAN_POINT('',(3.531373033403E0,1.5E0,8.E0)); ++#1344=LINE('',#1343,#1342); ++#1345=CARTESIAN_POINT('',(3.531373033403E0,1.5E0,7.E0)); ++#1346=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1347=DIRECTION('',(0.E0,0.E0,1.E0)); ++#1348=AXIS2_PLACEMENT_3D('',#1345,#1346,#1347); ++#1350=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1351=VECTOR('',#1350,1.5E0); ++#1352=CARTESIAN_POINT('',(2.539216291754E0,1.5E0,6.875E0)); ++#1353=LINE('',#1352,#1351); ++#1354=CARTESIAN_POINT('',(3.531373033403E0,0.E0,7.E0)); ++#1355=DIRECTION('',(0.E0,1.E0,0.E0)); ++#1356=DIRECTION('',(-9.921567416492E-1,0.E0,-1.25E-1)); ++#1357=AXIS2_PLACEMENT_3D('',#1354,#1355,#1356); ++#1359=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1360=VECTOR('',#1359,1.5E0); ++#1361=CARTESIAN_POINT('',(0.E0,1.5E0,7.E0)); ++#1362=LINE('',#1361,#1360); ++#1363=CARTESIAN_POINT('',(-1.E0,1.5E0,7.E0)); ++#1364=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1365=DIRECTION('',(1.E0,0.E0,0.E0)); ++#1366=AXIS2_PLACEMENT_3D('',#1363,#1364,#1365); ++#1368=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1369=VECTOR('',#1368,1.5E0); ++#1370=CARTESIAN_POINT('',(-1.E0,1.5E0,8.E0)); ++#1371=LINE('',#1370,#1369); ++#1372=CARTESIAN_POINT('',(-1.E0,0.E0,7.E0)); ++#1373=DIRECTION('',(0.E0,1.E0,0.E0)); ++#1374=DIRECTION('',(0.E0,0.E0,1.E0)); ++#1375=AXIS2_PLACEMENT_3D('',#1372,#1373,#1374); ++#1377=DIRECTION('',(0.E0,1.E0,0.E0)); ++#1378=VECTOR('',#1377,1.5E0); ++#1379=CARTESIAN_POINT('',(0.E0,0.E0,1.325E1)); ++#1380=LINE('',#1379,#1378); ++#1381=CARTESIAN_POINT('',(-1.E0,0.E0,1.325E1)); ++#1382=DIRECTION('',(0.E0,1.E0,0.E0)); ++#1383=DIRECTION('',(1.E0,0.E0,0.E0)); ++#1384=AXIS2_PLACEMENT_3D('',#1381,#1382,#1383); ++#1386=DIRECTION('',(0.E0,1.E0,0.E0)); ++#1387=VECTOR('',#1386,1.5E0); ++#1388=CARTESIAN_POINT('',(-1.E0,0.E0,1.225E1)); ++#1389=LINE('',#1388,#1387); ++#1390=CARTESIAN_POINT('',(-1.E0,1.5E0,1.325E1)); ++#1391=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1392=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#1393=AXIS2_PLACEMENT_3D('',#1390,#1391,#1392); ++#1395=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1396=VECTOR('',#1395,1.5E0); ++#1397=CARTESIAN_POINT('',(2.5E0,1.5E0,1.325E1)); ++#1398=LINE('',#1397,#1396); ++#1399=CARTESIAN_POINT('',(3.5E0,1.5E0,1.325E1)); ++#1400=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1401=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#1402=AXIS2_PLACEMENT_3D('',#1399,#1400,#1401); ++#1404=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1405=VECTOR('',#1404,1.5E0); ++#1406=CARTESIAN_POINT('',(3.5E0,1.5E0,1.225E1)); ++#1407=LINE('',#1406,#1405); ++#1408=CARTESIAN_POINT('',(3.5E0,0.E0,1.325E1)); ++#1409=DIRECTION('',(0.E0,1.E0,0.E0)); ++#1410=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#1411=AXIS2_PLACEMENT_3D('',#1408,#1409,#1410); ++#1413=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1414=VECTOR('',#1413,1.5E0); ++#1415=CARTESIAN_POINT('',(2.5E0,1.5E0,2.19375E1)); ++#1416=LINE('',#1415,#1414); ++#1417=CARTESIAN_POINT('',(5.5E0,1.5E0,2.19375E1)); ++#1418=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1419=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#1420=AXIS2_PLACEMENT_3D('',#1417,#1418,#1419); ++#1422=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1423=VECTOR('',#1422,1.5E0); ++#1424=CARTESIAN_POINT('',(5.5E0,1.5E0,1.89375E1)); ++#1425=LINE('',#1424,#1423); ++#1426=CARTESIAN_POINT('',(5.5E0,0.E0,2.19375E1)); ++#1427=DIRECTION('',(0.E0,1.E0,0.E0)); ++#1428=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#1429=AXIS2_PLACEMENT_3D('',#1426,#1427,#1428); ++#1431=DIRECTION('',(0.E0,1.E0,0.E0)); ++#1432=VECTOR('',#1431,1.5E0); ++#1433=CARTESIAN_POINT('',(2.15E1,0.E0,2.19375E1)); ++#1434=LINE('',#1433,#1432); ++#1435=CARTESIAN_POINT('',(1.85E1,0.E0,2.19375E1)); ++#1436=DIRECTION('',(0.E0,1.E0,0.E0)); ++#1437=DIRECTION('',(1.E0,0.E0,0.E0)); ++#1438=AXIS2_PLACEMENT_3D('',#1435,#1436,#1437); ++#1440=DIRECTION('',(0.E0,1.E0,0.E0)); ++#1441=VECTOR('',#1440,1.5E0); ++#1442=CARTESIAN_POINT('',(1.85E1,0.E0,1.89375E1)); ++#1443=LINE('',#1442,#1441); ++#1444=CARTESIAN_POINT('',(1.85E1,1.5E0,2.19375E1)); ++#1445=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1446=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#1447=AXIS2_PLACEMENT_3D('',#1444,#1445,#1446); ++#1449=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1450=VECTOR('',#1449,1.5E0); ++#1451=CARTESIAN_POINT('',(2.15E1,1.5E0,2.45E1)); ++#1452=LINE('',#1451,#1450); ++#1453=CARTESIAN_POINT('',(1.65E1,1.5E0,2.45E1)); ++#1454=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1455=DIRECTION('',(1.E0,0.E0,0.E0)); ++#1456=AXIS2_PLACEMENT_3D('',#1453,#1454,#1455); ++#1458=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1459=VECTOR('',#1458,1.5E0); ++#1460=CARTESIAN_POINT('',(1.65E1,1.5E0,2.95E1)); ++#1461=LINE('',#1460,#1459); ++#1462=CARTESIAN_POINT('',(1.65E1,0.E0,2.45E1)); ++#1463=DIRECTION('',(0.E0,1.E0,0.E0)); ++#1464=DIRECTION('',(0.E0,0.E0,1.E0)); ++#1465=AXIS2_PLACEMENT_3D('',#1462,#1463,#1464); ++#1467=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1468=VECTOR('',#1467,1.5E0); ++#1469=CARTESIAN_POINT('',(7.5E0,1.5E0,2.95E1)); ++#1470=LINE('',#1469,#1468); ++#1471=CARTESIAN_POINT('',(7.5E0,1.5E0,2.45E1)); ++#1472=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1473=DIRECTION('',(0.E0,0.E0,1.E0)); ++#1474=AXIS2_PLACEMENT_3D('',#1471,#1472,#1473); ++#1476=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1477=VECTOR('',#1476,1.5E0); ++#1478=CARTESIAN_POINT('',(2.5E0,1.5E0,2.45E1)); ++#1479=LINE('',#1478,#1477); ++#1480=CARTESIAN_POINT('',(7.5E0,0.E0,2.45E1)); ++#1481=DIRECTION('',(0.E0,1.E0,0.E0)); ++#1482=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#1483=AXIS2_PLACEMENT_3D('',#1480,#1481,#1482); ++#1485=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1486=VECTOR('',#1485,1.5E0); ++#1487=CARTESIAN_POINT('',(2.15E1,1.5E0,1.40625E1)); ++#1488=LINE('',#1487,#1486); ++#1489=CARTESIAN_POINT('',(1.85E1,1.5E0,1.40625E1)); ++#1490=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1491=DIRECTION('',(1.E0,0.E0,0.E0)); ++#1492=AXIS2_PLACEMENT_3D('',#1489,#1490,#1491); ++#1494=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1495=VECTOR('',#1494,1.5E0); ++#1496=CARTESIAN_POINT('',(1.85E1,1.5E0,1.70625E1)); ++#1497=LINE('',#1496,#1495); ++#1498=CARTESIAN_POINT('',(1.85E1,0.E0,1.40625E1)); ++#1499=DIRECTION('',(0.E0,1.E0,0.E0)); ++#1500=DIRECTION('',(0.E0,0.E0,1.E0)); ++#1501=AXIS2_PLACEMENT_3D('',#1498,#1499,#1500); ++#1503=DIRECTION('',(0.E0,1.E0,0.E0)); ++#1504=VECTOR('',#1503,1.5E0); ++#1505=CARTESIAN_POINT('',(2.5E0,0.E0,1.40625E1)); ++#1506=LINE('',#1505,#1504); ++#1507=CARTESIAN_POINT('',(5.5E0,0.E0,1.40625E1)); ++#1508=DIRECTION('',(0.E0,1.E0,0.E0)); ++#1509=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#1510=AXIS2_PLACEMENT_3D('',#1507,#1508,#1509); ++#1512=DIRECTION('',(0.E0,1.E0,0.E0)); ++#1513=VECTOR('',#1512,1.5E0); ++#1514=CARTESIAN_POINT('',(5.5E0,0.E0,1.70625E1)); ++#1515=LINE('',#1514,#1513); ++#1516=CARTESIAN_POINT('',(5.5E0,1.5E0,1.40625E1)); ++#1517=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1518=DIRECTION('',(0.E0,0.E0,1.E0)); ++#1519=AXIS2_PLACEMENT_3D('',#1516,#1517,#1518); ++#1521=DIRECTION('',(0.E0,1.E0,0.E0)); ++#1522=VECTOR('',#1521,1.5E0); ++#1523=CARTESIAN_POINT('',(2.15E1,0.E0,1.325E1)); ++#1524=LINE('',#1523,#1522); ++#1525=CARTESIAN_POINT('',(2.05E1,0.E0,1.325E1)); ++#1526=DIRECTION('',(0.E0,1.E0,0.E0)); ++#1527=DIRECTION('',(1.E0,0.E0,0.E0)); ++#1528=AXIS2_PLACEMENT_3D('',#1525,#1526,#1527); ++#1530=DIRECTION('',(0.E0,1.E0,0.E0)); ++#1531=VECTOR('',#1530,1.5E0); ++#1532=CARTESIAN_POINT('',(2.05E1,0.E0,1.225E1)); ++#1533=LINE('',#1532,#1531); ++#1534=CARTESIAN_POINT('',(2.05E1,1.5E0,1.325E1)); ++#1535=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1536=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#1537=AXIS2_PLACEMENT_3D('',#1534,#1535,#1536); ++#1539=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1540=VECTOR('',#1539,1.5E0); ++#1541=CARTESIAN_POINT('',(2.4E1,1.5E0,1.325E1)); ++#1542=LINE('',#1541,#1540); ++#1543=CARTESIAN_POINT('',(2.5E1,1.5E0,1.325E1)); ++#1544=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1545=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#1546=AXIS2_PLACEMENT_3D('',#1543,#1544,#1545); ++#1548=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1549=VECTOR('',#1548,1.5E0); ++#1550=CARTESIAN_POINT('',(2.5E1,1.5E0,1.225E1)); ++#1551=LINE('',#1550,#1549); ++#1552=CARTESIAN_POINT('',(2.5E1,0.E0,1.325E1)); ++#1553=DIRECTION('',(0.E0,1.E0,0.E0)); ++#1554=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#1555=AXIS2_PLACEMENT_3D('',#1552,#1553,#1554); ++#1557=DIRECTION('',(0.E0,1.E0,0.E0)); ++#1558=VECTOR('',#1557,1.5E0); ++#1559=CARTESIAN_POINT('',(2.4E1,0.E0,2.8E1)); ++#1560=LINE('',#1559,#1558); ++#1561=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1)); ++#1562=VECTOR('',#1561,5.656854249492E0); ++#1563=CARTESIAN_POINT('',(2.4E1,0.E0,2.8E1)); ++#1564=LINE('',#1563,#1562); ++#1565=DIRECTION('',(0.E0,1.E0,0.E0)); ++#1566=VECTOR('',#1565,1.5E0); ++#1567=CARTESIAN_POINT('',(2.E1,0.E0,3.2E1)); ++#1568=LINE('',#1567,#1566); ++#1569=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1)); ++#1570=VECTOR('',#1569,5.656854249492E0); ++#1571=CARTESIAN_POINT('',(2.4E1,1.5E0,2.8E1)); ++#1572=LINE('',#1571,#1570); ++#1573=DIRECTION('',(0.E0,1.E0,0.E0)); ++#1574=VECTOR('',#1573,1.5E0); ++#1575=CARTESIAN_POINT('',(4.E0,0.E0,3.2E1)); ++#1576=LINE('',#1575,#1574); ++#1577=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1)); ++#1578=VECTOR('',#1577,5.656854249492E0); ++#1579=CARTESIAN_POINT('',(4.E0,0.E0,3.2E1)); ++#1580=LINE('',#1579,#1578); ++#1581=DIRECTION('',(0.E0,1.E0,0.E0)); ++#1582=VECTOR('',#1581,1.5E0); ++#1583=CARTESIAN_POINT('',(0.E0,0.E0,2.8E1)); ++#1584=LINE('',#1583,#1582); ++#1585=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1)); ++#1586=VECTOR('',#1585,5.656854249492E0); ++#1587=CARTESIAN_POINT('',(4.E0,1.5E0,3.2E1)); ++#1588=LINE('',#1587,#1586); ++#1589=DIRECTION('',(0.E0,1.E0,0.E0)); ++#1590=VECTOR('',#1589,1.5E0); ++#1591=CARTESIAN_POINT('',(2.4E1,0.E0,7.E0)); ++#1592=LINE('',#1591,#1590); ++#1593=CARTESIAN_POINT('',(2.5E1,0.E0,7.E0)); ++#1594=DIRECTION('',(0.E0,1.E0,0.E0)); ++#1595=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#1596=AXIS2_PLACEMENT_3D('',#1593,#1594,#1595); ++#1598=DIRECTION('',(0.E0,1.E0,0.E0)); ++#1599=VECTOR('',#1598,1.5E0); ++#1600=CARTESIAN_POINT('',(2.5E1,0.E0,8.E0)); ++#1601=LINE('',#1600,#1599); ++#1602=CARTESIAN_POINT('',(2.5E1,1.5E0,7.E0)); ++#1603=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1604=DIRECTION('',(0.E0,0.E0,1.E0)); ++#1605=AXIS2_PLACEMENT_3D('',#1602,#1603,#1604); ++#1607=DIRECTION('',(0.E0,1.E0,0.E0)); ++#1608=VECTOR('',#1607,1.5E0); ++#1609=CARTESIAN_POINT('',(2.E1,0.E0,0.E0)); ++#1610=LINE('',#1609,#1608); ++#1611=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1)); ++#1612=VECTOR('',#1611,5.656854249492E0); ++#1613=CARTESIAN_POINT('',(2.E1,0.E0,0.E0)); ++#1614=LINE('',#1613,#1612); ++#1615=DIRECTION('',(0.E0,1.E0,0.E0)); ++#1616=VECTOR('',#1615,1.5E0); ++#1617=CARTESIAN_POINT('',(2.4E1,0.E0,4.E0)); ++#1618=LINE('',#1617,#1616); ++#1619=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1)); ++#1620=VECTOR('',#1619,5.656854249492E0); ++#1621=CARTESIAN_POINT('',(2.E1,1.5E0,0.E0)); ++#1622=LINE('',#1621,#1620); ++#1623=DIRECTION('',(0.E0,1.E0,0.E0)); ++#1624=VECTOR('',#1623,1.5E0); ++#1625=CARTESIAN_POINT('',(0.E0,0.E0,4.E0)); ++#1626=LINE('',#1625,#1624); ++#1627=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1)); ++#1628=VECTOR('',#1627,5.656854249492E0); ++#1629=CARTESIAN_POINT('',(0.E0,0.E0,4.E0)); ++#1630=LINE('',#1629,#1628); ++#1631=DIRECTION('',(0.E0,1.E0,0.E0)); ++#1632=VECTOR('',#1631,1.5E0); ++#1633=CARTESIAN_POINT('',(4.E0,0.E0,0.E0)); ++#1634=LINE('',#1633,#1632); ++#1635=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1)); ++#1636=VECTOR('',#1635,5.656854249492E0); ++#1637=CARTESIAN_POINT('',(0.E0,1.5E0,4.E0)); ++#1638=LINE('',#1637,#1636); ++#1639=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1640=VECTOR('',#1639,1.5E0); ++#1641=CARTESIAN_POINT('',(2.55E1,1.5E0,1.225E1)); ++#1642=LINE('',#1641,#1640); ++#1643=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1)); ++#1644=VECTOR('',#1643,7.071067811865E-1); ++#1645=CARTESIAN_POINT('',(2.55E1,1.5E0,1.225E1)); ++#1646=LINE('',#1645,#1644); ++#1647=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1648=VECTOR('',#1647,1.5E0); ++#1649=CARTESIAN_POINT('',(2.6E1,1.5E0,1.175E1)); ++#1650=LINE('',#1649,#1648); ++#1651=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1)); ++#1652=VECTOR('',#1651,7.071067811865E-1); ++#1653=CARTESIAN_POINT('',(2.55E1,0.E0,1.225E1)); ++#1654=LINE('',#1653,#1652); ++#1655=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1656=VECTOR('',#1655,2.5E0); ++#1657=CARTESIAN_POINT('',(2.6E1,2.5E0,8.E0)); ++#1658=LINE('',#1657,#1656); ++#1659=DIRECTION('',(0.E0,0.E0,1.E0)); ++#1660=VECTOR('',#1659,2.E0); ++#1661=CARTESIAN_POINT('',(2.6E1,2.5E0,8.E0)); ++#1662=LINE('',#1661,#1660); ++#1663=DIRECTION('',(0.E0,0.E0,1.E0)); ++#1664=VECTOR('',#1663,2.E0); ++#1665=CARTESIAN_POINT('',(2.1E1,1.15E1,8.E0)); ++#1666=LINE('',#1665,#1664); ++#1667=DIRECTION('',(0.E0,0.E0,1.E0)); ++#1668=VECTOR('',#1667,2.E0); ++#1669=CARTESIAN_POINT('',(1.9E1,1.15E1,8.E0)); ++#1670=LINE('',#1669,#1668); ++#1671=CARTESIAN_POINT('',(2.E1,1.15E1,9.E0)); ++#1672=DIRECTION('',(0.E0,1.E0,0.E0)); ++#1673=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#1674=AXIS2_PLACEMENT_3D('',#1671,#1672,#1673); ++#1676=CARTESIAN_POINT('',(2.E1,1.15E1,9.E0)); ++#1677=DIRECTION('',(0.E0,1.E0,0.E0)); ++#1678=DIRECTION('',(1.E0,0.E0,0.E0)); ++#1679=AXIS2_PLACEMENT_3D('',#1676,#1677,#1678); ++#1681=CARTESIAN_POINT('',(2.013258252147E1,1.15E1,9.132582521472E0)); ++#1682=DIRECTION('',(0.E0,1.E0,0.E0)); ++#1683=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#1684=AXIS2_PLACEMENT_3D('',#1681,#1682,#1683); ++#1686=CARTESIAN_POINT('',(2.013258252147E1,1.15E1,9.132582521472E0)); ++#1687=DIRECTION('',(0.E0,1.E0,0.E0)); ++#1688=DIRECTION('',(1.E0,0.E0,0.E0)); ++#1689=AXIS2_PLACEMENT_3D('',#1686,#1687,#1688); ++#1691=DIRECTION('',(0.E0,0.E0,1.E0)); ++#1692=VECTOR('',#1691,2.E0); ++#1693=CARTESIAN_POINT('',(1.9E1,1.5E0,8.E0)); ++#1694=LINE('',#1693,#1692); ++#1695=DIRECTION('',(0.E0,1.E0,0.E0)); ++#1696=VECTOR('',#1695,1.E1); ++#1697=CARTESIAN_POINT('',(1.9E1,1.5E0,8.E0)); ++#1698=LINE('',#1697,#1696); ++#1699=DIRECTION('',(0.E0,1.E0,0.E0)); ++#1700=VECTOR('',#1699,1.5E0); ++#1701=CARTESIAN_POINT('',(1.9E1,0.E0,1.1E1)); ++#1702=LINE('',#1701,#1700); ++#1703=CARTESIAN_POINT('',(1.8E1,0.E0,1.1E1)); ++#1704=DIRECTION('',(0.E0,1.E0,0.E0)); ++#1705=DIRECTION('',(1.E0,0.E0,0.E0)); ++#1706=AXIS2_PLACEMENT_3D('',#1703,#1704,#1705); ++#1708=DIRECTION('',(0.E0,1.E0,0.E0)); ++#1709=VECTOR('',#1708,1.5E0); ++#1710=CARTESIAN_POINT('',(1.8E1,0.E0,1.E1)); ++#1711=LINE('',#1710,#1709); ++#1712=CARTESIAN_POINT('',(1.8E1,1.5E0,1.1E1)); ++#1713=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1714=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#1715=AXIS2_PLACEMENT_3D('',#1712,#1713,#1714); ++#1717=DIRECTION('',(1.E0,0.E0,0.E0)); ++#1718=VECTOR('',#1717,1.2E1); ++#1719=CARTESIAN_POINT('',(6.E0,1.5E0,1.E1)); ++#1720=LINE('',#1719,#1718); ++#1721=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1722=VECTOR('',#1721,1.5E0); ++#1723=CARTESIAN_POINT('',(5.E0,1.5E0,1.1E1)); ++#1724=LINE('',#1723,#1722); ++#1725=CARTESIAN_POINT('',(6.E0,1.5E0,1.1E1)); ++#1726=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1727=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#1728=AXIS2_PLACEMENT_3D('',#1725,#1726,#1727); ++#1730=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1731=VECTOR('',#1730,1.5E0); ++#1732=CARTESIAN_POINT('',(6.E0,1.5E0,1.E1)); ++#1733=LINE('',#1732,#1731); ++#1734=CARTESIAN_POINT('',(6.E0,0.E0,1.1E1)); ++#1735=DIRECTION('',(0.E0,1.E0,0.E0)); ++#1736=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#1737=AXIS2_PLACEMENT_3D('',#1734,#1735,#1736); ++#1739=DIRECTION('',(0.E0,0.E0,1.E0)); ++#1740=VECTOR('',#1739,2.E0); ++#1741=CARTESIAN_POINT('',(5.E0,1.5E0,8.E0)); ++#1742=LINE('',#1741,#1740); ++#1743=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1744=VECTOR('',#1743,1.E1); ++#1745=CARTESIAN_POINT('',(5.E0,1.15E1,8.E0)); ++#1746=LINE('',#1745,#1744); ++#1747=DIRECTION('',(0.E0,1.E0,0.E0)); ++#1748=VECTOR('',#1747,1.5E0); ++#1749=CARTESIAN_POINT('',(5.E0,0.E0,1.175E1)); ++#1750=LINE('',#1749,#1748); ++#1751=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1)); ++#1752=VECTOR('',#1751,7.071067811865E-1); ++#1753=CARTESIAN_POINT('',(5.E0,0.E0,1.175E1)); ++#1754=LINE('',#1753,#1752); ++#1755=DIRECTION('',(0.E0,1.E0,0.E0)); ++#1756=VECTOR('',#1755,1.5E0); ++#1757=CARTESIAN_POINT('',(4.5E0,0.E0,1.225E1)); ++#1758=LINE('',#1757,#1756); ++#1759=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1)); ++#1760=VECTOR('',#1759,7.071067811865E-1); ++#1761=CARTESIAN_POINT('',(5.E0,1.5E0,1.175E1)); ++#1762=LINE('',#1761,#1760); ++#1763=CARTESIAN_POINT('',(4.25E0,1.05E1,1.E1)); ++#1764=DIRECTION('',(0.E0,0.E0,1.E0)); ++#1765=DIRECTION('',(1.E0,0.E0,0.E0)); ++#1766=AXIS2_PLACEMENT_3D('',#1763,#1764,#1765); ++#1768=CARTESIAN_POINT('',(4.25E0,1.05E1,1.E1)); ++#1769=DIRECTION('',(0.E0,0.E0,1.E0)); ++#1770=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#1771=AXIS2_PLACEMENT_3D('',#1768,#1769,#1770); ++#1773=DIRECTION('',(0.E0,1.E0,0.E0)); ++#1774=VECTOR('',#1773,5.E0); ++#1775=CARTESIAN_POINT('',(2.5E-1,1.5E0,1.E1)); ++#1776=LINE('',#1775,#1774); ++#1777=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1778=VECTOR('',#1777,1.E0); ++#1779=CARTESIAN_POINT('',(-2.E0,2.5E0,1.E1)); ++#1780=LINE('',#1779,#1778); ++#1781=DIRECTION('',(-4.856429311786E-1,-8.741572761215E-1,0.E0)); ++#1782=VECTOR('',#1781,1.029563014099E1); ++#1783=CARTESIAN_POINT('',(3.E0,1.15E1,1.E1)); ++#1784=LINE('',#1783,#1782); ++#1785=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#1786=VECTOR('',#1785,2.E0); ++#1787=CARTESIAN_POINT('',(5.E0,1.15E1,1.E1)); ++#1788=LINE('',#1787,#1786); ++#1789=DIRECTION('',(0.E0,1.E0,0.E0)); ++#1790=VECTOR('',#1789,1.E1); ++#1791=CARTESIAN_POINT('',(5.E0,1.5E0,1.E1)); ++#1792=LINE('',#1791,#1790); ++#1793=DIRECTION('',(0.E0,1.E0,0.E0)); ++#1794=VECTOR('',#1793,5.E0); ++#1795=CARTESIAN_POINT('',(2.E0,1.5E0,1.E1)); ++#1796=LINE('',#1795,#1794); ++#1797=DIRECTION('',(1.E0,0.E0,0.E0)); ++#1798=VECTOR('',#1797,1.75E0); ++#1799=CARTESIAN_POINT('',(2.5E-1,6.5E0,1.E1)); ++#1800=LINE('',#1799,#1798); ++#1801=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1802=VECTOR('',#1801,4.3E0); ++#1803=CARTESIAN_POINT('',(2.5E0,6.65E0,1.E1)); ++#1804=LINE('',#1803,#1802); ++#1805=DIRECTION('',(1.E0,0.E0,0.E0)); ++#1806=VECTOR('',#1805,1.3E0); ++#1807=CARTESIAN_POINT('',(2.85E0,2.E0,1.E1)); ++#1808=LINE('',#1807,#1806); ++#1809=DIRECTION('',(0.E0,1.E0,0.E0)); ++#1810=VECTOR('',#1809,6.8E0); ++#1811=CARTESIAN_POINT('',(4.5E0,2.35E0,1.E1)); ++#1812=LINE('',#1811,#1810); ++#1813=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#1814=VECTOR('',#1813,1.197200760546E0); ++#1815=CARTESIAN_POINT('',(4.15E0,9.5E0,1.E1)); ++#1816=LINE('',#1815,#1814); ++#1817=DIRECTION('',(-4.856429311786E-1,-8.741572761215E-1,0.E0)); ++#1818=VECTOR('',#1817,2.059126028197E0); ++#1819=CARTESIAN_POINT('',(2.646844192811E0,9.319975025913E0,1.E1)); ++#1820=LINE('',#1819,#1818); ++#1821=DIRECTION('',(1.E0,0.E0,0.E0)); ++#1822=VECTOR('',#1821,1.972007605460E-1); ++#1823=CARTESIAN_POINT('',(1.952799239454E0,7.E0,1.E1)); ++#1824=LINE('',#1823,#1822); ++#1825=DIRECTION('',(0.E0,0.E0,1.E0)); ++#1826=VECTOR('',#1825,2.E0); ++#1827=CARTESIAN_POINT('',(4.4125E0,1.05E1,8.E0)); ++#1828=LINE('',#1827,#1826); ++#1829=DIRECTION('',(0.E0,0.E0,1.E0)); ++#1830=VECTOR('',#1829,2.E0); ++#1831=CARTESIAN_POINT('',(4.0875E0,1.05E1,8.E0)); ++#1832=LINE('',#1831,#1830); ++#1833=DIRECTION('',(0.E0,-8.660254037844E-1,5.E-1)); ++#1834=VECTOR('',#1833,5.773502691896E0); ++#1835=CARTESIAN_POINT('',(2.5E-1,6.5E0,1.E1)); ++#1836=LINE('',#1835,#1834); ++#1837=CARTESIAN_POINT('',(8.675E-1,3.035898384862E0,1.2E1)); ++#1838=CARTESIAN_POINT('',(8.675E-1,2.930774450068E0,1.206069333205E1)); ++#1839=CARTESIAN_POINT('',(9.058386382037E-1,2.745461691651E0,1.216768370301E1)); ++#1840=CARTESIAN_POINT('',(1.029862281194E0,2.608885438662E0,1.224653603944E1)); ++#1841=CARTESIAN_POINT('',(1.125E0,2.580400233539E0,1.226298198028E1)); ++#1842=CARTESIAN_POINT('',(1.220137718806E0,2.608885438662E0,1.224653603944E1)); ++#1843=CARTESIAN_POINT('',(1.344161361796E0,2.745461691651E0,1.216768370301E1)); ++#1844=CARTESIAN_POINT('',(1.3825E0,2.930774450068E0,1.206069333205E1)); ++#1845=CARTESIAN_POINT('',(1.3825E0,3.035898384862E0,1.2E1)); ++#1847=CARTESIAN_POINT('',(1.3825E0,3.035898384862E0,1.2E1)); ++#1848=CARTESIAN_POINT('',(1.3825E0,3.141022319657E0,1.193930666795E1)); ++#1849=CARTESIAN_POINT('',(1.344161361796E0,3.326335078073E0,1.183231629699E1)); ++#1850=CARTESIAN_POINT('',(1.220137718806E0,3.462911331062E0,1.175346396056E1)); ++#1851=CARTESIAN_POINT('',(1.125E0,3.491396536186E0,1.173701801972E1)); ++#1852=CARTESIAN_POINT('',(1.029862281194E0,3.462911331062E0,1.175346396056E1)); ++#1853=CARTESIAN_POINT('',(9.058386382037E-1,3.326335078073E0,1.183231629699E1)); ++#1854=CARTESIAN_POINT('',(8.675E-1,3.141022319657E0,1.193930666795E1)); ++#1855=CARTESIAN_POINT('',(8.675E-1,3.035898384862E0,1.2E1)); ++#1857=DIRECTION('',(0.E0,-8.660254037844E-1,5.E-1)); ++#1858=VECTOR('',#1857,5.773502691896E0); ++#1859=CARTESIAN_POINT('',(2.E0,6.5E0,1.E1)); ++#1860=LINE('',#1859,#1858); ++#1861=DIRECTION('',(0.E0,1.E0,0.E0)); ++#1862=VECTOR('',#1861,2.035898384862E0); ++#1863=CARTESIAN_POINT('',(8.675E-1,1.E0,1.2E1)); ++#1864=LINE('',#1863,#1862); ++#1865=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1866=VECTOR('',#1865,2.035898384862E0); ++#1867=CARTESIAN_POINT('',(1.3825E0,3.035898384862E0,1.2E1)); ++#1868=LINE('',#1867,#1866); ++#1869=CARTESIAN_POINT('',(1.125E0,1.E0,1.2E1)); ++#1870=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1871=DIRECTION('',(1.E0,0.E0,0.E0)); ++#1872=AXIS2_PLACEMENT_3D('',#1869,#1870,#1871); ++#1874=CARTESIAN_POINT('',(1.125E0,1.E0,1.2E1)); ++#1875=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1876=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#1877=AXIS2_PLACEMENT_3D('',#1874,#1875,#1876); ++#1879=CARTESIAN_POINT('',(1.125E0,1.E0,1.2E1)); ++#1880=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1881=DIRECTION('',(1.E0,0.E0,0.E0)); ++#1882=AXIS2_PLACEMENT_3D('',#1879,#1880,#1881); ++#1884=CARTESIAN_POINT('',(1.125E0,1.E0,1.2E1)); ++#1885=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1886=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#1887=AXIS2_PLACEMENT_3D('',#1884,#1885,#1886); ++#1889=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1890=VECTOR('',#1889,1.E0); ++#1891=CARTESIAN_POINT('',(1.3175E0,1.E0,1.2E1)); ++#1892=LINE('',#1891,#1890); ++#1893=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1894=VECTOR('',#1893,1.E0); ++#1895=CARTESIAN_POINT('',(9.325E-1,1.E0,1.2E1)); ++#1896=LINE('',#1895,#1894); ++#1897=DIRECTION('',(0.E0,1.E0,0.E0)); ++#1898=VECTOR('',#1897,2.5E0); ++#1899=CARTESIAN_POINT('',(-2.E0,0.E0,8.E0)); ++#1900=LINE('',#1899,#1898); ++#1901=DIRECTION('',(0.E0,0.E0,1.E0)); ++#1902=VECTOR('',#1901,2.E0); ++#1903=CARTESIAN_POINT('',(-2.E0,2.5E0,8.E0)); ++#1904=LINE('',#1903,#1902); ++#1905=DIRECTION('',(0.E0,1.E0,0.E0)); ++#1906=VECTOR('',#1905,1.5E0); ++#1907=CARTESIAN_POINT('',(-1.5E0,0.E0,1.225E1)); ++#1908=LINE('',#1907,#1906); ++#1909=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1)); ++#1910=VECTOR('',#1909,7.071067811865E-1); ++#1911=CARTESIAN_POINT('',(-1.5E0,0.E0,1.225E1)); ++#1912=LINE('',#1911,#1910); ++#1913=DIRECTION('',(0.E0,1.E0,0.E0)); ++#1914=VECTOR('',#1913,1.5E0); ++#1915=CARTESIAN_POINT('',(-2.E0,0.E0,1.175E1)); ++#1916=LINE('',#1915,#1914); ++#1917=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1)); ++#1918=VECTOR('',#1917,7.071067811865E-1); ++#1919=CARTESIAN_POINT('',(-1.5E0,1.5E0,1.225E1)); ++#1920=LINE('',#1919,#1918); ++#1921=DIRECTION('',(0.E0,0.E0,1.E0)); ++#1922=VECTOR('',#1921,2.E0); ++#1923=CARTESIAN_POINT('',(3.E0,1.15E1,8.E0)); ++#1924=LINE('',#1923,#1922); ++#1925=DIRECTION('',(0.E0,0.E0,1.E0)); ++#1926=VECTOR('',#1925,2.E0); ++#1927=CARTESIAN_POINT('',(5.E0,1.15E1,8.E0)); ++#1928=LINE('',#1927,#1926); ++#1929=CARTESIAN_POINT('',(4.E0,1.15E1,9.E0)); ++#1930=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1931=DIRECTION('',(1.E0,0.E0,0.E0)); ++#1932=AXIS2_PLACEMENT_3D('',#1929,#1930,#1931); ++#1934=CARTESIAN_POINT('',(4.E0,1.15E1,9.E0)); ++#1935=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1936=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#1937=AXIS2_PLACEMENT_3D('',#1934,#1935,#1936); ++#1939=CARTESIAN_POINT('',(3.867417478528E0,1.15E1,9.132582521472E0)); ++#1940=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1941=DIRECTION('',(1.E0,0.E0,0.E0)); ++#1942=AXIS2_PLACEMENT_3D('',#1939,#1940,#1941); ++#1944=CARTESIAN_POINT('',(3.867417478528E0,1.15E1,9.132582521472E0)); ++#1945=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1946=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#1947=AXIS2_PLACEMENT_3D('',#1944,#1945,#1946); ++#1949=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1950=VECTOR('',#1949,3.75E-1); ++#1951=CARTESIAN_POINT('',(4.095E0,1.15E1,9.E0)); ++#1952=LINE('',#1951,#1950); ++#1953=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1954=VECTOR('',#1953,3.75E-1); ++#1955=CARTESIAN_POINT('',(3.905E0,1.15E1,9.E0)); ++#1956=LINE('',#1955,#1954); ++#1957=CARTESIAN_POINT('',(4.E0,1.1125E1,9.E0)); ++#1958=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1959=DIRECTION('',(1.E0,0.E0,0.E0)); ++#1960=AXIS2_PLACEMENT_3D('',#1957,#1958,#1959); ++#1962=CARTESIAN_POINT('',(4.E0,1.1125E1,9.E0)); ++#1963=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1964=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#1965=AXIS2_PLACEMENT_3D('',#1962,#1963,#1964); ++#1967=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1968=VECTOR('',#1967,2.5E-1); ++#1969=CARTESIAN_POINT('',(3.929917478528E0,1.15E1,9.132582521472E0)); ++#1970=LINE('',#1969,#1968); ++#1971=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1972=VECTOR('',#1971,2.5E-1); ++#1973=CARTESIAN_POINT('',(3.804917478528E0,1.15E1,9.132582521472E0)); ++#1974=LINE('',#1973,#1972); ++#1975=CARTESIAN_POINT('',(3.867417478528E0,1.125E1,9.132582521472E0)); ++#1976=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1977=DIRECTION('',(1.E0,0.E0,0.E0)); ++#1978=AXIS2_PLACEMENT_3D('',#1975,#1976,#1977); ++#1980=CARTESIAN_POINT('',(3.867417478528E0,1.125E1,9.132582521472E0)); ++#1981=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#1982=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#1983=AXIS2_PLACEMENT_3D('',#1980,#1981,#1982); ++#1985=DIRECTION('',(0.E0,0.E0,1.E0)); ++#1986=VECTOR('',#1985,5.E-1); ++#1987=CARTESIAN_POINT('',(2.5E0,6.65E0,9.5E0)); ++#1988=LINE('',#1987,#1986); ++#1989=CARTESIAN_POINT('',(2.15E0,6.65E0,1.E1)); ++#1990=DIRECTION('',(0.E0,0.E0,1.E0)); ++#1991=DIRECTION('',(1.E0,0.E0,0.E0)); ++#1992=AXIS2_PLACEMENT_3D('',#1989,#1990,#1991); ++#1994=DIRECTION('',(0.E0,0.E0,1.E0)); ++#1995=VECTOR('',#1994,5.E-1); ++#1996=CARTESIAN_POINT('',(2.15E0,7.E0,9.5E0)); ++#1997=LINE('',#1996,#1995); ++#1998=CARTESIAN_POINT('',(2.15E0,6.65E0,9.5E0)); ++#1999=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#2000=DIRECTION('',(0.E0,1.E0,0.E0)); ++#2001=AXIS2_PLACEMENT_3D('',#1998,#1999,#2000); ++#2003=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2004=VECTOR('',#2003,4.3E0); ++#2005=CARTESIAN_POINT('',(2.5E0,6.65E0,9.5E0)); ++#2006=LINE('',#2005,#2004); ++#2007=DIRECTION('',(1.E0,0.E0,0.E0)); ++#2008=VECTOR('',#2007,1.972007605460E-1); ++#2009=CARTESIAN_POINT('',(1.952799239454E0,7.E0,9.5E0)); ++#2010=LINE('',#2009,#2008); ++#2011=DIRECTION('',(-4.856429311786E-1,-8.741572761215E-1,0.E0)); ++#2012=VECTOR('',#2011,2.059126028197E0); ++#2013=CARTESIAN_POINT('',(2.646844192811E0,9.319975025913E0,9.5E0)); ++#2014=LINE('',#2013,#2012); ++#2015=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#2016=VECTOR('',#2015,1.197200760546E0); ++#2017=CARTESIAN_POINT('',(4.15E0,9.5E0,9.5E0)); ++#2018=LINE('',#2017,#2016); ++#2019=DIRECTION('',(0.E0,1.E0,0.E0)); ++#2020=VECTOR('',#2019,6.8E0); ++#2021=CARTESIAN_POINT('',(4.5E0,2.35E0,9.5E0)); ++#2022=LINE('',#2021,#2020); ++#2023=DIRECTION('',(1.E0,0.E0,0.E0)); ++#2024=VECTOR('',#2023,1.3E0); ++#2025=CARTESIAN_POINT('',(2.85E0,2.E0,9.5E0)); ++#2026=LINE('',#2025,#2024); ++#2027=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#2028=VECTOR('',#2027,5.E-1); ++#2029=CARTESIAN_POINT('',(1.952799239454E0,7.E0,1.E1)); ++#2030=LINE('',#2029,#2028); ++#2031=CARTESIAN_POINT('',(1.952799239454E0,7.35E0,1.E1)); ++#2032=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#2033=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2034=AXIS2_PLACEMENT_3D('',#2031,#2032,#2033); ++#2036=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#2037=VECTOR('',#2036,5.E-1); ++#2038=CARTESIAN_POINT('',(1.646844192811E0,7.519975025913E0,1.E1)); ++#2039=LINE('',#2038,#2037); ++#2040=CARTESIAN_POINT('',(1.952799239454E0,7.35E0,9.5E0)); ++#2041=DIRECTION('',(0.E0,0.E0,1.E0)); ++#2042=DIRECTION('',(-8.741572761215E-1,4.856429311786E-1,0.E0)); ++#2043=AXIS2_PLACEMENT_3D('',#2040,#2041,#2042); ++#2045=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#2046=VECTOR('',#2045,5.E-1); ++#2047=CARTESIAN_POINT('',(2.646844192811E0,9.319975025913E0,1.E1)); ++#2048=LINE('',#2047,#2046); ++#2049=CARTESIAN_POINT('',(2.952799239454E0,9.15E0,1.E1)); ++#2050=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#2051=DIRECTION('',(-8.741572761215E-1,4.856429311786E-1,0.E0)); ++#2052=AXIS2_PLACEMENT_3D('',#2049,#2050,#2051); ++#2054=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#2055=VECTOR('',#2054,5.E-1); ++#2056=CARTESIAN_POINT('',(2.952799239454E0,9.5E0,1.E1)); ++#2057=LINE('',#2056,#2055); ++#2058=CARTESIAN_POINT('',(2.952799239454E0,9.15E0,9.5E0)); ++#2059=DIRECTION('',(0.E0,0.E0,1.E0)); ++#2060=DIRECTION('',(0.E0,1.E0,0.E0)); ++#2061=AXIS2_PLACEMENT_3D('',#2058,#2059,#2060); ++#2063=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#2064=VECTOR('',#2063,5.E-1); ++#2065=CARTESIAN_POINT('',(4.15E0,9.5E0,1.E1)); ++#2066=LINE('',#2065,#2064); ++#2067=CARTESIAN_POINT('',(4.15E0,9.15E0,1.E1)); ++#2068=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#2069=DIRECTION('',(0.E0,1.E0,0.E0)); ++#2070=AXIS2_PLACEMENT_3D('',#2067,#2068,#2069); ++#2072=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#2073=VECTOR('',#2072,5.E-1); ++#2074=CARTESIAN_POINT('',(4.5E0,9.15E0,1.E1)); ++#2075=LINE('',#2074,#2073); ++#2076=CARTESIAN_POINT('',(4.15E0,9.15E0,9.5E0)); ++#2077=DIRECTION('',(0.E0,0.E0,1.E0)); ++#2078=DIRECTION('',(1.E0,0.E0,0.E0)); ++#2079=AXIS2_PLACEMENT_3D('',#2076,#2077,#2078); ++#2081=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#2082=VECTOR('',#2081,5.E-1); ++#2083=CARTESIAN_POINT('',(4.5E0,2.35E0,1.E1)); ++#2084=LINE('',#2083,#2082); ++#2085=CARTESIAN_POINT('',(4.15E0,2.35E0,1.E1)); ++#2086=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#2087=DIRECTION('',(1.E0,0.E0,0.E0)); ++#2088=AXIS2_PLACEMENT_3D('',#2085,#2086,#2087); ++#2090=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#2091=VECTOR('',#2090,5.E-1); ++#2092=CARTESIAN_POINT('',(4.15E0,2.E0,1.E1)); ++#2093=LINE('',#2092,#2091); ++#2094=CARTESIAN_POINT('',(4.15E0,2.35E0,9.5E0)); ++#2095=DIRECTION('',(0.E0,0.E0,1.E0)); ++#2096=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2097=AXIS2_PLACEMENT_3D('',#2094,#2095,#2096); ++#2099=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#2100=VECTOR('',#2099,5.E-1); ++#2101=CARTESIAN_POINT('',(2.85E0,2.E0,1.E1)); ++#2102=LINE('',#2101,#2100); ++#2103=CARTESIAN_POINT('',(2.85E0,2.35E0,1.E1)); ++#2104=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#2105=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2106=AXIS2_PLACEMENT_3D('',#2103,#2104,#2105); ++#2108=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#2109=VECTOR('',#2108,5.E-1); ++#2110=CARTESIAN_POINT('',(2.5E0,2.35E0,1.E1)); ++#2111=LINE('',#2110,#2109); ++#2112=CARTESIAN_POINT('',(2.85E0,2.35E0,9.5E0)); ++#2113=DIRECTION('',(0.E0,0.E0,1.E0)); ++#2114=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#2115=AXIS2_PLACEMENT_3D('',#2112,#2113,#2114); ++#2117=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2118=VECTOR('',#2117,1.5E0); ++#2119=CARTESIAN_POINT('',(1.9E1,1.5E0,1.175E1)); ++#2120=LINE('',#2119,#2118); ++#2121=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1)); ++#2122=VECTOR('',#2121,7.071067811865E-1); ++#2123=CARTESIAN_POINT('',(1.9E1,1.5E0,1.175E1)); ++#2124=LINE('',#2123,#2122); ++#2125=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2126=VECTOR('',#2125,1.5E0); ++#2127=CARTESIAN_POINT('',(1.95E1,1.5E0,1.225E1)); ++#2128=LINE('',#2127,#2126); ++#2129=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1)); ++#2130=VECTOR('',#2129,7.071067811865E-1); ++#2131=CARTESIAN_POINT('',(1.9E1,0.E0,1.175E1)); ++#2132=LINE('',#2131,#2130); ++#2133=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2134=VECTOR('',#2133,3.75E-1); ++#2135=CARTESIAN_POINT('',(1.9905E1,1.15E1,9.E0)); ++#2136=LINE('',#2135,#2134); ++#2137=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2138=VECTOR('',#2137,3.75E-1); ++#2139=CARTESIAN_POINT('',(2.0095E1,1.15E1,9.E0)); ++#2140=LINE('',#2139,#2138); ++#2141=CARTESIAN_POINT('',(2.E1,1.1125E1,9.E0)); ++#2142=DIRECTION('',(0.E0,1.E0,0.E0)); ++#2143=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#2144=AXIS2_PLACEMENT_3D('',#2141,#2142,#2143); ++#2146=CARTESIAN_POINT('',(2.E1,1.1125E1,9.E0)); ++#2147=DIRECTION('',(0.E0,1.E0,0.E0)); ++#2148=DIRECTION('',(1.E0,0.E0,0.E0)); ++#2149=AXIS2_PLACEMENT_3D('',#2146,#2147,#2148); ++#2151=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2152=VECTOR('',#2151,2.5E-1); ++#2153=CARTESIAN_POINT('',(2.007008252147E1,1.15E1,9.132582521472E0)); ++#2154=LINE('',#2153,#2152); ++#2155=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2156=VECTOR('',#2155,2.5E-1); ++#2157=CARTESIAN_POINT('',(2.019508252147E1,1.15E1,9.132582521472E0)); ++#2158=LINE('',#2157,#2156); ++#2159=CARTESIAN_POINT('',(2.013258252147E1,1.125E1,9.132582521472E0)); ++#2160=DIRECTION('',(0.E0,1.E0,0.E0)); ++#2161=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#2162=AXIS2_PLACEMENT_3D('',#2159,#2160,#2161); ++#2164=CARTESIAN_POINT('',(2.013258252147E1,1.125E1,9.132582521472E0)); ++#2165=DIRECTION('',(0.E0,1.E0,0.E0)); ++#2166=DIRECTION('',(1.E0,0.E0,0.E0)); ++#2167=AXIS2_PLACEMENT_3D('',#2164,#2165,#2166); ++#2169=DIRECTION('',(1.421085471520E-14,1.E0,0.E0)); ++#2170=VECTOR('',#2169,2.5E-1); ++#2171=CARTESIAN_POINT('',(1.745E1,1.25E0,2.975E1)); ++#2172=LINE('',#2171,#2170); ++#2173=DIRECTION('',(-1.421085471520E-14,1.E0,0.E0)); ++#2174=VECTOR('',#2173,2.5E-1); ++#2175=CARTESIAN_POINT('',(1.765E1,1.25E0,2.975E1)); ++#2176=LINE('',#2175,#2174); ++#2177=DIRECTION('',(-8.660254037844E-1,5.E-1,0.E0)); ++#2178=VECTOR('',#2177,1.154700538379E-1); ++#2179=CARTESIAN_POINT('',(1.755E1,1.192264973081E0,2.975E1)); ++#2180=LINE('',#2179,#2178); ++#2181=DIRECTION('',(8.660254037844E-1,5.E-1,0.E0)); ++#2182=VECTOR('',#2181,1.154700538379E-1); ++#2183=CARTESIAN_POINT('',(1.755E1,1.192264973081E0,2.975E1)); ++#2184=LINE('',#2183,#2182); ++#2185=CARTESIAN_POINT('',(1.755E1,1.25E0,2.975E1)); ++#2186=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2187=DIRECTION('',(1.E0,0.E0,0.E0)); ++#2188=AXIS2_PLACEMENT_3D('',#2185,#2186,#2187); ++#2190=CARTESIAN_POINT('',(1.755E1,1.25E0,2.975E1)); ++#2191=DIRECTION('',(0.E0,1.E0,0.E0)); ++#2192=DIRECTION('',(1.E0,0.E0,0.E0)); ++#2193=AXIS2_PLACEMENT_3D('',#2190,#2191,#2192); ++#2195=DIRECTION('',(1.421085471520E-14,1.E0,0.E0)); ++#2196=VECTOR('',#2195,2.5E-1); ++#2197=CARTESIAN_POINT('',(1.645E1,1.25E0,2.975E1)); ++#2198=LINE('',#2197,#2196); ++#2199=DIRECTION('',(-1.421085471520E-14,1.E0,0.E0)); ++#2200=VECTOR('',#2199,2.5E-1); ++#2201=CARTESIAN_POINT('',(1.665E1,1.25E0,2.975E1)); ++#2202=LINE('',#2201,#2200); ++#2203=DIRECTION('',(-8.660254037844E-1,5.E-1,0.E0)); ++#2204=VECTOR('',#2203,1.154700538379E-1); ++#2205=CARTESIAN_POINT('',(1.655E1,1.192264973081E0,2.975E1)); ++#2206=LINE('',#2205,#2204); ++#2207=DIRECTION('',(8.660254037844E-1,5.E-1,0.E0)); ++#2208=VECTOR('',#2207,1.154700538379E-1); ++#2209=CARTESIAN_POINT('',(1.655E1,1.192264973081E0,2.975E1)); ++#2210=LINE('',#2209,#2208); ++#2211=CARTESIAN_POINT('',(1.655E1,1.25E0,2.975E1)); ++#2212=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2213=DIRECTION('',(1.E0,0.E0,0.E0)); ++#2214=AXIS2_PLACEMENT_3D('',#2211,#2212,#2213); ++#2216=CARTESIAN_POINT('',(1.655E1,1.25E0,2.975E1)); ++#2217=DIRECTION('',(0.E0,1.E0,0.E0)); ++#2218=DIRECTION('',(1.E0,0.E0,0.E0)); ++#2219=AXIS2_PLACEMENT_3D('',#2216,#2217,#2218); ++#2221=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2222=VECTOR('',#2221,5.E-1); ++#2223=CARTESIAN_POINT('',(1.3825E0,1.5E0,6.E0)); ++#2224=LINE('',#2223,#2222); ++#2225=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2226=VECTOR('',#2225,5.E-1); ++#2227=CARTESIAN_POINT('',(8.675E-1,1.5E0,6.E0)); ++#2228=LINE('',#2227,#2226); ++#2229=CARTESIAN_POINT('',(1.125E0,1.E0,6.E0)); ++#2230=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2231=DIRECTION('',(1.E0,0.E0,0.E0)); ++#2232=AXIS2_PLACEMENT_3D('',#2229,#2230,#2231); ++#2234=CARTESIAN_POINT('',(1.125E0,1.E0,6.E0)); ++#2235=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2236=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#2237=AXIS2_PLACEMENT_3D('',#2234,#2235,#2236); ++#2239=CARTESIAN_POINT('',(1.125E0,1.E0,6.E0)); ++#2240=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2241=DIRECTION('',(1.E0,0.E0,0.E0)); ++#2242=AXIS2_PLACEMENT_3D('',#2239,#2240,#2241); ++#2244=CARTESIAN_POINT('',(1.125E0,1.E0,6.E0)); ++#2245=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2246=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#2247=AXIS2_PLACEMENT_3D('',#2244,#2245,#2246); ++#2249=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2250=VECTOR('',#2249,1.E0); ++#2251=CARTESIAN_POINT('',(1.3175E0,1.E0,6.E0)); ++#2252=LINE('',#2251,#2250); ++#2253=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2254=VECTOR('',#2253,1.E0); ++#2255=CARTESIAN_POINT('',(9.325E-1,1.E0,6.E0)); ++#2256=LINE('',#2255,#2254); ++#2257=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2258=VECTOR('',#2257,5.E-1); ++#2259=CARTESIAN_POINT('',(1.3825E0,1.5E0,1.8E1)); ++#2260=LINE('',#2259,#2258); ++#2261=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2262=VECTOR('',#2261,5.E-1); ++#2263=CARTESIAN_POINT('',(8.675E-1,1.5E0,1.8E1)); ++#2264=LINE('',#2263,#2262); ++#2265=CARTESIAN_POINT('',(1.125E0,1.E0,1.8E1)); ++#2266=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2267=DIRECTION('',(1.E0,0.E0,0.E0)); ++#2268=AXIS2_PLACEMENT_3D('',#2265,#2266,#2267); ++#2270=CARTESIAN_POINT('',(1.125E0,1.E0,1.8E1)); ++#2271=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2272=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#2273=AXIS2_PLACEMENT_3D('',#2270,#2271,#2272); ++#2275=CARTESIAN_POINT('',(1.125E0,1.E0,1.8E1)); ++#2276=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2277=DIRECTION('',(1.E0,0.E0,0.E0)); ++#2278=AXIS2_PLACEMENT_3D('',#2275,#2276,#2277); ++#2280=CARTESIAN_POINT('',(1.125E0,1.E0,1.8E1)); ++#2281=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2282=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#2283=AXIS2_PLACEMENT_3D('',#2280,#2281,#2282); ++#2285=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2286=VECTOR('',#2285,1.E0); ++#2287=CARTESIAN_POINT('',(1.3175E0,1.E0,1.8E1)); ++#2288=LINE('',#2287,#2286); ++#2289=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2290=VECTOR('',#2289,1.E0); ++#2291=CARTESIAN_POINT('',(9.325E-1,1.E0,1.8E1)); ++#2292=LINE('',#2291,#2290); ++#2293=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2294=VECTOR('',#2293,5.E-1); ++#2295=CARTESIAN_POINT('',(1.3825E0,1.5E0,2.4E1)); ++#2296=LINE('',#2295,#2294); ++#2297=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2298=VECTOR('',#2297,5.E-1); ++#2299=CARTESIAN_POINT('',(8.675E-1,1.5E0,2.4E1)); ++#2300=LINE('',#2299,#2298); ++#2301=CARTESIAN_POINT('',(1.125E0,1.E0,2.4E1)); ++#2302=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2303=DIRECTION('',(1.E0,0.E0,0.E0)); ++#2304=AXIS2_PLACEMENT_3D('',#2301,#2302,#2303); ++#2306=CARTESIAN_POINT('',(1.125E0,1.E0,2.4E1)); ++#2307=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2308=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#2309=AXIS2_PLACEMENT_3D('',#2306,#2307,#2308); ++#2311=CARTESIAN_POINT('',(1.125E0,1.E0,2.4E1)); ++#2312=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2313=DIRECTION('',(1.E0,0.E0,0.E0)); ++#2314=AXIS2_PLACEMENT_3D('',#2311,#2312,#2313); ++#2316=CARTESIAN_POINT('',(1.125E0,1.E0,2.4E1)); ++#2317=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2318=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#2319=AXIS2_PLACEMENT_3D('',#2316,#2317,#2318); ++#2321=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2322=VECTOR('',#2321,1.E0); ++#2323=CARTESIAN_POINT('',(1.3175E0,1.E0,2.4E1)); ++#2324=LINE('',#2323,#2322); ++#2325=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2326=VECTOR('',#2325,1.E0); ++#2327=CARTESIAN_POINT('',(9.325E-1,1.E0,2.4E1)); ++#2328=LINE('',#2327,#2326); ++#2329=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2330=VECTOR('',#2329,5.E-1); ++#2331=CARTESIAN_POINT('',(2.31325E1,1.5E0,6.E0)); ++#2332=LINE('',#2331,#2330); ++#2333=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2334=VECTOR('',#2333,5.E-1); ++#2335=CARTESIAN_POINT('',(2.26175E1,1.5E0,6.E0)); ++#2336=LINE('',#2335,#2334); ++#2337=CARTESIAN_POINT('',(2.2875E1,1.E0,6.E0)); ++#2338=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2339=DIRECTION('',(1.E0,0.E0,0.E0)); ++#2340=AXIS2_PLACEMENT_3D('',#2337,#2338,#2339); ++#2342=CARTESIAN_POINT('',(2.2875E1,1.E0,6.E0)); ++#2343=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2344=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#2345=AXIS2_PLACEMENT_3D('',#2342,#2343,#2344); ++#2347=CARTESIAN_POINT('',(2.2875E1,1.E0,6.E0)); ++#2348=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2349=DIRECTION('',(1.E0,0.E0,0.E0)); ++#2350=AXIS2_PLACEMENT_3D('',#2347,#2348,#2349); ++#2352=CARTESIAN_POINT('',(2.2875E1,1.E0,6.E0)); ++#2353=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2354=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#2355=AXIS2_PLACEMENT_3D('',#2352,#2353,#2354); ++#2357=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2358=VECTOR('',#2357,1.E0); ++#2359=CARTESIAN_POINT('',(2.30675E1,1.E0,6.E0)); ++#2360=LINE('',#2359,#2358); ++#2361=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2362=VECTOR('',#2361,1.E0); ++#2363=CARTESIAN_POINT('',(2.26825E1,1.E0,6.E0)); ++#2364=LINE('',#2363,#2362); ++#2365=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2366=VECTOR('',#2365,5.E-1); ++#2367=CARTESIAN_POINT('',(2.31325E1,1.5E0,1.8E1)); ++#2368=LINE('',#2367,#2366); ++#2369=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2370=VECTOR('',#2369,5.E-1); ++#2371=CARTESIAN_POINT('',(2.26175E1,1.5E0,1.8E1)); ++#2372=LINE('',#2371,#2370); ++#2373=CARTESIAN_POINT('',(2.2875E1,1.E0,1.8E1)); ++#2374=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2375=DIRECTION('',(1.E0,0.E0,0.E0)); ++#2376=AXIS2_PLACEMENT_3D('',#2373,#2374,#2375); ++#2378=CARTESIAN_POINT('',(2.2875E1,1.E0,1.8E1)); ++#2379=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2380=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#2381=AXIS2_PLACEMENT_3D('',#2378,#2379,#2380); ++#2383=CARTESIAN_POINT('',(2.2875E1,1.E0,1.8E1)); ++#2384=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2385=DIRECTION('',(1.E0,0.E0,0.E0)); ++#2386=AXIS2_PLACEMENT_3D('',#2383,#2384,#2385); ++#2388=CARTESIAN_POINT('',(2.2875E1,1.E0,1.8E1)); ++#2389=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2390=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#2391=AXIS2_PLACEMENT_3D('',#2388,#2389,#2390); ++#2393=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2394=VECTOR('',#2393,1.E0); ++#2395=CARTESIAN_POINT('',(2.30675E1,1.E0,1.8E1)); ++#2396=LINE('',#2395,#2394); ++#2397=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2398=VECTOR('',#2397,1.E0); ++#2399=CARTESIAN_POINT('',(2.26825E1,1.E0,1.8E1)); ++#2400=LINE('',#2399,#2398); ++#2401=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2402=VECTOR('',#2401,5.E-1); ++#2403=CARTESIAN_POINT('',(2.31325E1,1.5E0,2.4E1)); ++#2404=LINE('',#2403,#2402); ++#2405=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2406=VECTOR('',#2405,5.E-1); ++#2407=CARTESIAN_POINT('',(2.26175E1,1.5E0,2.4E1)); ++#2408=LINE('',#2407,#2406); ++#2409=CARTESIAN_POINT('',(2.2875E1,1.E0,2.4E1)); ++#2410=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2411=DIRECTION('',(1.E0,0.E0,0.E0)); ++#2412=AXIS2_PLACEMENT_3D('',#2409,#2410,#2411); ++#2414=CARTESIAN_POINT('',(2.2875E1,1.E0,2.4E1)); ++#2415=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2416=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#2417=AXIS2_PLACEMENT_3D('',#2414,#2415,#2416); ++#2419=CARTESIAN_POINT('',(2.2875E1,1.E0,2.4E1)); ++#2420=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2421=DIRECTION('',(1.E0,0.E0,0.E0)); ++#2422=AXIS2_PLACEMENT_3D('',#2419,#2420,#2421); ++#2424=CARTESIAN_POINT('',(2.2875E1,1.E0,2.4E1)); ++#2425=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2426=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#2427=AXIS2_PLACEMENT_3D('',#2424,#2425,#2426); ++#2429=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2430=VECTOR('',#2429,1.E0); ++#2431=CARTESIAN_POINT('',(2.30675E1,1.E0,2.4E1)); ++#2432=LINE('',#2431,#2430); ++#2433=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2434=VECTOR('',#2433,1.E0); ++#2435=CARTESIAN_POINT('',(2.26825E1,1.E0,2.4E1)); ++#2436=LINE('',#2435,#2434); ++#2437=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2438=VECTOR('',#2437,5.E-1); ++#2439=CARTESIAN_POINT('',(6.256E0,1.5E0,1.25E0)); ++#2440=LINE('',#2439,#2438); ++#2441=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2442=VECTOR('',#2441,5.E-1); ++#2443=CARTESIAN_POINT('',(5.744E0,1.5E0,1.25E0)); ++#2444=LINE('',#2443,#2442); ++#2445=CARTESIAN_POINT('',(6.E0,1.E0,1.25E0)); ++#2446=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2447=DIRECTION('',(1.E0,0.E0,0.E0)); ++#2448=AXIS2_PLACEMENT_3D('',#2445,#2446,#2447); ++#2450=CARTESIAN_POINT('',(6.E0,1.E0,1.25E0)); ++#2451=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2452=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#2453=AXIS2_PLACEMENT_3D('',#2450,#2451,#2452); ++#2455=CARTESIAN_POINT('',(6.E0,1.E0,1.25E0)); ++#2456=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2457=DIRECTION('',(1.E0,0.E0,0.E0)); ++#2458=AXIS2_PLACEMENT_3D('',#2455,#2456,#2457); ++#2460=CARTESIAN_POINT('',(6.E0,1.E0,1.25E0)); ++#2461=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2462=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#2463=AXIS2_PLACEMENT_3D('',#2460,#2461,#2462); ++#2465=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2466=VECTOR('',#2465,1.E0); ++#2467=CARTESIAN_POINT('',(6.1925E0,1.E0,1.25E0)); ++#2468=LINE('',#2467,#2466); ++#2469=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2470=VECTOR('',#2469,1.E0); ++#2471=CARTESIAN_POINT('',(5.8075E0,1.E0,1.25E0)); ++#2472=LINE('',#2471,#2470); ++#2473=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2474=VECTOR('',#2473,5.E-1); ++#2475=CARTESIAN_POINT('',(1.2256E1,1.5E0,1.25E0)); ++#2476=LINE('',#2475,#2474); ++#2477=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2478=VECTOR('',#2477,5.E-1); ++#2479=CARTESIAN_POINT('',(1.1744E1,1.5E0,1.25E0)); ++#2480=LINE('',#2479,#2478); ++#2481=CARTESIAN_POINT('',(1.2E1,1.E0,1.25E0)); ++#2482=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2483=DIRECTION('',(1.E0,0.E0,0.E0)); ++#2484=AXIS2_PLACEMENT_3D('',#2481,#2482,#2483); ++#2486=CARTESIAN_POINT('',(1.2E1,1.E0,1.25E0)); ++#2487=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2488=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#2489=AXIS2_PLACEMENT_3D('',#2486,#2487,#2488); ++#2491=CARTESIAN_POINT('',(1.2E1,1.E0,1.25E0)); ++#2492=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2493=DIRECTION('',(1.E0,0.E0,0.E0)); ++#2494=AXIS2_PLACEMENT_3D('',#2491,#2492,#2493); ++#2496=CARTESIAN_POINT('',(1.2E1,1.E0,1.25E0)); ++#2497=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2498=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#2499=AXIS2_PLACEMENT_3D('',#2496,#2497,#2498); ++#2501=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2502=VECTOR('',#2501,1.E0); ++#2503=CARTESIAN_POINT('',(1.21925E1,1.E0,1.25E0)); ++#2504=LINE('',#2503,#2502); ++#2505=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2506=VECTOR('',#2505,1.E0); ++#2507=CARTESIAN_POINT('',(1.18075E1,1.E0,1.25E0)); ++#2508=LINE('',#2507,#2506); ++#2509=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2510=VECTOR('',#2509,5.E-1); ++#2511=CARTESIAN_POINT('',(1.8256E1,1.5E0,1.25E0)); ++#2512=LINE('',#2511,#2510); ++#2513=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2514=VECTOR('',#2513,5.E-1); ++#2515=CARTESIAN_POINT('',(1.7744E1,1.5E0,1.25E0)); ++#2516=LINE('',#2515,#2514); ++#2517=CARTESIAN_POINT('',(1.8E1,1.E0,1.25E0)); ++#2518=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2519=DIRECTION('',(1.E0,0.E0,0.E0)); ++#2520=AXIS2_PLACEMENT_3D('',#2517,#2518,#2519); ++#2522=CARTESIAN_POINT('',(1.8E1,1.E0,1.25E0)); ++#2523=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2524=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#2525=AXIS2_PLACEMENT_3D('',#2522,#2523,#2524); ++#2527=CARTESIAN_POINT('',(1.8E1,1.E0,1.25E0)); ++#2528=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2529=DIRECTION('',(1.E0,0.E0,0.E0)); ++#2530=AXIS2_PLACEMENT_3D('',#2527,#2528,#2529); ++#2532=CARTESIAN_POINT('',(1.8E1,1.E0,1.25E0)); ++#2533=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2534=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#2535=AXIS2_PLACEMENT_3D('',#2532,#2533,#2534); ++#2537=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2538=VECTOR('',#2537,1.E0); ++#2539=CARTESIAN_POINT('',(1.81925E1,1.E0,1.25E0)); ++#2540=LINE('',#2539,#2538); ++#2541=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2542=VECTOR('',#2541,1.E0); ++#2543=CARTESIAN_POINT('',(1.78075E1,1.E0,1.25E0)); ++#2544=LINE('',#2543,#2542); ++#2545=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2546=VECTOR('',#2545,5.E-1); ++#2547=CARTESIAN_POINT('',(6.256E0,1.5E0,3.075E1)); ++#2548=LINE('',#2547,#2546); ++#2549=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2550=VECTOR('',#2549,5.E-1); ++#2551=CARTESIAN_POINT('',(5.744E0,1.5E0,3.075E1)); ++#2552=LINE('',#2551,#2550); ++#2553=CARTESIAN_POINT('',(6.E0,1.E0,3.075E1)); ++#2554=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2555=DIRECTION('',(1.E0,0.E0,0.E0)); ++#2556=AXIS2_PLACEMENT_3D('',#2553,#2554,#2555); ++#2558=CARTESIAN_POINT('',(6.E0,1.E0,3.075E1)); ++#2559=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2560=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#2561=AXIS2_PLACEMENT_3D('',#2558,#2559,#2560); ++#2563=CARTESIAN_POINT('',(6.E0,1.E0,3.075E1)); ++#2564=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2565=DIRECTION('',(1.E0,0.E0,0.E0)); ++#2566=AXIS2_PLACEMENT_3D('',#2563,#2564,#2565); ++#2568=CARTESIAN_POINT('',(6.E0,1.E0,3.075E1)); ++#2569=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2570=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#2571=AXIS2_PLACEMENT_3D('',#2568,#2569,#2570); ++#2573=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2574=VECTOR('',#2573,1.E0); ++#2575=CARTESIAN_POINT('',(6.1925E0,1.E0,3.075E1)); ++#2576=LINE('',#2575,#2574); ++#2577=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2578=VECTOR('',#2577,1.E0); ++#2579=CARTESIAN_POINT('',(5.8075E0,1.E0,3.075E1)); ++#2580=LINE('',#2579,#2578); ++#2581=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2582=VECTOR('',#2581,5.E-1); ++#2583=CARTESIAN_POINT('',(1.2256E1,1.5E0,3.075E1)); ++#2584=LINE('',#2583,#2582); ++#2585=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2586=VECTOR('',#2585,5.E-1); ++#2587=CARTESIAN_POINT('',(1.1744E1,1.5E0,3.075E1)); ++#2588=LINE('',#2587,#2586); ++#2589=CARTESIAN_POINT('',(1.2E1,1.E0,3.075E1)); ++#2590=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2591=DIRECTION('',(1.E0,0.E0,0.E0)); ++#2592=AXIS2_PLACEMENT_3D('',#2589,#2590,#2591); ++#2594=CARTESIAN_POINT('',(1.2E1,1.E0,3.075E1)); ++#2595=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2596=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#2597=AXIS2_PLACEMENT_3D('',#2594,#2595,#2596); ++#2599=CARTESIAN_POINT('',(1.2E1,1.E0,3.075E1)); ++#2600=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2601=DIRECTION('',(1.E0,0.E0,0.E0)); ++#2602=AXIS2_PLACEMENT_3D('',#2599,#2600,#2601); ++#2604=CARTESIAN_POINT('',(1.2E1,1.E0,3.075E1)); ++#2605=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2606=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#2607=AXIS2_PLACEMENT_3D('',#2604,#2605,#2606); ++#2609=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2610=VECTOR('',#2609,1.E0); ++#2611=CARTESIAN_POINT('',(1.21925E1,1.E0,3.075E1)); ++#2612=LINE('',#2611,#2610); ++#2613=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2614=VECTOR('',#2613,1.E0); ++#2615=CARTESIAN_POINT('',(1.18075E1,1.E0,3.075E1)); ++#2616=LINE('',#2615,#2614); ++#2617=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2618=VECTOR('',#2617,5.E-1); ++#2619=CARTESIAN_POINT('',(1.8256E1,1.5E0,3.075E1)); ++#2620=LINE('',#2619,#2618); ++#2621=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2622=VECTOR('',#2621,5.E-1); ++#2623=CARTESIAN_POINT('',(1.7744E1,1.5E0,3.075E1)); ++#2624=LINE('',#2623,#2622); ++#2625=CARTESIAN_POINT('',(1.8E1,1.E0,3.075E1)); ++#2626=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2627=DIRECTION('',(1.E0,0.E0,0.E0)); ++#2628=AXIS2_PLACEMENT_3D('',#2625,#2626,#2627); ++#2630=CARTESIAN_POINT('',(1.8E1,1.E0,3.075E1)); ++#2631=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2632=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#2633=AXIS2_PLACEMENT_3D('',#2630,#2631,#2632); ++#2635=CARTESIAN_POINT('',(1.8E1,1.E0,3.075E1)); ++#2636=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2637=DIRECTION('',(1.E0,0.E0,0.E0)); ++#2638=AXIS2_PLACEMENT_3D('',#2635,#2636,#2637); ++#2640=CARTESIAN_POINT('',(1.8E1,1.E0,3.075E1)); ++#2641=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2642=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#2643=AXIS2_PLACEMENT_3D('',#2640,#2641,#2642); ++#2645=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2646=VECTOR('',#2645,1.E0); ++#2647=CARTESIAN_POINT('',(1.81925E1,1.E0,3.075E1)); ++#2648=LINE('',#2647,#2646); ++#2649=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2650=VECTOR('',#2649,1.E0); ++#2651=CARTESIAN_POINT('',(1.78075E1,1.E0,3.075E1)); ++#2652=LINE('',#2651,#2650); ++#2653=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2654=VECTOR('',#2653,5.E-1); ++#2655=CARTESIAN_POINT('',(6.2575E0,1.5E0,9.E0)); ++#2656=LINE('',#2655,#2654); ++#2657=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2658=VECTOR('',#2657,5.E-1); ++#2659=CARTESIAN_POINT('',(5.7425E0,1.5E0,9.E0)); ++#2660=LINE('',#2659,#2658); ++#2661=CARTESIAN_POINT('',(6.E0,1.E0,9.E0)); ++#2662=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2663=DIRECTION('',(1.E0,0.E0,0.E0)); ++#2664=AXIS2_PLACEMENT_3D('',#2661,#2662,#2663); ++#2666=CARTESIAN_POINT('',(6.E0,1.E0,9.E0)); ++#2667=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2668=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#2669=AXIS2_PLACEMENT_3D('',#2666,#2667,#2668); ++#2671=CARTESIAN_POINT('',(6.E0,1.E0,9.E0)); ++#2672=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2673=DIRECTION('',(1.E0,0.E0,0.E0)); ++#2674=AXIS2_PLACEMENT_3D('',#2671,#2672,#2673); ++#2676=CARTESIAN_POINT('',(6.E0,1.E0,9.E0)); ++#2677=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2678=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#2679=AXIS2_PLACEMENT_3D('',#2676,#2677,#2678); ++#2681=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2682=VECTOR('',#2681,1.E0); ++#2683=CARTESIAN_POINT('',(6.1925E0,1.E0,9.E0)); ++#2684=LINE('',#2683,#2682); ++#2685=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2686=VECTOR('',#2685,1.E0); ++#2687=CARTESIAN_POINT('',(5.8075E0,1.E0,9.E0)); ++#2688=LINE('',#2687,#2686); ++#2689=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2690=VECTOR('',#2689,5.E-1); ++#2691=CARTESIAN_POINT('',(1.22575E1,1.5E0,9.E0)); ++#2692=LINE('',#2691,#2690); ++#2693=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2694=VECTOR('',#2693,5.E-1); ++#2695=CARTESIAN_POINT('',(1.17425E1,1.5E0,9.E0)); ++#2696=LINE('',#2695,#2694); ++#2697=CARTESIAN_POINT('',(1.2E1,1.E0,9.E0)); ++#2698=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2699=DIRECTION('',(1.E0,0.E0,0.E0)); ++#2700=AXIS2_PLACEMENT_3D('',#2697,#2698,#2699); ++#2702=CARTESIAN_POINT('',(1.2E1,1.E0,9.E0)); ++#2703=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2704=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#2705=AXIS2_PLACEMENT_3D('',#2702,#2703,#2704); ++#2707=CARTESIAN_POINT('',(1.2E1,1.E0,9.E0)); ++#2708=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2709=DIRECTION('',(1.E0,0.E0,0.E0)); ++#2710=AXIS2_PLACEMENT_3D('',#2707,#2708,#2709); ++#2712=CARTESIAN_POINT('',(1.2E1,1.E0,9.E0)); ++#2713=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2714=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#2715=AXIS2_PLACEMENT_3D('',#2712,#2713,#2714); ++#2717=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2718=VECTOR('',#2717,1.E0); ++#2719=CARTESIAN_POINT('',(1.21925E1,1.E0,9.E0)); ++#2720=LINE('',#2719,#2718); ++#2721=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2722=VECTOR('',#2721,1.E0); ++#2723=CARTESIAN_POINT('',(1.18075E1,1.E0,9.E0)); ++#2724=LINE('',#2723,#2722); ++#2725=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2726=VECTOR('',#2725,5.E-1); ++#2727=CARTESIAN_POINT('',(1.82575E1,1.5E0,9.E0)); ++#2728=LINE('',#2727,#2726); ++#2729=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2730=VECTOR('',#2729,5.E-1); ++#2731=CARTESIAN_POINT('',(1.77425E1,1.5E0,9.E0)); ++#2732=LINE('',#2731,#2730); ++#2733=CARTESIAN_POINT('',(1.8E1,1.E0,9.E0)); ++#2734=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2735=DIRECTION('',(1.E0,0.E0,0.E0)); ++#2736=AXIS2_PLACEMENT_3D('',#2733,#2734,#2735); ++#2738=CARTESIAN_POINT('',(1.8E1,1.E0,9.E0)); ++#2739=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2740=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#2741=AXIS2_PLACEMENT_3D('',#2738,#2739,#2740); ++#2743=CARTESIAN_POINT('',(1.8E1,1.E0,9.E0)); ++#2744=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2745=DIRECTION('',(1.E0,0.E0,0.E0)); ++#2746=AXIS2_PLACEMENT_3D('',#2743,#2744,#2745); ++#2748=CARTESIAN_POINT('',(1.8E1,1.E0,9.E0)); ++#2749=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2750=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#2751=AXIS2_PLACEMENT_3D('',#2748,#2749,#2750); ++#2753=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2754=VECTOR('',#2753,1.E0); ++#2755=CARTESIAN_POINT('',(1.81925E1,1.E0,9.E0)); ++#2756=LINE('',#2755,#2754); ++#2757=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2758=VECTOR('',#2757,1.E0); ++#2759=CARTESIAN_POINT('',(1.78075E1,1.E0,9.E0)); ++#2760=LINE('',#2759,#2758); ++#2761=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2762=VECTOR('',#2761,5.E-1); ++#2763=CARTESIAN_POINT('',(6.2575E0,1.5E0,1.8E1)); ++#2764=LINE('',#2763,#2762); ++#2765=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2766=VECTOR('',#2765,5.E-1); ++#2767=CARTESIAN_POINT('',(5.7425E0,1.5E0,1.8E1)); ++#2768=LINE('',#2767,#2766); ++#2769=CARTESIAN_POINT('',(6.E0,1.E0,1.8E1)); ++#2770=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2771=DIRECTION('',(1.E0,0.E0,0.E0)); ++#2772=AXIS2_PLACEMENT_3D('',#2769,#2770,#2771); ++#2774=CARTESIAN_POINT('',(6.E0,1.E0,1.8E1)); ++#2775=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2776=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#2777=AXIS2_PLACEMENT_3D('',#2774,#2775,#2776); ++#2779=CARTESIAN_POINT('',(6.E0,1.E0,1.8E1)); ++#2780=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2781=DIRECTION('',(1.E0,0.E0,0.E0)); ++#2782=AXIS2_PLACEMENT_3D('',#2779,#2780,#2781); ++#2784=CARTESIAN_POINT('',(6.E0,1.E0,1.8E1)); ++#2785=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2786=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#2787=AXIS2_PLACEMENT_3D('',#2784,#2785,#2786); ++#2789=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2790=VECTOR('',#2789,1.E0); ++#2791=CARTESIAN_POINT('',(6.1925E0,1.E0,1.8E1)); ++#2792=LINE('',#2791,#2790); ++#2793=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2794=VECTOR('',#2793,1.E0); ++#2795=CARTESIAN_POINT('',(5.8075E0,1.E0,1.8E1)); ++#2796=LINE('',#2795,#2794); ++#2797=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2798=VECTOR('',#2797,5.E-1); ++#2799=CARTESIAN_POINT('',(1.22575E1,1.5E0,1.8E1)); ++#2800=LINE('',#2799,#2798); ++#2801=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2802=VECTOR('',#2801,5.E-1); ++#2803=CARTESIAN_POINT('',(1.17425E1,1.5E0,1.8E1)); ++#2804=LINE('',#2803,#2802); ++#2805=CARTESIAN_POINT('',(1.2E1,1.E0,1.8E1)); ++#2806=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2807=DIRECTION('',(1.E0,0.E0,0.E0)); ++#2808=AXIS2_PLACEMENT_3D('',#2805,#2806,#2807); ++#2810=CARTESIAN_POINT('',(1.2E1,1.E0,1.8E1)); ++#2811=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2812=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#2813=AXIS2_PLACEMENT_3D('',#2810,#2811,#2812); ++#2815=CARTESIAN_POINT('',(1.2E1,1.E0,1.8E1)); ++#2816=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2817=DIRECTION('',(1.E0,0.E0,0.E0)); ++#2818=AXIS2_PLACEMENT_3D('',#2815,#2816,#2817); ++#2820=CARTESIAN_POINT('',(1.2E1,1.E0,1.8E1)); ++#2821=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2822=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#2823=AXIS2_PLACEMENT_3D('',#2820,#2821,#2822); ++#2825=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2826=VECTOR('',#2825,1.E0); ++#2827=CARTESIAN_POINT('',(1.21925E1,1.E0,1.8E1)); ++#2828=LINE('',#2827,#2826); ++#2829=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2830=VECTOR('',#2829,1.E0); ++#2831=CARTESIAN_POINT('',(1.18075E1,1.E0,1.8E1)); ++#2832=LINE('',#2831,#2830); ++#2833=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2834=VECTOR('',#2833,5.E-1); ++#2835=CARTESIAN_POINT('',(1.82575E1,1.5E0,1.8E1)); ++#2836=LINE('',#2835,#2834); ++#2837=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2838=VECTOR('',#2837,5.E-1); ++#2839=CARTESIAN_POINT('',(1.77425E1,1.5E0,1.8E1)); ++#2840=LINE('',#2839,#2838); ++#2841=CARTESIAN_POINT('',(1.8E1,1.E0,1.8E1)); ++#2842=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2843=DIRECTION('',(1.E0,0.E0,0.E0)); ++#2844=AXIS2_PLACEMENT_3D('',#2841,#2842,#2843); ++#2846=CARTESIAN_POINT('',(1.8E1,1.E0,1.8E1)); ++#2847=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2848=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#2849=AXIS2_PLACEMENT_3D('',#2846,#2847,#2848); ++#2851=CARTESIAN_POINT('',(1.8E1,1.E0,1.8E1)); ++#2852=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2853=DIRECTION('',(1.E0,0.E0,0.E0)); ++#2854=AXIS2_PLACEMENT_3D('',#2851,#2852,#2853); ++#2856=CARTESIAN_POINT('',(1.8E1,1.E0,1.8E1)); ++#2857=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2858=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#2859=AXIS2_PLACEMENT_3D('',#2856,#2857,#2858); ++#2861=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2862=VECTOR('',#2861,1.E0); ++#2863=CARTESIAN_POINT('',(1.81925E1,1.E0,1.8E1)); ++#2864=LINE('',#2863,#2862); ++#2865=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2866=VECTOR('',#2865,1.E0); ++#2867=CARTESIAN_POINT('',(1.78075E1,1.E0,1.8E1)); ++#2868=LINE('',#2867,#2866); ++#2869=DIRECTION('',(0.E0,-8.660254037844E-1,5.E-1)); ++#2870=VECTOR('',#2869,5.773502691896E0); ++#2871=CARTESIAN_POINT('',(2.2E1,6.5E0,1.E1)); ++#2872=LINE('',#2871,#2870); ++#2873=CARTESIAN_POINT('',(2.31325E1,3.035898384862E0,1.2E1)); ++#2874=CARTESIAN_POINT('',(2.31325E1,2.930774450068E0,1.206069333205E1)); ++#2875=CARTESIAN_POINT('',(2.309416136180E1,2.745461691651E0,1.216768370301E1)); ++#2876=CARTESIAN_POINT('',(2.297013771881E1,2.608885438662E0,1.224653603944E1)); ++#2877=CARTESIAN_POINT('',(2.2875E1,2.580400233539E0,1.226298198028E1)); ++#2878=CARTESIAN_POINT('',(2.277986228119E1,2.608885438662E0,1.224653603944E1)); ++#2879=CARTESIAN_POINT('',(2.265583863820E1,2.745461691651E0,1.216768370301E1)); ++#2880=CARTESIAN_POINT('',(2.26175E1,2.930774450068E0,1.206069333205E1)); ++#2881=CARTESIAN_POINT('',(2.26175E1,3.035898384862E0,1.2E1)); ++#2883=CARTESIAN_POINT('',(2.26175E1,3.035898384862E0,1.2E1)); ++#2884=CARTESIAN_POINT('',(2.26175E1,3.141022319657E0,1.193930666795E1)); ++#2885=CARTESIAN_POINT('',(2.265583863820E1,3.326335078073E0,1.183231629699E1)); ++#2886=CARTESIAN_POINT('',(2.277986228119E1,3.462911331062E0,1.175346396056E1)); ++#2887=CARTESIAN_POINT('',(2.2875E1,3.491396536186E0,1.173701801972E1)); ++#2888=CARTESIAN_POINT('',(2.297013771881E1,3.462911331062E0,1.175346396056E1)); ++#2889=CARTESIAN_POINT('',(2.309416136180E1,3.326335078073E0,1.183231629699E1)); ++#2890=CARTESIAN_POINT('',(2.31325E1,3.141022319657E0,1.193930666795E1)); ++#2891=CARTESIAN_POINT('',(2.31325E1,3.035898384862E0,1.2E1)); ++#2893=DIRECTION('',(0.E0,1.E0,0.E0)); ++#2894=VECTOR('',#2893,2.035898384862E0); ++#2895=CARTESIAN_POINT('',(2.26175E1,1.E0,1.2E1)); ++#2896=LINE('',#2895,#2894); ++#2897=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2898=VECTOR('',#2897,2.035898384862E0); ++#2899=CARTESIAN_POINT('',(2.31325E1,3.035898384862E0,1.2E1)); ++#2900=LINE('',#2899,#2898); ++#2901=CARTESIAN_POINT('',(2.2875E1,1.E0,1.2E1)); ++#2902=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2903=DIRECTION('',(1.E0,0.E0,0.E0)); ++#2904=AXIS2_PLACEMENT_3D('',#2901,#2902,#2903); ++#2906=CARTESIAN_POINT('',(2.2875E1,1.E0,1.2E1)); ++#2907=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2908=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#2909=AXIS2_PLACEMENT_3D('',#2906,#2907,#2908); ++#2911=CARTESIAN_POINT('',(2.2875E1,1.E0,1.2E1)); ++#2912=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2913=DIRECTION('',(1.E0,0.E0,0.E0)); ++#2914=AXIS2_PLACEMENT_3D('',#2911,#2912,#2913); ++#2916=CARTESIAN_POINT('',(2.2875E1,1.E0,1.2E1)); ++#2917=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2918=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#2919=AXIS2_PLACEMENT_3D('',#2916,#2917,#2918); ++#2921=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2922=VECTOR('',#2921,1.E0); ++#2923=CARTESIAN_POINT('',(2.30675E1,1.E0,1.2E1)); ++#2924=LINE('',#2923,#2922); ++#2925=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2926=VECTOR('',#2925,1.E0); ++#2927=CARTESIAN_POINT('',(2.26825E1,1.E0,1.2E1)); ++#2928=LINE('',#2927,#2926); ++#2929=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#2930=VECTOR('',#2929,5.E-1); ++#2931=CARTESIAN_POINT('',(2.15E1,6.65E0,1.E1)); ++#2932=LINE('',#2931,#2930); ++#2933=CARTESIAN_POINT('',(2.185E1,6.65E0,9.5E0)); ++#2934=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#2935=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#2936=AXIS2_PLACEMENT_3D('',#2933,#2934,#2935); ++#2938=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#2939=VECTOR('',#2938,5.E-1); ++#2940=CARTESIAN_POINT('',(2.185E1,7.E0,1.E1)); ++#2941=LINE('',#2940,#2939); ++#2942=CARTESIAN_POINT('',(2.185E1,6.65E0,1.E1)); ++#2943=DIRECTION('',(0.E0,0.E0,1.E0)); ++#2944=DIRECTION('',(1.015061051086E-14,1.E0,0.E0)); ++#2945=AXIS2_PLACEMENT_3D('',#2942,#2943,#2944); ++#2947=DIRECTION('',(0.E0,0.E0,1.E0)); ++#2948=VECTOR('',#2947,5.E-1); ++#2949=CARTESIAN_POINT('',(2.115E1,2.E0,9.5E0)); ++#2950=LINE('',#2949,#2948); ++#2951=CARTESIAN_POINT('',(2.115E1,2.35E0,9.5E0)); ++#2952=DIRECTION('',(0.E0,0.E0,1.E0)); ++#2953=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#2954=AXIS2_PLACEMENT_3D('',#2951,#2952,#2953); ++#2956=DIRECTION('',(0.E0,0.E0,1.E0)); ++#2957=VECTOR('',#2956,5.E-1); ++#2958=CARTESIAN_POINT('',(2.15E1,2.35E0,9.5E0)); ++#2959=LINE('',#2958,#2957); ++#2960=CARTESIAN_POINT('',(2.115E1,2.35E0,1.E1)); ++#2961=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#2962=DIRECTION('',(1.E0,0.E0,0.E0)); ++#2963=AXIS2_PLACEMENT_3D('',#2960,#2961,#2962); ++#2965=DIRECTION('',(0.E0,0.E0,1.E0)); ++#2966=VECTOR('',#2965,5.E-1); ++#2967=CARTESIAN_POINT('',(1.95E1,2.35E0,9.5E0)); ++#2968=LINE('',#2967,#2966); ++#2969=CARTESIAN_POINT('',(1.985E1,2.35E0,9.5E0)); ++#2970=DIRECTION('',(0.E0,0.E0,1.E0)); ++#2971=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#2972=AXIS2_PLACEMENT_3D('',#2969,#2970,#2971); ++#2974=DIRECTION('',(0.E0,0.E0,1.E0)); ++#2975=VECTOR('',#2974,5.E-1); ++#2976=CARTESIAN_POINT('',(1.985E1,2.E0,9.5E0)); ++#2977=LINE('',#2976,#2975); ++#2978=CARTESIAN_POINT('',(1.985E1,2.35E0,1.E1)); ++#2979=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#2980=DIRECTION('',(1.015061051086E-14,-1.E0,0.E0)); ++#2981=AXIS2_PLACEMENT_3D('',#2978,#2979,#2980); ++#2983=DIRECTION('',(0.E0,0.E0,1.E0)); ++#2984=VECTOR('',#2983,5.E-1); ++#2985=CARTESIAN_POINT('',(1.985E1,9.5E0,9.5E0)); ++#2986=LINE('',#2985,#2984); ++#2987=CARTESIAN_POINT('',(1.985E1,9.15E0,9.5E0)); ++#2988=DIRECTION('',(0.E0,0.E0,1.E0)); ++#2989=DIRECTION('',(1.015061051086E-14,1.E0,0.E0)); ++#2990=AXIS2_PLACEMENT_3D('',#2987,#2988,#2989); ++#2992=DIRECTION('',(0.E0,0.E0,1.E0)); ++#2993=VECTOR('',#2992,5.E-1); ++#2994=CARTESIAN_POINT('',(1.95E1,9.15E0,9.5E0)); ++#2995=LINE('',#2994,#2993); ++#2996=CARTESIAN_POINT('',(1.985E1,9.15E0,1.E1)); ++#2997=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#2998=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#2999=AXIS2_PLACEMENT_3D('',#2996,#2997,#2998); ++#3001=DIRECTION('',(0.E0,0.E0,1.E0)); ++#3002=VECTOR('',#3001,5.E-1); ++#3003=CARTESIAN_POINT('',(2.135315580719E1,9.319975025913E0,9.5E0)); ++#3004=LINE('',#3003,#3002); ++#3005=CARTESIAN_POINT('',(2.104720076055E1,9.15E0,9.5E0)); ++#3006=DIRECTION('',(0.E0,0.E0,1.E0)); ++#3007=DIRECTION('',(8.741572761215E-1,4.856429311786E-1,0.E0)); ++#3008=AXIS2_PLACEMENT_3D('',#3005,#3006,#3007); ++#3010=DIRECTION('',(0.E0,0.E0,1.E0)); ++#3011=VECTOR('',#3010,5.E-1); ++#3012=CARTESIAN_POINT('',(2.104720076055E1,9.5E0,9.5E0)); ++#3013=LINE('',#3012,#3011); ++#3014=CARTESIAN_POINT('',(2.104720076055E1,9.15E0,1.E1)); ++#3015=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#3016=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3017=AXIS2_PLACEMENT_3D('',#3014,#3015,#3016); ++#3019=DIRECTION('',(0.E0,0.E0,1.E0)); ++#3020=VECTOR('',#3019,5.E-1); ++#3021=CARTESIAN_POINT('',(2.204720076055E1,7.E0,9.5E0)); ++#3022=LINE('',#3021,#3020); ++#3023=CARTESIAN_POINT('',(2.204720076055E1,7.35E0,9.5E0)); ++#3024=DIRECTION('',(0.E0,0.E0,1.E0)); ++#3025=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#3026=AXIS2_PLACEMENT_3D('',#3023,#3024,#3025); ++#3028=DIRECTION('',(0.E0,0.E0,1.E0)); ++#3029=VECTOR('',#3028,5.E-1); ++#3030=CARTESIAN_POINT('',(2.235315580719E1,7.519975025913E0,9.5E0)); ++#3031=LINE('',#3030,#3029); ++#3032=CARTESIAN_POINT('',(2.204720076055E1,7.35E0,1.E1)); ++#3033=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#3034=DIRECTION('',(8.741572761215E-1,4.856429311786E-1,0.E0)); ++#3035=AXIS2_PLACEMENT_3D('',#3032,#3033,#3034); ++#3037=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#3038=VECTOR('',#3037,1.972007605460E-1); ++#3039=CARTESIAN_POINT('',(2.204720076055E1,7.E0,9.5E0)); ++#3040=LINE('',#3039,#3038); ++#3041=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#3042=VECTOR('',#3041,4.3E0); ++#3043=CARTESIAN_POINT('',(2.15E1,6.65E0,9.5E0)); ++#3044=LINE('',#3043,#3042); ++#3045=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#3046=VECTOR('',#3045,1.3E0); ++#3047=CARTESIAN_POINT('',(2.115E1,2.E0,9.5E0)); ++#3048=LINE('',#3047,#3046); ++#3049=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3050=VECTOR('',#3049,6.8E0); ++#3051=CARTESIAN_POINT('',(1.95E1,2.35E0,9.5E0)); ++#3052=LINE('',#3051,#3050); ++#3053=DIRECTION('',(1.E0,0.E0,0.E0)); ++#3054=VECTOR('',#3053,1.197200760546E0); ++#3055=CARTESIAN_POINT('',(1.985E1,9.5E0,9.5E0)); ++#3056=LINE('',#3055,#3054); ++#3057=DIRECTION('',(4.856429311786E-1,-8.741572761215E-1,0.E0)); ++#3058=VECTOR('',#3057,2.059126028197E0); ++#3059=CARTESIAN_POINT('',(2.135315580719E1,9.319975025913E0,9.5E0)); ++#3060=LINE('',#3059,#3058); ++#3061=DIRECTION('',(0.E0,0.E0,1.E0)); ++#3062=VECTOR('',#3061,2.5E-1); ++#3063=CARTESIAN_POINT('',(2.00925E1,1.05E1,8.E0)); ++#3064=LINE('',#3063,#3062); ++#3065=DIRECTION('',(0.E0,0.E0,1.E0)); ++#3066=VECTOR('',#3065,2.5E-1); ++#3067=CARTESIAN_POINT('',(2.02825E1,1.05E1,8.E0)); ++#3068=LINE('',#3067,#3066); ++#3069=CARTESIAN_POINT('',(2.01875E1,1.05E1,8.25E0)); ++#3070=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#3071=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#3072=AXIS2_PLACEMENT_3D('',#3069,#3070,#3071); ++#3074=CARTESIAN_POINT('',(2.01875E1,1.05E1,8.25E0)); ++#3075=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#3076=DIRECTION('',(1.E0,0.E0,0.E0)); ++#3077=AXIS2_PLACEMENT_3D('',#3074,#3075,#3076); ++#3079=DIRECTION('',(0.E0,0.E0,1.E0)); ++#3080=VECTOR('',#3079,2.5E-1); ++#3081=CARTESIAN_POINT('',(1.9655E1,1.00625E1,8.E0)); ++#3082=LINE('',#3081,#3080); ++#3083=DIRECTION('',(0.E0,0.E0,1.E0)); ++#3084=VECTOR('',#3083,2.5E-1); ++#3085=CARTESIAN_POINT('',(1.9845E1,1.00625E1,8.E0)); ++#3086=LINE('',#3085,#3084); ++#3087=CARTESIAN_POINT('',(1.975E1,1.00625E1,8.25E0)); ++#3088=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#3089=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#3090=AXIS2_PLACEMENT_3D('',#3087,#3088,#3089); ++#3092=CARTESIAN_POINT('',(1.975E1,1.00625E1,8.25E0)); ++#3093=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#3094=DIRECTION('',(1.E0,0.E0,0.E0)); ++#3095=AXIS2_PLACEMENT_3D('',#3092,#3093,#3094); ++#3097=DIRECTION('',(0.E0,0.E0,1.E0)); ++#3098=VECTOR('',#3097,2.5E-1); ++#3099=CARTESIAN_POINT('',(4.345E0,1.00625E1,8.E0)); ++#3100=LINE('',#3099,#3098); ++#3101=DIRECTION('',(0.E0,0.E0,1.E0)); ++#3102=VECTOR('',#3101,2.5E-1); ++#3103=CARTESIAN_POINT('',(4.155E0,1.00625E1,8.E0)); ++#3104=LINE('',#3103,#3102); ++#3105=CARTESIAN_POINT('',(4.25E0,1.00625E1,8.25E0)); ++#3106=DIRECTION('',(0.E0,0.E0,1.E0)); ++#3107=DIRECTION('',(1.E0,0.E0,0.E0)); ++#3108=AXIS2_PLACEMENT_3D('',#3105,#3106,#3107); ++#3110=CARTESIAN_POINT('',(4.25E0,1.00625E1,8.25E0)); ++#3111=DIRECTION('',(0.E0,0.E0,1.E0)); ++#3112=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#3113=AXIS2_PLACEMENT_3D('',#3110,#3111,#3112); ++#3115=DIRECTION('',(0.E0,0.E0,1.E0)); ++#3116=VECTOR('',#3115,2.5E-1); ++#3117=CARTESIAN_POINT('',(3.9075E0,1.05E1,8.E0)); ++#3118=LINE('',#3117,#3116); ++#3119=DIRECTION('',(0.E0,0.E0,1.E0)); ++#3120=VECTOR('',#3119,2.5E-1); ++#3121=CARTESIAN_POINT('',(3.7175E0,1.05E1,8.E0)); ++#3122=LINE('',#3121,#3120); ++#3123=CARTESIAN_POINT('',(3.8125E0,1.05E1,8.25E0)); ++#3124=DIRECTION('',(0.E0,0.E0,1.E0)); ++#3125=DIRECTION('',(1.E0,0.E0,0.E0)); ++#3126=AXIS2_PLACEMENT_3D('',#3123,#3124,#3125); ++#3128=CARTESIAN_POINT('',(3.8125E0,1.05E1,8.25E0)); ++#3129=DIRECTION('',(0.E0,0.E0,1.E0)); ++#3130=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#3131=AXIS2_PLACEMENT_3D('',#3128,#3129,#3130); ++#3133=DIRECTION('',(0.E0,0.E0,1.E0)); ++#3134=VECTOR('',#3133,2.5E-1); ++#3135=CARTESIAN_POINT('',(4.345E0,1.09375E1,8.E0)); ++#3136=LINE('',#3135,#3134); ++#3137=DIRECTION('',(0.E0,0.E0,1.E0)); ++#3138=VECTOR('',#3137,2.5E-1); ++#3139=CARTESIAN_POINT('',(4.155E0,1.09375E1,8.E0)); ++#3140=LINE('',#3139,#3138); ++#3141=CARTESIAN_POINT('',(4.25E0,1.09375E1,8.25E0)); ++#3142=DIRECTION('',(0.E0,0.E0,1.E0)); ++#3143=DIRECTION('',(1.E0,0.E0,0.E0)); ++#3144=AXIS2_PLACEMENT_3D('',#3141,#3142,#3143); ++#3146=CARTESIAN_POINT('',(4.25E0,1.09375E1,8.25E0)); ++#3147=DIRECTION('',(0.E0,0.E0,1.E0)); ++#3148=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#3149=AXIS2_PLACEMENT_3D('',#3146,#3147,#3148); ++#3151=DIRECTION('',(0.E0,0.E0,1.E0)); ++#3152=VECTOR('',#3151,5.E-1); ++#3153=CARTESIAN_POINT('',(3.75E0,2.E0,8.E0)); ++#3154=LINE('',#3153,#3152); ++#3155=CARTESIAN_POINT('',(3.75E0,2.75E0,8.E0)); ++#3156=DIRECTION('',(0.E0,0.E0,1.E0)); ++#3157=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#3158=AXIS2_PLACEMENT_3D('',#3155,#3156,#3157); ++#3160=DIRECTION('',(0.E0,0.E0,1.E0)); ++#3161=VECTOR('',#3160,5.E-1); ++#3162=CARTESIAN_POINT('',(4.5E0,2.75E0,8.E0)); ++#3163=LINE('',#3162,#3161); ++#3164=CARTESIAN_POINT('',(3.75E0,2.75E0,8.5E0)); ++#3165=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#3166=DIRECTION('',(1.E0,0.E0,0.E0)); ++#3167=AXIS2_PLACEMENT_3D('',#3164,#3165,#3166); ++#3169=DIRECTION('',(0.E0,0.E0,1.E0)); ++#3170=VECTOR('',#3169,5.E-1); ++#3171=CARTESIAN_POINT('',(4.5E0,8.75E0,8.E0)); ++#3172=LINE('',#3171,#3170); ++#3173=CARTESIAN_POINT('',(3.75E0,8.75E0,8.E0)); ++#3174=DIRECTION('',(0.E0,0.E0,1.E0)); ++#3175=DIRECTION('',(1.E0,0.E0,0.E0)); ++#3176=AXIS2_PLACEMENT_3D('',#3173,#3174,#3175); ++#3178=DIRECTION('',(0.E0,0.E0,1.E0)); ++#3179=VECTOR('',#3178,5.E-1); ++#3180=CARTESIAN_POINT('',(3.75E0,9.5E0,8.E0)); ++#3181=LINE('',#3180,#3179); ++#3182=CARTESIAN_POINT('',(3.75E0,8.75E0,8.5E0)); ++#3183=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#3184=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3185=AXIS2_PLACEMENT_3D('',#3182,#3183,#3184); ++#3187=DIRECTION('',(0.E0,0.E0,1.E0)); ++#3188=VECTOR('',#3187,5.E-1); ++#3189=CARTESIAN_POINT('',(3.188160579053E0,9.5E0,8.E0)); ++#3190=LINE('',#3189,#3188); ++#3191=CARTESIAN_POINT('',(3.188160579053E0,8.75E0,8.E0)); ++#3192=DIRECTION('',(0.E0,0.E0,1.E0)); ++#3193=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3194=AXIS2_PLACEMENT_3D('',#3191,#3192,#3193); ++#3196=DIRECTION('',(0.E0,0.E0,1.E0)); ++#3197=VECTOR('',#3196,5.E-1); ++#3198=CARTESIAN_POINT('',(2.532542621962E0,9.114232198384E0,8.E0)); ++#3199=LINE('',#3198,#3197); ++#3200=CARTESIAN_POINT('',(3.188160579053E0,8.75E0,8.5E0)); ++#3201=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#3202=DIRECTION('',(-8.741572761215E-1,4.856429311786E-1,0.E0)); ++#3203=AXIS2_PLACEMENT_3D('',#3200,#3201,#3202); ++#3205=DIRECTION('',(0.E0,0.E0,1.E0)); ++#3206=VECTOR('',#3205,5.E-1); ++#3207=CARTESIAN_POINT('',(-8.007907113711E-1,3.114232198384E0,8.E0)); ++#3208=LINE('',#3207,#3206); ++#3209=CARTESIAN_POINT('',(-1.451727542799E-1,2.75E0,8.E0)); ++#3210=DIRECTION('',(0.E0,0.E0,1.E0)); ++#3211=DIRECTION('',(-8.741572761215E-1,4.856429311786E-1,0.E0)); ++#3212=AXIS2_PLACEMENT_3D('',#3209,#3210,#3211); ++#3214=DIRECTION('',(0.E0,0.E0,1.E0)); ++#3215=VECTOR('',#3214,5.E-1); ++#3216=CARTESIAN_POINT('',(-1.451727542799E-1,2.E0,8.E0)); ++#3217=LINE('',#3216,#3215); ++#3218=CARTESIAN_POINT('',(-1.451727542799E-1,2.75E0,8.5E0)); ++#3219=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#3220=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#3221=AXIS2_PLACEMENT_3D('',#3218,#3219,#3220); ++#3223=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#3224=VECTOR('',#3223,6.E0); ++#3225=CARTESIAN_POINT('',(4.5E0,8.75E0,8.5E0)); ++#3226=LINE('',#3225,#3224); ++#3227=DIRECTION('',(1.E0,0.E0,0.E0)); ++#3228=VECTOR('',#3227,5.618394209466E-1); ++#3229=CARTESIAN_POINT('',(3.188160579053E0,9.5E0,8.5E0)); ++#3230=LINE('',#3229,#3228); ++#3231=DIRECTION('',(4.856429311786E-1,8.741572761215E-1,0.E0)); ++#3232=VECTOR('',#3231,6.863753427325E0); ++#3233=CARTESIAN_POINT('',(-8.007907113711E-1,3.114232198384E0,8.5E0)); ++#3234=LINE('',#3233,#3232); ++#3235=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#3236=VECTOR('',#3235,3.895172754280E0); ++#3237=CARTESIAN_POINT('',(3.75E0,2.E0,8.5E0)); ++#3238=LINE('',#3237,#3236); ++#3239=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#3240=VECTOR('',#3239,5.E-1); ++#3241=CARTESIAN_POINT('',(2.480079071137E1,3.114232198384E0,8.5E0)); ++#3242=LINE('',#3241,#3240); ++#3243=CARTESIAN_POINT('',(2.414517275428E1,2.75E0,8.5E0)); ++#3244=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#3245=DIRECTION('',(8.741572761215E-1,4.856429311786E-1,0.E0)); ++#3246=AXIS2_PLACEMENT_3D('',#3243,#3244,#3245); ++#3248=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#3249=VECTOR('',#3248,5.E-1); ++#3250=CARTESIAN_POINT('',(2.414517275428E1,2.E0,8.5E0)); ++#3251=LINE('',#3250,#3249); ++#3252=CARTESIAN_POINT('',(2.414517275428E1,2.75E0,8.E0)); ++#3253=DIRECTION('',(0.E0,0.E0,1.E0)); ++#3254=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#3255=AXIS2_PLACEMENT_3D('',#3252,#3253,#3254); ++#3257=DIRECTION('',(1.E0,0.E0,0.E0)); ++#3258=VECTOR('',#3257,3.895172754280E0); ++#3259=CARTESIAN_POINT('',(2.025E1,2.E0,8.5E0)); ++#3260=LINE('',#3259,#3258); ++#3261=DIRECTION('',(-4.856429311786E-1,8.741572761215E-1,0.E0)); ++#3262=VECTOR('',#3261,6.863753427325E0); ++#3263=CARTESIAN_POINT('',(2.480079071137E1,3.114232198384E0,8.5E0)); ++#3264=LINE('',#3263,#3262); ++#3265=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#3266=VECTOR('',#3265,5.618394209466E-1); ++#3267=CARTESIAN_POINT('',(2.081183942095E1,9.5E0,8.5E0)); ++#3268=LINE('',#3267,#3266); ++#3269=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#3270=VECTOR('',#3269,6.E0); ++#3271=CARTESIAN_POINT('',(1.95E1,8.75E0,8.5E0)); ++#3272=LINE('',#3271,#3270); ++#3273=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#3274=VECTOR('',#3273,5.E-1); ++#3275=CARTESIAN_POINT('',(2.025E1,2.E0,8.5E0)); ++#3276=LINE('',#3275,#3274); ++#3277=CARTESIAN_POINT('',(2.025E1,2.75E0,8.5E0)); ++#3278=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#3279=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#3280=AXIS2_PLACEMENT_3D('',#3277,#3278,#3279); ++#3282=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#3283=VECTOR('',#3282,5.E-1); ++#3284=CARTESIAN_POINT('',(1.95E1,2.75E0,8.5E0)); ++#3285=LINE('',#3284,#3283); ++#3286=CARTESIAN_POINT('',(2.025E1,2.75E0,8.E0)); ++#3287=DIRECTION('',(0.E0,0.E0,1.E0)); ++#3288=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#3289=AXIS2_PLACEMENT_3D('',#3286,#3287,#3288); ++#3291=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#3292=VECTOR('',#3291,5.E-1); ++#3293=CARTESIAN_POINT('',(1.95E1,8.75E0,8.5E0)); ++#3294=LINE('',#3293,#3292); ++#3295=CARTESIAN_POINT('',(2.025E1,8.75E0,8.5E0)); ++#3296=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#3297=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#3298=AXIS2_PLACEMENT_3D('',#3295,#3296,#3297); ++#3300=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#3301=VECTOR('',#3300,5.E-1); ++#3302=CARTESIAN_POINT('',(2.025E1,9.5E0,8.5E0)); ++#3303=LINE('',#3302,#3301); ++#3304=CARTESIAN_POINT('',(2.025E1,8.75E0,8.E0)); ++#3305=DIRECTION('',(0.E0,0.E0,1.E0)); ++#3306=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3307=AXIS2_PLACEMENT_3D('',#3304,#3305,#3306); ++#3309=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#3310=VECTOR('',#3309,5.E-1); ++#3311=CARTESIAN_POINT('',(2.081183942095E1,9.5E0,8.5E0)); ++#3312=LINE('',#3311,#3310); ++#3313=CARTESIAN_POINT('',(2.081183942095E1,8.75E0,8.5E0)); ++#3314=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#3315=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3316=AXIS2_PLACEMENT_3D('',#3313,#3314,#3315); ++#3318=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#3319=VECTOR('',#3318,5.E-1); ++#3320=CARTESIAN_POINT('',(2.146745737804E1,9.114232198384E0,8.5E0)); ++#3321=LINE('',#3320,#3319); ++#3322=CARTESIAN_POINT('',(2.081183942095E1,8.75E0,8.E0)); ++#3323=DIRECTION('',(0.E0,0.E0,1.E0)); ++#3324=DIRECTION('',(8.741572761215E-1,4.856429311786E-1,0.E0)); ++#3325=AXIS2_PLACEMENT_3D('',#3322,#3323,#3324); ++#3327=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3328=VECTOR('',#3327,6.875E-1); ++#3329=CARTESIAN_POINT('',(7.5E0,0.E0,6.875E-1)); ++#3330=LINE('',#3329,#3328); ++#3331=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3332=VECTOR('',#3331,6.875E-1); ++#3333=CARTESIAN_POINT('',(7.5E0,0.E0,1.8125E0)); ++#3334=LINE('',#3333,#3332); ++#3335=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3336=VECTOR('',#3335,6.875E-1); ++#3337=CARTESIAN_POINT('',(1.05E1,0.E0,1.8125E0)); ++#3338=LINE('',#3337,#3336); ++#3339=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3340=VECTOR('',#3339,6.875E-1); ++#3341=CARTESIAN_POINT('',(1.05E1,0.E0,6.875E-1)); ++#3342=LINE('',#3341,#3340); ++#3343=DIRECTION('',(1.E0,0.E0,0.E0)); ++#3344=VECTOR('',#3343,3.E0); ++#3345=CARTESIAN_POINT('',(7.5E0,6.875E-1,6.875E-1)); ++#3346=LINE('',#3345,#3344); ++#3347=CARTESIAN_POINT('',(7.5E0,6.875E-1,1.25E0)); ++#3348=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#3349=DIRECTION('',(0.E0,0.E0,1.E0)); ++#3350=AXIS2_PLACEMENT_3D('',#3347,#3348,#3349); ++#3352=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#3353=VECTOR('',#3352,3.E0); ++#3354=CARTESIAN_POINT('',(1.05E1,6.875E-1,1.8125E0)); ++#3355=LINE('',#3354,#3353); ++#3356=CARTESIAN_POINT('',(1.05E1,6.875E-1,1.25E0)); ++#3357=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#3358=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#3359=AXIS2_PLACEMENT_3D('',#3356,#3357,#3358); ++#3361=CARTESIAN_POINT('',(1.61E0,6.875E-1,4.5E0)); ++#3362=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#3363=DIRECTION('',(8.910741301059E-1,0.E0,4.538577912254E-1)); ++#3364=AXIS2_PLACEMENT_3D('',#3361,#3362,#3363); ++#3366=CARTESIAN_POINT('',(7.5E0,6.875E-1,7.5E0)); ++#3367=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3368=DIRECTION('',(-4.496088413988E-1,0.E0,-8.932255536739E-1)); ++#3369=AXIS2_PLACEMENT_3D('',#3366,#3367,#3368); ++#3371=CARTESIAN_POINT('',(4.553039342392E0,6.875E-1,1.645354088550E0)); ++#3372=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#3373=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1)); ++#3374=AXIS2_PLACEMENT_3D('',#3371,#3372,#3373); ++#3376=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1)); ++#3377=VECTOR('',#3376,4.263248410977E0); ++#3378=CARTESIAN_POINT('',(9.254066777019E-1,6.875E-1,4.046865146430E0)); ++#3379=LINE('',#3378,#3377); ++#3380=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3381=VECTOR('',#3380,6.875E-1); ++#3382=CARTESIAN_POINT('',(9.254066777019E-1,0.E0,4.046865146430E0)); ++#3383=LINE('',#3382,#3381); ++#3384=CARTESIAN_POINT('',(1.455736763592E0,0.E0,4.577195232320E0)); ++#3385=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3386=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1)); ++#3387=AXIS2_PLACEMENT_3D('',#3384,#3385,#3386); ++#3389=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3390=VECTOR('',#3389,6.875E-1); ++#3391=CARTESIAN_POINT('',(7.850270400779E-1,0.E0,4.912826677187E0)); ++#3392=LINE('',#3391,#3390); ++#3393=CARTESIAN_POINT('',(1.455736763592E0,6.875E-1,4.577195232320E0)); ++#3394=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#3395=DIRECTION('',(-8.942796313519E-1,0.E0,4.475085931567E-1)); ++#3396=AXIS2_PLACEMENT_3D('',#3393,#3394,#3395); ++#3398=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3399=VECTOR('',#3398,6.875E-1); ++#3400=CARTESIAN_POINT('',(3.939978538987E0,0.E0,1.032293285145E0)); ++#3401=LINE('',#3400,#3399); ++#3402=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3403=VECTOR('',#3402,6.875E-1); ++#3404=CARTESIAN_POINT('',(4.942849714544E0,0.E0,2.419779663480E0)); ++#3405=LINE('',#3404,#3403); ++#3406=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3407=VECTOR('',#3406,6.875E-1); ++#3408=CARTESIAN_POINT('',(2.432015885023E0,0.E0,4.918683812405E0)); ++#3409=LINE('',#3408,#3407); ++#3410=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#3411=VECTOR('',#3410,6.875E-1); ++#3412=CARTESIAN_POINT('',(6.9E-1,6.875E-1,7.815E0)); ++#3413=LINE('',#3412,#3411); ++#3414=CARTESIAN_POINT('',(-1.85E-1,0.E0,7.815E0)); ++#3415=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#3416=DIRECTION('',(1.E0,0.E0,0.E0)); ++#3417=AXIS2_PLACEMENT_3D('',#3414,#3415,#3416); ++#3419=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#3420=VECTOR('',#3419,6.875E-1); ++#3421=CARTESIAN_POINT('',(-1.85E-1,6.875E-1,8.69E0)); ++#3422=LINE('',#3421,#3420); ++#3423=CARTESIAN_POINT('',(-1.85E-1,6.875E-1,7.815E0)); ++#3424=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3425=DIRECTION('',(0.E0,0.E0,1.E0)); ++#3426=AXIS2_PLACEMENT_3D('',#3423,#3424,#3425); ++#3428=DIRECTION('',(1.E0,0.E0,0.E0)); ++#3429=VECTOR('',#3428,7.5E-1); ++#3430=CARTESIAN_POINT('',(2.6875E0,6.875E-1,8.69E0)); ++#3431=LINE('',#3430,#3429); ++#3432=DIRECTION('',(0.E0,0.E0,1.E0)); ++#3433=VECTOR('',#3432,3.15E-1); ++#3434=CARTESIAN_POINT('',(1.8125E0,6.875E-1,7.5E0)); ++#3435=LINE('',#3434,#3433); ++#3436=CARTESIAN_POINT('',(1.25125E0,6.875E-1,7.5E0)); ++#3437=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#3438=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#3439=AXIS2_PLACEMENT_3D('',#3436,#3437,#3438); ++#3441=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#3442=VECTOR('',#3441,3.15E-1); ++#3443=CARTESIAN_POINT('',(6.9E-1,6.875E-1,7.815E0)); ++#3444=LINE('',#3443,#3442); ++#3445=DIRECTION('',(1.E0,0.E0,0.E0)); ++#3446=VECTOR('',#3445,2.525E-1); ++#3447=CARTESIAN_POINT('',(-4.375E-1,6.875E-1,8.69E0)); ++#3448=LINE('',#3447,#3446); ++#3449=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#3450=VECTOR('',#3449,8.1E-1); ++#3451=CARTESIAN_POINT('',(-1.3125E0,6.875E-1,1.0375E1)); ++#3452=LINE('',#3451,#3450); ++#3453=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#3454=VECTOR('',#3453,3.875E0); ++#3455=CARTESIAN_POINT('',(3.4375E0,6.875E-1,1.125E1)); ++#3456=LINE('',#3455,#3454); ++#3457=DIRECTION('',(0.E0,0.E0,1.E0)); ++#3458=VECTOR('',#3457,8.1E-1); ++#3459=CARTESIAN_POINT('',(4.3125E0,6.875E-1,9.565E0)); ++#3460=LINE('',#3459,#3458); ++#3461=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#3462=VECTOR('',#3461,6.875E-1); ++#3463=CARTESIAN_POINT('',(2.6875E0,6.875E-1,8.69E0)); ++#3464=LINE('',#3463,#3462); ++#3465=CARTESIAN_POINT('',(2.6875E0,0.E0,7.815E0)); ++#3466=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#3467=DIRECTION('',(0.E0,0.E0,1.E0)); ++#3468=AXIS2_PLACEMENT_3D('',#3465,#3466,#3467); ++#3470=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#3471=VECTOR('',#3470,6.875E-1); ++#3472=CARTESIAN_POINT('',(1.8125E0,6.875E-1,7.815E0)); ++#3473=LINE('',#3472,#3471); ++#3474=CARTESIAN_POINT('',(2.6875E0,6.875E-1,7.815E0)); ++#3475=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3476=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#3477=AXIS2_PLACEMENT_3D('',#3474,#3475,#3476); ++#3479=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3480=VECTOR('',#3479,6.875E-1); ++#3481=CARTESIAN_POINT('',(1.8125E0,0.E0,7.5E0)); ++#3482=LINE('',#3481,#3480); ++#3483=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3484=VECTOR('',#3483,6.875E-1); ++#3485=CARTESIAN_POINT('',(6.9E-1,0.E0,7.5E0)); ++#3486=LINE('',#3485,#3484); ++#3487=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3488=VECTOR('',#3487,6.875E-1); ++#3489=CARTESIAN_POINT('',(4.3125E0,0.E0,9.565E0)); ++#3490=LINE('',#3489,#3488); ++#3491=CARTESIAN_POINT('',(3.4375E0,0.E0,9.565E0)); ++#3492=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3493=DIRECTION('',(1.E0,0.E0,0.E0)); ++#3494=AXIS2_PLACEMENT_3D('',#3491,#3492,#3493); ++#3496=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3497=VECTOR('',#3496,6.875E-1); ++#3498=CARTESIAN_POINT('',(3.4375E0,0.E0,8.69E0)); ++#3499=LINE('',#3498,#3497); ++#3500=CARTESIAN_POINT('',(3.4375E0,6.875E-1,9.565E0)); ++#3501=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#3502=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#3503=AXIS2_PLACEMENT_3D('',#3500,#3501,#3502); ++#3505=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3506=VECTOR('',#3505,6.875E-1); ++#3507=CARTESIAN_POINT('',(3.4375E0,0.E0,1.125E1)); ++#3508=LINE('',#3507,#3506); ++#3509=CARTESIAN_POINT('',(3.4375E0,0.E0,1.0375E1)); ++#3510=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3511=DIRECTION('',(0.E0,0.E0,1.E0)); ++#3512=AXIS2_PLACEMENT_3D('',#3509,#3510,#3511); ++#3514=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3515=VECTOR('',#3514,6.875E-1); ++#3516=CARTESIAN_POINT('',(4.3125E0,0.E0,1.0375E1)); ++#3517=LINE('',#3516,#3515); ++#3518=CARTESIAN_POINT('',(3.4375E0,6.875E-1,1.0375E1)); ++#3519=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#3520=DIRECTION('',(1.E0,0.E0,0.E0)); ++#3521=AXIS2_PLACEMENT_3D('',#3518,#3519,#3520); ++#3523=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3524=VECTOR('',#3523,6.875E-1); ++#3525=CARTESIAN_POINT('',(-1.3125E0,0.E0,1.0375E1)); ++#3526=LINE('',#3525,#3524); ++#3527=CARTESIAN_POINT('',(-4.375E-1,0.E0,1.0375E1)); ++#3528=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3529=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#3530=AXIS2_PLACEMENT_3D('',#3527,#3528,#3529); ++#3532=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3533=VECTOR('',#3532,6.875E-1); ++#3534=CARTESIAN_POINT('',(-4.375E-1,0.E0,1.125E1)); ++#3535=LINE('',#3534,#3533); ++#3536=CARTESIAN_POINT('',(-4.375E-1,6.875E-1,1.0375E1)); ++#3537=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#3538=DIRECTION('',(0.E0,0.E0,1.E0)); ++#3539=AXIS2_PLACEMENT_3D('',#3536,#3537,#3538); ++#3541=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3542=VECTOR('',#3541,6.875E-1); ++#3543=CARTESIAN_POINT('',(-4.375E-1,0.E0,8.69E0)); ++#3544=LINE('',#3543,#3542); ++#3545=CARTESIAN_POINT('',(-4.375E-1,0.E0,9.565E0)); ++#3546=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3547=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#3548=AXIS2_PLACEMENT_3D('',#3545,#3546,#3547); ++#3550=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3551=VECTOR('',#3550,6.875E-1); ++#3552=CARTESIAN_POINT('',(-1.3125E0,0.E0,9.565E0)); ++#3553=LINE('',#3552,#3551); ++#3554=CARTESIAN_POINT('',(-4.375E-1,6.875E-1,9.565E0)); ++#3555=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#3556=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#3557=AXIS2_PLACEMENT_3D('',#3554,#3555,#3556); ++#3559=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3560=VECTOR('',#3559,6.875E-1); ++#3561=CARTESIAN_POINT('',(6.875E-1,0.E0,1.65E1)); ++#3562=LINE('',#3561,#3560); ++#3563=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3564=VECTOR('',#3563,6.875E-1); ++#3565=CARTESIAN_POINT('',(1.8125E0,0.E0,1.65E1)); ++#3566=LINE('',#3565,#3564); ++#3567=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3568=VECTOR('',#3567,6.875E-1); ++#3569=CARTESIAN_POINT('',(1.8125E0,0.E0,1.35E1)); ++#3570=LINE('',#3569,#3568); ++#3571=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3572=VECTOR('',#3571,6.875E-1); ++#3573=CARTESIAN_POINT('',(6.875E-1,0.E0,1.35E1)); ++#3574=LINE('',#3573,#3572); ++#3575=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#3576=VECTOR('',#3575,3.E0); ++#3577=CARTESIAN_POINT('',(6.875E-1,6.875E-1,1.65E1)); ++#3578=LINE('',#3577,#3576); ++#3579=CARTESIAN_POINT('',(1.25E0,6.875E-1,1.65E1)); ++#3580=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#3581=DIRECTION('',(1.E0,0.E0,0.E0)); ++#3582=AXIS2_PLACEMENT_3D('',#3579,#3580,#3581); ++#3584=DIRECTION('',(0.E0,0.E0,1.E0)); ++#3585=VECTOR('',#3584,3.E0); ++#3586=CARTESIAN_POINT('',(1.8125E0,6.875E-1,1.35E1)); ++#3587=LINE('',#3586,#3585); ++#3588=CARTESIAN_POINT('',(1.25E0,6.875E-1,1.35E1)); ++#3589=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#3590=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#3591=AXIS2_PLACEMENT_3D('',#3588,#3589,#3590); ++#3593=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3594=VECTOR('',#3593,6.875E-1); ++#3595=CARTESIAN_POINT('',(6.875E-1,0.E0,2.25E1)); ++#3596=LINE('',#3595,#3594); ++#3597=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3598=VECTOR('',#3597,6.875E-1); ++#3599=CARTESIAN_POINT('',(1.8125E0,0.E0,2.25E1)); ++#3600=LINE('',#3599,#3598); ++#3601=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3602=VECTOR('',#3601,6.875E-1); ++#3603=CARTESIAN_POINT('',(1.8125E0,0.E0,1.95E1)); ++#3604=LINE('',#3603,#3602); ++#3605=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3606=VECTOR('',#3605,6.875E-1); ++#3607=CARTESIAN_POINT('',(6.875E-1,0.E0,1.95E1)); ++#3608=LINE('',#3607,#3606); ++#3609=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#3610=VECTOR('',#3609,3.E0); ++#3611=CARTESIAN_POINT('',(6.875E-1,6.875E-1,2.25E1)); ++#3612=LINE('',#3611,#3610); ++#3613=CARTESIAN_POINT('',(1.25E0,6.875E-1,2.25E1)); ++#3614=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#3615=DIRECTION('',(1.E0,0.E0,0.E0)); ++#3616=AXIS2_PLACEMENT_3D('',#3613,#3614,#3615); ++#3618=DIRECTION('',(0.E0,0.E0,1.E0)); ++#3619=VECTOR('',#3618,3.E0); ++#3620=CARTESIAN_POINT('',(1.8125E0,6.875E-1,1.95E1)); ++#3621=LINE('',#3620,#3619); ++#3622=CARTESIAN_POINT('',(1.25E0,6.875E-1,1.95E1)); ++#3623=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#3624=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#3625=AXIS2_PLACEMENT_3D('',#3622,#3623,#3624); ++#3627=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3628=VECTOR('',#3627,6.875E-1); ++#3629=CARTESIAN_POINT('',(7.5E0,0.E0,8.5E0)); ++#3630=LINE('',#3629,#3628); ++#3631=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3632=VECTOR('',#3631,6.875E-1); ++#3633=CARTESIAN_POINT('',(7.5E0,0.E0,9.5E0)); ++#3634=LINE('',#3633,#3632); ++#3635=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3636=VECTOR('',#3635,6.875E-1); ++#3637=CARTESIAN_POINT('',(1.05E1,0.E0,9.5E0)); ++#3638=LINE('',#3637,#3636); ++#3639=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3640=VECTOR('',#3639,6.875E-1); ++#3641=CARTESIAN_POINT('',(1.05E1,0.E0,8.5E0)); ++#3642=LINE('',#3641,#3640); ++#3643=DIRECTION('',(1.E0,0.E0,0.E0)); ++#3644=VECTOR('',#3643,3.E0); ++#3645=CARTESIAN_POINT('',(7.5E0,6.875E-1,8.5E0)); ++#3646=LINE('',#3645,#3644); ++#3647=CARTESIAN_POINT('',(7.5E0,6.875E-1,9.E0)); ++#3648=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#3649=DIRECTION('',(0.E0,0.E0,1.E0)); ++#3650=AXIS2_PLACEMENT_3D('',#3647,#3648,#3649); ++#3652=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#3653=VECTOR('',#3652,3.E0); ++#3654=CARTESIAN_POINT('',(1.05E1,6.875E-1,9.5E0)); ++#3655=LINE('',#3654,#3653); ++#3656=CARTESIAN_POINT('',(1.05E1,6.875E-1,9.E0)); ++#3657=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#3658=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#3659=AXIS2_PLACEMENT_3D('',#3656,#3657,#3658); ++#3661=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3662=VECTOR('',#3661,6.875E-1); ++#3663=CARTESIAN_POINT('',(7.5E0,0.E0,1.75625E1)); ++#3664=LINE('',#3663,#3662); ++#3665=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3666=VECTOR('',#3665,6.875E-1); ++#3667=CARTESIAN_POINT('',(7.5E0,0.E0,1.84375E1)); ++#3668=LINE('',#3667,#3666); ++#3669=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3670=VECTOR('',#3669,6.875E-1); ++#3671=CARTESIAN_POINT('',(1.05E1,0.E0,1.84375E1)); ++#3672=LINE('',#3671,#3670); ++#3673=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3674=VECTOR('',#3673,6.875E-1); ++#3675=CARTESIAN_POINT('',(1.05E1,0.E0,1.75625E1)); ++#3676=LINE('',#3675,#3674); ++#3677=DIRECTION('',(1.E0,0.E0,0.E0)); ++#3678=VECTOR('',#3677,3.E0); ++#3679=CARTESIAN_POINT('',(7.5E0,6.875E-1,1.75625E1)); ++#3680=LINE('',#3679,#3678); ++#3681=CARTESIAN_POINT('',(7.5E0,6.875E-1,1.8E1)); ++#3682=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#3683=DIRECTION('',(0.E0,0.E0,1.E0)); ++#3684=AXIS2_PLACEMENT_3D('',#3681,#3682,#3683); ++#3686=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#3687=VECTOR('',#3686,3.E0); ++#3688=CARTESIAN_POINT('',(1.05E1,6.875E-1,1.84375E1)); ++#3689=LINE('',#3688,#3687); ++#3690=CARTESIAN_POINT('',(1.05E1,6.875E-1,1.8E1)); ++#3691=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#3692=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#3693=AXIS2_PLACEMENT_3D('',#3690,#3691,#3692); ++#3695=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3696=VECTOR('',#3695,6.875E-1); ++#3697=CARTESIAN_POINT('',(7.5E0,0.E0,3.13125E1)); ++#3698=LINE('',#3697,#3696); ++#3699=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3700=VECTOR('',#3699,6.875E-1); ++#3701=CARTESIAN_POINT('',(1.05E1,0.E0,3.13125E1)); ++#3702=LINE('',#3701,#3700); ++#3703=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3704=VECTOR('',#3703,6.875E-1); ++#3705=CARTESIAN_POINT('',(1.05E1,0.E0,3.01875E1)); ++#3706=LINE('',#3705,#3704); ++#3707=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3708=VECTOR('',#3707,6.875E-1); ++#3709=CARTESIAN_POINT('',(7.5E0,0.E0,3.01875E1)); ++#3710=LINE('',#3709,#3708); ++#3711=DIRECTION('',(1.E0,0.E0,0.E0)); ++#3712=VECTOR('',#3711,3.E0); ++#3713=CARTESIAN_POINT('',(7.5E0,6.875E-1,3.13125E1)); ++#3714=LINE('',#3713,#3712); ++#3715=CARTESIAN_POINT('',(1.05E1,6.875E-1,3.075E1)); ++#3716=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3717=DIRECTION('',(0.E0,0.E0,1.E0)); ++#3718=AXIS2_PLACEMENT_3D('',#3715,#3716,#3717); ++#3720=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#3721=VECTOR('',#3720,3.E0); ++#3722=CARTESIAN_POINT('',(1.05E1,6.875E-1,3.01875E1)); ++#3723=LINE('',#3722,#3721); ++#3724=CARTESIAN_POINT('',(7.5E0,6.875E-1,3.075E1)); ++#3725=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3726=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#3727=AXIS2_PLACEMENT_3D('',#3724,#3725,#3726); ++#3729=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1)); ++#3730=VECTOR('',#3729,4.263248410977E0); ++#3731=CARTESIAN_POINT('',(9.254066777019E-1,6.875E-1,2.795313485357E1)); ++#3732=LINE('',#3731,#3730); ++#3733=CARTESIAN_POINT('',(4.553039342392E0,6.875E-1,3.035464591145E1)); ++#3734=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3735=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1)); ++#3736=AXIS2_PLACEMENT_3D('',#3733,#3734,#3735); ++#3738=CARTESIAN_POINT('',(7.5E0,6.875E-1,2.45E1)); ++#3739=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#3740=DIRECTION('',(-4.496088413988E-1,0.E0,8.932255536739E-1)); ++#3741=AXIS2_PLACEMENT_3D('',#3738,#3739,#3740); ++#3743=CARTESIAN_POINT('',(1.61E0,6.875E-1,2.75E1)); ++#3744=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3745=DIRECTION('',(8.910741301059E-1,0.E0,-4.538577912254E-1)); ++#3746=AXIS2_PLACEMENT_3D('',#3743,#3744,#3745); ++#3748=DIRECTION('',(0.E0,1.E0,-1.033516706560E-14)); ++#3749=VECTOR('',#3748,6.875E-1); ++#3750=CARTESIAN_POINT('',(7.850270400779E-1,0.E0,2.708717332281E1)); ++#3751=LINE('',#3750,#3749); ++#3752=CARTESIAN_POINT('',(1.455736763592E0,0.E0,2.742280476768E1)); ++#3753=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3754=DIRECTION('',(-8.942796313519E-1,0.E0,-4.475085931567E-1)); ++#3755=AXIS2_PLACEMENT_3D('',#3752,#3753,#3754); ++#3757=DIRECTION('',(0.E0,1.E0,1.033516706560E-14)); ++#3758=VECTOR('',#3757,6.875E-1); ++#3759=CARTESIAN_POINT('',(9.254066777019E-1,0.E0,2.795313485357E1)); ++#3760=LINE('',#3759,#3758); ++#3761=CARTESIAN_POINT('',(1.455736763592E0,6.875E-1,2.742280476768E1)); ++#3762=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#3763=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811866E-1)); ++#3764=AXIS2_PLACEMENT_3D('',#3761,#3762,#3763); ++#3766=DIRECTION('',(0.E0,1.E0,1.033516706560E-14)); ++#3767=VECTOR('',#3766,6.875E-1); ++#3768=CARTESIAN_POINT('',(2.432015885023E0,0.E0,2.708131618759E1)); ++#3769=LINE('',#3768,#3767); ++#3770=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3771=VECTOR('',#3770,6.875E-1); ++#3772=CARTESIAN_POINT('',(4.942849714544E0,0.E0,2.958022033652E1)); ++#3773=LINE('',#3772,#3771); ++#3774=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3775=VECTOR('',#3774,6.875E-1); ++#3776=CARTESIAN_POINT('',(3.939978538987E0,0.E0,3.096770671486E1)); ++#3777=LINE('',#3776,#3775); ++#3778=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3779=VECTOR('',#3778,6.875E-1); ++#3780=CARTESIAN_POINT('',(1.65E1,0.E0,6.875E-1)); ++#3781=LINE('',#3780,#3779); ++#3782=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3783=VECTOR('',#3782,6.875E-1); ++#3784=CARTESIAN_POINT('',(1.35E1,0.E0,6.875E-1)); ++#3785=LINE('',#3784,#3783); ++#3786=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3787=VECTOR('',#3786,6.875E-1); ++#3788=CARTESIAN_POINT('',(1.35E1,0.E0,1.8125E0)); ++#3789=LINE('',#3788,#3787); ++#3790=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3791=VECTOR('',#3790,6.875E-1); ++#3792=CARTESIAN_POINT('',(1.65E1,0.E0,1.8125E0)); ++#3793=LINE('',#3792,#3791); ++#3794=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#3795=VECTOR('',#3794,3.E0); ++#3796=CARTESIAN_POINT('',(1.65E1,6.875E-1,6.875E-1)); ++#3797=LINE('',#3796,#3795); ++#3798=CARTESIAN_POINT('',(1.35E1,6.875E-1,1.25E0)); ++#3799=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3800=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#3801=AXIS2_PLACEMENT_3D('',#3798,#3799,#3800); ++#3803=DIRECTION('',(1.E0,0.E0,0.E0)); ++#3804=VECTOR('',#3803,3.E0); ++#3805=CARTESIAN_POINT('',(1.35E1,6.875E-1,1.8125E0)); ++#3806=LINE('',#3805,#3804); ++#3807=CARTESIAN_POINT('',(1.65E1,6.875E-1,1.25E0)); ++#3808=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3809=DIRECTION('',(0.E0,0.E0,1.E0)); ++#3810=AXIS2_PLACEMENT_3D('',#3807,#3808,#3809); ++#3812=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1)); ++#3813=VECTOR('',#3812,4.263248410977E0); ++#3814=CARTESIAN_POINT('',(2.307459332230E1,6.875E-1,4.046865146430E0)); ++#3815=LINE('',#3814,#3813); ++#3816=CARTESIAN_POINT('',(1.944696065761E1,6.875E-1,1.645354088550E0)); ++#3817=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3818=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1)); ++#3819=AXIS2_PLACEMENT_3D('',#3816,#3817,#3818); ++#3821=CARTESIAN_POINT('',(1.65E1,6.875E-1,7.5E0)); ++#3822=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#3823=DIRECTION('',(4.496088413988E-1,0.E0,-8.932255536739E-1)); ++#3824=AXIS2_PLACEMENT_3D('',#3821,#3822,#3823); ++#3826=CARTESIAN_POINT('',(2.239E1,6.875E-1,4.5E0)); ++#3827=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3828=DIRECTION('',(-8.910741301059E-1,0.E0,4.538577912254E-1)); ++#3829=AXIS2_PLACEMENT_3D('',#3826,#3827,#3828); ++#3831=DIRECTION('',(-1.033516706560E-14,1.E0,2.583791766400E-14)); ++#3832=VECTOR('',#3831,6.875E-1); ++#3833=CARTESIAN_POINT('',(2.321497295992E1,0.E0,4.912826677187E0)); ++#3834=LINE('',#3833,#3832); ++#3835=CARTESIAN_POINT('',(2.254426323641E1,0.E0,4.577195232320E0)); ++#3836=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3837=DIRECTION('',(8.942796313519E-1,0.E0,4.475085931567E-1)); ++#3838=AXIS2_PLACEMENT_3D('',#3835,#3836,#3837); ++#3840=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3841=VECTOR('',#3840,6.875E-1); ++#3842=CARTESIAN_POINT('',(2.307459332230E1,0.E0,4.046865146430E0)); ++#3843=LINE('',#3842,#3841); ++#3844=CARTESIAN_POINT('',(2.254426323641E1,6.875E-1,4.577195232320E0)); ++#3845=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#3846=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1)); ++#3847=AXIS2_PLACEMENT_3D('',#3844,#3845,#3846); ++#3849=DIRECTION('',(-1.550275059840E-14,1.E0,-2.067033413120E-14)); ++#3850=VECTOR('',#3849,6.875E-1); ++#3851=CARTESIAN_POINT('',(2.156798411498E1,0.E0,4.918683812405E0)); ++#3852=LINE('',#3851,#3850); ++#3853=DIRECTION('',(1.550275059840E-14,1.E0,0.E0)); ++#3854=VECTOR('',#3853,6.875E-1); ++#3855=CARTESIAN_POINT('',(1.905715028546E1,0.E0,2.419779663480E0)); ++#3856=LINE('',#3855,#3854); ++#3857=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3858=VECTOR('',#3857,6.875E-1); ++#3859=CARTESIAN_POINT('',(2.006002146101E1,0.E0,1.032293285145E0)); ++#3860=LINE('',#3859,#3858); ++#3861=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3862=VECTOR('',#3861,6.875E-1); ++#3863=CARTESIAN_POINT('',(2.33125E1,0.E0,1.65E1)); ++#3864=LINE('',#3863,#3862); ++#3865=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3866=VECTOR('',#3865,6.875E-1); ++#3867=CARTESIAN_POINT('',(2.33125E1,0.E0,1.35E1)); ++#3868=LINE('',#3867,#3866); ++#3869=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3870=VECTOR('',#3869,6.875E-1); ++#3871=CARTESIAN_POINT('',(2.21875E1,0.E0,1.35E1)); ++#3872=LINE('',#3871,#3870); ++#3873=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3874=VECTOR('',#3873,6.875E-1); ++#3875=CARTESIAN_POINT('',(2.21875E1,0.E0,1.65E1)); ++#3876=LINE('',#3875,#3874); ++#3877=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#3878=VECTOR('',#3877,3.E0); ++#3879=CARTESIAN_POINT('',(2.33125E1,6.875E-1,1.65E1)); ++#3880=LINE('',#3879,#3878); ++#3881=CARTESIAN_POINT('',(2.275E1,6.875E-1,1.35E1)); ++#3882=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3883=DIRECTION('',(1.E0,0.E0,0.E0)); ++#3884=AXIS2_PLACEMENT_3D('',#3881,#3882,#3883); ++#3886=DIRECTION('',(0.E0,0.E0,1.E0)); ++#3887=VECTOR('',#3886,3.E0); ++#3888=CARTESIAN_POINT('',(2.21875E1,6.875E-1,1.35E1)); ++#3889=LINE('',#3888,#3887); ++#3890=CARTESIAN_POINT('',(2.275E1,6.875E-1,1.65E1)); ++#3891=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3892=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#3893=AXIS2_PLACEMENT_3D('',#3890,#3891,#3892); ++#3895=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3896=VECTOR('',#3895,6.875E-1); ++#3897=CARTESIAN_POINT('',(2.33125E1,0.E0,2.25E1)); ++#3898=LINE('',#3897,#3896); ++#3899=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3900=VECTOR('',#3899,6.875E-1); ++#3901=CARTESIAN_POINT('',(2.33125E1,0.E0,1.95E1)); ++#3902=LINE('',#3901,#3900); ++#3903=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3904=VECTOR('',#3903,6.875E-1); ++#3905=CARTESIAN_POINT('',(2.21875E1,0.E0,1.95E1)); ++#3906=LINE('',#3905,#3904); ++#3907=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3908=VECTOR('',#3907,6.875E-1); ++#3909=CARTESIAN_POINT('',(2.21875E1,0.E0,2.25E1)); ++#3910=LINE('',#3909,#3908); ++#3911=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#3912=VECTOR('',#3911,3.E0); ++#3913=CARTESIAN_POINT('',(2.33125E1,6.875E-1,2.25E1)); ++#3914=LINE('',#3913,#3912); ++#3915=CARTESIAN_POINT('',(2.275E1,6.875E-1,1.95E1)); ++#3916=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3917=DIRECTION('',(1.E0,0.E0,0.E0)); ++#3918=AXIS2_PLACEMENT_3D('',#3915,#3916,#3917); ++#3920=DIRECTION('',(0.E0,0.E0,1.E0)); ++#3921=VECTOR('',#3920,3.E0); ++#3922=CARTESIAN_POINT('',(2.21875E1,6.875E-1,1.95E1)); ++#3923=LINE('',#3922,#3921); ++#3924=CARTESIAN_POINT('',(2.275E1,6.875E-1,2.25E1)); ++#3925=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3926=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#3927=AXIS2_PLACEMENT_3D('',#3924,#3925,#3926); ++#3929=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3930=VECTOR('',#3929,6.875E-1); ++#3931=CARTESIAN_POINT('',(1.65E1,0.E0,8.5E0)); ++#3932=LINE('',#3931,#3930); ++#3933=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3934=VECTOR('',#3933,6.875E-1); ++#3935=CARTESIAN_POINT('',(1.35E1,0.E0,8.5E0)); ++#3936=LINE('',#3935,#3934); ++#3937=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3938=VECTOR('',#3937,6.875E-1); ++#3939=CARTESIAN_POINT('',(1.35E1,0.E0,9.5E0)); ++#3940=LINE('',#3939,#3938); ++#3941=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3942=VECTOR('',#3941,6.875E-1); ++#3943=CARTESIAN_POINT('',(1.65E1,0.E0,9.5E0)); ++#3944=LINE('',#3943,#3942); ++#3945=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#3946=VECTOR('',#3945,3.E0); ++#3947=CARTESIAN_POINT('',(1.65E1,6.875E-1,8.5E0)); ++#3948=LINE('',#3947,#3946); ++#3949=CARTESIAN_POINT('',(1.35E1,6.875E-1,9.E0)); ++#3950=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3951=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#3952=AXIS2_PLACEMENT_3D('',#3949,#3950,#3951); ++#3954=DIRECTION('',(1.E0,0.E0,0.E0)); ++#3955=VECTOR('',#3954,3.E0); ++#3956=CARTESIAN_POINT('',(1.35E1,6.875E-1,9.5E0)); ++#3957=LINE('',#3956,#3955); ++#3958=CARTESIAN_POINT('',(1.65E1,6.875E-1,9.E0)); ++#3959=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3960=DIRECTION('',(0.E0,0.E0,1.E0)); ++#3961=AXIS2_PLACEMENT_3D('',#3958,#3959,#3960); ++#3963=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3964=VECTOR('',#3963,6.875E-1); ++#3965=CARTESIAN_POINT('',(1.65E1,0.E0,1.75625E1)); ++#3966=LINE('',#3965,#3964); ++#3967=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3968=VECTOR('',#3967,6.875E-1); ++#3969=CARTESIAN_POINT('',(1.35E1,0.E0,1.75625E1)); ++#3970=LINE('',#3969,#3968); ++#3971=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3972=VECTOR('',#3971,6.875E-1); ++#3973=CARTESIAN_POINT('',(1.35E1,0.E0,1.84375E1)); ++#3974=LINE('',#3973,#3972); ++#3975=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3976=VECTOR('',#3975,6.875E-1); ++#3977=CARTESIAN_POINT('',(1.65E1,0.E0,1.84375E1)); ++#3978=LINE('',#3977,#3976); ++#3979=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#3980=VECTOR('',#3979,3.E0); ++#3981=CARTESIAN_POINT('',(1.65E1,6.875E-1,1.75625E1)); ++#3982=LINE('',#3981,#3980); ++#3983=CARTESIAN_POINT('',(1.35E1,6.875E-1,1.8E1)); ++#3984=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3985=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#3986=AXIS2_PLACEMENT_3D('',#3983,#3984,#3985); ++#3988=DIRECTION('',(1.E0,0.E0,0.E0)); ++#3989=VECTOR('',#3988,3.E0); ++#3990=CARTESIAN_POINT('',(1.35E1,6.875E-1,1.84375E1)); ++#3991=LINE('',#3990,#3989); ++#3992=CARTESIAN_POINT('',(1.65E1,6.875E-1,1.8E1)); ++#3993=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3994=DIRECTION('',(0.E0,0.E0,1.E0)); ++#3995=AXIS2_PLACEMENT_3D('',#3992,#3993,#3994); ++#3997=DIRECTION('',(0.E0,1.E0,0.E0)); ++#3998=VECTOR('',#3997,6.875E-1); ++#3999=CARTESIAN_POINT('',(1.65E1,0.E0,3.13125E1)); ++#4000=LINE('',#3999,#3998); ++#4001=DIRECTION('',(0.E0,1.E0,0.E0)); ++#4002=VECTOR('',#4001,6.875E-1); ++#4003=CARTESIAN_POINT('',(1.65E1,0.E0,3.01875E1)); ++#4004=LINE('',#4003,#4002); ++#4005=DIRECTION('',(0.E0,1.E0,0.E0)); ++#4006=VECTOR('',#4005,6.875E-1); ++#4007=CARTESIAN_POINT('',(1.35E1,0.E0,3.01875E1)); ++#4008=LINE('',#4007,#4006); ++#4009=DIRECTION('',(0.E0,1.E0,0.E0)); ++#4010=VECTOR('',#4009,6.875E-1); ++#4011=CARTESIAN_POINT('',(1.35E1,0.E0,3.13125E1)); ++#4012=LINE('',#4011,#4010); ++#4013=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#4014=VECTOR('',#4013,3.E0); ++#4015=CARTESIAN_POINT('',(1.65E1,6.875E-1,3.13125E1)); ++#4016=LINE('',#4015,#4014); ++#4017=CARTESIAN_POINT('',(1.65E1,6.875E-1,3.075E1)); ++#4018=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#4019=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#4020=AXIS2_PLACEMENT_3D('',#4017,#4018,#4019); ++#4022=DIRECTION('',(1.E0,0.E0,0.E0)); ++#4023=VECTOR('',#4022,3.E0); ++#4024=CARTESIAN_POINT('',(1.35E1,6.875E-1,3.01875E1)); ++#4025=LINE('',#4024,#4023); ++#4026=CARTESIAN_POINT('',(1.35E1,6.875E-1,3.075E1)); ++#4027=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#4028=DIRECTION('',(0.E0,0.E0,1.E0)); ++#4029=AXIS2_PLACEMENT_3D('',#4026,#4027,#4028); ++#4031=CARTESIAN_POINT('',(2.239E1,6.875E-1,2.75E1)); ++#4032=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#4033=DIRECTION('',(-8.910741301059E-1,0.E0,-4.538577912254E-1)); ++#4034=AXIS2_PLACEMENT_3D('',#4031,#4032,#4033); ++#4036=CARTESIAN_POINT('',(1.65E1,6.875E-1,2.45E1)); ++#4037=DIRECTION('',(0.E0,1.E0,0.E0)); ++#4038=DIRECTION('',(4.496088413988E-1,0.E0,8.932255536739E-1)); ++#4039=AXIS2_PLACEMENT_3D('',#4036,#4037,#4038); ++#4041=CARTESIAN_POINT('',(1.944696065761E1,6.875E-1,3.035464591145E1)); ++#4042=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#4043=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1)); ++#4044=AXIS2_PLACEMENT_3D('',#4041,#4042,#4043); ++#4046=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1)); ++#4047=VECTOR('',#4046,4.263248410977E0); ++#4048=CARTESIAN_POINT('',(2.307459332230E1,6.875E-1,2.795313485357E1)); ++#4049=LINE('',#4048,#4047); ++#4050=DIRECTION('',(0.E0,1.E0,0.E0)); ++#4051=VECTOR('',#4050,6.875E-1); ++#4052=CARTESIAN_POINT('',(2.307459332230E1,0.E0,2.795313485357E1)); ++#4053=LINE('',#4052,#4051); ++#4054=CARTESIAN_POINT('',(2.254426323641E1,0.E0,2.742280476768E1)); ++#4055=DIRECTION('',(0.E0,1.E0,0.E0)); ++#4056=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1)); ++#4057=AXIS2_PLACEMENT_3D('',#4054,#4055,#4056); ++#4059=DIRECTION('',(0.E0,1.E0,2.067033413120E-14)); ++#4060=VECTOR('',#4059,6.875E-1); ++#4061=CARTESIAN_POINT('',(2.321497295992E1,0.E0,2.708717332281E1)); ++#4062=LINE('',#4061,#4060); ++#4063=CARTESIAN_POINT('',(2.254426323641E1,6.875E-1,2.742280476768E1)); ++#4064=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#4065=DIRECTION('',(8.942796313519E-1,0.E0,-4.475085931567E-1)); ++#4066=AXIS2_PLACEMENT_3D('',#4063,#4064,#4065); ++#4068=DIRECTION('',(0.E0,1.E0,0.E0)); ++#4069=VECTOR('',#4068,6.875E-1); ++#4070=CARTESIAN_POINT('',(2.006002146101E1,0.E0,3.096770671486E1)); ++#4071=LINE('',#4070,#4069); ++#4072=DIRECTION('',(1.033516706560E-14,1.E0,0.E0)); ++#4073=VECTOR('',#4072,6.875E-1); ++#4074=CARTESIAN_POINT('',(1.905715028546E1,0.E0,2.958022033652E1)); ++#4075=LINE('',#4074,#4073); ++#4076=DIRECTION('',(-2.067033413120E-14,1.E0,3.100550119680E-14)); ++#4077=VECTOR('',#4076,6.875E-1); ++#4078=CARTESIAN_POINT('',(2.156798411498E1,0.E0,2.708131618759E1)); ++#4079=LINE('',#4078,#4077); ++#4080=DIRECTION('',(0.E0,1.E0,0.E0)); ++#4081=VECTOR('',#4080,6.875E-1); ++#4082=CARTESIAN_POINT('',(2.13075E1,0.E0,8.69E0)); ++#4083=LINE('',#4082,#4081); ++#4084=CARTESIAN_POINT('',(2.13075E1,6.875E-1,7.81E0)); ++#4085=DIRECTION('',(0.E0,1.E0,0.E0)); ++#4086=DIRECTION('',(0.E0,0.E0,1.E0)); ++#4087=AXIS2_PLACEMENT_3D('',#4084,#4085,#4086); ++#4089=DIRECTION('',(0.E0,1.E0,0.E0)); ++#4090=VECTOR('',#4089,6.875E-1); ++#4091=CARTESIAN_POINT('',(2.21875E1,0.E0,7.81E0)); ++#4092=LINE('',#4091,#4090); ++#4093=CARTESIAN_POINT('',(2.13075E1,0.E0,7.81E0)); ++#4094=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#4095=DIRECTION('',(1.E0,0.E0,0.E0)); ++#4096=AXIS2_PLACEMENT_3D('',#4093,#4094,#4095); ++#4098=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#4099=VECTOR('',#4098,6.875E-1); ++#4100=CARTESIAN_POINT('',(1.96875E1,6.875E-1,9.57E0)); ++#4101=LINE('',#4100,#4099); ++#4102=CARTESIAN_POINT('',(2.05675E1,6.875E-1,9.57E0)); ++#4103=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#4104=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#4105=AXIS2_PLACEMENT_3D('',#4102,#4103,#4104); ++#4107=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#4108=VECTOR('',#4107,6.875E-1); ++#4109=CARTESIAN_POINT('',(2.05675E1,6.875E-1,8.69E0)); ++#4110=LINE('',#4109,#4108); ++#4111=CARTESIAN_POINT('',(2.05675E1,0.E0,9.57E0)); ++#4112=DIRECTION('',(0.E0,1.E0,0.E0)); ++#4113=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#4114=AXIS2_PLACEMENT_3D('',#4111,#4112,#4113); ++#4116=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#4117=VECTOR('',#4116,6.875E-1); ++#4118=CARTESIAN_POINT('',(2.05675E1,6.875E-1,1.125E1)); ++#4119=LINE('',#4118,#4117); ++#4120=CARTESIAN_POINT('',(2.05675E1,6.875E-1,1.037E1)); ++#4121=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#4122=DIRECTION('',(0.E0,0.E0,1.E0)); ++#4123=AXIS2_PLACEMENT_3D('',#4120,#4121,#4122); ++#4125=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#4126=VECTOR('',#4125,6.875E-1); ++#4127=CARTESIAN_POINT('',(1.96875E1,6.875E-1,1.037E1)); ++#4128=LINE('',#4127,#4126); ++#4129=CARTESIAN_POINT('',(2.05675E1,0.E0,1.037E1)); ++#4130=DIRECTION('',(0.E0,1.E0,0.E0)); ++#4131=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#4132=AXIS2_PLACEMENT_3D('',#4129,#4130,#4131); ++#4134=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#4135=VECTOR('',#4134,6.875E-1); ++#4136=CARTESIAN_POINT('',(2.53125E1,6.875E-1,1.037E1)); ++#4137=LINE('',#4136,#4135); ++#4138=CARTESIAN_POINT('',(2.44325E1,6.875E-1,1.037E1)); ++#4139=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#4140=DIRECTION('',(1.E0,0.E0,0.E0)); ++#4141=AXIS2_PLACEMENT_3D('',#4138,#4139,#4140); ++#4143=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#4144=VECTOR('',#4143,6.875E-1); ++#4145=CARTESIAN_POINT('',(2.44325E1,6.875E-1,1.125E1)); ++#4146=LINE('',#4145,#4144); ++#4147=CARTESIAN_POINT('',(2.44325E1,0.E0,1.037E1)); ++#4148=DIRECTION('',(0.E0,1.E0,0.E0)); ++#4149=DIRECTION('',(0.E0,0.E0,1.E0)); ++#4150=AXIS2_PLACEMENT_3D('',#4147,#4148,#4149); ++#4152=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#4153=VECTOR('',#4152,6.875E-1); ++#4154=CARTESIAN_POINT('',(2.44325E1,6.875E-1,8.69E0)); ++#4155=LINE('',#4154,#4153); ++#4156=CARTESIAN_POINT('',(2.44325E1,6.875E-1,9.57E0)); ++#4157=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#4158=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#4159=AXIS2_PLACEMENT_3D('',#4156,#4157,#4158); ++#4161=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#4162=VECTOR('',#4161,6.875E-1); ++#4163=CARTESIAN_POINT('',(2.53125E1,6.875E-1,9.57E0)); ++#4164=LINE('',#4163,#4162); ++#4165=CARTESIAN_POINT('',(2.44325E1,0.E0,9.57E0)); ++#4166=DIRECTION('',(0.E0,1.E0,0.E0)); ++#4167=DIRECTION('',(1.E0,0.E0,0.E0)); ++#4168=AXIS2_PLACEMENT_3D('',#4165,#4166,#4167); ++#4170=DIRECTION('',(0.E0,1.E0,0.E0)); ++#4171=VECTOR('',#4170,6.875E-1); ++#4172=CARTESIAN_POINT('',(2.331E1,0.E0,7.81E0)); ++#4173=LINE('',#4172,#4171); ++#4174=CARTESIAN_POINT('',(2.419E1,6.875E-1,7.81E0)); ++#4175=DIRECTION('',(0.E0,1.E0,0.E0)); ++#4176=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#4177=AXIS2_PLACEMENT_3D('',#4174,#4175,#4176); ++#4179=DIRECTION('',(0.E0,1.E0,0.E0)); ++#4180=VECTOR('',#4179,6.875E-1); ++#4181=CARTESIAN_POINT('',(2.419E1,0.E0,8.69E0)); ++#4182=LINE('',#4181,#4180); ++#4183=CARTESIAN_POINT('',(2.419E1,0.E0,7.81E0)); ++#4184=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#4185=DIRECTION('',(0.E0,0.E0,1.E0)); ++#4186=AXIS2_PLACEMENT_3D('',#4183,#4184,#4185); ++#4188=DIRECTION('',(0.E0,1.E0,1.033516706560E-14)); ++#4189=VECTOR('',#4188,6.875E-1); ++#4190=CARTESIAN_POINT('',(2.331E1,0.E0,7.5E0)); ++#4191=LINE('',#4190,#4189); ++#4192=DIRECTION('',(0.E0,1.E0,0.E0)); ++#4193=VECTOR('',#4192,6.875E-1); ++#4194=CARTESIAN_POINT('',(2.21875E1,0.E0,7.5E0)); ++#4195=LINE('',#4194,#4193); ++#4196=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#4197=VECTOR('',#4196,2.425E-1); ++#4198=CARTESIAN_POINT('',(2.44325E1,6.875E-1,8.69E0)); ++#4199=LINE('',#4198,#4197); ++#4200=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#4201=VECTOR('',#4200,3.1E-1); ++#4202=CARTESIAN_POINT('',(2.331E1,6.875E-1,7.81E0)); ++#4203=LINE('',#4202,#4201); ++#4204=CARTESIAN_POINT('',(2.274875E1,6.875E-1,7.5E0)); ++#4205=DIRECTION('',(0.E0,1.E0,0.E0)); ++#4206=DIRECTION('',(1.E0,0.E0,0.E0)); ++#4207=AXIS2_PLACEMENT_3D('',#4204,#4205,#4206); ++#4209=DIRECTION('',(0.E0,0.E0,1.E0)); ++#4210=VECTOR('',#4209,3.1E-1); ++#4211=CARTESIAN_POINT('',(2.21875E1,6.875E-1,7.5E0)); ++#4212=LINE('',#4211,#4210); ++#4213=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#4214=VECTOR('',#4213,7.4E-1); ++#4215=CARTESIAN_POINT('',(2.13075E1,6.875E-1,8.69E0)); ++#4216=LINE('',#4215,#4214); ++#4217=DIRECTION('',(0.E0,0.E0,1.E0)); ++#4218=VECTOR('',#4217,8.E-1); ++#4219=CARTESIAN_POINT('',(1.96875E1,6.875E-1,9.57E0)); ++#4220=LINE('',#4219,#4218); ++#4221=DIRECTION('',(1.E0,0.E0,0.E0)); ++#4222=VECTOR('',#4221,3.865E0); ++#4223=CARTESIAN_POINT('',(2.05675E1,6.875E-1,1.125E1)); ++#4224=LINE('',#4223,#4222); ++#4225=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#4226=VECTOR('',#4225,8.E-1); ++#4227=CARTESIAN_POINT('',(2.53125E1,6.875E-1,1.037E1)); ++#4228=LINE('',#4227,#4226); ++#4229=CARTESIAN_POINT('',(2.4E1,0.E0,2.8E1)); ++#4230=CARTESIAN_POINT('',(2.4E1,1.5E0,2.8E1)); ++#4231=VERTEX_POINT('',#4229); ++#4232=VERTEX_POINT('',#4230); ++#4233=CARTESIAN_POINT('',(2.E1,0.E0,3.2E1)); ++#4234=CARTESIAN_POINT('',(2.E1,1.5E0,3.2E1)); ++#4235=VERTEX_POINT('',#4233); ++#4236=VERTEX_POINT('',#4234); ++#4237=CARTESIAN_POINT('',(2.E1,0.E0,0.E0)); ++#4238=CARTESIAN_POINT('',(2.E1,1.5E0,0.E0)); ++#4239=VERTEX_POINT('',#4237); ++#4240=VERTEX_POINT('',#4238); ++#4241=CARTESIAN_POINT('',(2.4E1,0.E0,4.E0)); ++#4242=CARTESIAN_POINT('',(2.4E1,1.5E0,4.E0)); ++#4243=VERTEX_POINT('',#4241); ++#4244=VERTEX_POINT('',#4242); ++#4245=CARTESIAN_POINT('',(4.E0,0.E0,3.2E1)); ++#4246=CARTESIAN_POINT('',(4.E0,1.5E0,3.2E1)); ++#4247=VERTEX_POINT('',#4245); ++#4248=VERTEX_POINT('',#4246); ++#4249=CARTESIAN_POINT('',(0.E0,0.E0,2.8E1)); ++#4250=CARTESIAN_POINT('',(0.E0,1.5E0,2.8E1)); ++#4251=VERTEX_POINT('',#4249); ++#4252=VERTEX_POINT('',#4250); ++#4253=CARTESIAN_POINT('',(0.E0,0.E0,4.E0)); ++#4254=CARTESIAN_POINT('',(0.E0,1.5E0,4.E0)); ++#4255=VERTEX_POINT('',#4253); ++#4256=VERTEX_POINT('',#4254); ++#4257=CARTESIAN_POINT('',(4.E0,0.E0,0.E0)); ++#4258=CARTESIAN_POINT('',(4.E0,1.5E0,0.E0)); ++#4259=VERTEX_POINT('',#4257); ++#4260=VERTEX_POINT('',#4258); ++#4261=CARTESIAN_POINT('',(7.5E0,1.5E0,2.5E0)); ++#4262=CARTESIAN_POINT('',(7.5E0,0.E0,2.5E0)); ++#4263=VERTEX_POINT('',#4261); ++#4264=VERTEX_POINT('',#4262); ++#4265=CARTESIAN_POINT('',(1.65E1,1.5E0,2.5E0)); ++#4266=CARTESIAN_POINT('',(1.65E1,0.E0,2.5E0)); ++#4267=VERTEX_POINT('',#4265); ++#4268=VERTEX_POINT('',#4266); ++#4269=CARTESIAN_POINT('',(7.5E0,1.5E0,2.95E1)); ++#4270=CARTESIAN_POINT('',(7.5E0,0.E0,2.95E1)); ++#4271=VERTEX_POINT('',#4269); ++#4272=VERTEX_POINT('',#4270); ++#4273=CARTESIAN_POINT('',(2.5E0,1.5E0,2.45E1)); ++#4274=CARTESIAN_POINT('',(2.5E0,0.E0,2.45E1)); ++#4275=VERTEX_POINT('',#4273); ++#4276=VERTEX_POINT('',#4274); ++#4277=CARTESIAN_POINT('',(2.15E1,1.5E0,2.45E1)); ++#4278=CARTESIAN_POINT('',(2.15E1,0.E0,2.45E1)); ++#4279=VERTEX_POINT('',#4277); ++#4280=VERTEX_POINT('',#4278); ++#4281=CARTESIAN_POINT('',(1.65E1,1.5E0,2.95E1)); ++#4282=CARTESIAN_POINT('',(1.65E1,0.E0,2.95E1)); ++#4283=VERTEX_POINT('',#4281); ++#4284=VERTEX_POINT('',#4282); ++#4285=CARTESIAN_POINT('',(5.E0,1.15E1,8.E0)); ++#4286=CARTESIAN_POINT('',(3.E0,1.15E1,8.E0)); ++#4287=VERTEX_POINT('',#4285); ++#4288=VERTEX_POINT('',#4286); ++#4289=CARTESIAN_POINT('',(-2.E0,2.5E0,8.E0)); ++#4290=VERTEX_POINT('',#4289); ++#4291=CARTESIAN_POINT('',(5.E0,1.15E1,1.E1)); ++#4292=CARTESIAN_POINT('',(3.E0,1.15E1,1.E1)); ++#4293=VERTEX_POINT('',#4291); ++#4294=VERTEX_POINT('',#4292); ++#4295=CARTESIAN_POINT('',(-2.E0,2.5E0,1.E1)); ++#4296=VERTEX_POINT('',#4295); ++#4297=CARTESIAN_POINT('',(-2.E0,1.5E0,1.E1)); ++#4298=VERTEX_POINT('',#4297); ++#4299=CARTESIAN_POINT('',(-2.E0,0.E0,8.E0)); ++#4300=VERTEX_POINT('',#4299); ++#4301=CARTESIAN_POINT('',(2.5E0,1.5E0,1.325E1)); ++#4302=CARTESIAN_POINT('',(2.5E0,0.E0,1.325E1)); ++#4303=VERTEX_POINT('',#4301); ++#4304=VERTEX_POINT('',#4302); ++#4305=CARTESIAN_POINT('',(3.5E0,1.5E0,1.225E1)); ++#4306=CARTESIAN_POINT('',(3.5E0,0.E0,1.225E1)); ++#4307=VERTEX_POINT('',#4305); ++#4308=VERTEX_POINT('',#4306); ++#4309=CARTESIAN_POINT('',(0.E0,0.E0,1.325E1)); ++#4310=CARTESIAN_POINT('',(0.E0,1.5E0,1.325E1)); ++#4311=VERTEX_POINT('',#4309); ++#4312=VERTEX_POINT('',#4310); ++#4313=CARTESIAN_POINT('',(-1.E0,0.E0,1.225E1)); ++#4314=CARTESIAN_POINT('',(-1.E0,1.5E0,1.225E1)); ++#4315=VERTEX_POINT('',#4313); ++#4316=VERTEX_POINT('',#4314); ++#4317=CARTESIAN_POINT('',(0.E0,1.5E0,7.E0)); ++#4318=CARTESIAN_POINT('',(0.E0,0.E0,7.E0)); ++#4319=VERTEX_POINT('',#4317); ++#4320=VERTEX_POINT('',#4318); ++#4321=CARTESIAN_POINT('',(-1.E0,1.5E0,8.E0)); ++#4322=CARTESIAN_POINT('',(-1.E0,0.E0,8.E0)); ++#4323=VERTEX_POINT('',#4321); ++#4324=VERTEX_POINT('',#4322); ++#4325=CARTESIAN_POINT('',(3.531373033403E0,1.5E0,8.E0)); ++#4326=CARTESIAN_POINT('',(3.531373033403E0,0.E0,8.E0)); ++#4327=VERTEX_POINT('',#4325); ++#4328=VERTEX_POINT('',#4326); ++#4329=CARTESIAN_POINT('',(2.539216291754E0,1.5E0,6.875E0)); ++#4330=CARTESIAN_POINT('',(2.539216291754E0,0.E0,6.875E0)); ++#4331=VERTEX_POINT('',#4329); ++#4332=VERTEX_POINT('',#4330); ++#4333=CARTESIAN_POINT('',(5.E0,0.E0,1.175E1)); ++#4334=CARTESIAN_POINT('',(5.E0,1.5E0,1.175E1)); ++#4335=VERTEX_POINT('',#4333); ++#4336=VERTEX_POINT('',#4334); ++#4337=CARTESIAN_POINT('',(4.5E0,0.E0,1.225E1)); ++#4338=CARTESIAN_POINT('',(4.5E0,1.5E0,1.225E1)); ++#4339=VERTEX_POINT('',#4337); ++#4340=VERTEX_POINT('',#4338); ++#4341=CARTESIAN_POINT('',(-1.5E0,0.E0,1.225E1)); ++#4342=CARTESIAN_POINT('',(-1.5E0,1.5E0,1.225E1)); ++#4343=VERTEX_POINT('',#4341); ++#4344=VERTEX_POINT('',#4342); ++#4345=CARTESIAN_POINT('',(-2.E0,0.E0,1.175E1)); ++#4346=CARTESIAN_POINT('',(-2.E0,1.5E0,1.175E1)); ++#4347=VERTEX_POINT('',#4345); ++#4348=VERTEX_POINT('',#4346); ++#4349=CARTESIAN_POINT('',(4.095E0,1.1125E1,9.E0)); ++#4350=CARTESIAN_POINT('',(3.905E0,1.1125E1,9.E0)); ++#4351=VERTEX_POINT('',#4349); ++#4352=VERTEX_POINT('',#4350); ++#4353=CARTESIAN_POINT('',(4.095E0,1.15E1,9.E0)); ++#4354=CARTESIAN_POINT('',(3.905E0,1.15E1,9.E0)); ++#4355=VERTEX_POINT('',#4353); ++#4356=VERTEX_POINT('',#4354); ++#4357=CARTESIAN_POINT('',(3.929917478528E0,1.125E1,9.132582521472E0)); ++#4358=CARTESIAN_POINT('',(3.804917478528E0,1.125E1,9.132582521472E0)); ++#4359=VERTEX_POINT('',#4357); ++#4360=VERTEX_POINT('',#4358); ++#4361=CARTESIAN_POINT('',(3.929917478528E0,1.15E1,9.132582521472E0)); ++#4362=CARTESIAN_POINT('',(3.804917478528E0,1.15E1,9.132582521472E0)); ++#4363=VERTEX_POINT('',#4361); ++#4364=VERTEX_POINT('',#4362); ++#4365=CARTESIAN_POINT('',(6.45E0,1.192264973081E0,2.975E1)); ++#4366=CARTESIAN_POINT('',(6.55E0,1.25E0,2.975E1)); ++#4367=VERTEX_POINT('',#4365); ++#4368=VERTEX_POINT('',#4366); ++#4369=CARTESIAN_POINT('',(6.35E0,1.25E0,2.975E1)); ++#4370=VERTEX_POINT('',#4369); ++#4371=CARTESIAN_POINT('',(6.35E0,1.5E0,2.975E1)); ++#4372=CARTESIAN_POINT('',(6.55E0,1.5E0,2.975E1)); ++#4373=VERTEX_POINT('',#4371); ++#4374=VERTEX_POINT('',#4372); ++#4375=CARTESIAN_POINT('',(7.45E0,1.192264973081E0,2.975E1)); ++#4376=CARTESIAN_POINT('',(7.55E0,1.25E0,2.975E1)); ++#4377=VERTEX_POINT('',#4375); ++#4378=VERTEX_POINT('',#4376); ++#4379=CARTESIAN_POINT('',(7.35E0,1.25E0,2.975E1)); ++#4380=VERTEX_POINT('',#4379); ++#4381=CARTESIAN_POINT('',(7.35E0,1.5E0,2.975E1)); ++#4382=CARTESIAN_POINT('',(7.55E0,1.5E0,2.975E1)); ++#4383=VERTEX_POINT('',#4381); ++#4384=VERTEX_POINT('',#4382); ++#4385=CARTESIAN_POINT('',(2.1E1,1.15E1,8.E0)); ++#4386=CARTESIAN_POINT('',(1.9E1,1.15E1,8.E0)); ++#4387=VERTEX_POINT('',#4385); ++#4388=VERTEX_POINT('',#4386); ++#4389=CARTESIAN_POINT('',(2.6E1,2.5E0,8.E0)); ++#4390=VERTEX_POINT('',#4389); ++#4391=CARTESIAN_POINT('',(1.9E1,1.15E1,1.E1)); ++#4392=CARTESIAN_POINT('',(2.1E1,1.15E1,1.E1)); ++#4393=VERTEX_POINT('',#4391); ++#4394=VERTEX_POINT('',#4392); ++#4395=CARTESIAN_POINT('',(2.6E1,2.5E0,1.E1)); ++#4396=VERTEX_POINT('',#4395); ++#4397=CARTESIAN_POINT('',(2.6E1,1.5E0,1.E1)); ++#4398=VERTEX_POINT('',#4397); ++#4399=CARTESIAN_POINT('',(2.6E1,0.E0,8.E0)); ++#4400=VERTEX_POINT('',#4399); ++#4401=CARTESIAN_POINT('',(2.4E1,1.5E0,1.325E1)); ++#4402=CARTESIAN_POINT('',(2.4E1,0.E0,1.325E1)); ++#4403=VERTEX_POINT('',#4401); ++#4404=VERTEX_POINT('',#4402); ++#4405=CARTESIAN_POINT('',(2.5E1,1.5E0,1.225E1)); ++#4406=CARTESIAN_POINT('',(2.5E1,0.E0,1.225E1)); ++#4407=VERTEX_POINT('',#4405); ++#4408=VERTEX_POINT('',#4406); ++#4409=CARTESIAN_POINT('',(2.15E1,0.E0,1.325E1)); ++#4410=CARTESIAN_POINT('',(2.15E1,1.5E0,1.325E1)); ++#4411=VERTEX_POINT('',#4409); ++#4412=VERTEX_POINT('',#4410); ++#4413=CARTESIAN_POINT('',(2.05E1,0.E0,1.225E1)); ++#4414=CARTESIAN_POINT('',(2.05E1,1.5E0,1.225E1)); ++#4415=VERTEX_POINT('',#4413); ++#4416=VERTEX_POINT('',#4414); ++#4417=CARTESIAN_POINT('',(2.4E1,0.E0,7.E0)); ++#4418=CARTESIAN_POINT('',(2.4E1,1.5E0,7.E0)); ++#4419=VERTEX_POINT('',#4417); ++#4420=VERTEX_POINT('',#4418); ++#4421=CARTESIAN_POINT('',(2.5E1,0.E0,8.E0)); ++#4422=CARTESIAN_POINT('',(2.5E1,1.5E0,8.E0)); ++#4423=VERTEX_POINT('',#4421); ++#4424=VERTEX_POINT('',#4422); ++#4425=CARTESIAN_POINT('',(2.046862696660E1,0.E0,8.E0)); ++#4426=CARTESIAN_POINT('',(2.046862696660E1,1.5E0,8.E0)); ++#4427=VERTEX_POINT('',#4425); ++#4428=VERTEX_POINT('',#4426); ++#4429=CARTESIAN_POINT('',(2.146078370825E1,0.E0,6.875E0)); ++#4430=CARTESIAN_POINT('',(2.146078370825E1,1.5E0,6.875E0)); ++#4431=VERTEX_POINT('',#4429); ++#4432=VERTEX_POINT('',#4430); ++#4433=CARTESIAN_POINT('',(1.9E1,1.5E0,1.175E1)); ++#4434=CARTESIAN_POINT('',(1.9E1,0.E0,1.175E1)); ++#4435=VERTEX_POINT('',#4433); ++#4436=VERTEX_POINT('',#4434); ++#4437=CARTESIAN_POINT('',(1.95E1,1.5E0,1.225E1)); ++#4438=CARTESIAN_POINT('',(1.95E1,0.E0,1.225E1)); ++#4439=VERTEX_POINT('',#4437); ++#4440=VERTEX_POINT('',#4438); ++#4441=CARTESIAN_POINT('',(2.55E1,1.5E0,1.225E1)); ++#4442=CARTESIAN_POINT('',(2.55E1,0.E0,1.225E1)); ++#4443=VERTEX_POINT('',#4441); ++#4444=VERTEX_POINT('',#4442); ++#4445=CARTESIAN_POINT('',(2.6E1,1.5E0,1.175E1)); ++#4446=CARTESIAN_POINT('',(2.6E1,0.E0,1.175E1)); ++#4447=VERTEX_POINT('',#4445); ++#4448=VERTEX_POINT('',#4446); ++#4449=CARTESIAN_POINT('',(1.9905E1,1.1125E1,9.E0)); ++#4450=CARTESIAN_POINT('',(2.0095E1,1.1125E1,9.E0)); ++#4451=VERTEX_POINT('',#4449); ++#4452=VERTEX_POINT('',#4450); ++#4453=CARTESIAN_POINT('',(1.9905E1,1.15E1,9.E0)); ++#4454=CARTESIAN_POINT('',(2.0095E1,1.15E1,9.E0)); ++#4455=VERTEX_POINT('',#4453); ++#4456=VERTEX_POINT('',#4454); ++#4457=CARTESIAN_POINT('',(2.007008252147E1,1.125E1,9.132582521472E0)); ++#4458=CARTESIAN_POINT('',(2.019508252147E1,1.125E1,9.132582521472E0)); ++#4459=VERTEX_POINT('',#4457); ++#4460=VERTEX_POINT('',#4458); ++#4461=CARTESIAN_POINT('',(2.007008252147E1,1.15E1,9.132582521472E0)); ++#4462=CARTESIAN_POINT('',(2.019508252147E1,1.15E1,9.132582521472E0)); ++#4463=VERTEX_POINT('',#4461); ++#4464=VERTEX_POINT('',#4462); ++#4465=CARTESIAN_POINT('',(1.755E1,1.192264973081E0,2.975E1)); ++#4466=CARTESIAN_POINT('',(1.745E1,1.25E0,2.975E1)); ++#4467=VERTEX_POINT('',#4465); ++#4468=VERTEX_POINT('',#4466); ++#4469=CARTESIAN_POINT('',(1.765E1,1.25E0,2.975E1)); ++#4470=VERTEX_POINT('',#4469); ++#4471=CARTESIAN_POINT('',(1.765E1,1.5E0,2.975E1)); ++#4472=CARTESIAN_POINT('',(1.745E1,1.5E0,2.975E1)); ++#4473=VERTEX_POINT('',#4471); ++#4474=VERTEX_POINT('',#4472); ++#4475=CARTESIAN_POINT('',(1.655E1,1.192264973081E0,2.975E1)); ++#4476=CARTESIAN_POINT('',(1.645E1,1.25E0,2.975E1)); ++#4477=VERTEX_POINT('',#4475); ++#4478=VERTEX_POINT('',#4476); ++#4479=CARTESIAN_POINT('',(1.665E1,1.25E0,2.975E1)); ++#4480=VERTEX_POINT('',#4479); ++#4481=CARTESIAN_POINT('',(1.665E1,1.5E0,2.975E1)); ++#4482=CARTESIAN_POINT('',(1.645E1,1.5E0,2.975E1)); ++#4483=VERTEX_POINT('',#4481); ++#4484=VERTEX_POINT('',#4482); ++#4485=CARTESIAN_POINT('',(1.3175E0,0.E0,6.E0)); ++#4486=CARTESIAN_POINT('',(9.325E-1,0.E0,6.E0)); ++#4487=VERTEX_POINT('',#4485); ++#4488=VERTEX_POINT('',#4486); ++#4489=CARTESIAN_POINT('',(1.3825E0,1.E0,6.E0)); ++#4490=CARTESIAN_POINT('',(8.675E-1,1.E0,6.E0)); ++#4491=VERTEX_POINT('',#4489); ++#4492=VERTEX_POINT('',#4490); ++#4493=CARTESIAN_POINT('',(1.3825E0,1.5E0,6.E0)); ++#4494=CARTESIAN_POINT('',(8.675E-1,1.5E0,6.E0)); ++#4495=VERTEX_POINT('',#4493); ++#4496=VERTEX_POINT('',#4494); ++#4497=CARTESIAN_POINT('',(1.3175E0,1.E0,6.E0)); ++#4498=CARTESIAN_POINT('',(9.325E-1,1.E0,6.E0)); ++#4499=VERTEX_POINT('',#4497); ++#4500=VERTEX_POINT('',#4498); ++#4501=CARTESIAN_POINT('',(1.3175E0,0.E0,1.2E1)); ++#4502=CARTESIAN_POINT('',(9.325E-1,0.E0,1.2E1)); ++#4503=VERTEX_POINT('',#4501); ++#4504=VERTEX_POINT('',#4502); ++#4505=CARTESIAN_POINT('',(1.3175E0,0.E0,1.8E1)); ++#4506=CARTESIAN_POINT('',(9.325E-1,0.E0,1.8E1)); ++#4507=VERTEX_POINT('',#4505); ++#4508=VERTEX_POINT('',#4506); ++#4509=CARTESIAN_POINT('',(1.3175E0,0.E0,2.4E1)); ++#4510=CARTESIAN_POINT('',(9.325E-1,0.E0,2.4E1)); ++#4511=VERTEX_POINT('',#4509); ++#4512=VERTEX_POINT('',#4510); ++#4513=CARTESIAN_POINT('',(2.30675E1,0.E0,6.E0)); ++#4514=CARTESIAN_POINT('',(2.26825E1,0.E0,6.E0)); ++#4515=VERTEX_POINT('',#4513); ++#4516=VERTEX_POINT('',#4514); ++#4517=CARTESIAN_POINT('',(2.30675E1,0.E0,1.2E1)); ++#4518=CARTESIAN_POINT('',(2.26825E1,0.E0,1.2E1)); ++#4519=VERTEX_POINT('',#4517); ++#4520=VERTEX_POINT('',#4518); ++#4521=CARTESIAN_POINT('',(2.30675E1,0.E0,1.8E1)); ++#4522=CARTESIAN_POINT('',(2.26825E1,0.E0,1.8E1)); ++#4523=VERTEX_POINT('',#4521); ++#4524=VERTEX_POINT('',#4522); ++#4525=CARTESIAN_POINT('',(2.30675E1,0.E0,2.4E1)); ++#4526=CARTESIAN_POINT('',(2.26825E1,0.E0,2.4E1)); ++#4527=VERTEX_POINT('',#4525); ++#4528=VERTEX_POINT('',#4526); ++#4529=CARTESIAN_POINT('',(1.3825E0,1.E0,1.2E1)); ++#4530=CARTESIAN_POINT('',(8.675E-1,1.E0,1.2E1)); ++#4531=VERTEX_POINT('',#4529); ++#4532=VERTEX_POINT('',#4530); ++#4533=CARTESIAN_POINT('',(1.3175E0,1.E0,1.2E1)); ++#4534=CARTESIAN_POINT('',(9.325E-1,1.E0,1.2E1)); ++#4535=VERTEX_POINT('',#4533); ++#4536=VERTEX_POINT('',#4534); ++#4537=CARTESIAN_POINT('',(1.3825E0,1.E0,1.8E1)); ++#4538=CARTESIAN_POINT('',(8.675E-1,1.E0,1.8E1)); ++#4539=VERTEX_POINT('',#4537); ++#4540=VERTEX_POINT('',#4538); ++#4541=CARTESIAN_POINT('',(1.3825E0,1.5E0,1.8E1)); ++#4542=CARTESIAN_POINT('',(8.675E-1,1.5E0,1.8E1)); ++#4543=VERTEX_POINT('',#4541); ++#4544=VERTEX_POINT('',#4542); ++#4545=CARTESIAN_POINT('',(1.3175E0,1.E0,1.8E1)); ++#4546=CARTESIAN_POINT('',(9.325E-1,1.E0,1.8E1)); ++#4547=VERTEX_POINT('',#4545); ++#4548=VERTEX_POINT('',#4546); ++#4549=CARTESIAN_POINT('',(1.3825E0,1.E0,2.4E1)); ++#4550=CARTESIAN_POINT('',(8.675E-1,1.E0,2.4E1)); ++#4551=VERTEX_POINT('',#4549); ++#4552=VERTEX_POINT('',#4550); ++#4553=CARTESIAN_POINT('',(1.3825E0,1.5E0,2.4E1)); ++#4554=CARTESIAN_POINT('',(8.675E-1,1.5E0,2.4E1)); ++#4555=VERTEX_POINT('',#4553); ++#4556=VERTEX_POINT('',#4554); ++#4557=CARTESIAN_POINT('',(1.3175E0,1.E0,2.4E1)); ++#4558=CARTESIAN_POINT('',(9.325E-1,1.E0,2.4E1)); ++#4559=VERTEX_POINT('',#4557); ++#4560=VERTEX_POINT('',#4558); ++#4561=CARTESIAN_POINT('',(2.31325E1,1.E0,6.E0)); ++#4562=CARTESIAN_POINT('',(2.26175E1,1.E0,6.E0)); ++#4563=VERTEX_POINT('',#4561); ++#4564=VERTEX_POINT('',#4562); ++#4565=CARTESIAN_POINT('',(2.31325E1,1.5E0,6.E0)); ++#4566=CARTESIAN_POINT('',(2.26175E1,1.5E0,6.E0)); ++#4567=VERTEX_POINT('',#4565); ++#4568=VERTEX_POINT('',#4566); ++#4569=CARTESIAN_POINT('',(2.30675E1,1.E0,6.E0)); ++#4570=CARTESIAN_POINT('',(2.26825E1,1.E0,6.E0)); ++#4571=VERTEX_POINT('',#4569); ++#4572=VERTEX_POINT('',#4570); ++#4573=CARTESIAN_POINT('',(2.31325E1,1.E0,1.2E1)); ++#4574=CARTESIAN_POINT('',(2.26175E1,1.E0,1.2E1)); ++#4575=VERTEX_POINT('',#4573); ++#4576=VERTEX_POINT('',#4574); ++#4577=CARTESIAN_POINT('',(2.30675E1,1.E0,1.2E1)); ++#4578=CARTESIAN_POINT('',(2.26825E1,1.E0,1.2E1)); ++#4579=VERTEX_POINT('',#4577); ++#4580=VERTEX_POINT('',#4578); ++#4581=CARTESIAN_POINT('',(2.31325E1,1.E0,1.8E1)); ++#4582=CARTESIAN_POINT('',(2.26175E1,1.E0,1.8E1)); ++#4583=VERTEX_POINT('',#4581); ++#4584=VERTEX_POINT('',#4582); ++#4585=CARTESIAN_POINT('',(2.31325E1,1.5E0,1.8E1)); ++#4586=CARTESIAN_POINT('',(2.26175E1,1.5E0,1.8E1)); ++#4587=VERTEX_POINT('',#4585); ++#4588=VERTEX_POINT('',#4586); ++#4589=CARTESIAN_POINT('',(2.30675E1,1.E0,1.8E1)); ++#4590=CARTESIAN_POINT('',(2.26825E1,1.E0,1.8E1)); ++#4591=VERTEX_POINT('',#4589); ++#4592=VERTEX_POINT('',#4590); ++#4593=CARTESIAN_POINT('',(2.31325E1,1.E0,2.4E1)); ++#4594=CARTESIAN_POINT('',(2.26175E1,1.E0,2.4E1)); ++#4595=VERTEX_POINT('',#4593); ++#4596=VERTEX_POINT('',#4594); ++#4597=CARTESIAN_POINT('',(2.31325E1,1.5E0,2.4E1)); ++#4598=CARTESIAN_POINT('',(2.26175E1,1.5E0,2.4E1)); ++#4599=VERTEX_POINT('',#4597); ++#4600=VERTEX_POINT('',#4598); ++#4601=CARTESIAN_POINT('',(2.30675E1,1.E0,2.4E1)); ++#4602=CARTESIAN_POINT('',(2.26825E1,1.E0,2.4E1)); ++#4603=VERTEX_POINT('',#4601); ++#4604=VERTEX_POINT('',#4602); ++#4605=CARTESIAN_POINT('',(6.1925E0,0.E0,1.25E0)); ++#4606=CARTESIAN_POINT('',(5.8075E0,0.E0,1.25E0)); ++#4607=VERTEX_POINT('',#4605); ++#4608=VERTEX_POINT('',#4606); ++#4609=CARTESIAN_POINT('',(6.256E0,1.E0,1.25E0)); ++#4610=CARTESIAN_POINT('',(5.744E0,1.E0,1.25E0)); ++#4611=VERTEX_POINT('',#4609); ++#4612=VERTEX_POINT('',#4610); ++#4613=CARTESIAN_POINT('',(6.256E0,1.5E0,1.25E0)); ++#4614=CARTESIAN_POINT('',(5.744E0,1.5E0,1.25E0)); ++#4615=VERTEX_POINT('',#4613); ++#4616=VERTEX_POINT('',#4614); ++#4617=CARTESIAN_POINT('',(6.1925E0,1.E0,1.25E0)); ++#4618=CARTESIAN_POINT('',(5.8075E0,1.E0,1.25E0)); ++#4619=VERTEX_POINT('',#4617); ++#4620=VERTEX_POINT('',#4618); ++#4621=CARTESIAN_POINT('',(1.21925E1,0.E0,1.25E0)); ++#4622=CARTESIAN_POINT('',(1.18075E1,0.E0,1.25E0)); ++#4623=VERTEX_POINT('',#4621); ++#4624=VERTEX_POINT('',#4622); ++#4625=CARTESIAN_POINT('',(6.1925E0,0.E0,3.075E1)); ++#4626=CARTESIAN_POINT('',(5.8075E0,0.E0,3.075E1)); ++#4627=VERTEX_POINT('',#4625); ++#4628=VERTEX_POINT('',#4626); ++#4629=CARTESIAN_POINT('',(1.21925E1,0.E0,3.075E1)); ++#4630=CARTESIAN_POINT('',(1.18075E1,0.E0,3.075E1)); ++#4631=VERTEX_POINT('',#4629); ++#4632=VERTEX_POINT('',#4630); ++#4633=CARTESIAN_POINT('',(1.81925E1,0.E0,1.25E0)); ++#4634=CARTESIAN_POINT('',(1.78075E1,0.E0,1.25E0)); ++#4635=VERTEX_POINT('',#4633); ++#4636=VERTEX_POINT('',#4634); ++#4637=CARTESIAN_POINT('',(1.81925E1,0.E0,3.075E1)); ++#4638=CARTESIAN_POINT('',(1.78075E1,0.E0,3.075E1)); ++#4639=VERTEX_POINT('',#4637); ++#4640=VERTEX_POINT('',#4638); ++#4641=CARTESIAN_POINT('',(1.2256E1,1.E0,1.25E0)); ++#4642=CARTESIAN_POINT('',(1.1744E1,1.E0,1.25E0)); ++#4643=VERTEX_POINT('',#4641); ++#4644=VERTEX_POINT('',#4642); ++#4645=CARTESIAN_POINT('',(1.2256E1,1.5E0,1.25E0)); ++#4646=CARTESIAN_POINT('',(1.1744E1,1.5E0,1.25E0)); ++#4647=VERTEX_POINT('',#4645); ++#4648=VERTEX_POINT('',#4646); ++#4649=CARTESIAN_POINT('',(1.21925E1,1.E0,1.25E0)); ++#4650=CARTESIAN_POINT('',(1.18075E1,1.E0,1.25E0)); ++#4651=VERTEX_POINT('',#4649); ++#4652=VERTEX_POINT('',#4650); ++#4653=CARTESIAN_POINT('',(1.8256E1,1.E0,1.25E0)); ++#4654=CARTESIAN_POINT('',(1.7744E1,1.E0,1.25E0)); ++#4655=VERTEX_POINT('',#4653); ++#4656=VERTEX_POINT('',#4654); ++#4657=CARTESIAN_POINT('',(1.8256E1,1.5E0,1.25E0)); ++#4658=CARTESIAN_POINT('',(1.7744E1,1.5E0,1.25E0)); ++#4659=VERTEX_POINT('',#4657); ++#4660=VERTEX_POINT('',#4658); ++#4661=CARTESIAN_POINT('',(1.81925E1,1.E0,1.25E0)); ++#4662=CARTESIAN_POINT('',(1.78075E1,1.E0,1.25E0)); ++#4663=VERTEX_POINT('',#4661); ++#4664=VERTEX_POINT('',#4662); ++#4665=CARTESIAN_POINT('',(6.256E0,1.E0,3.075E1)); ++#4666=CARTESIAN_POINT('',(5.744E0,1.E0,3.075E1)); ++#4667=VERTEX_POINT('',#4665); ++#4668=VERTEX_POINT('',#4666); ++#4669=CARTESIAN_POINT('',(6.256E0,1.5E0,3.075E1)); ++#4670=CARTESIAN_POINT('',(5.744E0,1.5E0,3.075E1)); ++#4671=VERTEX_POINT('',#4669); ++#4672=VERTEX_POINT('',#4670); ++#4673=CARTESIAN_POINT('',(6.1925E0,1.E0,3.075E1)); ++#4674=CARTESIAN_POINT('',(5.8075E0,1.E0,3.075E1)); ++#4675=VERTEX_POINT('',#4673); ++#4676=VERTEX_POINT('',#4674); ++#4677=CARTESIAN_POINT('',(1.2256E1,1.E0,3.075E1)); ++#4678=CARTESIAN_POINT('',(1.1744E1,1.E0,3.075E1)); ++#4679=VERTEX_POINT('',#4677); ++#4680=VERTEX_POINT('',#4678); ++#4681=CARTESIAN_POINT('',(1.2256E1,1.5E0,3.075E1)); ++#4682=CARTESIAN_POINT('',(1.1744E1,1.5E0,3.075E1)); ++#4683=VERTEX_POINT('',#4681); ++#4684=VERTEX_POINT('',#4682); ++#4685=CARTESIAN_POINT('',(1.21925E1,1.E0,3.075E1)); ++#4686=CARTESIAN_POINT('',(1.18075E1,1.E0,3.075E1)); ++#4687=VERTEX_POINT('',#4685); ++#4688=VERTEX_POINT('',#4686); ++#4689=CARTESIAN_POINT('',(1.8256E1,1.E0,3.075E1)); ++#4690=CARTESIAN_POINT('',(1.7744E1,1.E0,3.075E1)); ++#4691=VERTEX_POINT('',#4689); ++#4692=VERTEX_POINT('',#4690); ++#4693=CARTESIAN_POINT('',(1.8256E1,1.5E0,3.075E1)); ++#4694=CARTESIAN_POINT('',(1.7744E1,1.5E0,3.075E1)); ++#4695=VERTEX_POINT('',#4693); ++#4696=VERTEX_POINT('',#4694); ++#4697=CARTESIAN_POINT('',(1.81925E1,1.E0,3.075E1)); ++#4698=CARTESIAN_POINT('',(1.78075E1,1.E0,3.075E1)); ++#4699=VERTEX_POINT('',#4697); ++#4700=VERTEX_POINT('',#4698); ++#4701=CARTESIAN_POINT('',(4.4125E0,1.05E1,8.E0)); ++#4702=CARTESIAN_POINT('',(4.0875E0,1.05E1,8.E0)); ++#4703=VERTEX_POINT('',#4701); ++#4704=VERTEX_POINT('',#4702); ++#4705=CARTESIAN_POINT('',(4.4125E0,1.05E1,1.E1)); ++#4706=CARTESIAN_POINT('',(4.0875E0,1.05E1,1.E1)); ++#4707=VERTEX_POINT('',#4705); ++#4708=VERTEX_POINT('',#4706); ++#4709=CARTESIAN_POINT('',(4.345E0,1.09375E1,8.25E0)); ++#4710=CARTESIAN_POINT('',(4.155E0,1.09375E1,8.25E0)); ++#4711=VERTEX_POINT('',#4709); ++#4712=VERTEX_POINT('',#4710); ++#4713=CARTESIAN_POINT('',(4.345E0,1.09375E1,8.E0)); ++#4714=CARTESIAN_POINT('',(4.155E0,1.09375E1,8.E0)); ++#4715=VERTEX_POINT('',#4713); ++#4716=VERTEX_POINT('',#4714); ++#4717=CARTESIAN_POINT('',(3.9075E0,1.05E1,8.25E0)); ++#4718=CARTESIAN_POINT('',(3.7175E0,1.05E1,8.25E0)); ++#4719=VERTEX_POINT('',#4717); ++#4720=VERTEX_POINT('',#4718); ++#4721=CARTESIAN_POINT('',(3.9075E0,1.05E1,8.E0)); ++#4722=CARTESIAN_POINT('',(3.7175E0,1.05E1,8.E0)); ++#4723=VERTEX_POINT('',#4721); ++#4724=VERTEX_POINT('',#4722); ++#4725=CARTESIAN_POINT('',(4.345E0,1.00625E1,8.25E0)); ++#4726=CARTESIAN_POINT('',(4.155E0,1.00625E1,8.25E0)); ++#4727=VERTEX_POINT('',#4725); ++#4728=VERTEX_POINT('',#4726); ++#4729=CARTESIAN_POINT('',(4.345E0,1.00625E1,8.E0)); ++#4730=CARTESIAN_POINT('',(4.155E0,1.00625E1,8.E0)); ++#4731=VERTEX_POINT('',#4729); ++#4732=VERTEX_POINT('',#4730); ++#4733=CARTESIAN_POINT('',(1.95875E1,1.05E1,8.E0)); ++#4734=CARTESIAN_POINT('',(1.99125E1,1.05E1,8.E0)); ++#4735=VERTEX_POINT('',#4733); ++#4736=VERTEX_POINT('',#4734); ++#4737=CARTESIAN_POINT('',(1.95875E1,1.05E1,1.E1)); ++#4738=CARTESIAN_POINT('',(1.99125E1,1.05E1,1.E1)); ++#4739=VERTEX_POINT('',#4737); ++#4740=VERTEX_POINT('',#4738); ++#4741=CARTESIAN_POINT('',(1.9655E1,1.09375E1,8.25E0)); ++#4742=CARTESIAN_POINT('',(1.9845E1,1.09375E1,8.25E0)); ++#4743=VERTEX_POINT('',#4741); ++#4744=VERTEX_POINT('',#4742); ++#4745=CARTESIAN_POINT('',(1.9655E1,1.09375E1,8.E0)); ++#4746=CARTESIAN_POINT('',(1.9845E1,1.09375E1,8.E0)); ++#4747=VERTEX_POINT('',#4745); ++#4748=VERTEX_POINT('',#4746); ++#4749=CARTESIAN_POINT('',(2.00925E1,1.05E1,8.25E0)); ++#4750=CARTESIAN_POINT('',(2.02825E1,1.05E1,8.25E0)); ++#4751=VERTEX_POINT('',#4749); ++#4752=VERTEX_POINT('',#4750); ++#4753=CARTESIAN_POINT('',(2.00925E1,1.05E1,8.E0)); ++#4754=CARTESIAN_POINT('',(2.02825E1,1.05E1,8.E0)); ++#4755=VERTEX_POINT('',#4753); ++#4756=VERTEX_POINT('',#4754); ++#4757=CARTESIAN_POINT('',(1.9655E1,1.00625E1,8.25E0)); ++#4758=CARTESIAN_POINT('',(1.9845E1,1.00625E1,8.25E0)); ++#4759=VERTEX_POINT('',#4757); ++#4760=VERTEX_POINT('',#4758); ++#4761=CARTESIAN_POINT('',(1.9655E1,1.00625E1,8.E0)); ++#4762=CARTESIAN_POINT('',(1.9845E1,1.00625E1,8.E0)); ++#4763=VERTEX_POINT('',#4761); ++#4764=VERTEX_POINT('',#4762); ++#4765=CARTESIAN_POINT('',(5.E0,1.5E0,8.E0)); ++#4766=CARTESIAN_POINT('',(1.9E1,1.5E0,8.E0)); ++#4767=VERTEX_POINT('',#4765); ++#4768=VERTEX_POINT('',#4766); ++#4769=CARTESIAN_POINT('',(5.E0,1.5E0,1.1E1)); ++#4770=CARTESIAN_POINT('',(5.E0,0.E0,1.1E1)); ++#4771=VERTEX_POINT('',#4769); ++#4772=VERTEX_POINT('',#4770); ++#4773=CARTESIAN_POINT('',(6.E0,1.5E0,1.E1)); ++#4774=CARTESIAN_POINT('',(6.E0,0.E0,1.E1)); ++#4775=VERTEX_POINT('',#4773); ++#4776=VERTEX_POINT('',#4774); ++#4777=CARTESIAN_POINT('',(1.9E1,0.E0,1.1E1)); ++#4778=CARTESIAN_POINT('',(1.9E1,1.5E0,1.1E1)); ++#4779=VERTEX_POINT('',#4777); ++#4780=VERTEX_POINT('',#4778); ++#4781=CARTESIAN_POINT('',(1.8E1,0.E0,1.E1)); ++#4782=CARTESIAN_POINT('',(1.8E1,1.5E0,1.E1)); ++#4783=VERTEX_POINT('',#4781); ++#4784=VERTEX_POINT('',#4782); ++#4785=CARTESIAN_POINT('',(5.E0,1.5E0,1.E1)); ++#4786=VERTEX_POINT('',#4785); ++#4787=CARTESIAN_POINT('',(1.9E1,1.5E0,1.E1)); ++#4788=VERTEX_POINT('',#4787); ++#4789=CARTESIAN_POINT('',(2.5E0,1.5E0,2.19375E1)); ++#4790=CARTESIAN_POINT('',(2.5E0,0.E0,2.19375E1)); ++#4791=VERTEX_POINT('',#4789); ++#4792=VERTEX_POINT('',#4790); ++#4793=CARTESIAN_POINT('',(5.5E0,1.5E0,1.89375E1)); ++#4794=CARTESIAN_POINT('',(5.5E0,0.E0,1.89375E1)); ++#4795=VERTEX_POINT('',#4793); ++#4796=VERTEX_POINT('',#4794); ++#4797=CARTESIAN_POINT('',(2.15E1,0.E0,2.19375E1)); ++#4798=CARTESIAN_POINT('',(2.15E1,1.5E0,2.19375E1)); ++#4799=VERTEX_POINT('',#4797); ++#4800=VERTEX_POINT('',#4798); ++#4801=CARTESIAN_POINT('',(1.85E1,0.E0,1.89375E1)); ++#4802=CARTESIAN_POINT('',(1.85E1,1.5E0,1.89375E1)); ++#4803=VERTEX_POINT('',#4801); ++#4804=VERTEX_POINT('',#4802); ++#4805=CARTESIAN_POINT('',(2.15E1,1.5E0,1.40625E1)); ++#4806=CARTESIAN_POINT('',(2.15E1,0.E0,1.40625E1)); ++#4807=VERTEX_POINT('',#4805); ++#4808=VERTEX_POINT('',#4806); ++#4809=CARTESIAN_POINT('',(1.85E1,1.5E0,1.70625E1)); ++#4810=CARTESIAN_POINT('',(1.85E1,0.E0,1.70625E1)); ++#4811=VERTEX_POINT('',#4809); ++#4812=VERTEX_POINT('',#4810); ++#4813=CARTESIAN_POINT('',(2.5E0,0.E0,1.40625E1)); ++#4814=CARTESIAN_POINT('',(2.5E0,1.5E0,1.40625E1)); ++#4815=VERTEX_POINT('',#4813); ++#4816=VERTEX_POINT('',#4814); ++#4817=CARTESIAN_POINT('',(5.5E0,0.E0,1.70625E1)); ++#4818=CARTESIAN_POINT('',(5.5E0,1.5E0,1.70625E1)); ++#4819=VERTEX_POINT('',#4817); ++#4820=VERTEX_POINT('',#4818); ++#4821=CARTESIAN_POINT('',(6.1925E0,0.E0,9.E0)); ++#4822=CARTESIAN_POINT('',(5.8075E0,0.E0,9.E0)); ++#4823=VERTEX_POINT('',#4821); ++#4824=VERTEX_POINT('',#4822); ++#4825=CARTESIAN_POINT('',(6.2575E0,1.E0,9.E0)); ++#4826=CARTESIAN_POINT('',(5.7425E0,1.E0,9.E0)); ++#4827=VERTEX_POINT('',#4825); ++#4828=VERTEX_POINT('',#4826); ++#4829=CARTESIAN_POINT('',(6.2575E0,1.5E0,9.E0)); ++#4830=CARTESIAN_POINT('',(5.7425E0,1.5E0,9.E0)); ++#4831=VERTEX_POINT('',#4829); ++#4832=VERTEX_POINT('',#4830); ++#4833=CARTESIAN_POINT('',(6.1925E0,1.E0,9.E0)); ++#4834=CARTESIAN_POINT('',(5.8075E0,1.E0,9.E0)); ++#4835=VERTEX_POINT('',#4833); ++#4836=VERTEX_POINT('',#4834); ++#4837=CARTESIAN_POINT('',(1.21925E1,0.E0,9.E0)); ++#4838=CARTESIAN_POINT('',(1.18075E1,0.E0,9.E0)); ++#4839=VERTEX_POINT('',#4837); ++#4840=VERTEX_POINT('',#4838); ++#4841=CARTESIAN_POINT('',(1.81925E1,0.E0,9.E0)); ++#4842=CARTESIAN_POINT('',(1.78075E1,0.E0,9.E0)); ++#4843=VERTEX_POINT('',#4841); ++#4844=VERTEX_POINT('',#4842); ++#4845=CARTESIAN_POINT('',(6.1925E0,0.E0,1.8E1)); ++#4846=CARTESIAN_POINT('',(5.8075E0,0.E0,1.8E1)); ++#4847=VERTEX_POINT('',#4845); ++#4848=VERTEX_POINT('',#4846); ++#4849=CARTESIAN_POINT('',(1.21925E1,0.E0,1.8E1)); ++#4850=CARTESIAN_POINT('',(1.18075E1,0.E0,1.8E1)); ++#4851=VERTEX_POINT('',#4849); ++#4852=VERTEX_POINT('',#4850); ++#4853=CARTESIAN_POINT('',(1.81925E1,0.E0,1.8E1)); ++#4854=CARTESIAN_POINT('',(1.78075E1,0.E0,1.8E1)); ++#4855=VERTEX_POINT('',#4853); ++#4856=VERTEX_POINT('',#4854); ++#4857=CARTESIAN_POINT('',(1.22575E1,1.E0,9.E0)); ++#4858=CARTESIAN_POINT('',(1.17425E1,1.E0,9.E0)); ++#4859=VERTEX_POINT('',#4857); ++#4860=VERTEX_POINT('',#4858); ++#4861=CARTESIAN_POINT('',(1.22575E1,1.5E0,9.E0)); ++#4862=CARTESIAN_POINT('',(1.17425E1,1.5E0,9.E0)); ++#4863=VERTEX_POINT('',#4861); ++#4864=VERTEX_POINT('',#4862); ++#4865=CARTESIAN_POINT('',(1.21925E1,1.E0,9.E0)); ++#4866=CARTESIAN_POINT('',(1.18075E1,1.E0,9.E0)); ++#4867=VERTEX_POINT('',#4865); ++#4868=VERTEX_POINT('',#4866); ++#4869=CARTESIAN_POINT('',(1.82575E1,1.E0,9.E0)); ++#4870=CARTESIAN_POINT('',(1.77425E1,1.E0,9.E0)); ++#4871=VERTEX_POINT('',#4869); ++#4872=VERTEX_POINT('',#4870); ++#4873=CARTESIAN_POINT('',(1.82575E1,1.5E0,9.E0)); ++#4874=CARTESIAN_POINT('',(1.77425E1,1.5E0,9.E0)); ++#4875=VERTEX_POINT('',#4873); ++#4876=VERTEX_POINT('',#4874); ++#4877=CARTESIAN_POINT('',(1.81925E1,1.E0,9.E0)); ++#4878=CARTESIAN_POINT('',(1.78075E1,1.E0,9.E0)); ++#4879=VERTEX_POINT('',#4877); ++#4880=VERTEX_POINT('',#4878); ++#4881=CARTESIAN_POINT('',(6.2575E0,1.E0,1.8E1)); ++#4882=CARTESIAN_POINT('',(5.7425E0,1.E0,1.8E1)); ++#4883=VERTEX_POINT('',#4881); ++#4884=VERTEX_POINT('',#4882); ++#4885=CARTESIAN_POINT('',(6.2575E0,1.5E0,1.8E1)); ++#4886=CARTESIAN_POINT('',(5.7425E0,1.5E0,1.8E1)); ++#4887=VERTEX_POINT('',#4885); ++#4888=VERTEX_POINT('',#4886); ++#4889=CARTESIAN_POINT('',(6.1925E0,1.E0,1.8E1)); ++#4890=CARTESIAN_POINT('',(5.8075E0,1.E0,1.8E1)); ++#4891=VERTEX_POINT('',#4889); ++#4892=VERTEX_POINT('',#4890); ++#4893=CARTESIAN_POINT('',(1.22575E1,1.E0,1.8E1)); ++#4894=CARTESIAN_POINT('',(1.17425E1,1.E0,1.8E1)); ++#4895=VERTEX_POINT('',#4893); ++#4896=VERTEX_POINT('',#4894); ++#4897=CARTESIAN_POINT('',(1.22575E1,1.5E0,1.8E1)); ++#4898=CARTESIAN_POINT('',(1.17425E1,1.5E0,1.8E1)); ++#4899=VERTEX_POINT('',#4897); ++#4900=VERTEX_POINT('',#4898); ++#4901=CARTESIAN_POINT('',(1.21925E1,1.E0,1.8E1)); ++#4902=CARTESIAN_POINT('',(1.18075E1,1.E0,1.8E1)); ++#4903=VERTEX_POINT('',#4901); ++#4904=VERTEX_POINT('',#4902); ++#4905=CARTESIAN_POINT('',(1.82575E1,1.E0,1.8E1)); ++#4906=CARTESIAN_POINT('',(1.77425E1,1.E0,1.8E1)); ++#4907=VERTEX_POINT('',#4905); ++#4908=VERTEX_POINT('',#4906); ++#4909=CARTESIAN_POINT('',(1.82575E1,1.5E0,1.8E1)); ++#4910=CARTESIAN_POINT('',(1.77425E1,1.5E0,1.8E1)); ++#4911=VERTEX_POINT('',#4909); ++#4912=VERTEX_POINT('',#4910); ++#4913=CARTESIAN_POINT('',(1.81925E1,1.E0,1.8E1)); ++#4914=CARTESIAN_POINT('',(1.78075E1,1.E0,1.8E1)); ++#4915=VERTEX_POINT('',#4913); ++#4916=VERTEX_POINT('',#4914); ++#4917=CARTESIAN_POINT('',(2.5E-1,1.5E0,1.288675134595E1)); ++#4918=CARTESIAN_POINT('',(2.5E-1,1.5E0,1.E1)); ++#4919=VERTEX_POINT('',#4917); ++#4920=VERTEX_POINT('',#4918); ++#4921=CARTESIAN_POINT('',(2.E0,1.5E0,1.288675134595E1)); ++#4922=CARTESIAN_POINT('',(2.E0,1.5E0,1.E1)); ++#4923=VERTEX_POINT('',#4921); ++#4924=VERTEX_POINT('',#4922); ++#4925=CARTESIAN_POINT('',(2.5E-1,6.5E0,1.E1)); ++#4926=VERTEX_POINT('',#4925); ++#4927=CARTESIAN_POINT('',(2.E0,6.5E0,1.E1)); ++#4928=VERTEX_POINT('',#4927); ++#4929=VERTEX_POINT('',#1837); ++#4930=VERTEX_POINT('',#1845); ++#4931=CARTESIAN_POINT('',(2.375E1,1.5E0,1.288675134595E1)); ++#4932=CARTESIAN_POINT('',(2.375E1,1.5E0,1.E1)); ++#4933=VERTEX_POINT('',#4931); ++#4934=VERTEX_POINT('',#4932); ++#4935=CARTESIAN_POINT('',(2.2E1,1.5E0,1.288675134595E1)); ++#4936=CARTESIAN_POINT('',(2.2E1,1.5E0,1.E1)); ++#4937=VERTEX_POINT('',#4935); ++#4938=VERTEX_POINT('',#4936); ++#4939=CARTESIAN_POINT('',(2.375E1,6.5E0,1.E1)); ++#4940=VERTEX_POINT('',#4939); ++#4941=CARTESIAN_POINT('',(2.2E1,6.5E0,1.E1)); ++#4942=VERTEX_POINT('',#4941); ++#4943=VERTEX_POINT('',#2873); ++#4944=VERTEX_POINT('',#2881); ++#4945=CARTESIAN_POINT('',(3.75E0,2.E0,8.E0)); ++#4946=CARTESIAN_POINT('',(3.75E0,2.E0,8.5E0)); ++#4947=VERTEX_POINT('',#4945); ++#4948=VERTEX_POINT('',#4946); ++#4949=CARTESIAN_POINT('',(4.5E0,2.75E0,8.E0)); ++#4950=CARTESIAN_POINT('',(4.5E0,2.75E0,8.5E0)); ++#4951=VERTEX_POINT('',#4949); ++#4952=VERTEX_POINT('',#4950); ++#4953=CARTESIAN_POINT('',(-8.007907113711E-1,3.114232198384E0,8.E0)); ++#4954=CARTESIAN_POINT('',(-8.007907113711E-1,3.114232198384E0,8.5E0)); ++#4955=VERTEX_POINT('',#4953); ++#4956=VERTEX_POINT('',#4954); ++#4957=CARTESIAN_POINT('',(-1.451727542799E-1,2.E0,8.E0)); ++#4958=CARTESIAN_POINT('',(-1.451727542799E-1,2.E0,8.5E0)); ++#4959=VERTEX_POINT('',#4957); ++#4960=VERTEX_POINT('',#4958); ++#4961=CARTESIAN_POINT('',(3.188160579053E0,9.5E0,8.E0)); ++#4962=CARTESIAN_POINT('',(3.188160579053E0,9.5E0,8.5E0)); ++#4963=VERTEX_POINT('',#4961); ++#4964=VERTEX_POINT('',#4962); ++#4965=CARTESIAN_POINT('',(2.532542621962E0,9.114232198384E0,8.E0)); ++#4966=CARTESIAN_POINT('',(2.532542621962E0,9.114232198384E0,8.5E0)); ++#4967=VERTEX_POINT('',#4965); ++#4968=VERTEX_POINT('',#4966); ++#4969=CARTESIAN_POINT('',(4.5E0,8.75E0,8.E0)); ++#4970=CARTESIAN_POINT('',(4.5E0,8.75E0,8.5E0)); ++#4971=VERTEX_POINT('',#4969); ++#4972=VERTEX_POINT('',#4970); ++#4973=CARTESIAN_POINT('',(3.75E0,9.5E0,8.E0)); ++#4974=CARTESIAN_POINT('',(3.75E0,9.5E0,8.5E0)); ++#4975=VERTEX_POINT('',#4973); ++#4976=VERTEX_POINT('',#4974); ++#4977=CARTESIAN_POINT('',(2.85E0,2.E0,1.E1)); ++#4978=CARTESIAN_POINT('',(2.85E0,2.E0,9.5E0)); ++#4979=VERTEX_POINT('',#4977); ++#4980=VERTEX_POINT('',#4978); ++#4981=CARTESIAN_POINT('',(2.5E0,2.35E0,1.E1)); ++#4982=CARTESIAN_POINT('',(2.5E0,2.35E0,9.5E0)); ++#4983=VERTEX_POINT('',#4981); ++#4984=VERTEX_POINT('',#4982); ++#4985=CARTESIAN_POINT('',(4.5E0,2.35E0,1.E1)); ++#4986=CARTESIAN_POINT('',(4.5E0,2.35E0,9.5E0)); ++#4987=VERTEX_POINT('',#4985); ++#4988=VERTEX_POINT('',#4986); ++#4989=CARTESIAN_POINT('',(4.15E0,2.E0,1.E1)); ++#4990=CARTESIAN_POINT('',(4.15E0,2.E0,9.5E0)); ++#4991=VERTEX_POINT('',#4989); ++#4992=VERTEX_POINT('',#4990); ++#4993=CARTESIAN_POINT('',(1.952799239454E0,7.E0,1.E1)); ++#4994=CARTESIAN_POINT('',(1.952799239454E0,7.E0,9.5E0)); ++#4995=VERTEX_POINT('',#4993); ++#4996=VERTEX_POINT('',#4994); ++#4997=CARTESIAN_POINT('',(1.646844192811E0,7.519975025913E0,1.E1)); ++#4998=CARTESIAN_POINT('',(1.646844192811E0,7.519975025913E0,9.5E0)); ++#4999=VERTEX_POINT('',#4997); ++#5000=VERTEX_POINT('',#4998); ++#5001=CARTESIAN_POINT('',(2.646844192811E0,9.319975025913E0,1.E1)); ++#5002=CARTESIAN_POINT('',(2.646844192811E0,9.319975025913E0,9.5E0)); ++#5003=VERTEX_POINT('',#5001); ++#5004=VERTEX_POINT('',#5002); ++#5005=CARTESIAN_POINT('',(2.952799239454E0,9.5E0,1.E1)); ++#5006=CARTESIAN_POINT('',(2.952799239454E0,9.5E0,9.5E0)); ++#5007=VERTEX_POINT('',#5005); ++#5008=VERTEX_POINT('',#5006); ++#5009=CARTESIAN_POINT('',(4.15E0,9.5E0,1.E1)); ++#5010=CARTESIAN_POINT('',(4.15E0,9.5E0,9.5E0)); ++#5011=VERTEX_POINT('',#5009); ++#5012=VERTEX_POINT('',#5010); ++#5013=CARTESIAN_POINT('',(4.5E0,9.15E0,1.E1)); ++#5014=CARTESIAN_POINT('',(4.5E0,9.15E0,9.5E0)); ++#5015=VERTEX_POINT('',#5013); ++#5016=VERTEX_POINT('',#5014); ++#5017=CARTESIAN_POINT('',(2.5E0,6.65E0,9.5E0)); ++#5018=CARTESIAN_POINT('',(2.5E0,6.65E0,1.E1)); ++#5019=VERTEX_POINT('',#5017); ++#5020=VERTEX_POINT('',#5018); ++#5021=CARTESIAN_POINT('',(2.15E0,7.E0,1.E1)); ++#5022=VERTEX_POINT('',#5021); ++#5023=CARTESIAN_POINT('',(2.15E0,7.E0,9.5E0)); ++#5024=VERTEX_POINT('',#5023); ++#5025=CARTESIAN_POINT('',(2.025E1,2.E0,8.5E0)); ++#5026=CARTESIAN_POINT('',(2.025E1,2.E0,8.E0)); ++#5027=VERTEX_POINT('',#5025); ++#5028=VERTEX_POINT('',#5026); ++#5029=CARTESIAN_POINT('',(1.95E1,2.75E0,8.5E0)); ++#5030=VERTEX_POINT('',#5029); ++#5031=CARTESIAN_POINT('',(1.95E1,2.75E0,8.E0)); ++#5032=VERTEX_POINT('',#5031); ++#5033=CARTESIAN_POINT('',(2.480079071137E1,3.114232198384E0,8.5E0)); ++#5034=CARTESIAN_POINT('',(2.480079071137E1,3.114232198384E0,8.E0)); ++#5035=VERTEX_POINT('',#5033); ++#5036=VERTEX_POINT('',#5034); ++#5037=CARTESIAN_POINT('',(2.414517275428E1,2.E0,8.5E0)); ++#5038=VERTEX_POINT('',#5037); ++#5039=CARTESIAN_POINT('',(2.414517275428E1,2.E0,8.E0)); ++#5040=VERTEX_POINT('',#5039); ++#5041=CARTESIAN_POINT('',(2.081183942095E1,9.5E0,8.5E0)); ++#5042=CARTESIAN_POINT('',(2.081183942095E1,9.5E0,8.E0)); ++#5043=VERTEX_POINT('',#5041); ++#5044=VERTEX_POINT('',#5042); ++#5045=CARTESIAN_POINT('',(2.146745737804E1,9.114232198384E0,8.5E0)); ++#5046=VERTEX_POINT('',#5045); ++#5047=CARTESIAN_POINT('',(2.146745737804E1,9.114232198384E0,8.E0)); ++#5048=VERTEX_POINT('',#5047); ++#5049=CARTESIAN_POINT('',(1.95E1,8.75E0,8.5E0)); ++#5050=CARTESIAN_POINT('',(1.95E1,8.75E0,8.E0)); ++#5051=VERTEX_POINT('',#5049); ++#5052=VERTEX_POINT('',#5050); ++#5053=CARTESIAN_POINT('',(2.025E1,9.5E0,8.5E0)); ++#5054=VERTEX_POINT('',#5053); ++#5055=CARTESIAN_POINT('',(2.025E1,9.5E0,8.E0)); ++#5056=VERTEX_POINT('',#5055); ++#5057=CARTESIAN_POINT('',(2.115E1,2.E0,9.5E0)); ++#5058=CARTESIAN_POINT('',(2.115E1,2.E0,1.E1)); ++#5059=VERTEX_POINT('',#5057); ++#5060=VERTEX_POINT('',#5058); ++#5061=CARTESIAN_POINT('',(2.15E1,2.35E0,9.5E0)); ++#5062=VERTEX_POINT('',#5061); ++#5063=CARTESIAN_POINT('',(2.15E1,2.35E0,1.E1)); ++#5064=VERTEX_POINT('',#5063); ++#5065=CARTESIAN_POINT('',(1.95E1,2.35E0,9.5E0)); ++#5066=CARTESIAN_POINT('',(1.95E1,2.35E0,1.E1)); ++#5067=VERTEX_POINT('',#5065); ++#5068=VERTEX_POINT('',#5066); ++#5069=CARTESIAN_POINT('',(1.985E1,2.E0,9.5E0)); ++#5070=VERTEX_POINT('',#5069); ++#5071=CARTESIAN_POINT('',(1.985E1,2.E0,1.E1)); ++#5072=VERTEX_POINT('',#5071); ++#5073=CARTESIAN_POINT('',(2.204720076055E1,7.E0,9.5E0)); ++#5074=CARTESIAN_POINT('',(2.204720076055E1,7.E0,1.E1)); ++#5075=VERTEX_POINT('',#5073); ++#5076=VERTEX_POINT('',#5074); ++#5077=CARTESIAN_POINT('',(2.235315580719E1,7.519975025913E0,9.5E0)); ++#5078=VERTEX_POINT('',#5077); ++#5079=CARTESIAN_POINT('',(2.235315580719E1,7.519975025913E0,1.E1)); ++#5080=VERTEX_POINT('',#5079); ++#5081=CARTESIAN_POINT('',(2.135315580719E1,9.319975025913E0,9.5E0)); ++#5082=CARTESIAN_POINT('',(2.135315580719E1,9.319975025913E0,1.E1)); ++#5083=VERTEX_POINT('',#5081); ++#5084=VERTEX_POINT('',#5082); ++#5085=CARTESIAN_POINT('',(2.104720076055E1,9.5E0,9.5E0)); ++#5086=VERTEX_POINT('',#5085); ++#5087=CARTESIAN_POINT('',(2.104720076055E1,9.5E0,1.E1)); ++#5088=VERTEX_POINT('',#5087); ++#5089=CARTESIAN_POINT('',(1.985E1,9.5E0,9.5E0)); ++#5090=CARTESIAN_POINT('',(1.985E1,9.5E0,1.E1)); ++#5091=VERTEX_POINT('',#5089); ++#5092=VERTEX_POINT('',#5090); ++#5093=CARTESIAN_POINT('',(1.95E1,9.15E0,9.5E0)); ++#5094=VERTEX_POINT('',#5093); ++#5095=CARTESIAN_POINT('',(1.95E1,9.15E0,1.E1)); ++#5096=VERTEX_POINT('',#5095); ++#5097=CARTESIAN_POINT('',(2.15E1,6.65E0,1.E1)); ++#5098=CARTESIAN_POINT('',(2.15E1,6.65E0,9.5E0)); ++#5099=VERTEX_POINT('',#5097); ++#5100=VERTEX_POINT('',#5098); ++#5101=CARTESIAN_POINT('',(2.185E1,7.E0,1.E1)); ++#5102=CARTESIAN_POINT('',(2.185E1,7.E0,9.5E0)); ++#5103=VERTEX_POINT('',#5101); ++#5104=VERTEX_POINT('',#5102); ++#5105=CARTESIAN_POINT('',(7.5E0,6.875E-1,6.875E-1)); ++#5106=CARTESIAN_POINT('',(1.05E1,6.875E-1,6.875E-1)); ++#5107=VERTEX_POINT('',#5105); ++#5108=VERTEX_POINT('',#5106); ++#5109=CARTESIAN_POINT('',(1.05E1,6.875E-1,1.8125E0)); ++#5110=VERTEX_POINT('',#5109); ++#5111=CARTESIAN_POINT('',(7.5E0,6.875E-1,1.8125E0)); ++#5112=VERTEX_POINT('',#5111); ++#5113=CARTESIAN_POINT('',(3.939978538987E0,6.875E-1,1.032293285145E0)); ++#5114=CARTESIAN_POINT('',(4.942849714544E0,6.875E-1,2.419779663480E0)); ++#5115=VERTEX_POINT('',#5113); ++#5116=VERTEX_POINT('',#5114); ++#5117=CARTESIAN_POINT('',(2.432015885023E0,6.875E-1,4.918683812405E0)); ++#5118=VERTEX_POINT('',#5117); ++#5119=CARTESIAN_POINT('',(7.5E0,0.E0,6.875E-1)); ++#5120=CARTESIAN_POINT('',(1.05E1,0.E0,6.875E-1)); ++#5121=VERTEX_POINT('',#5119); ++#5122=VERTEX_POINT('',#5120); ++#5123=CARTESIAN_POINT('',(1.05E1,0.E0,1.8125E0)); ++#5124=VERTEX_POINT('',#5123); ++#5125=CARTESIAN_POINT('',(7.5E0,0.E0,1.8125E0)); ++#5126=VERTEX_POINT('',#5125); ++#5127=CARTESIAN_POINT('',(3.939978538987E0,0.E0,1.032293285145E0)); ++#5128=CARTESIAN_POINT('',(4.942849714544E0,0.E0,2.419779663480E0)); ++#5129=VERTEX_POINT('',#5127); ++#5130=VERTEX_POINT('',#5128); ++#5131=CARTESIAN_POINT('',(2.432015885023E0,0.E0,4.918683812405E0)); ++#5132=VERTEX_POINT('',#5131); ++#5133=CARTESIAN_POINT('',(9.254066777019E-1,0.E0,4.046865146430E0)); ++#5134=CARTESIAN_POINT('',(9.254066777019E-1,6.875E-1,4.046865146430E0)); ++#5135=VERTEX_POINT('',#5133); ++#5136=VERTEX_POINT('',#5134); ++#5137=CARTESIAN_POINT('',(7.850270400779E-1,0.E0,4.912826677187E0)); ++#5138=CARTESIAN_POINT('',(7.850270400779E-1,6.875E-1,4.912826677187E0)); ++#5139=VERTEX_POINT('',#5137); ++#5140=VERTEX_POINT('',#5138); ++#5141=CARTESIAN_POINT('',(6.9E-1,6.875E-1,7.5E0)); ++#5142=CARTESIAN_POINT('',(1.8125E0,6.875E-1,7.5E0)); ++#5143=VERTEX_POINT('',#5141); ++#5144=VERTEX_POINT('',#5142); ++#5145=CARTESIAN_POINT('',(6.9E-1,0.E0,7.5E0)); ++#5146=CARTESIAN_POINT('',(1.8125E0,0.E0,7.5E0)); ++#5147=VERTEX_POINT('',#5145); ++#5148=VERTEX_POINT('',#5146); ++#5149=CARTESIAN_POINT('',(-1.3125E0,0.E0,1.0375E1)); ++#5150=CARTESIAN_POINT('',(-1.3125E0,6.875E-1,1.0375E1)); ++#5151=VERTEX_POINT('',#5149); ++#5152=VERTEX_POINT('',#5150); ++#5153=CARTESIAN_POINT('',(-4.375E-1,0.E0,1.125E1)); ++#5154=CARTESIAN_POINT('',(-4.375E-1,6.875E-1,1.125E1)); ++#5155=VERTEX_POINT('',#5153); ++#5156=VERTEX_POINT('',#5154); ++#5157=CARTESIAN_POINT('',(-4.375E-1,0.E0,8.69E0)); ++#5158=CARTESIAN_POINT('',(-4.375E-1,6.875E-1,8.69E0)); ++#5159=VERTEX_POINT('',#5157); ++#5160=VERTEX_POINT('',#5158); ++#5161=CARTESIAN_POINT('',(-1.3125E0,0.E0,9.565E0)); ++#5162=CARTESIAN_POINT('',(-1.3125E0,6.875E-1,9.565E0)); ++#5163=VERTEX_POINT('',#5161); ++#5164=VERTEX_POINT('',#5162); ++#5165=CARTESIAN_POINT('',(4.3125E0,0.E0,9.565E0)); ++#5166=CARTESIAN_POINT('',(4.3125E0,6.875E-1,9.565E0)); ++#5167=VERTEX_POINT('',#5165); ++#5168=VERTEX_POINT('',#5166); ++#5169=CARTESIAN_POINT('',(3.4375E0,0.E0,8.69E0)); ++#5170=CARTESIAN_POINT('',(3.4375E0,6.875E-1,8.69E0)); ++#5171=VERTEX_POINT('',#5169); ++#5172=VERTEX_POINT('',#5170); ++#5173=CARTESIAN_POINT('',(3.4375E0,0.E0,1.125E1)); ++#5174=CARTESIAN_POINT('',(3.4375E0,6.875E-1,1.125E1)); ++#5175=VERTEX_POINT('',#5173); ++#5176=VERTEX_POINT('',#5174); ++#5177=CARTESIAN_POINT('',(4.3125E0,0.E0,1.0375E1)); ++#5178=CARTESIAN_POINT('',(4.3125E0,6.875E-1,1.0375E1)); ++#5179=VERTEX_POINT('',#5177); ++#5180=VERTEX_POINT('',#5178); ++#5181=CARTESIAN_POINT('',(6.9E-1,6.875E-1,7.815E0)); ++#5182=CARTESIAN_POINT('',(6.9E-1,0.E0,7.815E0)); ++#5183=VERTEX_POINT('',#5181); ++#5184=VERTEX_POINT('',#5182); ++#5185=CARTESIAN_POINT('',(-1.85E-1,0.E0,8.69E0)); ++#5186=VERTEX_POINT('',#5185); ++#5187=CARTESIAN_POINT('',(-1.85E-1,6.875E-1,8.69E0)); ++#5188=VERTEX_POINT('',#5187); ++#5189=CARTESIAN_POINT('',(2.6875E0,6.875E-1,8.69E0)); ++#5190=CARTESIAN_POINT('',(2.6875E0,0.E0,8.69E0)); ++#5191=VERTEX_POINT('',#5189); ++#5192=VERTEX_POINT('',#5190); ++#5193=CARTESIAN_POINT('',(1.8125E0,0.E0,7.815E0)); ++#5194=VERTEX_POINT('',#5193); ++#5195=CARTESIAN_POINT('',(1.8125E0,6.875E-1,7.815E0)); ++#5196=VERTEX_POINT('',#5195); ++#5197=CARTESIAN_POINT('',(6.875E-1,6.875E-1,1.65E1)); ++#5198=CARTESIAN_POINT('',(6.875E-1,6.875E-1,1.35E1)); ++#5199=VERTEX_POINT('',#5197); ++#5200=VERTEX_POINT('',#5198); ++#5201=CARTESIAN_POINT('',(1.8125E0,6.875E-1,1.35E1)); ++#5202=VERTEX_POINT('',#5201); ++#5203=CARTESIAN_POINT('',(1.8125E0,6.875E-1,1.65E1)); ++#5204=VERTEX_POINT('',#5203); ++#5205=CARTESIAN_POINT('',(6.875E-1,0.E0,1.65E1)); ++#5206=CARTESIAN_POINT('',(6.875E-1,0.E0,1.35E1)); ++#5207=VERTEX_POINT('',#5205); ++#5208=VERTEX_POINT('',#5206); ++#5209=CARTESIAN_POINT('',(1.8125E0,0.E0,1.35E1)); ++#5210=VERTEX_POINT('',#5209); ++#5211=CARTESIAN_POINT('',(1.8125E0,0.E0,1.65E1)); ++#5212=VERTEX_POINT('',#5211); ++#5213=CARTESIAN_POINT('',(6.875E-1,6.875E-1,2.25E1)); ++#5214=CARTESIAN_POINT('',(6.875E-1,6.875E-1,1.95E1)); ++#5215=VERTEX_POINT('',#5213); ++#5216=VERTEX_POINT('',#5214); ++#5217=CARTESIAN_POINT('',(1.8125E0,6.875E-1,1.95E1)); ++#5218=VERTEX_POINT('',#5217); ++#5219=CARTESIAN_POINT('',(1.8125E0,6.875E-1,2.25E1)); ++#5220=VERTEX_POINT('',#5219); ++#5221=CARTESIAN_POINT('',(6.875E-1,0.E0,2.25E1)); ++#5222=CARTESIAN_POINT('',(6.875E-1,0.E0,1.95E1)); ++#5223=VERTEX_POINT('',#5221); ++#5224=VERTEX_POINT('',#5222); ++#5225=CARTESIAN_POINT('',(1.8125E0,0.E0,1.95E1)); ++#5226=VERTEX_POINT('',#5225); ++#5227=CARTESIAN_POINT('',(1.8125E0,0.E0,2.25E1)); ++#5228=VERTEX_POINT('',#5227); ++#5229=CARTESIAN_POINT('',(7.5E0,6.875E-1,8.5E0)); ++#5230=CARTESIAN_POINT('',(1.05E1,6.875E-1,8.5E0)); ++#5231=VERTEX_POINT('',#5229); ++#5232=VERTEX_POINT('',#5230); ++#5233=CARTESIAN_POINT('',(1.05E1,6.875E-1,9.5E0)); ++#5234=VERTEX_POINT('',#5233); ++#5235=CARTESIAN_POINT('',(7.5E0,6.875E-1,9.5E0)); ++#5236=VERTEX_POINT('',#5235); ++#5237=CARTESIAN_POINT('',(7.5E0,0.E0,8.5E0)); ++#5238=CARTESIAN_POINT('',(1.05E1,0.E0,8.5E0)); ++#5239=VERTEX_POINT('',#5237); ++#5240=VERTEX_POINT('',#5238); ++#5241=CARTESIAN_POINT('',(1.05E1,0.E0,9.5E0)); ++#5242=VERTEX_POINT('',#5241); ++#5243=CARTESIAN_POINT('',(7.5E0,0.E0,9.5E0)); ++#5244=VERTEX_POINT('',#5243); ++#5245=CARTESIAN_POINT('',(7.5E0,6.875E-1,1.75625E1)); ++#5246=CARTESIAN_POINT('',(1.05E1,6.875E-1,1.75625E1)); ++#5247=VERTEX_POINT('',#5245); ++#5248=VERTEX_POINT('',#5246); ++#5249=CARTESIAN_POINT('',(1.05E1,6.875E-1,1.84375E1)); ++#5250=VERTEX_POINT('',#5249); ++#5251=CARTESIAN_POINT('',(7.5E0,6.875E-1,1.84375E1)); ++#5252=VERTEX_POINT('',#5251); ++#5253=CARTESIAN_POINT('',(7.5E0,0.E0,1.75625E1)); ++#5254=CARTESIAN_POINT('',(1.05E1,0.E0,1.75625E1)); ++#5255=VERTEX_POINT('',#5253); ++#5256=VERTEX_POINT('',#5254); ++#5257=CARTESIAN_POINT('',(1.05E1,0.E0,1.84375E1)); ++#5258=VERTEX_POINT('',#5257); ++#5259=CARTESIAN_POINT('',(7.5E0,0.E0,1.84375E1)); ++#5260=VERTEX_POINT('',#5259); ++#5261=CARTESIAN_POINT('',(7.5E0,6.875E-1,3.13125E1)); ++#5262=CARTESIAN_POINT('',(1.05E1,6.875E-1,3.13125E1)); ++#5263=VERTEX_POINT('',#5261); ++#5264=VERTEX_POINT('',#5262); ++#5265=CARTESIAN_POINT('',(1.05E1,6.875E-1,3.01875E1)); ++#5266=VERTEX_POINT('',#5265); ++#5267=CARTESIAN_POINT('',(7.5E0,6.875E-1,3.01875E1)); ++#5268=VERTEX_POINT('',#5267); ++#5269=CARTESIAN_POINT('',(3.939978538987E0,6.875E-1,3.096770671486E1)); ++#5270=CARTESIAN_POINT('',(4.942849714544E0,6.875E-1,2.958022033652E1)); ++#5271=VERTEX_POINT('',#5269); ++#5272=VERTEX_POINT('',#5270); ++#5273=CARTESIAN_POINT('',(2.432015885023E0,6.875E-1,2.708131618759E1)); ++#5274=VERTEX_POINT('',#5273); ++#5275=CARTESIAN_POINT('',(7.5E0,0.E0,3.13125E1)); ++#5276=CARTESIAN_POINT('',(1.05E1,0.E0,3.13125E1)); ++#5277=VERTEX_POINT('',#5275); ++#5278=VERTEX_POINT('',#5276); ++#5279=CARTESIAN_POINT('',(1.05E1,0.E0,3.01875E1)); ++#5280=VERTEX_POINT('',#5279); ++#5281=CARTESIAN_POINT('',(7.5E0,0.E0,3.01875E1)); ++#5282=VERTEX_POINT('',#5281); ++#5283=CARTESIAN_POINT('',(3.939978538987E0,0.E0,3.096770671486E1)); ++#5284=CARTESIAN_POINT('',(4.942849714544E0,0.E0,2.958022033652E1)); ++#5285=VERTEX_POINT('',#5283); ++#5286=VERTEX_POINT('',#5284); ++#5287=CARTESIAN_POINT('',(2.432015885023E0,0.E0,2.708131618759E1)); ++#5288=VERTEX_POINT('',#5287); ++#5289=CARTESIAN_POINT('',(1.65E1,6.875E-1,6.875E-1)); ++#5290=CARTESIAN_POINT('',(1.35E1,6.875E-1,6.875E-1)); ++#5291=VERTEX_POINT('',#5289); ++#5292=VERTEX_POINT('',#5290); ++#5293=CARTESIAN_POINT('',(1.35E1,6.875E-1,1.8125E0)); ++#5294=VERTEX_POINT('',#5293); ++#5295=CARTESIAN_POINT('',(1.65E1,6.875E-1,1.8125E0)); ++#5296=VERTEX_POINT('',#5295); ++#5297=CARTESIAN_POINT('',(2.006002146101E1,6.875E-1,1.032293285145E0)); ++#5298=CARTESIAN_POINT('',(1.905715028546E1,6.875E-1,2.419779663480E0)); ++#5299=VERTEX_POINT('',#5297); ++#5300=VERTEX_POINT('',#5298); ++#5301=CARTESIAN_POINT('',(2.156798411498E1,6.875E-1,4.918683812405E0)); ++#5302=VERTEX_POINT('',#5301); ++#5303=CARTESIAN_POINT('',(1.65E1,0.E0,6.875E-1)); ++#5304=CARTESIAN_POINT('',(1.35E1,0.E0,6.875E-1)); ++#5305=VERTEX_POINT('',#5303); ++#5306=VERTEX_POINT('',#5304); ++#5307=CARTESIAN_POINT('',(1.35E1,0.E0,1.8125E0)); ++#5308=VERTEX_POINT('',#5307); ++#5309=CARTESIAN_POINT('',(1.65E1,0.E0,1.8125E0)); ++#5310=VERTEX_POINT('',#5309); ++#5311=CARTESIAN_POINT('',(2.006002146101E1,0.E0,1.032293285145E0)); ++#5312=CARTESIAN_POINT('',(1.905715028546E1,0.E0,2.419779663480E0)); ++#5313=VERTEX_POINT('',#5311); ++#5314=VERTEX_POINT('',#5312); ++#5315=CARTESIAN_POINT('',(2.156798411498E1,0.E0,4.918683812405E0)); ++#5316=VERTEX_POINT('',#5315); ++#5317=CARTESIAN_POINT('',(2.331E1,6.875E-1,7.5E0)); ++#5318=CARTESIAN_POINT('',(2.21875E1,6.875E-1,7.5E0)); ++#5319=VERTEX_POINT('',#5317); ++#5320=VERTEX_POINT('',#5318); ++#5321=CARTESIAN_POINT('',(2.331E1,0.E0,7.5E0)); ++#5322=CARTESIAN_POINT('',(2.21875E1,0.E0,7.5E0)); ++#5323=VERTEX_POINT('',#5321); ++#5324=VERTEX_POINT('',#5322); ++#5325=CARTESIAN_POINT('',(2.33125E1,6.875E-1,1.65E1)); ++#5326=CARTESIAN_POINT('',(2.33125E1,6.875E-1,1.35E1)); ++#5327=VERTEX_POINT('',#5325); ++#5328=VERTEX_POINT('',#5326); ++#5329=CARTESIAN_POINT('',(2.21875E1,6.875E-1,1.35E1)); ++#5330=VERTEX_POINT('',#5329); ++#5331=CARTESIAN_POINT('',(2.21875E1,6.875E-1,1.65E1)); ++#5332=VERTEX_POINT('',#5331); ++#5333=CARTESIAN_POINT('',(2.33125E1,0.E0,1.65E1)); ++#5334=CARTESIAN_POINT('',(2.33125E1,0.E0,1.35E1)); ++#5335=VERTEX_POINT('',#5333); ++#5336=VERTEX_POINT('',#5334); ++#5337=CARTESIAN_POINT('',(2.21875E1,0.E0,1.35E1)); ++#5338=VERTEX_POINT('',#5337); ++#5339=CARTESIAN_POINT('',(2.21875E1,0.E0,1.65E1)); ++#5340=VERTEX_POINT('',#5339); ++#5341=CARTESIAN_POINT('',(2.33125E1,6.875E-1,2.25E1)); ++#5342=CARTESIAN_POINT('',(2.33125E1,6.875E-1,1.95E1)); ++#5343=VERTEX_POINT('',#5341); ++#5344=VERTEX_POINT('',#5342); ++#5345=CARTESIAN_POINT('',(2.21875E1,6.875E-1,1.95E1)); ++#5346=VERTEX_POINT('',#5345); ++#5347=CARTESIAN_POINT('',(2.21875E1,6.875E-1,2.25E1)); ++#5348=VERTEX_POINT('',#5347); ++#5349=CARTESIAN_POINT('',(2.33125E1,0.E0,2.25E1)); ++#5350=CARTESIAN_POINT('',(2.33125E1,0.E0,1.95E1)); ++#5351=VERTEX_POINT('',#5349); ++#5352=VERTEX_POINT('',#5350); ++#5353=CARTESIAN_POINT('',(2.21875E1,0.E0,1.95E1)); ++#5354=VERTEX_POINT('',#5353); ++#5355=CARTESIAN_POINT('',(2.21875E1,0.E0,2.25E1)); ++#5356=VERTEX_POINT('',#5355); ++#5357=CARTESIAN_POINT('',(1.65E1,6.875E-1,8.5E0)); ++#5358=CARTESIAN_POINT('',(1.35E1,6.875E-1,8.5E0)); ++#5359=VERTEX_POINT('',#5357); ++#5360=VERTEX_POINT('',#5358); ++#5361=CARTESIAN_POINT('',(1.35E1,6.875E-1,9.5E0)); ++#5362=VERTEX_POINT('',#5361); ++#5363=CARTESIAN_POINT('',(1.65E1,6.875E-1,9.5E0)); ++#5364=VERTEX_POINT('',#5363); ++#5365=CARTESIAN_POINT('',(1.65E1,0.E0,8.5E0)); ++#5366=CARTESIAN_POINT('',(1.35E1,0.E0,8.5E0)); ++#5367=VERTEX_POINT('',#5365); ++#5368=VERTEX_POINT('',#5366); ++#5369=CARTESIAN_POINT('',(1.35E1,0.E0,9.5E0)); ++#5370=VERTEX_POINT('',#5369); ++#5371=CARTESIAN_POINT('',(1.65E1,0.E0,9.5E0)); ++#5372=VERTEX_POINT('',#5371); ++#5373=CARTESIAN_POINT('',(1.65E1,6.875E-1,1.75625E1)); ++#5374=CARTESIAN_POINT('',(1.35E1,6.875E-1,1.75625E1)); ++#5375=VERTEX_POINT('',#5373); ++#5376=VERTEX_POINT('',#5374); ++#5377=CARTESIAN_POINT('',(1.35E1,6.875E-1,1.84375E1)); ++#5378=VERTEX_POINT('',#5377); ++#5379=CARTESIAN_POINT('',(1.65E1,6.875E-1,1.84375E1)); ++#5380=VERTEX_POINT('',#5379); ++#5381=CARTESIAN_POINT('',(1.65E1,0.E0,1.75625E1)); ++#5382=CARTESIAN_POINT('',(1.35E1,0.E0,1.75625E1)); ++#5383=VERTEX_POINT('',#5381); ++#5384=VERTEX_POINT('',#5382); ++#5385=CARTESIAN_POINT('',(1.35E1,0.E0,1.84375E1)); ++#5386=VERTEX_POINT('',#5385); ++#5387=CARTESIAN_POINT('',(1.65E1,0.E0,1.84375E1)); ++#5388=VERTEX_POINT('',#5387); ++#5389=CARTESIAN_POINT('',(1.65E1,6.875E-1,3.13125E1)); ++#5390=CARTESIAN_POINT('',(1.35E1,6.875E-1,3.13125E1)); ++#5391=VERTEX_POINT('',#5389); ++#5392=VERTEX_POINT('',#5390); ++#5393=CARTESIAN_POINT('',(1.35E1,6.875E-1,3.01875E1)); ++#5394=VERTEX_POINT('',#5393); ++#5395=CARTESIAN_POINT('',(1.65E1,6.875E-1,3.01875E1)); ++#5396=VERTEX_POINT('',#5395); ++#5397=CARTESIAN_POINT('',(2.006002146101E1,6.875E-1,3.096770671486E1)); ++#5398=CARTESIAN_POINT('',(1.905715028546E1,6.875E-1,2.958022033652E1)); ++#5399=VERTEX_POINT('',#5397); ++#5400=VERTEX_POINT('',#5398); ++#5401=CARTESIAN_POINT('',(2.156798411498E1,6.875E-1,2.708131618759E1)); ++#5402=VERTEX_POINT('',#5401); ++#5403=CARTESIAN_POINT('',(1.65E1,0.E0,3.13125E1)); ++#5404=CARTESIAN_POINT('',(1.35E1,0.E0,3.13125E1)); ++#5405=VERTEX_POINT('',#5403); ++#5406=VERTEX_POINT('',#5404); ++#5407=CARTESIAN_POINT('',(1.35E1,0.E0,3.01875E1)); ++#5408=VERTEX_POINT('',#5407); ++#5409=CARTESIAN_POINT('',(1.65E1,0.E0,3.01875E1)); ++#5410=VERTEX_POINT('',#5409); ++#5411=CARTESIAN_POINT('',(2.006002146101E1,0.E0,3.096770671486E1)); ++#5412=CARTESIAN_POINT('',(1.905715028546E1,0.E0,2.958022033652E1)); ++#5413=VERTEX_POINT('',#5411); ++#5414=VERTEX_POINT('',#5412); ++#5415=CARTESIAN_POINT('',(2.156798411498E1,0.E0,2.708131618759E1)); ++#5416=VERTEX_POINT('',#5415); ++#5417=CARTESIAN_POINT('',(1.96875E1,6.875E-1,9.57E0)); ++#5418=CARTESIAN_POINT('',(1.96875E1,0.E0,9.57E0)); ++#5419=VERTEX_POINT('',#5417); ++#5420=VERTEX_POINT('',#5418); ++#5421=CARTESIAN_POINT('',(2.05675E1,6.875E-1,8.69E0)); ++#5422=VERTEX_POINT('',#5421); ++#5423=CARTESIAN_POINT('',(2.05675E1,0.E0,8.69E0)); ++#5424=VERTEX_POINT('',#5423); ++#5425=CARTESIAN_POINT('',(2.05675E1,6.875E-1,1.125E1)); ++#5426=CARTESIAN_POINT('',(2.05675E1,0.E0,1.125E1)); ++#5427=VERTEX_POINT('',#5425); ++#5428=VERTEX_POINT('',#5426); ++#5429=CARTESIAN_POINT('',(1.96875E1,6.875E-1,1.037E1)); ++#5430=VERTEX_POINT('',#5429); ++#5431=CARTESIAN_POINT('',(1.96875E1,0.E0,1.037E1)); ++#5432=VERTEX_POINT('',#5431); ++#5433=CARTESIAN_POINT('',(2.44325E1,6.875E-1,8.69E0)); ++#5434=CARTESIAN_POINT('',(2.44325E1,0.E0,8.69E0)); ++#5435=VERTEX_POINT('',#5433); ++#5436=VERTEX_POINT('',#5434); ++#5437=CARTESIAN_POINT('',(2.53125E1,6.875E-1,9.57E0)); ++#5438=VERTEX_POINT('',#5437); ++#5439=CARTESIAN_POINT('',(2.53125E1,0.E0,9.57E0)); ++#5440=VERTEX_POINT('',#5439); ++#5441=CARTESIAN_POINT('',(2.53125E1,6.875E-1,1.037E1)); ++#5442=CARTESIAN_POINT('',(2.53125E1,0.E0,1.037E1)); ++#5443=VERTEX_POINT('',#5441); ++#5444=VERTEX_POINT('',#5442); ++#5445=CARTESIAN_POINT('',(2.44325E1,6.875E-1,1.125E1)); ++#5446=VERTEX_POINT('',#5445); ++#5447=CARTESIAN_POINT('',(2.44325E1,0.E0,1.125E1)); ++#5448=VERTEX_POINT('',#5447); ++#5449=CARTESIAN_POINT('',(2.13075E1,0.E0,8.69E0)); ++#5450=CARTESIAN_POINT('',(2.13075E1,6.875E-1,8.69E0)); ++#5451=VERTEX_POINT('',#5449); ++#5452=VERTEX_POINT('',#5450); ++#5453=CARTESIAN_POINT('',(2.21875E1,0.E0,7.81E0)); ++#5454=CARTESIAN_POINT('',(2.21875E1,6.875E-1,7.81E0)); ++#5455=VERTEX_POINT('',#5453); ++#5456=VERTEX_POINT('',#5454); ++#5457=CARTESIAN_POINT('',(2.331E1,0.E0,7.81E0)); ++#5458=CARTESIAN_POINT('',(2.331E1,6.875E-1,7.81E0)); ++#5459=VERTEX_POINT('',#5457); ++#5460=VERTEX_POINT('',#5458); ++#5461=CARTESIAN_POINT('',(2.419E1,0.E0,8.69E0)); ++#5462=CARTESIAN_POINT('',(2.419E1,6.875E-1,8.69E0)); ++#5463=VERTEX_POINT('',#5461); ++#5464=VERTEX_POINT('',#5462); ++#5465=CARTESIAN_POINT('',(2.321497295992E1,0.E0,4.912826677187E0)); ++#5466=CARTESIAN_POINT('',(2.321497295992E1,6.875E-1,4.912826677187E0)); ++#5467=VERTEX_POINT('',#5465); ++#5468=VERTEX_POINT('',#5466); ++#5469=CARTESIAN_POINT('',(2.307459332230E1,0.E0,4.046865146430E0)); ++#5470=CARTESIAN_POINT('',(2.307459332230E1,6.875E-1,4.046865146430E0)); ++#5471=VERTEX_POINT('',#5469); ++#5472=VERTEX_POINT('',#5470); ++#5473=CARTESIAN_POINT('',(7.850270400779E-1,0.E0,2.708717332281E1)); ++#5474=CARTESIAN_POINT('',(7.850270400779E-1,6.875E-1,2.708717332281E1)); ++#5475=VERTEX_POINT('',#5473); ++#5476=VERTEX_POINT('',#5474); ++#5477=CARTESIAN_POINT('',(9.254066777019E-1,0.E0,2.795313485357E1)); ++#5478=CARTESIAN_POINT('',(9.254066777019E-1,6.875E-1,2.795313485357E1)); ++#5479=VERTEX_POINT('',#5477); ++#5480=VERTEX_POINT('',#5478); ++#5481=CARTESIAN_POINT('',(2.307459332230E1,0.E0,2.795313485357E1)); ++#5482=CARTESIAN_POINT('',(2.307459332230E1,6.875E-1,2.795313485357E1)); ++#5483=VERTEX_POINT('',#5481); ++#5484=VERTEX_POINT('',#5482); ++#5485=CARTESIAN_POINT('',(2.321497295992E1,0.E0,2.708717332281E1)); ++#5486=CARTESIAN_POINT('',(2.321497295992E1,6.875E-1,2.708717332281E1)); ++#5487=VERTEX_POINT('',#5485); ++#5488=VERTEX_POINT('',#5486); ++#5489=CARTESIAN_POINT('',(0.E0,0.E0,0.E0)); ++#5490=DIRECTION('',(0.E0,1.E0,0.E0)); ++#5491=DIRECTION('',(1.E0,0.E0,0.E0)); ++#5492=AXIS2_PLACEMENT_3D('',#5489,#5490,#5491); ++#5493=PLANE('',#5492); ++#5495=ORIENTED_EDGE('',*,*,#5494,.F.); ++#5497=ORIENTED_EDGE('',*,*,#5496,.F.); ++#5499=ORIENTED_EDGE('',*,*,#5498,.T.); ++#5501=ORIENTED_EDGE('',*,*,#5500,.F.); ++#5503=ORIENTED_EDGE('',*,*,#5502,.T.); ++#5505=ORIENTED_EDGE('',*,*,#5504,.F.); ++#5507=ORIENTED_EDGE('',*,*,#5506,.T.); ++#5509=ORIENTED_EDGE('',*,*,#5508,.F.); ++#5511=ORIENTED_EDGE('',*,*,#5510,.T.); ++#5513=ORIENTED_EDGE('',*,*,#5512,.T.); ++#5515=ORIENTED_EDGE('',*,*,#5514,.F.); ++#5517=ORIENTED_EDGE('',*,*,#5516,.T.); ++#5519=ORIENTED_EDGE('',*,*,#5518,.F.); ++#5521=ORIENTED_EDGE('',*,*,#5520,.T.); ++#5523=ORIENTED_EDGE('',*,*,#5522,.F.); ++#5525=ORIENTED_EDGE('',*,*,#5524,.T.); ++#5527=ORIENTED_EDGE('',*,*,#5526,.F.); ++#5529=ORIENTED_EDGE('',*,*,#5528,.T.); ++#5531=ORIENTED_EDGE('',*,*,#5530,.F.); ++#5533=ORIENTED_EDGE('',*,*,#5532,.F.); ++#5535=ORIENTED_EDGE('',*,*,#5534,.T.); ++#5537=ORIENTED_EDGE('',*,*,#5536,.F.); ++#5538=EDGE_LOOP('',(#5495,#5497,#5499,#5501,#5503,#5505,#5507,#5509,#5511,#5513, ++#5515,#5517,#5519,#5521,#5523,#5525,#5527,#5529,#5531,#5533,#5535,#5537)); ++#5539=FACE_OUTER_BOUND('',#5538,.F.); ++#5541=ORIENTED_EDGE('',*,*,#5540,.T.); ++#5543=ORIENTED_EDGE('',*,*,#5542,.F.); ++#5545=ORIENTED_EDGE('',*,*,#5544,.F.); ++#5547=ORIENTED_EDGE('',*,*,#5546,.F.); ++#5549=ORIENTED_EDGE('',*,*,#5548,.F.); ++#5551=ORIENTED_EDGE('',*,*,#5550,.F.); ++#5552=EDGE_LOOP('',(#5541,#5543,#5545,#5547,#5549,#5551)); ++#5553=FACE_BOUND('',#5552,.F.); ++#5555=ORIENTED_EDGE('',*,*,#5554,.T.); ++#5557=ORIENTED_EDGE('',*,*,#5556,.T.); ++#5558=EDGE_LOOP('',(#5555,#5557)); ++#5559=FACE_BOUND('',#5558,.F.); ++#5561=ORIENTED_EDGE('',*,*,#5560,.T.); ++#5563=ORIENTED_EDGE('',*,*,#5562,.T.); ++#5564=EDGE_LOOP('',(#5561,#5563)); ++#5565=FACE_BOUND('',#5564,.F.); ++#5567=ORIENTED_EDGE('',*,*,#5566,.T.); ++#5569=ORIENTED_EDGE('',*,*,#5568,.T.); ++#5570=EDGE_LOOP('',(#5567,#5569)); ++#5571=FACE_BOUND('',#5570,.F.); ++#5573=ORIENTED_EDGE('',*,*,#5572,.T.); ++#5575=ORIENTED_EDGE('',*,*,#5574,.T.); ++#5576=EDGE_LOOP('',(#5573,#5575)); ++#5577=FACE_BOUND('',#5576,.F.); ++#5579=ORIENTED_EDGE('',*,*,#5578,.T.); ++#5581=ORIENTED_EDGE('',*,*,#5580,.T.); ++#5582=EDGE_LOOP('',(#5579,#5581)); ++#5583=FACE_BOUND('',#5582,.F.); ++#5585=ORIENTED_EDGE('',*,*,#5584,.T.); ++#5587=ORIENTED_EDGE('',*,*,#5586,.T.); ++#5588=EDGE_LOOP('',(#5585,#5587)); ++#5589=FACE_BOUND('',#5588,.F.); ++#5591=ORIENTED_EDGE('',*,*,#5590,.T.); ++#5593=ORIENTED_EDGE('',*,*,#5592,.T.); ++#5594=EDGE_LOOP('',(#5591,#5593)); ++#5595=FACE_BOUND('',#5594,.F.); ++#5597=ORIENTED_EDGE('',*,*,#5596,.T.); ++#5599=ORIENTED_EDGE('',*,*,#5598,.T.); ++#5600=EDGE_LOOP('',(#5597,#5599)); ++#5601=FACE_BOUND('',#5600,.F.); ++#5603=ORIENTED_EDGE('',*,*,#5602,.T.); ++#5605=ORIENTED_EDGE('',*,*,#5604,.T.); ++#5606=EDGE_LOOP('',(#5603,#5605)); ++#5607=FACE_BOUND('',#5606,.F.); ++#5609=ORIENTED_EDGE('',*,*,#5608,.T.); ++#5611=ORIENTED_EDGE('',*,*,#5610,.T.); ++#5612=EDGE_LOOP('',(#5609,#5611)); ++#5613=FACE_BOUND('',#5612,.F.); ++#5615=ORIENTED_EDGE('',*,*,#5614,.T.); ++#5617=ORIENTED_EDGE('',*,*,#5616,.T.); ++#5618=EDGE_LOOP('',(#5615,#5617)); ++#5619=FACE_BOUND('',#5618,.F.); ++#5621=ORIENTED_EDGE('',*,*,#5620,.T.); ++#5623=ORIENTED_EDGE('',*,*,#5622,.T.); ++#5624=EDGE_LOOP('',(#5621,#5623)); ++#5625=FACE_BOUND('',#5624,.F.); ++#5627=ORIENTED_EDGE('',*,*,#5626,.T.); ++#5629=ORIENTED_EDGE('',*,*,#5628,.T.); ++#5630=EDGE_LOOP('',(#5627,#5629)); ++#5631=FACE_BOUND('',#5630,.F.); ++#5633=ORIENTED_EDGE('',*,*,#5632,.T.); ++#5635=ORIENTED_EDGE('',*,*,#5634,.T.); ++#5636=EDGE_LOOP('',(#5633,#5635)); ++#5637=FACE_BOUND('',#5636,.F.); ++#5639=ORIENTED_EDGE('',*,*,#5638,.T.); ++#5641=ORIENTED_EDGE('',*,*,#5640,.F.); ++#5643=ORIENTED_EDGE('',*,*,#5642,.F.); ++#5645=ORIENTED_EDGE('',*,*,#5644,.F.); ++#5647=ORIENTED_EDGE('',*,*,#5646,.F.); ++#5649=ORIENTED_EDGE('',*,*,#5648,.F.); ++#5651=ORIENTED_EDGE('',*,*,#5650,.F.); ++#5653=ORIENTED_EDGE('',*,*,#5652,.F.); ++#5654=EDGE_LOOP('',(#5639,#5641,#5643,#5645,#5647,#5649,#5651,#5653)); ++#5655=FACE_BOUND('',#5654,.F.); ++#5657=ORIENTED_EDGE('',*,*,#5656,.F.); ++#5659=ORIENTED_EDGE('',*,*,#5658,.F.); ++#5661=ORIENTED_EDGE('',*,*,#5660,.T.); ++#5663=ORIENTED_EDGE('',*,*,#5662,.F.); ++#5665=ORIENTED_EDGE('',*,*,#5664,.F.); ++#5667=ORIENTED_EDGE('',*,*,#5666,.F.); ++#5669=ORIENTED_EDGE('',*,*,#5668,.T.); ++#5671=ORIENTED_EDGE('',*,*,#5670,.F.); ++#5673=ORIENTED_EDGE('',*,*,#5672,.T.); ++#5675=ORIENTED_EDGE('',*,*,#5674,.F.); ++#5677=ORIENTED_EDGE('',*,*,#5676,.T.); ++#5679=ORIENTED_EDGE('',*,*,#5678,.F.); ++#5681=ORIENTED_EDGE('',*,*,#5680,.F.); ++#5683=ORIENTED_EDGE('',*,*,#5682,.T.); ++#5685=ORIENTED_EDGE('',*,*,#5684,.F.); ++#5687=ORIENTED_EDGE('',*,*,#5686,.F.); ++#5688=EDGE_LOOP('',(#5657,#5659,#5661,#5663,#5665,#5667,#5669,#5671,#5673,#5675, ++#5677,#5679,#5681,#5683,#5685,#5687)); ++#5689=FACE_BOUND('',#5688,.F.); ++#5691=ORIENTED_EDGE('',*,*,#5690,.T.); ++#5693=ORIENTED_EDGE('',*,*,#5692,.T.); ++#5694=EDGE_LOOP('',(#5691,#5693)); ++#5695=FACE_BOUND('',#5694,.F.); ++#5697=ORIENTED_EDGE('',*,*,#5696,.T.); ++#5699=ORIENTED_EDGE('',*,*,#5698,.T.); ++#5700=EDGE_LOOP('',(#5697,#5699)); ++#5701=FACE_BOUND('',#5700,.F.); ++#5703=ORIENTED_EDGE('',*,*,#5702,.T.); ++#5705=ORIENTED_EDGE('',*,*,#5704,.T.); ++#5706=EDGE_LOOP('',(#5703,#5705)); ++#5707=FACE_BOUND('',#5706,.F.); ++#5709=ORIENTED_EDGE('',*,*,#5708,.T.); ++#5711=ORIENTED_EDGE('',*,*,#5710,.T.); ++#5712=EDGE_LOOP('',(#5709,#5711)); ++#5713=FACE_BOUND('',#5712,.F.); ++#5715=ORIENTED_EDGE('',*,*,#5714,.T.); ++#5717=ORIENTED_EDGE('',*,*,#5716,.T.); ++#5718=EDGE_LOOP('',(#5715,#5717)); ++#5719=FACE_BOUND('',#5718,.F.); ++#5721=ORIENTED_EDGE('',*,*,#5720,.T.); ++#5723=ORIENTED_EDGE('',*,*,#5722,.T.); ++#5724=EDGE_LOOP('',(#5721,#5723)); ++#5725=FACE_BOUND('',#5724,.F.); ++#5727=ORIENTED_EDGE('',*,*,#5726,.T.); ++#5729=ORIENTED_EDGE('',*,*,#5728,.T.); ++#5731=ORIENTED_EDGE('',*,*,#5730,.T.); ++#5733=ORIENTED_EDGE('',*,*,#5732,.T.); ++#5734=EDGE_LOOP('',(#5727,#5729,#5731,#5733)); ++#5735=FACE_BOUND('',#5734,.F.); ++#5737=ORIENTED_EDGE('',*,*,#5736,.T.); ++#5739=ORIENTED_EDGE('',*,*,#5738,.F.); ++#5741=ORIENTED_EDGE('',*,*,#5740,.T.); ++#5743=ORIENTED_EDGE('',*,*,#5742,.T.); ++#5745=ORIENTED_EDGE('',*,*,#5744,.F.); ++#5746=EDGE_LOOP('',(#5737,#5739,#5741,#5743,#5745)); ++#5747=FACE_BOUND('',#5746,.F.); ++#5749=ORIENTED_EDGE('',*,*,#5748,.F.); ++#5751=ORIENTED_EDGE('',*,*,#5750,.T.); ++#5753=ORIENTED_EDGE('',*,*,#5752,.T.); ++#5755=ORIENTED_EDGE('',*,*,#5754,.T.); ++#5757=ORIENTED_EDGE('',*,*,#5756,.F.); ++#5759=ORIENTED_EDGE('',*,*,#5758,.T.); ++#5761=ORIENTED_EDGE('',*,*,#5760,.F.); ++#5763=ORIENTED_EDGE('',*,*,#5762,.T.); ++#5765=ORIENTED_EDGE('',*,*,#5764,.F.); ++#5767=ORIENTED_EDGE('',*,*,#5766,.T.); ++#5769=ORIENTED_EDGE('',*,*,#5768,.F.); ++#5771=ORIENTED_EDGE('',*,*,#5770,.T.); ++#5773=ORIENTED_EDGE('',*,*,#5772,.F.); ++#5775=ORIENTED_EDGE('',*,*,#5774,.T.); ++#5776=EDGE_LOOP('',(#5749,#5751,#5753,#5755,#5757,#5759,#5761,#5763,#5765,#5767, ++#5769,#5771,#5773,#5775)); ++#5777=FACE_BOUND('',#5776,.F.); ++#5779=ORIENTED_EDGE('',*,*,#5778,.T.); ++#5781=ORIENTED_EDGE('',*,*,#5780,.T.); ++#5783=ORIENTED_EDGE('',*,*,#5782,.T.); ++#5785=ORIENTED_EDGE('',*,*,#5784,.T.); ++#5786=EDGE_LOOP('',(#5779,#5781,#5783,#5785)); ++#5787=FACE_BOUND('',#5786,.F.); ++#5789=ORIENTED_EDGE('',*,*,#5788,.T.); ++#5791=ORIENTED_EDGE('',*,*,#5790,.T.); ++#5793=ORIENTED_EDGE('',*,*,#5792,.T.); ++#5795=ORIENTED_EDGE('',*,*,#5794,.T.); ++#5796=EDGE_LOOP('',(#5789,#5791,#5793,#5795)); ++#5797=FACE_BOUND('',#5796,.F.); ++#5799=ORIENTED_EDGE('',*,*,#5798,.T.); ++#5801=ORIENTED_EDGE('',*,*,#5800,.T.); ++#5803=ORIENTED_EDGE('',*,*,#5802,.T.); ++#5805=ORIENTED_EDGE('',*,*,#5804,.T.); ++#5806=EDGE_LOOP('',(#5799,#5801,#5803,#5805)); ++#5807=FACE_BOUND('',#5806,.F.); ++#5809=ORIENTED_EDGE('',*,*,#5808,.T.); ++#5811=ORIENTED_EDGE('',*,*,#5810,.T.); ++#5813=ORIENTED_EDGE('',*,*,#5812,.T.); ++#5815=ORIENTED_EDGE('',*,*,#5814,.T.); ++#5816=EDGE_LOOP('',(#5809,#5811,#5813,#5815)); ++#5817=FACE_BOUND('',#5816,.F.); ++#5819=ORIENTED_EDGE('',*,*,#5818,.F.); ++#5821=ORIENTED_EDGE('',*,*,#5820,.F.); ++#5823=ORIENTED_EDGE('',*,*,#5822,.F.); ++#5825=ORIENTED_EDGE('',*,*,#5824,.F.); ++#5826=EDGE_LOOP('',(#5819,#5821,#5823,#5825)); ++#5827=FACE_BOUND('',#5826,.F.); ++#5829=ORIENTED_EDGE('',*,*,#5828,.F.); ++#5831=ORIENTED_EDGE('',*,*,#5830,.F.); ++#5833=ORIENTED_EDGE('',*,*,#5832,.F.); ++#5835=ORIENTED_EDGE('',*,*,#5834,.F.); ++#5836=EDGE_LOOP('',(#5829,#5831,#5833,#5835)); ++#5837=FACE_BOUND('',#5836,.F.); ++#5839=ORIENTED_EDGE('',*,*,#5838,.F.); ++#5841=ORIENTED_EDGE('',*,*,#5840,.F.); ++#5843=ORIENTED_EDGE('',*,*,#5842,.F.); ++#5845=ORIENTED_EDGE('',*,*,#5844,.F.); ++#5846=EDGE_LOOP('',(#5839,#5841,#5843,#5845)); ++#5847=FACE_BOUND('',#5846,.F.); ++#5849=ORIENTED_EDGE('',*,*,#5848,.F.); ++#5851=ORIENTED_EDGE('',*,*,#5850,.F.); ++#5853=ORIENTED_EDGE('',*,*,#5852,.F.); ++#5855=ORIENTED_EDGE('',*,*,#5854,.F.); ++#5856=EDGE_LOOP('',(#5849,#5851,#5853,#5855)); ++#5857=FACE_BOUND('',#5856,.F.); ++#5859=ORIENTED_EDGE('',*,*,#5858,.F.); ++#5861=ORIENTED_EDGE('',*,*,#5860,.F.); ++#5863=ORIENTED_EDGE('',*,*,#5862,.F.); ++#5865=ORIENTED_EDGE('',*,*,#5864,.F.); ++#5866=EDGE_LOOP('',(#5859,#5861,#5863,#5865)); ++#5867=FACE_BOUND('',#5866,.F.); ++#5869=ORIENTED_EDGE('',*,*,#5868,.F.); ++#5871=ORIENTED_EDGE('',*,*,#5870,.F.); ++#5873=ORIENTED_EDGE('',*,*,#5872,.F.); ++#5875=ORIENTED_EDGE('',*,*,#5874,.F.); ++#5876=EDGE_LOOP('',(#5869,#5871,#5873,#5875)); ++#5877=FACE_BOUND('',#5876,.F.); ++#5879=ORIENTED_EDGE('',*,*,#5878,.T.); ++#5881=ORIENTED_EDGE('',*,*,#5880,.T.); ++#5883=ORIENTED_EDGE('',*,*,#5882,.T.); ++#5885=ORIENTED_EDGE('',*,*,#5884,.T.); ++#5886=EDGE_LOOP('',(#5879,#5881,#5883,#5885)); ++#5887=FACE_BOUND('',#5886,.F.); ++#5889=ORIENTED_EDGE('',*,*,#5888,.F.); ++#5891=ORIENTED_EDGE('',*,*,#5890,.F.); ++#5893=ORIENTED_EDGE('',*,*,#5892,.F.); ++#5895=ORIENTED_EDGE('',*,*,#5894,.F.); ++#5897=ORIENTED_EDGE('',*,*,#5896,.F.); ++#5899=ORIENTED_EDGE('',*,*,#5898,.F.); ++#5901=ORIENTED_EDGE('',*,*,#5900,.F.); ++#5903=ORIENTED_EDGE('',*,*,#5902,.F.); ++#5905=ORIENTED_EDGE('',*,*,#5904,.F.); ++#5907=ORIENTED_EDGE('',*,*,#5906,.F.); ++#5909=ORIENTED_EDGE('',*,*,#5908,.F.); ++#5911=ORIENTED_EDGE('',*,*,#5910,.F.); ++#5913=ORIENTED_EDGE('',*,*,#5912,.F.); ++#5915=ORIENTED_EDGE('',*,*,#5914,.F.); ++#5916=EDGE_LOOP('',(#5889,#5891,#5893,#5895,#5897,#5899,#5901,#5903,#5905,#5907, ++#5909,#5911,#5913,#5915)); ++#5917=FACE_BOUND('',#5916,.F.); ++#5919=ORIENTED_EDGE('',*,*,#5918,.F.); ++#5921=ORIENTED_EDGE('',*,*,#5920,.F.); ++#5923=ORIENTED_EDGE('',*,*,#5922,.F.); ++#5925=ORIENTED_EDGE('',*,*,#5924,.T.); ++#5927=ORIENTED_EDGE('',*,*,#5926,.F.); ++#5928=EDGE_LOOP('',(#5919,#5921,#5923,#5925,#5927)); ++#5929=FACE_BOUND('',#5928,.F.); ++#5931=ORIENTED_EDGE('',*,*,#5930,.F.); ++#5933=ORIENTED_EDGE('',*,*,#5932,.F.); ++#5935=ORIENTED_EDGE('',*,*,#5934,.F.); ++#5937=ORIENTED_EDGE('',*,*,#5936,.T.); ++#5939=ORIENTED_EDGE('',*,*,#5938,.F.); ++#5940=EDGE_LOOP('',(#5931,#5933,#5935,#5937,#5939)); ++#5941=FACE_BOUND('',#5940,.F.); ++#5943=ORIENTED_EDGE('',*,*,#5942,.T.); ++#5945=ORIENTED_EDGE('',*,*,#5944,.F.); ++#5947=ORIENTED_EDGE('',*,*,#5946,.T.); ++#5949=ORIENTED_EDGE('',*,*,#5948,.T.); ++#5951=ORIENTED_EDGE('',*,*,#5950,.F.); ++#5952=EDGE_LOOP('',(#5943,#5945,#5947,#5949,#5951)); ++#5953=FACE_BOUND('',#5952,.F.); ++#5954=ADVANCED_FACE('',(#5539,#5553,#5559,#5565,#5571,#5577,#5583,#5589,#5595, ++#5601,#5607,#5613,#5619,#5625,#5631,#5637,#5655,#5689,#5695,#5701,#5707,#5713, ++#5719,#5725,#5735,#5747,#5777,#5787,#5797,#5807,#5817,#5827,#5837,#5847,#5857, ++#5867,#5877,#5887,#5917,#5929,#5941,#5953),#5493,.F.); ++#5955=CARTESIAN_POINT('',(0.E0,0.E0,8.E0)); ++#5956=DIRECTION('',(0.E0,0.E0,1.E0)); ++#5957=DIRECTION('',(1.E0,0.E0,0.E0)); ++#5958=AXIS2_PLACEMENT_3D('',#5955,#5956,#5957); ++#5959=PLANE('',#5958); ++#5960=ORIENTED_EDGE('',*,*,#5540,.F.); ++#5962=ORIENTED_EDGE('',*,*,#5961,.T.); ++#5964=ORIENTED_EDGE('',*,*,#5963,.F.); ++#5966=ORIENTED_EDGE('',*,*,#5965,.F.); ++#5967=ORIENTED_EDGE('',*,*,#5494,.T.); ++#5969=ORIENTED_EDGE('',*,*,#5968,.F.); ++#5971=ORIENTED_EDGE('',*,*,#5970,.F.); ++#5973=ORIENTED_EDGE('',*,*,#5972,.T.); ++#5975=ORIENTED_EDGE('',*,*,#5974,.F.); ++#5977=ORIENTED_EDGE('',*,*,#5976,.F.); ++#5979=ORIENTED_EDGE('',*,*,#5978,.F.); ++#5981=ORIENTED_EDGE('',*,*,#5980,.T.); ++#5983=ORIENTED_EDGE('',*,*,#5982,.T.); ++#5985=ORIENTED_EDGE('',*,*,#5984,.F.); ++#5986=ORIENTED_EDGE('',*,*,#5510,.F.); ++#5988=ORIENTED_EDGE('',*,*,#5987,.F.); ++#5990=ORIENTED_EDGE('',*,*,#5989,.F.); ++#5992=ORIENTED_EDGE('',*,*,#5991,.T.); ++#5993=EDGE_LOOP('',(#5960,#5962,#5964,#5966,#5967,#5969,#5971,#5973,#5975,#5977, ++#5979,#5981,#5983,#5985,#5986,#5988,#5990,#5992)); ++#5994=FACE_OUTER_BOUND('',#5993,.F.); ++#5996=ORIENTED_EDGE('',*,*,#5995,.T.); ++#5998=ORIENTED_EDGE('',*,*,#5997,.T.); ++#5999=EDGE_LOOP('',(#5996,#5998)); ++#6000=FACE_BOUND('',#5999,.F.); ++#6002=ORIENTED_EDGE('',*,*,#6001,.T.); ++#6004=ORIENTED_EDGE('',*,*,#6003,.T.); ++#6005=EDGE_LOOP('',(#6002,#6004)); ++#6006=FACE_BOUND('',#6005,.F.); ++#6008=ORIENTED_EDGE('',*,*,#6007,.T.); ++#6010=ORIENTED_EDGE('',*,*,#6009,.T.); ++#6011=EDGE_LOOP('',(#6008,#6010)); ++#6012=FACE_BOUND('',#6011,.F.); ++#6014=ORIENTED_EDGE('',*,*,#6013,.T.); ++#6016=ORIENTED_EDGE('',*,*,#6015,.T.); ++#6017=EDGE_LOOP('',(#6014,#6016)); ++#6018=FACE_BOUND('',#6017,.F.); ++#6020=ORIENTED_EDGE('',*,*,#6019,.F.); ++#6022=ORIENTED_EDGE('',*,*,#6021,.F.); ++#6023=EDGE_LOOP('',(#6020,#6022)); ++#6024=FACE_BOUND('',#6023,.F.); ++#6026=ORIENTED_EDGE('',*,*,#6025,.F.); ++#6028=ORIENTED_EDGE('',*,*,#6027,.F.); ++#6029=EDGE_LOOP('',(#6026,#6028)); ++#6030=FACE_BOUND('',#6029,.F.); ++#6032=ORIENTED_EDGE('',*,*,#6031,.F.); ++#6034=ORIENTED_EDGE('',*,*,#6033,.F.); ++#6035=EDGE_LOOP('',(#6032,#6034)); ++#6036=FACE_BOUND('',#6035,.F.); ++#6038=ORIENTED_EDGE('',*,*,#6037,.F.); ++#6040=ORIENTED_EDGE('',*,*,#6039,.F.); ++#6041=EDGE_LOOP('',(#6038,#6040)); ++#6042=FACE_BOUND('',#6041,.F.); ++#6044=ORIENTED_EDGE('',*,*,#6043,.T.); ++#6046=ORIENTED_EDGE('',*,*,#6045,.F.); ++#6048=ORIENTED_EDGE('',*,*,#6047,.T.); ++#6050=ORIENTED_EDGE('',*,*,#6049,.F.); ++#6052=ORIENTED_EDGE('',*,*,#6051,.T.); ++#6054=ORIENTED_EDGE('',*,*,#6053,.F.); ++#6056=ORIENTED_EDGE('',*,*,#6055,.T.); ++#6058=ORIENTED_EDGE('',*,*,#6057,.F.); ++#6059=EDGE_LOOP('',(#6044,#6046,#6048,#6050,#6052,#6054,#6056,#6058)); ++#6060=FACE_BOUND('',#6059,.F.); ++#6062=ORIENTED_EDGE('',*,*,#6061,.F.); ++#6064=ORIENTED_EDGE('',*,*,#6063,.F.); ++#6066=ORIENTED_EDGE('',*,*,#6065,.F.); ++#6068=ORIENTED_EDGE('',*,*,#6067,.F.); ++#6070=ORIENTED_EDGE('',*,*,#6069,.F.); ++#6072=ORIENTED_EDGE('',*,*,#6071,.F.); ++#6074=ORIENTED_EDGE('',*,*,#6073,.F.); ++#6076=ORIENTED_EDGE('',*,*,#6075,.F.); ++#6077=EDGE_LOOP('',(#6062,#6064,#6066,#6068,#6070,#6072,#6074,#6076)); ++#6078=FACE_BOUND('',#6077,.F.); ++#6079=ADVANCED_FACE('',(#5994,#6000,#6006,#6012,#6018,#6024,#6030,#6036,#6042, ++#6060,#6078),#5959,.F.); ++#6080=CARTESIAN_POINT('',(1.975E1,1.09375E1,8.E0)); ++#6081=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#6082=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#6083=AXIS2_PLACEMENT_3D('',#6080,#6081,#6082); ++#6084=CYLINDRICAL_SURFACE('',#6083,9.5E-2); ++#6085=ORIENTED_EDGE('',*,*,#5995,.F.); ++#6087=ORIENTED_EDGE('',*,*,#6086,.T.); ++#6089=ORIENTED_EDGE('',*,*,#6088,.T.); ++#6091=ORIENTED_EDGE('',*,*,#6090,.F.); ++#6092=EDGE_LOOP('',(#6085,#6087,#6089,#6091)); ++#6093=FACE_OUTER_BOUND('',#6092,.F.); ++#6094=ADVANCED_FACE('',(#6093),#6084,.F.); ++#6095=CARTESIAN_POINT('',(1.975E1,1.09375E1,8.E0)); ++#6096=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#6097=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#6098=AXIS2_PLACEMENT_3D('',#6095,#6096,#6097); ++#6099=CYLINDRICAL_SURFACE('',#6098,9.5E-2); ++#6100=ORIENTED_EDGE('',*,*,#5997,.F.); ++#6101=ORIENTED_EDGE('',*,*,#6090,.T.); ++#6103=ORIENTED_EDGE('',*,*,#6102,.T.); ++#6104=ORIENTED_EDGE('',*,*,#6086,.F.); ++#6105=EDGE_LOOP('',(#6100,#6101,#6103,#6104)); ++#6106=FACE_OUTER_BOUND('',#6105,.F.); ++#6107=ADVANCED_FACE('',(#6106),#6099,.F.); ++#6108=CARTESIAN_POINT('',(1.975E1,1.09375E1,8.25E0)); ++#6109=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#6110=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#6111=AXIS2_PLACEMENT_3D('',#6108,#6109,#6110); ++#6112=PLANE('',#6111); ++#6113=ORIENTED_EDGE('',*,*,#6088,.F.); ++#6114=ORIENTED_EDGE('',*,*,#6102,.F.); ++#6115=EDGE_LOOP('',(#6113,#6114)); ++#6116=FACE_OUTER_BOUND('',#6115,.F.); ++#6117=ADVANCED_FACE('',(#6116),#6112,.T.); ++#6118=CARTESIAN_POINT('',(1.975E1,1.05E1,8.E0)); ++#6119=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#6120=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#6121=AXIS2_PLACEMENT_3D('',#6118,#6119,#6120); ++#6122=CYLINDRICAL_SURFACE('',#6121,1.625E-1); ++#6123=ORIENTED_EDGE('',*,*,#6001,.F.); ++#6125=ORIENTED_EDGE('',*,*,#6124,.T.); ++#6127=ORIENTED_EDGE('',*,*,#6126,.T.); ++#6129=ORIENTED_EDGE('',*,*,#6128,.F.); ++#6130=EDGE_LOOP('',(#6123,#6125,#6127,#6129)); ++#6131=FACE_OUTER_BOUND('',#6130,.F.); ++#6132=ADVANCED_FACE('',(#6131),#6122,.F.); ++#6133=CARTESIAN_POINT('',(1.975E1,1.05E1,8.E0)); ++#6134=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#6135=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#6136=AXIS2_PLACEMENT_3D('',#6133,#6134,#6135); ++#6137=CYLINDRICAL_SURFACE('',#6136,1.625E-1); ++#6138=ORIENTED_EDGE('',*,*,#6003,.F.); ++#6139=ORIENTED_EDGE('',*,*,#6128,.T.); ++#6141=ORIENTED_EDGE('',*,*,#6140,.T.); ++#6142=ORIENTED_EDGE('',*,*,#6124,.F.); ++#6143=EDGE_LOOP('',(#6138,#6139,#6141,#6142)); ++#6144=FACE_OUTER_BOUND('',#6143,.F.); ++#6145=ADVANCED_FACE('',(#6144),#6137,.F.); ++#6146=CARTESIAN_POINT('',(2.4E1,0.E0,1.E1)); ++#6147=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#6148=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#6149=AXIS2_PLACEMENT_3D('',#6146,#6147,#6148); ++#6150=PLANE('',#6149); ++#6152=ORIENTED_EDGE('',*,*,#6151,.T.); ++#6154=ORIENTED_EDGE('',*,*,#6153,.T.); ++#6156=ORIENTED_EDGE('',*,*,#6155,.F.); ++#6158=ORIENTED_EDGE('',*,*,#6157,.F.); ++#6160=ORIENTED_EDGE('',*,*,#6159,.T.); ++#6162=ORIENTED_EDGE('',*,*,#6161,.T.); ++#6164=ORIENTED_EDGE('',*,*,#6163,.T.); ++#6166=ORIENTED_EDGE('',*,*,#6165,.T.); ++#6168=ORIENTED_EDGE('',*,*,#6167,.F.); ++#6169=EDGE_LOOP('',(#6152,#6154,#6156,#6158,#6160,#6162,#6164,#6166,#6168)); ++#6170=FACE_OUTER_BOUND('',#6169,.F.); ++#6171=ORIENTED_EDGE('',*,*,#6126,.F.); ++#6172=ORIENTED_EDGE('',*,*,#6140,.F.); ++#6173=EDGE_LOOP('',(#6171,#6172)); ++#6174=FACE_BOUND('',#6173,.F.); ++#6176=ORIENTED_EDGE('',*,*,#6175,.F.); ++#6178=ORIENTED_EDGE('',*,*,#6177,.F.); ++#6180=ORIENTED_EDGE('',*,*,#6179,.F.); ++#6182=ORIENTED_EDGE('',*,*,#6181,.F.); ++#6184=ORIENTED_EDGE('',*,*,#6183,.F.); ++#6186=ORIENTED_EDGE('',*,*,#6185,.F.); ++#6188=ORIENTED_EDGE('',*,*,#6187,.F.); ++#6190=ORIENTED_EDGE('',*,*,#6189,.F.); ++#6192=ORIENTED_EDGE('',*,*,#6191,.F.); ++#6194=ORIENTED_EDGE('',*,*,#6193,.F.); ++#6196=ORIENTED_EDGE('',*,*,#6195,.F.); ++#6198=ORIENTED_EDGE('',*,*,#6197,.F.); ++#6199=EDGE_LOOP('',(#6176,#6178,#6180,#6182,#6184,#6186,#6188,#6190,#6192,#6194, ++#6196,#6198)); ++#6200=FACE_BOUND('',#6199,.F.); ++#6201=ADVANCED_FACE('',(#6170,#6174,#6200),#6150,.F.); ++#6202=CARTESIAN_POINT('',(2.375E1,1.5E0,1.2E1)); ++#6203=DIRECTION('',(1.E0,0.E0,0.E0)); ++#6204=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#6205=AXIS2_PLACEMENT_3D('',#6202,#6203,#6204); ++#6206=PLANE('',#6205); ++#6208=ORIENTED_EDGE('',*,*,#6207,.F.); ++#6210=ORIENTED_EDGE('',*,*,#6209,.F.); ++#6211=ORIENTED_EDGE('',*,*,#6151,.F.); ++#6212=EDGE_LOOP('',(#6208,#6210,#6211)); ++#6213=FACE_OUTER_BOUND('',#6212,.F.); ++#6214=ADVANCED_FACE('',(#6213),#6206,.T.); ++#6215=CARTESIAN_POINT('',(0.E0,1.5E0,0.E0)); ++#6216=DIRECTION('',(0.E0,1.E0,0.E0)); ++#6217=DIRECTION('',(1.E0,0.E0,0.E0)); ++#6218=AXIS2_PLACEMENT_3D('',#6215,#6216,#6217); ++#6219=PLANE('',#6218); ++#6220=ORIENTED_EDGE('',*,*,#5963,.T.); ++#6222=ORIENTED_EDGE('',*,*,#6221,.F.); ++#6224=ORIENTED_EDGE('',*,*,#6223,.F.); ++#6226=ORIENTED_EDGE('',*,*,#6225,.T.); ++#6228=ORIENTED_EDGE('',*,*,#6227,.F.); ++#6230=ORIENTED_EDGE('',*,*,#6229,.F.); ++#6231=ORIENTED_EDGE('',*,*,#5989,.T.); ++#6233=ORIENTED_EDGE('',*,*,#6232,.F.); ++#6235=ORIENTED_EDGE('',*,*,#6234,.F.); ++#6237=ORIENTED_EDGE('',*,*,#6236,.T.); ++#6239=ORIENTED_EDGE('',*,*,#6238,.F.); ++#6241=ORIENTED_EDGE('',*,*,#6240,.T.); ++#6243=ORIENTED_EDGE('',*,*,#6242,.F.); ++#6245=ORIENTED_EDGE('',*,*,#6244,.F.); ++#6246=EDGE_LOOP('',(#6220,#6222,#6224,#6226,#6228,#6230,#6231,#6233,#6235,#6237, ++#6239,#6241,#6243,#6245)); ++#6247=FACE_OUTER_BOUND('',#6246,.F.); ++#6249=ORIENTED_EDGE('',*,*,#6248,.F.); ++#6251=ORIENTED_EDGE('',*,*,#6250,.F.); ++#6252=EDGE_LOOP('',(#6249,#6251)); ++#6253=FACE_BOUND('',#6252,.F.); ++#6255=ORIENTED_EDGE('',*,*,#6254,.F.); ++#6257=ORIENTED_EDGE('',*,*,#6256,.F.); ++#6258=EDGE_LOOP('',(#6255,#6257)); ++#6259=FACE_BOUND('',#6258,.F.); ++#6261=ORIENTED_EDGE('',*,*,#6260,.F.); ++#6263=ORIENTED_EDGE('',*,*,#6262,.F.); ++#6264=EDGE_LOOP('',(#6261,#6263)); ++#6265=FACE_BOUND('',#6264,.F.); ++#6267=ORIENTED_EDGE('',*,*,#6266,.F.); ++#6269=ORIENTED_EDGE('',*,*,#6268,.F.); ++#6270=EDGE_LOOP('',(#6267,#6269)); ++#6271=FACE_BOUND('',#6270,.F.); ++#6273=ORIENTED_EDGE('',*,*,#6272,.F.); ++#6275=ORIENTED_EDGE('',*,*,#6274,.F.); ++#6276=EDGE_LOOP('',(#6273,#6275)); ++#6277=FACE_BOUND('',#6276,.F.); ++#6278=ADVANCED_FACE('',(#6247,#6253,#6259,#6265,#6271,#6277),#6219,.T.); ++#6279=CARTESIAN_POINT('',(0.E0,1.5E0,0.E0)); ++#6280=DIRECTION('',(0.E0,1.E0,0.E0)); ++#6281=DIRECTION('',(1.E0,0.E0,0.E0)); ++#6282=AXIS2_PLACEMENT_3D('',#6279,#6280,#6281); ++#6283=PLANE('',#6282); ++#6284=ORIENTED_EDGE('',*,*,#6207,.T.); ++#6285=ORIENTED_EDGE('',*,*,#6167,.T.); ++#6287=ORIENTED_EDGE('',*,*,#6286,.T.); ++#6289=ORIENTED_EDGE('',*,*,#6288,.F.); ++#6291=ORIENTED_EDGE('',*,*,#6290,.T.); ++#6293=ORIENTED_EDGE('',*,*,#6292,.F.); ++#6295=ORIENTED_EDGE('',*,*,#6294,.F.); ++#6297=ORIENTED_EDGE('',*,*,#6296,.T.); ++#6299=ORIENTED_EDGE('',*,*,#6298,.F.); ++#6301=ORIENTED_EDGE('',*,*,#6300,.T.); ++#6303=ORIENTED_EDGE('',*,*,#6302,.F.); ++#6305=ORIENTED_EDGE('',*,*,#6304,.F.); ++#6307=ORIENTED_EDGE('',*,*,#6306,.F.); ++#6309=ORIENTED_EDGE('',*,*,#6308,.T.); ++#6311=ORIENTED_EDGE('',*,*,#6310,.F.); ++#6313=ORIENTED_EDGE('',*,*,#6312,.T.); ++#6315=ORIENTED_EDGE('',*,*,#6314,.F.); ++#6317=ORIENTED_EDGE('',*,*,#6316,.T.); ++#6319=ORIENTED_EDGE('',*,*,#6318,.T.); ++#6321=ORIENTED_EDGE('',*,*,#6320,.T.); ++#6323=ORIENTED_EDGE('',*,*,#6322,.F.); ++#6324=ORIENTED_EDGE('',*,*,#5976,.T.); ++#6326=ORIENTED_EDGE('',*,*,#6325,.T.); ++#6327=ORIENTED_EDGE('',*,*,#6157,.T.); ++#6329=ORIENTED_EDGE('',*,*,#6328,.F.); ++#6331=ORIENTED_EDGE('',*,*,#6330,.F.); ++#6332=EDGE_LOOP('',(#6284,#6285,#6287,#6289,#6291,#6293,#6295,#6297,#6299,#6301, ++#6303,#6305,#6307,#6309,#6311,#6313,#6315,#6317,#6319,#6321,#6323,#6324,#6326, ++#6327,#6329,#6331)); ++#6333=FACE_OUTER_BOUND('',#6332,.F.); ++#6335=ORIENTED_EDGE('',*,*,#6334,.F.); ++#6337=ORIENTED_EDGE('',*,*,#6336,.F.); ++#6338=EDGE_LOOP('',(#6335,#6337)); ++#6339=FACE_BOUND('',#6338,.F.); ++#6341=ORIENTED_EDGE('',*,*,#6340,.F.); ++#6343=ORIENTED_EDGE('',*,*,#6342,.F.); ++#6344=EDGE_LOOP('',(#6341,#6343)); ++#6345=FACE_BOUND('',#6344,.F.); ++#6347=ORIENTED_EDGE('',*,*,#6346,.T.); ++#6349=ORIENTED_EDGE('',*,*,#6348,.T.); ++#6350=EDGE_LOOP('',(#6347,#6349)); ++#6351=FACE_BOUND('',#6350,.F.); ++#6353=ORIENTED_EDGE('',*,*,#6352,.T.); ++#6355=ORIENTED_EDGE('',*,*,#6354,.T.); ++#6356=EDGE_LOOP('',(#6353,#6355)); ++#6357=FACE_BOUND('',#6356,.F.); ++#6359=ORIENTED_EDGE('',*,*,#6358,.F.); ++#6361=ORIENTED_EDGE('',*,*,#6360,.F.); ++#6362=EDGE_LOOP('',(#6359,#6361)); ++#6363=FACE_BOUND('',#6362,.F.); ++#6365=ORIENTED_EDGE('',*,*,#6364,.F.); ++#6367=ORIENTED_EDGE('',*,*,#6366,.F.); ++#6368=EDGE_LOOP('',(#6365,#6367)); ++#6369=FACE_BOUND('',#6368,.F.); ++#6371=ORIENTED_EDGE('',*,*,#6370,.F.); ++#6373=ORIENTED_EDGE('',*,*,#6372,.F.); ++#6374=EDGE_LOOP('',(#6371,#6373)); ++#6375=FACE_BOUND('',#6374,.F.); ++#6377=ORIENTED_EDGE('',*,*,#6376,.F.); ++#6379=ORIENTED_EDGE('',*,*,#6378,.F.); ++#6380=EDGE_LOOP('',(#6377,#6379)); ++#6381=FACE_BOUND('',#6380,.F.); ++#6383=ORIENTED_EDGE('',*,*,#6382,.F.); ++#6385=ORIENTED_EDGE('',*,*,#6384,.F.); ++#6386=EDGE_LOOP('',(#6383,#6385)); ++#6387=FACE_BOUND('',#6386,.F.); ++#6389=ORIENTED_EDGE('',*,*,#6388,.F.); ++#6391=ORIENTED_EDGE('',*,*,#6390,.F.); ++#6392=EDGE_LOOP('',(#6389,#6391)); ++#6393=FACE_BOUND('',#6392,.F.); ++#6395=ORIENTED_EDGE('',*,*,#6394,.F.); ++#6397=ORIENTED_EDGE('',*,*,#6396,.F.); ++#6398=EDGE_LOOP('',(#6395,#6397)); ++#6399=FACE_BOUND('',#6398,.F.); ++#6401=ORIENTED_EDGE('',*,*,#6400,.T.); ++#6403=ORIENTED_EDGE('',*,*,#6402,.F.); ++#6405=ORIENTED_EDGE('',*,*,#6404,.F.); ++#6407=ORIENTED_EDGE('',*,*,#6406,.F.); ++#6409=ORIENTED_EDGE('',*,*,#6408,.T.); ++#6411=ORIENTED_EDGE('',*,*,#6410,.F.); ++#6413=ORIENTED_EDGE('',*,*,#6412,.T.); ++#6415=ORIENTED_EDGE('',*,*,#6414,.F.); ++#6416=EDGE_LOOP('',(#6401,#6403,#6405,#6407,#6409,#6411,#6413,#6415)); ++#6417=FACE_BOUND('',#6416,.F.); ++#6419=ORIENTED_EDGE('',*,*,#6418,.F.); ++#6421=ORIENTED_EDGE('',*,*,#6420,.F.); ++#6423=ORIENTED_EDGE('',*,*,#6422,.T.); ++#6425=ORIENTED_EDGE('',*,*,#6424,.F.); ++#6427=ORIENTED_EDGE('',*,*,#6426,.T.); ++#6429=ORIENTED_EDGE('',*,*,#6428,.F.); ++#6431=ORIENTED_EDGE('',*,*,#6430,.T.); ++#6433=ORIENTED_EDGE('',*,*,#6432,.F.); ++#6435=ORIENTED_EDGE('',*,*,#6434,.F.); ++#6437=ORIENTED_EDGE('',*,*,#6436,.F.); ++#6439=ORIENTED_EDGE('',*,*,#6438,.F.); ++#6441=ORIENTED_EDGE('',*,*,#6440,.T.); ++#6443=ORIENTED_EDGE('',*,*,#6442,.F.); ++#6445=ORIENTED_EDGE('',*,*,#6444,.F.); ++#6447=ORIENTED_EDGE('',*,*,#6446,.T.); ++#6449=ORIENTED_EDGE('',*,*,#6448,.F.); ++#6450=EDGE_LOOP('',(#6419,#6421,#6423,#6425,#6427,#6429,#6431,#6433,#6435,#6437, ++#6439,#6441,#6443,#6445,#6447,#6449)); ++#6451=FACE_BOUND('',#6450,.F.); ++#6453=ORIENTED_EDGE('',*,*,#6452,.F.); ++#6455=ORIENTED_EDGE('',*,*,#6454,.F.); ++#6456=EDGE_LOOP('',(#6453,#6455)); ++#6457=FACE_BOUND('',#6456,.F.); ++#6459=ORIENTED_EDGE('',*,*,#6458,.F.); ++#6461=ORIENTED_EDGE('',*,*,#6460,.F.); ++#6462=EDGE_LOOP('',(#6459,#6461)); ++#6463=FACE_BOUND('',#6462,.F.); ++#6465=ORIENTED_EDGE('',*,*,#6464,.F.); ++#6467=ORIENTED_EDGE('',*,*,#6466,.F.); ++#6468=EDGE_LOOP('',(#6465,#6467)); ++#6469=FACE_BOUND('',#6468,.F.); ++#6471=ORIENTED_EDGE('',*,*,#6470,.F.); ++#6473=ORIENTED_EDGE('',*,*,#6472,.F.); ++#6474=EDGE_LOOP('',(#6471,#6473)); ++#6475=FACE_BOUND('',#6474,.F.); ++#6477=ORIENTED_EDGE('',*,*,#6476,.F.); ++#6479=ORIENTED_EDGE('',*,*,#6478,.F.); ++#6480=EDGE_LOOP('',(#6477,#6479)); ++#6481=FACE_BOUND('',#6480,.F.); ++#6483=ORIENTED_EDGE('',*,*,#6482,.F.); ++#6485=ORIENTED_EDGE('',*,*,#6484,.F.); ++#6486=EDGE_LOOP('',(#6483,#6485)); ++#6487=FACE_BOUND('',#6486,.F.); ++#6488=ADVANCED_FACE('',(#6333,#6339,#6345,#6351,#6357,#6363,#6369,#6375,#6381, ++#6387,#6393,#6399,#6417,#6451,#6457,#6463,#6469,#6475,#6481,#6487),#6283,.T.); ++#6489=CARTESIAN_POINT('',(6.45E0,1.176878221735E0,2.975E1)); ++#6490=DIRECTION('',(0.E0,1.E0,0.E0)); ++#6491=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#6492=AXIS2_PLACEMENT_3D('',#6489,#6490,#6491); ++#6493=CYLINDRICAL_SURFACE('',#6492,1.E-1); ++#6494=ORIENTED_EDGE('',*,*,#6334,.T.); ++#6496=ORIENTED_EDGE('',*,*,#6495,.F.); ++#6498=ORIENTED_EDGE('',*,*,#6497,.F.); ++#6500=ORIENTED_EDGE('',*,*,#6499,.T.); ++#6501=EDGE_LOOP('',(#6494,#6496,#6498,#6500)); ++#6502=FACE_OUTER_BOUND('',#6501,.F.); ++#6503=ADVANCED_FACE('',(#6502),#6493,.F.); ++#6504=CARTESIAN_POINT('',(6.45E0,1.176878221735E0,2.975E1)); ++#6505=DIRECTION('',(0.E0,1.E0,0.E0)); ++#6506=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#6507=AXIS2_PLACEMENT_3D('',#6504,#6505,#6506); ++#6508=CYLINDRICAL_SURFACE('',#6507,1.E-1); ++#6509=ORIENTED_EDGE('',*,*,#6336,.T.); ++#6510=ORIENTED_EDGE('',*,*,#6499,.F.); ++#6512=ORIENTED_EDGE('',*,*,#6511,.T.); ++#6513=ORIENTED_EDGE('',*,*,#6495,.T.); ++#6514=EDGE_LOOP('',(#6509,#6510,#6512,#6513)); ++#6515=FACE_OUTER_BOUND('',#6514,.F.); ++#6516=ADVANCED_FACE('',(#6515),#6508,.F.); ++#6517=CARTESIAN_POINT('',(6.45E0,1.234346967234E0,2.975E1)); ++#6518=DIRECTION('',(0.E0,1.E0,0.E0)); ++#6519=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#6520=AXIS2_PLACEMENT_3D('',#6517,#6518,#6519); ++#6521=CONICAL_SURFACE('',#6520,7.288815195685E-2,6.E1); ++#6523=ORIENTED_EDGE('',*,*,#6522,.T.); ++#6524=ORIENTED_EDGE('',*,*,#6511,.F.); ++#6526=ORIENTED_EDGE('',*,*,#6525,.F.); ++#6527=EDGE_LOOP('',(#6523,#6524,#6526)); ++#6528=FACE_OUTER_BOUND('',#6527,.F.); ++#6529=ADVANCED_FACE('',(#6528),#6521,.F.); ++#6530=CARTESIAN_POINT('',(6.45E0,1.234346967234E0,2.975E1)); ++#6531=DIRECTION('',(0.E0,1.E0,0.E0)); ++#6532=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#6533=AXIS2_PLACEMENT_3D('',#6530,#6531,#6532); ++#6534=CONICAL_SURFACE('',#6533,7.288815195685E-2,6.E1); ++#6535=ORIENTED_EDGE('',*,*,#6522,.F.); ++#6536=ORIENTED_EDGE('',*,*,#6525,.T.); ++#6537=ORIENTED_EDGE('',*,*,#6497,.T.); ++#6538=EDGE_LOOP('',(#6535,#6536,#6537)); ++#6539=FACE_OUTER_BOUND('',#6538,.F.); ++#6540=ADVANCED_FACE('',(#6539),#6534,.F.); ++#6541=CARTESIAN_POINT('',(7.45E0,1.176878221735E0,2.975E1)); ++#6542=DIRECTION('',(0.E0,1.E0,0.E0)); ++#6543=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#6544=AXIS2_PLACEMENT_3D('',#6541,#6542,#6543); ++#6545=CYLINDRICAL_SURFACE('',#6544,1.E-1); ++#6546=ORIENTED_EDGE('',*,*,#6340,.T.); ++#6548=ORIENTED_EDGE('',*,*,#6547,.F.); ++#6550=ORIENTED_EDGE('',*,*,#6549,.F.); ++#6552=ORIENTED_EDGE('',*,*,#6551,.T.); ++#6553=EDGE_LOOP('',(#6546,#6548,#6550,#6552)); ++#6554=FACE_OUTER_BOUND('',#6553,.F.); ++#6555=ADVANCED_FACE('',(#6554),#6545,.F.); ++#6556=CARTESIAN_POINT('',(7.45E0,1.176878221735E0,2.975E1)); ++#6557=DIRECTION('',(0.E0,1.E0,0.E0)); ++#6558=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#6559=AXIS2_PLACEMENT_3D('',#6556,#6557,#6558); ++#6560=CYLINDRICAL_SURFACE('',#6559,1.E-1); ++#6561=ORIENTED_EDGE('',*,*,#6342,.T.); ++#6562=ORIENTED_EDGE('',*,*,#6551,.F.); ++#6564=ORIENTED_EDGE('',*,*,#6563,.T.); ++#6565=ORIENTED_EDGE('',*,*,#6547,.T.); ++#6566=EDGE_LOOP('',(#6561,#6562,#6564,#6565)); ++#6567=FACE_OUTER_BOUND('',#6566,.F.); ++#6568=ADVANCED_FACE('',(#6567),#6560,.F.); ++#6569=CARTESIAN_POINT('',(7.45E0,1.234346967234E0,2.975E1)); ++#6570=DIRECTION('',(0.E0,1.E0,0.E0)); ++#6571=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#6572=AXIS2_PLACEMENT_3D('',#6569,#6570,#6571); ++#6573=CONICAL_SURFACE('',#6572,7.288815195685E-2,6.E1); ++#6575=ORIENTED_EDGE('',*,*,#6574,.T.); ++#6576=ORIENTED_EDGE('',*,*,#6563,.F.); ++#6578=ORIENTED_EDGE('',*,*,#6577,.F.); ++#6579=EDGE_LOOP('',(#6575,#6576,#6578)); ++#6580=FACE_OUTER_BOUND('',#6579,.F.); ++#6581=ADVANCED_FACE('',(#6580),#6573,.F.); ++#6582=CARTESIAN_POINT('',(7.45E0,1.234346967234E0,2.975E1)); ++#6583=DIRECTION('',(0.E0,1.E0,0.E0)); ++#6584=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#6585=AXIS2_PLACEMENT_3D('',#6582,#6583,#6584); ++#6586=CONICAL_SURFACE('',#6585,7.288815195685E-2,6.E1); ++#6587=ORIENTED_EDGE('',*,*,#6574,.F.); ++#6588=ORIENTED_EDGE('',*,*,#6577,.T.); ++#6589=ORIENTED_EDGE('',*,*,#6549,.T.); ++#6590=EDGE_LOOP('',(#6587,#6588,#6589)); ++#6591=FACE_OUTER_BOUND('',#6590,.F.); ++#6592=ADVANCED_FACE('',(#6591),#6586,.F.); ++#6593=CARTESIAN_POINT('',(2.046862696660E1,-7.805924235695E-2,7.E0)); ++#6594=DIRECTION('',(0.E0,1.E0,0.E0)); ++#6595=DIRECTION('',(0.E0,0.E0,1.E0)); ++#6596=AXIS2_PLACEMENT_3D('',#6593,#6594,#6595); ++#6597=CYLINDRICAL_SURFACE('',#6596,1.E0); ++#6598=ORIENTED_EDGE('',*,*,#5961,.F.); ++#6599=ORIENTED_EDGE('',*,*,#5550,.T.); ++#6601=ORIENTED_EDGE('',*,*,#6600,.T.); ++#6602=ORIENTED_EDGE('',*,*,#6221,.T.); ++#6603=EDGE_LOOP('',(#6598,#6599,#6601,#6602)); ++#6604=FACE_OUTER_BOUND('',#6603,.F.); ++#6605=ADVANCED_FACE('',(#6604),#6597,.F.); ++#6606=CARTESIAN_POINT('',(1.65E1,1.562633489099E0,7.5E0)); ++#6607=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#6608=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#6609=AXIS2_PLACEMENT_3D('',#6606,#6607,#6608); ++#6610=CYLINDRICAL_SURFACE('',#6609,5.E0); ++#6611=ORIENTED_EDGE('',*,*,#6600,.F.); ++#6612=ORIENTED_EDGE('',*,*,#5548,.T.); ++#6614=ORIENTED_EDGE('',*,*,#6613,.F.); ++#6615=ORIENTED_EDGE('',*,*,#6223,.T.); ++#6616=EDGE_LOOP('',(#6611,#6612,#6614,#6615)); ++#6617=FACE_OUTER_BOUND('',#6616,.F.); ++#6618=ADVANCED_FACE('',(#6617),#6610,.F.); ++#6619=CARTESIAN_POINT('',(2.15E1,1.5E0,2.5E0)); ++#6620=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#6621=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#6622=AXIS2_PLACEMENT_3D('',#6619,#6620,#6621); ++#6623=PLANE('',#6622); ++#6625=ORIENTED_EDGE('',*,*,#6624,.F.); ++#6626=ORIENTED_EDGE('',*,*,#6225,.F.); ++#6627=ORIENTED_EDGE('',*,*,#6613,.T.); ++#6628=ORIENTED_EDGE('',*,*,#5546,.T.); ++#6629=EDGE_LOOP('',(#6625,#6626,#6627,#6628)); ++#6630=FACE_OUTER_BOUND('',#6629,.F.); ++#6631=ADVANCED_FACE('',(#6630),#6623,.F.); ++#6632=CARTESIAN_POINT('',(7.5E0,1.562633489099E0,7.5E0)); ++#6633=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#6634=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#6635=AXIS2_PLACEMENT_3D('',#6632,#6633,#6634); ++#6636=CYLINDRICAL_SURFACE('',#6635,5.E0); ++#6638=ORIENTED_EDGE('',*,*,#6637,.F.); ++#6639=ORIENTED_EDGE('',*,*,#6227,.T.); ++#6640=ORIENTED_EDGE('',*,*,#6624,.T.); ++#6641=ORIENTED_EDGE('',*,*,#5544,.T.); ++#6642=EDGE_LOOP('',(#6638,#6639,#6640,#6641)); ++#6643=FACE_OUTER_BOUND('',#6642,.F.); ++#6644=ADVANCED_FACE('',(#6643),#6636,.F.); ++#6645=CARTESIAN_POINT('',(3.531373033403E0,1.157860978230E1,7.E0)); ++#6646=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#6647=DIRECTION('',(0.E0,0.E0,1.E0)); ++#6648=AXIS2_PLACEMENT_3D('',#6645,#6646,#6647); ++#6649=CYLINDRICAL_SURFACE('',#6648,1.E0); ++#6650=ORIENTED_EDGE('',*,*,#5991,.F.); ++#6651=ORIENTED_EDGE('',*,*,#6229,.T.); ++#6652=ORIENTED_EDGE('',*,*,#6637,.T.); ++#6653=ORIENTED_EDGE('',*,*,#5542,.T.); ++#6654=EDGE_LOOP('',(#6650,#6651,#6652,#6653)); ++#6655=FACE_OUTER_BOUND('',#6654,.F.); ++#6656=ADVANCED_FACE('',(#6655),#6649,.F.); ++#6657=CARTESIAN_POINT('',(-1.E0,1.161044894892E1,7.E0)); ++#6658=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#6659=DIRECTION('',(1.E0,0.E0,0.E0)); ++#6660=AXIS2_PLACEMENT_3D('',#6657,#6658,#6659); ++#6661=CYLINDRICAL_SURFACE('',#6660,1.E0); ++#6663=ORIENTED_EDGE('',*,*,#6662,.F.); ++#6664=ORIENTED_EDGE('',*,*,#6232,.T.); ++#6665=ORIENTED_EDGE('',*,*,#5987,.T.); ++#6666=ORIENTED_EDGE('',*,*,#5508,.T.); ++#6667=EDGE_LOOP('',(#6663,#6664,#6665,#6666)); ++#6668=FACE_OUTER_BOUND('',#6667,.F.); ++#6669=ADVANCED_FACE('',(#6668),#6661,.F.); ++#6670=CARTESIAN_POINT('',(0.E0,0.E0,0.E0)); ++#6671=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#6672=DIRECTION('',(0.E0,0.E0,1.E0)); ++#6673=AXIS2_PLACEMENT_3D('',#6670,#6671,#6672); ++#6674=PLANE('',#6673); ++#6676=ORIENTED_EDGE('',*,*,#6675,.T.); ++#6677=ORIENTED_EDGE('',*,*,#6302,.T.); ++#6679=ORIENTED_EDGE('',*,*,#6678,.F.); ++#6680=ORIENTED_EDGE('',*,*,#5520,.F.); ++#6681=EDGE_LOOP('',(#6676,#6677,#6679,#6680)); ++#6682=FACE_OUTER_BOUND('',#6681,.F.); ++#6683=ADVANCED_FACE('',(#6682),#6674,.T.); ++#6684=CARTESIAN_POINT('',(0.E0,0.E0,0.E0)); ++#6685=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#6686=DIRECTION('',(0.E0,0.E0,1.E0)); ++#6687=AXIS2_PLACEMENT_3D('',#6684,#6685,#6686); ++#6688=PLANE('',#6687); ++#6689=ORIENTED_EDGE('',*,*,#6662,.T.); ++#6690=ORIENTED_EDGE('',*,*,#5506,.F.); ++#6692=ORIENTED_EDGE('',*,*,#6691,.T.); ++#6693=ORIENTED_EDGE('',*,*,#6234,.T.); ++#6694=EDGE_LOOP('',(#6689,#6690,#6692,#6693)); ++#6695=FACE_OUTER_BOUND('',#6694,.F.); ++#6696=ADVANCED_FACE('',(#6695),#6688,.T.); ++#6697=CARTESIAN_POINT('',(-1.E0,-5.722942641981E-2,1.325E1)); ++#6698=DIRECTION('',(0.E0,1.E0,0.E0)); ++#6699=DIRECTION('',(1.E0,0.E0,0.E0)); ++#6700=AXIS2_PLACEMENT_3D('',#6697,#6698,#6699); ++#6701=CYLINDRICAL_SURFACE('',#6700,1.E0); ++#6702=ORIENTED_EDGE('',*,*,#6675,.F.); ++#6703=ORIENTED_EDGE('',*,*,#5518,.T.); ++#6705=ORIENTED_EDGE('',*,*,#6704,.T.); ++#6706=ORIENTED_EDGE('',*,*,#6304,.T.); ++#6707=EDGE_LOOP('',(#6702,#6703,#6705,#6706)); ++#6708=FACE_OUTER_BOUND('',#6707,.F.); ++#6709=ADVANCED_FACE('',(#6708),#6701,.F.); ++#6710=CARTESIAN_POINT('',(-2.E0,0.E0,1.225E1)); ++#6711=DIRECTION('',(0.E0,0.E0,1.E0)); ++#6712=DIRECTION('',(1.E0,0.E0,0.E0)); ++#6713=AXIS2_PLACEMENT_3D('',#6710,#6711,#6712); ++#6714=PLANE('',#6713); ++#6716=ORIENTED_EDGE('',*,*,#6715,.F.); ++#6717=ORIENTED_EDGE('',*,*,#6442,.T.); ++#6719=ORIENTED_EDGE('',*,*,#6718,.F.); ++#6720=ORIENTED_EDGE('',*,*,#5668,.F.); ++#6721=EDGE_LOOP('',(#6716,#6717,#6719,#6720)); ++#6722=FACE_OUTER_BOUND('',#6721,.F.); ++#6723=ADVANCED_FACE('',(#6722),#6714,.T.); ++#6724=CARTESIAN_POINT('',(-2.E0,0.E0,1.225E1)); ++#6725=DIRECTION('',(0.E0,0.E0,1.E0)); ++#6726=DIRECTION('',(1.E0,0.E0,0.E0)); ++#6727=AXIS2_PLACEMENT_3D('',#6724,#6725,#6726); ++#6728=PLANE('',#6727); ++#6729=ORIENTED_EDGE('',*,*,#6704,.F.); ++#6730=ORIENTED_EDGE('',*,*,#5516,.F.); ++#6732=ORIENTED_EDGE('',*,*,#6731,.T.); ++#6733=ORIENTED_EDGE('',*,*,#6306,.T.); ++#6734=EDGE_LOOP('',(#6729,#6730,#6732,#6733)); ++#6735=FACE_OUTER_BOUND('',#6734,.F.); ++#6736=ADVANCED_FACE('',(#6735),#6728,.T.); ++#6737=CARTESIAN_POINT('',(3.5E0,1.566978255297E0,1.325E1)); ++#6738=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#6739=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#6740=AXIS2_PLACEMENT_3D('',#6737,#6738,#6739); ++#6741=CYLINDRICAL_SURFACE('',#6740,1.E0); ++#6743=ORIENTED_EDGE('',*,*,#6742,.F.); ++#6744=ORIENTED_EDGE('',*,*,#6444,.T.); ++#6745=ORIENTED_EDGE('',*,*,#6715,.T.); ++#6746=ORIENTED_EDGE('',*,*,#5666,.T.); ++#6747=EDGE_LOOP('',(#6743,#6744,#6745,#6746)); ++#6748=FACE_OUTER_BOUND('',#6747,.F.); ++#6749=ADVANCED_FACE('',(#6748),#6741,.F.); ++#6750=CARTESIAN_POINT('',(2.5E0,1.5E0,2.5E0)); ++#6751=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#6752=DIRECTION('',(0.E0,0.E0,1.E0)); ++#6753=AXIS2_PLACEMENT_3D('',#6750,#6751,#6752); ++#6754=PLANE('',#6753); ++#6756=ORIENTED_EDGE('',*,*,#6755,.T.); ++#6757=ORIENTED_EDGE('',*,*,#5650,.T.); ++#6759=ORIENTED_EDGE('',*,*,#6758,.F.); ++#6760=ORIENTED_EDGE('',*,*,#6408,.F.); ++#6761=EDGE_LOOP('',(#6756,#6757,#6759,#6760)); ++#6762=FACE_OUTER_BOUND('',#6761,.F.); ++#6763=ADVANCED_FACE('',(#6762),#6754,.F.); ++#6764=CARTESIAN_POINT('',(2.5E0,1.5E0,2.5E0)); ++#6765=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#6766=DIRECTION('',(0.E0,0.E0,1.E0)); ++#6767=AXIS2_PLACEMENT_3D('',#6764,#6765,#6766); ++#6768=PLANE('',#6767); ++#6770=ORIENTED_EDGE('',*,*,#6769,.T.); ++#6771=ORIENTED_EDGE('',*,*,#6446,.F.); ++#6772=ORIENTED_EDGE('',*,*,#6742,.T.); ++#6773=ORIENTED_EDGE('',*,*,#5664,.T.); ++#6774=EDGE_LOOP('',(#6770,#6771,#6772,#6773)); ++#6775=FACE_OUTER_BOUND('',#6774,.F.); ++#6776=ADVANCED_FACE('',(#6775),#6768,.F.); ++#6777=CARTESIAN_POINT('',(5.5E0,1.568923974228E0,2.19375E1)); ++#6778=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#6779=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#6780=AXIS2_PLACEMENT_3D('',#6777,#6778,#6779); ++#6781=CYLINDRICAL_SURFACE('',#6780,3.E0); ++#6782=ORIENTED_EDGE('',*,*,#6755,.F.); ++#6783=ORIENTED_EDGE('',*,*,#6406,.T.); ++#6785=ORIENTED_EDGE('',*,*,#6784,.T.); ++#6786=ORIENTED_EDGE('',*,*,#5652,.T.); ++#6787=EDGE_LOOP('',(#6782,#6783,#6785,#6786)); ++#6788=FACE_OUTER_BOUND('',#6787,.F.); ++#6789=ADVANCED_FACE('',(#6788),#6781,.F.); ++#6790=CARTESIAN_POINT('',(2.5E0,0.E0,1.89375E1)); ++#6791=DIRECTION('',(0.E0,0.E0,1.E0)); ++#6792=DIRECTION('',(1.E0,0.E0,0.E0)); ++#6793=AXIS2_PLACEMENT_3D('',#6790,#6791,#6792); ++#6794=PLANE('',#6793); ++#6795=ORIENTED_EDGE('',*,*,#6784,.F.); ++#6796=ORIENTED_EDGE('',*,*,#6404,.T.); ++#6798=ORIENTED_EDGE('',*,*,#6797,.F.); ++#6799=ORIENTED_EDGE('',*,*,#5638,.F.); ++#6800=EDGE_LOOP('',(#6795,#6796,#6798,#6799)); ++#6801=FACE_OUTER_BOUND('',#6800,.F.); ++#6802=ADVANCED_FACE('',(#6801),#6794,.T.); ++#6803=CARTESIAN_POINT('',(1.85E1,-5.889194178308E-2,2.19375E1)); ++#6804=DIRECTION('',(0.E0,1.E0,0.E0)); ++#6805=DIRECTION('',(1.E0,0.E0,0.E0)); ++#6806=AXIS2_PLACEMENT_3D('',#6803,#6804,#6805); ++#6807=CYLINDRICAL_SURFACE('',#6806,3.E0); ++#6809=ORIENTED_EDGE('',*,*,#6808,.F.); ++#6810=ORIENTED_EDGE('',*,*,#5640,.T.); ++#6811=ORIENTED_EDGE('',*,*,#6797,.T.); ++#6812=ORIENTED_EDGE('',*,*,#6402,.T.); ++#6813=EDGE_LOOP('',(#6809,#6810,#6811,#6812)); ++#6814=FACE_OUTER_BOUND('',#6813,.F.); ++#6815=ADVANCED_FACE('',(#6814),#6807,.F.); ++#6816=CARTESIAN_POINT('',(2.15E1,1.5E0,2.95E1)); ++#6817=DIRECTION('',(1.E0,0.E0,0.E0)); ++#6818=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#6819=AXIS2_PLACEMENT_3D('',#6816,#6817,#6818); ++#6820=PLANE('',#6819); ++#6821=ORIENTED_EDGE('',*,*,#6808,.T.); ++#6822=ORIENTED_EDGE('',*,*,#6400,.F.); ++#6824=ORIENTED_EDGE('',*,*,#6823,.T.); ++#6825=ORIENTED_EDGE('',*,*,#5642,.T.); ++#6826=EDGE_LOOP('',(#6821,#6822,#6824,#6825)); ++#6827=FACE_OUTER_BOUND('',#6826,.F.); ++#6828=ADVANCED_FACE('',(#6827),#6820,.F.); ++#6829=CARTESIAN_POINT('',(2.15E1,1.5E0,2.95E1)); ++#6830=DIRECTION('',(1.E0,0.E0,0.E0)); ++#6831=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#6832=AXIS2_PLACEMENT_3D('',#6829,#6830,#6831); ++#6833=PLANE('',#6832); ++#6835=ORIENTED_EDGE('',*,*,#6834,.T.); ++#6836=ORIENTED_EDGE('',*,*,#5656,.T.); ++#6838=ORIENTED_EDGE('',*,*,#6837,.T.); ++#6839=ORIENTED_EDGE('',*,*,#6422,.F.); ++#6840=EDGE_LOOP('',(#6835,#6836,#6838,#6839)); ++#6841=FACE_OUTER_BOUND('',#6840,.F.); ++#6842=ADVANCED_FACE('',(#6841),#6833,.F.); ++#6843=CARTESIAN_POINT('',(1.65E1,1.562633489099E0,2.45E1)); ++#6844=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#6845=DIRECTION('',(1.E0,0.E0,0.E0)); ++#6846=AXIS2_PLACEMENT_3D('',#6843,#6844,#6845); ++#6847=CYLINDRICAL_SURFACE('',#6846,5.E0); ++#6848=ORIENTED_EDGE('',*,*,#6823,.F.); ++#6849=ORIENTED_EDGE('',*,*,#6414,.T.); ++#6851=ORIENTED_EDGE('',*,*,#6850,.T.); ++#6852=ORIENTED_EDGE('',*,*,#5644,.T.); ++#6853=EDGE_LOOP('',(#6848,#6849,#6851,#6852)); ++#6854=FACE_OUTER_BOUND('',#6853,.F.); ++#6855=ADVANCED_FACE('',(#6854),#6847,.F.); ++#6856=CARTESIAN_POINT('',(2.5E0,1.5E0,2.95E1)); ++#6857=DIRECTION('',(0.E0,0.E0,1.E0)); ++#6858=DIRECTION('',(1.E0,0.E0,0.E0)); ++#6859=AXIS2_PLACEMENT_3D('',#6856,#6857,#6858); ++#6860=PLANE('',#6859); ++#6862=ORIENTED_EDGE('',*,*,#6861,.T.); ++#6863=ORIENTED_EDGE('',*,*,#5646,.T.); ++#6864=ORIENTED_EDGE('',*,*,#6850,.F.); ++#6865=ORIENTED_EDGE('',*,*,#6412,.F.); ++#6866=EDGE_LOOP('',(#6862,#6863,#6864,#6865)); ++#6867=FACE_OUTER_BOUND('',#6866,.F.); ++#6868=ADVANCED_FACE('',(#6867),#6860,.F.); ++#6869=CARTESIAN_POINT('',(7.5E0,1.562633489099E0,2.45E1)); ++#6870=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#6871=DIRECTION('',(0.E0,0.E0,1.E0)); ++#6872=AXIS2_PLACEMENT_3D('',#6869,#6870,#6871); ++#6873=CYLINDRICAL_SURFACE('',#6872,5.E0); ++#6874=ORIENTED_EDGE('',*,*,#6861,.F.); ++#6875=ORIENTED_EDGE('',*,*,#6410,.T.); ++#6876=ORIENTED_EDGE('',*,*,#6758,.T.); ++#6877=ORIENTED_EDGE('',*,*,#5648,.T.); ++#6878=EDGE_LOOP('',(#6874,#6875,#6876,#6877)); ++#6879=FACE_OUTER_BOUND('',#6878,.F.); ++#6880=ADVANCED_FACE('',(#6879),#6873,.F.); ++#6881=CARTESIAN_POINT('',(1.85E1,1.568923974228E0,1.40625E1)); ++#6882=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#6883=DIRECTION('',(1.E0,0.E0,0.E0)); ++#6884=AXIS2_PLACEMENT_3D('',#6881,#6882,#6883); ++#6885=CYLINDRICAL_SURFACE('',#6884,3.E0); ++#6886=ORIENTED_EDGE('',*,*,#6834,.F.); ++#6887=ORIENTED_EDGE('',*,*,#6420,.T.); ++#6889=ORIENTED_EDGE('',*,*,#6888,.T.); ++#6890=ORIENTED_EDGE('',*,*,#5658,.T.); ++#6891=EDGE_LOOP('',(#6886,#6887,#6889,#6890)); ++#6892=FACE_OUTER_BOUND('',#6891,.F.); ++#6893=ADVANCED_FACE('',(#6892),#6885,.F.); ++#6894=CARTESIAN_POINT('',(2.15E1,0.E0,1.70625E1)); ++#6895=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#6896=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#6897=AXIS2_PLACEMENT_3D('',#6894,#6895,#6896); ++#6898=PLANE('',#6897); ++#6899=ORIENTED_EDGE('',*,*,#6888,.F.); ++#6900=ORIENTED_EDGE('',*,*,#6418,.T.); ++#6902=ORIENTED_EDGE('',*,*,#6901,.F.); ++#6903=ORIENTED_EDGE('',*,*,#5660,.F.); ++#6904=EDGE_LOOP('',(#6899,#6900,#6902,#6903)); ++#6905=FACE_OUTER_BOUND('',#6904,.F.); ++#6906=ADVANCED_FACE('',(#6905),#6898,.T.); ++#6907=CARTESIAN_POINT('',(5.5E0,-5.889194178308E-2,1.40625E1)); ++#6908=DIRECTION('',(0.E0,1.E0,0.E0)); ++#6909=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#6910=AXIS2_PLACEMENT_3D('',#6907,#6908,#6909); ++#6911=CYLINDRICAL_SURFACE('',#6910,3.E0); ++#6912=ORIENTED_EDGE('',*,*,#6769,.F.); ++#6913=ORIENTED_EDGE('',*,*,#5662,.T.); ++#6914=ORIENTED_EDGE('',*,*,#6901,.T.); ++#6915=ORIENTED_EDGE('',*,*,#6448,.T.); ++#6916=EDGE_LOOP('',(#6912,#6913,#6914,#6915)); ++#6917=FACE_OUTER_BOUND('',#6916,.F.); ++#6918=ADVANCED_FACE('',(#6917),#6911,.F.); ++#6919=CARTESIAN_POINT('',(2.05E1,-5.889194178308E-2,1.325E1)); ++#6920=DIRECTION('',(0.E0,1.E0,0.E0)); ++#6921=DIRECTION('',(1.E0,0.E0,0.E0)); ++#6922=AXIS2_PLACEMENT_3D('',#6919,#6920,#6921); ++#6923=CYLINDRICAL_SURFACE('',#6922,1.E0); ++#6924=ORIENTED_EDGE('',*,*,#6837,.F.); ++#6925=ORIENTED_EDGE('',*,*,#5686,.T.); ++#6927=ORIENTED_EDGE('',*,*,#6926,.T.); ++#6928=ORIENTED_EDGE('',*,*,#6424,.T.); ++#6929=EDGE_LOOP('',(#6924,#6925,#6927,#6928)); ++#6930=FACE_OUTER_BOUND('',#6929,.F.); ++#6931=ADVANCED_FACE('',(#6930),#6923,.F.); ++#6932=CARTESIAN_POINT('',(2.6E1,0.E0,1.225E1)); ++#6933=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#6934=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#6935=AXIS2_PLACEMENT_3D('',#6932,#6933,#6934); ++#6936=PLANE('',#6935); ++#6938=ORIENTED_EDGE('',*,*,#6937,.F.); ++#6939=ORIENTED_EDGE('',*,*,#6290,.F.); ++#6941=ORIENTED_EDGE('',*,*,#6940,.T.); ++#6942=ORIENTED_EDGE('',*,*,#5532,.T.); ++#6943=EDGE_LOOP('',(#6938,#6939,#6941,#6942)); ++#6944=FACE_OUTER_BOUND('',#6943,.F.); ++#6945=ADVANCED_FACE('',(#6944),#6936,.F.); ++#6946=CARTESIAN_POINT('',(2.6E1,0.E0,1.225E1)); ++#6947=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#6948=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#6949=AXIS2_PLACEMENT_3D('',#6946,#6947,#6948); ++#6950=PLANE('',#6949); ++#6951=ORIENTED_EDGE('',*,*,#6926,.F.); ++#6952=ORIENTED_EDGE('',*,*,#5684,.T.); ++#6954=ORIENTED_EDGE('',*,*,#6953,.F.); ++#6955=ORIENTED_EDGE('',*,*,#6426,.F.); ++#6956=EDGE_LOOP('',(#6951,#6952,#6954,#6955)); ++#6957=FACE_OUTER_BOUND('',#6956,.F.); ++#6958=ADVANCED_FACE('',(#6957),#6950,.F.); ++#6959=CARTESIAN_POINT('',(2.5E1,1.568923974228E0,1.325E1)); ++#6960=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#6961=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#6962=AXIS2_PLACEMENT_3D('',#6959,#6960,#6961); ++#6963=CYLINDRICAL_SURFACE('',#6962,1.E0); ++#6965=ORIENTED_EDGE('',*,*,#6964,.F.); ++#6966=ORIENTED_EDGE('',*,*,#6292,.T.); ++#6967=ORIENTED_EDGE('',*,*,#6937,.T.); ++#6968=ORIENTED_EDGE('',*,*,#5530,.T.); ++#6969=EDGE_LOOP('',(#6965,#6966,#6967,#6968)); ++#6970=FACE_OUTER_BOUND('',#6969,.F.); ++#6971=ADVANCED_FACE('',(#6970),#6963,.F.); ++#6972=CARTESIAN_POINT('',(2.4E1,0.E0,3.2E1)); ++#6973=DIRECTION('',(1.E0,0.E0,0.E0)); ++#6974=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#6975=AXIS2_PLACEMENT_3D('',#6972,#6973,#6974); ++#6976=PLANE('',#6975); ++#6977=ORIENTED_EDGE('',*,*,#6964,.T.); ++#6978=ORIENTED_EDGE('',*,*,#5528,.F.); ++#6980=ORIENTED_EDGE('',*,*,#6979,.T.); ++#6981=ORIENTED_EDGE('',*,*,#6294,.T.); ++#6982=EDGE_LOOP('',(#6977,#6978,#6980,#6981)); ++#6983=FACE_OUTER_BOUND('',#6982,.F.); ++#6984=ADVANCED_FACE('',(#6983),#6976,.T.); ++#6985=CARTESIAN_POINT('',(2.4E1,0.E0,3.2E1)); ++#6986=DIRECTION('',(1.E0,0.E0,0.E0)); ++#6987=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#6988=AXIS2_PLACEMENT_3D('',#6985,#6986,#6987); ++#6989=PLANE('',#6988); ++#6991=ORIENTED_EDGE('',*,*,#6990,.T.); ++#6992=ORIENTED_EDGE('',*,*,#6242,.T.); ++#6994=ORIENTED_EDGE('',*,*,#6993,.F.); ++#6995=ORIENTED_EDGE('',*,*,#5498,.F.); ++#6996=EDGE_LOOP('',(#6991,#6992,#6994,#6995)); ++#6997=FACE_OUTER_BOUND('',#6996,.F.); ++#6998=ADVANCED_FACE('',(#6997),#6989,.T.); ++#6999=CARTESIAN_POINT('',(2.4E1,0.E0,2.8E1)); ++#7000=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1)); ++#7001=DIRECTION('',(0.E0,1.E0,0.E0)); ++#7002=AXIS2_PLACEMENT_3D('',#6999,#7000,#7001); ++#7003=PLANE('',#7002); ++#7004=ORIENTED_EDGE('',*,*,#6979,.F.); ++#7005=ORIENTED_EDGE('',*,*,#5526,.T.); ++#7007=ORIENTED_EDGE('',*,*,#7006,.T.); ++#7008=ORIENTED_EDGE('',*,*,#6296,.F.); ++#7009=EDGE_LOOP('',(#7004,#7005,#7007,#7008)); ++#7010=FACE_OUTER_BOUND('',#7009,.F.); ++#7011=ADVANCED_FACE('',(#7010),#7003,.T.); ++#7012=CARTESIAN_POINT('',(0.E0,0.E0,3.2E1)); ++#7013=DIRECTION('',(0.E0,0.E0,1.E0)); ++#7014=DIRECTION('',(1.E0,0.E0,0.E0)); ++#7015=AXIS2_PLACEMENT_3D('',#7012,#7013,#7014); ++#7016=PLANE('',#7015); ++#7017=ORIENTED_EDGE('',*,*,#5524,.F.); ++#7019=ORIENTED_EDGE('',*,*,#7018,.T.); ++#7020=ORIENTED_EDGE('',*,*,#6298,.T.); ++#7021=ORIENTED_EDGE('',*,*,#7006,.F.); ++#7022=EDGE_LOOP('',(#7017,#7019,#7020,#7021)); ++#7023=FACE_OUTER_BOUND('',#7022,.F.); ++#7024=ADVANCED_FACE('',(#7023),#7016,.T.); ++#7025=CARTESIAN_POINT('',(4.E0,0.E0,3.2E1)); ++#7026=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1)); ++#7027=DIRECTION('',(0.E0,1.E0,0.E0)); ++#7028=AXIS2_PLACEMENT_3D('',#7025,#7026,#7027); ++#7029=PLANE('',#7028); ++#7030=ORIENTED_EDGE('',*,*,#7018,.F.); ++#7031=ORIENTED_EDGE('',*,*,#5522,.T.); ++#7032=ORIENTED_EDGE('',*,*,#6678,.T.); ++#7033=ORIENTED_EDGE('',*,*,#6300,.F.); ++#7034=EDGE_LOOP('',(#7030,#7031,#7032,#7033)); ++#7035=FACE_OUTER_BOUND('',#7034,.F.); ++#7036=ADVANCED_FACE('',(#7035),#7029,.T.); ++#7037=CARTESIAN_POINT('',(2.5E1,-7.055249658685E-2,7.E0)); ++#7038=DIRECTION('',(0.E0,1.E0,0.E0)); ++#7039=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#7040=AXIS2_PLACEMENT_3D('',#7037,#7038,#7039); ++#7041=CYLINDRICAL_SURFACE('',#7040,1.E0); ++#7042=ORIENTED_EDGE('',*,*,#6990,.F.); ++#7043=ORIENTED_EDGE('',*,*,#5496,.T.); ++#7044=ORIENTED_EDGE('',*,*,#5965,.T.); ++#7045=ORIENTED_EDGE('',*,*,#6244,.T.); ++#7046=EDGE_LOOP('',(#7042,#7043,#7044,#7045)); ++#7047=FACE_OUTER_BOUND('',#7046,.F.); ++#7048=ADVANCED_FACE('',(#7047),#7041,.F.); ++#7049=CARTESIAN_POINT('',(2.E1,0.E0,0.E0)); ++#7050=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1)); ++#7051=DIRECTION('',(0.E0,1.E0,0.E0)); ++#7052=AXIS2_PLACEMENT_3D('',#7049,#7050,#7051); ++#7053=PLANE('',#7052); ++#7055=ORIENTED_EDGE('',*,*,#7054,.F.); ++#7056=ORIENTED_EDGE('',*,*,#5500,.T.); ++#7057=ORIENTED_EDGE('',*,*,#6993,.T.); ++#7058=ORIENTED_EDGE('',*,*,#6240,.F.); ++#7059=EDGE_LOOP('',(#7055,#7056,#7057,#7058)); ++#7060=FACE_OUTER_BOUND('',#7059,.F.); ++#7061=ADVANCED_FACE('',(#7060),#7053,.T.); ++#7062=CARTESIAN_POINT('',(2.4E1,0.E0,0.E0)); ++#7063=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#7064=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#7065=AXIS2_PLACEMENT_3D('',#7062,#7063,#7064); ++#7066=PLANE('',#7065); ++#7067=ORIENTED_EDGE('',*,*,#5502,.F.); ++#7068=ORIENTED_EDGE('',*,*,#7054,.T.); ++#7069=ORIENTED_EDGE('',*,*,#6238,.T.); ++#7071=ORIENTED_EDGE('',*,*,#7070,.F.); ++#7072=EDGE_LOOP('',(#7067,#7068,#7069,#7071)); ++#7073=FACE_OUTER_BOUND('',#7072,.F.); ++#7074=ADVANCED_FACE('',(#7073),#7066,.T.); ++#7075=CARTESIAN_POINT('',(0.E0,0.E0,4.E0)); ++#7076=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1)); ++#7077=DIRECTION('',(0.E0,1.E0,0.E0)); ++#7078=AXIS2_PLACEMENT_3D('',#7075,#7076,#7077); ++#7079=PLANE('',#7078); ++#7080=ORIENTED_EDGE('',*,*,#6691,.F.); ++#7081=ORIENTED_EDGE('',*,*,#5504,.T.); ++#7082=ORIENTED_EDGE('',*,*,#7070,.T.); ++#7083=ORIENTED_EDGE('',*,*,#6236,.F.); ++#7084=EDGE_LOOP('',(#7080,#7081,#7082,#7083)); ++#7085=FACE_OUTER_BOUND('',#7084,.F.); ++#7086=ADVANCED_FACE('',(#7085),#7079,.T.); ++#7087=CARTESIAN_POINT('',(2.55E1,1.5E0,1.225E1)); ++#7088=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1)); ++#7089=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#7090=AXIS2_PLACEMENT_3D('',#7087,#7088,#7089); ++#7091=PLANE('',#7090); ++#7092=ORIENTED_EDGE('',*,*,#6940,.F.); ++#7093=ORIENTED_EDGE('',*,*,#6288,.T.); ++#7095=ORIENTED_EDGE('',*,*,#7094,.T.); ++#7096=ORIENTED_EDGE('',*,*,#5534,.F.); ++#7097=EDGE_LOOP('',(#7092,#7093,#7095,#7096)); ++#7098=FACE_OUTER_BOUND('',#7097,.F.); ++#7099=ADVANCED_FACE('',(#7098),#7091,.T.); ++#7100=CARTESIAN_POINT('',(2.6E1,2.5E0,8.E0)); ++#7101=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#7102=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#7103=AXIS2_PLACEMENT_3D('',#7100,#7101,#7102); ++#7104=PLANE('',#7103); ++#7105=ORIENTED_EDGE('',*,*,#5968,.T.); ++#7106=ORIENTED_EDGE('',*,*,#5536,.T.); ++#7107=ORIENTED_EDGE('',*,*,#7094,.F.); ++#7108=ORIENTED_EDGE('',*,*,#6286,.F.); ++#7109=ORIENTED_EDGE('',*,*,#6165,.F.); ++#7111=ORIENTED_EDGE('',*,*,#7110,.F.); ++#7112=EDGE_LOOP('',(#7105,#7106,#7107,#7108,#7109,#7111)); ++#7113=FACE_OUTER_BOUND('',#7112,.F.); ++#7114=ADVANCED_FACE('',(#7113),#7104,.F.); ++#7115=CARTESIAN_POINT('',(2.1E1,1.15E1,8.E0)); ++#7116=DIRECTION('',(-8.741572761215E-1,-4.856429311786E-1,0.E0)); ++#7117=DIRECTION('',(4.856429311786E-1,-8.741572761215E-1,0.E0)); ++#7118=AXIS2_PLACEMENT_3D('',#7115,#7116,#7117); ++#7119=PLANE('',#7118); ++#7120=ORIENTED_EDGE('',*,*,#5970,.T.); ++#7121=ORIENTED_EDGE('',*,*,#7110,.T.); ++#7122=ORIENTED_EDGE('',*,*,#6163,.F.); ++#7124=ORIENTED_EDGE('',*,*,#7123,.F.); ++#7125=EDGE_LOOP('',(#7120,#7121,#7122,#7124)); ++#7126=FACE_OUTER_BOUND('',#7125,.F.); ++#7127=ADVANCED_FACE('',(#7126),#7119,.F.); ++#7128=CARTESIAN_POINT('',(1.9E1,1.15E1,8.E0)); ++#7129=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#7130=DIRECTION('',(1.E0,0.E0,0.E0)); ++#7131=AXIS2_PLACEMENT_3D('',#7128,#7129,#7130); ++#7132=PLANE('',#7131); ++#7133=ORIENTED_EDGE('',*,*,#5972,.F.); ++#7134=ORIENTED_EDGE('',*,*,#7123,.T.); ++#7135=ORIENTED_EDGE('',*,*,#6161,.F.); ++#7137=ORIENTED_EDGE('',*,*,#7136,.F.); ++#7138=EDGE_LOOP('',(#7133,#7134,#7135,#7137)); ++#7139=FACE_OUTER_BOUND('',#7138,.F.); ++#7141=ORIENTED_EDGE('',*,*,#7140,.T.); ++#7143=ORIENTED_EDGE('',*,*,#7142,.T.); ++#7144=EDGE_LOOP('',(#7141,#7143)); ++#7145=FACE_BOUND('',#7144,.F.); ++#7147=ORIENTED_EDGE('',*,*,#7146,.T.); ++#7149=ORIENTED_EDGE('',*,*,#7148,.T.); ++#7150=EDGE_LOOP('',(#7147,#7149)); ++#7151=FACE_BOUND('',#7150,.F.); ++#7152=ADVANCED_FACE('',(#7139,#7145,#7151),#7132,.F.); ++#7153=CARTESIAN_POINT('',(1.9E1,1.5E0,8.E0)); ++#7154=DIRECTION('',(1.E0,0.E0,0.E0)); ++#7155=DIRECTION('',(0.E0,1.E0,0.E0)); ++#7156=AXIS2_PLACEMENT_3D('',#7153,#7154,#7155); ++#7157=PLANE('',#7156); ++#7159=ORIENTED_EDGE('',*,*,#7158,.T.); ++#7160=ORIENTED_EDGE('',*,*,#6430,.F.); ++#7162=ORIENTED_EDGE('',*,*,#7161,.T.); ++#7163=ORIENTED_EDGE('',*,*,#5680,.T.); ++#7164=EDGE_LOOP('',(#7159,#7160,#7162,#7163)); ++#7165=FACE_OUTER_BOUND('',#7164,.F.); ++#7166=ADVANCED_FACE('',(#7165),#7157,.F.); ++#7167=CARTESIAN_POINT('',(1.9E1,1.5E0,8.E0)); ++#7168=DIRECTION('',(1.E0,0.E0,0.E0)); ++#7169=DIRECTION('',(0.E0,1.E0,0.E0)); ++#7170=AXIS2_PLACEMENT_3D('',#7167,#7168,#7169); ++#7171=PLANE('',#7170); ++#7172=ORIENTED_EDGE('',*,*,#6325,.F.); ++#7173=ORIENTED_EDGE('',*,*,#5974,.T.); ++#7174=ORIENTED_EDGE('',*,*,#7136,.T.); ++#7175=ORIENTED_EDGE('',*,*,#6159,.F.); ++#7176=EDGE_LOOP('',(#7172,#7173,#7174,#7175)); ++#7177=FACE_OUTER_BOUND('',#7176,.F.); ++#7178=ADVANCED_FACE('',(#7177),#7171,.F.); ++#7179=CARTESIAN_POINT('',(1.8E1,-7.099592191979E-2,1.1E1)); ++#7180=DIRECTION('',(0.E0,1.E0,0.E0)); ++#7181=DIRECTION('',(1.E0,0.E0,0.E0)); ++#7182=AXIS2_PLACEMENT_3D('',#7179,#7180,#7181); ++#7183=CYLINDRICAL_SURFACE('',#7182,1.E0); ++#7184=ORIENTED_EDGE('',*,*,#7158,.F.); ++#7185=ORIENTED_EDGE('',*,*,#5678,.T.); ++#7187=ORIENTED_EDGE('',*,*,#7186,.T.); ++#7188=ORIENTED_EDGE('',*,*,#6432,.T.); ++#7189=EDGE_LOOP('',(#7184,#7185,#7187,#7188)); ++#7190=FACE_OUTER_BOUND('',#7189,.F.); ++#7191=ADVANCED_FACE('',(#7190),#7183,.F.); ++#7192=CARTESIAN_POINT('',(5.E0,1.5E0,1.E1)); ++#7193=DIRECTION('',(0.E0,0.E0,1.E0)); ++#7194=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#7195=AXIS2_PLACEMENT_3D('',#7192,#7193,#7194); ++#7196=PLANE('',#7195); ++#7198=ORIENTED_EDGE('',*,*,#7197,.F.); ++#7199=ORIENTED_EDGE('',*,*,#6434,.T.); ++#7200=ORIENTED_EDGE('',*,*,#7186,.F.); ++#7201=ORIENTED_EDGE('',*,*,#5676,.F.); ++#7202=EDGE_LOOP('',(#7198,#7199,#7200,#7201)); ++#7203=FACE_OUTER_BOUND('',#7202,.F.); ++#7204=ADVANCED_FACE('',(#7203),#7196,.T.); ++#7205=CARTESIAN_POINT('',(6.E0,1.567729432957E0,1.1E1)); ++#7206=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#7207=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#7208=AXIS2_PLACEMENT_3D('',#7205,#7206,#7207); ++#7209=CYLINDRICAL_SURFACE('',#7208,1.E0); ++#7211=ORIENTED_EDGE('',*,*,#7210,.F.); ++#7212=ORIENTED_EDGE('',*,*,#6436,.T.); ++#7213=ORIENTED_EDGE('',*,*,#7197,.T.); ++#7214=ORIENTED_EDGE('',*,*,#5674,.T.); ++#7215=EDGE_LOOP('',(#7211,#7212,#7213,#7214)); ++#7216=FACE_OUTER_BOUND('',#7215,.F.); ++#7217=ADVANCED_FACE('',(#7216),#7209,.F.); ++#7218=CARTESIAN_POINT('',(5.E0,1.5E0,8.E0)); ++#7219=DIRECTION('',(1.E0,0.E0,0.E0)); ++#7220=DIRECTION('',(0.E0,1.E0,0.E0)); ++#7221=AXIS2_PLACEMENT_3D('',#7218,#7219,#7220); ++#7222=PLANE('',#7221); ++#7223=ORIENTED_EDGE('',*,*,#7210,.T.); ++#7224=ORIENTED_EDGE('',*,*,#5672,.F.); ++#7226=ORIENTED_EDGE('',*,*,#7225,.T.); ++#7227=ORIENTED_EDGE('',*,*,#6438,.T.); ++#7228=EDGE_LOOP('',(#7223,#7224,#7226,#7227)); ++#7229=FACE_OUTER_BOUND('',#7228,.F.); ++#7230=ADVANCED_FACE('',(#7229),#7222,.T.); ++#7231=CARTESIAN_POINT('',(5.E0,1.5E0,8.E0)); ++#7232=DIRECTION('',(1.E0,0.E0,0.E0)); ++#7233=DIRECTION('',(0.E0,1.E0,0.E0)); ++#7234=AXIS2_PLACEMENT_3D('',#7231,#7232,#7233); ++#7235=PLANE('',#7234); ++#7236=ORIENTED_EDGE('',*,*,#6322,.T.); ++#7238=ORIENTED_EDGE('',*,*,#7237,.T.); ++#7240=ORIENTED_EDGE('',*,*,#7239,.F.); ++#7241=ORIENTED_EDGE('',*,*,#5978,.T.); ++#7242=EDGE_LOOP('',(#7236,#7238,#7240,#7241)); ++#7243=FACE_OUTER_BOUND('',#7242,.F.); ++#7244=ADVANCED_FACE('',(#7243),#7235,.T.); ++#7245=CARTESIAN_POINT('',(5.E0,0.E0,1.175E1)); ++#7246=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1)); ++#7247=DIRECTION('',(0.E0,1.E0,0.E0)); ++#7248=AXIS2_PLACEMENT_3D('',#7245,#7246,#7247); ++#7249=PLANE('',#7248); ++#7250=ORIENTED_EDGE('',*,*,#7225,.F.); ++#7251=ORIENTED_EDGE('',*,*,#5670,.T.); ++#7252=ORIENTED_EDGE('',*,*,#6718,.T.); ++#7253=ORIENTED_EDGE('',*,*,#6440,.F.); ++#7254=EDGE_LOOP('',(#7250,#7251,#7252,#7253)); ++#7255=FACE_OUTER_BOUND('',#7254,.F.); ++#7256=ADVANCED_FACE('',(#7255),#7249,.T.); ++#7257=CARTESIAN_POINT('',(0.E0,0.E0,1.E1)); ++#7258=DIRECTION('',(0.E0,0.E0,1.E0)); ++#7259=DIRECTION('',(1.E0,0.E0,0.E0)); ++#7260=AXIS2_PLACEMENT_3D('',#7257,#7258,#7259); ++#7261=PLANE('',#7260); ++#7263=ORIENTED_EDGE('',*,*,#7262,.F.); ++#7264=ORIENTED_EDGE('',*,*,#6312,.F.); ++#7266=ORIENTED_EDGE('',*,*,#7265,.F.); ++#7268=ORIENTED_EDGE('',*,*,#7267,.F.); ++#7270=ORIENTED_EDGE('',*,*,#7269,.F.); ++#7271=ORIENTED_EDGE('',*,*,#7237,.F.); ++#7272=ORIENTED_EDGE('',*,*,#6320,.F.); ++#7274=ORIENTED_EDGE('',*,*,#7273,.T.); ++#7276=ORIENTED_EDGE('',*,*,#7275,.F.); ++#7277=EDGE_LOOP('',(#7263,#7264,#7266,#7268,#7270,#7271,#7272,#7274,#7276)); ++#7278=FACE_OUTER_BOUND('',#7277,.F.); ++#7280=ORIENTED_EDGE('',*,*,#7279,.T.); ++#7282=ORIENTED_EDGE('',*,*,#7281,.T.); ++#7283=EDGE_LOOP('',(#7280,#7282)); ++#7284=FACE_BOUND('',#7283,.F.); ++#7286=ORIENTED_EDGE('',*,*,#7285,.F.); ++#7288=ORIENTED_EDGE('',*,*,#7287,.T.); ++#7290=ORIENTED_EDGE('',*,*,#7289,.F.); ++#7292=ORIENTED_EDGE('',*,*,#7291,.T.); ++#7294=ORIENTED_EDGE('',*,*,#7293,.F.); ++#7296=ORIENTED_EDGE('',*,*,#7295,.T.); ++#7298=ORIENTED_EDGE('',*,*,#7297,.F.); ++#7300=ORIENTED_EDGE('',*,*,#7299,.T.); ++#7302=ORIENTED_EDGE('',*,*,#7301,.F.); ++#7304=ORIENTED_EDGE('',*,*,#7303,.T.); ++#7306=ORIENTED_EDGE('',*,*,#7305,.F.); ++#7308=ORIENTED_EDGE('',*,*,#7307,.T.); ++#7309=EDGE_LOOP('',(#7286,#7288,#7290,#7292,#7294,#7296,#7298,#7300,#7302,#7304, ++#7306,#7308)); ++#7310=FACE_BOUND('',#7309,.F.); ++#7311=ADVANCED_FACE('',(#7278,#7284,#7310),#7261,.T.); ++#7312=CARTESIAN_POINT('',(4.25E0,1.05E1,8.E0)); ++#7313=DIRECTION('',(0.E0,0.E0,1.E0)); ++#7314=DIRECTION('',(1.E0,0.E0,0.E0)); ++#7315=AXIS2_PLACEMENT_3D('',#7312,#7313,#7314); ++#7316=CYLINDRICAL_SURFACE('',#7315,1.625E-1); ++#7317=ORIENTED_EDGE('',*,*,#6031,.T.); ++#7319=ORIENTED_EDGE('',*,*,#7318,.T.); ++#7320=ORIENTED_EDGE('',*,*,#7279,.F.); ++#7322=ORIENTED_EDGE('',*,*,#7321,.F.); ++#7323=EDGE_LOOP('',(#7317,#7319,#7320,#7322)); ++#7324=FACE_OUTER_BOUND('',#7323,.F.); ++#7325=ADVANCED_FACE('',(#7324),#7316,.F.); ++#7326=CARTESIAN_POINT('',(4.25E0,1.05E1,8.E0)); ++#7327=DIRECTION('',(0.E0,0.E0,1.E0)); ++#7328=DIRECTION('',(1.E0,0.E0,0.E0)); ++#7329=AXIS2_PLACEMENT_3D('',#7326,#7327,#7328); ++#7330=CYLINDRICAL_SURFACE('',#7329,1.625E-1); ++#7331=ORIENTED_EDGE('',*,*,#6033,.T.); ++#7332=ORIENTED_EDGE('',*,*,#7321,.T.); ++#7333=ORIENTED_EDGE('',*,*,#7281,.F.); ++#7334=ORIENTED_EDGE('',*,*,#7318,.F.); ++#7335=EDGE_LOOP('',(#7331,#7332,#7333,#7334)); ++#7336=FACE_OUTER_BOUND('',#7335,.F.); ++#7337=ADVANCED_FACE('',(#7336),#7330,.F.); ++#7338=CARTESIAN_POINT('',(2.5E-1,1.5E0,1.2E1)); ++#7339=DIRECTION('',(1.E0,0.E0,0.E0)); ++#7340=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#7341=AXIS2_PLACEMENT_3D('',#7338,#7339,#7340); ++#7342=PLANE('',#7341); ++#7343=ORIENTED_EDGE('',*,*,#6314,.T.); ++#7344=ORIENTED_EDGE('',*,*,#7262,.T.); ++#7346=ORIENTED_EDGE('',*,*,#7345,.T.); ++#7347=EDGE_LOOP('',(#7343,#7344,#7346)); ++#7348=FACE_OUTER_BOUND('',#7347,.F.); ++#7349=ADVANCED_FACE('',(#7348),#7342,.F.); ++#7350=CARTESIAN_POINT('',(2.5E-1,6.5E0,1.E1)); ++#7351=DIRECTION('',(0.E0,5.E-1,8.660254037844E-1)); ++#7352=DIRECTION('',(0.E0,-8.660254037844E-1,5.E-1)); ++#7353=AXIS2_PLACEMENT_3D('',#7350,#7351,#7352); ++#7354=PLANE('',#7353); ++#7355=ORIENTED_EDGE('',*,*,#6316,.F.); ++#7356=ORIENTED_EDGE('',*,*,#7345,.F.); ++#7357=ORIENTED_EDGE('',*,*,#7275,.T.); ++#7359=ORIENTED_EDGE('',*,*,#7358,.T.); ++#7360=EDGE_LOOP('',(#7355,#7356,#7357,#7359)); ++#7361=FACE_OUTER_BOUND('',#7360,.F.); ++#7363=ORIENTED_EDGE('',*,*,#7362,.T.); ++#7365=ORIENTED_EDGE('',*,*,#7364,.T.); ++#7366=EDGE_LOOP('',(#7363,#7365)); ++#7367=FACE_BOUND('',#7366,.F.); ++#7368=ADVANCED_FACE('',(#7361,#7367),#7354,.T.); ++#7369=CARTESIAN_POINT('',(2.E0,1.5E0,1.2E1)); ++#7370=DIRECTION('',(1.E0,0.E0,0.E0)); ++#7371=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#7372=AXIS2_PLACEMENT_3D('',#7369,#7370,#7371); ++#7373=PLANE('',#7372); ++#7374=ORIENTED_EDGE('',*,*,#6318,.F.); ++#7375=ORIENTED_EDGE('',*,*,#7358,.F.); ++#7376=ORIENTED_EDGE('',*,*,#7273,.F.); ++#7377=EDGE_LOOP('',(#7374,#7375,#7376)); ++#7378=FACE_OUTER_BOUND('',#7377,.F.); ++#7379=ADVANCED_FACE('',(#7378),#7373,.T.); ++#7380=CARTESIAN_POINT('',(1.125E0,1.5E0,1.2E1)); ++#7381=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#7382=DIRECTION('',(1.E0,0.E0,0.E0)); ++#7383=AXIS2_PLACEMENT_3D('',#7380,#7381,#7382); ++#7384=CYLINDRICAL_SURFACE('',#7383,2.575E-1); ++#7386=ORIENTED_EDGE('',*,*,#7385,.F.); ++#7387=ORIENTED_EDGE('',*,*,#7362,.F.); ++#7389=ORIENTED_EDGE('',*,*,#7388,.F.); ++#7391=ORIENTED_EDGE('',*,*,#7390,.F.); ++#7392=EDGE_LOOP('',(#7386,#7387,#7389,#7391)); ++#7393=FACE_OUTER_BOUND('',#7392,.F.); ++#7394=ADVANCED_FACE('',(#7393),#7384,.F.); ++#7395=CARTESIAN_POINT('',(1.125E0,1.5E0,1.2E1)); ++#7396=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#7397=DIRECTION('',(1.E0,0.E0,0.E0)); ++#7398=AXIS2_PLACEMENT_3D('',#7395,#7396,#7397); ++#7399=CYLINDRICAL_SURFACE('',#7398,2.575E-1); ++#7400=ORIENTED_EDGE('',*,*,#7388,.T.); ++#7401=ORIENTED_EDGE('',*,*,#7364,.F.); ++#7402=ORIENTED_EDGE('',*,*,#7385,.T.); ++#7404=ORIENTED_EDGE('',*,*,#7403,.F.); ++#7405=EDGE_LOOP('',(#7400,#7401,#7402,#7404)); ++#7406=FACE_OUTER_BOUND('',#7405,.F.); ++#7407=ADVANCED_FACE('',(#7406),#7399,.F.); ++#7408=CARTESIAN_POINT('',(1.125E0,1.E0,1.2E1)); ++#7409=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#7410=DIRECTION('',(1.E0,0.E0,0.E0)); ++#7411=AXIS2_PLACEMENT_3D('',#7408,#7409,#7410); ++#7412=PLANE('',#7411); ++#7413=ORIENTED_EDGE('',*,*,#7390,.T.); ++#7414=ORIENTED_EDGE('',*,*,#7403,.T.); ++#7415=EDGE_LOOP('',(#7413,#7414)); ++#7416=FACE_OUTER_BOUND('',#7415,.F.); ++#7418=ORIENTED_EDGE('',*,*,#7417,.F.); ++#7420=ORIENTED_EDGE('',*,*,#7419,.F.); ++#7421=EDGE_LOOP('',(#7418,#7420)); ++#7422=FACE_BOUND('',#7421,.F.); ++#7423=ADVANCED_FACE('',(#7416,#7422),#7412,.F.); ++#7424=CARTESIAN_POINT('',(1.125E0,1.5E0,1.2E1)); ++#7425=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#7426=DIRECTION('',(1.E0,0.E0,0.E0)); ++#7427=AXIS2_PLACEMENT_3D('',#7424,#7425,#7426); ++#7428=CYLINDRICAL_SURFACE('',#7427,1.925E-1); ++#7429=ORIENTED_EDGE('',*,*,#7417,.T.); ++#7431=ORIENTED_EDGE('',*,*,#7430,.T.); ++#7432=ORIENTED_EDGE('',*,*,#5620,.F.); ++#7434=ORIENTED_EDGE('',*,*,#7433,.F.); ++#7435=EDGE_LOOP('',(#7429,#7431,#7432,#7434)); ++#7436=FACE_OUTER_BOUND('',#7435,.F.); ++#7437=ADVANCED_FACE('',(#7436),#7428,.F.); ++#7438=CARTESIAN_POINT('',(1.125E0,1.5E0,1.2E1)); ++#7439=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#7440=DIRECTION('',(1.E0,0.E0,0.E0)); ++#7441=AXIS2_PLACEMENT_3D('',#7438,#7439,#7440); ++#7442=CYLINDRICAL_SURFACE('',#7441,1.925E-1); ++#7443=ORIENTED_EDGE('',*,*,#7419,.T.); ++#7444=ORIENTED_EDGE('',*,*,#7433,.T.); ++#7445=ORIENTED_EDGE('',*,*,#5622,.F.); ++#7446=ORIENTED_EDGE('',*,*,#7430,.F.); ++#7447=EDGE_LOOP('',(#7443,#7444,#7445,#7446)); ++#7448=FACE_OUTER_BOUND('',#7447,.F.); ++#7449=ADVANCED_FACE('',(#7448),#7442,.F.); ++#7450=CARTESIAN_POINT('',(-2.E0,2.5E0,8.E0)); ++#7451=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#7452=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#7453=AXIS2_PLACEMENT_3D('',#7450,#7451,#7452); ++#7454=PLANE('',#7453); ++#7455=ORIENTED_EDGE('',*,*,#7265,.T.); ++#7456=ORIENTED_EDGE('',*,*,#6310,.T.); ++#7458=ORIENTED_EDGE('',*,*,#7457,.F.); ++#7459=ORIENTED_EDGE('',*,*,#5512,.F.); ++#7460=ORIENTED_EDGE('',*,*,#5984,.T.); ++#7462=ORIENTED_EDGE('',*,*,#7461,.T.); ++#7463=EDGE_LOOP('',(#7455,#7456,#7458,#7459,#7460,#7462)); ++#7464=FACE_OUTER_BOUND('',#7463,.F.); ++#7465=ADVANCED_FACE('',(#7464),#7454,.T.); ++#7466=CARTESIAN_POINT('',(-1.5E0,0.E0,1.225E1)); ++#7467=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1)); ++#7468=DIRECTION('',(0.E0,1.E0,0.E0)); ++#7469=AXIS2_PLACEMENT_3D('',#7466,#7467,#7468); ++#7470=PLANE('',#7469); ++#7471=ORIENTED_EDGE('',*,*,#6731,.F.); ++#7472=ORIENTED_EDGE('',*,*,#5514,.T.); ++#7473=ORIENTED_EDGE('',*,*,#7457,.T.); ++#7474=ORIENTED_EDGE('',*,*,#6308,.F.); ++#7475=EDGE_LOOP('',(#7471,#7472,#7473,#7474)); ++#7476=FACE_OUTER_BOUND('',#7475,.F.); ++#7477=ADVANCED_FACE('',(#7476),#7470,.T.); ++#7478=CARTESIAN_POINT('',(3.E0,1.15E1,8.E0)); ++#7479=DIRECTION('',(-8.741572761215E-1,4.856429311786E-1,0.E0)); ++#7480=DIRECTION('',(-4.856429311786E-1,-8.741572761215E-1,0.E0)); ++#7481=AXIS2_PLACEMENT_3D('',#7478,#7479,#7480); ++#7482=PLANE('',#7481); ++#7483=ORIENTED_EDGE('',*,*,#5982,.F.); ++#7485=ORIENTED_EDGE('',*,*,#7484,.T.); ++#7486=ORIENTED_EDGE('',*,*,#7267,.T.); ++#7487=ORIENTED_EDGE('',*,*,#7461,.F.); ++#7488=EDGE_LOOP('',(#7483,#7485,#7486,#7487)); ++#7489=FACE_OUTER_BOUND('',#7488,.F.); ++#7490=ADVANCED_FACE('',(#7489),#7482,.T.); ++#7491=CARTESIAN_POINT('',(5.E0,1.15E1,8.E0)); ++#7492=DIRECTION('',(0.E0,1.E0,0.E0)); ++#7493=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#7494=AXIS2_PLACEMENT_3D('',#7491,#7492,#7493); ++#7495=PLANE('',#7494); ++#7496=ORIENTED_EDGE('',*,*,#5980,.F.); ++#7497=ORIENTED_EDGE('',*,*,#7239,.T.); ++#7498=ORIENTED_EDGE('',*,*,#7269,.T.); ++#7499=ORIENTED_EDGE('',*,*,#7484,.F.); ++#7500=EDGE_LOOP('',(#7496,#7497,#7498,#7499)); ++#7501=FACE_OUTER_BOUND('',#7500,.F.); ++#7503=ORIENTED_EDGE('',*,*,#7502,.F.); ++#7505=ORIENTED_EDGE('',*,*,#7504,.F.); ++#7506=EDGE_LOOP('',(#7503,#7505)); ++#7507=FACE_BOUND('',#7506,.F.); ++#7509=ORIENTED_EDGE('',*,*,#7508,.F.); ++#7511=ORIENTED_EDGE('',*,*,#7510,.F.); ++#7512=EDGE_LOOP('',(#7509,#7511)); ++#7513=FACE_BOUND('',#7512,.F.); ++#7514=ADVANCED_FACE('',(#7501,#7507,#7513),#7495,.T.); ++#7515=CARTESIAN_POINT('',(4.E0,1.15E1,9.E0)); ++#7516=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#7517=DIRECTION('',(1.E0,0.E0,0.E0)); ++#7518=AXIS2_PLACEMENT_3D('',#7515,#7516,#7517); ++#7519=CYLINDRICAL_SURFACE('',#7518,9.5E-2); ++#7520=ORIENTED_EDGE('',*,*,#7502,.T.); ++#7522=ORIENTED_EDGE('',*,*,#7521,.T.); ++#7524=ORIENTED_EDGE('',*,*,#7523,.F.); ++#7526=ORIENTED_EDGE('',*,*,#7525,.F.); ++#7527=EDGE_LOOP('',(#7520,#7522,#7524,#7526)); ++#7528=FACE_OUTER_BOUND('',#7527,.F.); ++#7529=ADVANCED_FACE('',(#7528),#7519,.F.); ++#7530=CARTESIAN_POINT('',(4.E0,1.15E1,9.E0)); ++#7531=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#7532=DIRECTION('',(1.E0,0.E0,0.E0)); ++#7533=AXIS2_PLACEMENT_3D('',#7530,#7531,#7532); ++#7534=CYLINDRICAL_SURFACE('',#7533,9.5E-2); ++#7535=ORIENTED_EDGE('',*,*,#7504,.T.); ++#7536=ORIENTED_EDGE('',*,*,#7525,.T.); ++#7538=ORIENTED_EDGE('',*,*,#7537,.F.); ++#7539=ORIENTED_EDGE('',*,*,#7521,.F.); ++#7540=EDGE_LOOP('',(#7535,#7536,#7538,#7539)); ++#7541=FACE_OUTER_BOUND('',#7540,.F.); ++#7542=ADVANCED_FACE('',(#7541),#7534,.F.); ++#7543=CARTESIAN_POINT('',(4.E0,1.1125E1,9.E0)); ++#7544=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#7545=DIRECTION('',(1.E0,0.E0,0.E0)); ++#7546=AXIS2_PLACEMENT_3D('',#7543,#7544,#7545); ++#7547=PLANE('',#7546); ++#7548=ORIENTED_EDGE('',*,*,#7523,.T.); ++#7549=ORIENTED_EDGE('',*,*,#7537,.T.); ++#7550=EDGE_LOOP('',(#7548,#7549)); ++#7551=FACE_OUTER_BOUND('',#7550,.F.); ++#7552=ADVANCED_FACE('',(#7551),#7547,.F.); ++#7553=CARTESIAN_POINT('',(3.867417478528E0,1.15E1,9.132582521472E0)); ++#7554=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#7555=DIRECTION('',(1.E0,0.E0,0.E0)); ++#7556=AXIS2_PLACEMENT_3D('',#7553,#7554,#7555); ++#7557=CYLINDRICAL_SURFACE('',#7556,6.25E-2); ++#7558=ORIENTED_EDGE('',*,*,#7508,.T.); ++#7560=ORIENTED_EDGE('',*,*,#7559,.T.); ++#7562=ORIENTED_EDGE('',*,*,#7561,.F.); ++#7564=ORIENTED_EDGE('',*,*,#7563,.F.); ++#7565=EDGE_LOOP('',(#7558,#7560,#7562,#7564)); ++#7566=FACE_OUTER_BOUND('',#7565,.F.); ++#7567=ADVANCED_FACE('',(#7566),#7557,.F.); ++#7568=CARTESIAN_POINT('',(3.867417478528E0,1.15E1,9.132582521472E0)); ++#7569=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#7570=DIRECTION('',(1.E0,0.E0,0.E0)); ++#7571=AXIS2_PLACEMENT_3D('',#7568,#7569,#7570); ++#7572=CYLINDRICAL_SURFACE('',#7571,6.25E-2); ++#7573=ORIENTED_EDGE('',*,*,#7510,.T.); ++#7574=ORIENTED_EDGE('',*,*,#7563,.T.); ++#7576=ORIENTED_EDGE('',*,*,#7575,.F.); ++#7577=ORIENTED_EDGE('',*,*,#7559,.F.); ++#7578=EDGE_LOOP('',(#7573,#7574,#7576,#7577)); ++#7579=FACE_OUTER_BOUND('',#7578,.F.); ++#7580=ADVANCED_FACE('',(#7579),#7572,.F.); ++#7581=CARTESIAN_POINT('',(3.867417478528E0,1.125E1,9.132582521472E0)); ++#7582=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#7583=DIRECTION('',(1.E0,0.E0,0.E0)); ++#7584=AXIS2_PLACEMENT_3D('',#7581,#7582,#7583); ++#7585=PLANE('',#7584); ++#7586=ORIENTED_EDGE('',*,*,#7561,.T.); ++#7587=ORIENTED_EDGE('',*,*,#7575,.T.); ++#7588=EDGE_LOOP('',(#7586,#7587)); ++#7589=FACE_OUTER_BOUND('',#7588,.F.); ++#7590=ADVANCED_FACE('',(#7589),#7585,.F.); ++#7591=CARTESIAN_POINT('',(2.15E0,6.65E0,9.441108058217E0)); ++#7592=DIRECTION('',(0.E0,0.E0,1.E0)); ++#7593=DIRECTION('',(1.E0,0.E0,0.E0)); ++#7594=AXIS2_PLACEMENT_3D('',#7591,#7592,#7593); ++#7595=CYLINDRICAL_SURFACE('',#7594,3.5E-1); ++#7597=ORIENTED_EDGE('',*,*,#7596,.T.); ++#7598=ORIENTED_EDGE('',*,*,#7285,.T.); ++#7600=ORIENTED_EDGE('',*,*,#7599,.F.); ++#7602=ORIENTED_EDGE('',*,*,#7601,.T.); ++#7603=EDGE_LOOP('',(#7597,#7598,#7600,#7602)); ++#7604=FACE_OUTER_BOUND('',#7603,.F.); ++#7605=ADVANCED_FACE('',(#7604),#7595,.T.); ++#7606=CARTESIAN_POINT('',(2.5E0,7.E0,1.E1)); ++#7607=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#7608=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#7609=AXIS2_PLACEMENT_3D('',#7606,#7607,#7608); ++#7610=PLANE('',#7609); ++#7611=ORIENTED_EDGE('',*,*,#7596,.F.); ++#7613=ORIENTED_EDGE('',*,*,#7612,.T.); ++#7615=ORIENTED_EDGE('',*,*,#7614,.F.); ++#7616=ORIENTED_EDGE('',*,*,#7287,.F.); ++#7617=EDGE_LOOP('',(#7611,#7613,#7615,#7616)); ++#7618=FACE_OUTER_BOUND('',#7617,.F.); ++#7619=ADVANCED_FACE('',(#7618),#7610,.F.); ++#7620=CARTESIAN_POINT('',(0.E0,0.E0,9.5E0)); ++#7621=DIRECTION('',(0.E0,0.E0,1.E0)); ++#7622=DIRECTION('',(1.E0,0.E0,0.E0)); ++#7623=AXIS2_PLACEMENT_3D('',#7620,#7621,#7622); ++#7624=PLANE('',#7623); ++#7625=ORIENTED_EDGE('',*,*,#7612,.F.); ++#7626=ORIENTED_EDGE('',*,*,#7601,.F.); ++#7628=ORIENTED_EDGE('',*,*,#7627,.F.); ++#7630=ORIENTED_EDGE('',*,*,#7629,.F.); ++#7632=ORIENTED_EDGE('',*,*,#7631,.F.); ++#7634=ORIENTED_EDGE('',*,*,#7633,.F.); ++#7636=ORIENTED_EDGE('',*,*,#7635,.F.); ++#7638=ORIENTED_EDGE('',*,*,#7637,.F.); ++#7640=ORIENTED_EDGE('',*,*,#7639,.F.); ++#7642=ORIENTED_EDGE('',*,*,#7641,.F.); ++#7644=ORIENTED_EDGE('',*,*,#7643,.F.); ++#7646=ORIENTED_EDGE('',*,*,#7645,.F.); ++#7647=EDGE_LOOP('',(#7625,#7626,#7628,#7630,#7632,#7634,#7636,#7638,#7640,#7642, ++#7644,#7646)); ++#7648=FACE_OUTER_BOUND('',#7647,.F.); ++#7649=ADVANCED_FACE('',(#7648),#7624,.T.); ++#7650=CARTESIAN_POINT('',(1.357969178416E0,7.E0,1.E1)); ++#7651=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#7652=DIRECTION('',(1.E0,0.E0,0.E0)); ++#7653=AXIS2_PLACEMENT_3D('',#7650,#7651,#7652); ++#7654=PLANE('',#7653); ++#7655=ORIENTED_EDGE('',*,*,#7599,.T.); ++#7656=ORIENTED_EDGE('',*,*,#7307,.F.); ++#7658=ORIENTED_EDGE('',*,*,#7657,.T.); ++#7659=ORIENTED_EDGE('',*,*,#7627,.T.); ++#7660=EDGE_LOOP('',(#7655,#7656,#7658,#7659)); ++#7661=FACE_OUTER_BOUND('',#7660,.F.); ++#7662=ADVANCED_FACE('',(#7661),#7654,.F.); ++#7663=CARTESIAN_POINT('',(1.952799239454E0,7.35E0,1.006892397423E1)); ++#7664=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#7665=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#7666=AXIS2_PLACEMENT_3D('',#7663,#7664,#7665); ++#7667=CYLINDRICAL_SURFACE('',#7666,3.5E-1); ++#7668=ORIENTED_EDGE('',*,*,#7657,.F.); ++#7669=ORIENTED_EDGE('',*,*,#7305,.T.); ++#7671=ORIENTED_EDGE('',*,*,#7670,.T.); ++#7672=ORIENTED_EDGE('',*,*,#7629,.T.); ++#7673=EDGE_LOOP('',(#7668,#7669,#7671,#7672)); ++#7674=FACE_OUTER_BOUND('',#7673,.F.); ++#7675=ADVANCED_FACE('',(#7674),#7667,.F.); ++#7676=CARTESIAN_POINT('',(2.746858067304E0,9.5E0,1.E1)); ++#7677=DIRECTION('',(-8.741572761215E-1,4.856429311786E-1,0.E0)); ++#7678=DIRECTION('',(-4.856429311786E-1,-8.741572761215E-1,0.E0)); ++#7679=AXIS2_PLACEMENT_3D('',#7676,#7677,#7678); ++#7680=PLANE('',#7679); ++#7681=ORIENTED_EDGE('',*,*,#7670,.F.); ++#7682=ORIENTED_EDGE('',*,*,#7303,.F.); ++#7684=ORIENTED_EDGE('',*,*,#7683,.T.); ++#7685=ORIENTED_EDGE('',*,*,#7631,.T.); ++#7686=EDGE_LOOP('',(#7681,#7682,#7684,#7685)); ++#7687=FACE_OUTER_BOUND('',#7686,.F.); ++#7688=ADVANCED_FACE('',(#7687),#7680,.F.); ++#7689=CARTESIAN_POINT('',(2.952799239454E0,9.15E0,1.006892397423E1)); ++#7690=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#7691=DIRECTION('',(-8.741572761215E-1,4.856429311786E-1,0.E0)); ++#7692=AXIS2_PLACEMENT_3D('',#7689,#7690,#7691); ++#7693=CYLINDRICAL_SURFACE('',#7692,3.5E-1); ++#7694=ORIENTED_EDGE('',*,*,#7683,.F.); ++#7695=ORIENTED_EDGE('',*,*,#7301,.T.); ++#7697=ORIENTED_EDGE('',*,*,#7696,.T.); ++#7698=ORIENTED_EDGE('',*,*,#7633,.T.); ++#7699=EDGE_LOOP('',(#7694,#7695,#7697,#7698)); ++#7700=FACE_OUTER_BOUND('',#7699,.F.); ++#7701=ADVANCED_FACE('',(#7700),#7693,.F.); ++#7702=CARTESIAN_POINT('',(4.5E0,9.5E0,1.E1)); ++#7703=DIRECTION('',(0.E0,1.E0,0.E0)); ++#7704=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#7705=AXIS2_PLACEMENT_3D('',#7702,#7703,#7704); ++#7706=PLANE('',#7705); ++#7707=ORIENTED_EDGE('',*,*,#7696,.F.); ++#7708=ORIENTED_EDGE('',*,*,#7299,.F.); ++#7710=ORIENTED_EDGE('',*,*,#7709,.T.); ++#7711=ORIENTED_EDGE('',*,*,#7635,.T.); ++#7712=EDGE_LOOP('',(#7707,#7708,#7710,#7711)); ++#7713=FACE_OUTER_BOUND('',#7712,.F.); ++#7714=ADVANCED_FACE('',(#7713),#7706,.F.); ++#7715=CARTESIAN_POINT('',(4.15E0,9.15E0,1.006892397423E1)); ++#7716=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#7717=DIRECTION('',(0.E0,1.E0,0.E0)); ++#7718=AXIS2_PLACEMENT_3D('',#7715,#7716,#7717); ++#7719=CYLINDRICAL_SURFACE('',#7718,3.5E-1); ++#7720=ORIENTED_EDGE('',*,*,#7709,.F.); ++#7721=ORIENTED_EDGE('',*,*,#7297,.T.); ++#7723=ORIENTED_EDGE('',*,*,#7722,.T.); ++#7724=ORIENTED_EDGE('',*,*,#7637,.T.); ++#7725=EDGE_LOOP('',(#7720,#7721,#7723,#7724)); ++#7726=FACE_OUTER_BOUND('',#7725,.F.); ++#7727=ADVANCED_FACE('',(#7726),#7719,.F.); ++#7728=CARTESIAN_POINT('',(4.5E0,2.E0,1.E1)); ++#7729=DIRECTION('',(1.E0,0.E0,0.E0)); ++#7730=DIRECTION('',(0.E0,1.E0,0.E0)); ++#7731=AXIS2_PLACEMENT_3D('',#7728,#7729,#7730); ++#7732=PLANE('',#7731); ++#7734=ORIENTED_EDGE('',*,*,#7733,.T.); ++#7735=ORIENTED_EDGE('',*,*,#7639,.T.); ++#7736=ORIENTED_EDGE('',*,*,#7722,.F.); ++#7737=ORIENTED_EDGE('',*,*,#7295,.F.); ++#7738=EDGE_LOOP('',(#7734,#7735,#7736,#7737)); ++#7739=FACE_OUTER_BOUND('',#7738,.F.); ++#7740=ADVANCED_FACE('',(#7739),#7732,.F.); ++#7741=CARTESIAN_POINT('',(4.15E0,2.35E0,1.006892397423E1)); ++#7742=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#7743=DIRECTION('',(1.E0,0.E0,0.E0)); ++#7744=AXIS2_PLACEMENT_3D('',#7741,#7742,#7743); ++#7745=CYLINDRICAL_SURFACE('',#7744,3.5E-1); ++#7746=ORIENTED_EDGE('',*,*,#7733,.F.); ++#7747=ORIENTED_EDGE('',*,*,#7293,.T.); ++#7749=ORIENTED_EDGE('',*,*,#7748,.T.); ++#7750=ORIENTED_EDGE('',*,*,#7641,.T.); ++#7751=EDGE_LOOP('',(#7746,#7747,#7749,#7750)); ++#7752=FACE_OUTER_BOUND('',#7751,.F.); ++#7753=ADVANCED_FACE('',(#7752),#7745,.F.); ++#7754=CARTESIAN_POINT('',(2.5E0,2.E0,1.E1)); ++#7755=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#7756=DIRECTION('',(1.E0,0.E0,0.E0)); ++#7757=AXIS2_PLACEMENT_3D('',#7754,#7755,#7756); ++#7758=PLANE('',#7757); ++#7760=ORIENTED_EDGE('',*,*,#7759,.T.); ++#7761=ORIENTED_EDGE('',*,*,#7643,.T.); ++#7762=ORIENTED_EDGE('',*,*,#7748,.F.); ++#7763=ORIENTED_EDGE('',*,*,#7291,.F.); ++#7764=EDGE_LOOP('',(#7760,#7761,#7762,#7763)); ++#7765=FACE_OUTER_BOUND('',#7764,.F.); ++#7766=ADVANCED_FACE('',(#7765),#7758,.F.); ++#7767=CARTESIAN_POINT('',(2.85E0,2.35E0,1.006892397423E1)); ++#7768=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#7769=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#7770=AXIS2_PLACEMENT_3D('',#7767,#7768,#7769); ++#7771=CYLINDRICAL_SURFACE('',#7770,3.5E-1); ++#7772=ORIENTED_EDGE('',*,*,#7759,.F.); ++#7773=ORIENTED_EDGE('',*,*,#7289,.T.); ++#7774=ORIENTED_EDGE('',*,*,#7614,.T.); ++#7775=ORIENTED_EDGE('',*,*,#7645,.T.); ++#7776=EDGE_LOOP('',(#7772,#7773,#7774,#7775)); ++#7777=FACE_OUTER_BOUND('',#7776,.F.); ++#7778=ADVANCED_FACE('',(#7777),#7771,.F.); ++#7779=CARTESIAN_POINT('',(1.9E1,1.5E0,1.175E1)); ++#7780=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1)); ++#7781=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#7782=AXIS2_PLACEMENT_3D('',#7779,#7780,#7781); ++#7783=PLANE('',#7782); ++#7784=ORIENTED_EDGE('',*,*,#7161,.F.); ++#7785=ORIENTED_EDGE('',*,*,#6428,.T.); ++#7786=ORIENTED_EDGE('',*,*,#6953,.T.); ++#7787=ORIENTED_EDGE('',*,*,#5682,.F.); ++#7788=EDGE_LOOP('',(#7784,#7785,#7786,#7787)); ++#7789=FACE_OUTER_BOUND('',#7788,.F.); ++#7790=ADVANCED_FACE('',(#7789),#7783,.T.); ++#7791=CARTESIAN_POINT('',(2.E1,1.15E1,9.E0)); ++#7792=DIRECTION('',(0.E0,1.E0,0.E0)); ++#7793=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#7794=AXIS2_PLACEMENT_3D('',#7791,#7792,#7793); ++#7795=CYLINDRICAL_SURFACE('',#7794,9.5E-2); ++#7796=ORIENTED_EDGE('',*,*,#7140,.F.); ++#7798=ORIENTED_EDGE('',*,*,#7797,.T.); ++#7800=ORIENTED_EDGE('',*,*,#7799,.T.); ++#7802=ORIENTED_EDGE('',*,*,#7801,.F.); ++#7803=EDGE_LOOP('',(#7796,#7798,#7800,#7802)); ++#7804=FACE_OUTER_BOUND('',#7803,.F.); ++#7805=ADVANCED_FACE('',(#7804),#7795,.F.); ++#7806=CARTESIAN_POINT('',(2.E1,1.15E1,9.E0)); ++#7807=DIRECTION('',(0.E0,1.E0,0.E0)); ++#7808=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#7809=AXIS2_PLACEMENT_3D('',#7806,#7807,#7808); ++#7810=CYLINDRICAL_SURFACE('',#7809,9.5E-2); ++#7811=ORIENTED_EDGE('',*,*,#7142,.F.); ++#7812=ORIENTED_EDGE('',*,*,#7801,.T.); ++#7814=ORIENTED_EDGE('',*,*,#7813,.T.); ++#7815=ORIENTED_EDGE('',*,*,#7797,.F.); ++#7816=EDGE_LOOP('',(#7811,#7812,#7814,#7815)); ++#7817=FACE_OUTER_BOUND('',#7816,.F.); ++#7818=ADVANCED_FACE('',(#7817),#7810,.F.); ++#7819=CARTESIAN_POINT('',(2.E1,1.1125E1,9.E0)); ++#7820=DIRECTION('',(0.E0,1.E0,0.E0)); ++#7821=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#7822=AXIS2_PLACEMENT_3D('',#7819,#7820,#7821); ++#7823=PLANE('',#7822); ++#7824=ORIENTED_EDGE('',*,*,#7799,.F.); ++#7825=ORIENTED_EDGE('',*,*,#7813,.F.); ++#7826=EDGE_LOOP('',(#7824,#7825)); ++#7827=FACE_OUTER_BOUND('',#7826,.F.); ++#7828=ADVANCED_FACE('',(#7827),#7823,.T.); ++#7829=CARTESIAN_POINT('',(2.013258252147E1,1.15E1,9.132582521472E0)); ++#7830=DIRECTION('',(0.E0,1.E0,0.E0)); ++#7831=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#7832=AXIS2_PLACEMENT_3D('',#7829,#7830,#7831); ++#7833=CYLINDRICAL_SURFACE('',#7832,6.25E-2); ++#7834=ORIENTED_EDGE('',*,*,#7146,.F.); ++#7836=ORIENTED_EDGE('',*,*,#7835,.T.); ++#7838=ORIENTED_EDGE('',*,*,#7837,.T.); ++#7840=ORIENTED_EDGE('',*,*,#7839,.F.); ++#7841=EDGE_LOOP('',(#7834,#7836,#7838,#7840)); ++#7842=FACE_OUTER_BOUND('',#7841,.F.); ++#7843=ADVANCED_FACE('',(#7842),#7833,.F.); ++#7844=CARTESIAN_POINT('',(2.013258252147E1,1.15E1,9.132582521472E0)); ++#7845=DIRECTION('',(0.E0,1.E0,0.E0)); ++#7846=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#7847=AXIS2_PLACEMENT_3D('',#7844,#7845,#7846); ++#7848=CYLINDRICAL_SURFACE('',#7847,6.25E-2); ++#7849=ORIENTED_EDGE('',*,*,#7148,.F.); ++#7850=ORIENTED_EDGE('',*,*,#7839,.T.); ++#7852=ORIENTED_EDGE('',*,*,#7851,.T.); ++#7853=ORIENTED_EDGE('',*,*,#7835,.F.); ++#7854=EDGE_LOOP('',(#7849,#7850,#7852,#7853)); ++#7855=FACE_OUTER_BOUND('',#7854,.F.); ++#7856=ADVANCED_FACE('',(#7855),#7848,.F.); ++#7857=CARTESIAN_POINT('',(2.013258252147E1,1.125E1,9.132582521472E0)); ++#7858=DIRECTION('',(0.E0,1.E0,0.E0)); ++#7859=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#7860=AXIS2_PLACEMENT_3D('',#7857,#7858,#7859); ++#7861=PLANE('',#7860); ++#7862=ORIENTED_EDGE('',*,*,#7837,.F.); ++#7863=ORIENTED_EDGE('',*,*,#7851,.F.); ++#7864=EDGE_LOOP('',(#7862,#7863)); ++#7865=FACE_OUTER_BOUND('',#7864,.F.); ++#7866=ADVANCED_FACE('',(#7865),#7861,.T.); ++#7867=CARTESIAN_POINT('',(1.755E1,1.176878221735E0,2.975E1)); ++#7868=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#7869=DIRECTION('',(1.E0,0.E0,0.E0)); ++#7870=AXIS2_PLACEMENT_3D('',#7867,#7868,#7869); ++#7871=CYLINDRICAL_SURFACE('',#7870,1.E-1); ++#7872=ORIENTED_EDGE('',*,*,#6346,.F.); ++#7874=ORIENTED_EDGE('',*,*,#7873,.F.); ++#7876=ORIENTED_EDGE('',*,*,#7875,.T.); ++#7878=ORIENTED_EDGE('',*,*,#7877,.T.); ++#7879=EDGE_LOOP('',(#7872,#7874,#7876,#7878)); ++#7880=FACE_OUTER_BOUND('',#7879,.F.); ++#7881=ADVANCED_FACE('',(#7880),#7871,.F.); ++#7882=CARTESIAN_POINT('',(1.755E1,1.176878221735E0,2.975E1)); ++#7883=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#7884=DIRECTION('',(1.E0,0.E0,0.E0)); ++#7885=AXIS2_PLACEMENT_3D('',#7882,#7883,#7884); ++#7886=CYLINDRICAL_SURFACE('',#7885,1.E-1); ++#7887=ORIENTED_EDGE('',*,*,#6348,.F.); ++#7888=ORIENTED_EDGE('',*,*,#7877,.F.); ++#7890=ORIENTED_EDGE('',*,*,#7889,.F.); ++#7891=ORIENTED_EDGE('',*,*,#7873,.T.); ++#7892=EDGE_LOOP('',(#7887,#7888,#7890,#7891)); ++#7893=FACE_OUTER_BOUND('',#7892,.F.); ++#7894=ADVANCED_FACE('',(#7893),#7886,.F.); ++#7895=CARTESIAN_POINT('',(1.755E1,1.234346967234E0,2.975E1)); ++#7896=DIRECTION('',(0.E0,1.E0,0.E0)); ++#7897=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#7898=AXIS2_PLACEMENT_3D('',#7895,#7896,#7897); ++#7899=CONICAL_SURFACE('',#7898,7.288815195685E-2,6.E1); ++#7901=ORIENTED_EDGE('',*,*,#7900,.F.); ++#7903=ORIENTED_EDGE('',*,*,#7902,.T.); ++#7904=ORIENTED_EDGE('',*,*,#7889,.T.); ++#7905=EDGE_LOOP('',(#7901,#7903,#7904)); ++#7906=FACE_OUTER_BOUND('',#7905,.F.); ++#7907=ADVANCED_FACE('',(#7906),#7899,.F.); ++#7908=CARTESIAN_POINT('',(1.755E1,1.234346967234E0,2.975E1)); ++#7909=DIRECTION('',(0.E0,1.E0,0.E0)); ++#7910=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#7911=AXIS2_PLACEMENT_3D('',#7908,#7909,#7910); ++#7912=CONICAL_SURFACE('',#7911,7.288815195685E-2,6.E1); ++#7913=ORIENTED_EDGE('',*,*,#7900,.T.); ++#7914=ORIENTED_EDGE('',*,*,#7875,.F.); ++#7915=ORIENTED_EDGE('',*,*,#7902,.F.); ++#7916=EDGE_LOOP('',(#7913,#7914,#7915)); ++#7917=FACE_OUTER_BOUND('',#7916,.F.); ++#7918=ADVANCED_FACE('',(#7917),#7912,.F.); ++#7919=CARTESIAN_POINT('',(1.655E1,1.176878221735E0,2.975E1)); ++#7920=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#7921=DIRECTION('',(1.E0,0.E0,0.E0)); ++#7922=AXIS2_PLACEMENT_3D('',#7919,#7920,#7921); ++#7923=CYLINDRICAL_SURFACE('',#7922,1.E-1); ++#7924=ORIENTED_EDGE('',*,*,#6352,.F.); ++#7926=ORIENTED_EDGE('',*,*,#7925,.F.); ++#7928=ORIENTED_EDGE('',*,*,#7927,.T.); ++#7930=ORIENTED_EDGE('',*,*,#7929,.T.); ++#7931=EDGE_LOOP('',(#7924,#7926,#7928,#7930)); ++#7932=FACE_OUTER_BOUND('',#7931,.F.); ++#7933=ADVANCED_FACE('',(#7932),#7923,.F.); ++#7934=CARTESIAN_POINT('',(1.655E1,1.176878221735E0,2.975E1)); ++#7935=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#7936=DIRECTION('',(1.E0,0.E0,0.E0)); ++#7937=AXIS2_PLACEMENT_3D('',#7934,#7935,#7936); ++#7938=CYLINDRICAL_SURFACE('',#7937,1.E-1); ++#7939=ORIENTED_EDGE('',*,*,#6354,.F.); ++#7940=ORIENTED_EDGE('',*,*,#7929,.F.); ++#7942=ORIENTED_EDGE('',*,*,#7941,.F.); ++#7943=ORIENTED_EDGE('',*,*,#7925,.T.); ++#7944=EDGE_LOOP('',(#7939,#7940,#7942,#7943)); ++#7945=FACE_OUTER_BOUND('',#7944,.F.); ++#7946=ADVANCED_FACE('',(#7945),#7938,.F.); ++#7947=CARTESIAN_POINT('',(1.655E1,1.234346967234E0,2.975E1)); ++#7948=DIRECTION('',(0.E0,1.E0,0.E0)); ++#7949=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#7950=AXIS2_PLACEMENT_3D('',#7947,#7948,#7949); ++#7951=CONICAL_SURFACE('',#7950,7.288815195685E-2,6.E1); ++#7953=ORIENTED_EDGE('',*,*,#7952,.F.); ++#7955=ORIENTED_EDGE('',*,*,#7954,.T.); ++#7956=ORIENTED_EDGE('',*,*,#7941,.T.); ++#7957=EDGE_LOOP('',(#7953,#7955,#7956)); ++#7958=FACE_OUTER_BOUND('',#7957,.F.); ++#7959=ADVANCED_FACE('',(#7958),#7951,.F.); ++#7960=CARTESIAN_POINT('',(1.655E1,1.234346967234E0,2.975E1)); ++#7961=DIRECTION('',(0.E0,1.E0,0.E0)); ++#7962=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#7963=AXIS2_PLACEMENT_3D('',#7960,#7961,#7962); ++#7964=CONICAL_SURFACE('',#7963,7.288815195685E-2,6.E1); ++#7965=ORIENTED_EDGE('',*,*,#7952,.T.); ++#7966=ORIENTED_EDGE('',*,*,#7927,.F.); ++#7967=ORIENTED_EDGE('',*,*,#7954,.F.); ++#7968=EDGE_LOOP('',(#7965,#7966,#7967)); ++#7969=FACE_OUTER_BOUND('',#7968,.F.); ++#7970=ADVANCED_FACE('',(#7969),#7964,.F.); ++#7971=CARTESIAN_POINT('',(1.125E0,1.5E0,6.E0)); ++#7972=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#7973=DIRECTION('',(1.E0,0.E0,0.E0)); ++#7974=AXIS2_PLACEMENT_3D('',#7971,#7972,#7973); ++#7975=CYLINDRICAL_SURFACE('',#7974,2.575E-1); ++#7976=ORIENTED_EDGE('',*,*,#6248,.T.); ++#7978=ORIENTED_EDGE('',*,*,#7977,.T.); ++#7980=ORIENTED_EDGE('',*,*,#7979,.F.); ++#7982=ORIENTED_EDGE('',*,*,#7981,.F.); ++#7983=EDGE_LOOP('',(#7976,#7978,#7980,#7982)); ++#7984=FACE_OUTER_BOUND('',#7983,.F.); ++#7985=ADVANCED_FACE('',(#7984),#7975,.F.); ++#7986=CARTESIAN_POINT('',(1.125E0,1.5E0,6.E0)); ++#7987=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#7988=DIRECTION('',(1.E0,0.E0,0.E0)); ++#7989=AXIS2_PLACEMENT_3D('',#7986,#7987,#7988); ++#7990=CYLINDRICAL_SURFACE('',#7989,2.575E-1); ++#7991=ORIENTED_EDGE('',*,*,#6250,.T.); ++#7992=ORIENTED_EDGE('',*,*,#7981,.T.); ++#7994=ORIENTED_EDGE('',*,*,#7993,.F.); ++#7995=ORIENTED_EDGE('',*,*,#7977,.F.); ++#7996=EDGE_LOOP('',(#7991,#7992,#7994,#7995)); ++#7997=FACE_OUTER_BOUND('',#7996,.F.); ++#7998=ADVANCED_FACE('',(#7997),#7990,.F.); ++#7999=CARTESIAN_POINT('',(1.125E0,1.E0,6.E0)); ++#8000=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8001=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8002=AXIS2_PLACEMENT_3D('',#7999,#8000,#8001); ++#8003=PLANE('',#8002); ++#8004=ORIENTED_EDGE('',*,*,#7979,.T.); ++#8005=ORIENTED_EDGE('',*,*,#7993,.T.); ++#8006=EDGE_LOOP('',(#8004,#8005)); ++#8007=FACE_OUTER_BOUND('',#8006,.F.); ++#8009=ORIENTED_EDGE('',*,*,#8008,.F.); ++#8011=ORIENTED_EDGE('',*,*,#8010,.F.); ++#8012=EDGE_LOOP('',(#8009,#8011)); ++#8013=FACE_BOUND('',#8012,.F.); ++#8014=ADVANCED_FACE('',(#8007,#8013),#8003,.F.); ++#8015=CARTESIAN_POINT('',(1.125E0,1.5E0,6.E0)); ++#8016=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8017=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8018=AXIS2_PLACEMENT_3D('',#8015,#8016,#8017); ++#8019=CYLINDRICAL_SURFACE('',#8018,1.925E-1); ++#8020=ORIENTED_EDGE('',*,*,#8008,.T.); ++#8022=ORIENTED_EDGE('',*,*,#8021,.T.); ++#8023=ORIENTED_EDGE('',*,*,#5626,.F.); ++#8025=ORIENTED_EDGE('',*,*,#8024,.F.); ++#8026=EDGE_LOOP('',(#8020,#8022,#8023,#8025)); ++#8027=FACE_OUTER_BOUND('',#8026,.F.); ++#8028=ADVANCED_FACE('',(#8027),#8019,.F.); ++#8029=CARTESIAN_POINT('',(1.125E0,1.5E0,6.E0)); ++#8030=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8031=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8032=AXIS2_PLACEMENT_3D('',#8029,#8030,#8031); ++#8033=CYLINDRICAL_SURFACE('',#8032,1.925E-1); ++#8034=ORIENTED_EDGE('',*,*,#8010,.T.); ++#8035=ORIENTED_EDGE('',*,*,#8024,.T.); ++#8036=ORIENTED_EDGE('',*,*,#5628,.F.); ++#8037=ORIENTED_EDGE('',*,*,#8021,.F.); ++#8038=EDGE_LOOP('',(#8034,#8035,#8036,#8037)); ++#8039=FACE_OUTER_BOUND('',#8038,.F.); ++#8040=ADVANCED_FACE('',(#8039),#8033,.F.); ++#8041=CARTESIAN_POINT('',(1.125E0,1.5E0,1.8E1)); ++#8042=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8043=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8044=AXIS2_PLACEMENT_3D('',#8041,#8042,#8043); ++#8045=CYLINDRICAL_SURFACE('',#8044,2.575E-1); ++#8046=ORIENTED_EDGE('',*,*,#6358,.T.); ++#8048=ORIENTED_EDGE('',*,*,#8047,.T.); ++#8050=ORIENTED_EDGE('',*,*,#8049,.F.); ++#8052=ORIENTED_EDGE('',*,*,#8051,.F.); ++#8053=EDGE_LOOP('',(#8046,#8048,#8050,#8052)); ++#8054=FACE_OUTER_BOUND('',#8053,.F.); ++#8055=ADVANCED_FACE('',(#8054),#8045,.F.); ++#8056=CARTESIAN_POINT('',(1.125E0,1.5E0,1.8E1)); ++#8057=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8058=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8059=AXIS2_PLACEMENT_3D('',#8056,#8057,#8058); ++#8060=CYLINDRICAL_SURFACE('',#8059,2.575E-1); ++#8061=ORIENTED_EDGE('',*,*,#6360,.T.); ++#8062=ORIENTED_EDGE('',*,*,#8051,.T.); ++#8064=ORIENTED_EDGE('',*,*,#8063,.F.); ++#8065=ORIENTED_EDGE('',*,*,#8047,.F.); ++#8066=EDGE_LOOP('',(#8061,#8062,#8064,#8065)); ++#8067=FACE_OUTER_BOUND('',#8066,.F.); ++#8068=ADVANCED_FACE('',(#8067),#8060,.F.); ++#8069=CARTESIAN_POINT('',(1.125E0,1.E0,1.8E1)); ++#8070=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8071=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8072=AXIS2_PLACEMENT_3D('',#8069,#8070,#8071); ++#8073=PLANE('',#8072); ++#8074=ORIENTED_EDGE('',*,*,#8049,.T.); ++#8075=ORIENTED_EDGE('',*,*,#8063,.T.); ++#8076=EDGE_LOOP('',(#8074,#8075)); ++#8077=FACE_OUTER_BOUND('',#8076,.F.); ++#8079=ORIENTED_EDGE('',*,*,#8078,.F.); ++#8081=ORIENTED_EDGE('',*,*,#8080,.F.); ++#8082=EDGE_LOOP('',(#8079,#8081)); ++#8083=FACE_BOUND('',#8082,.F.); ++#8084=ADVANCED_FACE('',(#8077,#8083),#8073,.F.); ++#8085=CARTESIAN_POINT('',(1.125E0,1.5E0,1.8E1)); ++#8086=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8087=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8088=AXIS2_PLACEMENT_3D('',#8085,#8086,#8087); ++#8089=CYLINDRICAL_SURFACE('',#8088,1.925E-1); ++#8090=ORIENTED_EDGE('',*,*,#8078,.T.); ++#8092=ORIENTED_EDGE('',*,*,#8091,.T.); ++#8093=ORIENTED_EDGE('',*,*,#5614,.F.); ++#8095=ORIENTED_EDGE('',*,*,#8094,.F.); ++#8096=EDGE_LOOP('',(#8090,#8092,#8093,#8095)); ++#8097=FACE_OUTER_BOUND('',#8096,.F.); ++#8098=ADVANCED_FACE('',(#8097),#8089,.F.); ++#8099=CARTESIAN_POINT('',(1.125E0,1.5E0,1.8E1)); ++#8100=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8101=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8102=AXIS2_PLACEMENT_3D('',#8099,#8100,#8101); ++#8103=CYLINDRICAL_SURFACE('',#8102,1.925E-1); ++#8104=ORIENTED_EDGE('',*,*,#8080,.T.); ++#8105=ORIENTED_EDGE('',*,*,#8094,.T.); ++#8106=ORIENTED_EDGE('',*,*,#5616,.F.); ++#8107=ORIENTED_EDGE('',*,*,#8091,.F.); ++#8108=EDGE_LOOP('',(#8104,#8105,#8106,#8107)); ++#8109=FACE_OUTER_BOUND('',#8108,.F.); ++#8110=ADVANCED_FACE('',(#8109),#8103,.F.); ++#8111=CARTESIAN_POINT('',(1.125E0,1.5E0,2.4E1)); ++#8112=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8113=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8114=AXIS2_PLACEMENT_3D('',#8111,#8112,#8113); ++#8115=CYLINDRICAL_SURFACE('',#8114,2.575E-1); ++#8116=ORIENTED_EDGE('',*,*,#6364,.T.); ++#8118=ORIENTED_EDGE('',*,*,#8117,.T.); ++#8120=ORIENTED_EDGE('',*,*,#8119,.F.); ++#8122=ORIENTED_EDGE('',*,*,#8121,.F.); ++#8123=EDGE_LOOP('',(#8116,#8118,#8120,#8122)); ++#8124=FACE_OUTER_BOUND('',#8123,.F.); ++#8125=ADVANCED_FACE('',(#8124),#8115,.F.); ++#8126=CARTESIAN_POINT('',(1.125E0,1.5E0,2.4E1)); ++#8127=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8128=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8129=AXIS2_PLACEMENT_3D('',#8126,#8127,#8128); ++#8130=CYLINDRICAL_SURFACE('',#8129,2.575E-1); ++#8131=ORIENTED_EDGE('',*,*,#6366,.T.); ++#8132=ORIENTED_EDGE('',*,*,#8121,.T.); ++#8134=ORIENTED_EDGE('',*,*,#8133,.F.); ++#8135=ORIENTED_EDGE('',*,*,#8117,.F.); ++#8136=EDGE_LOOP('',(#8131,#8132,#8134,#8135)); ++#8137=FACE_OUTER_BOUND('',#8136,.F.); ++#8138=ADVANCED_FACE('',(#8137),#8130,.F.); ++#8139=CARTESIAN_POINT('',(1.125E0,1.E0,2.4E1)); ++#8140=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8141=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8142=AXIS2_PLACEMENT_3D('',#8139,#8140,#8141); ++#8143=PLANE('',#8142); ++#8144=ORIENTED_EDGE('',*,*,#8119,.T.); ++#8145=ORIENTED_EDGE('',*,*,#8133,.T.); ++#8146=EDGE_LOOP('',(#8144,#8145)); ++#8147=FACE_OUTER_BOUND('',#8146,.F.); ++#8149=ORIENTED_EDGE('',*,*,#8148,.F.); ++#8151=ORIENTED_EDGE('',*,*,#8150,.F.); ++#8152=EDGE_LOOP('',(#8149,#8151)); ++#8153=FACE_BOUND('',#8152,.F.); ++#8154=ADVANCED_FACE('',(#8147,#8153),#8143,.F.); ++#8155=CARTESIAN_POINT('',(1.125E0,1.5E0,2.4E1)); ++#8156=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8157=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8158=AXIS2_PLACEMENT_3D('',#8155,#8156,#8157); ++#8159=CYLINDRICAL_SURFACE('',#8158,1.925E-1); ++#8160=ORIENTED_EDGE('',*,*,#8148,.T.); ++#8162=ORIENTED_EDGE('',*,*,#8161,.T.); ++#8163=ORIENTED_EDGE('',*,*,#5608,.F.); ++#8165=ORIENTED_EDGE('',*,*,#8164,.F.); ++#8166=EDGE_LOOP('',(#8160,#8162,#8163,#8165)); ++#8167=FACE_OUTER_BOUND('',#8166,.F.); ++#8168=ADVANCED_FACE('',(#8167),#8159,.F.); ++#8169=CARTESIAN_POINT('',(1.125E0,1.5E0,2.4E1)); ++#8170=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8171=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8172=AXIS2_PLACEMENT_3D('',#8169,#8170,#8171); ++#8173=CYLINDRICAL_SURFACE('',#8172,1.925E-1); ++#8174=ORIENTED_EDGE('',*,*,#8150,.T.); ++#8175=ORIENTED_EDGE('',*,*,#8164,.T.); ++#8176=ORIENTED_EDGE('',*,*,#5610,.F.); ++#8177=ORIENTED_EDGE('',*,*,#8161,.F.); ++#8178=EDGE_LOOP('',(#8174,#8175,#8176,#8177)); ++#8179=FACE_OUTER_BOUND('',#8178,.F.); ++#8180=ADVANCED_FACE('',(#8179),#8173,.F.); ++#8181=CARTESIAN_POINT('',(2.2875E1,1.5E0,6.E0)); ++#8182=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8183=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8184=AXIS2_PLACEMENT_3D('',#8181,#8182,#8183); ++#8185=CYLINDRICAL_SURFACE('',#8184,2.575E-1); ++#8186=ORIENTED_EDGE('',*,*,#6254,.T.); ++#8188=ORIENTED_EDGE('',*,*,#8187,.T.); ++#8190=ORIENTED_EDGE('',*,*,#8189,.F.); ++#8192=ORIENTED_EDGE('',*,*,#8191,.F.); ++#8193=EDGE_LOOP('',(#8186,#8188,#8190,#8192)); ++#8194=FACE_OUTER_BOUND('',#8193,.F.); ++#8195=ADVANCED_FACE('',(#8194),#8185,.F.); ++#8196=CARTESIAN_POINT('',(2.2875E1,1.5E0,6.E0)); ++#8197=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8198=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8199=AXIS2_PLACEMENT_3D('',#8196,#8197,#8198); ++#8200=CYLINDRICAL_SURFACE('',#8199,2.575E-1); ++#8201=ORIENTED_EDGE('',*,*,#6256,.T.); ++#8202=ORIENTED_EDGE('',*,*,#8191,.T.); ++#8204=ORIENTED_EDGE('',*,*,#8203,.F.); ++#8205=ORIENTED_EDGE('',*,*,#8187,.F.); ++#8206=EDGE_LOOP('',(#8201,#8202,#8204,#8205)); ++#8207=FACE_OUTER_BOUND('',#8206,.F.); ++#8208=ADVANCED_FACE('',(#8207),#8200,.F.); ++#8209=CARTESIAN_POINT('',(2.2875E1,1.E0,6.E0)); ++#8210=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8211=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8212=AXIS2_PLACEMENT_3D('',#8209,#8210,#8211); ++#8213=PLANE('',#8212); ++#8214=ORIENTED_EDGE('',*,*,#8189,.T.); ++#8215=ORIENTED_EDGE('',*,*,#8203,.T.); ++#8216=EDGE_LOOP('',(#8214,#8215)); ++#8217=FACE_OUTER_BOUND('',#8216,.F.); ++#8219=ORIENTED_EDGE('',*,*,#8218,.F.); ++#8221=ORIENTED_EDGE('',*,*,#8220,.F.); ++#8222=EDGE_LOOP('',(#8219,#8221)); ++#8223=FACE_BOUND('',#8222,.F.); ++#8224=ADVANCED_FACE('',(#8217,#8223),#8213,.F.); ++#8225=CARTESIAN_POINT('',(2.2875E1,1.5E0,6.E0)); ++#8226=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8227=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8228=AXIS2_PLACEMENT_3D('',#8225,#8226,#8227); ++#8229=CYLINDRICAL_SURFACE('',#8228,1.925E-1); ++#8230=ORIENTED_EDGE('',*,*,#8218,.T.); ++#8232=ORIENTED_EDGE('',*,*,#8231,.T.); ++#8233=ORIENTED_EDGE('',*,*,#5602,.F.); ++#8235=ORIENTED_EDGE('',*,*,#8234,.F.); ++#8236=EDGE_LOOP('',(#8230,#8232,#8233,#8235)); ++#8237=FACE_OUTER_BOUND('',#8236,.F.); ++#8238=ADVANCED_FACE('',(#8237),#8229,.F.); ++#8239=CARTESIAN_POINT('',(2.2875E1,1.5E0,6.E0)); ++#8240=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8241=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8242=AXIS2_PLACEMENT_3D('',#8239,#8240,#8241); ++#8243=CYLINDRICAL_SURFACE('',#8242,1.925E-1); ++#8244=ORIENTED_EDGE('',*,*,#8220,.T.); ++#8245=ORIENTED_EDGE('',*,*,#8234,.T.); ++#8246=ORIENTED_EDGE('',*,*,#5604,.F.); ++#8247=ORIENTED_EDGE('',*,*,#8231,.F.); ++#8248=EDGE_LOOP('',(#8244,#8245,#8246,#8247)); ++#8249=FACE_OUTER_BOUND('',#8248,.F.); ++#8250=ADVANCED_FACE('',(#8249),#8243,.F.); ++#8251=CARTESIAN_POINT('',(2.2875E1,1.5E0,1.8E1)); ++#8252=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8253=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8254=AXIS2_PLACEMENT_3D('',#8251,#8252,#8253); ++#8255=CYLINDRICAL_SURFACE('',#8254,2.575E-1); ++#8256=ORIENTED_EDGE('',*,*,#6370,.T.); ++#8258=ORIENTED_EDGE('',*,*,#8257,.T.); ++#8260=ORIENTED_EDGE('',*,*,#8259,.F.); ++#8262=ORIENTED_EDGE('',*,*,#8261,.F.); ++#8263=EDGE_LOOP('',(#8256,#8258,#8260,#8262)); ++#8264=FACE_OUTER_BOUND('',#8263,.F.); ++#8265=ADVANCED_FACE('',(#8264),#8255,.F.); ++#8266=CARTESIAN_POINT('',(2.2875E1,1.5E0,1.8E1)); ++#8267=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8268=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8269=AXIS2_PLACEMENT_3D('',#8266,#8267,#8268); ++#8270=CYLINDRICAL_SURFACE('',#8269,2.575E-1); ++#8271=ORIENTED_EDGE('',*,*,#6372,.T.); ++#8272=ORIENTED_EDGE('',*,*,#8261,.T.); ++#8274=ORIENTED_EDGE('',*,*,#8273,.F.); ++#8275=ORIENTED_EDGE('',*,*,#8257,.F.); ++#8276=EDGE_LOOP('',(#8271,#8272,#8274,#8275)); ++#8277=FACE_OUTER_BOUND('',#8276,.F.); ++#8278=ADVANCED_FACE('',(#8277),#8270,.F.); ++#8279=CARTESIAN_POINT('',(2.2875E1,1.E0,1.8E1)); ++#8280=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8281=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8282=AXIS2_PLACEMENT_3D('',#8279,#8280,#8281); ++#8283=PLANE('',#8282); ++#8284=ORIENTED_EDGE('',*,*,#8259,.T.); ++#8285=ORIENTED_EDGE('',*,*,#8273,.T.); ++#8286=EDGE_LOOP('',(#8284,#8285)); ++#8287=FACE_OUTER_BOUND('',#8286,.F.); ++#8289=ORIENTED_EDGE('',*,*,#8288,.F.); ++#8291=ORIENTED_EDGE('',*,*,#8290,.F.); ++#8292=EDGE_LOOP('',(#8289,#8291)); ++#8293=FACE_BOUND('',#8292,.F.); ++#8294=ADVANCED_FACE('',(#8287,#8293),#8283,.F.); ++#8295=CARTESIAN_POINT('',(2.2875E1,1.5E0,1.8E1)); ++#8296=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8297=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8298=AXIS2_PLACEMENT_3D('',#8295,#8296,#8297); ++#8299=CYLINDRICAL_SURFACE('',#8298,1.925E-1); ++#8300=ORIENTED_EDGE('',*,*,#8288,.T.); ++#8302=ORIENTED_EDGE('',*,*,#8301,.T.); ++#8303=ORIENTED_EDGE('',*,*,#5590,.F.); ++#8305=ORIENTED_EDGE('',*,*,#8304,.F.); ++#8306=EDGE_LOOP('',(#8300,#8302,#8303,#8305)); ++#8307=FACE_OUTER_BOUND('',#8306,.F.); ++#8308=ADVANCED_FACE('',(#8307),#8299,.F.); ++#8309=CARTESIAN_POINT('',(2.2875E1,1.5E0,1.8E1)); ++#8310=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8311=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8312=AXIS2_PLACEMENT_3D('',#8309,#8310,#8311); ++#8313=CYLINDRICAL_SURFACE('',#8312,1.925E-1); ++#8314=ORIENTED_EDGE('',*,*,#8290,.T.); ++#8315=ORIENTED_EDGE('',*,*,#8304,.T.); ++#8316=ORIENTED_EDGE('',*,*,#5592,.F.); ++#8317=ORIENTED_EDGE('',*,*,#8301,.F.); ++#8318=EDGE_LOOP('',(#8314,#8315,#8316,#8317)); ++#8319=FACE_OUTER_BOUND('',#8318,.F.); ++#8320=ADVANCED_FACE('',(#8319),#8313,.F.); ++#8321=CARTESIAN_POINT('',(2.2875E1,1.5E0,2.4E1)); ++#8322=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8323=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8324=AXIS2_PLACEMENT_3D('',#8321,#8322,#8323); ++#8325=CYLINDRICAL_SURFACE('',#8324,2.575E-1); ++#8326=ORIENTED_EDGE('',*,*,#6376,.T.); ++#8328=ORIENTED_EDGE('',*,*,#8327,.T.); ++#8330=ORIENTED_EDGE('',*,*,#8329,.F.); ++#8332=ORIENTED_EDGE('',*,*,#8331,.F.); ++#8333=EDGE_LOOP('',(#8326,#8328,#8330,#8332)); ++#8334=FACE_OUTER_BOUND('',#8333,.F.); ++#8335=ADVANCED_FACE('',(#8334),#8325,.F.); ++#8336=CARTESIAN_POINT('',(2.2875E1,1.5E0,2.4E1)); ++#8337=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8338=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8339=AXIS2_PLACEMENT_3D('',#8336,#8337,#8338); ++#8340=CYLINDRICAL_SURFACE('',#8339,2.575E-1); ++#8341=ORIENTED_EDGE('',*,*,#6378,.T.); ++#8342=ORIENTED_EDGE('',*,*,#8331,.T.); ++#8344=ORIENTED_EDGE('',*,*,#8343,.F.); ++#8345=ORIENTED_EDGE('',*,*,#8327,.F.); ++#8346=EDGE_LOOP('',(#8341,#8342,#8344,#8345)); ++#8347=FACE_OUTER_BOUND('',#8346,.F.); ++#8348=ADVANCED_FACE('',(#8347),#8340,.F.); ++#8349=CARTESIAN_POINT('',(2.2875E1,1.E0,2.4E1)); ++#8350=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8351=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8352=AXIS2_PLACEMENT_3D('',#8349,#8350,#8351); ++#8353=PLANE('',#8352); ++#8354=ORIENTED_EDGE('',*,*,#8329,.T.); ++#8355=ORIENTED_EDGE('',*,*,#8343,.T.); ++#8356=EDGE_LOOP('',(#8354,#8355)); ++#8357=FACE_OUTER_BOUND('',#8356,.F.); ++#8359=ORIENTED_EDGE('',*,*,#8358,.F.); ++#8361=ORIENTED_EDGE('',*,*,#8360,.F.); ++#8362=EDGE_LOOP('',(#8359,#8361)); ++#8363=FACE_BOUND('',#8362,.F.); ++#8364=ADVANCED_FACE('',(#8357,#8363),#8353,.F.); ++#8365=CARTESIAN_POINT('',(2.2875E1,1.5E0,2.4E1)); ++#8366=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8367=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8368=AXIS2_PLACEMENT_3D('',#8365,#8366,#8367); ++#8369=CYLINDRICAL_SURFACE('',#8368,1.925E-1); ++#8370=ORIENTED_EDGE('',*,*,#8358,.T.); ++#8372=ORIENTED_EDGE('',*,*,#8371,.T.); ++#8373=ORIENTED_EDGE('',*,*,#5584,.F.); ++#8375=ORIENTED_EDGE('',*,*,#8374,.F.); ++#8376=EDGE_LOOP('',(#8370,#8372,#8373,#8375)); ++#8377=FACE_OUTER_BOUND('',#8376,.F.); ++#8378=ADVANCED_FACE('',(#8377),#8369,.F.); ++#8379=CARTESIAN_POINT('',(2.2875E1,1.5E0,2.4E1)); ++#8380=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8381=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8382=AXIS2_PLACEMENT_3D('',#8379,#8380,#8381); ++#8383=CYLINDRICAL_SURFACE('',#8382,1.925E-1); ++#8384=ORIENTED_EDGE('',*,*,#8360,.T.); ++#8385=ORIENTED_EDGE('',*,*,#8374,.T.); ++#8386=ORIENTED_EDGE('',*,*,#5586,.F.); ++#8387=ORIENTED_EDGE('',*,*,#8371,.F.); ++#8388=EDGE_LOOP('',(#8384,#8385,#8386,#8387)); ++#8389=FACE_OUTER_BOUND('',#8388,.F.); ++#8390=ADVANCED_FACE('',(#8389),#8383,.F.); ++#8391=CARTESIAN_POINT('',(6.E0,1.5E0,1.25E0)); ++#8392=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8393=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8394=AXIS2_PLACEMENT_3D('',#8391,#8392,#8393); ++#8395=CYLINDRICAL_SURFACE('',#8394,2.56E-1); ++#8396=ORIENTED_EDGE('',*,*,#6260,.T.); ++#8398=ORIENTED_EDGE('',*,*,#8397,.T.); ++#8400=ORIENTED_EDGE('',*,*,#8399,.F.); ++#8402=ORIENTED_EDGE('',*,*,#8401,.F.); ++#8403=EDGE_LOOP('',(#8396,#8398,#8400,#8402)); ++#8404=FACE_OUTER_BOUND('',#8403,.F.); ++#8405=ADVANCED_FACE('',(#8404),#8395,.F.); ++#8406=CARTESIAN_POINT('',(6.E0,1.5E0,1.25E0)); ++#8407=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8408=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8409=AXIS2_PLACEMENT_3D('',#8406,#8407,#8408); ++#8410=CYLINDRICAL_SURFACE('',#8409,2.56E-1); ++#8411=ORIENTED_EDGE('',*,*,#6262,.T.); ++#8412=ORIENTED_EDGE('',*,*,#8401,.T.); ++#8414=ORIENTED_EDGE('',*,*,#8413,.F.); ++#8415=ORIENTED_EDGE('',*,*,#8397,.F.); ++#8416=EDGE_LOOP('',(#8411,#8412,#8414,#8415)); ++#8417=FACE_OUTER_BOUND('',#8416,.F.); ++#8418=ADVANCED_FACE('',(#8417),#8410,.F.); ++#8419=CARTESIAN_POINT('',(6.E0,1.E0,1.25E0)); ++#8420=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8421=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8422=AXIS2_PLACEMENT_3D('',#8419,#8420,#8421); ++#8423=PLANE('',#8422); ++#8424=ORIENTED_EDGE('',*,*,#8399,.T.); ++#8425=ORIENTED_EDGE('',*,*,#8413,.T.); ++#8426=EDGE_LOOP('',(#8424,#8425)); ++#8427=FACE_OUTER_BOUND('',#8426,.F.); ++#8429=ORIENTED_EDGE('',*,*,#8428,.F.); ++#8431=ORIENTED_EDGE('',*,*,#8430,.F.); ++#8432=EDGE_LOOP('',(#8429,#8431)); ++#8433=FACE_BOUND('',#8432,.F.); ++#8434=ADVANCED_FACE('',(#8427,#8433),#8423,.F.); ++#8435=CARTESIAN_POINT('',(6.E0,1.5E0,1.25E0)); ++#8436=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8437=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8438=AXIS2_PLACEMENT_3D('',#8435,#8436,#8437); ++#8439=CYLINDRICAL_SURFACE('',#8438,1.925E-1); ++#8440=ORIENTED_EDGE('',*,*,#8428,.T.); ++#8442=ORIENTED_EDGE('',*,*,#8441,.T.); ++#8443=ORIENTED_EDGE('',*,*,#5632,.F.); ++#8445=ORIENTED_EDGE('',*,*,#8444,.F.); ++#8446=EDGE_LOOP('',(#8440,#8442,#8443,#8445)); ++#8447=FACE_OUTER_BOUND('',#8446,.F.); ++#8448=ADVANCED_FACE('',(#8447),#8439,.F.); ++#8449=CARTESIAN_POINT('',(6.E0,1.5E0,1.25E0)); ++#8450=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8451=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8452=AXIS2_PLACEMENT_3D('',#8449,#8450,#8451); ++#8453=CYLINDRICAL_SURFACE('',#8452,1.925E-1); ++#8454=ORIENTED_EDGE('',*,*,#8430,.T.); ++#8455=ORIENTED_EDGE('',*,*,#8444,.T.); ++#8456=ORIENTED_EDGE('',*,*,#5634,.F.); ++#8457=ORIENTED_EDGE('',*,*,#8441,.F.); ++#8458=EDGE_LOOP('',(#8454,#8455,#8456,#8457)); ++#8459=FACE_OUTER_BOUND('',#8458,.F.); ++#8460=ADVANCED_FACE('',(#8459),#8453,.F.); ++#8461=CARTESIAN_POINT('',(1.2E1,1.5E0,1.25E0)); ++#8462=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8463=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8464=AXIS2_PLACEMENT_3D('',#8461,#8462,#8463); ++#8465=CYLINDRICAL_SURFACE('',#8464,2.56E-1); ++#8466=ORIENTED_EDGE('',*,*,#6266,.T.); ++#8468=ORIENTED_EDGE('',*,*,#8467,.T.); ++#8470=ORIENTED_EDGE('',*,*,#8469,.F.); ++#8472=ORIENTED_EDGE('',*,*,#8471,.F.); ++#8473=EDGE_LOOP('',(#8466,#8468,#8470,#8472)); ++#8474=FACE_OUTER_BOUND('',#8473,.F.); ++#8475=ADVANCED_FACE('',(#8474),#8465,.F.); ++#8476=CARTESIAN_POINT('',(1.2E1,1.5E0,1.25E0)); ++#8477=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8478=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8479=AXIS2_PLACEMENT_3D('',#8476,#8477,#8478); ++#8480=CYLINDRICAL_SURFACE('',#8479,2.56E-1); ++#8481=ORIENTED_EDGE('',*,*,#6268,.T.); ++#8482=ORIENTED_EDGE('',*,*,#8471,.T.); ++#8484=ORIENTED_EDGE('',*,*,#8483,.F.); ++#8485=ORIENTED_EDGE('',*,*,#8467,.F.); ++#8486=EDGE_LOOP('',(#8481,#8482,#8484,#8485)); ++#8487=FACE_OUTER_BOUND('',#8486,.F.); ++#8488=ADVANCED_FACE('',(#8487),#8480,.F.); ++#8489=CARTESIAN_POINT('',(1.2E1,1.E0,1.25E0)); ++#8490=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8491=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8492=AXIS2_PLACEMENT_3D('',#8489,#8490,#8491); ++#8493=PLANE('',#8492); ++#8494=ORIENTED_EDGE('',*,*,#8469,.T.); ++#8495=ORIENTED_EDGE('',*,*,#8483,.T.); ++#8496=EDGE_LOOP('',(#8494,#8495)); ++#8497=FACE_OUTER_BOUND('',#8496,.F.); ++#8499=ORIENTED_EDGE('',*,*,#8498,.F.); ++#8501=ORIENTED_EDGE('',*,*,#8500,.F.); ++#8502=EDGE_LOOP('',(#8499,#8501)); ++#8503=FACE_BOUND('',#8502,.F.); ++#8504=ADVANCED_FACE('',(#8497,#8503),#8493,.F.); ++#8505=CARTESIAN_POINT('',(1.2E1,1.5E0,1.25E0)); ++#8506=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8507=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8508=AXIS2_PLACEMENT_3D('',#8505,#8506,#8507); ++#8509=CYLINDRICAL_SURFACE('',#8508,1.925E-1); ++#8510=ORIENTED_EDGE('',*,*,#8498,.T.); ++#8512=ORIENTED_EDGE('',*,*,#8511,.T.); ++#8513=ORIENTED_EDGE('',*,*,#5578,.F.); ++#8515=ORIENTED_EDGE('',*,*,#8514,.F.); ++#8516=EDGE_LOOP('',(#8510,#8512,#8513,#8515)); ++#8517=FACE_OUTER_BOUND('',#8516,.F.); ++#8518=ADVANCED_FACE('',(#8517),#8509,.F.); ++#8519=CARTESIAN_POINT('',(1.2E1,1.5E0,1.25E0)); ++#8520=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8521=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8522=AXIS2_PLACEMENT_3D('',#8519,#8520,#8521); ++#8523=CYLINDRICAL_SURFACE('',#8522,1.925E-1); ++#8524=ORIENTED_EDGE('',*,*,#8500,.T.); ++#8525=ORIENTED_EDGE('',*,*,#8514,.T.); ++#8526=ORIENTED_EDGE('',*,*,#5580,.F.); ++#8527=ORIENTED_EDGE('',*,*,#8511,.F.); ++#8528=EDGE_LOOP('',(#8524,#8525,#8526,#8527)); ++#8529=FACE_OUTER_BOUND('',#8528,.F.); ++#8530=ADVANCED_FACE('',(#8529),#8523,.F.); ++#8531=CARTESIAN_POINT('',(1.8E1,1.5E0,1.25E0)); ++#8532=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8533=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8534=AXIS2_PLACEMENT_3D('',#8531,#8532,#8533); ++#8535=CYLINDRICAL_SURFACE('',#8534,2.56E-1); ++#8536=ORIENTED_EDGE('',*,*,#6272,.T.); ++#8538=ORIENTED_EDGE('',*,*,#8537,.T.); ++#8540=ORIENTED_EDGE('',*,*,#8539,.F.); ++#8542=ORIENTED_EDGE('',*,*,#8541,.F.); ++#8543=EDGE_LOOP('',(#8536,#8538,#8540,#8542)); ++#8544=FACE_OUTER_BOUND('',#8543,.F.); ++#8545=ADVANCED_FACE('',(#8544),#8535,.F.); ++#8546=CARTESIAN_POINT('',(1.8E1,1.5E0,1.25E0)); ++#8547=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8548=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8549=AXIS2_PLACEMENT_3D('',#8546,#8547,#8548); ++#8550=CYLINDRICAL_SURFACE('',#8549,2.56E-1); ++#8551=ORIENTED_EDGE('',*,*,#6274,.T.); ++#8552=ORIENTED_EDGE('',*,*,#8541,.T.); ++#8554=ORIENTED_EDGE('',*,*,#8553,.F.); ++#8555=ORIENTED_EDGE('',*,*,#8537,.F.); ++#8556=EDGE_LOOP('',(#8551,#8552,#8554,#8555)); ++#8557=FACE_OUTER_BOUND('',#8556,.F.); ++#8558=ADVANCED_FACE('',(#8557),#8550,.F.); ++#8559=CARTESIAN_POINT('',(1.8E1,1.E0,1.25E0)); ++#8560=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8561=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8562=AXIS2_PLACEMENT_3D('',#8559,#8560,#8561); ++#8563=PLANE('',#8562); ++#8564=ORIENTED_EDGE('',*,*,#8539,.T.); ++#8565=ORIENTED_EDGE('',*,*,#8553,.T.); ++#8566=EDGE_LOOP('',(#8564,#8565)); ++#8567=FACE_OUTER_BOUND('',#8566,.F.); ++#8569=ORIENTED_EDGE('',*,*,#8568,.F.); ++#8571=ORIENTED_EDGE('',*,*,#8570,.F.); ++#8572=EDGE_LOOP('',(#8569,#8571)); ++#8573=FACE_BOUND('',#8572,.F.); ++#8574=ADVANCED_FACE('',(#8567,#8573),#8563,.F.); ++#8575=CARTESIAN_POINT('',(1.8E1,1.5E0,1.25E0)); ++#8576=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8577=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8578=AXIS2_PLACEMENT_3D('',#8575,#8576,#8577); ++#8579=CYLINDRICAL_SURFACE('',#8578,1.925E-1); ++#8580=ORIENTED_EDGE('',*,*,#8568,.T.); ++#8582=ORIENTED_EDGE('',*,*,#8581,.T.); ++#8583=ORIENTED_EDGE('',*,*,#5560,.F.); ++#8585=ORIENTED_EDGE('',*,*,#8584,.F.); ++#8586=EDGE_LOOP('',(#8580,#8582,#8583,#8585)); ++#8587=FACE_OUTER_BOUND('',#8586,.F.); ++#8588=ADVANCED_FACE('',(#8587),#8579,.F.); ++#8589=CARTESIAN_POINT('',(1.8E1,1.5E0,1.25E0)); ++#8590=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8591=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8592=AXIS2_PLACEMENT_3D('',#8589,#8590,#8591); ++#8593=CYLINDRICAL_SURFACE('',#8592,1.925E-1); ++#8594=ORIENTED_EDGE('',*,*,#8570,.T.); ++#8595=ORIENTED_EDGE('',*,*,#8584,.T.); ++#8596=ORIENTED_EDGE('',*,*,#5562,.F.); ++#8597=ORIENTED_EDGE('',*,*,#8581,.F.); ++#8598=EDGE_LOOP('',(#8594,#8595,#8596,#8597)); ++#8599=FACE_OUTER_BOUND('',#8598,.F.); ++#8600=ADVANCED_FACE('',(#8599),#8593,.F.); ++#8601=CARTESIAN_POINT('',(6.E0,1.5E0,3.075E1)); ++#8602=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8603=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8604=AXIS2_PLACEMENT_3D('',#8601,#8602,#8603); ++#8605=CYLINDRICAL_SURFACE('',#8604,2.56E-1); ++#8606=ORIENTED_EDGE('',*,*,#6382,.T.); ++#8608=ORIENTED_EDGE('',*,*,#8607,.T.); ++#8610=ORIENTED_EDGE('',*,*,#8609,.F.); ++#8612=ORIENTED_EDGE('',*,*,#8611,.F.); ++#8613=EDGE_LOOP('',(#8606,#8608,#8610,#8612)); ++#8614=FACE_OUTER_BOUND('',#8613,.F.); ++#8615=ADVANCED_FACE('',(#8614),#8605,.F.); ++#8616=CARTESIAN_POINT('',(6.E0,1.5E0,3.075E1)); ++#8617=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8618=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8619=AXIS2_PLACEMENT_3D('',#8616,#8617,#8618); ++#8620=CYLINDRICAL_SURFACE('',#8619,2.56E-1); ++#8621=ORIENTED_EDGE('',*,*,#6384,.T.); ++#8622=ORIENTED_EDGE('',*,*,#8611,.T.); ++#8624=ORIENTED_EDGE('',*,*,#8623,.F.); ++#8625=ORIENTED_EDGE('',*,*,#8607,.F.); ++#8626=EDGE_LOOP('',(#8621,#8622,#8624,#8625)); ++#8627=FACE_OUTER_BOUND('',#8626,.F.); ++#8628=ADVANCED_FACE('',(#8627),#8620,.F.); ++#8629=CARTESIAN_POINT('',(6.E0,1.E0,3.075E1)); ++#8630=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8631=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8632=AXIS2_PLACEMENT_3D('',#8629,#8630,#8631); ++#8633=PLANE('',#8632); ++#8634=ORIENTED_EDGE('',*,*,#8609,.T.); ++#8635=ORIENTED_EDGE('',*,*,#8623,.T.); ++#8636=EDGE_LOOP('',(#8634,#8635)); ++#8637=FACE_OUTER_BOUND('',#8636,.F.); ++#8639=ORIENTED_EDGE('',*,*,#8638,.F.); ++#8641=ORIENTED_EDGE('',*,*,#8640,.F.); ++#8642=EDGE_LOOP('',(#8639,#8641)); ++#8643=FACE_BOUND('',#8642,.F.); ++#8644=ADVANCED_FACE('',(#8637,#8643),#8633,.F.); ++#8645=CARTESIAN_POINT('',(6.E0,1.5E0,3.075E1)); ++#8646=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8647=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8648=AXIS2_PLACEMENT_3D('',#8645,#8646,#8647); ++#8649=CYLINDRICAL_SURFACE('',#8648,1.925E-1); ++#8650=ORIENTED_EDGE('',*,*,#8638,.T.); ++#8652=ORIENTED_EDGE('',*,*,#8651,.T.); ++#8653=ORIENTED_EDGE('',*,*,#5572,.F.); ++#8655=ORIENTED_EDGE('',*,*,#8654,.F.); ++#8656=EDGE_LOOP('',(#8650,#8652,#8653,#8655)); ++#8657=FACE_OUTER_BOUND('',#8656,.F.); ++#8658=ADVANCED_FACE('',(#8657),#8649,.F.); ++#8659=CARTESIAN_POINT('',(6.E0,1.5E0,3.075E1)); ++#8660=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8661=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8662=AXIS2_PLACEMENT_3D('',#8659,#8660,#8661); ++#8663=CYLINDRICAL_SURFACE('',#8662,1.925E-1); ++#8664=ORIENTED_EDGE('',*,*,#8640,.T.); ++#8665=ORIENTED_EDGE('',*,*,#8654,.T.); ++#8666=ORIENTED_EDGE('',*,*,#5574,.F.); ++#8667=ORIENTED_EDGE('',*,*,#8651,.F.); ++#8668=EDGE_LOOP('',(#8664,#8665,#8666,#8667)); ++#8669=FACE_OUTER_BOUND('',#8668,.F.); ++#8670=ADVANCED_FACE('',(#8669),#8663,.F.); ++#8671=CARTESIAN_POINT('',(1.2E1,1.5E0,3.075E1)); ++#8672=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8673=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8674=AXIS2_PLACEMENT_3D('',#8671,#8672,#8673); ++#8675=CYLINDRICAL_SURFACE('',#8674,2.56E-1); ++#8676=ORIENTED_EDGE('',*,*,#6388,.T.); ++#8678=ORIENTED_EDGE('',*,*,#8677,.T.); ++#8680=ORIENTED_EDGE('',*,*,#8679,.F.); ++#8682=ORIENTED_EDGE('',*,*,#8681,.F.); ++#8683=EDGE_LOOP('',(#8676,#8678,#8680,#8682)); ++#8684=FACE_OUTER_BOUND('',#8683,.F.); ++#8685=ADVANCED_FACE('',(#8684),#8675,.F.); ++#8686=CARTESIAN_POINT('',(1.2E1,1.5E0,3.075E1)); ++#8687=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8688=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8689=AXIS2_PLACEMENT_3D('',#8686,#8687,#8688); ++#8690=CYLINDRICAL_SURFACE('',#8689,2.56E-1); ++#8691=ORIENTED_EDGE('',*,*,#6390,.T.); ++#8692=ORIENTED_EDGE('',*,*,#8681,.T.); ++#8694=ORIENTED_EDGE('',*,*,#8693,.F.); ++#8695=ORIENTED_EDGE('',*,*,#8677,.F.); ++#8696=EDGE_LOOP('',(#8691,#8692,#8694,#8695)); ++#8697=FACE_OUTER_BOUND('',#8696,.F.); ++#8698=ADVANCED_FACE('',(#8697),#8690,.F.); ++#8699=CARTESIAN_POINT('',(1.2E1,1.E0,3.075E1)); ++#8700=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8701=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8702=AXIS2_PLACEMENT_3D('',#8699,#8700,#8701); ++#8703=PLANE('',#8702); ++#8704=ORIENTED_EDGE('',*,*,#8679,.T.); ++#8705=ORIENTED_EDGE('',*,*,#8693,.T.); ++#8706=EDGE_LOOP('',(#8704,#8705)); ++#8707=FACE_OUTER_BOUND('',#8706,.F.); ++#8709=ORIENTED_EDGE('',*,*,#8708,.F.); ++#8711=ORIENTED_EDGE('',*,*,#8710,.F.); ++#8712=EDGE_LOOP('',(#8709,#8711)); ++#8713=FACE_BOUND('',#8712,.F.); ++#8714=ADVANCED_FACE('',(#8707,#8713),#8703,.F.); ++#8715=CARTESIAN_POINT('',(1.2E1,1.5E0,3.075E1)); ++#8716=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8717=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8718=AXIS2_PLACEMENT_3D('',#8715,#8716,#8717); ++#8719=CYLINDRICAL_SURFACE('',#8718,1.925E-1); ++#8720=ORIENTED_EDGE('',*,*,#8708,.T.); ++#8722=ORIENTED_EDGE('',*,*,#8721,.T.); ++#8723=ORIENTED_EDGE('',*,*,#5566,.F.); ++#8725=ORIENTED_EDGE('',*,*,#8724,.F.); ++#8726=EDGE_LOOP('',(#8720,#8722,#8723,#8725)); ++#8727=FACE_OUTER_BOUND('',#8726,.F.); ++#8728=ADVANCED_FACE('',(#8727),#8719,.F.); ++#8729=CARTESIAN_POINT('',(1.2E1,1.5E0,3.075E1)); ++#8730=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8731=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8732=AXIS2_PLACEMENT_3D('',#8729,#8730,#8731); ++#8733=CYLINDRICAL_SURFACE('',#8732,1.925E-1); ++#8734=ORIENTED_EDGE('',*,*,#8710,.T.); ++#8735=ORIENTED_EDGE('',*,*,#8724,.T.); ++#8736=ORIENTED_EDGE('',*,*,#5568,.F.); ++#8737=ORIENTED_EDGE('',*,*,#8721,.F.); ++#8738=EDGE_LOOP('',(#8734,#8735,#8736,#8737)); ++#8739=FACE_OUTER_BOUND('',#8738,.F.); ++#8740=ADVANCED_FACE('',(#8739),#8733,.F.); ++#8741=CARTESIAN_POINT('',(1.8E1,1.5E0,3.075E1)); ++#8742=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8743=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8744=AXIS2_PLACEMENT_3D('',#8741,#8742,#8743); ++#8745=CYLINDRICAL_SURFACE('',#8744,2.56E-1); ++#8746=ORIENTED_EDGE('',*,*,#6394,.T.); ++#8748=ORIENTED_EDGE('',*,*,#8747,.T.); ++#8750=ORIENTED_EDGE('',*,*,#8749,.F.); ++#8752=ORIENTED_EDGE('',*,*,#8751,.F.); ++#8753=EDGE_LOOP('',(#8746,#8748,#8750,#8752)); ++#8754=FACE_OUTER_BOUND('',#8753,.F.); ++#8755=ADVANCED_FACE('',(#8754),#8745,.F.); ++#8756=CARTESIAN_POINT('',(1.8E1,1.5E0,3.075E1)); ++#8757=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8758=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8759=AXIS2_PLACEMENT_3D('',#8756,#8757,#8758); ++#8760=CYLINDRICAL_SURFACE('',#8759,2.56E-1); ++#8761=ORIENTED_EDGE('',*,*,#6396,.T.); ++#8762=ORIENTED_EDGE('',*,*,#8751,.T.); ++#8764=ORIENTED_EDGE('',*,*,#8763,.F.); ++#8765=ORIENTED_EDGE('',*,*,#8747,.F.); ++#8766=EDGE_LOOP('',(#8761,#8762,#8764,#8765)); ++#8767=FACE_OUTER_BOUND('',#8766,.F.); ++#8768=ADVANCED_FACE('',(#8767),#8760,.F.); ++#8769=CARTESIAN_POINT('',(1.8E1,1.E0,3.075E1)); ++#8770=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8771=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8772=AXIS2_PLACEMENT_3D('',#8769,#8770,#8771); ++#8773=PLANE('',#8772); ++#8774=ORIENTED_EDGE('',*,*,#8749,.T.); ++#8775=ORIENTED_EDGE('',*,*,#8763,.T.); ++#8776=EDGE_LOOP('',(#8774,#8775)); ++#8777=FACE_OUTER_BOUND('',#8776,.F.); ++#8779=ORIENTED_EDGE('',*,*,#8778,.F.); ++#8781=ORIENTED_EDGE('',*,*,#8780,.F.); ++#8782=EDGE_LOOP('',(#8779,#8781)); ++#8783=FACE_BOUND('',#8782,.F.); ++#8784=ADVANCED_FACE('',(#8777,#8783),#8773,.F.); ++#8785=CARTESIAN_POINT('',(1.8E1,1.5E0,3.075E1)); ++#8786=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8787=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8788=AXIS2_PLACEMENT_3D('',#8785,#8786,#8787); ++#8789=CYLINDRICAL_SURFACE('',#8788,1.925E-1); ++#8790=ORIENTED_EDGE('',*,*,#8778,.T.); ++#8792=ORIENTED_EDGE('',*,*,#8791,.T.); ++#8793=ORIENTED_EDGE('',*,*,#5554,.F.); ++#8795=ORIENTED_EDGE('',*,*,#8794,.F.); ++#8796=EDGE_LOOP('',(#8790,#8792,#8793,#8795)); ++#8797=FACE_OUTER_BOUND('',#8796,.F.); ++#8798=ADVANCED_FACE('',(#8797),#8789,.F.); ++#8799=CARTESIAN_POINT('',(1.8E1,1.5E0,3.075E1)); ++#8800=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8801=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8802=AXIS2_PLACEMENT_3D('',#8799,#8800,#8801); ++#8803=CYLINDRICAL_SURFACE('',#8802,1.925E-1); ++#8804=ORIENTED_EDGE('',*,*,#8780,.T.); ++#8805=ORIENTED_EDGE('',*,*,#8794,.T.); ++#8806=ORIENTED_EDGE('',*,*,#5556,.F.); ++#8807=ORIENTED_EDGE('',*,*,#8791,.F.); ++#8808=EDGE_LOOP('',(#8804,#8805,#8806,#8807)); ++#8809=FACE_OUTER_BOUND('',#8808,.F.); ++#8810=ADVANCED_FACE('',(#8809),#8803,.F.); ++#8811=CARTESIAN_POINT('',(6.E0,1.5E0,9.E0)); ++#8812=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8813=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8814=AXIS2_PLACEMENT_3D('',#8811,#8812,#8813); ++#8815=CYLINDRICAL_SURFACE('',#8814,2.575E-1); ++#8816=ORIENTED_EDGE('',*,*,#6452,.T.); ++#8818=ORIENTED_EDGE('',*,*,#8817,.T.); ++#8820=ORIENTED_EDGE('',*,*,#8819,.F.); ++#8822=ORIENTED_EDGE('',*,*,#8821,.F.); ++#8823=EDGE_LOOP('',(#8816,#8818,#8820,#8822)); ++#8824=FACE_OUTER_BOUND('',#8823,.F.); ++#8825=ADVANCED_FACE('',(#8824),#8815,.F.); ++#8826=CARTESIAN_POINT('',(6.E0,1.5E0,9.E0)); ++#8827=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8828=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8829=AXIS2_PLACEMENT_3D('',#8826,#8827,#8828); ++#8830=CYLINDRICAL_SURFACE('',#8829,2.575E-1); ++#8831=ORIENTED_EDGE('',*,*,#6454,.T.); ++#8832=ORIENTED_EDGE('',*,*,#8821,.T.); ++#8834=ORIENTED_EDGE('',*,*,#8833,.F.); ++#8835=ORIENTED_EDGE('',*,*,#8817,.F.); ++#8836=EDGE_LOOP('',(#8831,#8832,#8834,#8835)); ++#8837=FACE_OUTER_BOUND('',#8836,.F.); ++#8838=ADVANCED_FACE('',(#8837),#8830,.F.); ++#8839=CARTESIAN_POINT('',(6.E0,1.E0,9.E0)); ++#8840=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8841=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8842=AXIS2_PLACEMENT_3D('',#8839,#8840,#8841); ++#8843=PLANE('',#8842); ++#8844=ORIENTED_EDGE('',*,*,#8819,.T.); ++#8845=ORIENTED_EDGE('',*,*,#8833,.T.); ++#8846=EDGE_LOOP('',(#8844,#8845)); ++#8847=FACE_OUTER_BOUND('',#8846,.F.); ++#8849=ORIENTED_EDGE('',*,*,#8848,.F.); ++#8851=ORIENTED_EDGE('',*,*,#8850,.F.); ++#8852=EDGE_LOOP('',(#8849,#8851)); ++#8853=FACE_BOUND('',#8852,.F.); ++#8854=ADVANCED_FACE('',(#8847,#8853),#8843,.F.); ++#8855=CARTESIAN_POINT('',(6.E0,1.5E0,9.E0)); ++#8856=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8857=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8858=AXIS2_PLACEMENT_3D('',#8855,#8856,#8857); ++#8859=CYLINDRICAL_SURFACE('',#8858,1.925E-1); ++#8860=ORIENTED_EDGE('',*,*,#8848,.T.); ++#8862=ORIENTED_EDGE('',*,*,#8861,.T.); ++#8863=ORIENTED_EDGE('',*,*,#5690,.F.); ++#8865=ORIENTED_EDGE('',*,*,#8864,.F.); ++#8866=EDGE_LOOP('',(#8860,#8862,#8863,#8865)); ++#8867=FACE_OUTER_BOUND('',#8866,.F.); ++#8868=ADVANCED_FACE('',(#8867),#8859,.F.); ++#8869=CARTESIAN_POINT('',(6.E0,1.5E0,9.E0)); ++#8870=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8871=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8872=AXIS2_PLACEMENT_3D('',#8869,#8870,#8871); ++#8873=CYLINDRICAL_SURFACE('',#8872,1.925E-1); ++#8874=ORIENTED_EDGE('',*,*,#8850,.T.); ++#8875=ORIENTED_EDGE('',*,*,#8864,.T.); ++#8876=ORIENTED_EDGE('',*,*,#5692,.F.); ++#8877=ORIENTED_EDGE('',*,*,#8861,.F.); ++#8878=EDGE_LOOP('',(#8874,#8875,#8876,#8877)); ++#8879=FACE_OUTER_BOUND('',#8878,.F.); ++#8880=ADVANCED_FACE('',(#8879),#8873,.F.); ++#8881=CARTESIAN_POINT('',(1.2E1,1.5E0,9.E0)); ++#8882=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8883=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8884=AXIS2_PLACEMENT_3D('',#8881,#8882,#8883); ++#8885=CYLINDRICAL_SURFACE('',#8884,2.575E-1); ++#8886=ORIENTED_EDGE('',*,*,#6458,.T.); ++#8888=ORIENTED_EDGE('',*,*,#8887,.T.); ++#8890=ORIENTED_EDGE('',*,*,#8889,.F.); ++#8892=ORIENTED_EDGE('',*,*,#8891,.F.); ++#8893=EDGE_LOOP('',(#8886,#8888,#8890,#8892)); ++#8894=FACE_OUTER_BOUND('',#8893,.F.); ++#8895=ADVANCED_FACE('',(#8894),#8885,.F.); ++#8896=CARTESIAN_POINT('',(1.2E1,1.5E0,9.E0)); ++#8897=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8898=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8899=AXIS2_PLACEMENT_3D('',#8896,#8897,#8898); ++#8900=CYLINDRICAL_SURFACE('',#8899,2.575E-1); ++#8901=ORIENTED_EDGE('',*,*,#6460,.T.); ++#8902=ORIENTED_EDGE('',*,*,#8891,.T.); ++#8904=ORIENTED_EDGE('',*,*,#8903,.F.); ++#8905=ORIENTED_EDGE('',*,*,#8887,.F.); ++#8906=EDGE_LOOP('',(#8901,#8902,#8904,#8905)); ++#8907=FACE_OUTER_BOUND('',#8906,.F.); ++#8908=ADVANCED_FACE('',(#8907),#8900,.F.); ++#8909=CARTESIAN_POINT('',(1.2E1,1.E0,9.E0)); ++#8910=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8911=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8912=AXIS2_PLACEMENT_3D('',#8909,#8910,#8911); ++#8913=PLANE('',#8912); ++#8914=ORIENTED_EDGE('',*,*,#8889,.T.); ++#8915=ORIENTED_EDGE('',*,*,#8903,.T.); ++#8916=EDGE_LOOP('',(#8914,#8915)); ++#8917=FACE_OUTER_BOUND('',#8916,.F.); ++#8919=ORIENTED_EDGE('',*,*,#8918,.F.); ++#8921=ORIENTED_EDGE('',*,*,#8920,.F.); ++#8922=EDGE_LOOP('',(#8919,#8921)); ++#8923=FACE_BOUND('',#8922,.F.); ++#8924=ADVANCED_FACE('',(#8917,#8923),#8913,.F.); ++#8925=CARTESIAN_POINT('',(1.2E1,1.5E0,9.E0)); ++#8926=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8927=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8928=AXIS2_PLACEMENT_3D('',#8925,#8926,#8927); ++#8929=CYLINDRICAL_SURFACE('',#8928,1.925E-1); ++#8930=ORIENTED_EDGE('',*,*,#8918,.T.); ++#8932=ORIENTED_EDGE('',*,*,#8931,.T.); ++#8933=ORIENTED_EDGE('',*,*,#5696,.F.); ++#8935=ORIENTED_EDGE('',*,*,#8934,.F.); ++#8936=EDGE_LOOP('',(#8930,#8932,#8933,#8935)); ++#8937=FACE_OUTER_BOUND('',#8936,.F.); ++#8938=ADVANCED_FACE('',(#8937),#8929,.F.); ++#8939=CARTESIAN_POINT('',(1.2E1,1.5E0,9.E0)); ++#8940=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8941=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8942=AXIS2_PLACEMENT_3D('',#8939,#8940,#8941); ++#8943=CYLINDRICAL_SURFACE('',#8942,1.925E-1); ++#8944=ORIENTED_EDGE('',*,*,#8920,.T.); ++#8945=ORIENTED_EDGE('',*,*,#8934,.T.); ++#8946=ORIENTED_EDGE('',*,*,#5698,.F.); ++#8947=ORIENTED_EDGE('',*,*,#8931,.F.); ++#8948=EDGE_LOOP('',(#8944,#8945,#8946,#8947)); ++#8949=FACE_OUTER_BOUND('',#8948,.F.); ++#8950=ADVANCED_FACE('',(#8949),#8943,.F.); ++#8951=CARTESIAN_POINT('',(1.8E1,1.5E0,9.E0)); ++#8952=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8953=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8954=AXIS2_PLACEMENT_3D('',#8951,#8952,#8953); ++#8955=CYLINDRICAL_SURFACE('',#8954,2.575E-1); ++#8956=ORIENTED_EDGE('',*,*,#6464,.T.); ++#8958=ORIENTED_EDGE('',*,*,#8957,.T.); ++#8960=ORIENTED_EDGE('',*,*,#8959,.F.); ++#8962=ORIENTED_EDGE('',*,*,#8961,.F.); ++#8963=EDGE_LOOP('',(#8956,#8958,#8960,#8962)); ++#8964=FACE_OUTER_BOUND('',#8963,.F.); ++#8965=ADVANCED_FACE('',(#8964),#8955,.F.); ++#8966=CARTESIAN_POINT('',(1.8E1,1.5E0,9.E0)); ++#8967=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8968=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8969=AXIS2_PLACEMENT_3D('',#8966,#8967,#8968); ++#8970=CYLINDRICAL_SURFACE('',#8969,2.575E-1); ++#8971=ORIENTED_EDGE('',*,*,#6466,.T.); ++#8972=ORIENTED_EDGE('',*,*,#8961,.T.); ++#8974=ORIENTED_EDGE('',*,*,#8973,.F.); ++#8975=ORIENTED_EDGE('',*,*,#8957,.F.); ++#8976=EDGE_LOOP('',(#8971,#8972,#8974,#8975)); ++#8977=FACE_OUTER_BOUND('',#8976,.F.); ++#8978=ADVANCED_FACE('',(#8977),#8970,.F.); ++#8979=CARTESIAN_POINT('',(1.8E1,1.E0,9.E0)); ++#8980=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8981=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8982=AXIS2_PLACEMENT_3D('',#8979,#8980,#8981); ++#8983=PLANE('',#8982); ++#8984=ORIENTED_EDGE('',*,*,#8959,.T.); ++#8985=ORIENTED_EDGE('',*,*,#8973,.T.); ++#8986=EDGE_LOOP('',(#8984,#8985)); ++#8987=FACE_OUTER_BOUND('',#8986,.F.); ++#8989=ORIENTED_EDGE('',*,*,#8988,.F.); ++#8991=ORIENTED_EDGE('',*,*,#8990,.F.); ++#8992=EDGE_LOOP('',(#8989,#8991)); ++#8993=FACE_BOUND('',#8992,.F.); ++#8994=ADVANCED_FACE('',(#8987,#8993),#8983,.F.); ++#8995=CARTESIAN_POINT('',(1.8E1,1.5E0,9.E0)); ++#8996=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#8997=DIRECTION('',(1.E0,0.E0,0.E0)); ++#8998=AXIS2_PLACEMENT_3D('',#8995,#8996,#8997); ++#8999=CYLINDRICAL_SURFACE('',#8998,1.925E-1); ++#9000=ORIENTED_EDGE('',*,*,#8988,.T.); ++#9002=ORIENTED_EDGE('',*,*,#9001,.T.); ++#9003=ORIENTED_EDGE('',*,*,#5702,.F.); ++#9005=ORIENTED_EDGE('',*,*,#9004,.F.); ++#9006=EDGE_LOOP('',(#9000,#9002,#9003,#9005)); ++#9007=FACE_OUTER_BOUND('',#9006,.F.); ++#9008=ADVANCED_FACE('',(#9007),#8999,.F.); ++#9009=CARTESIAN_POINT('',(1.8E1,1.5E0,9.E0)); ++#9010=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#9011=DIRECTION('',(1.E0,0.E0,0.E0)); ++#9012=AXIS2_PLACEMENT_3D('',#9009,#9010,#9011); ++#9013=CYLINDRICAL_SURFACE('',#9012,1.925E-1); ++#9014=ORIENTED_EDGE('',*,*,#8990,.T.); ++#9015=ORIENTED_EDGE('',*,*,#9004,.T.); ++#9016=ORIENTED_EDGE('',*,*,#5704,.F.); ++#9017=ORIENTED_EDGE('',*,*,#9001,.F.); ++#9018=EDGE_LOOP('',(#9014,#9015,#9016,#9017)); ++#9019=FACE_OUTER_BOUND('',#9018,.F.); ++#9020=ADVANCED_FACE('',(#9019),#9013,.F.); ++#9021=CARTESIAN_POINT('',(6.E0,1.5E0,1.8E1)); ++#9022=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#9023=DIRECTION('',(1.E0,0.E0,0.E0)); ++#9024=AXIS2_PLACEMENT_3D('',#9021,#9022,#9023); ++#9025=CYLINDRICAL_SURFACE('',#9024,2.575E-1); ++#9026=ORIENTED_EDGE('',*,*,#6470,.T.); ++#9028=ORIENTED_EDGE('',*,*,#9027,.T.); ++#9030=ORIENTED_EDGE('',*,*,#9029,.F.); ++#9032=ORIENTED_EDGE('',*,*,#9031,.F.); ++#9033=EDGE_LOOP('',(#9026,#9028,#9030,#9032)); ++#9034=FACE_OUTER_BOUND('',#9033,.F.); ++#9035=ADVANCED_FACE('',(#9034),#9025,.F.); ++#9036=CARTESIAN_POINT('',(6.E0,1.5E0,1.8E1)); ++#9037=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#9038=DIRECTION('',(1.E0,0.E0,0.E0)); ++#9039=AXIS2_PLACEMENT_3D('',#9036,#9037,#9038); ++#9040=CYLINDRICAL_SURFACE('',#9039,2.575E-1); ++#9041=ORIENTED_EDGE('',*,*,#6472,.T.); ++#9042=ORIENTED_EDGE('',*,*,#9031,.T.); ++#9044=ORIENTED_EDGE('',*,*,#9043,.F.); ++#9045=ORIENTED_EDGE('',*,*,#9027,.F.); ++#9046=EDGE_LOOP('',(#9041,#9042,#9044,#9045)); ++#9047=FACE_OUTER_BOUND('',#9046,.F.); ++#9048=ADVANCED_FACE('',(#9047),#9040,.F.); ++#9049=CARTESIAN_POINT('',(6.E0,1.E0,1.8E1)); ++#9050=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#9051=DIRECTION('',(1.E0,0.E0,0.E0)); ++#9052=AXIS2_PLACEMENT_3D('',#9049,#9050,#9051); ++#9053=PLANE('',#9052); ++#9054=ORIENTED_EDGE('',*,*,#9029,.T.); ++#9055=ORIENTED_EDGE('',*,*,#9043,.T.); ++#9056=EDGE_LOOP('',(#9054,#9055)); ++#9057=FACE_OUTER_BOUND('',#9056,.F.); ++#9059=ORIENTED_EDGE('',*,*,#9058,.F.); ++#9061=ORIENTED_EDGE('',*,*,#9060,.F.); ++#9062=EDGE_LOOP('',(#9059,#9061)); ++#9063=FACE_BOUND('',#9062,.F.); ++#9064=ADVANCED_FACE('',(#9057,#9063),#9053,.F.); ++#9065=CARTESIAN_POINT('',(6.E0,1.5E0,1.8E1)); ++#9066=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#9067=DIRECTION('',(1.E0,0.E0,0.E0)); ++#9068=AXIS2_PLACEMENT_3D('',#9065,#9066,#9067); ++#9069=CYLINDRICAL_SURFACE('',#9068,1.925E-1); ++#9070=ORIENTED_EDGE('',*,*,#9058,.T.); ++#9072=ORIENTED_EDGE('',*,*,#9071,.T.); ++#9073=ORIENTED_EDGE('',*,*,#5708,.F.); ++#9075=ORIENTED_EDGE('',*,*,#9074,.F.); ++#9076=EDGE_LOOP('',(#9070,#9072,#9073,#9075)); ++#9077=FACE_OUTER_BOUND('',#9076,.F.); ++#9078=ADVANCED_FACE('',(#9077),#9069,.F.); ++#9079=CARTESIAN_POINT('',(6.E0,1.5E0,1.8E1)); ++#9080=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#9081=DIRECTION('',(1.E0,0.E0,0.E0)); ++#9082=AXIS2_PLACEMENT_3D('',#9079,#9080,#9081); ++#9083=CYLINDRICAL_SURFACE('',#9082,1.925E-1); ++#9084=ORIENTED_EDGE('',*,*,#9060,.T.); ++#9085=ORIENTED_EDGE('',*,*,#9074,.T.); ++#9086=ORIENTED_EDGE('',*,*,#5710,.F.); ++#9087=ORIENTED_EDGE('',*,*,#9071,.F.); ++#9088=EDGE_LOOP('',(#9084,#9085,#9086,#9087)); ++#9089=FACE_OUTER_BOUND('',#9088,.F.); ++#9090=ADVANCED_FACE('',(#9089),#9083,.F.); ++#9091=CARTESIAN_POINT('',(1.2E1,1.5E0,1.8E1)); ++#9092=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#9093=DIRECTION('',(1.E0,0.E0,0.E0)); ++#9094=AXIS2_PLACEMENT_3D('',#9091,#9092,#9093); ++#9095=CYLINDRICAL_SURFACE('',#9094,2.575E-1); ++#9096=ORIENTED_EDGE('',*,*,#6476,.T.); ++#9098=ORIENTED_EDGE('',*,*,#9097,.T.); ++#9100=ORIENTED_EDGE('',*,*,#9099,.F.); ++#9102=ORIENTED_EDGE('',*,*,#9101,.F.); ++#9103=EDGE_LOOP('',(#9096,#9098,#9100,#9102)); ++#9104=FACE_OUTER_BOUND('',#9103,.F.); ++#9105=ADVANCED_FACE('',(#9104),#9095,.F.); ++#9106=CARTESIAN_POINT('',(1.2E1,1.5E0,1.8E1)); ++#9107=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#9108=DIRECTION('',(1.E0,0.E0,0.E0)); ++#9109=AXIS2_PLACEMENT_3D('',#9106,#9107,#9108); ++#9110=CYLINDRICAL_SURFACE('',#9109,2.575E-1); ++#9111=ORIENTED_EDGE('',*,*,#6478,.T.); ++#9112=ORIENTED_EDGE('',*,*,#9101,.T.); ++#9114=ORIENTED_EDGE('',*,*,#9113,.F.); ++#9115=ORIENTED_EDGE('',*,*,#9097,.F.); ++#9116=EDGE_LOOP('',(#9111,#9112,#9114,#9115)); ++#9117=FACE_OUTER_BOUND('',#9116,.F.); ++#9118=ADVANCED_FACE('',(#9117),#9110,.F.); ++#9119=CARTESIAN_POINT('',(1.2E1,1.E0,1.8E1)); ++#9120=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#9121=DIRECTION('',(1.E0,0.E0,0.E0)); ++#9122=AXIS2_PLACEMENT_3D('',#9119,#9120,#9121); ++#9123=PLANE('',#9122); ++#9124=ORIENTED_EDGE('',*,*,#9099,.T.); ++#9125=ORIENTED_EDGE('',*,*,#9113,.T.); ++#9126=EDGE_LOOP('',(#9124,#9125)); ++#9127=FACE_OUTER_BOUND('',#9126,.F.); ++#9129=ORIENTED_EDGE('',*,*,#9128,.F.); ++#9131=ORIENTED_EDGE('',*,*,#9130,.F.); ++#9132=EDGE_LOOP('',(#9129,#9131)); ++#9133=FACE_BOUND('',#9132,.F.); ++#9134=ADVANCED_FACE('',(#9127,#9133),#9123,.F.); ++#9135=CARTESIAN_POINT('',(1.2E1,1.5E0,1.8E1)); ++#9136=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#9137=DIRECTION('',(1.E0,0.E0,0.E0)); ++#9138=AXIS2_PLACEMENT_3D('',#9135,#9136,#9137); ++#9139=CYLINDRICAL_SURFACE('',#9138,1.925E-1); ++#9140=ORIENTED_EDGE('',*,*,#9128,.T.); ++#9142=ORIENTED_EDGE('',*,*,#9141,.T.); ++#9143=ORIENTED_EDGE('',*,*,#5714,.F.); ++#9145=ORIENTED_EDGE('',*,*,#9144,.F.); ++#9146=EDGE_LOOP('',(#9140,#9142,#9143,#9145)); ++#9147=FACE_OUTER_BOUND('',#9146,.F.); ++#9148=ADVANCED_FACE('',(#9147),#9139,.F.); ++#9149=CARTESIAN_POINT('',(1.2E1,1.5E0,1.8E1)); ++#9150=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#9151=DIRECTION('',(1.E0,0.E0,0.E0)); ++#9152=AXIS2_PLACEMENT_3D('',#9149,#9150,#9151); ++#9153=CYLINDRICAL_SURFACE('',#9152,1.925E-1); ++#9154=ORIENTED_EDGE('',*,*,#9130,.T.); ++#9155=ORIENTED_EDGE('',*,*,#9144,.T.); ++#9156=ORIENTED_EDGE('',*,*,#5716,.F.); ++#9157=ORIENTED_EDGE('',*,*,#9141,.F.); ++#9158=EDGE_LOOP('',(#9154,#9155,#9156,#9157)); ++#9159=FACE_OUTER_BOUND('',#9158,.F.); ++#9160=ADVANCED_FACE('',(#9159),#9153,.F.); ++#9161=CARTESIAN_POINT('',(1.8E1,1.5E0,1.8E1)); ++#9162=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#9163=DIRECTION('',(1.E0,0.E0,0.E0)); ++#9164=AXIS2_PLACEMENT_3D('',#9161,#9162,#9163); ++#9165=CYLINDRICAL_SURFACE('',#9164,2.575E-1); ++#9166=ORIENTED_EDGE('',*,*,#6482,.T.); ++#9168=ORIENTED_EDGE('',*,*,#9167,.T.); ++#9170=ORIENTED_EDGE('',*,*,#9169,.F.); ++#9172=ORIENTED_EDGE('',*,*,#9171,.F.); ++#9173=EDGE_LOOP('',(#9166,#9168,#9170,#9172)); ++#9174=FACE_OUTER_BOUND('',#9173,.F.); ++#9175=ADVANCED_FACE('',(#9174),#9165,.F.); ++#9176=CARTESIAN_POINT('',(1.8E1,1.5E0,1.8E1)); ++#9177=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#9178=DIRECTION('',(1.E0,0.E0,0.E0)); ++#9179=AXIS2_PLACEMENT_3D('',#9176,#9177,#9178); ++#9180=CYLINDRICAL_SURFACE('',#9179,2.575E-1); ++#9181=ORIENTED_EDGE('',*,*,#6484,.T.); ++#9182=ORIENTED_EDGE('',*,*,#9171,.T.); ++#9184=ORIENTED_EDGE('',*,*,#9183,.F.); ++#9185=ORIENTED_EDGE('',*,*,#9167,.F.); ++#9186=EDGE_LOOP('',(#9181,#9182,#9184,#9185)); ++#9187=FACE_OUTER_BOUND('',#9186,.F.); ++#9188=ADVANCED_FACE('',(#9187),#9180,.F.); ++#9189=CARTESIAN_POINT('',(1.8E1,1.E0,1.8E1)); ++#9190=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#9191=DIRECTION('',(1.E0,0.E0,0.E0)); ++#9192=AXIS2_PLACEMENT_3D('',#9189,#9190,#9191); ++#9193=PLANE('',#9192); ++#9194=ORIENTED_EDGE('',*,*,#9169,.T.); ++#9195=ORIENTED_EDGE('',*,*,#9183,.T.); ++#9196=EDGE_LOOP('',(#9194,#9195)); ++#9197=FACE_OUTER_BOUND('',#9196,.F.); ++#9199=ORIENTED_EDGE('',*,*,#9198,.F.); ++#9201=ORIENTED_EDGE('',*,*,#9200,.F.); ++#9202=EDGE_LOOP('',(#9199,#9201)); ++#9203=FACE_BOUND('',#9202,.F.); ++#9204=ADVANCED_FACE('',(#9197,#9203),#9193,.F.); ++#9205=CARTESIAN_POINT('',(1.8E1,1.5E0,1.8E1)); ++#9206=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#9207=DIRECTION('',(1.E0,0.E0,0.E0)); ++#9208=AXIS2_PLACEMENT_3D('',#9205,#9206,#9207); ++#9209=CYLINDRICAL_SURFACE('',#9208,1.925E-1); ++#9210=ORIENTED_EDGE('',*,*,#9198,.T.); ++#9212=ORIENTED_EDGE('',*,*,#9211,.T.); ++#9213=ORIENTED_EDGE('',*,*,#5720,.F.); ++#9215=ORIENTED_EDGE('',*,*,#9214,.F.); ++#9216=EDGE_LOOP('',(#9210,#9212,#9213,#9215)); ++#9217=FACE_OUTER_BOUND('',#9216,.F.); ++#9218=ADVANCED_FACE('',(#9217),#9209,.F.); ++#9219=CARTESIAN_POINT('',(1.8E1,1.5E0,1.8E1)); ++#9220=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#9221=DIRECTION('',(1.E0,0.E0,0.E0)); ++#9222=AXIS2_PLACEMENT_3D('',#9219,#9220,#9221); ++#9223=CYLINDRICAL_SURFACE('',#9222,1.925E-1); ++#9224=ORIENTED_EDGE('',*,*,#9200,.T.); ++#9225=ORIENTED_EDGE('',*,*,#9214,.T.); ++#9226=ORIENTED_EDGE('',*,*,#5722,.F.); ++#9227=ORIENTED_EDGE('',*,*,#9211,.F.); ++#9228=EDGE_LOOP('',(#9224,#9225,#9226,#9227)); ++#9229=FACE_OUTER_BOUND('',#9228,.F.); ++#9230=ADVANCED_FACE('',(#9229),#9223,.F.); ++#9231=CARTESIAN_POINT('',(2.2E1,1.5E0,1.2E1)); ++#9232=DIRECTION('',(1.E0,0.E0,0.E0)); ++#9233=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#9234=AXIS2_PLACEMENT_3D('',#9231,#9232,#9233); ++#9235=PLANE('',#9234); ++#9236=ORIENTED_EDGE('',*,*,#6328,.T.); ++#9237=ORIENTED_EDGE('',*,*,#6155,.T.); ++#9239=ORIENTED_EDGE('',*,*,#9238,.T.); ++#9240=EDGE_LOOP('',(#9236,#9237,#9239)); ++#9241=FACE_OUTER_BOUND('',#9240,.F.); ++#9242=ADVANCED_FACE('',(#9241),#9235,.F.); ++#9243=CARTESIAN_POINT('',(2.375E1,6.5E0,1.E1)); ++#9244=DIRECTION('',(0.E0,-5.E-1,-8.660254037844E-1)); ++#9245=DIRECTION('',(0.E0,-8.660254037844E-1,5.E-1)); ++#9246=AXIS2_PLACEMENT_3D('',#9243,#9244,#9245); ++#9247=PLANE('',#9246); ++#9248=ORIENTED_EDGE('',*,*,#6330,.T.); ++#9249=ORIENTED_EDGE('',*,*,#9238,.F.); ++#9250=ORIENTED_EDGE('',*,*,#6153,.F.); ++#9251=ORIENTED_EDGE('',*,*,#6209,.T.); ++#9252=EDGE_LOOP('',(#9248,#9249,#9250,#9251)); ++#9253=FACE_OUTER_BOUND('',#9252,.F.); ++#9255=ORIENTED_EDGE('',*,*,#9254,.F.); ++#9257=ORIENTED_EDGE('',*,*,#9256,.F.); ++#9258=EDGE_LOOP('',(#9255,#9257)); ++#9259=FACE_BOUND('',#9258,.F.); ++#9260=ADVANCED_FACE('',(#9253,#9259),#9247,.F.); ++#9261=CARTESIAN_POINT('',(2.2875E1,1.5E0,1.2E1)); ++#9262=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#9263=DIRECTION('',(1.E0,0.E0,0.E0)); ++#9264=AXIS2_PLACEMENT_3D('',#9261,#9262,#9263); ++#9265=CYLINDRICAL_SURFACE('',#9264,2.575E-1); ++#9267=ORIENTED_EDGE('',*,*,#9266,.F.); ++#9268=ORIENTED_EDGE('',*,*,#9254,.T.); ++#9270=ORIENTED_EDGE('',*,*,#9269,.F.); ++#9272=ORIENTED_EDGE('',*,*,#9271,.F.); ++#9273=EDGE_LOOP('',(#9267,#9268,#9270,#9272)); ++#9274=FACE_OUTER_BOUND('',#9273,.F.); ++#9275=ADVANCED_FACE('',(#9274),#9265,.F.); ++#9276=CARTESIAN_POINT('',(2.2875E1,1.5E0,1.2E1)); ++#9277=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#9278=DIRECTION('',(1.E0,0.E0,0.E0)); ++#9279=AXIS2_PLACEMENT_3D('',#9276,#9277,#9278); ++#9280=CYLINDRICAL_SURFACE('',#9279,2.575E-1); ++#9281=ORIENTED_EDGE('',*,*,#9269,.T.); ++#9282=ORIENTED_EDGE('',*,*,#9256,.T.); ++#9283=ORIENTED_EDGE('',*,*,#9266,.T.); ++#9285=ORIENTED_EDGE('',*,*,#9284,.F.); ++#9286=EDGE_LOOP('',(#9281,#9282,#9283,#9285)); ++#9287=FACE_OUTER_BOUND('',#9286,.F.); ++#9288=ADVANCED_FACE('',(#9287),#9280,.F.); ++#9289=CARTESIAN_POINT('',(2.2875E1,1.E0,1.2E1)); ++#9290=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#9291=DIRECTION('',(1.E0,0.E0,0.E0)); ++#9292=AXIS2_PLACEMENT_3D('',#9289,#9290,#9291); ++#9293=PLANE('',#9292); ++#9294=ORIENTED_EDGE('',*,*,#9271,.T.); ++#9295=ORIENTED_EDGE('',*,*,#9284,.T.); ++#9296=EDGE_LOOP('',(#9294,#9295)); ++#9297=FACE_OUTER_BOUND('',#9296,.F.); ++#9299=ORIENTED_EDGE('',*,*,#9298,.F.); ++#9301=ORIENTED_EDGE('',*,*,#9300,.F.); ++#9302=EDGE_LOOP('',(#9299,#9301)); ++#9303=FACE_BOUND('',#9302,.F.); ++#9304=ADVANCED_FACE('',(#9297,#9303),#9293,.F.); ++#9305=CARTESIAN_POINT('',(2.2875E1,1.5E0,1.2E1)); ++#9306=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#9307=DIRECTION('',(1.E0,0.E0,0.E0)); ++#9308=AXIS2_PLACEMENT_3D('',#9305,#9306,#9307); ++#9309=CYLINDRICAL_SURFACE('',#9308,1.925E-1); ++#9310=ORIENTED_EDGE('',*,*,#9298,.T.); ++#9312=ORIENTED_EDGE('',*,*,#9311,.T.); ++#9313=ORIENTED_EDGE('',*,*,#5596,.F.); ++#9315=ORIENTED_EDGE('',*,*,#9314,.F.); ++#9316=EDGE_LOOP('',(#9310,#9312,#9313,#9315)); ++#9317=FACE_OUTER_BOUND('',#9316,.F.); ++#9318=ADVANCED_FACE('',(#9317),#9309,.F.); ++#9319=CARTESIAN_POINT('',(2.2875E1,1.5E0,1.2E1)); ++#9320=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#9321=DIRECTION('',(1.E0,0.E0,0.E0)); ++#9322=AXIS2_PLACEMENT_3D('',#9319,#9320,#9321); ++#9323=CYLINDRICAL_SURFACE('',#9322,1.925E-1); ++#9324=ORIENTED_EDGE('',*,*,#9300,.T.); ++#9325=ORIENTED_EDGE('',*,*,#9314,.T.); ++#9326=ORIENTED_EDGE('',*,*,#5598,.F.); ++#9327=ORIENTED_EDGE('',*,*,#9311,.F.); ++#9328=EDGE_LOOP('',(#9324,#9325,#9326,#9327)); ++#9329=FACE_OUTER_BOUND('',#9328,.F.); ++#9330=ADVANCED_FACE('',(#9329),#9323,.F.); ++#9331=CARTESIAN_POINT('',(2.185E1,6.65E0,1.006892397423E1)); ++#9332=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#9333=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#9334=AXIS2_PLACEMENT_3D('',#9331,#9332,#9333); ++#9335=CYLINDRICAL_SURFACE('',#9334,3.5E-1); ++#9337=ORIENTED_EDGE('',*,*,#9336,.T.); ++#9339=ORIENTED_EDGE('',*,*,#9338,.T.); ++#9341=ORIENTED_EDGE('',*,*,#9340,.F.); ++#9342=ORIENTED_EDGE('',*,*,#6175,.T.); ++#9343=EDGE_LOOP('',(#9337,#9339,#9341,#9342)); ++#9344=FACE_OUTER_BOUND('',#9343,.F.); ++#9345=ADVANCED_FACE('',(#9344),#9335,.T.); ++#9346=CARTESIAN_POINT('',(2.15E1,7.E0,1.E1)); ++#9347=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#9348=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#9349=AXIS2_PLACEMENT_3D('',#9346,#9347,#9348); ++#9350=PLANE('',#9349); ++#9351=ORIENTED_EDGE('',*,*,#9336,.F.); ++#9352=ORIENTED_EDGE('',*,*,#6197,.T.); ++#9354=ORIENTED_EDGE('',*,*,#9353,.F.); ++#9356=ORIENTED_EDGE('',*,*,#9355,.F.); ++#9357=EDGE_LOOP('',(#9351,#9352,#9354,#9356)); ++#9358=FACE_OUTER_BOUND('',#9357,.F.); ++#9359=ADVANCED_FACE('',(#9358),#9350,.T.); ++#9360=CARTESIAN_POINT('',(2.115E1,2.35E0,9.441108058217E0)); ++#9361=DIRECTION('',(0.E0,0.E0,1.E0)); ++#9362=DIRECTION('',(1.015061051086E-14,-1.E0,0.E0)); ++#9363=AXIS2_PLACEMENT_3D('',#9360,#9361,#9362); ++#9364=CYLINDRICAL_SURFACE('',#9363,3.5E-1); ++#9366=ORIENTED_EDGE('',*,*,#9365,.F.); ++#9368=ORIENTED_EDGE('',*,*,#9367,.T.); ++#9369=ORIENTED_EDGE('',*,*,#9353,.T.); ++#9370=ORIENTED_EDGE('',*,*,#6195,.T.); ++#9371=EDGE_LOOP('',(#9366,#9368,#9369,#9370)); ++#9372=FACE_OUTER_BOUND('',#9371,.F.); ++#9373=ADVANCED_FACE('',(#9372),#9364,.F.); ++#9374=CARTESIAN_POINT('',(2.15E1,2.E0,1.E1)); ++#9375=DIRECTION('',(0.E0,1.E0,0.E0)); ++#9376=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#9377=AXIS2_PLACEMENT_3D('',#9374,#9375,#9376); ++#9378=PLANE('',#9377); ++#9379=ORIENTED_EDGE('',*,*,#9365,.T.); ++#9380=ORIENTED_EDGE('',*,*,#6193,.T.); ++#9382=ORIENTED_EDGE('',*,*,#9381,.F.); ++#9384=ORIENTED_EDGE('',*,*,#9383,.F.); ++#9385=EDGE_LOOP('',(#9379,#9380,#9382,#9384)); ++#9386=FACE_OUTER_BOUND('',#9385,.F.); ++#9387=ADVANCED_FACE('',(#9386),#9378,.T.); ++#9388=CARTESIAN_POINT('',(1.985E1,2.35E0,9.441108058217E0)); ++#9389=DIRECTION('',(0.E0,0.E0,1.E0)); ++#9390=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#9391=AXIS2_PLACEMENT_3D('',#9388,#9389,#9390); ++#9392=CYLINDRICAL_SURFACE('',#9391,3.5E-1); ++#9394=ORIENTED_EDGE('',*,*,#9393,.F.); ++#9396=ORIENTED_EDGE('',*,*,#9395,.T.); ++#9397=ORIENTED_EDGE('',*,*,#9381,.T.); ++#9398=ORIENTED_EDGE('',*,*,#6191,.T.); ++#9399=EDGE_LOOP('',(#9394,#9396,#9397,#9398)); ++#9400=FACE_OUTER_BOUND('',#9399,.F.); ++#9401=ADVANCED_FACE('',(#9400),#9392,.F.); ++#9402=CARTESIAN_POINT('',(1.95E1,2.E0,1.E1)); ++#9403=DIRECTION('',(1.E0,0.E0,0.E0)); ++#9404=DIRECTION('',(0.E0,1.E0,0.E0)); ++#9405=AXIS2_PLACEMENT_3D('',#9402,#9403,#9404); ++#9406=PLANE('',#9405); ++#9407=ORIENTED_EDGE('',*,*,#9393,.T.); ++#9408=ORIENTED_EDGE('',*,*,#6189,.T.); ++#9410=ORIENTED_EDGE('',*,*,#9409,.F.); ++#9412=ORIENTED_EDGE('',*,*,#9411,.F.); ++#9413=EDGE_LOOP('',(#9407,#9408,#9410,#9412)); ++#9414=FACE_OUTER_BOUND('',#9413,.F.); ++#9415=ADVANCED_FACE('',(#9414),#9406,.T.); ++#9416=CARTESIAN_POINT('',(1.985E1,9.15E0,9.441108058217E0)); ++#9417=DIRECTION('',(0.E0,0.E0,1.E0)); ++#9418=DIRECTION('',(-1.015061051086E-14,1.E0,0.E0)); ++#9419=AXIS2_PLACEMENT_3D('',#9416,#9417,#9418); ++#9420=CYLINDRICAL_SURFACE('',#9419,3.5E-1); ++#9422=ORIENTED_EDGE('',*,*,#9421,.F.); ++#9424=ORIENTED_EDGE('',*,*,#9423,.T.); ++#9425=ORIENTED_EDGE('',*,*,#9409,.T.); ++#9426=ORIENTED_EDGE('',*,*,#6187,.T.); ++#9427=EDGE_LOOP('',(#9422,#9424,#9425,#9426)); ++#9428=FACE_OUTER_BOUND('',#9427,.F.); ++#9429=ADVANCED_FACE('',(#9428),#9420,.F.); ++#9430=CARTESIAN_POINT('',(1.95E1,9.5E0,1.E1)); ++#9431=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#9432=DIRECTION('',(1.E0,0.E0,0.E0)); ++#9433=AXIS2_PLACEMENT_3D('',#9430,#9431,#9432); ++#9434=PLANE('',#9433); ++#9436=ORIENTED_EDGE('',*,*,#9435,.F.); ++#9438=ORIENTED_EDGE('',*,*,#9437,.F.); ++#9439=ORIENTED_EDGE('',*,*,#9421,.T.); ++#9440=ORIENTED_EDGE('',*,*,#6185,.T.); ++#9441=EDGE_LOOP('',(#9436,#9438,#9439,#9440)); ++#9442=FACE_OUTER_BOUND('',#9441,.F.); ++#9443=ADVANCED_FACE('',(#9442),#9434,.T.); ++#9444=CARTESIAN_POINT('',(2.104720076055E1,9.15E0,9.441108058217E0)); ++#9445=DIRECTION('',(0.E0,0.E0,1.E0)); ++#9446=DIRECTION('',(8.741572761215E-1,4.856429311786E-1,0.E0)); ++#9447=AXIS2_PLACEMENT_3D('',#9444,#9445,#9446); ++#9448=CYLINDRICAL_SURFACE('',#9447,3.5E-1); ++#9450=ORIENTED_EDGE('',*,*,#9449,.F.); ++#9452=ORIENTED_EDGE('',*,*,#9451,.T.); ++#9453=ORIENTED_EDGE('',*,*,#9435,.T.); ++#9454=ORIENTED_EDGE('',*,*,#6183,.T.); ++#9455=EDGE_LOOP('',(#9450,#9452,#9453,#9454)); ++#9456=FACE_OUTER_BOUND('',#9455,.F.); ++#9457=ADVANCED_FACE('',(#9456),#9448,.F.); ++#9458=CARTESIAN_POINT('',(2.125314193270E1,9.5E0,1.E1)); ++#9459=DIRECTION('',(-8.741572761215E-1,-4.856429311786E-1,0.E0)); ++#9460=DIRECTION('',(4.856429311786E-1,-8.741572761215E-1,0.E0)); ++#9461=AXIS2_PLACEMENT_3D('',#9458,#9459,#9460); ++#9462=PLANE('',#9461); ++#9464=ORIENTED_EDGE('',*,*,#9463,.F.); ++#9466=ORIENTED_EDGE('',*,*,#9465,.F.); ++#9467=ORIENTED_EDGE('',*,*,#9449,.T.); ++#9468=ORIENTED_EDGE('',*,*,#6181,.T.); ++#9469=EDGE_LOOP('',(#9464,#9466,#9467,#9468)); ++#9470=FACE_OUTER_BOUND('',#9469,.F.); ++#9471=ADVANCED_FACE('',(#9470),#9462,.T.); ++#9472=CARTESIAN_POINT('',(2.204720076055E1,7.35E0,9.441108058217E0)); ++#9473=DIRECTION('',(0.E0,0.E0,1.E0)); ++#9474=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#9475=AXIS2_PLACEMENT_3D('',#9472,#9473,#9474); ++#9476=CYLINDRICAL_SURFACE('',#9475,3.5E-1); ++#9478=ORIENTED_EDGE('',*,*,#9477,.F.); ++#9480=ORIENTED_EDGE('',*,*,#9479,.T.); ++#9481=ORIENTED_EDGE('',*,*,#9463,.T.); ++#9482=ORIENTED_EDGE('',*,*,#6179,.T.); ++#9483=EDGE_LOOP('',(#9478,#9480,#9481,#9482)); ++#9484=FACE_OUTER_BOUND('',#9483,.F.); ++#9485=ADVANCED_FACE('',(#9484),#9476,.F.); ++#9486=CARTESIAN_POINT('',(2.264203082158E1,7.E0,1.E1)); ++#9487=DIRECTION('',(0.E0,1.E0,0.E0)); ++#9488=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#9489=AXIS2_PLACEMENT_3D('',#9486,#9487,#9488); ++#9490=PLANE('',#9489); ++#9491=ORIENTED_EDGE('',*,*,#9340,.T.); ++#9493=ORIENTED_EDGE('',*,*,#9492,.F.); ++#9494=ORIENTED_EDGE('',*,*,#9477,.T.); ++#9495=ORIENTED_EDGE('',*,*,#6177,.T.); ++#9496=EDGE_LOOP('',(#9491,#9493,#9494,#9495)); ++#9497=FACE_OUTER_BOUND('',#9496,.F.); ++#9498=ADVANCED_FACE('',(#9497),#9490,.T.); ++#9499=CARTESIAN_POINT('',(2.4E1,0.E0,9.5E0)); ++#9500=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#9501=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#9502=AXIS2_PLACEMENT_3D('',#9499,#9500,#9501); ++#9503=PLANE('',#9502); ++#9504=ORIENTED_EDGE('',*,*,#9492,.T.); ++#9505=ORIENTED_EDGE('',*,*,#9338,.F.); ++#9506=ORIENTED_EDGE('',*,*,#9355,.T.); ++#9507=ORIENTED_EDGE('',*,*,#9367,.F.); ++#9508=ORIENTED_EDGE('',*,*,#9383,.T.); ++#9509=ORIENTED_EDGE('',*,*,#9395,.F.); ++#9510=ORIENTED_EDGE('',*,*,#9411,.T.); ++#9511=ORIENTED_EDGE('',*,*,#9423,.F.); ++#9512=ORIENTED_EDGE('',*,*,#9437,.T.); ++#9513=ORIENTED_EDGE('',*,*,#9451,.F.); ++#9514=ORIENTED_EDGE('',*,*,#9465,.T.); ++#9515=ORIENTED_EDGE('',*,*,#9479,.F.); ++#9516=EDGE_LOOP('',(#9504,#9505,#9506,#9507,#9508,#9509,#9510,#9511,#9512,#9513, ++#9514,#9515)); ++#9517=FACE_OUTER_BOUND('',#9516,.F.); ++#9518=ADVANCED_FACE('',(#9517),#9503,.F.); ++#9519=CARTESIAN_POINT('',(2.01875E1,1.05E1,8.E0)); ++#9520=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#9521=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#9522=AXIS2_PLACEMENT_3D('',#9519,#9520,#9521); ++#9523=CYLINDRICAL_SURFACE('',#9522,9.5E-2); ++#9524=ORIENTED_EDGE('',*,*,#6007,.F.); ++#9526=ORIENTED_EDGE('',*,*,#9525,.T.); ++#9528=ORIENTED_EDGE('',*,*,#9527,.T.); ++#9530=ORIENTED_EDGE('',*,*,#9529,.F.); ++#9531=EDGE_LOOP('',(#9524,#9526,#9528,#9530)); ++#9532=FACE_OUTER_BOUND('',#9531,.F.); ++#9533=ADVANCED_FACE('',(#9532),#9523,.F.); ++#9534=CARTESIAN_POINT('',(2.01875E1,1.05E1,8.E0)); ++#9535=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#9536=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#9537=AXIS2_PLACEMENT_3D('',#9534,#9535,#9536); ++#9538=CYLINDRICAL_SURFACE('',#9537,9.5E-2); ++#9539=ORIENTED_EDGE('',*,*,#6009,.F.); ++#9540=ORIENTED_EDGE('',*,*,#9529,.T.); ++#9542=ORIENTED_EDGE('',*,*,#9541,.T.); ++#9543=ORIENTED_EDGE('',*,*,#9525,.F.); ++#9544=EDGE_LOOP('',(#9539,#9540,#9542,#9543)); ++#9545=FACE_OUTER_BOUND('',#9544,.F.); ++#9546=ADVANCED_FACE('',(#9545),#9538,.F.); ++#9547=CARTESIAN_POINT('',(2.01875E1,1.05E1,8.25E0)); ++#9548=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#9549=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#9550=AXIS2_PLACEMENT_3D('',#9547,#9548,#9549); ++#9551=PLANE('',#9550); ++#9552=ORIENTED_EDGE('',*,*,#9527,.F.); ++#9553=ORIENTED_EDGE('',*,*,#9541,.F.); ++#9554=EDGE_LOOP('',(#9552,#9553)); ++#9555=FACE_OUTER_BOUND('',#9554,.F.); ++#9556=ADVANCED_FACE('',(#9555),#9551,.T.); ++#9557=CARTESIAN_POINT('',(1.975E1,1.00625E1,8.E0)); ++#9558=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#9559=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#9560=AXIS2_PLACEMENT_3D('',#9557,#9558,#9559); ++#9561=CYLINDRICAL_SURFACE('',#9560,9.5E-2); ++#9562=ORIENTED_EDGE('',*,*,#6013,.F.); ++#9564=ORIENTED_EDGE('',*,*,#9563,.T.); ++#9566=ORIENTED_EDGE('',*,*,#9565,.T.); ++#9568=ORIENTED_EDGE('',*,*,#9567,.F.); ++#9569=EDGE_LOOP('',(#9562,#9564,#9566,#9568)); ++#9570=FACE_OUTER_BOUND('',#9569,.F.); ++#9571=ADVANCED_FACE('',(#9570),#9561,.F.); ++#9572=CARTESIAN_POINT('',(1.975E1,1.00625E1,8.E0)); ++#9573=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#9574=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#9575=AXIS2_PLACEMENT_3D('',#9572,#9573,#9574); ++#9576=CYLINDRICAL_SURFACE('',#9575,9.5E-2); ++#9577=ORIENTED_EDGE('',*,*,#6015,.F.); ++#9578=ORIENTED_EDGE('',*,*,#9567,.T.); ++#9580=ORIENTED_EDGE('',*,*,#9579,.T.); ++#9581=ORIENTED_EDGE('',*,*,#9563,.F.); ++#9582=EDGE_LOOP('',(#9577,#9578,#9580,#9581)); ++#9583=FACE_OUTER_BOUND('',#9582,.F.); ++#9584=ADVANCED_FACE('',(#9583),#9576,.F.); ++#9585=CARTESIAN_POINT('',(1.975E1,1.00625E1,8.25E0)); ++#9586=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#9587=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#9588=AXIS2_PLACEMENT_3D('',#9585,#9586,#9587); ++#9589=PLANE('',#9588); ++#9590=ORIENTED_EDGE('',*,*,#9565,.F.); ++#9591=ORIENTED_EDGE('',*,*,#9579,.F.); ++#9592=EDGE_LOOP('',(#9590,#9591)); ++#9593=FACE_OUTER_BOUND('',#9592,.F.); ++#9594=ADVANCED_FACE('',(#9593),#9589,.T.); ++#9595=CARTESIAN_POINT('',(4.25E0,1.00625E1,8.E0)); ++#9596=DIRECTION('',(0.E0,0.E0,1.E0)); ++#9597=DIRECTION('',(1.E0,0.E0,0.E0)); ++#9598=AXIS2_PLACEMENT_3D('',#9595,#9596,#9597); ++#9599=CYLINDRICAL_SURFACE('',#9598,9.5E-2); ++#9600=ORIENTED_EDGE('',*,*,#6019,.T.); ++#9602=ORIENTED_EDGE('',*,*,#9601,.T.); ++#9604=ORIENTED_EDGE('',*,*,#9603,.F.); ++#9606=ORIENTED_EDGE('',*,*,#9605,.F.); ++#9607=EDGE_LOOP('',(#9600,#9602,#9604,#9606)); ++#9608=FACE_OUTER_BOUND('',#9607,.F.); ++#9609=ADVANCED_FACE('',(#9608),#9599,.F.); ++#9610=CARTESIAN_POINT('',(4.25E0,1.00625E1,8.E0)); ++#9611=DIRECTION('',(0.E0,0.E0,1.E0)); ++#9612=DIRECTION('',(1.E0,0.E0,0.E0)); ++#9613=AXIS2_PLACEMENT_3D('',#9610,#9611,#9612); ++#9614=CYLINDRICAL_SURFACE('',#9613,9.5E-2); ++#9615=ORIENTED_EDGE('',*,*,#6021,.T.); ++#9616=ORIENTED_EDGE('',*,*,#9605,.T.); ++#9618=ORIENTED_EDGE('',*,*,#9617,.F.); ++#9619=ORIENTED_EDGE('',*,*,#9601,.F.); ++#9620=EDGE_LOOP('',(#9615,#9616,#9618,#9619)); ++#9621=FACE_OUTER_BOUND('',#9620,.F.); ++#9622=ADVANCED_FACE('',(#9621),#9614,.F.); ++#9623=CARTESIAN_POINT('',(4.25E0,1.00625E1,8.25E0)); ++#9624=DIRECTION('',(0.E0,0.E0,1.E0)); ++#9625=DIRECTION('',(1.E0,0.E0,0.E0)); ++#9626=AXIS2_PLACEMENT_3D('',#9623,#9624,#9625); ++#9627=PLANE('',#9626); ++#9628=ORIENTED_EDGE('',*,*,#9603,.T.); ++#9629=ORIENTED_EDGE('',*,*,#9617,.T.); ++#9630=EDGE_LOOP('',(#9628,#9629)); ++#9631=FACE_OUTER_BOUND('',#9630,.F.); ++#9632=ADVANCED_FACE('',(#9631),#9627,.F.); ++#9633=CARTESIAN_POINT('',(3.8125E0,1.05E1,8.E0)); ++#9634=DIRECTION('',(0.E0,0.E0,1.E0)); ++#9635=DIRECTION('',(1.E0,0.E0,0.E0)); ++#9636=AXIS2_PLACEMENT_3D('',#9633,#9634,#9635); ++#9637=CYLINDRICAL_SURFACE('',#9636,9.5E-2); ++#9638=ORIENTED_EDGE('',*,*,#6025,.T.); ++#9640=ORIENTED_EDGE('',*,*,#9639,.T.); ++#9642=ORIENTED_EDGE('',*,*,#9641,.F.); ++#9644=ORIENTED_EDGE('',*,*,#9643,.F.); ++#9645=EDGE_LOOP('',(#9638,#9640,#9642,#9644)); ++#9646=FACE_OUTER_BOUND('',#9645,.F.); ++#9647=ADVANCED_FACE('',(#9646),#9637,.F.); ++#9648=CARTESIAN_POINT('',(3.8125E0,1.05E1,8.E0)); ++#9649=DIRECTION('',(0.E0,0.E0,1.E0)); ++#9650=DIRECTION('',(1.E0,0.E0,0.E0)); ++#9651=AXIS2_PLACEMENT_3D('',#9648,#9649,#9650); ++#9652=CYLINDRICAL_SURFACE('',#9651,9.5E-2); ++#9653=ORIENTED_EDGE('',*,*,#6027,.T.); ++#9654=ORIENTED_EDGE('',*,*,#9643,.T.); ++#9656=ORIENTED_EDGE('',*,*,#9655,.F.); ++#9657=ORIENTED_EDGE('',*,*,#9639,.F.); ++#9658=EDGE_LOOP('',(#9653,#9654,#9656,#9657)); ++#9659=FACE_OUTER_BOUND('',#9658,.F.); ++#9660=ADVANCED_FACE('',(#9659),#9652,.F.); ++#9661=CARTESIAN_POINT('',(3.8125E0,1.05E1,8.25E0)); ++#9662=DIRECTION('',(0.E0,0.E0,1.E0)); ++#9663=DIRECTION('',(1.E0,0.E0,0.E0)); ++#9664=AXIS2_PLACEMENT_3D('',#9661,#9662,#9663); ++#9665=PLANE('',#9664); ++#9666=ORIENTED_EDGE('',*,*,#9641,.T.); ++#9667=ORIENTED_EDGE('',*,*,#9655,.T.); ++#9668=EDGE_LOOP('',(#9666,#9667)); ++#9669=FACE_OUTER_BOUND('',#9668,.F.); ++#9670=ADVANCED_FACE('',(#9669),#9665,.F.); ++#9671=CARTESIAN_POINT('',(4.25E0,1.09375E1,8.E0)); ++#9672=DIRECTION('',(0.E0,0.E0,1.E0)); ++#9673=DIRECTION('',(1.E0,0.E0,0.E0)); ++#9674=AXIS2_PLACEMENT_3D('',#9671,#9672,#9673); ++#9675=CYLINDRICAL_SURFACE('',#9674,9.5E-2); ++#9676=ORIENTED_EDGE('',*,*,#6037,.T.); ++#9678=ORIENTED_EDGE('',*,*,#9677,.T.); ++#9680=ORIENTED_EDGE('',*,*,#9679,.F.); ++#9682=ORIENTED_EDGE('',*,*,#9681,.F.); ++#9683=EDGE_LOOP('',(#9676,#9678,#9680,#9682)); ++#9684=FACE_OUTER_BOUND('',#9683,.F.); ++#9685=ADVANCED_FACE('',(#9684),#9675,.F.); ++#9686=CARTESIAN_POINT('',(4.25E0,1.09375E1,8.E0)); ++#9687=DIRECTION('',(0.E0,0.E0,1.E0)); ++#9688=DIRECTION('',(1.E0,0.E0,0.E0)); ++#9689=AXIS2_PLACEMENT_3D('',#9686,#9687,#9688); ++#9690=CYLINDRICAL_SURFACE('',#9689,9.5E-2); ++#9691=ORIENTED_EDGE('',*,*,#6039,.T.); ++#9692=ORIENTED_EDGE('',*,*,#9681,.T.); ++#9694=ORIENTED_EDGE('',*,*,#9693,.F.); ++#9695=ORIENTED_EDGE('',*,*,#9677,.F.); ++#9696=EDGE_LOOP('',(#9691,#9692,#9694,#9695)); ++#9697=FACE_OUTER_BOUND('',#9696,.F.); ++#9698=ADVANCED_FACE('',(#9697),#9690,.F.); ++#9699=CARTESIAN_POINT('',(4.25E0,1.09375E1,8.25E0)); ++#9700=DIRECTION('',(0.E0,0.E0,1.E0)); ++#9701=DIRECTION('',(1.E0,0.E0,0.E0)); ++#9702=AXIS2_PLACEMENT_3D('',#9699,#9700,#9701); ++#9703=PLANE('',#9702); ++#9704=ORIENTED_EDGE('',*,*,#9679,.T.); ++#9705=ORIENTED_EDGE('',*,*,#9693,.T.); ++#9706=EDGE_LOOP('',(#9704,#9705)); ++#9707=FACE_OUTER_BOUND('',#9706,.F.); ++#9708=ADVANCED_FACE('',(#9707),#9703,.F.); ++#9709=CARTESIAN_POINT('',(4.5E0,2.E0,8.E0)); ++#9710=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#9711=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#9712=AXIS2_PLACEMENT_3D('',#9709,#9710,#9711); ++#9713=PLANE('',#9712); ++#9715=ORIENTED_EDGE('',*,*,#9714,.T.); ++#9717=ORIENTED_EDGE('',*,*,#9716,.T.); ++#9719=ORIENTED_EDGE('',*,*,#9718,.F.); ++#9720=ORIENTED_EDGE('',*,*,#6043,.F.); ++#9721=EDGE_LOOP('',(#9715,#9717,#9719,#9720)); ++#9722=FACE_OUTER_BOUND('',#9721,.F.); ++#9723=ADVANCED_FACE('',(#9722),#9713,.F.); ++#9724=CARTESIAN_POINT('',(3.75E0,2.75E0,7.931076025772E0)); ++#9725=DIRECTION('',(0.E0,0.E0,1.E0)); ++#9726=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#9727=AXIS2_PLACEMENT_3D('',#9724,#9725,#9726); ++#9728=CYLINDRICAL_SURFACE('',#9727,7.5E-1); ++#9729=ORIENTED_EDGE('',*,*,#9714,.F.); ++#9730=ORIENTED_EDGE('',*,*,#6057,.T.); ++#9732=ORIENTED_EDGE('',*,*,#9731,.T.); ++#9734=ORIENTED_EDGE('',*,*,#9733,.T.); ++#9735=EDGE_LOOP('',(#9729,#9730,#9732,#9734)); ++#9736=FACE_OUTER_BOUND('',#9735,.F.); ++#9737=ADVANCED_FACE('',(#9736),#9728,.F.); ++#9738=CARTESIAN_POINT('',(4.5E0,9.5E0,8.E0)); ++#9739=DIRECTION('',(1.E0,0.E0,0.E0)); ++#9740=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#9741=AXIS2_PLACEMENT_3D('',#9738,#9739,#9740); ++#9742=PLANE('',#9741); ++#9743=ORIENTED_EDGE('',*,*,#9731,.F.); ++#9744=ORIENTED_EDGE('',*,*,#6055,.F.); ++#9746=ORIENTED_EDGE('',*,*,#9745,.T.); ++#9748=ORIENTED_EDGE('',*,*,#9747,.T.); ++#9749=EDGE_LOOP('',(#9743,#9744,#9746,#9748)); ++#9750=FACE_OUTER_BOUND('',#9749,.F.); ++#9751=ADVANCED_FACE('',(#9750),#9742,.F.); ++#9752=CARTESIAN_POINT('',(3.75E0,8.75E0,7.931076025772E0)); ++#9753=DIRECTION('',(0.E0,0.E0,1.E0)); ++#9754=DIRECTION('',(1.E0,0.E0,0.E0)); ++#9755=AXIS2_PLACEMENT_3D('',#9752,#9753,#9754); ++#9756=CYLINDRICAL_SURFACE('',#9755,7.5E-1); ++#9757=ORIENTED_EDGE('',*,*,#9745,.F.); ++#9758=ORIENTED_EDGE('',*,*,#6053,.T.); ++#9760=ORIENTED_EDGE('',*,*,#9759,.T.); ++#9762=ORIENTED_EDGE('',*,*,#9761,.T.); ++#9763=EDGE_LOOP('',(#9757,#9758,#9760,#9762)); ++#9764=FACE_OUTER_BOUND('',#9763,.F.); ++#9765=ADVANCED_FACE('',(#9764),#9756,.F.); ++#9766=CARTESIAN_POINT('',(2.746858067304E0,9.5E0,8.E0)); ++#9767=DIRECTION('',(0.E0,1.E0,0.E0)); ++#9768=DIRECTION('',(1.E0,0.E0,0.E0)); ++#9769=AXIS2_PLACEMENT_3D('',#9766,#9767,#9768); ++#9770=PLANE('',#9769); ++#9772=ORIENTED_EDGE('',*,*,#9771,.T.); ++#9774=ORIENTED_EDGE('',*,*,#9773,.T.); ++#9775=ORIENTED_EDGE('',*,*,#9759,.F.); ++#9776=ORIENTED_EDGE('',*,*,#6051,.F.); ++#9777=EDGE_LOOP('',(#9772,#9774,#9775,#9776)); ++#9778=FACE_OUTER_BOUND('',#9777,.F.); ++#9779=ADVANCED_FACE('',(#9778),#9770,.F.); ++#9780=CARTESIAN_POINT('',(3.188160579053E0,8.75E0,7.931076025772E0)); ++#9781=DIRECTION('',(0.E0,0.E0,1.E0)); ++#9782=DIRECTION('',(0.E0,1.E0,0.E0)); ++#9783=AXIS2_PLACEMENT_3D('',#9780,#9781,#9782); ++#9784=CYLINDRICAL_SURFACE('',#9783,7.5E-1); ++#9785=ORIENTED_EDGE('',*,*,#9771,.F.); ++#9786=ORIENTED_EDGE('',*,*,#6049,.T.); ++#9788=ORIENTED_EDGE('',*,*,#9787,.T.); ++#9790=ORIENTED_EDGE('',*,*,#9789,.T.); ++#9791=EDGE_LOOP('',(#9785,#9786,#9788,#9790)); ++#9792=FACE_OUTER_BOUND('',#9791,.F.); ++#9793=ADVANCED_FACE('',(#9792),#9784,.F.); ++#9794=CARTESIAN_POINT('',(-1.419808599362E0,2.E0,8.E0)); ++#9795=DIRECTION('',(-8.741572761215E-1,4.856429311786E-1,0.E0)); ++#9796=DIRECTION('',(4.856429311786E-1,8.741572761215E-1,0.E0)); ++#9797=AXIS2_PLACEMENT_3D('',#9794,#9795,#9796); ++#9798=PLANE('',#9797); ++#9800=ORIENTED_EDGE('',*,*,#9799,.T.); ++#9802=ORIENTED_EDGE('',*,*,#9801,.T.); ++#9803=ORIENTED_EDGE('',*,*,#9787,.F.); ++#9804=ORIENTED_EDGE('',*,*,#6047,.F.); ++#9805=EDGE_LOOP('',(#9800,#9802,#9803,#9804)); ++#9806=FACE_OUTER_BOUND('',#9805,.F.); ++#9807=ADVANCED_FACE('',(#9806),#9798,.F.); ++#9808=CARTESIAN_POINT('',(-1.451727542799E-1,2.75E0,7.931076025772E0)); ++#9809=DIRECTION('',(0.E0,0.E0,1.E0)); ++#9810=DIRECTION('',(-8.741572761215E-1,4.856429311786E-1,0.E0)); ++#9811=AXIS2_PLACEMENT_3D('',#9808,#9809,#9810); ++#9812=CYLINDRICAL_SURFACE('',#9811,7.5E-1); ++#9813=ORIENTED_EDGE('',*,*,#9799,.F.); ++#9814=ORIENTED_EDGE('',*,*,#6045,.T.); ++#9815=ORIENTED_EDGE('',*,*,#9718,.T.); ++#9817=ORIENTED_EDGE('',*,*,#9816,.T.); ++#9818=EDGE_LOOP('',(#9813,#9814,#9815,#9817)); ++#9819=FACE_OUTER_BOUND('',#9818,.F.); ++#9820=ADVANCED_FACE('',(#9819),#9812,.F.); ++#9821=CARTESIAN_POINT('',(0.E0,0.E0,8.5E0)); ++#9822=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#9823=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#9824=AXIS2_PLACEMENT_3D('',#9821,#9822,#9823); ++#9825=PLANE('',#9824); ++#9826=ORIENTED_EDGE('',*,*,#9733,.F.); ++#9827=ORIENTED_EDGE('',*,*,#9747,.F.); ++#9828=ORIENTED_EDGE('',*,*,#9761,.F.); ++#9829=ORIENTED_EDGE('',*,*,#9773,.F.); ++#9830=ORIENTED_EDGE('',*,*,#9789,.F.); ++#9831=ORIENTED_EDGE('',*,*,#9801,.F.); ++#9832=ORIENTED_EDGE('',*,*,#9816,.F.); ++#9833=ORIENTED_EDGE('',*,*,#9716,.F.); ++#9834=EDGE_LOOP('',(#9826,#9827,#9828,#9829,#9830,#9831,#9832,#9833)); ++#9835=FACE_OUTER_BOUND('',#9834,.F.); ++#9836=ADVANCED_FACE('',(#9835),#9825,.T.); ++#9837=CARTESIAN_POINT('',(2.541980859936E1,2.E0,8.E0)); ++#9838=DIRECTION('',(-8.741572761215E-1,-4.856429311786E-1,0.E0)); ++#9839=DIRECTION('',(-4.856429311786E-1,8.741572761215E-1,0.E0)); ++#9840=AXIS2_PLACEMENT_3D('',#9837,#9838,#9839); ++#9841=PLANE('',#9840); ++#9843=ORIENTED_EDGE('',*,*,#9842,.T.); ++#9844=ORIENTED_EDGE('',*,*,#6061,.T.); ++#9846=ORIENTED_EDGE('',*,*,#9845,.F.); ++#9848=ORIENTED_EDGE('',*,*,#9847,.F.); ++#9849=EDGE_LOOP('',(#9843,#9844,#9846,#9848)); ++#9850=FACE_OUTER_BOUND('',#9849,.F.); ++#9851=ADVANCED_FACE('',(#9850),#9841,.T.); ++#9852=CARTESIAN_POINT('',(2.414517275428E1,2.75E0,8.558891941783E0)); ++#9853=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#9854=DIRECTION('',(8.741572761215E-1,4.856429311786E-1,0.E0)); ++#9855=AXIS2_PLACEMENT_3D('',#9852,#9853,#9854); ++#9856=CYLINDRICAL_SURFACE('',#9855,7.5E-1); ++#9857=ORIENTED_EDGE('',*,*,#9842,.F.); ++#9859=ORIENTED_EDGE('',*,*,#9858,.T.); ++#9861=ORIENTED_EDGE('',*,*,#9860,.T.); ++#9862=ORIENTED_EDGE('',*,*,#6063,.T.); ++#9863=EDGE_LOOP('',(#9857,#9859,#9861,#9862)); ++#9864=FACE_OUTER_BOUND('',#9863,.F.); ++#9865=ADVANCED_FACE('',(#9864),#9856,.F.); ++#9866=CARTESIAN_POINT('',(2.4E1,0.E0,8.5E0)); ++#9867=DIRECTION('',(0.E0,0.E0,1.E0)); ++#9868=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#9869=AXIS2_PLACEMENT_3D('',#9866,#9867,#9868); ++#9870=PLANE('',#9869); ++#9872=ORIENTED_EDGE('',*,*,#9871,.F.); ++#9874=ORIENTED_EDGE('',*,*,#9873,.T.); ++#9875=ORIENTED_EDGE('',*,*,#9858,.F.); ++#9876=ORIENTED_EDGE('',*,*,#9847,.T.); ++#9878=ORIENTED_EDGE('',*,*,#9877,.F.); ++#9880=ORIENTED_EDGE('',*,*,#9879,.T.); ++#9882=ORIENTED_EDGE('',*,*,#9881,.F.); ++#9884=ORIENTED_EDGE('',*,*,#9883,.T.); ++#9885=EDGE_LOOP('',(#9872,#9874,#9875,#9876,#9878,#9880,#9882,#9884)); ++#9886=FACE_OUTER_BOUND('',#9885,.F.); ++#9887=ADVANCED_FACE('',(#9886),#9870,.F.); ++#9888=CARTESIAN_POINT('',(2.025E1,2.75E0,8.558891941783E0)); ++#9889=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#9890=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#9891=AXIS2_PLACEMENT_3D('',#9888,#9889,#9890); ++#9892=CYLINDRICAL_SURFACE('',#9891,7.5E-1); ++#9894=ORIENTED_EDGE('',*,*,#9893,.F.); ++#9895=ORIENTED_EDGE('',*,*,#9871,.T.); ++#9897=ORIENTED_EDGE('',*,*,#9896,.T.); ++#9898=ORIENTED_EDGE('',*,*,#6067,.T.); ++#9899=EDGE_LOOP('',(#9894,#9895,#9897,#9898)); ++#9900=FACE_OUTER_BOUND('',#9899,.F.); ++#9901=ADVANCED_FACE('',(#9900),#9892,.F.); ++#9902=CARTESIAN_POINT('',(1.95E1,2.E0,8.E0)); ++#9903=DIRECTION('',(0.E0,1.E0,0.E0)); ++#9904=DIRECTION('',(1.E0,0.E0,0.E0)); ++#9905=AXIS2_PLACEMENT_3D('',#9902,#9903,#9904); ++#9906=PLANE('',#9905); ++#9907=ORIENTED_EDGE('',*,*,#9893,.T.); ++#9908=ORIENTED_EDGE('',*,*,#6065,.T.); ++#9909=ORIENTED_EDGE('',*,*,#9860,.F.); ++#9910=ORIENTED_EDGE('',*,*,#9873,.F.); ++#9911=EDGE_LOOP('',(#9907,#9908,#9909,#9910)); ++#9912=FACE_OUTER_BOUND('',#9911,.F.); ++#9913=ADVANCED_FACE('',(#9912),#9906,.T.); ++#9914=CARTESIAN_POINT('',(1.95E1,9.5E0,8.E0)); ++#9915=DIRECTION('',(1.E0,0.E0,0.E0)); ++#9916=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#9917=AXIS2_PLACEMENT_3D('',#9914,#9915,#9916); ++#9918=PLANE('',#9917); ++#9919=ORIENTED_EDGE('',*,*,#9896,.F.); ++#9920=ORIENTED_EDGE('',*,*,#9883,.F.); ++#9922=ORIENTED_EDGE('',*,*,#9921,.T.); ++#9923=ORIENTED_EDGE('',*,*,#6069,.T.); ++#9924=EDGE_LOOP('',(#9919,#9920,#9922,#9923)); ++#9925=FACE_OUTER_BOUND('',#9924,.F.); ++#9926=ADVANCED_FACE('',(#9925),#9918,.T.); ++#9927=CARTESIAN_POINT('',(2.025E1,8.75E0,8.558891941783E0)); ++#9928=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#9929=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#9930=AXIS2_PLACEMENT_3D('',#9927,#9928,#9929); ++#9931=CYLINDRICAL_SURFACE('',#9930,7.5E-1); ++#9932=ORIENTED_EDGE('',*,*,#9921,.F.); ++#9933=ORIENTED_EDGE('',*,*,#9881,.T.); ++#9935=ORIENTED_EDGE('',*,*,#9934,.T.); ++#9936=ORIENTED_EDGE('',*,*,#6071,.T.); ++#9937=EDGE_LOOP('',(#9932,#9933,#9935,#9936)); ++#9938=FACE_OUTER_BOUND('',#9937,.F.); ++#9939=ADVANCED_FACE('',(#9938),#9931,.F.); ++#9940=CARTESIAN_POINT('',(2.125314193270E1,9.5E0,8.E0)); ++#9941=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#9942=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#9943=AXIS2_PLACEMENT_3D('',#9940,#9941,#9942); ++#9944=PLANE('',#9943); ++#9946=ORIENTED_EDGE('',*,*,#9945,.T.); ++#9947=ORIENTED_EDGE('',*,*,#6073,.T.); ++#9948=ORIENTED_EDGE('',*,*,#9934,.F.); ++#9949=ORIENTED_EDGE('',*,*,#9879,.F.); ++#9950=EDGE_LOOP('',(#9946,#9947,#9948,#9949)); ++#9951=FACE_OUTER_BOUND('',#9950,.F.); ++#9952=ADVANCED_FACE('',(#9951),#9944,.T.); ++#9953=CARTESIAN_POINT('',(2.081183942095E1,8.75E0,8.558891941783E0)); ++#9954=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#9955=DIRECTION('',(0.E0,1.E0,0.E0)); ++#9956=AXIS2_PLACEMENT_3D('',#9953,#9954,#9955); ++#9957=CYLINDRICAL_SURFACE('',#9956,7.5E-1); ++#9958=ORIENTED_EDGE('',*,*,#9945,.F.); ++#9959=ORIENTED_EDGE('',*,*,#9877,.T.); ++#9960=ORIENTED_EDGE('',*,*,#9845,.T.); ++#9961=ORIENTED_EDGE('',*,*,#6075,.T.); ++#9962=EDGE_LOOP('',(#9958,#9959,#9960,#9961)); ++#9963=FACE_OUTER_BOUND('',#9962,.F.); ++#9964=ADVANCED_FACE('',(#9963),#9957,.F.); ++#9965=CARTESIAN_POINT('',(7.5E0,0.E0,6.875E-1)); ++#9966=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#9967=DIRECTION('',(1.E0,0.E0,0.E0)); ++#9968=AXIS2_PLACEMENT_3D('',#9965,#9966,#9967); ++#9969=PLANE('',#9968); ++#9970=ORIENTED_EDGE('',*,*,#5726,.F.); ++#9972=ORIENTED_EDGE('',*,*,#9971,.T.); ++#9974=ORIENTED_EDGE('',*,*,#9973,.T.); ++#9976=ORIENTED_EDGE('',*,*,#9975,.F.); ++#9977=EDGE_LOOP('',(#9970,#9972,#9974,#9976)); ++#9978=FACE_OUTER_BOUND('',#9977,.F.); ++#9979=ADVANCED_FACE('',(#9978),#9969,.F.); ++#9980=CARTESIAN_POINT('',(7.5E0,0.E0,1.25E0)); ++#9981=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#9982=DIRECTION('',(1.E0,0.E0,0.E0)); ++#9983=AXIS2_PLACEMENT_3D('',#9980,#9981,#9982); ++#9984=CYLINDRICAL_SURFACE('',#9983,5.625E-1); ++#9985=ORIENTED_EDGE('',*,*,#5732,.F.); ++#9987=ORIENTED_EDGE('',*,*,#9986,.T.); ++#9989=ORIENTED_EDGE('',*,*,#9988,.T.); ++#9990=ORIENTED_EDGE('',*,*,#9971,.F.); ++#9991=EDGE_LOOP('',(#9985,#9987,#9989,#9990)); ++#9992=FACE_OUTER_BOUND('',#9991,.F.); ++#9993=ADVANCED_FACE('',(#9992),#9984,.F.); ++#9994=CARTESIAN_POINT('',(1.05E1,0.E0,1.8125E0)); ++#9995=DIRECTION('',(0.E0,0.E0,1.E0)); ++#9996=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#9997=AXIS2_PLACEMENT_3D('',#9994,#9995,#9996); ++#9998=PLANE('',#9997); ++#9999=ORIENTED_EDGE('',*,*,#5730,.F.); ++#10001=ORIENTED_EDGE('',*,*,#10000,.T.); ++#10003=ORIENTED_EDGE('',*,*,#10002,.T.); ++#10004=ORIENTED_EDGE('',*,*,#9986,.F.); ++#10005=EDGE_LOOP('',(#9999,#10001,#10003,#10004)); ++#10006=FACE_OUTER_BOUND('',#10005,.F.); ++#10007=ADVANCED_FACE('',(#10006),#9998,.F.); ++#10008=CARTESIAN_POINT('',(1.05E1,0.E0,1.25E0)); ++#10009=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#10010=DIRECTION('',(1.E0,0.E0,0.E0)); ++#10011=AXIS2_PLACEMENT_3D('',#10008,#10009,#10010); ++#10012=CYLINDRICAL_SURFACE('',#10011,5.625E-1); ++#10013=ORIENTED_EDGE('',*,*,#5728,.F.); ++#10014=ORIENTED_EDGE('',*,*,#9975,.T.); ++#10016=ORIENTED_EDGE('',*,*,#10015,.T.); ++#10017=ORIENTED_EDGE('',*,*,#10000,.F.); ++#10018=EDGE_LOOP('',(#10013,#10014,#10016,#10017)); ++#10019=FACE_OUTER_BOUND('',#10018,.F.); ++#10020=ADVANCED_FACE('',(#10019),#10012,.F.); ++#10021=CARTESIAN_POINT('',(0.E0,6.875E-1,0.E0)); ++#10022=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#10023=DIRECTION('',(1.E0,0.E0,0.E0)); ++#10024=AXIS2_PLACEMENT_3D('',#10021,#10022,#10023); ++#10025=PLANE('',#10024); ++#10026=ORIENTED_EDGE('',*,*,#9973,.F.); ++#10027=ORIENTED_EDGE('',*,*,#9988,.F.); ++#10028=ORIENTED_EDGE('',*,*,#10002,.F.); ++#10029=ORIENTED_EDGE('',*,*,#10015,.F.); ++#10030=EDGE_LOOP('',(#10026,#10027,#10028,#10029)); ++#10031=FACE_OUTER_BOUND('',#10030,.F.); ++#10032=ADVANCED_FACE('',(#10031),#10025,.T.); ++#10033=CARTESIAN_POINT('',(0.E0,6.875E-1,0.E0)); ++#10034=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#10035=DIRECTION('',(1.E0,0.E0,0.E0)); ++#10036=AXIS2_PLACEMENT_3D('',#10033,#10034,#10035); ++#10037=PLANE('',#10036); ++#10039=ORIENTED_EDGE('',*,*,#10038,.F.); ++#10041=ORIENTED_EDGE('',*,*,#10040,.F.); ++#10043=ORIENTED_EDGE('',*,*,#10042,.F.); ++#10045=ORIENTED_EDGE('',*,*,#10044,.F.); ++#10047=ORIENTED_EDGE('',*,*,#10046,.F.); ++#10048=EDGE_LOOP('',(#10039,#10041,#10043,#10045,#10047)); ++#10049=FACE_OUTER_BOUND('',#10048,.F.); ++#10050=ADVANCED_FACE('',(#10049),#10037,.T.); ++#10051=CARTESIAN_POINT('',(1.455736763592E0,-6.892397422826E-2, ++4.577195232320E0)); ++#10052=DIRECTION('',(0.E0,1.E0,0.E0)); ++#10053=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1)); ++#10054=AXIS2_PLACEMENT_3D('',#10051,#10052,#10053); ++#10055=CYLINDRICAL_SURFACE('',#10054,7.5E-1); ++#10057=ORIENTED_EDGE('',*,*,#10056,.F.); ++#10058=ORIENTED_EDGE('',*,*,#5738,.T.); ++#10060=ORIENTED_EDGE('',*,*,#10059,.T.); ++#10061=ORIENTED_EDGE('',*,*,#10038,.T.); ++#10062=EDGE_LOOP('',(#10057,#10058,#10060,#10061)); ++#10063=FACE_OUTER_BOUND('',#10062,.F.); ++#10064=ADVANCED_FACE('',(#10063),#10055,.F.); ++#10065=CARTESIAN_POINT('',(6.875E-1,0.E0,4.284771824132E0)); ++#10066=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1)); ++#10067=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1)); ++#10068=AXIS2_PLACEMENT_3D('',#10065,#10066,#10067); ++#10069=PLANE('',#10068); ++#10070=ORIENTED_EDGE('',*,*,#10056,.T.); ++#10071=ORIENTED_EDGE('',*,*,#10046,.T.); ++#10073=ORIENTED_EDGE('',*,*,#10072,.F.); ++#10074=ORIENTED_EDGE('',*,*,#5740,.F.); ++#10075=EDGE_LOOP('',(#10070,#10071,#10073,#10074)); ++#10076=FACE_OUTER_BOUND('',#10075,.F.); ++#10077=ADVANCED_FACE('',(#10076),#10069,.F.); ++#10078=CARTESIAN_POINT('',(4.553039342392E0,0.E0,1.645354088550E0)); ++#10079=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#10080=DIRECTION('',(1.E0,0.E0,0.E0)); ++#10081=AXIS2_PLACEMENT_3D('',#10078,#10079,#10080); ++#10082=CYLINDRICAL_SURFACE('',#10081,8.669989027347E-1); ++#10083=ORIENTED_EDGE('',*,*,#5742,.F.); ++#10084=ORIENTED_EDGE('',*,*,#10072,.T.); ++#10085=ORIENTED_EDGE('',*,*,#10044,.T.); ++#10087=ORIENTED_EDGE('',*,*,#10086,.F.); ++#10088=EDGE_LOOP('',(#10083,#10084,#10085,#10087)); ++#10089=FACE_OUTER_BOUND('',#10088,.F.); ++#10090=ADVANCED_FACE('',(#10089),#10082,.F.); ++#10091=CARTESIAN_POINT('',(7.5E0,0.E0,7.5E0)); ++#10092=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#10093=DIRECTION('',(1.E0,0.E0,0.E0)); ++#10094=AXIS2_PLACEMENT_3D('',#10091,#10092,#10093); ++#10095=CYLINDRICAL_SURFACE('',#10094,5.6875E0); ++#10096=ORIENTED_EDGE('',*,*,#5744,.T.); ++#10097=ORIENTED_EDGE('',*,*,#10086,.T.); ++#10098=ORIENTED_EDGE('',*,*,#10042,.T.); ++#10100=ORIENTED_EDGE('',*,*,#10099,.F.); ++#10101=EDGE_LOOP('',(#10096,#10097,#10098,#10100)); ++#10102=FACE_OUTER_BOUND('',#10101,.F.); ++#10103=ADVANCED_FACE('',(#10102),#10095,.T.); ++#10104=CARTESIAN_POINT('',(1.61E0,0.E0,4.5E0)); ++#10105=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#10106=DIRECTION('',(1.E0,0.E0,0.E0)); ++#10107=AXIS2_PLACEMENT_3D('',#10104,#10105,#10106); ++#10108=CYLINDRICAL_SURFACE('',#10107,9.225E-1); ++#10109=ORIENTED_EDGE('',*,*,#10059,.F.); ++#10110=ORIENTED_EDGE('',*,*,#5736,.F.); ++#10111=ORIENTED_EDGE('',*,*,#10099,.T.); ++#10112=ORIENTED_EDGE('',*,*,#10040,.T.); ++#10113=EDGE_LOOP('',(#10109,#10110,#10111,#10112)); ++#10114=FACE_OUTER_BOUND('',#10113,.F.); ++#10115=ADVANCED_FACE('',(#10114),#10108,.F.); ++#10116=CARTESIAN_POINT('',(-1.85E-1,7.463919417831E-1,7.815E0)); ++#10117=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#10118=DIRECTION('',(1.E0,0.E0,0.E0)); ++#10119=AXIS2_PLACEMENT_3D('',#10116,#10117,#10118); ++#10120=CYLINDRICAL_SURFACE('',#10119,8.75E-1); ++#10122=ORIENTED_EDGE('',*,*,#10121,.T.); ++#10123=ORIENTED_EDGE('',*,*,#5748,.T.); ++#10125=ORIENTED_EDGE('',*,*,#10124,.F.); ++#10127=ORIENTED_EDGE('',*,*,#10126,.T.); ++#10128=EDGE_LOOP('',(#10122,#10123,#10125,#10127)); ++#10129=FACE_OUTER_BOUND('',#10128,.F.); ++#10130=ADVANCED_FACE('',(#10129),#10120,.T.); ++#10131=CARTESIAN_POINT('',(6.9E-1,0.E0,8.69E0)); ++#10132=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#10133=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#10134=AXIS2_PLACEMENT_3D('',#10131,#10132,#10133); ++#10135=PLANE('',#10134); ++#10136=ORIENTED_EDGE('',*,*,#10121,.F.); ++#10138=ORIENTED_EDGE('',*,*,#10137,.T.); ++#10140=ORIENTED_EDGE('',*,*,#10139,.F.); ++#10141=ORIENTED_EDGE('',*,*,#5750,.F.); ++#10142=EDGE_LOOP('',(#10136,#10138,#10140,#10141)); ++#10143=FACE_OUTER_BOUND('',#10142,.F.); ++#10144=ADVANCED_FACE('',(#10143),#10135,.F.); ++#10145=CARTESIAN_POINT('',(0.E0,6.875E-1,0.E0)); ++#10146=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#10147=DIRECTION('',(1.E0,0.E0,0.E0)); ++#10148=AXIS2_PLACEMENT_3D('',#10145,#10146,#10147); ++#10149=PLANE('',#10148); ++#10151=ORIENTED_EDGE('',*,*,#10150,.F.); ++#10153=ORIENTED_EDGE('',*,*,#10152,.F.); ++#10155=ORIENTED_EDGE('',*,*,#10154,.F.); ++#10157=ORIENTED_EDGE('',*,*,#10156,.F.); ++#10158=ORIENTED_EDGE('',*,*,#10137,.F.); ++#10159=ORIENTED_EDGE('',*,*,#10126,.F.); ++#10161=ORIENTED_EDGE('',*,*,#10160,.F.); ++#10163=ORIENTED_EDGE('',*,*,#10162,.F.); ++#10165=ORIENTED_EDGE('',*,*,#10164,.F.); ++#10167=ORIENTED_EDGE('',*,*,#10166,.F.); ++#10169=ORIENTED_EDGE('',*,*,#10168,.F.); ++#10171=ORIENTED_EDGE('',*,*,#10170,.F.); ++#10173=ORIENTED_EDGE('',*,*,#10172,.F.); ++#10175=ORIENTED_EDGE('',*,*,#10174,.F.); ++#10176=EDGE_LOOP('',(#10151,#10153,#10155,#10157,#10158,#10159,#10161,#10163, ++#10165,#10167,#10169,#10171,#10173,#10175)); ++#10177=FACE_OUTER_BOUND('',#10176,.F.); ++#10178=ADVANCED_FACE('',(#10177),#10149,.T.); ++#10179=CARTESIAN_POINT('',(1.8125E0,0.E0,8.69E0)); ++#10180=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#10181=DIRECTION('',(1.E0,0.E0,0.E0)); ++#10182=AXIS2_PLACEMENT_3D('',#10179,#10180,#10181); ++#10183=PLANE('',#10182); ++#10185=ORIENTED_EDGE('',*,*,#10184,.F.); ++#10186=ORIENTED_EDGE('',*,*,#10150,.T.); ++#10188=ORIENTED_EDGE('',*,*,#10187,.F.); ++#10189=ORIENTED_EDGE('',*,*,#5758,.F.); ++#10190=EDGE_LOOP('',(#10185,#10186,#10188,#10189)); ++#10191=FACE_OUTER_BOUND('',#10190,.F.); ++#10192=ADVANCED_FACE('',(#10191),#10183,.F.); ++#10193=CARTESIAN_POINT('',(2.6875E0,7.463919417831E-1,7.815E0)); ++#10194=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#10195=DIRECTION('',(0.E0,0.E0,1.E0)); ++#10196=AXIS2_PLACEMENT_3D('',#10193,#10194,#10195); ++#10197=CYLINDRICAL_SURFACE('',#10196,8.75E-1); ++#10198=ORIENTED_EDGE('',*,*,#10184,.T.); ++#10199=ORIENTED_EDGE('',*,*,#5756,.T.); ++#10201=ORIENTED_EDGE('',*,*,#10200,.F.); ++#10202=ORIENTED_EDGE('',*,*,#10152,.T.); ++#10203=EDGE_LOOP('',(#10198,#10199,#10201,#10202)); ++#10204=FACE_OUTER_BOUND('',#10203,.F.); ++#10205=ADVANCED_FACE('',(#10204),#10197,.T.); ++#10206=CARTESIAN_POINT('',(1.8125E0,0.E0,7.5E0)); ++#10207=DIRECTION('',(1.E0,0.E0,0.E0)); ++#10208=DIRECTION('',(0.E0,0.E0,1.E0)); ++#10209=AXIS2_PLACEMENT_3D('',#10206,#10207,#10208); ++#10210=PLANE('',#10209); ++#10211=ORIENTED_EDGE('',*,*,#10200,.T.); ++#10212=ORIENTED_EDGE('',*,*,#5754,.F.); ++#10214=ORIENTED_EDGE('',*,*,#10213,.T.); ++#10215=ORIENTED_EDGE('',*,*,#10154,.T.); ++#10216=EDGE_LOOP('',(#10211,#10212,#10214,#10215)); ++#10217=FACE_OUTER_BOUND('',#10216,.F.); ++#10218=ADVANCED_FACE('',(#10217),#10210,.F.); ++#10219=CARTESIAN_POINT('',(1.25125E0,0.E0,7.5E0)); ++#10220=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#10221=DIRECTION('',(1.E0,0.E0,0.E0)); ++#10222=AXIS2_PLACEMENT_3D('',#10219,#10220,#10221); ++#10223=CYLINDRICAL_SURFACE('',#10222,5.6125E-1); ++#10224=ORIENTED_EDGE('',*,*,#5752,.F.); ++#10225=ORIENTED_EDGE('',*,*,#10139,.T.); ++#10226=ORIENTED_EDGE('',*,*,#10156,.T.); ++#10227=ORIENTED_EDGE('',*,*,#10213,.F.); ++#10228=EDGE_LOOP('',(#10224,#10225,#10226,#10227)); ++#10229=FACE_OUTER_BOUND('',#10228,.F.); ++#10230=ADVANCED_FACE('',(#10229),#10223,.F.); ++#10231=CARTESIAN_POINT('',(3.4375E0,-6.892397422826E-2,9.565E0)); ++#10232=DIRECTION('',(0.E0,1.E0,0.E0)); ++#10233=DIRECTION('',(1.E0,0.E0,0.E0)); ++#10234=AXIS2_PLACEMENT_3D('',#10231,#10232,#10233); ++#10235=CYLINDRICAL_SURFACE('',#10234,8.75E-1); ++#10237=ORIENTED_EDGE('',*,*,#10236,.F.); ++#10238=ORIENTED_EDGE('',*,*,#5760,.T.); ++#10239=ORIENTED_EDGE('',*,*,#10187,.T.); ++#10240=ORIENTED_EDGE('',*,*,#10174,.T.); ++#10241=EDGE_LOOP('',(#10237,#10238,#10239,#10240)); ++#10242=FACE_OUTER_BOUND('',#10241,.F.); ++#10243=ADVANCED_FACE('',(#10242),#10235,.F.); ++#10244=CARTESIAN_POINT('',(4.3125E0,0.E0,8.69E0)); ++#10245=DIRECTION('',(1.E0,0.E0,0.E0)); ++#10246=DIRECTION('',(0.E0,0.E0,1.E0)); ++#10247=AXIS2_PLACEMENT_3D('',#10244,#10245,#10246); ++#10248=PLANE('',#10247); ++#10249=ORIENTED_EDGE('',*,*,#10236,.T.); ++#10250=ORIENTED_EDGE('',*,*,#10172,.T.); ++#10252=ORIENTED_EDGE('',*,*,#10251,.F.); ++#10253=ORIENTED_EDGE('',*,*,#5762,.F.); ++#10254=EDGE_LOOP('',(#10249,#10250,#10252,#10253)); ++#10255=FACE_OUTER_BOUND('',#10254,.F.); ++#10256=ADVANCED_FACE('',(#10255),#10248,.F.); ++#10257=CARTESIAN_POINT('',(3.4375E0,-6.892397422826E-2,1.0375E1)); ++#10258=DIRECTION('',(0.E0,1.E0,0.E0)); ++#10259=DIRECTION('',(0.E0,0.E0,1.E0)); ++#10260=AXIS2_PLACEMENT_3D('',#10257,#10258,#10259); ++#10261=CYLINDRICAL_SURFACE('',#10260,8.75E-1); ++#10263=ORIENTED_EDGE('',*,*,#10262,.F.); ++#10264=ORIENTED_EDGE('',*,*,#5764,.T.); ++#10265=ORIENTED_EDGE('',*,*,#10251,.T.); ++#10266=ORIENTED_EDGE('',*,*,#10170,.T.); ++#10267=EDGE_LOOP('',(#10263,#10264,#10265,#10266)); ++#10268=FACE_OUTER_BOUND('',#10267,.F.); ++#10269=ADVANCED_FACE('',(#10268),#10261,.F.); ++#10270=CARTESIAN_POINT('',(4.3125E0,0.E0,1.125E1)); ++#10271=DIRECTION('',(0.E0,0.E0,1.E0)); ++#10272=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#10273=AXIS2_PLACEMENT_3D('',#10270,#10271,#10272); ++#10274=PLANE('',#10273); ++#10276=ORIENTED_EDGE('',*,*,#10275,.F.); ++#10277=ORIENTED_EDGE('',*,*,#5766,.F.); ++#10278=ORIENTED_EDGE('',*,*,#10262,.T.); ++#10279=ORIENTED_EDGE('',*,*,#10168,.T.); ++#10280=EDGE_LOOP('',(#10276,#10277,#10278,#10279)); ++#10281=FACE_OUTER_BOUND('',#10280,.F.); ++#10282=ADVANCED_FACE('',(#10281),#10274,.F.); ++#10283=CARTESIAN_POINT('',(-4.375E-1,-6.892397422826E-2,1.0375E1)); ++#10284=DIRECTION('',(0.E0,1.E0,0.E0)); ++#10285=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#10286=AXIS2_PLACEMENT_3D('',#10283,#10284,#10285); ++#10287=CYLINDRICAL_SURFACE('',#10286,8.75E-1); ++#10289=ORIENTED_EDGE('',*,*,#10288,.F.); ++#10290=ORIENTED_EDGE('',*,*,#5768,.T.); ++#10291=ORIENTED_EDGE('',*,*,#10275,.T.); ++#10292=ORIENTED_EDGE('',*,*,#10166,.T.); ++#10293=EDGE_LOOP('',(#10289,#10290,#10291,#10292)); ++#10294=FACE_OUTER_BOUND('',#10293,.F.); ++#10295=ADVANCED_FACE('',(#10294),#10287,.F.); ++#10296=CARTESIAN_POINT('',(-1.3125E0,0.E0,1.125E1)); ++#10297=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#10298=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#10299=AXIS2_PLACEMENT_3D('',#10296,#10297,#10298); ++#10300=PLANE('',#10299); ++#10301=ORIENTED_EDGE('',*,*,#10288,.T.); ++#10302=ORIENTED_EDGE('',*,*,#10164,.T.); ++#10304=ORIENTED_EDGE('',*,*,#10303,.F.); ++#10305=ORIENTED_EDGE('',*,*,#5770,.F.); ++#10306=EDGE_LOOP('',(#10301,#10302,#10304,#10305)); ++#10307=FACE_OUTER_BOUND('',#10306,.F.); ++#10308=ADVANCED_FACE('',(#10307),#10300,.F.); ++#10309=CARTESIAN_POINT('',(-4.375E-1,-6.892397422826E-2,9.565E0)); ++#10310=DIRECTION('',(0.E0,1.E0,0.E0)); ++#10311=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#10312=AXIS2_PLACEMENT_3D('',#10309,#10310,#10311); ++#10313=CYLINDRICAL_SURFACE('',#10312,8.75E-1); ++#10315=ORIENTED_EDGE('',*,*,#10314,.F.); ++#10316=ORIENTED_EDGE('',*,*,#5772,.T.); ++#10317=ORIENTED_EDGE('',*,*,#10303,.T.); ++#10318=ORIENTED_EDGE('',*,*,#10162,.T.); ++#10319=EDGE_LOOP('',(#10315,#10316,#10317,#10318)); ++#10320=FACE_OUTER_BOUND('',#10319,.F.); ++#10321=ADVANCED_FACE('',(#10320),#10313,.F.); ++#10322=CARTESIAN_POINT('',(-1.3125E0,0.E0,8.69E0)); ++#10323=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#10324=DIRECTION('',(1.E0,0.E0,0.E0)); ++#10325=AXIS2_PLACEMENT_3D('',#10322,#10323,#10324); ++#10326=PLANE('',#10325); ++#10327=ORIENTED_EDGE('',*,*,#10124,.T.); ++#10328=ORIENTED_EDGE('',*,*,#5774,.F.); ++#10329=ORIENTED_EDGE('',*,*,#10314,.T.); ++#10330=ORIENTED_EDGE('',*,*,#10160,.T.); ++#10331=EDGE_LOOP('',(#10327,#10328,#10329,#10330)); ++#10332=FACE_OUTER_BOUND('',#10331,.F.); ++#10333=ADVANCED_FACE('',(#10332),#10326,.F.); ++#10334=CARTESIAN_POINT('',(6.875E-1,0.E0,1.65E1)); ++#10335=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#10336=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#10337=AXIS2_PLACEMENT_3D('',#10334,#10335,#10336); ++#10338=PLANE('',#10337); ++#10339=ORIENTED_EDGE('',*,*,#5778,.F.); ++#10341=ORIENTED_EDGE('',*,*,#10340,.T.); ++#10343=ORIENTED_EDGE('',*,*,#10342,.T.); ++#10345=ORIENTED_EDGE('',*,*,#10344,.F.); ++#10346=EDGE_LOOP('',(#10339,#10341,#10343,#10345)); ++#10347=FACE_OUTER_BOUND('',#10346,.F.); ++#10348=ADVANCED_FACE('',(#10347),#10338,.F.); ++#10349=CARTESIAN_POINT('',(1.25E0,0.E0,1.65E1)); ++#10350=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#10351=DIRECTION('',(1.E0,0.E0,0.E0)); ++#10352=AXIS2_PLACEMENT_3D('',#10349,#10350,#10351); ++#10353=CYLINDRICAL_SURFACE('',#10352,5.625E-1); ++#10354=ORIENTED_EDGE('',*,*,#5784,.F.); ++#10356=ORIENTED_EDGE('',*,*,#10355,.T.); ++#10358=ORIENTED_EDGE('',*,*,#10357,.T.); ++#10359=ORIENTED_EDGE('',*,*,#10340,.F.); ++#10360=EDGE_LOOP('',(#10354,#10356,#10358,#10359)); ++#10361=FACE_OUTER_BOUND('',#10360,.F.); ++#10362=ADVANCED_FACE('',(#10361),#10353,.F.); ++#10363=CARTESIAN_POINT('',(1.8125E0,0.E0,1.35E1)); ++#10364=DIRECTION('',(1.E0,0.E0,0.E0)); ++#10365=DIRECTION('',(0.E0,0.E0,1.E0)); ++#10366=AXIS2_PLACEMENT_3D('',#10363,#10364,#10365); ++#10367=PLANE('',#10366); ++#10368=ORIENTED_EDGE('',*,*,#5782,.F.); ++#10370=ORIENTED_EDGE('',*,*,#10369,.T.); ++#10372=ORIENTED_EDGE('',*,*,#10371,.T.); ++#10373=ORIENTED_EDGE('',*,*,#10355,.F.); ++#10374=EDGE_LOOP('',(#10368,#10370,#10372,#10373)); ++#10375=FACE_OUTER_BOUND('',#10374,.F.); ++#10376=ADVANCED_FACE('',(#10375),#10367,.F.); ++#10377=CARTESIAN_POINT('',(1.25E0,0.E0,1.35E1)); ++#10378=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#10379=DIRECTION('',(1.E0,0.E0,0.E0)); ++#10380=AXIS2_PLACEMENT_3D('',#10377,#10378,#10379); ++#10381=CYLINDRICAL_SURFACE('',#10380,5.625E-1); ++#10382=ORIENTED_EDGE('',*,*,#5780,.F.); ++#10383=ORIENTED_EDGE('',*,*,#10344,.T.); ++#10385=ORIENTED_EDGE('',*,*,#10384,.T.); ++#10386=ORIENTED_EDGE('',*,*,#10369,.F.); ++#10387=EDGE_LOOP('',(#10382,#10383,#10385,#10386)); ++#10388=FACE_OUTER_BOUND('',#10387,.F.); ++#10389=ADVANCED_FACE('',(#10388),#10381,.F.); ++#10390=CARTESIAN_POINT('',(0.E0,6.875E-1,0.E0)); ++#10391=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#10392=DIRECTION('',(1.E0,0.E0,0.E0)); ++#10393=AXIS2_PLACEMENT_3D('',#10390,#10391,#10392); ++#10394=PLANE('',#10393); ++#10395=ORIENTED_EDGE('',*,*,#10342,.F.); ++#10396=ORIENTED_EDGE('',*,*,#10357,.F.); ++#10397=ORIENTED_EDGE('',*,*,#10371,.F.); ++#10398=ORIENTED_EDGE('',*,*,#10384,.F.); ++#10399=EDGE_LOOP('',(#10395,#10396,#10397,#10398)); ++#10400=FACE_OUTER_BOUND('',#10399,.F.); ++#10401=ADVANCED_FACE('',(#10400),#10394,.T.); ++#10402=CARTESIAN_POINT('',(6.875E-1,0.E0,2.25E1)); ++#10403=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#10404=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#10405=AXIS2_PLACEMENT_3D('',#10402,#10403,#10404); ++#10406=PLANE('',#10405); ++#10407=ORIENTED_EDGE('',*,*,#5788,.F.); ++#10409=ORIENTED_EDGE('',*,*,#10408,.T.); ++#10411=ORIENTED_EDGE('',*,*,#10410,.T.); ++#10413=ORIENTED_EDGE('',*,*,#10412,.F.); ++#10414=EDGE_LOOP('',(#10407,#10409,#10411,#10413)); ++#10415=FACE_OUTER_BOUND('',#10414,.F.); ++#10416=ADVANCED_FACE('',(#10415),#10406,.F.); ++#10417=CARTESIAN_POINT('',(1.25E0,0.E0,2.25E1)); ++#10418=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#10419=DIRECTION('',(1.E0,0.E0,0.E0)); ++#10420=AXIS2_PLACEMENT_3D('',#10417,#10418,#10419); ++#10421=CYLINDRICAL_SURFACE('',#10420,5.625E-1); ++#10422=ORIENTED_EDGE('',*,*,#5794,.F.); ++#10424=ORIENTED_EDGE('',*,*,#10423,.T.); ++#10426=ORIENTED_EDGE('',*,*,#10425,.T.); ++#10427=ORIENTED_EDGE('',*,*,#10408,.F.); ++#10428=EDGE_LOOP('',(#10422,#10424,#10426,#10427)); ++#10429=FACE_OUTER_BOUND('',#10428,.F.); ++#10430=ADVANCED_FACE('',(#10429),#10421,.F.); ++#10431=CARTESIAN_POINT('',(1.8125E0,0.E0,1.95E1)); ++#10432=DIRECTION('',(1.E0,0.E0,0.E0)); ++#10433=DIRECTION('',(0.E0,0.E0,1.E0)); ++#10434=AXIS2_PLACEMENT_3D('',#10431,#10432,#10433); ++#10435=PLANE('',#10434); ++#10436=ORIENTED_EDGE('',*,*,#5792,.F.); ++#10438=ORIENTED_EDGE('',*,*,#10437,.T.); ++#10440=ORIENTED_EDGE('',*,*,#10439,.T.); ++#10441=ORIENTED_EDGE('',*,*,#10423,.F.); ++#10442=EDGE_LOOP('',(#10436,#10438,#10440,#10441)); ++#10443=FACE_OUTER_BOUND('',#10442,.F.); ++#10444=ADVANCED_FACE('',(#10443),#10435,.F.); ++#10445=CARTESIAN_POINT('',(1.25E0,0.E0,1.95E1)); ++#10446=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#10447=DIRECTION('',(1.E0,0.E0,0.E0)); ++#10448=AXIS2_PLACEMENT_3D('',#10445,#10446,#10447); ++#10449=CYLINDRICAL_SURFACE('',#10448,5.625E-1); ++#10450=ORIENTED_EDGE('',*,*,#5790,.F.); ++#10451=ORIENTED_EDGE('',*,*,#10412,.T.); ++#10453=ORIENTED_EDGE('',*,*,#10452,.T.); ++#10454=ORIENTED_EDGE('',*,*,#10437,.F.); ++#10455=EDGE_LOOP('',(#10450,#10451,#10453,#10454)); ++#10456=FACE_OUTER_BOUND('',#10455,.F.); ++#10457=ADVANCED_FACE('',(#10456),#10449,.F.); ++#10458=CARTESIAN_POINT('',(0.E0,6.875E-1,0.E0)); ++#10459=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#10460=DIRECTION('',(1.E0,0.E0,0.E0)); ++#10461=AXIS2_PLACEMENT_3D('',#10458,#10459,#10460); ++#10462=PLANE('',#10461); ++#10463=ORIENTED_EDGE('',*,*,#10410,.F.); ++#10464=ORIENTED_EDGE('',*,*,#10425,.F.); ++#10465=ORIENTED_EDGE('',*,*,#10439,.F.); ++#10466=ORIENTED_EDGE('',*,*,#10452,.F.); ++#10467=EDGE_LOOP('',(#10463,#10464,#10465,#10466)); ++#10468=FACE_OUTER_BOUND('',#10467,.F.); ++#10469=ADVANCED_FACE('',(#10468),#10462,.T.); ++#10470=CARTESIAN_POINT('',(7.5E0,0.E0,8.5E0)); ++#10471=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#10472=DIRECTION('',(1.E0,0.E0,0.E0)); ++#10473=AXIS2_PLACEMENT_3D('',#10470,#10471,#10472); ++#10474=PLANE('',#10473); ++#10475=ORIENTED_EDGE('',*,*,#5798,.F.); ++#10477=ORIENTED_EDGE('',*,*,#10476,.T.); ++#10479=ORIENTED_EDGE('',*,*,#10478,.T.); ++#10481=ORIENTED_EDGE('',*,*,#10480,.F.); ++#10482=EDGE_LOOP('',(#10475,#10477,#10479,#10481)); ++#10483=FACE_OUTER_BOUND('',#10482,.F.); ++#10484=ADVANCED_FACE('',(#10483),#10474,.F.); ++#10485=CARTESIAN_POINT('',(7.5E0,0.E0,9.E0)); ++#10486=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#10487=DIRECTION('',(1.E0,0.E0,0.E0)); ++#10488=AXIS2_PLACEMENT_3D('',#10485,#10486,#10487); ++#10489=CYLINDRICAL_SURFACE('',#10488,5.E-1); ++#10490=ORIENTED_EDGE('',*,*,#5804,.F.); ++#10492=ORIENTED_EDGE('',*,*,#10491,.T.); ++#10494=ORIENTED_EDGE('',*,*,#10493,.T.); ++#10495=ORIENTED_EDGE('',*,*,#10476,.F.); ++#10496=EDGE_LOOP('',(#10490,#10492,#10494,#10495)); ++#10497=FACE_OUTER_BOUND('',#10496,.F.); ++#10498=ADVANCED_FACE('',(#10497),#10489,.F.); ++#10499=CARTESIAN_POINT('',(1.05E1,0.E0,9.5E0)); ++#10500=DIRECTION('',(0.E0,0.E0,1.E0)); ++#10501=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#10502=AXIS2_PLACEMENT_3D('',#10499,#10500,#10501); ++#10503=PLANE('',#10502); ++#10504=ORIENTED_EDGE('',*,*,#5802,.F.); ++#10506=ORIENTED_EDGE('',*,*,#10505,.T.); ++#10508=ORIENTED_EDGE('',*,*,#10507,.T.); ++#10509=ORIENTED_EDGE('',*,*,#10491,.F.); ++#10510=EDGE_LOOP('',(#10504,#10506,#10508,#10509)); ++#10511=FACE_OUTER_BOUND('',#10510,.F.); ++#10512=ADVANCED_FACE('',(#10511),#10503,.F.); ++#10513=CARTESIAN_POINT('',(1.05E1,0.E0,9.E0)); ++#10514=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#10515=DIRECTION('',(1.E0,0.E0,0.E0)); ++#10516=AXIS2_PLACEMENT_3D('',#10513,#10514,#10515); ++#10517=CYLINDRICAL_SURFACE('',#10516,5.E-1); ++#10518=ORIENTED_EDGE('',*,*,#5800,.F.); ++#10519=ORIENTED_EDGE('',*,*,#10480,.T.); ++#10521=ORIENTED_EDGE('',*,*,#10520,.T.); ++#10522=ORIENTED_EDGE('',*,*,#10505,.F.); ++#10523=EDGE_LOOP('',(#10518,#10519,#10521,#10522)); ++#10524=FACE_OUTER_BOUND('',#10523,.F.); ++#10525=ADVANCED_FACE('',(#10524),#10517,.F.); ++#10526=CARTESIAN_POINT('',(0.E0,6.875E-1,0.E0)); ++#10527=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#10528=DIRECTION('',(1.E0,0.E0,0.E0)); ++#10529=AXIS2_PLACEMENT_3D('',#10526,#10527,#10528); ++#10530=PLANE('',#10529); ++#10531=ORIENTED_EDGE('',*,*,#10478,.F.); ++#10532=ORIENTED_EDGE('',*,*,#10493,.F.); ++#10533=ORIENTED_EDGE('',*,*,#10507,.F.); ++#10534=ORIENTED_EDGE('',*,*,#10520,.F.); ++#10535=EDGE_LOOP('',(#10531,#10532,#10533,#10534)); ++#10536=FACE_OUTER_BOUND('',#10535,.F.); ++#10537=ADVANCED_FACE('',(#10536),#10530,.T.); ++#10538=CARTESIAN_POINT('',(7.5E0,0.E0,1.75625E1)); ++#10539=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#10540=DIRECTION('',(1.E0,0.E0,0.E0)); ++#10541=AXIS2_PLACEMENT_3D('',#10538,#10539,#10540); ++#10542=PLANE('',#10541); ++#10543=ORIENTED_EDGE('',*,*,#5808,.F.); ++#10545=ORIENTED_EDGE('',*,*,#10544,.T.); ++#10547=ORIENTED_EDGE('',*,*,#10546,.T.); ++#10549=ORIENTED_EDGE('',*,*,#10548,.F.); ++#10550=EDGE_LOOP('',(#10543,#10545,#10547,#10549)); ++#10551=FACE_OUTER_BOUND('',#10550,.F.); ++#10552=ADVANCED_FACE('',(#10551),#10542,.F.); ++#10553=CARTESIAN_POINT('',(7.5E0,0.E0,1.8E1)); ++#10554=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#10555=DIRECTION('',(1.E0,0.E0,0.E0)); ++#10556=AXIS2_PLACEMENT_3D('',#10553,#10554,#10555); ++#10557=CYLINDRICAL_SURFACE('',#10556,4.375E-1); ++#10558=ORIENTED_EDGE('',*,*,#5814,.F.); ++#10560=ORIENTED_EDGE('',*,*,#10559,.T.); ++#10562=ORIENTED_EDGE('',*,*,#10561,.T.); ++#10563=ORIENTED_EDGE('',*,*,#10544,.F.); ++#10564=EDGE_LOOP('',(#10558,#10560,#10562,#10563)); ++#10565=FACE_OUTER_BOUND('',#10564,.F.); ++#10566=ADVANCED_FACE('',(#10565),#10557,.F.); ++#10567=CARTESIAN_POINT('',(1.05E1,0.E0,1.84375E1)); ++#10568=DIRECTION('',(0.E0,0.E0,1.E0)); ++#10569=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#10570=AXIS2_PLACEMENT_3D('',#10567,#10568,#10569); ++#10571=PLANE('',#10570); ++#10572=ORIENTED_EDGE('',*,*,#5812,.F.); ++#10574=ORIENTED_EDGE('',*,*,#10573,.T.); ++#10576=ORIENTED_EDGE('',*,*,#10575,.T.); ++#10577=ORIENTED_EDGE('',*,*,#10559,.F.); ++#10578=EDGE_LOOP('',(#10572,#10574,#10576,#10577)); ++#10579=FACE_OUTER_BOUND('',#10578,.F.); ++#10580=ADVANCED_FACE('',(#10579),#10571,.F.); ++#10581=CARTESIAN_POINT('',(1.05E1,0.E0,1.8E1)); ++#10582=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#10583=DIRECTION('',(1.E0,0.E0,0.E0)); ++#10584=AXIS2_PLACEMENT_3D('',#10581,#10582,#10583); ++#10585=CYLINDRICAL_SURFACE('',#10584,4.375E-1); ++#10586=ORIENTED_EDGE('',*,*,#5810,.F.); ++#10587=ORIENTED_EDGE('',*,*,#10548,.T.); ++#10589=ORIENTED_EDGE('',*,*,#10588,.T.); ++#10590=ORIENTED_EDGE('',*,*,#10573,.F.); ++#10591=EDGE_LOOP('',(#10586,#10587,#10589,#10590)); ++#10592=FACE_OUTER_BOUND('',#10591,.F.); ++#10593=ADVANCED_FACE('',(#10592),#10585,.F.); ++#10594=CARTESIAN_POINT('',(0.E0,6.875E-1,0.E0)); ++#10595=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#10596=DIRECTION('',(1.E0,0.E0,0.E0)); ++#10597=AXIS2_PLACEMENT_3D('',#10594,#10595,#10596); ++#10598=PLANE('',#10597); ++#10599=ORIENTED_EDGE('',*,*,#10546,.F.); ++#10600=ORIENTED_EDGE('',*,*,#10561,.F.); ++#10601=ORIENTED_EDGE('',*,*,#10575,.F.); ++#10602=ORIENTED_EDGE('',*,*,#10588,.F.); ++#10603=EDGE_LOOP('',(#10599,#10600,#10601,#10602)); ++#10604=FACE_OUTER_BOUND('',#10603,.F.); ++#10605=ADVANCED_FACE('',(#10604),#10598,.T.); ++#10606=CARTESIAN_POINT('',(7.5E0,0.E0,3.13125E1)); ++#10607=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#10608=DIRECTION('',(1.E0,0.E0,0.E0)); ++#10609=AXIS2_PLACEMENT_3D('',#10606,#10607,#10608); ++#10610=PLANE('',#10609); ++#10611=ORIENTED_EDGE('',*,*,#5818,.T.); ++#10613=ORIENTED_EDGE('',*,*,#10612,.T.); ++#10615=ORIENTED_EDGE('',*,*,#10614,.F.); ++#10617=ORIENTED_EDGE('',*,*,#10616,.F.); ++#10618=EDGE_LOOP('',(#10611,#10613,#10615,#10617)); ++#10619=FACE_OUTER_BOUND('',#10618,.F.); ++#10620=ADVANCED_FACE('',(#10619),#10610,.T.); ++#10621=CARTESIAN_POINT('',(1.05E1,0.E0,3.075E1)); ++#10622=DIRECTION('',(0.E0,1.E0,0.E0)); ++#10623=DIRECTION('',(1.E0,0.E0,0.E0)); ++#10624=AXIS2_PLACEMENT_3D('',#10621,#10622,#10623); ++#10625=CYLINDRICAL_SURFACE('',#10624,5.625E-1); ++#10626=ORIENTED_EDGE('',*,*,#5824,.T.); ++#10628=ORIENTED_EDGE('',*,*,#10627,.T.); ++#10630=ORIENTED_EDGE('',*,*,#10629,.F.); ++#10631=ORIENTED_EDGE('',*,*,#10612,.F.); ++#10632=EDGE_LOOP('',(#10626,#10628,#10630,#10631)); ++#10633=FACE_OUTER_BOUND('',#10632,.F.); ++#10634=ADVANCED_FACE('',(#10633),#10625,.F.); ++#10635=CARTESIAN_POINT('',(1.05E1,0.E0,3.01875E1)); ++#10636=DIRECTION('',(0.E0,0.E0,1.E0)); ++#10637=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#10638=AXIS2_PLACEMENT_3D('',#10635,#10636,#10637); ++#10639=PLANE('',#10638); ++#10640=ORIENTED_EDGE('',*,*,#5822,.T.); ++#10642=ORIENTED_EDGE('',*,*,#10641,.T.); ++#10644=ORIENTED_EDGE('',*,*,#10643,.F.); ++#10645=ORIENTED_EDGE('',*,*,#10627,.F.); ++#10646=EDGE_LOOP('',(#10640,#10642,#10644,#10645)); ++#10647=FACE_OUTER_BOUND('',#10646,.F.); ++#10648=ADVANCED_FACE('',(#10647),#10639,.T.); ++#10649=CARTESIAN_POINT('',(7.5E0,0.E0,3.075E1)); ++#10650=DIRECTION('',(0.E0,1.E0,0.E0)); ++#10651=DIRECTION('',(1.E0,0.E0,0.E0)); ++#10652=AXIS2_PLACEMENT_3D('',#10649,#10650,#10651); ++#10653=CYLINDRICAL_SURFACE('',#10652,5.625E-1); ++#10654=ORIENTED_EDGE('',*,*,#5820,.T.); ++#10655=ORIENTED_EDGE('',*,*,#10616,.T.); ++#10657=ORIENTED_EDGE('',*,*,#10656,.F.); ++#10658=ORIENTED_EDGE('',*,*,#10641,.F.); ++#10659=EDGE_LOOP('',(#10654,#10655,#10657,#10658)); ++#10660=FACE_OUTER_BOUND('',#10659,.F.); ++#10661=ADVANCED_FACE('',(#10660),#10653,.F.); ++#10662=CARTESIAN_POINT('',(0.E0,6.875E-1,3.2E1)); ++#10663=DIRECTION('',(0.E0,1.E0,0.E0)); ++#10664=DIRECTION('',(1.E0,0.E0,0.E0)); ++#10665=AXIS2_PLACEMENT_3D('',#10662,#10663,#10664); ++#10666=PLANE('',#10665); ++#10667=ORIENTED_EDGE('',*,*,#10614,.T.); ++#10668=ORIENTED_EDGE('',*,*,#10629,.T.); ++#10669=ORIENTED_EDGE('',*,*,#10643,.T.); ++#10670=ORIENTED_EDGE('',*,*,#10656,.T.); ++#10671=EDGE_LOOP('',(#10667,#10668,#10669,#10670)); ++#10672=FACE_OUTER_BOUND('',#10671,.F.); ++#10673=ADVANCED_FACE('',(#10672),#10666,.F.); ++#10674=CARTESIAN_POINT('',(0.E0,6.875E-1,3.2E1)); ++#10675=DIRECTION('',(0.E0,1.E0,0.E0)); ++#10676=DIRECTION('',(1.E0,0.E0,0.E0)); ++#10677=AXIS2_PLACEMENT_3D('',#10674,#10675,#10676); ++#10678=PLANE('',#10677); ++#10680=ORIENTED_EDGE('',*,*,#10679,.F.); ++#10682=ORIENTED_EDGE('',*,*,#10681,.T.); ++#10684=ORIENTED_EDGE('',*,*,#10683,.T.); ++#10686=ORIENTED_EDGE('',*,*,#10685,.T.); ++#10688=ORIENTED_EDGE('',*,*,#10687,.T.); ++#10689=EDGE_LOOP('',(#10680,#10682,#10684,#10686,#10688)); ++#10690=FACE_OUTER_BOUND('',#10689,.F.); ++#10691=ADVANCED_FACE('',(#10690),#10678,.F.); ++#10692=CARTESIAN_POINT('',(1.455736763592E0,-6.642389448824E-2, ++2.742280476768E1)); ++#10693=DIRECTION('',(0.E0,1.E0,0.E0)); ++#10694=DIRECTION('',(-8.942796313519E-1,0.E0,-4.475085931567E-1)); ++#10695=AXIS2_PLACEMENT_3D('',#10692,#10693,#10694); ++#10696=CYLINDRICAL_SURFACE('',#10695,7.5E-1); ++#10698=ORIENTED_EDGE('',*,*,#10697,.F.); ++#10699=ORIENTED_EDGE('',*,*,#5932,.T.); ++#10701=ORIENTED_EDGE('',*,*,#10700,.T.); ++#10702=ORIENTED_EDGE('',*,*,#10679,.T.); ++#10703=EDGE_LOOP('',(#10698,#10699,#10701,#10702)); ++#10704=FACE_OUTER_BOUND('',#10703,.F.); ++#10705=ADVANCED_FACE('',(#10704),#10696,.F.); ++#10706=CARTESIAN_POINT('',(1.61E0,0.E0,2.75E1)); ++#10707=DIRECTION('',(0.E0,1.E0,0.E0)); ++#10708=DIRECTION('',(1.E0,0.E0,0.E0)); ++#10709=AXIS2_PLACEMENT_3D('',#10706,#10707,#10708); ++#10710=CYLINDRICAL_SURFACE('',#10709,9.225E-1); ++#10711=ORIENTED_EDGE('',*,*,#10697,.T.); ++#10712=ORIENTED_EDGE('',*,*,#10687,.F.); ++#10714=ORIENTED_EDGE('',*,*,#10713,.F.); ++#10715=ORIENTED_EDGE('',*,*,#5934,.T.); ++#10716=EDGE_LOOP('',(#10711,#10712,#10714,#10715)); ++#10717=FACE_OUTER_BOUND('',#10716,.F.); ++#10718=ADVANCED_FACE('',(#10717),#10710,.F.); ++#10719=CARTESIAN_POINT('',(7.5E0,0.E0,2.45E1)); ++#10720=DIRECTION('',(0.E0,1.E0,0.E0)); ++#10721=DIRECTION('',(1.E0,0.E0,0.E0)); ++#10722=AXIS2_PLACEMENT_3D('',#10719,#10720,#10721); ++#10723=CYLINDRICAL_SURFACE('',#10722,5.6875E0); ++#10724=ORIENTED_EDGE('',*,*,#5936,.F.); ++#10725=ORIENTED_EDGE('',*,*,#10713,.T.); ++#10726=ORIENTED_EDGE('',*,*,#10685,.F.); ++#10728=ORIENTED_EDGE('',*,*,#10727,.F.); ++#10729=EDGE_LOOP('',(#10724,#10725,#10726,#10728)); ++#10730=FACE_OUTER_BOUND('',#10729,.F.); ++#10731=ADVANCED_FACE('',(#10730),#10723,.T.); ++#10732=CARTESIAN_POINT('',(4.553039342392E0,0.E0,3.035464591145E1)); ++#10733=DIRECTION('',(0.E0,1.E0,0.E0)); ++#10734=DIRECTION('',(1.E0,0.E0,0.E0)); ++#10735=AXIS2_PLACEMENT_3D('',#10732,#10733,#10734); ++#10736=CYLINDRICAL_SURFACE('',#10735,8.669989027347E-1); ++#10737=ORIENTED_EDGE('',*,*,#5938,.T.); ++#10738=ORIENTED_EDGE('',*,*,#10727,.T.); ++#10739=ORIENTED_EDGE('',*,*,#10683,.F.); ++#10741=ORIENTED_EDGE('',*,*,#10740,.F.); ++#10742=EDGE_LOOP('',(#10737,#10738,#10739,#10741)); ++#10743=FACE_OUTER_BOUND('',#10742,.F.); ++#10744=ADVANCED_FACE('',(#10743),#10736,.F.); ++#10745=CARTESIAN_POINT('',(6.875E-1,0.E0,2.771522817587E1)); ++#10746=DIRECTION('',(7.071067811865E-1,0.E0,-7.071067811865E-1)); ++#10747=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1)); ++#10748=AXIS2_PLACEMENT_3D('',#10745,#10746,#10747); ++#10749=PLANE('',#10748); ++#10750=ORIENTED_EDGE('',*,*,#10700,.F.); ++#10751=ORIENTED_EDGE('',*,*,#5930,.T.); ++#10752=ORIENTED_EDGE('',*,*,#10740,.T.); ++#10753=ORIENTED_EDGE('',*,*,#10681,.F.); ++#10754=EDGE_LOOP('',(#10750,#10751,#10752,#10753)); ++#10755=FACE_OUTER_BOUND('',#10754,.F.); ++#10756=ADVANCED_FACE('',(#10755),#10749,.T.); ++#10757=CARTESIAN_POINT('',(1.65E1,0.E0,6.875E-1)); ++#10758=DIRECTION('',(0.E0,0.E0,1.E0)); ++#10759=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#10760=AXIS2_PLACEMENT_3D('',#10757,#10758,#10759); ++#10761=PLANE('',#10760); ++#10762=ORIENTED_EDGE('',*,*,#5828,.T.); ++#10764=ORIENTED_EDGE('',*,*,#10763,.T.); ++#10766=ORIENTED_EDGE('',*,*,#10765,.F.); ++#10768=ORIENTED_EDGE('',*,*,#10767,.F.); ++#10769=EDGE_LOOP('',(#10762,#10764,#10766,#10768)); ++#10770=FACE_OUTER_BOUND('',#10769,.F.); ++#10771=ADVANCED_FACE('',(#10770),#10761,.T.); ++#10772=CARTESIAN_POINT('',(1.35E1,0.E0,1.25E0)); ++#10773=DIRECTION('',(0.E0,1.E0,0.E0)); ++#10774=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#10775=AXIS2_PLACEMENT_3D('',#10772,#10773,#10774); ++#10776=CYLINDRICAL_SURFACE('',#10775,5.625E-1); ++#10777=ORIENTED_EDGE('',*,*,#5834,.T.); ++#10779=ORIENTED_EDGE('',*,*,#10778,.T.); ++#10781=ORIENTED_EDGE('',*,*,#10780,.F.); ++#10782=ORIENTED_EDGE('',*,*,#10763,.F.); ++#10783=EDGE_LOOP('',(#10777,#10779,#10781,#10782)); ++#10784=FACE_OUTER_BOUND('',#10783,.F.); ++#10785=ADVANCED_FACE('',(#10784),#10776,.F.); ++#10786=CARTESIAN_POINT('',(1.35E1,0.E0,1.8125E0)); ++#10787=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#10788=DIRECTION('',(1.E0,0.E0,0.E0)); ++#10789=AXIS2_PLACEMENT_3D('',#10786,#10787,#10788); ++#10790=PLANE('',#10789); ++#10791=ORIENTED_EDGE('',*,*,#5832,.T.); ++#10793=ORIENTED_EDGE('',*,*,#10792,.T.); ++#10795=ORIENTED_EDGE('',*,*,#10794,.F.); ++#10796=ORIENTED_EDGE('',*,*,#10778,.F.); ++#10797=EDGE_LOOP('',(#10791,#10793,#10795,#10796)); ++#10798=FACE_OUTER_BOUND('',#10797,.F.); ++#10799=ADVANCED_FACE('',(#10798),#10790,.T.); ++#10800=CARTESIAN_POINT('',(1.65E1,0.E0,1.25E0)); ++#10801=DIRECTION('',(0.E0,1.E0,0.E0)); ++#10802=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#10803=AXIS2_PLACEMENT_3D('',#10800,#10801,#10802); ++#10804=CYLINDRICAL_SURFACE('',#10803,5.625E-1); ++#10805=ORIENTED_EDGE('',*,*,#5830,.T.); ++#10806=ORIENTED_EDGE('',*,*,#10767,.T.); ++#10808=ORIENTED_EDGE('',*,*,#10807,.F.); ++#10809=ORIENTED_EDGE('',*,*,#10792,.F.); ++#10810=EDGE_LOOP('',(#10805,#10806,#10808,#10809)); ++#10811=FACE_OUTER_BOUND('',#10810,.F.); ++#10812=ADVANCED_FACE('',(#10811),#10804,.F.); ++#10813=CARTESIAN_POINT('',(2.4E1,6.875E-1,0.E0)); ++#10814=DIRECTION('',(0.E0,1.E0,0.E0)); ++#10815=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#10816=AXIS2_PLACEMENT_3D('',#10813,#10814,#10815); ++#10817=PLANE('',#10816); ++#10818=ORIENTED_EDGE('',*,*,#10765,.T.); ++#10819=ORIENTED_EDGE('',*,*,#10780,.T.); ++#10820=ORIENTED_EDGE('',*,*,#10794,.T.); ++#10821=ORIENTED_EDGE('',*,*,#10807,.T.); ++#10822=EDGE_LOOP('',(#10818,#10819,#10820,#10821)); ++#10823=FACE_OUTER_BOUND('',#10822,.F.); ++#10824=ADVANCED_FACE('',(#10823),#10817,.F.); ++#10825=CARTESIAN_POINT('',(2.4E1,6.875E-1,0.E0)); ++#10826=DIRECTION('',(0.E0,1.E0,0.E0)); ++#10827=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#10828=AXIS2_PLACEMENT_3D('',#10825,#10826,#10827); ++#10829=PLANE('',#10828); ++#10831=ORIENTED_EDGE('',*,*,#10830,.F.); ++#10833=ORIENTED_EDGE('',*,*,#10832,.T.); ++#10835=ORIENTED_EDGE('',*,*,#10834,.T.); ++#10837=ORIENTED_EDGE('',*,*,#10836,.T.); ++#10839=ORIENTED_EDGE('',*,*,#10838,.T.); ++#10840=EDGE_LOOP('',(#10831,#10833,#10835,#10837,#10839)); ++#10841=FACE_OUTER_BOUND('',#10840,.F.); ++#10842=ADVANCED_FACE('',(#10841),#10829,.F.); ++#10843=CARTESIAN_POINT('',(2.254426323641E1,-6.642389448824E-2, ++4.577195232320E0)); ++#10844=DIRECTION('',(0.E0,1.E0,0.E0)); ++#10845=DIRECTION('',(8.942796313519E-1,0.E0,4.475085931567E-1)); ++#10846=AXIS2_PLACEMENT_3D('',#10843,#10844,#10845); ++#10847=CYLINDRICAL_SURFACE('',#10846,7.5E-1); ++#10849=ORIENTED_EDGE('',*,*,#10848,.F.); ++#10850=ORIENTED_EDGE('',*,*,#5920,.T.); ++#10852=ORIENTED_EDGE('',*,*,#10851,.T.); ++#10853=ORIENTED_EDGE('',*,*,#10830,.T.); ++#10854=EDGE_LOOP('',(#10849,#10850,#10852,#10853)); ++#10855=FACE_OUTER_BOUND('',#10854,.F.); ++#10856=ADVANCED_FACE('',(#10855),#10847,.F.); ++#10857=CARTESIAN_POINT('',(2.239E1,0.E0,4.5E0)); ++#10858=DIRECTION('',(0.E0,1.E0,0.E0)); ++#10859=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#10860=AXIS2_PLACEMENT_3D('',#10857,#10858,#10859); ++#10861=CYLINDRICAL_SURFACE('',#10860,9.225E-1); ++#10862=ORIENTED_EDGE('',*,*,#10848,.T.); ++#10863=ORIENTED_EDGE('',*,*,#10838,.F.); ++#10865=ORIENTED_EDGE('',*,*,#10864,.F.); ++#10866=ORIENTED_EDGE('',*,*,#5922,.T.); ++#10867=EDGE_LOOP('',(#10862,#10863,#10865,#10866)); ++#10868=FACE_OUTER_BOUND('',#10867,.F.); ++#10869=ADVANCED_FACE('',(#10868),#10861,.F.); ++#10870=CARTESIAN_POINT('',(1.65E1,0.E0,7.5E0)); ++#10871=DIRECTION('',(0.E0,1.E0,0.E0)); ++#10872=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#10873=AXIS2_PLACEMENT_3D('',#10870,#10871,#10872); ++#10874=CYLINDRICAL_SURFACE('',#10873,5.6875E0); ++#10875=ORIENTED_EDGE('',*,*,#5924,.F.); ++#10876=ORIENTED_EDGE('',*,*,#10864,.T.); ++#10877=ORIENTED_EDGE('',*,*,#10836,.F.); ++#10879=ORIENTED_EDGE('',*,*,#10878,.F.); ++#10880=EDGE_LOOP('',(#10875,#10876,#10877,#10879)); ++#10881=FACE_OUTER_BOUND('',#10880,.F.); ++#10882=ADVANCED_FACE('',(#10881),#10874,.T.); ++#10883=CARTESIAN_POINT('',(1.944696065761E1,0.E0,1.645354088550E0)); ++#10884=DIRECTION('',(0.E0,1.E0,0.E0)); ++#10885=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#10886=AXIS2_PLACEMENT_3D('',#10883,#10884,#10885); ++#10887=CYLINDRICAL_SURFACE('',#10886,8.669989027347E-1); ++#10888=ORIENTED_EDGE('',*,*,#5926,.T.); ++#10889=ORIENTED_EDGE('',*,*,#10878,.T.); ++#10890=ORIENTED_EDGE('',*,*,#10834,.F.); ++#10892=ORIENTED_EDGE('',*,*,#10891,.F.); ++#10893=EDGE_LOOP('',(#10888,#10889,#10890,#10892)); ++#10894=FACE_OUTER_BOUND('',#10893,.F.); ++#10895=ADVANCED_FACE('',(#10894),#10887,.F.); ++#10896=CARTESIAN_POINT('',(2.33125E1,0.E0,4.284771824132E0)); ++#10897=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1)); ++#10898=DIRECTION('',(-7.071067811865E-1,0.E0,-7.071067811865E-1)); ++#10899=AXIS2_PLACEMENT_3D('',#10896,#10897,#10898); ++#10900=PLANE('',#10899); ++#10901=ORIENTED_EDGE('',*,*,#10851,.F.); ++#10902=ORIENTED_EDGE('',*,*,#5918,.T.); ++#10903=ORIENTED_EDGE('',*,*,#10891,.T.); ++#10904=ORIENTED_EDGE('',*,*,#10832,.F.); ++#10905=EDGE_LOOP('',(#10901,#10902,#10903,#10904)); ++#10906=FACE_OUTER_BOUND('',#10905,.F.); ++#10907=ADVANCED_FACE('',(#10906),#10900,.T.); ++#10908=CARTESIAN_POINT('',(2.33125E1,0.E0,1.65E1)); ++#10909=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#10910=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#10911=AXIS2_PLACEMENT_3D('',#10908,#10909,#10910); ++#10912=PLANE('',#10911); ++#10913=ORIENTED_EDGE('',*,*,#5838,.T.); ++#10915=ORIENTED_EDGE('',*,*,#10914,.T.); ++#10917=ORIENTED_EDGE('',*,*,#10916,.F.); ++#10919=ORIENTED_EDGE('',*,*,#10918,.F.); ++#10920=EDGE_LOOP('',(#10913,#10915,#10917,#10919)); ++#10921=FACE_OUTER_BOUND('',#10920,.F.); ++#10922=ADVANCED_FACE('',(#10921),#10912,.T.); ++#10923=CARTESIAN_POINT('',(2.275E1,0.E0,1.35E1)); ++#10924=DIRECTION('',(0.E0,1.E0,0.E0)); ++#10925=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#10926=AXIS2_PLACEMENT_3D('',#10923,#10924,#10925); ++#10927=CYLINDRICAL_SURFACE('',#10926,5.625E-1); ++#10928=ORIENTED_EDGE('',*,*,#5844,.T.); ++#10930=ORIENTED_EDGE('',*,*,#10929,.T.); ++#10932=ORIENTED_EDGE('',*,*,#10931,.F.); ++#10933=ORIENTED_EDGE('',*,*,#10914,.F.); ++#10934=EDGE_LOOP('',(#10928,#10930,#10932,#10933)); ++#10935=FACE_OUTER_BOUND('',#10934,.F.); ++#10936=ADVANCED_FACE('',(#10935),#10927,.F.); ++#10937=CARTESIAN_POINT('',(2.21875E1,0.E0,1.35E1)); ++#10938=DIRECTION('',(1.E0,0.E0,0.E0)); ++#10939=DIRECTION('',(0.E0,0.E0,1.E0)); ++#10940=AXIS2_PLACEMENT_3D('',#10937,#10938,#10939); ++#10941=PLANE('',#10940); ++#10942=ORIENTED_EDGE('',*,*,#5842,.T.); ++#10944=ORIENTED_EDGE('',*,*,#10943,.T.); ++#10946=ORIENTED_EDGE('',*,*,#10945,.F.); ++#10947=ORIENTED_EDGE('',*,*,#10929,.F.); ++#10948=EDGE_LOOP('',(#10942,#10944,#10946,#10947)); ++#10949=FACE_OUTER_BOUND('',#10948,.F.); ++#10950=ADVANCED_FACE('',(#10949),#10941,.T.); ++#10951=CARTESIAN_POINT('',(2.275E1,0.E0,1.65E1)); ++#10952=DIRECTION('',(0.E0,1.E0,0.E0)); ++#10953=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#10954=AXIS2_PLACEMENT_3D('',#10951,#10952,#10953); ++#10955=CYLINDRICAL_SURFACE('',#10954,5.625E-1); ++#10956=ORIENTED_EDGE('',*,*,#5840,.T.); ++#10957=ORIENTED_EDGE('',*,*,#10918,.T.); ++#10959=ORIENTED_EDGE('',*,*,#10958,.F.); ++#10960=ORIENTED_EDGE('',*,*,#10943,.F.); ++#10961=EDGE_LOOP('',(#10956,#10957,#10959,#10960)); ++#10962=FACE_OUTER_BOUND('',#10961,.F.); ++#10963=ADVANCED_FACE('',(#10962),#10955,.F.); ++#10964=CARTESIAN_POINT('',(2.4E1,6.875E-1,0.E0)); ++#10965=DIRECTION('',(0.E0,1.E0,0.E0)); ++#10966=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#10967=AXIS2_PLACEMENT_3D('',#10964,#10965,#10966); ++#10968=PLANE('',#10967); ++#10969=ORIENTED_EDGE('',*,*,#10916,.T.); ++#10970=ORIENTED_EDGE('',*,*,#10931,.T.); ++#10971=ORIENTED_EDGE('',*,*,#10945,.T.); ++#10972=ORIENTED_EDGE('',*,*,#10958,.T.); ++#10973=EDGE_LOOP('',(#10969,#10970,#10971,#10972)); ++#10974=FACE_OUTER_BOUND('',#10973,.F.); ++#10975=ADVANCED_FACE('',(#10974),#10968,.F.); ++#10976=CARTESIAN_POINT('',(2.33125E1,0.E0,2.25E1)); ++#10977=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#10978=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#10979=AXIS2_PLACEMENT_3D('',#10976,#10977,#10978); ++#10980=PLANE('',#10979); ++#10981=ORIENTED_EDGE('',*,*,#5848,.T.); ++#10983=ORIENTED_EDGE('',*,*,#10982,.T.); ++#10985=ORIENTED_EDGE('',*,*,#10984,.F.); ++#10987=ORIENTED_EDGE('',*,*,#10986,.F.); ++#10988=EDGE_LOOP('',(#10981,#10983,#10985,#10987)); ++#10989=FACE_OUTER_BOUND('',#10988,.F.); ++#10990=ADVANCED_FACE('',(#10989),#10980,.T.); ++#10991=CARTESIAN_POINT('',(2.275E1,0.E0,1.95E1)); ++#10992=DIRECTION('',(0.E0,1.E0,0.E0)); ++#10993=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#10994=AXIS2_PLACEMENT_3D('',#10991,#10992,#10993); ++#10995=CYLINDRICAL_SURFACE('',#10994,5.625E-1); ++#10996=ORIENTED_EDGE('',*,*,#5854,.T.); ++#10998=ORIENTED_EDGE('',*,*,#10997,.T.); ++#11000=ORIENTED_EDGE('',*,*,#10999,.F.); ++#11001=ORIENTED_EDGE('',*,*,#10982,.F.); ++#11002=EDGE_LOOP('',(#10996,#10998,#11000,#11001)); ++#11003=FACE_OUTER_BOUND('',#11002,.F.); ++#11004=ADVANCED_FACE('',(#11003),#10995,.F.); ++#11005=CARTESIAN_POINT('',(2.21875E1,0.E0,1.95E1)); ++#11006=DIRECTION('',(1.E0,0.E0,0.E0)); ++#11007=DIRECTION('',(0.E0,0.E0,1.E0)); ++#11008=AXIS2_PLACEMENT_3D('',#11005,#11006,#11007); ++#11009=PLANE('',#11008); ++#11010=ORIENTED_EDGE('',*,*,#5852,.T.); ++#11012=ORIENTED_EDGE('',*,*,#11011,.T.); ++#11014=ORIENTED_EDGE('',*,*,#11013,.F.); ++#11015=ORIENTED_EDGE('',*,*,#10997,.F.); ++#11016=EDGE_LOOP('',(#11010,#11012,#11014,#11015)); ++#11017=FACE_OUTER_BOUND('',#11016,.F.); ++#11018=ADVANCED_FACE('',(#11017),#11009,.T.); ++#11019=CARTESIAN_POINT('',(2.275E1,0.E0,2.25E1)); ++#11020=DIRECTION('',(0.E0,1.E0,0.E0)); ++#11021=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#11022=AXIS2_PLACEMENT_3D('',#11019,#11020,#11021); ++#11023=CYLINDRICAL_SURFACE('',#11022,5.625E-1); ++#11024=ORIENTED_EDGE('',*,*,#5850,.T.); ++#11025=ORIENTED_EDGE('',*,*,#10986,.T.); ++#11027=ORIENTED_EDGE('',*,*,#11026,.F.); ++#11028=ORIENTED_EDGE('',*,*,#11011,.F.); ++#11029=EDGE_LOOP('',(#11024,#11025,#11027,#11028)); ++#11030=FACE_OUTER_BOUND('',#11029,.F.); ++#11031=ADVANCED_FACE('',(#11030),#11023,.F.); ++#11032=CARTESIAN_POINT('',(2.4E1,6.875E-1,0.E0)); ++#11033=DIRECTION('',(0.E0,1.E0,0.E0)); ++#11034=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#11035=AXIS2_PLACEMENT_3D('',#11032,#11033,#11034); ++#11036=PLANE('',#11035); ++#11037=ORIENTED_EDGE('',*,*,#10984,.T.); ++#11038=ORIENTED_EDGE('',*,*,#10999,.T.); ++#11039=ORIENTED_EDGE('',*,*,#11013,.T.); ++#11040=ORIENTED_EDGE('',*,*,#11026,.T.); ++#11041=EDGE_LOOP('',(#11037,#11038,#11039,#11040)); ++#11042=FACE_OUTER_BOUND('',#11041,.F.); ++#11043=ADVANCED_FACE('',(#11042),#11036,.F.); ++#11044=CARTESIAN_POINT('',(1.65E1,0.E0,8.5E0)); ++#11045=DIRECTION('',(0.E0,0.E0,1.E0)); ++#11046=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#11047=AXIS2_PLACEMENT_3D('',#11044,#11045,#11046); ++#11048=PLANE('',#11047); ++#11049=ORIENTED_EDGE('',*,*,#5858,.T.); ++#11051=ORIENTED_EDGE('',*,*,#11050,.T.); ++#11053=ORIENTED_EDGE('',*,*,#11052,.F.); ++#11055=ORIENTED_EDGE('',*,*,#11054,.F.); ++#11056=EDGE_LOOP('',(#11049,#11051,#11053,#11055)); ++#11057=FACE_OUTER_BOUND('',#11056,.F.); ++#11058=ADVANCED_FACE('',(#11057),#11048,.T.); ++#11059=CARTESIAN_POINT('',(1.35E1,0.E0,9.E0)); ++#11060=DIRECTION('',(0.E0,1.E0,0.E0)); ++#11061=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#11062=AXIS2_PLACEMENT_3D('',#11059,#11060,#11061); ++#11063=CYLINDRICAL_SURFACE('',#11062,5.E-1); ++#11064=ORIENTED_EDGE('',*,*,#5864,.T.); ++#11066=ORIENTED_EDGE('',*,*,#11065,.T.); ++#11068=ORIENTED_EDGE('',*,*,#11067,.F.); ++#11069=ORIENTED_EDGE('',*,*,#11050,.F.); ++#11070=EDGE_LOOP('',(#11064,#11066,#11068,#11069)); ++#11071=FACE_OUTER_BOUND('',#11070,.F.); ++#11072=ADVANCED_FACE('',(#11071),#11063,.F.); ++#11073=CARTESIAN_POINT('',(1.35E1,0.E0,9.5E0)); ++#11074=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#11075=DIRECTION('',(1.E0,0.E0,0.E0)); ++#11076=AXIS2_PLACEMENT_3D('',#11073,#11074,#11075); ++#11077=PLANE('',#11076); ++#11078=ORIENTED_EDGE('',*,*,#5862,.T.); ++#11080=ORIENTED_EDGE('',*,*,#11079,.T.); ++#11082=ORIENTED_EDGE('',*,*,#11081,.F.); ++#11083=ORIENTED_EDGE('',*,*,#11065,.F.); ++#11084=EDGE_LOOP('',(#11078,#11080,#11082,#11083)); ++#11085=FACE_OUTER_BOUND('',#11084,.F.); ++#11086=ADVANCED_FACE('',(#11085),#11077,.T.); ++#11087=CARTESIAN_POINT('',(1.65E1,0.E0,9.E0)); ++#11088=DIRECTION('',(0.E0,1.E0,0.E0)); ++#11089=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#11090=AXIS2_PLACEMENT_3D('',#11087,#11088,#11089); ++#11091=CYLINDRICAL_SURFACE('',#11090,5.E-1); ++#11092=ORIENTED_EDGE('',*,*,#5860,.T.); ++#11093=ORIENTED_EDGE('',*,*,#11054,.T.); ++#11095=ORIENTED_EDGE('',*,*,#11094,.F.); ++#11096=ORIENTED_EDGE('',*,*,#11079,.F.); ++#11097=EDGE_LOOP('',(#11092,#11093,#11095,#11096)); ++#11098=FACE_OUTER_BOUND('',#11097,.F.); ++#11099=ADVANCED_FACE('',(#11098),#11091,.F.); ++#11100=CARTESIAN_POINT('',(2.4E1,6.875E-1,0.E0)); ++#11101=DIRECTION('',(0.E0,1.E0,0.E0)); ++#11102=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#11103=AXIS2_PLACEMENT_3D('',#11100,#11101,#11102); ++#11104=PLANE('',#11103); ++#11105=ORIENTED_EDGE('',*,*,#11052,.T.); ++#11106=ORIENTED_EDGE('',*,*,#11067,.T.); ++#11107=ORIENTED_EDGE('',*,*,#11081,.T.); ++#11108=ORIENTED_EDGE('',*,*,#11094,.T.); ++#11109=EDGE_LOOP('',(#11105,#11106,#11107,#11108)); ++#11110=FACE_OUTER_BOUND('',#11109,.F.); ++#11111=ADVANCED_FACE('',(#11110),#11104,.F.); ++#11112=CARTESIAN_POINT('',(1.65E1,0.E0,1.75625E1)); ++#11113=DIRECTION('',(0.E0,0.E0,1.E0)); ++#11114=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#11115=AXIS2_PLACEMENT_3D('',#11112,#11113,#11114); ++#11116=PLANE('',#11115); ++#11117=ORIENTED_EDGE('',*,*,#5868,.T.); ++#11119=ORIENTED_EDGE('',*,*,#11118,.T.); ++#11121=ORIENTED_EDGE('',*,*,#11120,.F.); ++#11123=ORIENTED_EDGE('',*,*,#11122,.F.); ++#11124=EDGE_LOOP('',(#11117,#11119,#11121,#11123)); ++#11125=FACE_OUTER_BOUND('',#11124,.F.); ++#11126=ADVANCED_FACE('',(#11125),#11116,.T.); ++#11127=CARTESIAN_POINT('',(1.35E1,0.E0,1.8E1)); ++#11128=DIRECTION('',(0.E0,1.E0,0.E0)); ++#11129=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#11130=AXIS2_PLACEMENT_3D('',#11127,#11128,#11129); ++#11131=CYLINDRICAL_SURFACE('',#11130,4.375E-1); ++#11132=ORIENTED_EDGE('',*,*,#5874,.T.); ++#11134=ORIENTED_EDGE('',*,*,#11133,.T.); ++#11136=ORIENTED_EDGE('',*,*,#11135,.F.); ++#11137=ORIENTED_EDGE('',*,*,#11118,.F.); ++#11138=EDGE_LOOP('',(#11132,#11134,#11136,#11137)); ++#11139=FACE_OUTER_BOUND('',#11138,.F.); ++#11140=ADVANCED_FACE('',(#11139),#11131,.F.); ++#11141=CARTESIAN_POINT('',(1.35E1,0.E0,1.84375E1)); ++#11142=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#11143=DIRECTION('',(1.E0,0.E0,0.E0)); ++#11144=AXIS2_PLACEMENT_3D('',#11141,#11142,#11143); ++#11145=PLANE('',#11144); ++#11146=ORIENTED_EDGE('',*,*,#5872,.T.); ++#11148=ORIENTED_EDGE('',*,*,#11147,.T.); ++#11150=ORIENTED_EDGE('',*,*,#11149,.F.); ++#11151=ORIENTED_EDGE('',*,*,#11133,.F.); ++#11152=EDGE_LOOP('',(#11146,#11148,#11150,#11151)); ++#11153=FACE_OUTER_BOUND('',#11152,.F.); ++#11154=ADVANCED_FACE('',(#11153),#11145,.T.); ++#11155=CARTESIAN_POINT('',(1.65E1,0.E0,1.8E1)); ++#11156=DIRECTION('',(0.E0,1.E0,0.E0)); ++#11157=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#11158=AXIS2_PLACEMENT_3D('',#11155,#11156,#11157); ++#11159=CYLINDRICAL_SURFACE('',#11158,4.375E-1); ++#11160=ORIENTED_EDGE('',*,*,#5870,.T.); ++#11161=ORIENTED_EDGE('',*,*,#11122,.T.); ++#11163=ORIENTED_EDGE('',*,*,#11162,.F.); ++#11164=ORIENTED_EDGE('',*,*,#11147,.F.); ++#11165=EDGE_LOOP('',(#11160,#11161,#11163,#11164)); ++#11166=FACE_OUTER_BOUND('',#11165,.F.); ++#11167=ADVANCED_FACE('',(#11166),#11159,.F.); ++#11168=CARTESIAN_POINT('',(2.4E1,6.875E-1,0.E0)); ++#11169=DIRECTION('',(0.E0,1.E0,0.E0)); ++#11170=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#11171=AXIS2_PLACEMENT_3D('',#11168,#11169,#11170); ++#11172=PLANE('',#11171); ++#11173=ORIENTED_EDGE('',*,*,#11120,.T.); ++#11174=ORIENTED_EDGE('',*,*,#11135,.T.); ++#11175=ORIENTED_EDGE('',*,*,#11149,.T.); ++#11176=ORIENTED_EDGE('',*,*,#11162,.T.); ++#11177=EDGE_LOOP('',(#11173,#11174,#11175,#11176)); ++#11178=FACE_OUTER_BOUND('',#11177,.F.); ++#11179=ADVANCED_FACE('',(#11178),#11172,.F.); ++#11180=CARTESIAN_POINT('',(1.65E1,0.E0,3.13125E1)); ++#11181=DIRECTION('',(0.E0,0.E0,1.E0)); ++#11182=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#11183=AXIS2_PLACEMENT_3D('',#11180,#11181,#11182); ++#11184=PLANE('',#11183); ++#11185=ORIENTED_EDGE('',*,*,#5878,.F.); ++#11187=ORIENTED_EDGE('',*,*,#11186,.T.); ++#11189=ORIENTED_EDGE('',*,*,#11188,.T.); ++#11191=ORIENTED_EDGE('',*,*,#11190,.F.); ++#11192=EDGE_LOOP('',(#11185,#11187,#11189,#11191)); ++#11193=FACE_OUTER_BOUND('',#11192,.F.); ++#11194=ADVANCED_FACE('',(#11193),#11184,.F.); ++#11195=CARTESIAN_POINT('',(1.65E1,0.E0,3.075E1)); ++#11196=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#11197=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#11198=AXIS2_PLACEMENT_3D('',#11195,#11196,#11197); ++#11199=CYLINDRICAL_SURFACE('',#11198,5.625E-1); ++#11200=ORIENTED_EDGE('',*,*,#5884,.F.); ++#11202=ORIENTED_EDGE('',*,*,#11201,.T.); ++#11204=ORIENTED_EDGE('',*,*,#11203,.T.); ++#11205=ORIENTED_EDGE('',*,*,#11186,.F.); ++#11206=EDGE_LOOP('',(#11200,#11202,#11204,#11205)); ++#11207=FACE_OUTER_BOUND('',#11206,.F.); ++#11208=ADVANCED_FACE('',(#11207),#11199,.F.); ++#11209=CARTESIAN_POINT('',(1.35E1,0.E0,3.01875E1)); ++#11210=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#11211=DIRECTION('',(1.E0,0.E0,0.E0)); ++#11212=AXIS2_PLACEMENT_3D('',#11209,#11210,#11211); ++#11213=PLANE('',#11212); ++#11214=ORIENTED_EDGE('',*,*,#5882,.F.); ++#11216=ORIENTED_EDGE('',*,*,#11215,.T.); ++#11218=ORIENTED_EDGE('',*,*,#11217,.T.); ++#11219=ORIENTED_EDGE('',*,*,#11201,.F.); ++#11220=EDGE_LOOP('',(#11214,#11216,#11218,#11219)); ++#11221=FACE_OUTER_BOUND('',#11220,.F.); ++#11222=ADVANCED_FACE('',(#11221),#11213,.F.); ++#11223=CARTESIAN_POINT('',(1.35E1,0.E0,3.075E1)); ++#11224=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#11225=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#11226=AXIS2_PLACEMENT_3D('',#11223,#11224,#11225); ++#11227=CYLINDRICAL_SURFACE('',#11226,5.625E-1); ++#11228=ORIENTED_EDGE('',*,*,#5880,.F.); ++#11229=ORIENTED_EDGE('',*,*,#11190,.T.); ++#11231=ORIENTED_EDGE('',*,*,#11230,.T.); ++#11232=ORIENTED_EDGE('',*,*,#11215,.F.); ++#11233=EDGE_LOOP('',(#11228,#11229,#11231,#11232)); ++#11234=FACE_OUTER_BOUND('',#11233,.F.); ++#11235=ADVANCED_FACE('',(#11234),#11227,.F.); ++#11236=CARTESIAN_POINT('',(2.4E1,6.875E-1,3.2E1)); ++#11237=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#11238=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#11239=AXIS2_PLACEMENT_3D('',#11236,#11237,#11238); ++#11240=PLANE('',#11239); ++#11241=ORIENTED_EDGE('',*,*,#11188,.F.); ++#11242=ORIENTED_EDGE('',*,*,#11203,.F.); ++#11243=ORIENTED_EDGE('',*,*,#11217,.F.); ++#11244=ORIENTED_EDGE('',*,*,#11230,.F.); ++#11245=EDGE_LOOP('',(#11241,#11242,#11243,#11244)); ++#11246=FACE_OUTER_BOUND('',#11245,.F.); ++#11247=ADVANCED_FACE('',(#11246),#11240,.T.); ++#11248=CARTESIAN_POINT('',(2.4E1,6.875E-1,3.2E1)); ++#11249=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#11250=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#11251=AXIS2_PLACEMENT_3D('',#11248,#11249,#11250); ++#11252=PLANE('',#11251); ++#11254=ORIENTED_EDGE('',*,*,#11253,.F.); ++#11256=ORIENTED_EDGE('',*,*,#11255,.F.); ++#11258=ORIENTED_EDGE('',*,*,#11257,.F.); ++#11260=ORIENTED_EDGE('',*,*,#11259,.F.); ++#11262=ORIENTED_EDGE('',*,*,#11261,.F.); ++#11263=EDGE_LOOP('',(#11254,#11256,#11258,#11260,#11262)); ++#11264=FACE_OUTER_BOUND('',#11263,.F.); ++#11265=ADVANCED_FACE('',(#11264),#11252,.T.); ++#11266=CARTESIAN_POINT('',(2.254426323641E1,-6.892397422826E-2, ++2.742280476768E1)); ++#11267=DIRECTION('',(0.E0,1.E0,0.E0)); ++#11268=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1)); ++#11269=AXIS2_PLACEMENT_3D('',#11266,#11267,#11268); ++#11270=CYLINDRICAL_SURFACE('',#11269,7.5E-1); ++#11272=ORIENTED_EDGE('',*,*,#11271,.F.); ++#11273=ORIENTED_EDGE('',*,*,#5944,.T.); ++#11275=ORIENTED_EDGE('',*,*,#11274,.T.); ++#11276=ORIENTED_EDGE('',*,*,#11253,.T.); ++#11277=EDGE_LOOP('',(#11272,#11273,#11275,#11276)); ++#11278=FACE_OUTER_BOUND('',#11277,.F.); ++#11279=ADVANCED_FACE('',(#11278),#11270,.F.); ++#11280=CARTESIAN_POINT('',(2.33125E1,0.E0,2.771522817587E1)); ++#11281=DIRECTION('',(7.071067811865E-1,0.E0,7.071067811865E-1)); ++#11282=DIRECTION('',(-7.071067811865E-1,0.E0,7.071067811865E-1)); ++#11283=AXIS2_PLACEMENT_3D('',#11280,#11281,#11282); ++#11284=PLANE('',#11283); ++#11285=ORIENTED_EDGE('',*,*,#11271,.T.); ++#11286=ORIENTED_EDGE('',*,*,#11261,.T.); ++#11288=ORIENTED_EDGE('',*,*,#11287,.F.); ++#11289=ORIENTED_EDGE('',*,*,#5946,.F.); ++#11290=EDGE_LOOP('',(#11285,#11286,#11288,#11289)); ++#11291=FACE_OUTER_BOUND('',#11290,.F.); ++#11292=ADVANCED_FACE('',(#11291),#11284,.F.); ++#11293=CARTESIAN_POINT('',(1.944696065761E1,0.E0,3.035464591145E1)); ++#11294=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#11295=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#11296=AXIS2_PLACEMENT_3D('',#11293,#11294,#11295); ++#11297=CYLINDRICAL_SURFACE('',#11296,8.669989027347E-1); ++#11298=ORIENTED_EDGE('',*,*,#5948,.F.); ++#11299=ORIENTED_EDGE('',*,*,#11287,.T.); ++#11300=ORIENTED_EDGE('',*,*,#11259,.T.); ++#11302=ORIENTED_EDGE('',*,*,#11301,.F.); ++#11303=EDGE_LOOP('',(#11298,#11299,#11300,#11302)); ++#11304=FACE_OUTER_BOUND('',#11303,.F.); ++#11305=ADVANCED_FACE('',(#11304),#11297,.F.); ++#11306=CARTESIAN_POINT('',(1.65E1,0.E0,2.45E1)); ++#11307=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#11308=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#11309=AXIS2_PLACEMENT_3D('',#11306,#11307,#11308); ++#11310=CYLINDRICAL_SURFACE('',#11309,5.6875E0); ++#11311=ORIENTED_EDGE('',*,*,#5950,.T.); ++#11312=ORIENTED_EDGE('',*,*,#11301,.T.); ++#11313=ORIENTED_EDGE('',*,*,#11257,.T.); ++#11315=ORIENTED_EDGE('',*,*,#11314,.F.); ++#11316=EDGE_LOOP('',(#11311,#11312,#11313,#11315)); ++#11317=FACE_OUTER_BOUND('',#11316,.F.); ++#11318=ADVANCED_FACE('',(#11317),#11310,.T.); ++#11319=CARTESIAN_POINT('',(2.239E1,0.E0,2.75E1)); ++#11320=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#11321=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#11322=AXIS2_PLACEMENT_3D('',#11319,#11320,#11321); ++#11323=CYLINDRICAL_SURFACE('',#11322,9.225E-1); ++#11324=ORIENTED_EDGE('',*,*,#11274,.F.); ++#11325=ORIENTED_EDGE('',*,*,#5942,.F.); ++#11326=ORIENTED_EDGE('',*,*,#11314,.T.); ++#11327=ORIENTED_EDGE('',*,*,#11255,.T.); ++#11328=EDGE_LOOP('',(#11324,#11325,#11326,#11327)); ++#11329=FACE_OUTER_BOUND('',#11328,.F.); ++#11330=ADVANCED_FACE('',(#11329),#11323,.F.); ++#11331=CARTESIAN_POINT('',(2.13075E1,-6.892397422826E-2,7.81E0)); ++#11332=DIRECTION('',(0.E0,1.E0,0.E0)); ++#11333=DIRECTION('',(0.E0,0.E0,1.E0)); ++#11334=AXIS2_PLACEMENT_3D('',#11331,#11332,#11333); ++#11335=CYLINDRICAL_SURFACE('',#11334,8.8E-1); ++#11337=ORIENTED_EDGE('',*,*,#11336,.T.); ++#11339=ORIENTED_EDGE('',*,*,#11338,.T.); ++#11341=ORIENTED_EDGE('',*,*,#11340,.F.); ++#11342=ORIENTED_EDGE('',*,*,#5888,.T.); ++#11343=EDGE_LOOP('',(#11337,#11339,#11341,#11342)); ++#11344=FACE_OUTER_BOUND('',#11343,.F.); ++#11345=ADVANCED_FACE('',(#11344),#11335,.T.); ++#11346=CARTESIAN_POINT('',(2.21875E1,0.E0,8.69E0)); ++#11347=DIRECTION('',(0.E0,0.E0,1.E0)); ++#11348=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#11349=AXIS2_PLACEMENT_3D('',#11346,#11347,#11348); ++#11350=PLANE('',#11349); ++#11351=ORIENTED_EDGE('',*,*,#11336,.F.); ++#11352=ORIENTED_EDGE('',*,*,#5914,.T.); ++#11354=ORIENTED_EDGE('',*,*,#11353,.F.); ++#11356=ORIENTED_EDGE('',*,*,#11355,.F.); ++#11357=EDGE_LOOP('',(#11351,#11352,#11354,#11356)); ++#11358=FACE_OUTER_BOUND('',#11357,.F.); ++#11359=ADVANCED_FACE('',(#11358),#11350,.T.); ++#11360=CARTESIAN_POINT('',(2.05675E1,7.463919417831E-1,9.57E0)); ++#11361=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#11362=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#11363=AXIS2_PLACEMENT_3D('',#11360,#11361,#11362); ++#11364=CYLINDRICAL_SURFACE('',#11363,8.8E-1); ++#11366=ORIENTED_EDGE('',*,*,#11365,.F.); ++#11368=ORIENTED_EDGE('',*,*,#11367,.T.); ++#11369=ORIENTED_EDGE('',*,*,#11353,.T.); ++#11370=ORIENTED_EDGE('',*,*,#5912,.T.); ++#11371=EDGE_LOOP('',(#11366,#11368,#11369,#11370)); ++#11372=FACE_OUTER_BOUND('',#11371,.F.); ++#11373=ADVANCED_FACE('',(#11372),#11364,.F.); ++#11374=CARTESIAN_POINT('',(1.96875E1,0.E0,8.69E0)); ++#11375=DIRECTION('',(1.E0,0.E0,0.E0)); ++#11376=DIRECTION('',(0.E0,0.E0,1.E0)); ++#11377=AXIS2_PLACEMENT_3D('',#11374,#11375,#11376); ++#11378=PLANE('',#11377); ++#11379=ORIENTED_EDGE('',*,*,#11365,.T.); ++#11380=ORIENTED_EDGE('',*,*,#5910,.T.); ++#11382=ORIENTED_EDGE('',*,*,#11381,.F.); ++#11384=ORIENTED_EDGE('',*,*,#11383,.F.); ++#11385=EDGE_LOOP('',(#11379,#11380,#11382,#11384)); ++#11386=FACE_OUTER_BOUND('',#11385,.F.); ++#11387=ADVANCED_FACE('',(#11386),#11378,.T.); ++#11388=CARTESIAN_POINT('',(2.05675E1,7.463919417831E-1,1.037E1)); ++#11389=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#11390=DIRECTION('',(0.E0,0.E0,1.E0)); ++#11391=AXIS2_PLACEMENT_3D('',#11388,#11389,#11390); ++#11392=CYLINDRICAL_SURFACE('',#11391,8.8E-1); ++#11394=ORIENTED_EDGE('',*,*,#11393,.F.); ++#11396=ORIENTED_EDGE('',*,*,#11395,.T.); ++#11397=ORIENTED_EDGE('',*,*,#11381,.T.); ++#11398=ORIENTED_EDGE('',*,*,#5908,.T.); ++#11399=EDGE_LOOP('',(#11394,#11396,#11397,#11398)); ++#11400=FACE_OUTER_BOUND('',#11399,.F.); ++#11401=ADVANCED_FACE('',(#11400),#11392,.F.); ++#11402=CARTESIAN_POINT('',(1.96875E1,0.E0,1.125E1)); ++#11403=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#11404=DIRECTION('',(1.E0,0.E0,0.E0)); ++#11405=AXIS2_PLACEMENT_3D('',#11402,#11403,#11404); ++#11406=PLANE('',#11405); ++#11407=ORIENTED_EDGE('',*,*,#11393,.T.); ++#11408=ORIENTED_EDGE('',*,*,#5906,.T.); ++#11410=ORIENTED_EDGE('',*,*,#11409,.F.); ++#11412=ORIENTED_EDGE('',*,*,#11411,.F.); ++#11413=EDGE_LOOP('',(#11407,#11408,#11410,#11412)); ++#11414=FACE_OUTER_BOUND('',#11413,.F.); ++#11415=ADVANCED_FACE('',(#11414),#11406,.T.); ++#11416=CARTESIAN_POINT('',(2.44325E1,7.463919417831E-1,1.037E1)); ++#11417=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#11418=DIRECTION('',(1.E0,0.E0,0.E0)); ++#11419=AXIS2_PLACEMENT_3D('',#11416,#11417,#11418); ++#11420=CYLINDRICAL_SURFACE('',#11419,8.8E-1); ++#11422=ORIENTED_EDGE('',*,*,#11421,.F.); ++#11424=ORIENTED_EDGE('',*,*,#11423,.T.); ++#11425=ORIENTED_EDGE('',*,*,#11409,.T.); ++#11426=ORIENTED_EDGE('',*,*,#5904,.T.); ++#11427=EDGE_LOOP('',(#11422,#11424,#11425,#11426)); ++#11428=FACE_OUTER_BOUND('',#11427,.F.); ++#11429=ADVANCED_FACE('',(#11428),#11420,.F.); ++#11430=CARTESIAN_POINT('',(2.53125E1,0.E0,1.125E1)); ++#11431=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#11432=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#11433=AXIS2_PLACEMENT_3D('',#11430,#11431,#11432); ++#11434=PLANE('',#11433); ++#11436=ORIENTED_EDGE('',*,*,#11435,.F.); ++#11438=ORIENTED_EDGE('',*,*,#11437,.F.); ++#11439=ORIENTED_EDGE('',*,*,#11421,.T.); ++#11440=ORIENTED_EDGE('',*,*,#5902,.T.); ++#11441=EDGE_LOOP('',(#11436,#11438,#11439,#11440)); ++#11442=FACE_OUTER_BOUND('',#11441,.F.); ++#11443=ADVANCED_FACE('',(#11442),#11434,.T.); ++#11444=CARTESIAN_POINT('',(2.44325E1,7.463919417831E-1,9.57E0)); ++#11445=DIRECTION('',(0.E0,-1.E0,0.E0)); ++#11446=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#11447=AXIS2_PLACEMENT_3D('',#11444,#11445,#11446); ++#11448=CYLINDRICAL_SURFACE('',#11447,8.8E-1); ++#11450=ORIENTED_EDGE('',*,*,#11449,.F.); ++#11452=ORIENTED_EDGE('',*,*,#11451,.T.); ++#11453=ORIENTED_EDGE('',*,*,#11435,.T.); ++#11454=ORIENTED_EDGE('',*,*,#5900,.T.); ++#11455=EDGE_LOOP('',(#11450,#11452,#11453,#11454)); ++#11456=FACE_OUTER_BOUND('',#11455,.F.); ++#11457=ADVANCED_FACE('',(#11456),#11448,.F.); ++#11458=CARTESIAN_POINT('',(2.53125E1,0.E0,8.69E0)); ++#11459=DIRECTION('',(0.E0,0.E0,1.E0)); ++#11460=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#11461=AXIS2_PLACEMENT_3D('',#11458,#11459,#11460); ++#11462=PLANE('',#11461); ++#11464=ORIENTED_EDGE('',*,*,#11463,.T.); ++#11466=ORIENTED_EDGE('',*,*,#11465,.F.); ++#11467=ORIENTED_EDGE('',*,*,#11449,.T.); ++#11468=ORIENTED_EDGE('',*,*,#5898,.T.); ++#11469=EDGE_LOOP('',(#11464,#11466,#11467,#11468)); ++#11470=FACE_OUTER_BOUND('',#11469,.F.); ++#11471=ADVANCED_FACE('',(#11470),#11462,.T.); ++#11472=CARTESIAN_POINT('',(2.419E1,-6.892397422826E-2,7.81E0)); ++#11473=DIRECTION('',(0.E0,1.E0,0.E0)); ++#11474=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#11475=AXIS2_PLACEMENT_3D('',#11472,#11473,#11474); ++#11476=CYLINDRICAL_SURFACE('',#11475,8.8E-1); ++#11478=ORIENTED_EDGE('',*,*,#11477,.T.); ++#11480=ORIENTED_EDGE('',*,*,#11479,.T.); ++#11481=ORIENTED_EDGE('',*,*,#11463,.F.); ++#11482=ORIENTED_EDGE('',*,*,#5896,.T.); ++#11483=EDGE_LOOP('',(#11478,#11480,#11481,#11482)); ++#11484=FACE_OUTER_BOUND('',#11483,.F.); ++#11485=ADVANCED_FACE('',(#11484),#11476,.T.); ++#11486=CARTESIAN_POINT('',(2.331E1,0.E0,8.69E0)); ++#11487=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#11488=DIRECTION('',(0.E0,0.E0,-1.E0)); ++#11489=AXIS2_PLACEMENT_3D('',#11486,#11487,#11488); ++#11490=PLANE('',#11489); ++#11491=ORIENTED_EDGE('',*,*,#11477,.F.); ++#11492=ORIENTED_EDGE('',*,*,#5894,.T.); ++#11494=ORIENTED_EDGE('',*,*,#11493,.T.); ++#11496=ORIENTED_EDGE('',*,*,#11495,.F.); ++#11497=EDGE_LOOP('',(#11491,#11492,#11494,#11496)); ++#11498=FACE_OUTER_BOUND('',#11497,.F.); ++#11499=ADVANCED_FACE('',(#11498),#11490,.T.); ++#11500=CARTESIAN_POINT('',(2.274875E1,0.E0,7.5E0)); ++#11501=DIRECTION('',(0.E0,1.E0,0.E0)); ++#11502=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#11503=AXIS2_PLACEMENT_3D('',#11500,#11501,#11502); ++#11504=CYLINDRICAL_SURFACE('',#11503,5.6125E-1); ++#11505=ORIENTED_EDGE('',*,*,#5892,.T.); ++#11507=ORIENTED_EDGE('',*,*,#11506,.T.); ++#11509=ORIENTED_EDGE('',*,*,#11508,.F.); ++#11510=ORIENTED_EDGE('',*,*,#11493,.F.); ++#11511=EDGE_LOOP('',(#11505,#11507,#11509,#11510)); ++#11512=FACE_OUTER_BOUND('',#11511,.F.); ++#11513=ADVANCED_FACE('',(#11512),#11504,.F.); ++#11514=CARTESIAN_POINT('',(2.21875E1,0.E0,7.5E0)); ++#11515=DIRECTION('',(1.E0,0.E0,0.E0)); ++#11516=DIRECTION('',(0.E0,0.E0,1.E0)); ++#11517=AXIS2_PLACEMENT_3D('',#11514,#11515,#11516); ++#11518=PLANE('',#11517); ++#11519=ORIENTED_EDGE('',*,*,#11340,.T.); ++#11521=ORIENTED_EDGE('',*,*,#11520,.F.); ++#11522=ORIENTED_EDGE('',*,*,#11506,.F.); ++#11523=ORIENTED_EDGE('',*,*,#5890,.T.); ++#11524=EDGE_LOOP('',(#11519,#11521,#11522,#11523)); ++#11525=FACE_OUTER_BOUND('',#11524,.F.); ++#11526=ADVANCED_FACE('',(#11525),#11518,.T.); ++#11527=CARTESIAN_POINT('',(2.4E1,6.875E-1,0.E0)); ++#11528=DIRECTION('',(0.E0,1.E0,0.E0)); ++#11529=DIRECTION('',(-1.E0,0.E0,0.E0)); ++#11530=AXIS2_PLACEMENT_3D('',#11527,#11528,#11529); ++#11531=PLANE('',#11530); ++#11532=ORIENTED_EDGE('',*,*,#11465,.T.); ++#11533=ORIENTED_EDGE('',*,*,#11479,.F.); ++#11534=ORIENTED_EDGE('',*,*,#11495,.T.); ++#11535=ORIENTED_EDGE('',*,*,#11508,.T.); ++#11536=ORIENTED_EDGE('',*,*,#11520,.T.); ++#11537=ORIENTED_EDGE('',*,*,#11338,.F.); ++#11538=ORIENTED_EDGE('',*,*,#11355,.T.); ++#11539=ORIENTED_EDGE('',*,*,#11367,.F.); ++#11540=ORIENTED_EDGE('',*,*,#11383,.T.); ++#11541=ORIENTED_EDGE('',*,*,#11395,.F.); ++#11542=ORIENTED_EDGE('',*,*,#11411,.T.); ++#11543=ORIENTED_EDGE('',*,*,#11423,.F.); ++#11544=ORIENTED_EDGE('',*,*,#11437,.T.); ++#11545=ORIENTED_EDGE('',*,*,#11451,.F.); ++#11546=EDGE_LOOP('',(#11532,#11533,#11534,#11535,#11536,#11537,#11538,#11539, ++#11540,#11541,#11542,#11543,#11544,#11545)); ++#11547=FACE_OUTER_BOUND('',#11546,.F.); ++#11548=ADVANCED_FACE('',(#11547),#11531,.F.); ++#11549=CLOSED_SHELL('',(#5954,#6079,#6094,#6107,#6117,#6132,#6145,#6201,#6214, ++#6278,#6488,#6503,#6516,#6529,#6540,#6555,#6568,#6581,#6592,#6605,#6618,#6631, ++#6644,#6656,#6669,#6683,#6696,#6709,#6723,#6736,#6749,#6763,#6776,#6789,#6802, ++#6815,#6828,#6842,#6855,#6868,#6880,#6893,#6906,#6918,#6931,#6945,#6958,#6971, ++#6984,#6998,#7011,#7024,#7036,#7048,#7061,#7074,#7086,#7099,#7114,#7127,#7152, ++#7166,#7178,#7191,#7204,#7217,#7230,#7244,#7256,#7311,#7325,#7337,#7349,#7368, ++#7379,#7394,#7407,#7423,#7437,#7449,#7465,#7477,#7490,#7514,#7529,#7542,#7552, ++#7567,#7580,#7590,#7605,#7619,#7649,#7662,#7675,#7688,#7701,#7714,#7727,#7740, ++#7753,#7766,#7778,#7790,#7805,#7818,#7828,#7843,#7856,#7866,#7881,#7894,#7907, ++#7918,#7933,#7946,#7959,#7970,#7985,#7998,#8014,#8028,#8040,#8055,#8068,#8084, ++#8098,#8110,#8125,#8138,#8154,#8168,#8180,#8195,#8208,#8224,#8238,#8250,#8265, ++#8278,#8294,#8308,#8320,#8335,#8348,#8364,#8378,#8390,#8405,#8418,#8434,#8448, ++#8460,#8475,#8488,#8504,#8518,#8530,#8545,#8558,#8574,#8588,#8600,#8615,#8628, ++#8644,#8658,#8670,#8685,#8698,#8714,#8728,#8740,#8755,#8768,#8784,#8798,#8810, ++#8825,#8838,#8854,#8868,#8880,#8895,#8908,#8924,#8938,#8950,#8965,#8978,#8994, ++#9008,#9020,#9035,#9048,#9064,#9078,#9090,#9105,#9118,#9134,#9148,#9160,#9175, ++#9188,#9204,#9218,#9230,#9242,#9260,#9275,#9288,#9304,#9318,#9330,#9345,#9359, ++#9373,#9387,#9401,#9415,#9429,#9443,#9457,#9471,#9485,#9498,#9518,#9533,#9546, ++#9556,#9571,#9584,#9594,#9609,#9622,#9632,#9647,#9660,#9670,#9685,#9698,#9708, ++#9723,#9737,#9751,#9765,#9779,#9793,#9807,#9820,#9836,#9851,#9865,#9887,#9901, ++#9913,#9926,#9939,#9952,#9964,#9979,#9993,#10007,#10020,#10032,#10050,#10064, ++#10077,#10090,#10103,#10115,#10130,#10144,#10178,#10192,#10205,#10218,#10230, ++#10243,#10256,#10269,#10282,#10295,#10308,#10321,#10333,#10348,#10362,#10376, ++#10389,#10401,#10416,#10430,#10444,#10457,#10469,#10484,#10498,#10512,#10525, ++#10537,#10552,#10566,#10580,#10593,#10605,#10620,#10634,#10648,#10661,#10673, ++#10691,#10705,#10718,#10731,#10744,#10756,#10771,#10785,#10799,#10812,#10824, ++#10842,#10856,#10869,#10882,#10895,#10907,#10922,#10936,#10950,#10963,#10975, ++#10990,#11004,#11018,#11031,#11043,#11058,#11072,#11086,#11099,#11111,#11126, ++#11140,#11154,#11167,#11179,#11194,#11208,#11222,#11235,#11247,#11265,#11279, ++#11292,#11305,#11318,#11330,#11345,#11359,#11373,#11387,#11401,#11415,#11429, ++#11443,#11457,#11471,#11485,#11499,#11513,#11526,#11548)); ++#11550=MANIFOLD_SOLID_BREP('',#11549); ++#11551=DIMENSIONAL_EXPONENTS(1.E0,0.E0,0.E0,0.E0,0.E0,0.E0,0.E0); ++#11552=(LENGTH_UNIT()NAMED_UNIT(*)SI_UNIT(.MILLI.,.METRE.)); ++#11553=LENGTH_MEASURE_WITH_UNIT(LENGTH_MEASURE(2.54E1),#11552); ++#11554=(CONVERSION_BASED_UNIT('INCH',#11553)LENGTH_UNIT()NAMED_UNIT(#11551)); ++#11555=DIMENSIONAL_EXPONENTS(0.E0,0.E0,0.E0,0.E0,0.E0,0.E0,0.E0); ++#11556=(NAMED_UNIT(*)PLANE_ANGLE_UNIT()SI_UNIT($,.RADIAN.)); ++#11557=PLANE_ANGLE_MEASURE_WITH_UNIT(PLANE_ANGLE_MEASURE(1.745329251994E-2), ++#11556); ++#11558=(CONVERSION_BASED_UNIT('DEGREE',#11557)NAMED_UNIT(#11555)PLANE_ANGLE_UNIT()); ++#11559=(NAMED_UNIT(*)SI_UNIT($,.STERADIAN.)SOLID_ANGLE_UNIT()); ++#11560=UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(4.404650704771E-3),#11554, ++'closure', ++'Maximum model space distance between geometric entities at asserted connectivities'); ++#11561=(GEOMETRIC_REPRESENTATION_CONTEXT(3)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT(( ++#11560))GLOBAL_UNIT_ASSIGNED_CONTEXT((#11554,#11558,#11559))REPRESENTATION_CONTEXT('ID1','3')); ++#11563=APPLICATION_CONTEXT( ++'CONFIGURATION CONTROLLED 3D DESIGNS OF MECHANICAL PARTS AND ASSEMBLIES'); ++#11564=APPLICATION_PROTOCOL_DEFINITION('international standard', ++'config_control_design',1994,#11563); ++#11565=DESIGN_CONTEXT('',#11563,'design'); ++#11566=MECHANICAL_CONTEXT('',#11563,'mechanical'); ++#11567=PRODUCT('PROESOURCE','PROESOURCE','NOT SPECIFIED',(#11566)); ++#11568=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('1','LAST_VERSION', ++#11567,.MADE.); ++#11572=PRODUCT_CATEGORY('part',''); ++#11573=PRODUCT_RELATED_PRODUCT_CATEGORY('detail','',(#11567)); ++#11574=PRODUCT_CATEGORY_RELATIONSHIP('','',#11572,#11573); ++#11575=SECURITY_CLASSIFICATION_LEVEL('unclassified'); ++#11576=SECURITY_CLASSIFICATION('','',#11575); ++#11577=CC_DESIGN_SECURITY_CLASSIFICATION(#11576,(#11568)); ++#11578=APPROVAL_STATUS('approved'); ++#11579=APPROVAL(#11578,''); ++#11580=CC_DESIGN_APPROVAL(#11579,(#11576,#11568,#11569)); ++#11581=CALENDAR_DATE(102,4,11); ++#11582=COORDINATED_UNIVERSAL_TIME_OFFSET(5,0,.BEHIND.); ++#11583=LOCAL_TIME(14,0,4.8E1,#11582); ++#11584=DATE_AND_TIME(#11581,#11583); ++#11585=APPROVAL_DATE_TIME(#11584,#11579); ++#11586=DATE_TIME_ROLE('creation_date'); ++#11587=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#11584,#11586,(#11569)); ++#11588=DATE_TIME_ROLE('classification_date'); ++#11589=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#11584,#11588,(#11576)); ++#11590=PERSON('UNSPECIFIED','UNSPECIFIED',$,$,$,$); ++#11591=ORGANIZATION('UNSPECIFIED','UNSPECIFIED','UNSPECIFIED'); ++#11592=PERSON_AND_ORGANIZATION(#11590,#11591); ++#11593=APPROVAL_ROLE('approver'); ++#11594=APPROVAL_PERSON_ORGANIZATION(#11592,#11579,#11593); ++#11595=PERSON_AND_ORGANIZATION_ROLE('creator'); ++#11596=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#11592,#11595,(#11568, ++#11569)); ++#11597=PERSON_AND_ORGANIZATION_ROLE('design_supplier'); ++#11598=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#11592,#11597,(#11568)); ++#11599=PERSON_AND_ORGANIZATION_ROLE('classification_officer'); ++#11600=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#11592,#11599,(#11576)); ++#11601=PERSON_AND_ORGANIZATION_ROLE('design_owner'); ++#11602=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#11592,#11601,(#11567)); ++#13=CIRCLE('',#12,1.925E-1); ++#18=CIRCLE('',#17,1.925E-1); ++#23=CIRCLE('',#22,1.925E-1); ++#28=CIRCLE('',#27,1.925E-1); ++#33=CIRCLE('',#32,1.925E-1); ++#38=CIRCLE('',#37,1.925E-1); ++#43=CIRCLE('',#42,1.925E-1); ++#48=CIRCLE('',#47,1.925E-1); ++#53=CIRCLE('',#52,1.925E-1); ++#58=CIRCLE('',#57,1.925E-1); ++#63=CIRCLE('',#62,1.925E-1); ++#68=CIRCLE('',#67,1.925E-1); ++#73=CIRCLE('',#72,1.925E-1); ++#78=CIRCLE('',#77,1.925E-1); ++#83=CIRCLE('',#82,1.925E-1); ++#88=CIRCLE('',#87,1.925E-1); ++#93=CIRCLE('',#92,1.925E-1); ++#98=CIRCLE('',#97,1.925E-1); ++#103=CIRCLE('',#102,1.925E-1); ++#108=CIRCLE('',#107,1.925E-1); ++#113=CIRCLE('',#112,1.925E-1); ++#118=CIRCLE('',#117,1.925E-1); ++#123=CIRCLE('',#122,1.925E-1); ++#128=CIRCLE('',#127,1.925E-1); ++#181=CIRCLE('',#180,1.925E-1); ++#186=CIRCLE('',#185,1.925E-1); ++#191=CIRCLE('',#190,1.925E-1); ++#196=CIRCLE('',#195,1.925E-1); ++#249=CIRCLE('',#248,1.925E-1); ++#254=CIRCLE('',#253,1.925E-1); ++#259=CIRCLE('',#258,1.925E-1); ++#264=CIRCLE('',#263,1.925E-1); ++#269=CIRCLE('',#268,1.925E-1); ++#274=CIRCLE('',#273,1.925E-1); ++#279=CIRCLE('',#278,1.925E-1); ++#284=CIRCLE('',#283,1.925E-1); ++#289=CIRCLE('',#288,1.925E-1); ++#294=CIRCLE('',#293,1.925E-1); ++#299=CIRCLE('',#298,1.925E-1); ++#304=CIRCLE('',#303,1.925E-1); ++#313=CIRCLE('',#312,5.625E-1); ++#322=CIRCLE('',#321,5.625E-1); ++#327=CIRCLE('',#326,9.225E-1); ++#336=CIRCLE('',#335,8.669989027347E-1); ++#341=CIRCLE('',#340,5.6875E0); ++#350=CIRCLE('',#349,5.6125E-1); ++#383=CIRCLE('',#382,5.625E-1); ++#392=CIRCLE('',#391,5.625E-1); ++#401=CIRCLE('',#400,5.625E-1); ++#410=CIRCLE('',#409,5.625E-1); ++#419=CIRCLE('',#418,5.E-1); ++#428=CIRCLE('',#427,5.E-1); ++#437=CIRCLE('',#436,4.375E-1); ++#446=CIRCLE('',#445,4.375E-1); ++#455=CIRCLE('',#454,5.625E-1); ++#464=CIRCLE('',#463,5.625E-1); ++#473=CIRCLE('',#472,5.625E-1); ++#482=CIRCLE('',#481,5.625E-1); ++#491=CIRCLE('',#490,5.625E-1); ++#500=CIRCLE('',#499,5.625E-1); ++#509=CIRCLE('',#508,5.625E-1); ++#518=CIRCLE('',#517,5.625E-1); ++#527=CIRCLE('',#526,5.E-1); ++#536=CIRCLE('',#535,5.E-1); ++#545=CIRCLE('',#544,4.375E-1); ++#554=CIRCLE('',#553,4.375E-1); ++#563=CIRCLE('',#562,5.625E-1); ++#572=CIRCLE('',#571,5.625E-1); ++#581=CIRCLE('',#580,5.6125E-1); ++#614=CIRCLE('',#613,9.225E-1); ++#619=CIRCLE('',#618,5.6875E0); ++#624=CIRCLE('',#623,8.669989027347E-1); ++#633=CIRCLE('',#632,9.225E-1); ++#638=CIRCLE('',#637,5.6875E0); ++#643=CIRCLE('',#642,8.669989027347E-1); ++#648=CIRCLE('',#647,9.225E-1); ++#657=CIRCLE('',#656,8.669989027347E-1); ++#662=CIRCLE('',#661,5.6875E0); ++#667=CIRCLE('',#666,9.5E-2); ++#672=CIRCLE('',#671,9.5E-2); ++#677=CIRCLE('',#676,1.625E-1); ++#682=CIRCLE('',#681,1.625E-1); ++#687=CIRCLE('',#686,9.5E-2); ++#692=CIRCLE('',#691,9.5E-2); ++#697=CIRCLE('',#696,9.5E-2); ++#702=CIRCLE('',#701,9.5E-2); ++#707=CIRCLE('',#706,9.5E-2); ++#712=CIRCLE('',#711,9.5E-2); ++#717=CIRCLE('',#716,9.5E-2); ++#722=CIRCLE('',#721,9.5E-2); ++#727=CIRCLE('',#726,1.625E-1); ++#732=CIRCLE('',#731,1.625E-1); ++#737=CIRCLE('',#736,9.5E-2); ++#742=CIRCLE('',#741,9.5E-2); ++#803=CIRCLE('',#802,9.5E-2); ++#808=CIRCLE('',#807,9.5E-2); ++#821=CIRCLE('',#820,1.625E-1); ++#826=CIRCLE('',#825,1.625E-1); ++#887=CIRCLE('',#886,1.E-1); ++#892=CIRCLE('',#891,1.E-1); ++#897=CIRCLE('',#896,1.E-1); ++#902=CIRCLE('',#901,1.E-1); ++#931=CIRCLE('',#930,1.E-1); ++#936=CIRCLE('',#935,1.E-1); ++#941=CIRCLE('',#940,1.E-1); ++#946=CIRCLE('',#945,1.E-1); ++#951=CIRCLE('',#950,2.575E-1); ++#956=CIRCLE('',#955,2.575E-1); ++#961=CIRCLE('',#960,2.575E-1); ++#966=CIRCLE('',#965,2.575E-1); ++#971=CIRCLE('',#970,2.575E-1); ++#976=CIRCLE('',#975,2.575E-1); ++#981=CIRCLE('',#980,2.575E-1); ++#986=CIRCLE('',#985,2.575E-1); ++#991=CIRCLE('',#990,2.575E-1); ++#996=CIRCLE('',#995,2.575E-1); ++#1001=CIRCLE('',#1000,2.575E-1); ++#1006=CIRCLE('',#1005,2.575E-1); ++#1011=CIRCLE('',#1010,2.56E-1); ++#1016=CIRCLE('',#1015,2.56E-1); ++#1021=CIRCLE('',#1020,2.56E-1); ++#1026=CIRCLE('',#1025,2.56E-1); ++#1031=CIRCLE('',#1030,2.56E-1); ++#1036=CIRCLE('',#1035,2.56E-1); ++#1041=CIRCLE('',#1040,2.56E-1); ++#1046=CIRCLE('',#1045,2.56E-1); ++#1051=CIRCLE('',#1050,2.56E-1); ++#1056=CIRCLE('',#1055,2.56E-1); ++#1061=CIRCLE('',#1060,2.56E-1); ++#1066=CIRCLE('',#1065,2.56E-1); ++#1115=CIRCLE('',#1114,2.575E-1); ++#1120=CIRCLE('',#1119,2.575E-1); ++#1125=CIRCLE('',#1124,2.575E-1); ++#1130=CIRCLE('',#1129,2.575E-1); ++#1135=CIRCLE('',#1134,2.575E-1); ++#1140=CIRCLE('',#1139,2.575E-1); ++#1145=CIRCLE('',#1144,2.575E-1); ++#1150=CIRCLE('',#1149,2.575E-1); ++#1155=CIRCLE('',#1154,2.575E-1); ++#1160=CIRCLE('',#1159,2.575E-1); ++#1165=CIRCLE('',#1164,2.575E-1); ++#1170=CIRCLE('',#1169,2.575E-1); ++#1259=CIRCLE('',#1258,1.E-1); ++#1268=CIRCLE('',#1267,1.E-1); ++#1285=CIRCLE('',#1284,1.E-1); ++#1294=CIRCLE('',#1293,1.E-1); ++#1303=CIRCLE('',#1302,1.E0); ++#1312=CIRCLE('',#1311,1.E0); ++#1317=CIRCLE('',#1316,5.E0); ++#1326=CIRCLE('',#1325,5.E0); ++#1331=CIRCLE('',#1330,5.E0); ++#1340=CIRCLE('',#1339,5.E0); ++#1349=CIRCLE('',#1348,1.E0); ++#1358=CIRCLE('',#1357,1.E0); ++#1367=CIRCLE('',#1366,1.E0); ++#1376=CIRCLE('',#1375,1.E0); ++#1385=CIRCLE('',#1384,1.E0); ++#1394=CIRCLE('',#1393,1.E0); ++#1403=CIRCLE('',#1402,1.E0); ++#1412=CIRCLE('',#1411,1.E0); ++#1421=CIRCLE('',#1420,3.E0); ++#1430=CIRCLE('',#1429,3.E0); ++#1439=CIRCLE('',#1438,3.E0); ++#1448=CIRCLE('',#1447,3.E0); ++#1457=CIRCLE('',#1456,5.E0); ++#1466=CIRCLE('',#1465,5.E0); ++#1475=CIRCLE('',#1474,5.E0); ++#1484=CIRCLE('',#1483,5.E0); ++#1493=CIRCLE('',#1492,3.E0); ++#1502=CIRCLE('',#1501,3.E0); ++#1511=CIRCLE('',#1510,3.E0); ++#1520=CIRCLE('',#1519,3.E0); ++#1529=CIRCLE('',#1528,1.E0); ++#1538=CIRCLE('',#1537,1.E0); ++#1547=CIRCLE('',#1546,1.E0); ++#1556=CIRCLE('',#1555,1.E0); ++#1597=CIRCLE('',#1596,1.E0); ++#1606=CIRCLE('',#1605,1.E0); ++#1675=CIRCLE('',#1674,9.5E-2); ++#1680=CIRCLE('',#1679,9.5E-2); ++#1685=CIRCLE('',#1684,6.25E-2); ++#1690=CIRCLE('',#1689,6.25E-2); ++#1707=CIRCLE('',#1706,1.E0); ++#1716=CIRCLE('',#1715,1.E0); ++#1729=CIRCLE('',#1728,1.E0); ++#1738=CIRCLE('',#1737,1.E0); ++#1767=CIRCLE('',#1766,1.625E-1); ++#1772=CIRCLE('',#1771,1.625E-1); ++#1846=B_SPLINE_CURVE_WITH_KNOTS('',3,(#1837,#1838,#1839,#1840,#1841,#1842,#1843, ++#1844,#1845),.UNSPECIFIED.,.F.,.F.,(4,1,1,1,1,1,4),(0.E0,2.5E-1,3.75E-1,5.E-1, ++6.25E-1,7.5E-1,1.E0),.UNSPECIFIED.); ++#1856=B_SPLINE_CURVE_WITH_KNOTS('',3,(#1847,#1848,#1849,#1850,#1851,#1852,#1853, ++#1854,#1855),.UNSPECIFIED.,.F.,.F.,(4,1,1,1,1,1,4),(0.E0,2.5E-1,3.75E-1,5.E-1, ++6.25E-1,7.5E-1,1.E0),.UNSPECIFIED.); ++#1873=CIRCLE('',#1872,2.575E-1); ++#1878=CIRCLE('',#1877,2.575E-1); ++#1883=CIRCLE('',#1882,1.925E-1); ++#1888=CIRCLE('',#1887,1.925E-1); ++#1933=CIRCLE('',#1932,9.5E-2); ++#1938=CIRCLE('',#1937,9.5E-2); ++#1943=CIRCLE('',#1942,6.25E-2); ++#1948=CIRCLE('',#1947,6.25E-2); ++#1961=CIRCLE('',#1960,9.5E-2); ++#1966=CIRCLE('',#1965,9.5E-2); ++#1979=CIRCLE('',#1978,6.25E-2); ++#1984=CIRCLE('',#1983,6.25E-2); ++#1993=CIRCLE('',#1992,3.5E-1); ++#2002=CIRCLE('',#2001,3.5E-1); ++#2035=CIRCLE('',#2034,3.5E-1); ++#2044=CIRCLE('',#2043,3.5E-1); ++#2053=CIRCLE('',#2052,3.5E-1); ++#2062=CIRCLE('',#2061,3.5E-1); ++#2071=CIRCLE('',#2070,3.5E-1); ++#2080=CIRCLE('',#2079,3.5E-1); ++#2089=CIRCLE('',#2088,3.5E-1); ++#2098=CIRCLE('',#2097,3.5E-1); ++#2107=CIRCLE('',#2106,3.5E-1); ++#2116=CIRCLE('',#2115,3.5E-1); ++#2145=CIRCLE('',#2144,9.5E-2); ++#2150=CIRCLE('',#2149,9.5E-2); ++#2163=CIRCLE('',#2162,6.25E-2); ++#2168=CIRCLE('',#2167,6.25E-2); ++#2189=CIRCLE('',#2188,1.E-1); ++#2194=CIRCLE('',#2193,1.E-1); ++#2215=CIRCLE('',#2214,1.E-1); ++#2220=CIRCLE('',#2219,1.E-1); ++#2233=CIRCLE('',#2232,2.575E-1); ++#2238=CIRCLE('',#2237,2.575E-1); ++#2243=CIRCLE('',#2242,1.925E-1); ++#2248=CIRCLE('',#2247,1.925E-1); ++#2269=CIRCLE('',#2268,2.575E-1); ++#2274=CIRCLE('',#2273,2.575E-1); ++#2279=CIRCLE('',#2278,1.925E-1); ++#2284=CIRCLE('',#2283,1.925E-1); ++#2305=CIRCLE('',#2304,2.575E-1); ++#2310=CIRCLE('',#2309,2.575E-1); ++#2315=CIRCLE('',#2314,1.925E-1); ++#2320=CIRCLE('',#2319,1.925E-1); ++#2341=CIRCLE('',#2340,2.575E-1); ++#2346=CIRCLE('',#2345,2.575E-1); ++#2351=CIRCLE('',#2350,1.925E-1); ++#2356=CIRCLE('',#2355,1.925E-1); ++#2377=CIRCLE('',#2376,2.575E-1); ++#2382=CIRCLE('',#2381,2.575E-1); ++#2387=CIRCLE('',#2386,1.925E-1); ++#2392=CIRCLE('',#2391,1.925E-1); ++#2413=CIRCLE('',#2412,2.575E-1); ++#2418=CIRCLE('',#2417,2.575E-1); ++#2423=CIRCLE('',#2422,1.925E-1); ++#2428=CIRCLE('',#2427,1.925E-1); ++#2449=CIRCLE('',#2448,2.56E-1); ++#2454=CIRCLE('',#2453,2.56E-1); ++#2459=CIRCLE('',#2458,1.925E-1); ++#2464=CIRCLE('',#2463,1.925E-1); ++#2485=CIRCLE('',#2484,2.56E-1); ++#2490=CIRCLE('',#2489,2.56E-1); ++#2495=CIRCLE('',#2494,1.925E-1); ++#2500=CIRCLE('',#2499,1.925E-1); ++#2521=CIRCLE('',#2520,2.56E-1); ++#2526=CIRCLE('',#2525,2.56E-1); ++#2531=CIRCLE('',#2530,1.925E-1); ++#2536=CIRCLE('',#2535,1.925E-1); ++#2557=CIRCLE('',#2556,2.56E-1); ++#2562=CIRCLE('',#2561,2.56E-1); ++#2567=CIRCLE('',#2566,1.925E-1); ++#2572=CIRCLE('',#2571,1.925E-1); ++#2593=CIRCLE('',#2592,2.56E-1); ++#2598=CIRCLE('',#2597,2.56E-1); ++#2603=CIRCLE('',#2602,1.925E-1); ++#2608=CIRCLE('',#2607,1.925E-1); ++#2629=CIRCLE('',#2628,2.56E-1); ++#2634=CIRCLE('',#2633,2.56E-1); ++#2639=CIRCLE('',#2638,1.925E-1); ++#2644=CIRCLE('',#2643,1.925E-1); ++#2665=CIRCLE('',#2664,2.575E-1); ++#2670=CIRCLE('',#2669,2.575E-1); ++#2675=CIRCLE('',#2674,1.925E-1); ++#2680=CIRCLE('',#2679,1.925E-1); ++#2701=CIRCLE('',#2700,2.575E-1); ++#2706=CIRCLE('',#2705,2.575E-1); ++#2711=CIRCLE('',#2710,1.925E-1); ++#2716=CIRCLE('',#2715,1.925E-1); ++#2737=CIRCLE('',#2736,2.575E-1); ++#2742=CIRCLE('',#2741,2.575E-1); ++#2747=CIRCLE('',#2746,1.925E-1); ++#2752=CIRCLE('',#2751,1.925E-1); ++#2773=CIRCLE('',#2772,2.575E-1); ++#2778=CIRCLE('',#2777,2.575E-1); ++#2783=CIRCLE('',#2782,1.925E-1); ++#2788=CIRCLE('',#2787,1.925E-1); ++#2809=CIRCLE('',#2808,2.575E-1); ++#2814=CIRCLE('',#2813,2.575E-1); ++#2819=CIRCLE('',#2818,1.925E-1); ++#2824=CIRCLE('',#2823,1.925E-1); ++#2845=CIRCLE('',#2844,2.575E-1); ++#2850=CIRCLE('',#2849,2.575E-1); ++#2855=CIRCLE('',#2854,1.925E-1); ++#2860=CIRCLE('',#2859,1.925E-1); ++#2882=B_SPLINE_CURVE_WITH_KNOTS('',3,(#2873,#2874,#2875,#2876,#2877,#2878,#2879, ++#2880,#2881),.UNSPECIFIED.,.F.,.F.,(4,1,1,1,1,1,4),(0.E0,2.5E-1,3.75E-1,5.E-1, ++6.25E-1,7.5E-1,1.E0),.UNSPECIFIED.); ++#2892=B_SPLINE_CURVE_WITH_KNOTS('',3,(#2883,#2884,#2885,#2886,#2887,#2888,#2889, ++#2890,#2891),.UNSPECIFIED.,.F.,.F.,(4,1,1,1,1,1,4),(0.E0,2.5E-1,3.75E-1,5.E-1, ++6.25E-1,7.5E-1,1.E0),.UNSPECIFIED.); ++#2905=CIRCLE('',#2904,2.575E-1); ++#2910=CIRCLE('',#2909,2.575E-1); ++#2915=CIRCLE('',#2914,1.925E-1); ++#2920=CIRCLE('',#2919,1.925E-1); ++#2937=CIRCLE('',#2936,3.5E-1); ++#2946=CIRCLE('',#2945,3.5E-1); ++#2955=CIRCLE('',#2954,3.5E-1); ++#2964=CIRCLE('',#2963,3.5E-1); ++#2973=CIRCLE('',#2972,3.5E-1); ++#2982=CIRCLE('',#2981,3.5E-1); ++#2991=CIRCLE('',#2990,3.5E-1); ++#3000=CIRCLE('',#2999,3.5E-1); ++#3009=CIRCLE('',#3008,3.5E-1); ++#3018=CIRCLE('',#3017,3.5E-1); ++#3027=CIRCLE('',#3026,3.5E-1); ++#3036=CIRCLE('',#3035,3.5E-1); ++#3073=CIRCLE('',#3072,9.5E-2); ++#3078=CIRCLE('',#3077,9.5E-2); ++#3091=CIRCLE('',#3090,9.5E-2); ++#3096=CIRCLE('',#3095,9.5E-2); ++#3109=CIRCLE('',#3108,9.5E-2); ++#3114=CIRCLE('',#3113,9.5E-2); ++#3127=CIRCLE('',#3126,9.5E-2); ++#3132=CIRCLE('',#3131,9.5E-2); ++#3145=CIRCLE('',#3144,9.5E-2); ++#3150=CIRCLE('',#3149,9.5E-2); ++#3159=CIRCLE('',#3158,7.5E-1); ++#3168=CIRCLE('',#3167,7.5E-1); ++#3177=CIRCLE('',#3176,7.5E-1); ++#3186=CIRCLE('',#3185,7.5E-1); ++#3195=CIRCLE('',#3194,7.5E-1); ++#3204=CIRCLE('',#3203,7.5E-1); ++#3213=CIRCLE('',#3212,7.5E-1); ++#3222=CIRCLE('',#3221,7.5E-1); ++#3247=CIRCLE('',#3246,7.5E-1); ++#3256=CIRCLE('',#3255,7.5E-1); ++#3281=CIRCLE('',#3280,7.5E-1); ++#3290=CIRCLE('',#3289,7.5E-1); ++#3299=CIRCLE('',#3298,7.5E-1); ++#3308=CIRCLE('',#3307,7.5E-1); ++#3317=CIRCLE('',#3316,7.5E-1); ++#3326=CIRCLE('',#3325,7.5E-1); ++#3351=CIRCLE('',#3350,5.625E-1); ++#3360=CIRCLE('',#3359,5.625E-1); ++#3365=CIRCLE('',#3364,9.225E-1); ++#3370=CIRCLE('',#3369,5.6875E0); ++#3375=CIRCLE('',#3374,8.669989027347E-1); ++#3388=CIRCLE('',#3387,7.5E-1); ++#3397=CIRCLE('',#3396,7.5E-1); ++#3418=CIRCLE('',#3417,8.75E-1); ++#3427=CIRCLE('',#3426,8.75E-1); ++#3440=CIRCLE('',#3439,5.6125E-1); ++#3469=CIRCLE('',#3468,8.75E-1); ++#3478=CIRCLE('',#3477,8.75E-1); ++#3495=CIRCLE('',#3494,8.75E-1); ++#3504=CIRCLE('',#3503,8.75E-1); ++#3513=CIRCLE('',#3512,8.75E-1); ++#3522=CIRCLE('',#3521,8.75E-1); ++#3531=CIRCLE('',#3530,8.75E-1); ++#3540=CIRCLE('',#3539,8.75E-1); ++#3549=CIRCLE('',#3548,8.75E-1); ++#3558=CIRCLE('',#3557,8.75E-1); ++#3583=CIRCLE('',#3582,5.625E-1); ++#3592=CIRCLE('',#3591,5.625E-1); ++#3617=CIRCLE('',#3616,5.625E-1); ++#3626=CIRCLE('',#3625,5.625E-1); ++#3651=CIRCLE('',#3650,5.E-1); ++#3660=CIRCLE('',#3659,5.E-1); ++#3685=CIRCLE('',#3684,4.375E-1); ++#3694=CIRCLE('',#3693,4.375E-1); ++#3719=CIRCLE('',#3718,5.625E-1); ++#3728=CIRCLE('',#3727,5.625E-1); ++#3737=CIRCLE('',#3736,8.669989027347E-1); ++#3742=CIRCLE('',#3741,5.6875E0); ++#3747=CIRCLE('',#3746,9.225E-1); ++#3756=CIRCLE('',#3755,7.5E-1); ++#3765=CIRCLE('',#3764,7.5E-1); ++#3802=CIRCLE('',#3801,5.625E-1); ++#3811=CIRCLE('',#3810,5.625E-1); ++#3820=CIRCLE('',#3819,8.669989027347E-1); ++#3825=CIRCLE('',#3824,5.6875E0); ++#3830=CIRCLE('',#3829,9.225E-1); ++#3839=CIRCLE('',#3838,7.5E-1); ++#3848=CIRCLE('',#3847,7.5E-1); ++#3885=CIRCLE('',#3884,5.625E-1); ++#3894=CIRCLE('',#3893,5.625E-1); ++#3919=CIRCLE('',#3918,5.625E-1); ++#3928=CIRCLE('',#3927,5.625E-1); ++#3953=CIRCLE('',#3952,5.E-1); ++#3962=CIRCLE('',#3961,5.E-1); ++#3987=CIRCLE('',#3986,4.375E-1); ++#3996=CIRCLE('',#3995,4.375E-1); ++#4021=CIRCLE('',#4020,5.625E-1); ++#4030=CIRCLE('',#4029,5.625E-1); ++#4035=CIRCLE('',#4034,9.225E-1); ++#4040=CIRCLE('',#4039,5.6875E0); ++#4045=CIRCLE('',#4044,8.669989027347E-1); ++#4058=CIRCLE('',#4057,7.5E-1); ++#4067=CIRCLE('',#4066,7.5E-1); ++#4088=CIRCLE('',#4087,8.8E-1); ++#4097=CIRCLE('',#4096,8.8E-1); ++#4106=CIRCLE('',#4105,8.8E-1); ++#4115=CIRCLE('',#4114,8.8E-1); ++#4124=CIRCLE('',#4123,8.8E-1); ++#4133=CIRCLE('',#4132,8.8E-1); ++#4142=CIRCLE('',#4141,8.8E-1); ++#4151=CIRCLE('',#4150,8.8E-1); ++#4160=CIRCLE('',#4159,8.8E-1); ++#4169=CIRCLE('',#4168,8.8E-1); ++#4178=CIRCLE('',#4177,8.8E-1); ++#4187=CIRCLE('',#4186,8.8E-1); ++#4208=CIRCLE('',#4207,5.6125E-1); ++#5494=EDGE_CURVE('',#4423,#4400,#132,.T.); ++#5496=EDGE_CURVE('',#4419,#4423,#1597,.T.); ++#5498=EDGE_CURVE('',#4419,#4243,#136,.T.); ++#5500=EDGE_CURVE('',#4239,#4243,#1614,.T.); ++#5502=EDGE_CURVE('',#4239,#4259,#140,.T.); ++#5504=EDGE_CURVE('',#4255,#4259,#1630,.T.); ++#5506=EDGE_CURVE('',#4255,#4320,#144,.T.); ++#5508=EDGE_CURVE('',#4324,#4320,#1376,.T.); ++#5510=EDGE_CURVE('',#4324,#4300,#148,.T.); ++#5512=EDGE_CURVE('',#4300,#4347,#152,.T.); ++#5514=EDGE_CURVE('',#4343,#4347,#1912,.T.); ++#5516=EDGE_CURVE('',#4343,#4315,#156,.T.); ++#5518=EDGE_CURVE('',#4311,#4315,#1385,.T.); ++#5520=EDGE_CURVE('',#4311,#4251,#160,.T.); ++#5522=EDGE_CURVE('',#4247,#4251,#1580,.T.); ++#5524=EDGE_CURVE('',#4247,#4235,#164,.T.); ++#5526=EDGE_CURVE('',#4231,#4235,#1564,.T.); ++#5528=EDGE_CURVE('',#4231,#4404,#168,.T.); ++#5530=EDGE_CURVE('',#4408,#4404,#1556,.T.); ++#5532=EDGE_CURVE('',#4444,#4408,#172,.T.); ++#5534=EDGE_CURVE('',#4444,#4448,#1654,.T.); ++#5536=EDGE_CURVE('',#4400,#4448,#176,.T.); ++#5540=EDGE_CURVE('',#4427,#4328,#4,.T.); ++#5542=EDGE_CURVE('',#4332,#4328,#1358,.T.); ++#5544=EDGE_CURVE('',#4264,#4332,#1340,.T.); ++#5546=EDGE_CURVE('',#4268,#4264,#8,.T.); ++#5548=EDGE_CURVE('',#4431,#4268,#1317,.T.); ++#5550=EDGE_CURVE('',#4427,#4431,#1303,.T.); ++#5554=EDGE_CURVE('',#4639,#4640,#13,.T.); ++#5556=EDGE_CURVE('',#4640,#4639,#18,.T.); ++#5560=EDGE_CURVE('',#4635,#4636,#23,.T.); ++#5562=EDGE_CURVE('',#4636,#4635,#28,.T.); ++#5566=EDGE_CURVE('',#4631,#4632,#33,.T.); ++#5568=EDGE_CURVE('',#4632,#4631,#38,.T.); ++#5572=EDGE_CURVE('',#4627,#4628,#43,.T.); ++#5574=EDGE_CURVE('',#4628,#4627,#48,.T.); ++#5578=EDGE_CURVE('',#4623,#4624,#53,.T.); ++#5580=EDGE_CURVE('',#4624,#4623,#58,.T.); ++#5584=EDGE_CURVE('',#4527,#4528,#63,.T.); ++#5586=EDGE_CURVE('',#4528,#4527,#68,.T.); ++#5590=EDGE_CURVE('',#4523,#4524,#73,.T.); ++#5592=EDGE_CURVE('',#4524,#4523,#78,.T.); ++#5596=EDGE_CURVE('',#4519,#4520,#83,.T.); ++#5598=EDGE_CURVE('',#4520,#4519,#88,.T.); ++#5602=EDGE_CURVE('',#4515,#4516,#93,.T.); ++#5604=EDGE_CURVE('',#4516,#4515,#98,.T.); ++#5608=EDGE_CURVE('',#4511,#4512,#103,.T.); ++#5610=EDGE_CURVE('',#4512,#4511,#108,.T.); ++#5614=EDGE_CURVE('',#4507,#4508,#113,.T.); ++#5616=EDGE_CURVE('',#4508,#4507,#118,.T.); ++#5620=EDGE_CURVE('',#4503,#4504,#123,.T.); ++#5622=EDGE_CURVE('',#4504,#4503,#128,.T.); ++#5626=EDGE_CURVE('',#4487,#4488,#181,.T.); ++#5628=EDGE_CURVE('',#4488,#4487,#186,.T.); ++#5632=EDGE_CURVE('',#4607,#4608,#191,.T.); ++#5634=EDGE_CURVE('',#4608,#4607,#196,.T.); ++#5638=EDGE_CURVE('',#4796,#4803,#200,.T.); ++#5640=EDGE_CURVE('',#4799,#4803,#1439,.T.); ++#5642=EDGE_CURVE('',#4280,#4799,#204,.T.); ++#5644=EDGE_CURVE('',#4284,#4280,#1466,.T.); ++#5646=EDGE_CURVE('',#4272,#4284,#208,.T.); ++#5648=EDGE_CURVE('',#4276,#4272,#1484,.T.); ++#5650=EDGE_CURVE('',#4792,#4276,#212,.T.); ++#5652=EDGE_CURVE('',#4796,#4792,#1430,.T.); ++#5656=EDGE_CURVE('',#4808,#4411,#216,.T.); ++#5658=EDGE_CURVE('',#4812,#4808,#1502,.T.); ++#5660=EDGE_CURVE('',#4812,#4819,#220,.T.); ++#5662=EDGE_CURVE('',#4815,#4819,#1511,.T.); ++#5664=EDGE_CURVE('',#4304,#4815,#224,.T.); ++#5666=EDGE_CURVE('',#4308,#4304,#1412,.T.); ++#5668=EDGE_CURVE('',#4308,#4339,#228,.T.); ++#5670=EDGE_CURVE('',#4335,#4339,#1754,.T.); ++#5672=EDGE_CURVE('',#4335,#4772,#232,.T.); ++#5674=EDGE_CURVE('',#4776,#4772,#1738,.T.); ++#5676=EDGE_CURVE('',#4776,#4783,#236,.T.); ++#5678=EDGE_CURVE('',#4779,#4783,#1707,.T.); ++#5680=EDGE_CURVE('',#4436,#4779,#240,.T.); ++#5682=EDGE_CURVE('',#4436,#4440,#2132,.T.); ++#5684=EDGE_CURVE('',#4415,#4440,#244,.T.); ++#5686=EDGE_CURVE('',#4411,#4415,#1529,.T.); ++#5690=EDGE_CURVE('',#4823,#4824,#249,.T.); ++#5692=EDGE_CURVE('',#4824,#4823,#254,.T.); ++#5696=EDGE_CURVE('',#4839,#4840,#259,.T.); ++#5698=EDGE_CURVE('',#4840,#4839,#264,.T.); ++#5702=EDGE_CURVE('',#4843,#4844,#269,.T.); ++#5704=EDGE_CURVE('',#4844,#4843,#274,.T.); ++#5708=EDGE_CURVE('',#4847,#4848,#279,.T.); ++#5710=EDGE_CURVE('',#4848,#4847,#284,.T.); ++#5714=EDGE_CURVE('',#4851,#4852,#289,.T.); ++#5716=EDGE_CURVE('',#4852,#4851,#294,.T.); ++#5720=EDGE_CURVE('',#4855,#4856,#299,.T.); ++#5722=EDGE_CURVE('',#4856,#4855,#304,.T.); ++#5726=EDGE_CURVE('',#5121,#5122,#308,.T.); ++#5728=EDGE_CURVE('',#5122,#5124,#313,.T.); ++#5730=EDGE_CURVE('',#5124,#5126,#317,.T.); ++#5732=EDGE_CURVE('',#5126,#5121,#322,.T.); ++#5736=EDGE_CURVE('',#5132,#5139,#327,.T.); ++#5738=EDGE_CURVE('',#5135,#5139,#3388,.T.); ++#5740=EDGE_CURVE('',#5135,#5129,#331,.T.); ++#5742=EDGE_CURVE('',#5129,#5130,#336,.T.); ++#5744=EDGE_CURVE('',#5132,#5130,#341,.T.); ++#5748=EDGE_CURVE('',#5184,#5186,#3418,.T.); ++#5750=EDGE_CURVE('',#5184,#5147,#345,.T.); ++#5752=EDGE_CURVE('',#5147,#5148,#350,.T.); ++#5754=EDGE_CURVE('',#5148,#5194,#354,.T.); ++#5756=EDGE_CURVE('',#5192,#5194,#3469,.T.); ++#5758=EDGE_CURVE('',#5192,#5171,#358,.T.); ++#5760=EDGE_CURVE('',#5167,#5171,#3495,.T.); ++#5762=EDGE_CURVE('',#5167,#5179,#362,.T.); ++#5764=EDGE_CURVE('',#5175,#5179,#3513,.T.); ++#5766=EDGE_CURVE('',#5175,#5155,#366,.T.); ++#5768=EDGE_CURVE('',#5151,#5155,#3531,.T.); ++#5770=EDGE_CURVE('',#5151,#5163,#370,.T.); ++#5772=EDGE_CURVE('',#5159,#5163,#3549,.T.); ++#5774=EDGE_CURVE('',#5159,#5186,#374,.T.); ++#5778=EDGE_CURVE('',#5207,#5208,#378,.T.); ++#5780=EDGE_CURVE('',#5208,#5210,#383,.T.); ++#5782=EDGE_CURVE('',#5210,#5212,#387,.T.); ++#5784=EDGE_CURVE('',#5212,#5207,#392,.T.); ++#5788=EDGE_CURVE('',#5223,#5224,#396,.T.); ++#5790=EDGE_CURVE('',#5224,#5226,#401,.T.); ++#5792=EDGE_CURVE('',#5226,#5228,#405,.T.); ++#5794=EDGE_CURVE('',#5228,#5223,#410,.T.); ++#5798=EDGE_CURVE('',#5239,#5240,#414,.T.); ++#5800=EDGE_CURVE('',#5240,#5242,#419,.T.); ++#5802=EDGE_CURVE('',#5242,#5244,#423,.T.); ++#5804=EDGE_CURVE('',#5244,#5239,#428,.T.); ++#5808=EDGE_CURVE('',#5255,#5256,#432,.T.); ++#5810=EDGE_CURVE('',#5256,#5258,#437,.T.); ++#5812=EDGE_CURVE('',#5258,#5260,#441,.T.); ++#5814=EDGE_CURVE('',#5260,#5255,#446,.T.); ++#5818=EDGE_CURVE('',#5277,#5278,#450,.T.); ++#5820=EDGE_CURVE('',#5282,#5277,#455,.T.); ++#5822=EDGE_CURVE('',#5280,#5282,#459,.T.); ++#5824=EDGE_CURVE('',#5278,#5280,#464,.T.); ++#5828=EDGE_CURVE('',#5305,#5306,#468,.T.); ++#5830=EDGE_CURVE('',#5310,#5305,#473,.T.); ++#5832=EDGE_CURVE('',#5308,#5310,#477,.T.); ++#5834=EDGE_CURVE('',#5306,#5308,#482,.T.); ++#5838=EDGE_CURVE('',#5335,#5336,#486,.T.); ++#5840=EDGE_CURVE('',#5340,#5335,#491,.T.); ++#5842=EDGE_CURVE('',#5338,#5340,#495,.T.); ++#5844=EDGE_CURVE('',#5336,#5338,#500,.T.); ++#5848=EDGE_CURVE('',#5351,#5352,#504,.T.); ++#5850=EDGE_CURVE('',#5356,#5351,#509,.T.); ++#5852=EDGE_CURVE('',#5354,#5356,#513,.T.); ++#5854=EDGE_CURVE('',#5352,#5354,#518,.T.); ++#5858=EDGE_CURVE('',#5367,#5368,#522,.T.); ++#5860=EDGE_CURVE('',#5372,#5367,#527,.T.); ++#5862=EDGE_CURVE('',#5370,#5372,#531,.T.); ++#5864=EDGE_CURVE('',#5368,#5370,#536,.T.); ++#5868=EDGE_CURVE('',#5383,#5384,#540,.T.); ++#5870=EDGE_CURVE('',#5388,#5383,#545,.T.); ++#5872=EDGE_CURVE('',#5386,#5388,#549,.T.); ++#5874=EDGE_CURVE('',#5384,#5386,#554,.T.); ++#5878=EDGE_CURVE('',#5405,#5406,#558,.T.); ++#5880=EDGE_CURVE('',#5406,#5408,#563,.T.); ++#5882=EDGE_CURVE('',#5408,#5410,#567,.T.); ++#5884=EDGE_CURVE('',#5410,#5405,#572,.T.); ++#5888=EDGE_CURVE('',#5455,#5451,#4097,.T.); ++#5890=EDGE_CURVE('',#5324,#5455,#576,.T.); ++#5892=EDGE_CURVE('',#5323,#5324,#581,.T.); ++#5894=EDGE_CURVE('',#5459,#5323,#585,.T.); ++#5896=EDGE_CURVE('',#5463,#5459,#4187,.T.); ++#5898=EDGE_CURVE('',#5436,#5463,#589,.T.); ++#5900=EDGE_CURVE('',#5440,#5436,#4169,.T.); ++#5902=EDGE_CURVE('',#5444,#5440,#593,.T.); ++#5904=EDGE_CURVE('',#5448,#5444,#4151,.T.); ++#5906=EDGE_CURVE('',#5428,#5448,#597,.T.); ++#5908=EDGE_CURVE('',#5432,#5428,#4133,.T.); ++#5910=EDGE_CURVE('',#5420,#5432,#601,.T.); ++#5912=EDGE_CURVE('',#5424,#5420,#4115,.T.); ++#5914=EDGE_CURVE('',#5451,#5424,#605,.T.); ++#5918=EDGE_CURVE('',#5471,#5313,#609,.T.); ++#5920=EDGE_CURVE('',#5467,#5471,#3839,.T.); ++#5922=EDGE_CURVE('',#5316,#5467,#614,.T.); ++#5924=EDGE_CURVE('',#5316,#5314,#619,.T.); ++#5926=EDGE_CURVE('',#5313,#5314,#624,.T.); ++#5930=EDGE_CURVE('',#5479,#5285,#628,.T.); ++#5932=EDGE_CURVE('',#5475,#5479,#3756,.T.); ++#5934=EDGE_CURVE('',#5288,#5475,#633,.T.); ++#5936=EDGE_CURVE('',#5288,#5286,#638,.T.); ++#5938=EDGE_CURVE('',#5285,#5286,#643,.T.); ++#5942=EDGE_CURVE('',#5416,#5487,#648,.T.); ++#5944=EDGE_CURVE('',#5483,#5487,#4058,.T.); ++#5946=EDGE_CURVE('',#5483,#5413,#652,.T.); ++#5948=EDGE_CURVE('',#5413,#5414,#657,.T.); ++#5950=EDGE_CURVE('',#5416,#5414,#662,.T.); ++#5961=EDGE_CURVE('',#4427,#4428,#1298,.T.); ++#5963=EDGE_CURVE('',#4424,#4428,#906,.T.); ++#5965=EDGE_CURVE('',#4423,#4424,#1601,.T.); ++#5968=EDGE_CURVE('',#4390,#4400,#1658,.T.); ++#5970=EDGE_CURVE('',#4387,#4390,#746,.T.); ++#5972=EDGE_CURVE('',#4387,#4388,#750,.T.); ++#5974=EDGE_CURVE('',#4768,#4388,#1698,.T.); ++#5976=EDGE_CURVE('',#4767,#4768,#1230,.T.); ++#5978=EDGE_CURVE('',#4287,#4767,#1746,.T.); ++#5980=EDGE_CURVE('',#4287,#4288,#754,.T.); ++#5982=EDGE_CURVE('',#4288,#4290,#758,.T.); ++#5984=EDGE_CURVE('',#4300,#4290,#1900,.T.); ++#5987=EDGE_CURVE('',#4323,#4324,#1371,.T.); ++#5989=EDGE_CURVE('',#4327,#4323,#914,.T.); ++#5991=EDGE_CURVE('',#4327,#4328,#1344,.T.); ++#5995=EDGE_CURVE('',#4747,#4748,#667,.T.); ++#5997=EDGE_CURVE('',#4748,#4747,#672,.T.); ++#6001=EDGE_CURVE('',#4735,#4736,#677,.T.); ++#6003=EDGE_CURVE('',#4736,#4735,#682,.T.); ++#6007=EDGE_CURVE('',#4755,#4756,#687,.T.); ++#6009=EDGE_CURVE('',#4756,#4755,#692,.T.); ++#6013=EDGE_CURVE('',#4763,#4764,#697,.T.); ++#6015=EDGE_CURVE('',#4764,#4763,#702,.T.); ++#6019=EDGE_CURVE('',#4731,#4732,#707,.T.); ++#6021=EDGE_CURVE('',#4732,#4731,#712,.T.); ++#6025=EDGE_CURVE('',#4723,#4724,#717,.T.); ++#6027=EDGE_CURVE('',#4724,#4723,#722,.T.); ++#6031=EDGE_CURVE('',#4703,#4704,#727,.T.); ++#6033=EDGE_CURVE('',#4704,#4703,#732,.T.); ++#6037=EDGE_CURVE('',#4715,#4716,#737,.T.); ++#6039=EDGE_CURVE('',#4716,#4715,#742,.T.); ++#6043=EDGE_CURVE('',#4947,#4959,#762,.T.); ++#6045=EDGE_CURVE('',#4955,#4959,#3213,.T.); ++#6047=EDGE_CURVE('',#4955,#4967,#766,.T.); ++#6049=EDGE_CURVE('',#4963,#4967,#3195,.T.); ++#6051=EDGE_CURVE('',#4963,#4975,#770,.T.); ++#6053=EDGE_CURVE('',#4971,#4975,#3177,.T.); ++#6055=EDGE_CURVE('',#4971,#4951,#774,.T.); ++#6057=EDGE_CURVE('',#4947,#4951,#3159,.T.); ++#6061=EDGE_CURVE('',#5036,#5048,#778,.T.); ++#6063=EDGE_CURVE('',#5040,#5036,#3256,.T.); ++#6065=EDGE_CURVE('',#5028,#5040,#782,.T.); ++#6067=EDGE_CURVE('',#5032,#5028,#3290,.T.); ++#6069=EDGE_CURVE('',#5052,#5032,#786,.T.); ++#6071=EDGE_CURVE('',#5056,#5052,#3308,.T.); ++#6073=EDGE_CURVE('',#5044,#5056,#790,.T.); ++#6075=EDGE_CURVE('',#5048,#5044,#3326,.T.); ++#6086=EDGE_CURVE('',#4747,#4743,#794,.T.); ++#6088=EDGE_CURVE('',#4743,#4744,#803,.T.); ++#6090=EDGE_CURVE('',#4748,#4744,#798,.T.); ++#6102=EDGE_CURVE('',#4744,#4743,#808,.T.); ++#6124=EDGE_CURVE('',#4735,#4739,#812,.T.); ++#6126=EDGE_CURVE('',#4739,#4740,#821,.T.); ++#6128=EDGE_CURVE('',#4736,#4740,#816,.T.); ++#6140=EDGE_CURVE('',#4740,#4739,#826,.T.); ++#6151=EDGE_CURVE('',#4934,#4940,#830,.T.); ++#6153=EDGE_CURVE('',#4940,#4942,#834,.T.); ++#6155=EDGE_CURVE('',#4938,#4942,#838,.T.); ++#6157=EDGE_CURVE('',#4788,#4938,#1234,.T.); ++#6159=EDGE_CURVE('',#4788,#4393,#842,.T.); ++#6161=EDGE_CURVE('',#4393,#4394,#846,.T.); ++#6163=EDGE_CURVE('',#4394,#4396,#850,.T.); ++#6165=EDGE_CURVE('',#4396,#4398,#854,.T.); ++#6167=EDGE_CURVE('',#4934,#4398,#1178,.T.); ++#6175=EDGE_CURVE('',#5103,#5099,#2946,.T.); ++#6177=EDGE_CURVE('',#5076,#5103,#858,.T.); ++#6179=EDGE_CURVE('',#5080,#5076,#3036,.T.); ++#6181=EDGE_CURVE('',#5084,#5080,#862,.T.); ++#6183=EDGE_CURVE('',#5088,#5084,#3018,.T.); ++#6185=EDGE_CURVE('',#5092,#5088,#866,.T.); ++#6187=EDGE_CURVE('',#5096,#5092,#3000,.T.); ++#6189=EDGE_CURVE('',#5068,#5096,#870,.T.); ++#6191=EDGE_CURVE('',#5072,#5068,#2982,.T.); ++#6193=EDGE_CURVE('',#5060,#5072,#874,.T.); ++#6195=EDGE_CURVE('',#5064,#5060,#2964,.T.); ++#6197=EDGE_CURVE('',#5099,#5064,#878,.T.); ++#6207=EDGE_CURVE('',#4933,#4934,#1174,.T.); ++#6209=EDGE_CURVE('',#4940,#4933,#882,.T.); ++#6221=EDGE_CURVE('',#4432,#4428,#1312,.T.); ++#6223=EDGE_CURVE('',#4267,#4432,#1326,.T.); ++#6225=EDGE_CURVE('',#4267,#4263,#910,.T.); ++#6227=EDGE_CURVE('',#4331,#4263,#1331,.T.); ++#6229=EDGE_CURVE('',#4327,#4331,#1349,.T.); ++#6232=EDGE_CURVE('',#4319,#4323,#1367,.T.); ++#6234=EDGE_CURVE('',#4256,#4319,#918,.T.); ++#6236=EDGE_CURVE('',#4256,#4260,#1638,.T.); ++#6238=EDGE_CURVE('',#4240,#4260,#922,.T.); ++#6240=EDGE_CURVE('',#4240,#4244,#1622,.T.); ++#6242=EDGE_CURVE('',#4420,#4244,#926,.T.); ++#6244=EDGE_CURVE('',#4424,#4420,#1606,.T.); ++#6248=EDGE_CURVE('',#4495,#4496,#951,.T.); ++#6250=EDGE_CURVE('',#4496,#4495,#956,.T.); ++#6254=EDGE_CURVE('',#4567,#4568,#981,.T.); ++#6256=EDGE_CURVE('',#4568,#4567,#986,.T.); ++#6260=EDGE_CURVE('',#4615,#4616,#1011,.T.); ++#6262=EDGE_CURVE('',#4616,#4615,#1016,.T.); ++#6266=EDGE_CURVE('',#4647,#4648,#1021,.T.); ++#6268=EDGE_CURVE('',#4648,#4647,#1026,.T.); ++#6272=EDGE_CURVE('',#4659,#4660,#1031,.T.); ++#6274=EDGE_CURVE('',#4660,#4659,#1036,.T.); ++#6286=EDGE_CURVE('',#4398,#4447,#1182,.T.); ++#6288=EDGE_CURVE('',#4443,#4447,#1646,.T.); ++#6290=EDGE_CURVE('',#4443,#4407,#1186,.T.); ++#6292=EDGE_CURVE('',#4403,#4407,#1547,.T.); ++#6294=EDGE_CURVE('',#4232,#4403,#1190,.T.); ++#6296=EDGE_CURVE('',#4232,#4236,#1572,.T.); ++#6298=EDGE_CURVE('',#4248,#4236,#1194,.T.); ++#6300=EDGE_CURVE('',#4248,#4252,#1588,.T.); ++#6302=EDGE_CURVE('',#4312,#4252,#1198,.T.); ++#6304=EDGE_CURVE('',#4316,#4312,#1394,.T.); ++#6306=EDGE_CURVE('',#4344,#4316,#1202,.T.); ++#6308=EDGE_CURVE('',#4344,#4348,#1920,.T.); ++#6310=EDGE_CURVE('',#4298,#4348,#1206,.T.); ++#6312=EDGE_CURVE('',#4298,#4920,#1210,.T.); ++#6314=EDGE_CURVE('',#4919,#4920,#1214,.T.); ++#6316=EDGE_CURVE('',#4919,#4923,#1218,.T.); ++#6318=EDGE_CURVE('',#4923,#4924,#1222,.T.); ++#6320=EDGE_CURVE('',#4924,#4786,#1226,.T.); ++#6322=EDGE_CURVE('',#4767,#4786,#1742,.T.); ++#6325=EDGE_CURVE('',#4768,#4788,#1694,.T.); ++#6328=EDGE_CURVE('',#4937,#4938,#1238,.T.); ++#6330=EDGE_CURVE('',#4933,#4937,#1242,.T.); ++#6334=EDGE_CURVE('',#4373,#4374,#887,.T.); ++#6336=EDGE_CURVE('',#4374,#4373,#892,.T.); ++#6340=EDGE_CURVE('',#4383,#4384,#897,.T.); ++#6342=EDGE_CURVE('',#4384,#4383,#902,.T.); ++#6346=EDGE_CURVE('',#4473,#4474,#931,.T.); ++#6348=EDGE_CURVE('',#4474,#4473,#936,.T.); ++#6352=EDGE_CURVE('',#4483,#4484,#941,.T.); ++#6354=EDGE_CURVE('',#4484,#4483,#946,.T.); ++#6358=EDGE_CURVE('',#4543,#4544,#961,.T.); ++#6360=EDGE_CURVE('',#4544,#4543,#966,.T.); ++#6364=EDGE_CURVE('',#4555,#4556,#971,.T.); ++#6366=EDGE_CURVE('',#4556,#4555,#976,.T.); ++#6370=EDGE_CURVE('',#4587,#4588,#991,.T.); ++#6372=EDGE_CURVE('',#4588,#4587,#996,.T.); ++#6376=EDGE_CURVE('',#4599,#4600,#1001,.T.); ++#6378=EDGE_CURVE('',#4600,#4599,#1006,.T.); ++#6382=EDGE_CURVE('',#4671,#4672,#1041,.T.); ++#6384=EDGE_CURVE('',#4672,#4671,#1046,.T.); ++#6388=EDGE_CURVE('',#4683,#4684,#1051,.T.); ++#6390=EDGE_CURVE('',#4684,#4683,#1056,.T.); ++#6394=EDGE_CURVE('',#4695,#4696,#1061,.T.); ++#6396=EDGE_CURVE('',#4696,#4695,#1066,.T.); ++#6400=EDGE_CURVE('',#4279,#4800,#1070,.T.); ++#6402=EDGE_CURVE('',#4804,#4800,#1448,.T.); ++#6404=EDGE_CURVE('',#4795,#4804,#1074,.T.); ++#6406=EDGE_CURVE('',#4791,#4795,#1421,.T.); ++#6408=EDGE_CURVE('',#4791,#4275,#1078,.T.); ++#6410=EDGE_CURVE('',#4271,#4275,#1475,.T.); ++#6412=EDGE_CURVE('',#4271,#4283,#1082,.T.); ++#6414=EDGE_CURVE('',#4279,#4283,#1457,.T.); ++#6418=EDGE_CURVE('',#4811,#4820,#1086,.T.); ++#6420=EDGE_CURVE('',#4807,#4811,#1493,.T.); ++#6422=EDGE_CURVE('',#4807,#4412,#1090,.T.); ++#6424=EDGE_CURVE('',#4416,#4412,#1538,.T.); ++#6426=EDGE_CURVE('',#4416,#4439,#1094,.T.); ++#6428=EDGE_CURVE('',#4435,#4439,#2124,.T.); ++#6430=EDGE_CURVE('',#4435,#4780,#1098,.T.); ++#6432=EDGE_CURVE('',#4784,#4780,#1716,.T.); ++#6434=EDGE_CURVE('',#4775,#4784,#1720,.T.); ++#6436=EDGE_CURVE('',#4771,#4775,#1729,.T.); ++#6438=EDGE_CURVE('',#4336,#4771,#1102,.T.); ++#6440=EDGE_CURVE('',#4336,#4340,#1762,.T.); ++#6442=EDGE_CURVE('',#4307,#4340,#1106,.T.); ++#6444=EDGE_CURVE('',#4303,#4307,#1403,.T.); ++#6446=EDGE_CURVE('',#4303,#4816,#1110,.T.); ++#6448=EDGE_CURVE('',#4820,#4816,#1520,.T.); ++#6452=EDGE_CURVE('',#4831,#4832,#1115,.T.); ++#6454=EDGE_CURVE('',#4832,#4831,#1120,.T.); ++#6458=EDGE_CURVE('',#4863,#4864,#1125,.T.); ++#6460=EDGE_CURVE('',#4864,#4863,#1130,.T.); ++#6464=EDGE_CURVE('',#4875,#4876,#1135,.T.); ++#6466=EDGE_CURVE('',#4876,#4875,#1140,.T.); ++#6470=EDGE_CURVE('',#4887,#4888,#1145,.T.); ++#6472=EDGE_CURVE('',#4888,#4887,#1150,.T.); ++#6476=EDGE_CURVE('',#4899,#4900,#1155,.T.); ++#6478=EDGE_CURVE('',#4900,#4899,#1160,.T.); ++#6482=EDGE_CURVE('',#4911,#4912,#1165,.T.); ++#6484=EDGE_CURVE('',#4912,#4911,#1170,.T.); ++#6495=EDGE_CURVE('',#4368,#4374,#1250,.T.); ++#6497=EDGE_CURVE('',#4370,#4368,#1268,.T.); ++#6499=EDGE_CURVE('',#4370,#4373,#1246,.T.); ++#6511=EDGE_CURVE('',#4370,#4368,#1259,.T.); ++#6522=EDGE_CURVE('',#4367,#4368,#1254,.T.); ++#6525=EDGE_CURVE('',#4367,#4370,#1263,.T.); ++#6547=EDGE_CURVE('',#4378,#4384,#1276,.T.); ++#6549=EDGE_CURVE('',#4380,#4378,#1294,.T.); ++#6551=EDGE_CURVE('',#4380,#4383,#1272,.T.); ++#6563=EDGE_CURVE('',#4380,#4378,#1285,.T.); ++#6574=EDGE_CURVE('',#4377,#4378,#1280,.T.); ++#6577=EDGE_CURVE('',#4377,#4380,#1289,.T.); ++#6600=EDGE_CURVE('',#4431,#4432,#1307,.T.); ++#6613=EDGE_CURVE('',#4267,#4268,#1321,.T.); ++#6624=EDGE_CURVE('',#4263,#4264,#1335,.T.); ++#6637=EDGE_CURVE('',#4331,#4332,#1353,.T.); ++#6662=EDGE_CURVE('',#4319,#4320,#1362,.T.); ++#6675=EDGE_CURVE('',#4311,#4312,#1380,.T.); ++#6678=EDGE_CURVE('',#4251,#4252,#1584,.T.); ++#6691=EDGE_CURVE('',#4255,#4256,#1626,.T.); ++#6704=EDGE_CURVE('',#4315,#4316,#1389,.T.); ++#6715=EDGE_CURVE('',#4307,#4308,#1407,.T.); ++#6718=EDGE_CURVE('',#4339,#4340,#1758,.T.); ++#6731=EDGE_CURVE('',#4343,#4344,#1908,.T.); ++#6742=EDGE_CURVE('',#4303,#4304,#1398,.T.); ++#6755=EDGE_CURVE('',#4791,#4792,#1416,.T.); ++#6758=EDGE_CURVE('',#4275,#4276,#1479,.T.); ++#6769=EDGE_CURVE('',#4815,#4816,#1506,.T.); ++#6784=EDGE_CURVE('',#4795,#4796,#1425,.T.); ++#6797=EDGE_CURVE('',#4803,#4804,#1443,.T.); ++#6808=EDGE_CURVE('',#4799,#4800,#1434,.T.); ++#6823=EDGE_CURVE('',#4279,#4280,#1452,.T.); ++#6834=EDGE_CURVE('',#4807,#4808,#1488,.T.); ++#6837=EDGE_CURVE('',#4411,#4412,#1524,.T.); ++#6850=EDGE_CURVE('',#4283,#4284,#1461,.T.); ++#6861=EDGE_CURVE('',#4271,#4272,#1470,.T.); ++#6888=EDGE_CURVE('',#4811,#4812,#1497,.T.); ++#6901=EDGE_CURVE('',#4819,#4820,#1515,.T.); ++#6926=EDGE_CURVE('',#4415,#4416,#1533,.T.); ++#6937=EDGE_CURVE('',#4407,#4408,#1551,.T.); ++#6940=EDGE_CURVE('',#4443,#4444,#1642,.T.); ++#6953=EDGE_CURVE('',#4439,#4440,#2128,.T.); ++#6964=EDGE_CURVE('',#4403,#4404,#1542,.T.); ++#6979=EDGE_CURVE('',#4231,#4232,#1560,.T.); ++#6990=EDGE_CURVE('',#4419,#4420,#1592,.T.); ++#6993=EDGE_CURVE('',#4243,#4244,#1618,.T.); ++#7006=EDGE_CURVE('',#4235,#4236,#1568,.T.); ++#7018=EDGE_CURVE('',#4247,#4248,#1576,.T.); ++#7054=EDGE_CURVE('',#4239,#4240,#1610,.T.); ++#7070=EDGE_CURVE('',#4259,#4260,#1634,.T.); ++#7094=EDGE_CURVE('',#4447,#4448,#1650,.T.); ++#7110=EDGE_CURVE('',#4390,#4396,#1662,.T.); ++#7123=EDGE_CURVE('',#4387,#4394,#1666,.T.); ++#7136=EDGE_CURVE('',#4388,#4393,#1670,.T.); ++#7140=EDGE_CURVE('',#4455,#4456,#1675,.T.); ++#7142=EDGE_CURVE('',#4456,#4455,#1680,.T.); ++#7146=EDGE_CURVE('',#4463,#4464,#1685,.T.); ++#7148=EDGE_CURVE('',#4464,#4463,#1690,.T.); ++#7158=EDGE_CURVE('',#4779,#4780,#1702,.T.); ++#7161=EDGE_CURVE('',#4435,#4436,#2120,.T.); ++#7186=EDGE_CURVE('',#4783,#4784,#1711,.T.); ++#7197=EDGE_CURVE('',#4775,#4776,#1733,.T.); ++#7210=EDGE_CURVE('',#4771,#4772,#1724,.T.); ++#7225=EDGE_CURVE('',#4335,#4336,#1750,.T.); ++#7237=EDGE_CURVE('',#4786,#4293,#1792,.T.); ++#7239=EDGE_CURVE('',#4287,#4293,#1928,.T.); ++#7262=EDGE_CURVE('',#4920,#4926,#1776,.T.); ++#7265=EDGE_CURVE('',#4296,#4298,#1780,.T.); ++#7267=EDGE_CURVE('',#4294,#4296,#1784,.T.); ++#7269=EDGE_CURVE('',#4293,#4294,#1788,.T.); ++#7273=EDGE_CURVE('',#4924,#4928,#1796,.T.); ++#7275=EDGE_CURVE('',#4926,#4928,#1800,.T.); ++#7279=EDGE_CURVE('',#4707,#4708,#1767,.T.); ++#7281=EDGE_CURVE('',#4708,#4707,#1772,.T.); ++#7285=EDGE_CURVE('',#5020,#5022,#1993,.T.); ++#7287=EDGE_CURVE('',#5020,#4983,#1804,.T.); ++#7289=EDGE_CURVE('',#4979,#4983,#2107,.T.); ++#7291=EDGE_CURVE('',#4979,#4991,#1808,.T.); ++#7293=EDGE_CURVE('',#4987,#4991,#2089,.T.); ++#7295=EDGE_CURVE('',#4987,#5015,#1812,.T.); ++#7297=EDGE_CURVE('',#5011,#5015,#2071,.T.); ++#7299=EDGE_CURVE('',#5011,#5007,#1816,.T.); ++#7301=EDGE_CURVE('',#5003,#5007,#2053,.T.); ++#7303=EDGE_CURVE('',#5003,#4999,#1820,.T.); ++#7305=EDGE_CURVE('',#4995,#4999,#2035,.T.); ++#7307=EDGE_CURVE('',#4995,#5022,#1824,.T.); ++#7318=EDGE_CURVE('',#4704,#4708,#1832,.T.); ++#7321=EDGE_CURVE('',#4703,#4707,#1828,.T.); ++#7345=EDGE_CURVE('',#4926,#4919,#1836,.T.); ++#7358=EDGE_CURVE('',#4928,#4923,#1860,.T.); ++#7362=EDGE_CURVE('',#4929,#4930,#1846,.T.); ++#7364=EDGE_CURVE('',#4930,#4929,#1856,.T.); ++#7385=EDGE_CURVE('',#4930,#4531,#1868,.T.); ++#7388=EDGE_CURVE('',#4532,#4929,#1864,.T.); ++#7390=EDGE_CURVE('',#4531,#4532,#1873,.T.); ++#7403=EDGE_CURVE('',#4532,#4531,#1878,.T.); ++#7417=EDGE_CURVE('',#4535,#4536,#1883,.T.); ++#7419=EDGE_CURVE('',#4536,#4535,#1888,.T.); ++#7430=EDGE_CURVE('',#4536,#4504,#1896,.T.); ++#7433=EDGE_CURVE('',#4535,#4503,#1892,.T.); ++#7457=EDGE_CURVE('',#4347,#4348,#1916,.T.); ++#7461=EDGE_CURVE('',#4290,#4296,#1904,.T.); ++#7484=EDGE_CURVE('',#4288,#4294,#1924,.T.); ++#7502=EDGE_CURVE('',#4355,#4356,#1933,.T.); ++#7504=EDGE_CURVE('',#4356,#4355,#1938,.T.); ++#7508=EDGE_CURVE('',#4363,#4364,#1943,.T.); ++#7510=EDGE_CURVE('',#4364,#4363,#1948,.T.); ++#7521=EDGE_CURVE('',#4356,#4352,#1956,.T.); ++#7523=EDGE_CURVE('',#4351,#4352,#1961,.T.); ++#7525=EDGE_CURVE('',#4355,#4351,#1952,.T.); ++#7537=EDGE_CURVE('',#4352,#4351,#1966,.T.); ++#7559=EDGE_CURVE('',#4364,#4360,#1974,.T.); ++#7561=EDGE_CURVE('',#4359,#4360,#1979,.T.); ++#7563=EDGE_CURVE('',#4363,#4359,#1970,.T.); ++#7575=EDGE_CURVE('',#4360,#4359,#1984,.T.); ++#7596=EDGE_CURVE('',#5019,#5020,#1988,.T.); ++#7599=EDGE_CURVE('',#5024,#5022,#1997,.T.); ++#7601=EDGE_CURVE('',#5024,#5019,#2002,.T.); ++#7612=EDGE_CURVE('',#5019,#4984,#2006,.T.); ++#7614=EDGE_CURVE('',#4983,#4984,#2111,.T.); ++#7627=EDGE_CURVE('',#4996,#5024,#2010,.T.); ++#7629=EDGE_CURVE('',#5000,#4996,#2044,.T.); ++#7631=EDGE_CURVE('',#5004,#5000,#2014,.T.); ++#7633=EDGE_CURVE('',#5008,#5004,#2062,.T.); ++#7635=EDGE_CURVE('',#5012,#5008,#2018,.T.); ++#7637=EDGE_CURVE('',#5016,#5012,#2080,.T.); ++#7639=EDGE_CURVE('',#4988,#5016,#2022,.T.); ++#7641=EDGE_CURVE('',#4992,#4988,#2098,.T.); ++#7643=EDGE_CURVE('',#4980,#4992,#2026,.T.); ++#7645=EDGE_CURVE('',#4984,#4980,#2116,.T.); ++#7657=EDGE_CURVE('',#4995,#4996,#2030,.T.); ++#7670=EDGE_CURVE('',#4999,#5000,#2039,.T.); ++#7683=EDGE_CURVE('',#5003,#5004,#2048,.T.); ++#7696=EDGE_CURVE('',#5007,#5008,#2057,.T.); ++#7709=EDGE_CURVE('',#5011,#5012,#2066,.T.); ++#7722=EDGE_CURVE('',#5015,#5016,#2075,.T.); ++#7733=EDGE_CURVE('',#4987,#4988,#2084,.T.); ++#7748=EDGE_CURVE('',#4991,#4992,#2093,.T.); ++#7759=EDGE_CURVE('',#4979,#4980,#2102,.T.); ++#7797=EDGE_CURVE('',#4455,#4451,#2136,.T.); ++#7799=EDGE_CURVE('',#4451,#4452,#2145,.T.); ++#7801=EDGE_CURVE('',#4456,#4452,#2140,.T.); ++#7813=EDGE_CURVE('',#4452,#4451,#2150,.T.); ++#7835=EDGE_CURVE('',#4463,#4459,#2154,.T.); ++#7837=EDGE_CURVE('',#4459,#4460,#2163,.T.); ++#7839=EDGE_CURVE('',#4464,#4460,#2158,.T.); ++#7851=EDGE_CURVE('',#4460,#4459,#2168,.T.); ++#7873=EDGE_CURVE('',#4470,#4473,#2176,.T.); ++#7875=EDGE_CURVE('',#4470,#4468,#2194,.T.); ++#7877=EDGE_CURVE('',#4468,#4474,#2172,.T.); ++#7889=EDGE_CURVE('',#4470,#4468,#2189,.T.); ++#7900=EDGE_CURVE('',#4467,#4468,#2180,.T.); ++#7902=EDGE_CURVE('',#4467,#4470,#2184,.T.); ++#7925=EDGE_CURVE('',#4480,#4483,#2202,.T.); ++#7927=EDGE_CURVE('',#4480,#4478,#2220,.T.); ++#7929=EDGE_CURVE('',#4478,#4484,#2198,.T.); ++#7941=EDGE_CURVE('',#4480,#4478,#2215,.T.); ++#7952=EDGE_CURVE('',#4477,#4478,#2206,.T.); ++#7954=EDGE_CURVE('',#4477,#4480,#2210,.T.); ++#7977=EDGE_CURVE('',#4496,#4492,#2228,.T.); ++#7979=EDGE_CURVE('',#4491,#4492,#2233,.T.); ++#7981=EDGE_CURVE('',#4495,#4491,#2224,.T.); ++#7993=EDGE_CURVE('',#4492,#4491,#2238,.T.); ++#8008=EDGE_CURVE('',#4499,#4500,#2243,.T.); ++#8010=EDGE_CURVE('',#4500,#4499,#2248,.T.); ++#8021=EDGE_CURVE('',#4500,#4488,#2256,.T.); ++#8024=EDGE_CURVE('',#4499,#4487,#2252,.T.); ++#8047=EDGE_CURVE('',#4544,#4540,#2264,.T.); ++#8049=EDGE_CURVE('',#4539,#4540,#2269,.T.); ++#8051=EDGE_CURVE('',#4543,#4539,#2260,.T.); ++#8063=EDGE_CURVE('',#4540,#4539,#2274,.T.); ++#8078=EDGE_CURVE('',#4547,#4548,#2279,.T.); ++#8080=EDGE_CURVE('',#4548,#4547,#2284,.T.); ++#8091=EDGE_CURVE('',#4548,#4508,#2292,.T.); ++#8094=EDGE_CURVE('',#4547,#4507,#2288,.T.); ++#8117=EDGE_CURVE('',#4556,#4552,#2300,.T.); ++#8119=EDGE_CURVE('',#4551,#4552,#2305,.T.); ++#8121=EDGE_CURVE('',#4555,#4551,#2296,.T.); ++#8133=EDGE_CURVE('',#4552,#4551,#2310,.T.); ++#8148=EDGE_CURVE('',#4559,#4560,#2315,.T.); ++#8150=EDGE_CURVE('',#4560,#4559,#2320,.T.); ++#8161=EDGE_CURVE('',#4560,#4512,#2328,.T.); ++#8164=EDGE_CURVE('',#4559,#4511,#2324,.T.); ++#8187=EDGE_CURVE('',#4568,#4564,#2336,.T.); ++#8189=EDGE_CURVE('',#4563,#4564,#2341,.T.); ++#8191=EDGE_CURVE('',#4567,#4563,#2332,.T.); ++#8203=EDGE_CURVE('',#4564,#4563,#2346,.T.); ++#8218=EDGE_CURVE('',#4571,#4572,#2351,.T.); ++#8220=EDGE_CURVE('',#4572,#4571,#2356,.T.); ++#8231=EDGE_CURVE('',#4572,#4516,#2364,.T.); ++#8234=EDGE_CURVE('',#4571,#4515,#2360,.T.); ++#8257=EDGE_CURVE('',#4588,#4584,#2372,.T.); ++#8259=EDGE_CURVE('',#4583,#4584,#2377,.T.); ++#8261=EDGE_CURVE('',#4587,#4583,#2368,.T.); ++#8273=EDGE_CURVE('',#4584,#4583,#2382,.T.); ++#8288=EDGE_CURVE('',#4591,#4592,#2387,.T.); ++#8290=EDGE_CURVE('',#4592,#4591,#2392,.T.); ++#8301=EDGE_CURVE('',#4592,#4524,#2400,.T.); ++#8304=EDGE_CURVE('',#4591,#4523,#2396,.T.); ++#8327=EDGE_CURVE('',#4600,#4596,#2408,.T.); ++#8329=EDGE_CURVE('',#4595,#4596,#2413,.T.); ++#8331=EDGE_CURVE('',#4599,#4595,#2404,.T.); ++#8343=EDGE_CURVE('',#4596,#4595,#2418,.T.); ++#8358=EDGE_CURVE('',#4603,#4604,#2423,.T.); ++#8360=EDGE_CURVE('',#4604,#4603,#2428,.T.); ++#8371=EDGE_CURVE('',#4604,#4528,#2436,.T.); ++#8374=EDGE_CURVE('',#4603,#4527,#2432,.T.); ++#8397=EDGE_CURVE('',#4616,#4612,#2444,.T.); ++#8399=EDGE_CURVE('',#4611,#4612,#2449,.T.); ++#8401=EDGE_CURVE('',#4615,#4611,#2440,.T.); ++#8413=EDGE_CURVE('',#4612,#4611,#2454,.T.); ++#8428=EDGE_CURVE('',#4619,#4620,#2459,.T.); ++#8430=EDGE_CURVE('',#4620,#4619,#2464,.T.); ++#8441=EDGE_CURVE('',#4620,#4608,#2472,.T.); ++#8444=EDGE_CURVE('',#4619,#4607,#2468,.T.); ++#8467=EDGE_CURVE('',#4648,#4644,#2480,.T.); ++#8469=EDGE_CURVE('',#4643,#4644,#2485,.T.); ++#8471=EDGE_CURVE('',#4647,#4643,#2476,.T.); ++#8483=EDGE_CURVE('',#4644,#4643,#2490,.T.); ++#8498=EDGE_CURVE('',#4651,#4652,#2495,.T.); ++#8500=EDGE_CURVE('',#4652,#4651,#2500,.T.); ++#8511=EDGE_CURVE('',#4652,#4624,#2508,.T.); ++#8514=EDGE_CURVE('',#4651,#4623,#2504,.T.); ++#8537=EDGE_CURVE('',#4660,#4656,#2516,.T.); ++#8539=EDGE_CURVE('',#4655,#4656,#2521,.T.); ++#8541=EDGE_CURVE('',#4659,#4655,#2512,.T.); ++#8553=EDGE_CURVE('',#4656,#4655,#2526,.T.); ++#8568=EDGE_CURVE('',#4663,#4664,#2531,.T.); ++#8570=EDGE_CURVE('',#4664,#4663,#2536,.T.); ++#8581=EDGE_CURVE('',#4664,#4636,#2544,.T.); ++#8584=EDGE_CURVE('',#4663,#4635,#2540,.T.); ++#8607=EDGE_CURVE('',#4672,#4668,#2552,.T.); ++#8609=EDGE_CURVE('',#4667,#4668,#2557,.T.); ++#8611=EDGE_CURVE('',#4671,#4667,#2548,.T.); ++#8623=EDGE_CURVE('',#4668,#4667,#2562,.T.); ++#8638=EDGE_CURVE('',#4675,#4676,#2567,.T.); ++#8640=EDGE_CURVE('',#4676,#4675,#2572,.T.); ++#8651=EDGE_CURVE('',#4676,#4628,#2580,.T.); ++#8654=EDGE_CURVE('',#4675,#4627,#2576,.T.); ++#8677=EDGE_CURVE('',#4684,#4680,#2588,.T.); ++#8679=EDGE_CURVE('',#4679,#4680,#2593,.T.); ++#8681=EDGE_CURVE('',#4683,#4679,#2584,.T.); ++#8693=EDGE_CURVE('',#4680,#4679,#2598,.T.); ++#8708=EDGE_CURVE('',#4687,#4688,#2603,.T.); ++#8710=EDGE_CURVE('',#4688,#4687,#2608,.T.); ++#8721=EDGE_CURVE('',#4688,#4632,#2616,.T.); ++#8724=EDGE_CURVE('',#4687,#4631,#2612,.T.); ++#8747=EDGE_CURVE('',#4696,#4692,#2624,.T.); ++#8749=EDGE_CURVE('',#4691,#4692,#2629,.T.); ++#8751=EDGE_CURVE('',#4695,#4691,#2620,.T.); ++#8763=EDGE_CURVE('',#4692,#4691,#2634,.T.); ++#8778=EDGE_CURVE('',#4699,#4700,#2639,.T.); ++#8780=EDGE_CURVE('',#4700,#4699,#2644,.T.); ++#8791=EDGE_CURVE('',#4700,#4640,#2652,.T.); ++#8794=EDGE_CURVE('',#4699,#4639,#2648,.T.); ++#8817=EDGE_CURVE('',#4832,#4828,#2660,.T.); ++#8819=EDGE_CURVE('',#4827,#4828,#2665,.T.); ++#8821=EDGE_CURVE('',#4831,#4827,#2656,.T.); ++#8833=EDGE_CURVE('',#4828,#4827,#2670,.T.); ++#8848=EDGE_CURVE('',#4835,#4836,#2675,.T.); ++#8850=EDGE_CURVE('',#4836,#4835,#2680,.T.); ++#8861=EDGE_CURVE('',#4836,#4824,#2688,.T.); ++#8864=EDGE_CURVE('',#4835,#4823,#2684,.T.); ++#8887=EDGE_CURVE('',#4864,#4860,#2696,.T.); ++#8889=EDGE_CURVE('',#4859,#4860,#2701,.T.); ++#8891=EDGE_CURVE('',#4863,#4859,#2692,.T.); ++#8903=EDGE_CURVE('',#4860,#4859,#2706,.T.); ++#8918=EDGE_CURVE('',#4867,#4868,#2711,.T.); ++#8920=EDGE_CURVE('',#4868,#4867,#2716,.T.); ++#8931=EDGE_CURVE('',#4868,#4840,#2724,.T.); ++#8934=EDGE_CURVE('',#4867,#4839,#2720,.T.); ++#8957=EDGE_CURVE('',#4876,#4872,#2732,.T.); ++#8959=EDGE_CURVE('',#4871,#4872,#2737,.T.); ++#8961=EDGE_CURVE('',#4875,#4871,#2728,.T.); ++#8973=EDGE_CURVE('',#4872,#4871,#2742,.T.); ++#8988=EDGE_CURVE('',#4879,#4880,#2747,.T.); ++#8990=EDGE_CURVE('',#4880,#4879,#2752,.T.); ++#9001=EDGE_CURVE('',#4880,#4844,#2760,.T.); ++#9004=EDGE_CURVE('',#4879,#4843,#2756,.T.); ++#9027=EDGE_CURVE('',#4888,#4884,#2768,.T.); ++#9029=EDGE_CURVE('',#4883,#4884,#2773,.T.); ++#9031=EDGE_CURVE('',#4887,#4883,#2764,.T.); ++#9043=EDGE_CURVE('',#4884,#4883,#2778,.T.); ++#9058=EDGE_CURVE('',#4891,#4892,#2783,.T.); ++#9060=EDGE_CURVE('',#4892,#4891,#2788,.T.); ++#9071=EDGE_CURVE('',#4892,#4848,#2796,.T.); ++#9074=EDGE_CURVE('',#4891,#4847,#2792,.T.); ++#9097=EDGE_CURVE('',#4900,#4896,#2804,.T.); ++#9099=EDGE_CURVE('',#4895,#4896,#2809,.T.); ++#9101=EDGE_CURVE('',#4899,#4895,#2800,.T.); ++#9113=EDGE_CURVE('',#4896,#4895,#2814,.T.); ++#9128=EDGE_CURVE('',#4903,#4904,#2819,.T.); ++#9130=EDGE_CURVE('',#4904,#4903,#2824,.T.); ++#9141=EDGE_CURVE('',#4904,#4852,#2832,.T.); ++#9144=EDGE_CURVE('',#4903,#4851,#2828,.T.); ++#9167=EDGE_CURVE('',#4912,#4908,#2840,.T.); ++#9169=EDGE_CURVE('',#4907,#4908,#2845,.T.); ++#9171=EDGE_CURVE('',#4911,#4907,#2836,.T.); ++#9183=EDGE_CURVE('',#4908,#4907,#2850,.T.); ++#9198=EDGE_CURVE('',#4915,#4916,#2855,.T.); ++#9200=EDGE_CURVE('',#4916,#4915,#2860,.T.); ++#9211=EDGE_CURVE('',#4916,#4856,#2868,.T.); ++#9214=EDGE_CURVE('',#4915,#4855,#2864,.T.); ++#9238=EDGE_CURVE('',#4942,#4937,#2872,.T.); ++#9254=EDGE_CURVE('',#4943,#4944,#2882,.T.); ++#9256=EDGE_CURVE('',#4944,#4943,#2892,.T.); ++#9266=EDGE_CURVE('',#4943,#4575,#2900,.T.); ++#9269=EDGE_CURVE('',#4576,#4944,#2896,.T.); ++#9271=EDGE_CURVE('',#4575,#4576,#2905,.T.); ++#9284=EDGE_CURVE('',#4576,#4575,#2910,.T.); ++#9298=EDGE_CURVE('',#4579,#4580,#2915,.T.); ++#9300=EDGE_CURVE('',#4580,#4579,#2920,.T.); ++#9311=EDGE_CURVE('',#4580,#4520,#2928,.T.); ++#9314=EDGE_CURVE('',#4579,#4519,#2924,.T.); ++#9336=EDGE_CURVE('',#5099,#5100,#2932,.T.); ++#9338=EDGE_CURVE('',#5100,#5104,#2937,.T.); ++#9340=EDGE_CURVE('',#5103,#5104,#2941,.T.); ++#9353=EDGE_CURVE('',#5062,#5064,#2959,.T.); ++#9355=EDGE_CURVE('',#5100,#5062,#3044,.T.); ++#9365=EDGE_CURVE('',#5059,#5060,#2950,.T.); ++#9367=EDGE_CURVE('',#5059,#5062,#2955,.T.); ++#9381=EDGE_CURVE('',#5070,#5072,#2977,.T.); ++#9383=EDGE_CURVE('',#5059,#5070,#3048,.T.); ++#9393=EDGE_CURVE('',#5067,#5068,#2968,.T.); ++#9395=EDGE_CURVE('',#5067,#5070,#2973,.T.); ++#9409=EDGE_CURVE('',#5094,#5096,#2995,.T.); ++#9411=EDGE_CURVE('',#5067,#5094,#3052,.T.); ++#9421=EDGE_CURVE('',#5091,#5092,#2986,.T.); ++#9423=EDGE_CURVE('',#5091,#5094,#2991,.T.); ++#9435=EDGE_CURVE('',#5086,#5088,#3013,.T.); ++#9437=EDGE_CURVE('',#5091,#5086,#3056,.T.); ++#9449=EDGE_CURVE('',#5083,#5084,#3004,.T.); ++#9451=EDGE_CURVE('',#5083,#5086,#3009,.T.); ++#9463=EDGE_CURVE('',#5078,#5080,#3031,.T.); ++#9465=EDGE_CURVE('',#5083,#5078,#3060,.T.); ++#9477=EDGE_CURVE('',#5075,#5076,#3022,.T.); ++#9479=EDGE_CURVE('',#5075,#5078,#3027,.T.); ++#9492=EDGE_CURVE('',#5075,#5104,#3040,.T.); ++#9525=EDGE_CURVE('',#4755,#4751,#3064,.T.); ++#9527=EDGE_CURVE('',#4751,#4752,#3073,.T.); ++#9529=EDGE_CURVE('',#4756,#4752,#3068,.T.); ++#9541=EDGE_CURVE('',#4752,#4751,#3078,.T.); ++#9563=EDGE_CURVE('',#4763,#4759,#3082,.T.); ++#9565=EDGE_CURVE('',#4759,#4760,#3091,.T.); ++#9567=EDGE_CURVE('',#4764,#4760,#3086,.T.); ++#9579=EDGE_CURVE('',#4760,#4759,#3096,.T.); ++#9601=EDGE_CURVE('',#4732,#4728,#3104,.T.); ++#9603=EDGE_CURVE('',#4727,#4728,#3109,.T.); ++#9605=EDGE_CURVE('',#4731,#4727,#3100,.T.); ++#9617=EDGE_CURVE('',#4728,#4727,#3114,.T.); ++#9639=EDGE_CURVE('',#4724,#4720,#3122,.T.); ++#9641=EDGE_CURVE('',#4719,#4720,#3127,.T.); ++#9643=EDGE_CURVE('',#4723,#4719,#3118,.T.); ++#9655=EDGE_CURVE('',#4720,#4719,#3132,.T.); ++#9677=EDGE_CURVE('',#4716,#4712,#3140,.T.); ++#9679=EDGE_CURVE('',#4711,#4712,#3145,.T.); ++#9681=EDGE_CURVE('',#4715,#4711,#3136,.T.); ++#9693=EDGE_CURVE('',#4712,#4711,#3150,.T.); ++#9714=EDGE_CURVE('',#4947,#4948,#3154,.T.); ++#9716=EDGE_CURVE('',#4948,#4960,#3238,.T.); ++#9718=EDGE_CURVE('',#4959,#4960,#3217,.T.); ++#9731=EDGE_CURVE('',#4951,#4952,#3163,.T.); ++#9733=EDGE_CURVE('',#4952,#4948,#3168,.T.); ++#9745=EDGE_CURVE('',#4971,#4972,#3172,.T.); ++#9747=EDGE_CURVE('',#4972,#4952,#3226,.T.); ++#9759=EDGE_CURVE('',#4975,#4976,#3181,.T.); ++#9761=EDGE_CURVE('',#4976,#4972,#3186,.T.); ++#9771=EDGE_CURVE('',#4963,#4964,#3190,.T.); ++#9773=EDGE_CURVE('',#4964,#4976,#3230,.T.); ++#9787=EDGE_CURVE('',#4967,#4968,#3199,.T.); ++#9789=EDGE_CURVE('',#4968,#4964,#3204,.T.); ++#9799=EDGE_CURVE('',#4955,#4956,#3208,.T.); ++#9801=EDGE_CURVE('',#4956,#4968,#3234,.T.); ++#9816=EDGE_CURVE('',#4960,#4956,#3222,.T.); ++#9842=EDGE_CURVE('',#5035,#5036,#3242,.T.); ++#9845=EDGE_CURVE('',#5046,#5048,#3321,.T.); ++#9847=EDGE_CURVE('',#5035,#5046,#3264,.T.); ++#9858=EDGE_CURVE('',#5035,#5038,#3247,.T.); ++#9860=EDGE_CURVE('',#5038,#5040,#3251,.T.); ++#9871=EDGE_CURVE('',#5027,#5030,#3281,.T.); ++#9873=EDGE_CURVE('',#5027,#5038,#3260,.T.); ++#9877=EDGE_CURVE('',#5043,#5046,#3317,.T.); ++#9879=EDGE_CURVE('',#5043,#5054,#3268,.T.); ++#9881=EDGE_CURVE('',#5051,#5054,#3299,.T.); ++#9883=EDGE_CURVE('',#5051,#5030,#3272,.T.); ++#9893=EDGE_CURVE('',#5027,#5028,#3276,.T.); ++#9896=EDGE_CURVE('',#5030,#5032,#3285,.T.); ++#9921=EDGE_CURVE('',#5051,#5052,#3294,.T.); ++#9934=EDGE_CURVE('',#5054,#5056,#3303,.T.); ++#9945=EDGE_CURVE('',#5043,#5044,#3312,.T.); ++#9971=EDGE_CURVE('',#5121,#5107,#3330,.T.); ++#9973=EDGE_CURVE('',#5107,#5108,#3346,.T.); ++#9975=EDGE_CURVE('',#5122,#5108,#3342,.T.); ++#9986=EDGE_CURVE('',#5126,#5112,#3334,.T.); ++#9988=EDGE_CURVE('',#5112,#5107,#3351,.T.); ++#10000=EDGE_CURVE('',#5124,#5110,#3338,.T.); ++#10002=EDGE_CURVE('',#5110,#5112,#3355,.T.); ++#10015=EDGE_CURVE('',#5108,#5110,#3360,.T.); ++#10038=EDGE_CURVE('',#5140,#5136,#3397,.T.); ++#10040=EDGE_CURVE('',#5118,#5140,#3365,.T.); ++#10042=EDGE_CURVE('',#5116,#5118,#3370,.T.); ++#10044=EDGE_CURVE('',#5115,#5116,#3375,.T.); ++#10046=EDGE_CURVE('',#5136,#5115,#3379,.T.); ++#10056=EDGE_CURVE('',#5135,#5136,#3383,.T.); ++#10059=EDGE_CURVE('',#5139,#5140,#3392,.T.); ++#10072=EDGE_CURVE('',#5129,#5115,#3401,.T.); ++#10086=EDGE_CURVE('',#5130,#5116,#3405,.T.); ++#10099=EDGE_CURVE('',#5132,#5118,#3409,.T.); ++#10121=EDGE_CURVE('',#5183,#5184,#3413,.T.); ++#10124=EDGE_CURVE('',#5188,#5186,#3422,.T.); ++#10126=EDGE_CURVE('',#5188,#5183,#3427,.T.); ++#10137=EDGE_CURVE('',#5183,#5143,#3444,.T.); ++#10139=EDGE_CURVE('',#5147,#5143,#3486,.T.); ++#10150=EDGE_CURVE('',#5191,#5172,#3431,.T.); ++#10152=EDGE_CURVE('',#5196,#5191,#3478,.T.); ++#10154=EDGE_CURVE('',#5144,#5196,#3435,.T.); ++#10156=EDGE_CURVE('',#5143,#5144,#3440,.T.); ++#10160=EDGE_CURVE('',#5160,#5188,#3448,.T.); ++#10162=EDGE_CURVE('',#5164,#5160,#3558,.T.); ++#10164=EDGE_CURVE('',#5152,#5164,#3452,.T.); ++#10166=EDGE_CURVE('',#5156,#5152,#3540,.T.); ++#10168=EDGE_CURVE('',#5176,#5156,#3456,.T.); ++#10170=EDGE_CURVE('',#5180,#5176,#3522,.T.); ++#10172=EDGE_CURVE('',#5168,#5180,#3460,.T.); ++#10174=EDGE_CURVE('',#5172,#5168,#3504,.T.); ++#10184=EDGE_CURVE('',#5191,#5192,#3464,.T.); ++#10187=EDGE_CURVE('',#5171,#5172,#3499,.T.); ++#10200=EDGE_CURVE('',#5196,#5194,#3473,.T.); ++#10213=EDGE_CURVE('',#5148,#5144,#3482,.T.); ++#10236=EDGE_CURVE('',#5167,#5168,#3490,.T.); ++#10251=EDGE_CURVE('',#5179,#5180,#3517,.T.); ++#10262=EDGE_CURVE('',#5175,#5176,#3508,.T.); ++#10275=EDGE_CURVE('',#5155,#5156,#3535,.T.); ++#10288=EDGE_CURVE('',#5151,#5152,#3526,.T.); ++#10303=EDGE_CURVE('',#5163,#5164,#3553,.T.); ++#10314=EDGE_CURVE('',#5159,#5160,#3544,.T.); ++#10340=EDGE_CURVE('',#5207,#5199,#3562,.T.); ++#10342=EDGE_CURVE('',#5199,#5200,#3578,.T.); ++#10344=EDGE_CURVE('',#5208,#5200,#3574,.T.); ++#10355=EDGE_CURVE('',#5212,#5204,#3566,.T.); ++#10357=EDGE_CURVE('',#5204,#5199,#3583,.T.); ++#10369=EDGE_CURVE('',#5210,#5202,#3570,.T.); ++#10371=EDGE_CURVE('',#5202,#5204,#3587,.T.); ++#10384=EDGE_CURVE('',#5200,#5202,#3592,.T.); ++#10408=EDGE_CURVE('',#5223,#5215,#3596,.T.); ++#10410=EDGE_CURVE('',#5215,#5216,#3612,.T.); ++#10412=EDGE_CURVE('',#5224,#5216,#3608,.T.); ++#10423=EDGE_CURVE('',#5228,#5220,#3600,.T.); ++#10425=EDGE_CURVE('',#5220,#5215,#3617,.T.); ++#10437=EDGE_CURVE('',#5226,#5218,#3604,.T.); ++#10439=EDGE_CURVE('',#5218,#5220,#3621,.T.); ++#10452=EDGE_CURVE('',#5216,#5218,#3626,.T.); ++#10476=EDGE_CURVE('',#5239,#5231,#3630,.T.); ++#10478=EDGE_CURVE('',#5231,#5232,#3646,.T.); ++#10480=EDGE_CURVE('',#5240,#5232,#3642,.T.); ++#10491=EDGE_CURVE('',#5244,#5236,#3634,.T.); ++#10493=EDGE_CURVE('',#5236,#5231,#3651,.T.); ++#10505=EDGE_CURVE('',#5242,#5234,#3638,.T.); ++#10507=EDGE_CURVE('',#5234,#5236,#3655,.T.); ++#10520=EDGE_CURVE('',#5232,#5234,#3660,.T.); ++#10544=EDGE_CURVE('',#5255,#5247,#3664,.T.); ++#10546=EDGE_CURVE('',#5247,#5248,#3680,.T.); ++#10548=EDGE_CURVE('',#5256,#5248,#3676,.T.); ++#10559=EDGE_CURVE('',#5260,#5252,#3668,.T.); ++#10561=EDGE_CURVE('',#5252,#5247,#3685,.T.); ++#10573=EDGE_CURVE('',#5258,#5250,#3672,.T.); ++#10575=EDGE_CURVE('',#5250,#5252,#3689,.T.); ++#10588=EDGE_CURVE('',#5248,#5250,#3694,.T.); ++#10612=EDGE_CURVE('',#5278,#5264,#3702,.T.); ++#10614=EDGE_CURVE('',#5263,#5264,#3714,.T.); ++#10616=EDGE_CURVE('',#5277,#5263,#3698,.T.); ++#10627=EDGE_CURVE('',#5280,#5266,#3706,.T.); ++#10629=EDGE_CURVE('',#5264,#5266,#3719,.T.); ++#10641=EDGE_CURVE('',#5282,#5268,#3710,.T.); ++#10643=EDGE_CURVE('',#5266,#5268,#3723,.T.); ++#10656=EDGE_CURVE('',#5268,#5263,#3728,.T.); ++#10679=EDGE_CURVE('',#5480,#5476,#3765,.T.); ++#10681=EDGE_CURVE('',#5480,#5271,#3732,.T.); ++#10683=EDGE_CURVE('',#5271,#5272,#3737,.T.); ++#10685=EDGE_CURVE('',#5272,#5274,#3742,.T.); ++#10687=EDGE_CURVE('',#5274,#5476,#3747,.T.); ++#10697=EDGE_CURVE('',#5475,#5476,#3751,.T.); ++#10700=EDGE_CURVE('',#5479,#5480,#3760,.T.); ++#10713=EDGE_CURVE('',#5288,#5274,#3769,.T.); ++#10727=EDGE_CURVE('',#5286,#5272,#3773,.T.); ++#10740=EDGE_CURVE('',#5285,#5271,#3777,.T.); ++#10763=EDGE_CURVE('',#5306,#5292,#3785,.T.); ++#10765=EDGE_CURVE('',#5291,#5292,#3797,.T.); ++#10767=EDGE_CURVE('',#5305,#5291,#3781,.T.); ++#10778=EDGE_CURVE('',#5308,#5294,#3789,.T.); ++#10780=EDGE_CURVE('',#5292,#5294,#3802,.T.); ++#10792=EDGE_CURVE('',#5310,#5296,#3793,.T.); ++#10794=EDGE_CURVE('',#5294,#5296,#3806,.T.); ++#10807=EDGE_CURVE('',#5296,#5291,#3811,.T.); ++#10830=EDGE_CURVE('',#5472,#5468,#3848,.T.); ++#10832=EDGE_CURVE('',#5472,#5299,#3815,.T.); ++#10834=EDGE_CURVE('',#5299,#5300,#3820,.T.); ++#10836=EDGE_CURVE('',#5300,#5302,#3825,.T.); ++#10838=EDGE_CURVE('',#5302,#5468,#3830,.T.); ++#10848=EDGE_CURVE('',#5467,#5468,#3834,.T.); ++#10851=EDGE_CURVE('',#5471,#5472,#3843,.T.); ++#10864=EDGE_CURVE('',#5316,#5302,#3852,.T.); ++#10878=EDGE_CURVE('',#5314,#5300,#3856,.T.); ++#10891=EDGE_CURVE('',#5313,#5299,#3860,.T.); ++#10914=EDGE_CURVE('',#5336,#5328,#3868,.T.); ++#10916=EDGE_CURVE('',#5327,#5328,#3880,.T.); ++#10918=EDGE_CURVE('',#5335,#5327,#3864,.T.); ++#10929=EDGE_CURVE('',#5338,#5330,#3872,.T.); ++#10931=EDGE_CURVE('',#5328,#5330,#3885,.T.); ++#10943=EDGE_CURVE('',#5340,#5332,#3876,.T.); ++#10945=EDGE_CURVE('',#5330,#5332,#3889,.T.); ++#10958=EDGE_CURVE('',#5332,#5327,#3894,.T.); ++#10982=EDGE_CURVE('',#5352,#5344,#3902,.T.); ++#10984=EDGE_CURVE('',#5343,#5344,#3914,.T.); ++#10986=EDGE_CURVE('',#5351,#5343,#3898,.T.); ++#10997=EDGE_CURVE('',#5354,#5346,#3906,.T.); ++#10999=EDGE_CURVE('',#5344,#5346,#3919,.T.); ++#11011=EDGE_CURVE('',#5356,#5348,#3910,.T.); ++#11013=EDGE_CURVE('',#5346,#5348,#3923,.T.); ++#11026=EDGE_CURVE('',#5348,#5343,#3928,.T.); ++#11050=EDGE_CURVE('',#5368,#5360,#3936,.T.); ++#11052=EDGE_CURVE('',#5359,#5360,#3948,.T.); ++#11054=EDGE_CURVE('',#5367,#5359,#3932,.T.); ++#11065=EDGE_CURVE('',#5370,#5362,#3940,.T.); ++#11067=EDGE_CURVE('',#5360,#5362,#3953,.T.); ++#11079=EDGE_CURVE('',#5372,#5364,#3944,.T.); ++#11081=EDGE_CURVE('',#5362,#5364,#3957,.T.); ++#11094=EDGE_CURVE('',#5364,#5359,#3962,.T.); ++#11118=EDGE_CURVE('',#5384,#5376,#3970,.T.); ++#11120=EDGE_CURVE('',#5375,#5376,#3982,.T.); ++#11122=EDGE_CURVE('',#5383,#5375,#3966,.T.); ++#11133=EDGE_CURVE('',#5386,#5378,#3974,.T.); ++#11135=EDGE_CURVE('',#5376,#5378,#3987,.T.); ++#11147=EDGE_CURVE('',#5388,#5380,#3978,.T.); ++#11149=EDGE_CURVE('',#5378,#5380,#3991,.T.); ++#11162=EDGE_CURVE('',#5380,#5375,#3996,.T.); ++#11186=EDGE_CURVE('',#5405,#5391,#4000,.T.); ++#11188=EDGE_CURVE('',#5391,#5392,#4016,.T.); ++#11190=EDGE_CURVE('',#5406,#5392,#4012,.T.); ++#11201=EDGE_CURVE('',#5410,#5396,#4004,.T.); ++#11203=EDGE_CURVE('',#5396,#5391,#4021,.T.); ++#11215=EDGE_CURVE('',#5408,#5394,#4008,.T.); ++#11217=EDGE_CURVE('',#5394,#5396,#4025,.T.); ++#11230=EDGE_CURVE('',#5392,#5394,#4030,.T.); ++#11253=EDGE_CURVE('',#5488,#5484,#4067,.T.); ++#11255=EDGE_CURVE('',#5402,#5488,#4035,.T.); ++#11257=EDGE_CURVE('',#5400,#5402,#4040,.T.); ++#11259=EDGE_CURVE('',#5399,#5400,#4045,.T.); ++#11261=EDGE_CURVE('',#5484,#5399,#4049,.T.); ++#11271=EDGE_CURVE('',#5483,#5484,#4053,.T.); ++#11274=EDGE_CURVE('',#5487,#5488,#4062,.T.); ++#11287=EDGE_CURVE('',#5413,#5399,#4071,.T.); ++#11301=EDGE_CURVE('',#5414,#5400,#4075,.T.); ++#11314=EDGE_CURVE('',#5416,#5402,#4079,.T.); ++#11336=EDGE_CURVE('',#5451,#5452,#4083,.T.); ++#11338=EDGE_CURVE('',#5452,#5456,#4088,.T.); ++#11340=EDGE_CURVE('',#5455,#5456,#4092,.T.); ++#11353=EDGE_CURVE('',#5422,#5424,#4110,.T.); ++#11355=EDGE_CURVE('',#5452,#5422,#4216,.T.); ++#11365=EDGE_CURVE('',#5419,#5420,#4101,.T.); ++#11367=EDGE_CURVE('',#5419,#5422,#4106,.T.); ++#11381=EDGE_CURVE('',#5430,#5432,#4128,.T.); ++#11383=EDGE_CURVE('',#5419,#5430,#4220,.T.); ++#11393=EDGE_CURVE('',#5427,#5428,#4119,.T.); ++#11395=EDGE_CURVE('',#5427,#5430,#4124,.T.); ++#11409=EDGE_CURVE('',#5446,#5448,#4146,.T.); ++#11411=EDGE_CURVE('',#5427,#5446,#4224,.T.); ++#11421=EDGE_CURVE('',#5443,#5444,#4137,.T.); ++#11423=EDGE_CURVE('',#5443,#5446,#4142,.T.); ++#11435=EDGE_CURVE('',#5438,#5440,#4164,.T.); ++#11437=EDGE_CURVE('',#5443,#5438,#4228,.T.); ++#11449=EDGE_CURVE('',#5435,#5436,#4155,.T.); ++#11451=EDGE_CURVE('',#5435,#5438,#4160,.T.); ++#11463=EDGE_CURVE('',#5463,#5464,#4182,.T.); ++#11465=EDGE_CURVE('',#5435,#5464,#4199,.T.); ++#11477=EDGE_CURVE('',#5459,#5460,#4173,.T.); ++#11479=EDGE_CURVE('',#5460,#5464,#4178,.T.); ++#11493=EDGE_CURVE('',#5323,#5319,#4191,.T.); ++#11495=EDGE_CURVE('',#5460,#5319,#4203,.T.); ++#11506=EDGE_CURVE('',#5324,#5320,#4195,.T.); ++#11508=EDGE_CURVE('',#5319,#5320,#4208,.T.); ++#11520=EDGE_CURVE('',#5320,#5456,#4212,.T.); ++#11562=ADVANCED_BREP_SHAPE_REPRESENTATION('',(#11550),#11561); ++#11569=PRODUCT_DEFINITION('design','',#11568,#11565); ++#11570=PRODUCT_DEFINITION_SHAPE('','SHAPE FOR PROESOURCE.',#11569); ++#11571=SHAPE_DEFINITION_REPRESENTATION(#11570,#11562); ++ENDSEC; ++END-ISO-10303-21; diff --git a/config/patches/occt/opencv.001_compile.patch b/config/patches/occt/opencv.001_compile.patch new file mode 100644 index 0000000..9550f24 --- /dev/null +++ b/config/patches/occt/opencv.001_compile.patch @@ -0,0 +1,22 @@ +diff -NaurwB opencv-2.4.6.1__0/cmake/OpenCVCompilerOptions.cmake opencv-2.4.6.1__1/cmake/OpenCVCompilerOptions.cmake +--- opencv-2.4.6.1__0/cmake/OpenCVCompilerOptions.cmake 2013-07-10 15:49:00.000000000 +0400 ++++ opencv-2.4.6.1__1/cmake/OpenCVCompilerOptions.cmake 2017-03-15 17:06:11.464387144 +0300 +@@ -1,14 +1,14 @@ +-if(MINGW OR (X86 AND UNIX AND NOT APPLE)) +- # mingw compiler is known to produce unstable SSE code with -O3 hence we are trying to use -O2 instead ++if(1 OR MINGW OR (X86 AND UNIX AND NOT APPLE)) ++ # mingw compiler is known to produce unstable SSE code with -O3 hence we are trying to use -O0 instead + if(CMAKE_COMPILER_IS_GNUCXX) + foreach(flags CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_RELEASE CMAKE_CXX_FLAGS_DEBUG) +- string(REPLACE "-O3" "-O2" ${flags} "${${flags}}") ++ string(REPLACE "-O3" "-O0" ${flags} "${${flags}}") + endforeach() + endif() + + if(CMAKE_COMPILER_IS_GNUCC) + foreach(flags CMAKE_C_FLAGS CMAKE_C_FLAGS_RELEASE CMAKE_C_FLAGS_DEBUG) +- string(REPLACE "-O3" "-O2" ${flags} "${${flags}}") ++ string(REPLACE "-O3" "-O0" ${flags} "${${flags}}") + endforeach() + endif() + endif() diff --git a/config/patches/occt/opencv.002_gcc6.patch b/config/patches/occt/opencv.002_gcc6.patch new file mode 100644 index 0000000..79c8045 --- /dev/null +++ b/config/patches/occt/opencv.002_gcc6.patch @@ -0,0 +1,131 @@ +diff -Naur opencv-2.4.6.1_SRC_orig/cmake/OpenCVPCHSupport.cmake opencv-2.4.6.1_SRC_modif/cmake/OpenCVPCHSupport.cmake +--- opencv-2.4.6.1_SRC_orig/cmake/OpenCVPCHSupport.cmake 2013-07-10 15:49:00.000000000 +0400 ++++ opencv-2.4.6.1_SRC_modif/cmake/OpenCVPCHSupport.cmake 2016-10-17 17:34:32.000000000 +0300 +@@ -19,7 +19,7 @@ + ARGS ${CMAKE_CXX_COMPILER_ARG1} -dumpversion + OUTPUT_VARIABLE gcc_compiler_version) + #MESSAGE("GCC Version: ${gcc_compiler_version}") +- IF(gcc_compiler_version VERSION_GREATER "4.2.-1") ++ IF(gcc_compiler_version VERSION_GREATER "4.2.-1" AND gcc_compiler_version VERSION_LESS "6.0.0") + SET(PCHSupport_FOUND TRUE) + ENDIF() + +diff -Naur opencv-2.4.6.1_SRC_orig/modules/contrib/src/chamfermatching.cpp opencv-2.4.6.1_SRC_modif/modules/contrib/src/chamfermatching.cpp +--- opencv-2.4.6.1_SRC_orig/modules/contrib/src/chamfermatching.cpp 2013-07-10 15:49:00.000000000 +0400 ++++ opencv-2.4.6.1_SRC_modif/modules/contrib/src/chamfermatching.cpp 2016-10-17 18:11:47.000000000 +0300 +@@ -959,10 +959,8 @@ + for (int y=0;y(y,x)[0]=x; +- annotate_img.at(y,x)[1]=y; +- } ++ annotate_img.at(y,x)[0]=x; ++ annotate_img.at(y,x)[1]=y; + + uchar edge_val = edges_img.at(y,x); + if( (edge_val!=0) ) { +@@ -1005,11 +1003,9 @@ + if (dt==-1 || dt>dist) { + dist_img.at(ny,nx) = dist; + q.push(std::make_pair(nx,ny)); +- +- if (&annotate_img!=NULL) { +- annotate_img.at(ny,nx)[0]=annotate_img.at(y,x)[0]; +- annotate_img.at(ny,nx)[1]=annotate_img.at(y,x)[1]; +- } ++ ++ annotate_img.at(ny,nx)[0]=annotate_img.at(y,x)[0]; ++ annotate_img.at(ny,nx)[1]=annotate_img.at(y,x)[1]; + } + } + } +@@ -1101,26 +1097,24 @@ + float cost = (sum_distance/truncate_)/addr.size(); + + +- if (&orientation_img!=NULL) { +- float* optr = orientation_img.ptr(y)+x; +- float sum_orientation = 0; +- int cnt_orientation = 0; +- +- for (size_t i=0;iorientations[i]>=-CV_PI && (*(optr+addr[i]))>=-CV_PI) { +- sum_orientation += orientation_diff(tpl->orientations[i], (*(optr+addr[i]))); +- cnt_orientation++; +- } +- } +- } + +- if (cnt_orientation>0) { +- cost = (float)(beta*cost+alpha*(sum_orientation/(2*CV_PI))/cnt_orientation); +- } +- +- } ++ float* optr = orientation_img.ptr(y)+x; ++ float sum_orientation = 0; ++ int cnt_orientation = 0; ++ ++ for (size_t i=0;iorientations[i]>=-CV_PI && (*(optr+addr[i]))>=-CV_PI) { ++ sum_orientation += orientation_diff(tpl->orientations[i], (*(optr+addr[i]))); ++ cnt_orientation++; ++ } ++ } ++ } ++ ++ if (cnt_orientation>0) { ++ cost = (float)(beta*cost+alpha*(sum_orientation/(2*CV_PI))/cnt_orientation); ++ } + + if(cost > 0){ + ChamferMatcher::Match* istance = new ChamferMatcher::Match(); +diff -Naur opencv-2.4.6.1_SRC_orig/modules/legacy/src/dpstereo.cpp opencv-2.4.6.1_SRC_modif/modules/legacy/src/dpstereo.cpp +--- opencv-2.4.6.1_SRC_orig/modules/legacy/src/dpstereo.cpp 2013-07-10 15:49:00.000000000 +0400 ++++ opencv-2.4.6.1_SRC_modif/modules/legacy/src/dpstereo.cpp 2016-10-18 10:22:03.257968598 +0300 +@@ -76,8 +76,8 @@ + uchar min_val, max_val; + } _CvRightImData; + +-#define CV_IMAX3(a,b,c) ((temp3 = (a) >= (b) ? (a) : (b)),(temp3 >= (c) ? temp3 : (c))) +-#define CV_IMIN3(a,b,c) ((temp3 = (a) <= (b) ? (a) : (b)),(temp3 <= (c) ? temp3 : (c))) ++#define CV_IMAX3(a,b,c) (std::max(std::max((a), (b)), (c))) ++#define CV_IMIN3(a,b,c) (std::min(std::min((a), (b)), (c))) + + static void icvFindStereoCorrespondenceByBirchfieldDP( uchar* src1, uchar* src2, + uchar* disparities, +@@ -87,7 +87,7 @@ + float _param3, float _param4, + float _param5 ) + { +- int x, y, i, j, temp3; ++ int x, y, i, j; + int d, s; + int dispH = maxDisparity + 3; + uchar *dispdata; +diff -Naur opencv-2.4.6.1_SRC_orig/modules/ts/include/opencv2/ts/ts_perf.hpp opencv-2.4.6.1_SRC_modif/modules/ts/include/opencv2/ts/ts_perf.hpp +--- opencv-2.4.6.1_SRC_orig/modules/ts/include/opencv2/ts/ts_perf.hpp 2013-07-10 15:49:00.000000000 +0400 ++++ opencv-2.4.6.1_SRC_modif/modules/ts/include/opencv2/ts/ts_perf.hpp 2016-10-17 17:52:29.000000000 +0300 +@@ -475,9 +475,16 @@ + INSTANTIATE_TEST_CASE_P(/*none*/, fixture##_##name, params);\ + void fixture##_##name::PerfTestBody() + ++ #if defined(_MSC_VER) && (_MSC_VER <= 1400) ++ #define CV_PERF_TEST_MAIN_INTERNALS_ARGS(...) \ ++ while (++argc >= (--argc,-1)) {__VA_ARGS__; break;} /*this ugly construction is needed for VS 2005*/ ++ #else ++ #define CV_PERF_TEST_MAIN_INTERNALS_ARGS(...) \ ++ __VA_ARGS__; ++ #endif + + #define CV_PERF_TEST_MAIN_INTERNALS(modulename, impls, ...) \ +- while (++argc >= (--argc,-1)) {__VA_ARGS__; break;} /*this ugly construction is needed for VS 2005*/\ ++ CV_PERF_TEST_MAIN_INTERNALS_ARGS(__VA_ARGS__) \ + ::perf::Regression::Init(#modulename);\ + ::perf::TestBase::Init(std::vector(impls, impls + sizeof impls / sizeof *impls),\ + argc, argv);\ diff --git a/config/patches/occt/planegcs.001_for_shaper.patch b/config/patches/occt/planegcs.001_for_shaper.patch new file mode 100644 index 0000000..28c2a5e --- /dev/null +++ b/config/patches/occt/planegcs.001_for_shaper.patch @@ -0,0 +1,647 @@ +From 853a0a438422d61cf1b9756d6949e04e5270d495 Mon Sep 17 00:00:00 2001 +From: azv +Date: Thu, 2 Aug 2018 11:32:16 +0300 +Subject: [PATCH] Update PlaneGCS solver for SHAPER needs + +* Add possibility to compile PlaneGCS as a shared library +* Possibility to avoid memory clearance inside the solver (make possible external memory management) +--- + src/Mod/Sketcher/App/planegcs/Constraints.h | 48 ++++++++--------- + src/Mod/Sketcher/App/planegcs/GCS.cpp | 81 +++++++++++++++++++++++------ + src/Mod/Sketcher/App/planegcs/GCS.h | 8 +-- + src/Mod/Sketcher/App/planegcs/Geo.h | 34 ++++++------ + src/Mod/Sketcher/App/planegcs/Util.h | 10 ++++ + 5 files changed, 123 insertions(+), 58 deletions(-) + +diff --git a/src/Mod/Sketcher/App/planegcs/Constraints.h b/src/Mod/Sketcher/App/planegcs/Constraints.h +index 559f3a2..76e4763 100644 +--- a/src/Mod/Sketcher/App/planegcs/Constraints.h ++++ b/src/Mod/Sketcher/App/planegcs/Constraints.h +@@ -91,7 +91,7 @@ namespace GCS + HyperbolaNegativeMinorY = 17 + }; + +- class Constraint ++ class PLANEGCS_EXPORT Constraint + { + _PROTECTED_UNLESS_EXTRACT_MODE_: + VEC_pD origpvec; // is used only as a reference for redirecting and reverting pvec +@@ -128,7 +128,7 @@ namespace GCS + }; + + // Equal +- class ConstraintEqual : public Constraint ++ class PLANEGCS_EXPORT ConstraintEqual : public Constraint + { + private: + inline double* param1() { return pvec[0]; } +@@ -142,7 +142,7 @@ namespace GCS + }; + + // Difference +- class ConstraintDifference : public Constraint ++ class PLANEGCS_EXPORT ConstraintDifference : public Constraint + { + private: + inline double* param1() { return pvec[0]; } +@@ -157,7 +157,7 @@ namespace GCS + }; + + // P2PDistance +- class ConstraintP2PDistance : public Constraint ++ class PLANEGCS_EXPORT ConstraintP2PDistance : public Constraint + { + private: + inline double* p1x() { return pvec[0]; } +@@ -178,7 +178,7 @@ namespace GCS + }; + + // P2PAngle +- class ConstraintP2PAngle : public Constraint ++ class PLANEGCS_EXPORT ConstraintP2PAngle : public Constraint + { + private: + inline double* p1x() { return pvec[0]; } +@@ -200,7 +200,7 @@ namespace GCS + }; + + // P2LDistance +- class ConstraintP2LDistance : public Constraint ++ class PLANEGCS_EXPORT ConstraintP2LDistance : public Constraint + { + private: + inline double* p0x() { return pvec[0]; } +@@ -224,7 +224,7 @@ namespace GCS + }; + + // PointOnLine +- class ConstraintPointOnLine : public Constraint ++ class PLANEGCS_EXPORT ConstraintPointOnLine : public Constraint + { + private: + inline double* p0x() { return pvec[0]; } +@@ -246,7 +246,7 @@ namespace GCS + }; + + // PointOnPerpBisector +- class ConstraintPointOnPerpBisector : public Constraint ++ class PLANEGCS_EXPORT ConstraintPointOnPerpBisector : public Constraint + { + private: + inline double* p0x() { return pvec[0]; } +@@ -268,7 +268,7 @@ namespace GCS + }; + + // Parallel +- class ConstraintParallel : public Constraint ++ class PLANEGCS_EXPORT ConstraintParallel : public Constraint + { + private: + inline double* l1p1x() { return pvec[0]; } +@@ -291,7 +291,7 @@ namespace GCS + }; + + // Perpendicular +- class ConstraintPerpendicular : public Constraint ++ class PLANEGCS_EXPORT ConstraintPerpendicular : public Constraint + { + private: + inline double* l1p1x() { return pvec[0]; } +@@ -315,7 +315,7 @@ namespace GCS + }; + + // L2LAngle +- class ConstraintL2LAngle : public Constraint ++ class PLANEGCS_EXPORT ConstraintL2LAngle : public Constraint + { + private: + inline double* l1p1x() { return pvec[0]; } +@@ -342,7 +342,7 @@ namespace GCS + }; + + // MidpointOnLine +- class ConstraintMidpointOnLine : public Constraint ++ class PLANEGCS_EXPORT ConstraintMidpointOnLine : public Constraint + { + private: + inline double* l1p1x() { return pvec[0]; } +@@ -366,7 +366,7 @@ namespace GCS + }; + + // TangentCircumf +- class ConstraintTangentCircumf : public Constraint ++ class PLANEGCS_EXPORT ConstraintTangentCircumf : public Constraint + { + private: + inline double* c1x() { return pvec[0]; } +@@ -389,7 +389,7 @@ namespace GCS + virtual double grad(double *); + }; + // PointOnEllipse +- class ConstraintPointOnEllipse : public Constraint ++ class PLANEGCS_EXPORT ConstraintPointOnEllipse : public Constraint + { + private: + inline double* p1x() { return pvec[0]; } +@@ -411,7 +411,7 @@ namespace GCS + virtual double grad(double *); + }; + +- class ConstraintEllipseTangentLine : public Constraint ++ class PLANEGCS_EXPORT ConstraintEllipseTangentLine : public Constraint + { + private: + Line l; +@@ -426,7 +426,7 @@ namespace GCS + virtual double grad(double *); + }; + +- class ConstraintInternalAlignmentPoint2Ellipse : public Constraint ++ class PLANEGCS_EXPORT ConstraintInternalAlignmentPoint2Ellipse : public Constraint + { + public: + ConstraintInternalAlignmentPoint2Ellipse(Ellipse &e, Point &p1, InternalAlignmentType alignmentType); +@@ -442,7 +442,7 @@ namespace GCS + InternalAlignmentType AlignmentType; + }; + +- class ConstraintInternalAlignmentPoint2Hyperbola : public Constraint ++ class PLANEGCS_EXPORT ConstraintInternalAlignmentPoint2Hyperbola : public Constraint + { + public: + ConstraintInternalAlignmentPoint2Hyperbola(Hyperbola &e, Point &p1, InternalAlignmentType alignmentType); +@@ -458,7 +458,7 @@ namespace GCS + InternalAlignmentType AlignmentType; + }; + +- class ConstraintEqualMajorAxesConic : public Constraint ++ class PLANEGCS_EXPORT ConstraintEqualMajorAxesConic : public Constraint + { + private: + MajorRadiusConic * e1; +@@ -473,7 +473,7 @@ namespace GCS + virtual double grad(double *); + }; + +- class ConstraintEqualFocalDistance : public Constraint ++ class PLANEGCS_EXPORT ConstraintEqualFocalDistance : public Constraint + { + private: + ArcOfParabola * e1; +@@ -488,7 +488,7 @@ namespace GCS + virtual double grad(double *); + }; + +- class ConstraintCurveValue : public Constraint ++ class PLANEGCS_EXPORT ConstraintCurveValue : public Constraint + { + private: + inline double* pcoord() { return pvec[2]; } //defines, which coordinate of point is being constrained by this constraint +@@ -515,7 +515,7 @@ namespace GCS + }; + + // PointOnHyperbola +- class ConstraintPointOnHyperbola : public Constraint ++ class PLANEGCS_EXPORT ConstraintPointOnHyperbola : public Constraint + { + private: + inline double* p1x() { return pvec[0]; } +@@ -538,7 +538,7 @@ namespace GCS + }; + + // PointOnParabola +- class ConstraintPointOnParabola : public Constraint ++ class PLANEGCS_EXPORT ConstraintPointOnParabola : public Constraint + { + private: + void errorgrad(double* err, double* grad, double *param); //error and gradient combined. Values are returned through pointers. +@@ -558,7 +558,7 @@ namespace GCS + virtual double grad(double *); + }; + +- class ConstraintAngleViaPoint : public Constraint ++ class PLANEGCS_EXPORT ConstraintAngleViaPoint : public Constraint + { + private: + inline double* angle() { return pvec[0]; }; +@@ -583,7 +583,7 @@ namespace GCS + virtual double grad(double *); + }; + +- class ConstraintSnell : public Constraint //snell's law angles constrainer. Point needs to lie on all three curves to be constraied. ++ class PLANEGCS_EXPORT ConstraintSnell : public Constraint //snell's law angles constrainer. Point needs to lie on all three curves to be constraied. + { + private: + inline double* n1() { return pvec[0]; }; +diff --git a/src/Mod/Sketcher/App/planegcs/GCS.cpp b/src/Mod/Sketcher/App/planegcs/GCS.cpp +index 474024a..9103653 100644 +--- a/src/Mod/Sketcher/App/planegcs/GCS.cpp ++++ b/src/Mod/Sketcher/App/planegcs/GCS.cpp +@@ -101,11 +101,56 @@ + #endif + + #include ++#ifndef _GCS_USE_STL_OUTPUT + #include ++#endif + + #include + #include + ++namespace GCS ++{ ++ void Log(const char* message) ++ { ++#ifdef _GCS_USE_STL_OUTPUT ++ std::cout << message << std::endl; ++#else ++ Base::Console().Log(message); ++#endif ++ } ++ ++ void Log(const char* format, const char* param) ++ { ++#ifdef _GCS_USE_STL_OUTPUT ++ static char message[4096]; ++ sprintf(message, format, param); ++ std::cout << message << std::endl; ++#else ++ Base::Console().Log(format, param); ++#endif ++ } ++ ++ void Log(const char* format, const size_t param) ++ { ++#ifdef _GCS_USE_STL_OUTPUT ++ static char message[4096]; ++ sprintf(message, format, param); ++ std::cout << message << std::endl; ++#else ++ Base::Console().Log(format, param); ++#endif ++} ++ ++ void Warning(const char* message) ++ { ++#ifdef _GCS_USE_STL_OUTPUT ++ std::cout << "Warning: " << message << std::endl; ++#else ++ Base::Console().Warning(message); ++#endif ++ } ++} ++ + typedef Eigen::FullPivHouseholderQR::IntDiagSizeVectorType MatrixIndexType; + + #ifdef _GCS_DEBUG +@@ -130,7 +175,7 @@ void LogMatrix(std::string str, Eigen::MatrixXd matrix ) + #else + const std::string tmp = stream.str(); + +- Base::Console().Log(tmp.c_str()); ++ GCS::Log(tmp.c_str()); + #endif + } + +@@ -155,7 +200,7 @@ void LogMatrix(std::string str, MatrixIndexType matrix ) + #else + const std::string tmp = stream.str(); + +- Base::Console().Log(tmp.c_str()); ++ GCS::Log(tmp.c_str()); + #endif + } + #endif +@@ -178,7 +223,7 @@ void LogString(std::string str) + #else + const std::string tmp = stream.str(); + +- Base::Console().Log(tmp.c_str()); ++ GCS::Log(tmp.c_str()); + #endif + } + +@@ -429,7 +474,11 @@ void System::clear() + + reference.clear(); + clearSubSystems(); ++#ifdef _GCS_DO_NOT_FREE_CONSTRAINTS_MEMORY ++ clist.clear(); ++#else + free(clist); ++#endif + c2p.clear(); + p2c.clear(); + } +@@ -486,9 +535,11 @@ void System::removeConstraint(Constraint *constr) + } + c2p.erase(constr); + ++#ifndef _GCS_DO_NOT_FREE_CONSTRAINTS_MEMORY + std::vector constrvec; + constrvec.push_back(constr); + free(constrvec); ++#endif + } + + // basic constraints +@@ -1477,7 +1528,7 @@ int System::solve_BFGS(SubSystem *subsys, bool /*isFine*/, bool isRedundantsolvi + << ", maxIter: " << maxIterNumber << "\n"; + + const std::string tmp = stream.str(); +- Base::Console().Log(tmp.c_str()); ++ GCS::Log(tmp.c_str()); + } + + double divergingLim = 1e6*err + 1e12; +@@ -1493,7 +1544,7 @@ int System::solve_BFGS(SubSystem *subsys, bool /*isFine*/, bool isRedundantsolvi + << ", h_norm: " << h_norm << "\n"; + + const std::string tmp = stream.str(); +- Base::Console().Log(tmp.c_str()); ++ GCS::Log(tmp.c_str()); + } + break; + } +@@ -1505,7 +1556,7 @@ int System::solve_BFGS(SubSystem *subsys, bool /*isFine*/, bool isRedundantsolvi + << ", divergingLim: " << divergingLim << "\n"; + + const std::string tmp = stream.str(); +- Base::Console().Log(tmp.c_str()); ++ GCS::Log(tmp.c_str()); + } + break; + } +@@ -1542,7 +1593,7 @@ int System::solve_BFGS(SubSystem *subsys, bool /*isFine*/, bool isRedundantsolvi + << ", h_norm: " << h_norm << "\n"; + + const std::string tmp = stream.str(); +- Base::Console().Log(tmp.c_str()); ++ GCS::Log(tmp.c_str()); + } + } + +@@ -1598,7 +1649,7 @@ int System::solve_LM(SubSystem* subsys, bool isRedundantsolving) + << ", maxIter: " << maxIterNumber << "\n"; + + const std::string tmp = stream.str(); +- Base::Console().Log(tmp.c_str()); ++ GCS::Log(tmp.c_str()); + } + + double nu=2, mu=0; +@@ -1712,7 +1763,7 @@ int System::solve_LM(SubSystem* subsys, bool isRedundantsolving) + << ", h_norm: " << h_norm << "\n"; + + const std::string tmp = stream.str(); +- Base::Console().Log(tmp.c_str()); ++ GCS::Log(tmp.c_str()); + } + } + +@@ -1757,7 +1808,7 @@ int System::solve_DL(SubSystem* subsys, bool isRedundantsolving) + << ", maxIter: " << maxIterNumber << "\n"; + + const std::string tmp = stream.str(); +- Base::Console().Log(tmp.c_str()); ++ GCS::Log(tmp.c_str()); + } + + Eigen::VectorXd x(xsize), x_new(xsize); +@@ -1912,7 +1963,7 @@ int System::solve_DL(SubSystem* subsys, bool isRedundantsolving) + << ", err(divergingLim): " << err << "\n"; + + const std::string tmp = stream.str(); +- Base::Console().Log(tmp.c_str()); ++ GCS::Log(tmp.c_str()); + } + + // count this iteration and start again +@@ -1926,7 +1977,7 @@ int System::solve_DL(SubSystem* subsys, bool isRedundantsolving) + stream << "DL: stopcode: " << stop << ((stop == 1) ? ", Success" : ", Failed") << "\n"; + + const std::string tmp = stream.str(); +- Base::Console().Log(tmp.c_str()); ++ GCS::Log(tmp.c_str()); + } + + return (stop == 1) ? Success : Failed; +@@ -3721,7 +3772,7 @@ int System::diagnose(Algorithm alg) + Eigen::SparseQR, Eigen::COLAMDOrdering > SqrJT; + #else + if(qrAlgorithm==EigenSparseQR){ +- Base::Console().Warning("SparseQR not supported by you current version of Eigen. It requires Eigen 3.2.2 or higher. Falling back to Dense QR\n"); ++ GCS::Warning("SparseQR not supported by you current version of Eigen. It requires Eigen 3.2.2 or higher. Falling back to Dense QR\n"); + qrAlgorithm=EigenDenseQR; + } + #endif +@@ -4074,7 +4125,7 @@ int System::diagnose(Algorithm alg) + break; + } + +- Base::Console().Log("Sketcher::RedundantSolving-%s-\n",solvername.c_str()); ++ GCS::Log("Sketcher::RedundantSolving-%s-\n",solvername.c_str()); + } + + if (res == Success) { +@@ -4088,7 +4139,7 @@ int System::diagnose(Algorithm alg) + resetToReference(); + + if(debugMode==Minimal || debugMode==IterationLevel) { +- Base::Console().Log("Sketcher Redundant solving: %d redundants\n",redundant.size()); ++ GCS::Log("Sketcher Redundant solving: %d redundants\n",redundant.size()); + } + + std::vector< std::vector > conflictGroupsOrig=conflictGroups; +diff --git a/src/Mod/Sketcher/App/planegcs/GCS.h b/src/Mod/Sketcher/App/planegcs/GCS.h +index 17d57c8..ecc5b04 100644 +--- a/src/Mod/Sketcher/App/planegcs/GCS.h ++++ b/src/Mod/Sketcher/App/planegcs/GCS.h +@@ -69,7 +69,7 @@ namespace GCS + IterationLevel = 2 + }; + +- class System ++ class PLANEGCS_EXPORT System + { + // This is the main class. It holds all constraints and information + // about partitioning into subsystems and solution strategies +@@ -283,9 +283,9 @@ namespace GCS + // Helper elements + /////////////////////////////////////// + +- void free(VEC_pD &doublevec); +- void free(std::vector &constrvec); +- void free(std::vector &subsysvec); ++ PLANEGCS_EXPORT void free(VEC_pD &doublevec); ++ PLANEGCS_EXPORT void free(std::vector &constrvec); ++ PLANEGCS_EXPORT void free(std::vector &subsysvec); + + } //namespace GCS + +diff --git a/src/Mod/Sketcher/App/planegcs/Geo.h b/src/Mod/Sketcher/App/planegcs/Geo.h +index 1cdb983..6246f3b 100644 +--- a/src/Mod/Sketcher/App/planegcs/Geo.h ++++ b/src/Mod/Sketcher/App/planegcs/Geo.h +@@ -26,16 +26,20 @@ + #include + #include "Util.h" + ++#ifdef _MSC_VER ++#pragma warning(disable : 4251) ++#endif ++ + namespace GCS + { +- class DependentParameters ++ class PLANEGCS_EXPORT DependentParameters + { + public: + DependentParameters():hasDependentParameters(false) {} + bool hasDependentParameters; + }; + +- class Point : public DependentParameters ++ class PLANEGCS_EXPORT Point : public DependentParameters + { + public: + Point(){x = 0; y = 0;} +@@ -55,7 +59,7 @@ namespace GCS + ///manually as well. The class also provides a bunch of methods to do math + ///on it (and derivatives are calculated implicitly). + /// +- class DeriVector2 ++ class PLANEGCS_EXPORT DeriVector2 + { + public: + DeriVector2(){x=0; y=0; dx=0; dy=0;} +@@ -95,7 +99,7 @@ namespace GCS + // Geometries + /////////////////////////////////////// + +- class Curve: public DependentParameters //a base class for all curve-based objects (line, circle/arc, ellipse/arc) ++ class PLANEGCS_EXPORT Curve: public DependentParameters //a base class for all curve-based objects (line, circle/arc, ellipse/arc) + { + public: + virtual ~Curve(){} +@@ -125,7 +129,7 @@ namespace GCS + virtual Curve* Copy() = 0; //DeepSOIC: I haven't found a way to simply copy a curve object provided pointer to a curve object. + }; + +- class Line: public Curve ++ class PLANEGCS_EXPORT Line: public Curve + { + public: + Line(){} +@@ -139,7 +143,7 @@ namespace GCS + virtual Line* Copy(); + }; + +- class Circle: public Curve ++ class PLANEGCS_EXPORT Circle: public Curve + { + public: + Circle(){rad = 0;} +@@ -153,7 +157,7 @@ namespace GCS + virtual Circle* Copy(); + }; + +- class Arc: public Circle ++ class PLANEGCS_EXPORT Arc: public Circle + { + public: + Arc(){startAngle=0;endAngle=0;rad=0;} +@@ -169,7 +173,7 @@ namespace GCS + virtual Arc* Copy(); + }; + +- class MajorRadiusConic: public Curve ++ class PLANEGCS_EXPORT MajorRadiusConic: public Curve + { + public: + virtual ~MajorRadiusConic(){} +@@ -179,7 +183,7 @@ namespace GCS + DeriVector2 CalculateNormal(Point &p, double* derivparam = 0) = 0; + }; + +- class Ellipse: public MajorRadiusConic ++ class PLANEGCS_EXPORT Ellipse: public MajorRadiusConic + { + public: + Ellipse(){ radmin = 0;} +@@ -197,7 +201,7 @@ namespace GCS + virtual Ellipse* Copy(); + }; + +- class ArcOfEllipse: public Ellipse ++ class PLANEGCS_EXPORT ArcOfEllipse: public Ellipse + { + public: + ArcOfEllipse(){startAngle=0;endAngle=0;radmin = 0;} +@@ -215,7 +219,7 @@ namespace GCS + virtual ArcOfEllipse* Copy(); + }; + +- class Hyperbola: public MajorRadiusConic ++ class PLANEGCS_EXPORT Hyperbola: public MajorRadiusConic + { + public: + Hyperbola(){ radmin = 0;} +@@ -233,7 +237,7 @@ namespace GCS + virtual Hyperbola* Copy(); + }; + +- class ArcOfHyperbola: public Hyperbola ++ class PLANEGCS_EXPORT ArcOfHyperbola: public Hyperbola + { + public: + ArcOfHyperbola(){startAngle=0;endAngle=0;radmin = 0;} +@@ -249,7 +253,7 @@ namespace GCS + virtual ArcOfHyperbola* Copy(); + }; + +- class Parabola: public Curve ++ class PLANEGCS_EXPORT Parabola: public Curve + { + public: + Parabola(){ } +@@ -263,7 +267,7 @@ namespace GCS + virtual Parabola* Copy(); + }; + +- class ArcOfParabola: public Parabola ++ class PLANEGCS_EXPORT ArcOfParabola: public Parabola + { + public: + ArcOfParabola(){startAngle=0;endAngle=0;} +@@ -279,7 +283,7 @@ namespace GCS + virtual ArcOfParabola* Copy(); + }; + +- class BSpline: public Curve ++ class PLANEGCS_EXPORT BSpline: public Curve + { + public: + BSpline(){periodic=false;degree=2;} +diff --git a/src/Mod/Sketcher/App/planegcs/Util.h b/src/Mod/Sketcher/App/planegcs/Util.h +index 8a759ba..7baafaa 100644 +--- a/src/Mod/Sketcher/App/planegcs/Util.h ++++ b/src/Mod/Sketcher/App/planegcs/Util.h +@@ -44,4 +44,14 @@ namespace GCS + + } //namespace GCS + ++#if defined WIN32 ++# if defined PLANEGCS_EXPORTS ++# define PLANEGCS_EXPORT __declspec(dllexport) ++# else ++# define PLANEGCS_EXPORT __declspec(dllimport) ++# endif ++#else ++# define PLANEGCS_EXPORT ++#endif ++ + #endif // PLANEGCS_UTIL_H +-- +2.9.0.windows.1 + -- 2.39.2