diff --git a/.gitignore b/.gitignore index 428727a..ff9fcc5 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ __pycache__ build/ logs/ storage/ +env/ *.gz *.xz *.fls diff --git a/TODO.md b/TODO.md deleted file mode 100644 index fa1cae7..0000000 --- a/TODO.md +++ /dev/null @@ -1,56 +0,0 @@ -## Usefull utils -- createPatch -- polyDualMesh -- fvSolution: cellLimited -- collapseDict: collapseEdges -- renumberMesh -- processorField - -## Errors -- salome: - -th. 139990926538304 - -Trace /volatile/salome/jenkins/workspace/Salome_master_CO7/SALOME-9.6.0-CO7/SOURCES/SMESH/src/SMESH/SMESH_subMesh.cxx [2005] : -NETGEN_2D3D failed on sub-shape #1 with error COMPERR_BAD_INPUT_MESH -"NgException at Volume meshing: Stop meshing since surface mesh not consistent Some edges multiple times in surface mesh" - -th. 140588498282048 - -Trace /volatile/salome/jenkins/workspace/Salome_master_CO7/SALOME-9.6.0-CO7/SOURCES/SMESH/src/SMESH/SMESH_subMesh.cxx [2005] : -NETGEN_2D3D failed on sub-shape #47 with error COMPERR_WARNING -"Thickness 0.001 of viscous layers not reached, average reached thickness is 0.000928207" - -th. 139986338838080 - -Trace /volatile/salome/jenkins/workspace/Salome_master_CO7/SALOME-9.6.0-CO7/SOURCES/SMESH/src/SMESH/SMESH_subMesh.cxx [2005] : -NETGEN_2D3D failed on sub-shape #1 with error COMPERR_BAD_INPUT_MESH -"NgException at Volume meshing: Stop meshing since boundary mesh is overlapping Intersecting triangles" - - -## 1.03.21 -- [x] boundary type (wall or symetryPlane) -- [x] restruct for ways -- [x] build alpha = 0.01 .. 0.13 -- [x] ! symetryPlane -> cyclicAMI - -## 3.03.21 -- [x] configure salome server, ports, etc. -- [ ] less processes for salome, optimization. - -## 4.03.21 -- [x] 3rd direction -- [x] createPatch(Dict) -- [ ] views (mesh, ..) -- [x] alpha for simpleCubic [0.01 .. 0.28] -- [x] translation vector (cyclicAMI) -- [ ] BUG: angle between the direction vector and the normal to inlet is ~1.4e-14 - - [x] Another solution -- [ ] BUG: ideasUnvToFoam not working with param '-case PATH' - - [x] Temporary sulution via os.chdir(PATH) - -## 6.03.21 -- [ ] ERROR: MakeFuseList with alpha > 0.2 - -## 7.03.21 -- [x] Split the symetryPlane to 4 faces - -## 11.03.21 -- [x] Dual test for cyclicAMI diff --git a/__init__.py b/anisotropy/__init__.py similarity index 100% rename from __init__.py rename to anisotropy/__init__.py diff --git a/run.py b/anisotropy/anisotropy.py similarity index 51% rename from run.py rename to anisotropy/anisotropy.py index ce7116a..20e59df 100644 --- a/run.py +++ b/anisotropy/anisotropy.py @@ -1,38 +1,48 @@ import os, sys -from collections import namedtuple import time -import logging from datetime import timedelta -import multiprocessing import shutil -import config -from config import logger -#from src import applogger -from src import utils -from src import salome_utils -from src import foam_utils +ROOT = "/".join(__file__.split("/")[:-2]) +sys.path.append(os.path.abspath(ROOT)) +from utils import struct +import toml +import logging + +CONFIG = os.path.join(ROOT, "conf/config.toml") +config = struct(toml.load(CONFIG)) + + + #CONFIG = os.path.abspath("../conf/config.toml") + #config = struct(toml.load(CONFIG)) + +LOG = os.path.join(ROOT, "logs") +if not os.path.exists(LOG): + os.makedirs(LOG) + +BUILD = os.path.join(ROOT, "build") +if not os.path.exists(BUILD): + os.makedirs(BUILD) + +logging.basicConfig( + level = logging.INFO, + format = config.logger.format, + handlers = [ + logging.StreamHandler(), + logging.FileHandler(f"{ LOG }/{ config.logger.name }.log") + ] +) +logger = logging.getLogger(config.logger.name) def main(): - if not os.path.exists(config.LOG): - os.makedirs(config.LOG) - - if not os.path.exists(config.BUILD): - os.makedirs(config.BUILD) - - #global logger - #logger = applogger.Logger() - - check = checkEnv() - - if check: + if checkEnv(): return tasks = createTasks() for task in tasks: - logger.fancyline() + logger.info("-" * 80) logger.info(f"""main: task:\t{tasks.index(task) + 1} / {len(tasks)} cpu count:\t{os.cpu_count()} @@ -55,7 +65,7 @@ def main(): if not returncode: task.flow = True - with open(os.path.join(config.LOG, "tasks.log"), "a") as io: + with open(os.path.join(LOG, "tasks.log"), "a") as io: idx = tasks.index(task) io.write(f"""Task {idx}: structure:\t{task.structure} @@ -65,67 +75,34 @@ def main(): flow:\t{task.flow}\n""") - logger.info(f"Warnings: {logger.warnings}\tErrors: {logger.errors}") - - -def checkEnv(): - missed = False - - try: - pythonVersion = "Python {}".format(sys.version.split(" ")[0]) - salomeVersion = salome_utils.salomeVersion() - foamVersion = foam_utils.foamVersion() - - except Exception: - logger.critical("Missed environment") - missed = True - - else: - logger.info(f"environment:\n\t{pythonVersion}\n\t{salomeVersion}\n\t{foamVersion}") - - finally: - return missed - - -class Task: - def __init__(self, **kwargs): - for (k, v) in kwargs.items(): - setattr(self, k, v) + #logger.info(f"Warnings: {logger.warnings}\tErrors: {logger.errors}") def createTasks(): - #Task = namedtuple("Task", ["structure", "theta", "fillet", "direction", "export"]) tasks = [] - structures = [ getattr(config, s)() for s in config.structures ] - for structure in structures: - for direction in structure.directions: - for theta in structure.theta: - name = type(structure).__name__ - export = os.path.join( - config.BUILD, - name, - "direction-{}{}{}".format(*direction), - "theta-{}".format(theta) - ) + for structure in config.base.__dict__.keys(): + if getattr(config.base, structure): + for direction in getattr(config, structure).geometry.directions: + for theta in getattr(config, structure).theta: + task = struct( + structure = structure, + theta = theta, + fillet = getattr(config, structure).geometry.fillet, + direction = direction, + export = os.path.join(ROOT, f"{ BUILD }/{ structure }/direction-{ direction[0] }{ direction [1] }{ direction [2] }/theta-{ theta }"), + mesh = False, + flow = False + ) - task = Task( - structure = name, - theta = theta, - fillet = structure.fillet, - direction = direction, - export = export, - mesh = False, - flow = False - ) - - tasks.append(task) + tasks.append(task) return tasks +from salomepl.utils import runExecute, salomeVersion def createMesh(task): - scriptpath = os.path.join(config.ROOT, "samples/__init__.py") + scriptpath = os.path.join(ROOT, "salomepl/genmesh.py") port = 2810 stime = time.monotonic() @@ -135,23 +112,25 @@ def createMesh(task): int(task.fillet), "".join([str(coord) for coord in task.direction]), os.path.join(task.export, "mesh.unv"), - config.ROOT + ROOT ) - returncode = salome_utils.runExecute(port, scriptpath, *args) + returncode = runExecute(port, scriptpath, *args) etime = time.monotonic() logger.info("createMesh: elapsed time: {}".format(timedelta(seconds = etime - stime))) +import openfoam + def calculate(task): foamCase = [ "0", "constant", "system" ] os.chdir(task.export) - foam_utils.foamClean() + openfoam.foamClean() for d in foamCase: shutil.copytree( - os.path.join(config.ROOT, "src/cubicFoam", d), + os.path.join(ROOT, "openfoam/template", d), os.path.join(task.export, d) ) @@ -161,42 +140,62 @@ def calculate(task): logger.critical(f"calculate: missed 'mesh.unv'") return - _, returncode = foam_utils.ideasUnvToFoam("mesh.unv") + _, returncode = openfoam.ideasUnvToFoam("mesh.unv") if returncode: os.chdir(config.ROOT) return returncode - foam_utils.createPatch(dictfile = "system/createPatchDict.symetry") + openfoam.createPatch(dictfile = "system/createPatchDict.symetry") - foam_utils.foamDictionary("constant/polyMesh/boundary", "entry0.defaultFaces.type", "wall") - foam_utils.foamDictionary("constant/polyMesh/boundary", "entry0.defaultFaces.inGroups", "1 (wall)") + openfoam.foamDictionary("constant/polyMesh/boundary", "entry0.defaultFaces.type", "wall") + openfoam.foamDictionary("constant/polyMesh/boundary", "entry0.defaultFaces.inGroups", "1 (wall)") - foam_utils.checkMesh() + openfoam.checkMesh() scale = (1e-5, 1e-5, 1e-5) - foam_utils.transformPoints(scale) + openfoam.transformPoints(scale) - foam_utils.decomposePar() + openfoam.decomposePar() - foam_utils.renumberMesh() + openfoam.renumberMesh() - foam_utils.potentialFoam() + openfoam.potentialFoam() for n in range(os.cpu_count()): - foam_utils.foamDictionary(f"processor{n}/0/U", "boundaryField.inlet.type", "pressureInletVelocity") - foam_utils.foamDictionary(f"processor{n}/0/U", "boundaryField.inlet.value", "uniform (0 0 0)") + openfoam.foamDictionary(f"processor{n}/0/U", "boundaryField.inlet.type", "pressureInletVelocity") + openfoam.foamDictionary(f"processor{n}/0/U", "boundaryField.inlet.value", "uniform (0 0 0)") - returncode = foam_utils.simpleFoam() + returncode, out = openfoam.simpleFoam() + if out: + logger.info(out) - os.chdir(config.ROOT) + os.chdir(ROOT) etime = time.monotonic() logger.info("calculate: elapsed time: {}".format(timedelta(seconds = etime - stime))) return returncode +def checkEnv(): + missed = False + + try: + pythonVersion = "Python {}".format(sys.version.split(" ")[0]) + salomeplVersion = salomeVersion() + openfoamVersion = openfoam.foamVersion() + + except Exception as e: + logger.critical("Missed environment %s", e) + missed = True + + else: + logger.info(f"environment:\n\t{pythonVersion}\n\t{salomeplVersion}\n\t{openfoamVersion}") + + finally: + return missed + def postprocessing(tasks): @@ -223,4 +222,3 @@ def postprocessing(tasks): if __name__ == "__main__": main() - diff --git a/anisotropy/utils.py b/anisotropy/utils.py new file mode 100644 index 0000000..1f5c0ec --- /dev/null +++ b/anisotropy/utils.py @@ -0,0 +1,153 @@ +import logging + +from multiprocessing import Queue, Process, cpu_count +import socket + + +class struct: + def __init__(self, *args, **kwargs): + if len(args) > 0: + if type(args[0]) == dict: + for (k, v) in args[0].items(): + if type(v) == dict: + setattr(self, k, struct(v)) + else: + setattr(self, k, v) + else: + for (k, v) in kwargs.items(): + setattr(self, k, v) + + def __str__(self): + members = [] + + for key in self.__dict__.keys(): + members.append(f"{ key } = ") + + if type(self.__dict__[key]) == str: + members[len(members) - 1] += f"\"{ self.__dict__[key] }\"" + + else: + members[len(members) - 1] += f"{ self.__dict__[key] }" + + return f"struct({', '.join(members)})" + + def __repr__(self): + return str(self) + + +class Logger: + def __init__(self, name, logpath): + logging.basicConfig( + level = logging.INFO, + format = "%(levelname)s: %(message)s", + handlers = [ + logging.StreamHandler(), + logging.FileHandler(logpath) + ] + ) + + self.logger = logging.getLogger(name) + self.warnings = 0 + self.errors = 0 + self.criticals = 0 + self.exceptions = 0 + + def info(self, *args): + self.logger.info(*args) + + def warning(self, *args): + self.warnings += 1 + self.logger.warning(*args) + + def error(self, *args): + self.errors += 1 + self.logger.error(*args) + + def critical(self, *args): + self.criticals += 1 + self.logger.critical(*args) + + def exception(self, *args): + self.exceptions += 1 + self.logger.exception(*args) + + def fancyline(self): + self.logger.info("-" * 80) + + + +def queue(cmd, qin, qout, *args): + + while True: + # Get item from the queue + pos, var = qin.get() + + # Exit point + if pos is None: + break + + # Execute command + res = cmd(*var, *args) + + # Put results to the queue + qout.put((pos, res)) + + return + + +def parallel(np, var, cmd): + + varcount = len(var) + + processes = [] + nprocs = np if np <= cpu_count() else cpu_count() + + qin = Queue(1) + qout = Queue() + + logging.info("cpu count: {}".format(np)) + logging.info("var: {}".format(var)) + logging.info("cmd: {}".format(cmd)) + + # Create processes + for n in range(nprocs): + pargs = [cmd, qin, qout] + + p = Process(target = queue, args = tuple(pargs)) + + processes.append(p) + + # Start processes + for p in processes: + p.daemon = True + p.start() + + # Fill queue + for n in range(varcount): + qin.put((n, var[n])) + + for _ in range(nprocs): + qin.put((None, None)) + + # Get results + results = [[] for n in range(varcount)] + + for n in range(varcount): + index, res = qout.get() + + results[index] = res + + # Wait until each processor has finished + for p in processes: + p.join() + + return results + + +def portIsFree(address, port): + + with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: + return s.connect_ex((address, port)) == 0 + + + diff --git a/bin/anisotropy b/bin/anisotropy new file mode 100755 index 0000000..ad6c874 --- /dev/null +++ b/bin/anisotropy @@ -0,0 +1,50 @@ +#!/usr/bin/env bash +DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )/.." +cd ${DIR} + +anisotropy-help() +{ + echo "Usage:" + echo " anisotropy [options]" + echo "" + echo "Commands:" + echo " clean Clean project directory via git (.gitignore)." + echo " init Activate environment and install dependencies." + echo " run Start calculations and etc." + echo " help Show help for commands." + echo "" + echo "Options:" + echo " -c, --config Use custom configuration file." +} + +case $1 in + clean) + git clean -fdx + ;; + + init) + python -m venv env + source env/bin/activate + python -m pip install --upgrade pip + python -m pip install -r requirements.txt + deactivate + ;; + + run) + source ${OPENFOAM} + source env/bin/activate + python ${DIR}/anisotropy/anisotropy.py + deactivate + ;; + + help) + anisotropy-help + exit 1 + ;; + + *) + echo "Unknown command." + anisotropy-help + exit 1 + ;; +esac diff --git a/conf/config.toml b/conf/config.toml new file mode 100644 index 0000000..399c44b --- /dev/null +++ b/conf/config.toml @@ -0,0 +1,105 @@ +[logger] +name = "anisotropy" +format = "%(levelname)s: %(message)s" + +[base] +simple = true +bodyCentered = true +faceCentered = true + +[simple] +theta = [0.01, 0.28] + +[simple.geometry] +directions = [ + [1, 0, 0], + [0, 0, 1], + [1, 1, 1] +] +fillet = true + +[simple.mesh] +fineness = 3 +minSize = 0.01 +maxSize = 0.1 +growthRate = 0.5 +nbSegPerEdge = 0.5 +nbSegPerRadius = 0.5 +chordalErrorEnabled = false +chordalError = -1 +secondOrder = false +optimize = true +quadAllowed = false +useSurfaceCurvature = true +fuseEdges = true +checkChartBoundary = false + +thickness = 0.005 +numberOfLayers = 2 +stretchFactor = 1.2 +isFacesToIgnore = true + +[bodyCentered] +theta = [0.01, 0.18] + +[bodyCentered.geometry] +directions = [ + [1, 0, 0], + [0, 0, 1], + [1, 1, 1] +] +fillet = true + +[bodyCentered.mesh] +fineness = 3 +minSize = 0.005 +maxSize = 0.05 +growthRate = 0.5 +nbSegPerEdge = 0.5 +nbSegPerRadius = 0.5 +chordalErrorEnabled = false +chordalError = -1 +secondOrder = false +optimize = true +quadAllowed = false +useSurfaceCurvature = true +fuseEdges = true +checkChartBoundary = false + +thickness = 0.005 +numberOfLayers = 2 +stretchFactor = 1.2 +isFacesToIgnore = true + +[faceCentered] +theta = [0.01, 0.13] + +[faceCentered.geometry] +directions = [ + [1, 0, 0], + [0, 0, 1], + [1, 1, 1] +] +fillet = true + +[faceCentered.mesh] +fineness = 3 +minSize = 0.005 +maxSize = 0.05 +growthRate = 0.5 +nbSegPerEdge = 0.5 +nbSegPerRadius = 0.5 +chordalErrorEnabled = false +chordalError = -1 +secondOrder = false +optimize = true +quadAllowed = false +useSurfaceCurvature = true +fuseEdges = true +checkChartBoundary = false + +thickness = 0.001 +numberOfLayers = 2 +stretchFactor = 1.2 +isFacesToIgnore = true + diff --git a/config.py b/config.py deleted file mode 100644 index c38645a..0000000 --- a/config.py +++ /dev/null @@ -1,166 +0,0 @@ -import os, sys -from src import applogger - -### -# Paths -## -ROOT = os.getcwd() -sys.path.append(ROOT) - -LOG = os.path.join(ROOT, "logs") -BUILD = os.path.join(ROOT, "build") - -### -# Logger -## -global logger -logger = applogger.Logger() - -### -# Utilities -## -class Parameters: - """ - [ - "minSize", - "maxSize", - "growthRate", - "nbSegPerEdge", - "nbSegPerRadius", - "chordalErrorEnabled", - "chordalError", - "secondOrder", - "optimize", - "quadAllowed", - "useSurfaceCurvature", - "fuseEdges", - "checkChartBoundary" - ] - """ - def __init__(self, **kwargs): - for (k, v) in kwargs.items(): - setattr(self, k, v) - -class ViscousLayers(Parameters): - """ - [ - "thickness", - "numberOfLayers", - "stretchFactor", - "isFacesToIgnore", - "facesToIgnore", - "extrusionMethod" - ] - """ - pass - -### -# Project variables -## -structures = [ - #"simple", - "bodyCentered", - "faceCentered" -] - -class simple: - theta = [c * 0.01 for c in range(1, 28 + 1)] - directions = [ - [1, 0, 0], - [0, 0, 1], - [1, 1, 1] - ] - fillet = True - fineness = 3 - parameters = Parameters( - minSize = 0.01, - maxSize = 0.1, - growthRate = 0.5, - nbSegPerEdge = 0.5, - nbSegPerRadius = 0.5, - chordalErrorEnabled = False, - chordalError = -1, - secondOrder = False, - optimize = True, - quadAllowed = False, - useSurfaceCurvature = True, - fuseEdges = True, - checkChartBoundary = False - ) - viscousLayers = ViscousLayers( - thickness = 0.005, # 0.01, 0.005 for 0.28, 0.01 for prism - numberOfLayers = 2, - stretchFactor = 1.2, - isFacesToIgnore = True, - facesToIgnore = None, - extrusionMethod = None - ) - - -class bodyCentered: - theta = [c * 0.01 for c in range(1, 18 + 1)] - directions = [ - [1, 0, 0], - [0, 0, 1], - [1, 1, 1] - ] - fillet = True - fineness = 3 - parameters = Parameters( - minSize = 0.005, - maxSize = 0.05, - growthRate = 0.5, - nbSegPerEdge = 0.5, - nbSegPerRadius = 0.5, - chordalErrorEnabled = False, - chordalError = -1, - secondOrder = False, - optimize = True, - quadAllowed = False, - useSurfaceCurvature = True, - fuseEdges = True, - checkChartBoundary = False - ) - viscousLayers = ViscousLayers( - thickness = 0.005, - numberOfLayers = 2, - stretchFactor = 1.2, - isFacesToIgnore = True, - facesToIgnore = None, - extrusionMethod = None - ) - - -class faceCentered: - theta = [0.06, 0.13] #[c * 0.01 for c in range(1, 13 + 1)] - directions = [ - #[1, 0, 0], - #[0, 0, 1], - [1, 1, 1] - ] - fillet = True - fineness = 3 - parameters = Parameters( - minSize = 0.005, - maxSize = 0.05, - growthRate = 0.5, - nbSegPerEdge = 0.5, - nbSegPerRadius = 0.5, - chordalErrorEnabled = False, - chordalError = -1, - secondOrder = False, - optimize = True, - quadAllowed = False, - useSurfaceCurvature = True, - fuseEdges = True, - checkChartBoundary = False - ) - viscousLayers = ViscousLayers( - thickness = 0.001, # Failing on 0.13-111 - numberOfLayers = 2, - stretchFactor = 1.2, - isFacesToIgnore = True, - facesToIgnore = None, - extrusionMethod = None - ) - diff --git a/notes.md b/notes.md index c332ccb..32d0648 100644 --- a/notes.md +++ b/notes.md @@ -1,30 +1,8 @@ -## relaxationFactors -| p | Iterations | U | -| --- | --- | --- | -| 0.05 | 830 | 0.2 | -| 0.1 | 678 | 0.2 | -| 0.2 | 505 | 0.2 | -| 0.3 | 305 | 0.3 | -| 0.3 | 236 | 0.4 | -| 0.3 | 181 | 0.5 | +- createPatch +- polyDualMesh +- fvSolution: cellLimited +- collapseDict: collapseEdges +- renumberMesh +- processorField ---> - -## SIMPLE.residualControl - -| p | U | Iterations | -| --- | --- | --- | -| 1e-4 | 1e-4 | 338 | -| 1e-5 | 1e-5 | 499 | - -## - -```math -U = \frac{\Delta p L}{mu} \frac{9}{256} (\sqrt 2 - \frac{1}{1 - \alpha})^2 -L = 2 R_0 -R_0 = 1 -scale = 1e-5 -mu = 1e-3 -\Delta p = 1 -``` diff --git a/openfoam/__init__.py b/openfoam/__init__.py new file mode 100644 index 0000000..e959345 --- /dev/null +++ b/openfoam/__init__.py @@ -0,0 +1,32 @@ + +from .meshConversion import ideasUnvToFoam +from .meshManipulation import createPatch, transformPoints, checkMesh, renumberMesh +from .miscellaneous import foamDictionary +from .parallelProcessing import decomposePar +from .solvers import potentialFoam, simpleFoam +from .utils import foamVersion, foamClean + +__all__ = [ + # meshConversion + "ideasUnvToFoam", + + # meshManipulation + "createPatch", + "transformPoints", + "checkMesh", + "renumberMesh", + + # miscellaneous + "foamDictionary", + + # parallelProcessing + "decomposePar", + + # solvers + "potentialFoam", + "simpleFoam", + + # utils + "foamVersion", + "foamClean" +] diff --git a/openfoam/application.py b/openfoam/application.py new file mode 100644 index 0000000..4bf723d --- /dev/null +++ b/openfoam/application.py @@ -0,0 +1,47 @@ +import os, sys +import subprocess + +import logging +logger = logging.getLogger() + +def application(name: str, *args: str, case: str = None, stderr: bool = True, useMPI: bool = False) -> int: + + cmd = [] + + if useMPI: + nprocs = os.cpu_count() + cmd.extend(["mpirun", "-np", str(nprocs), "--oversubscribe"]) + + cmd.append(name) + + if case: + cmd.extend(["-case", case]) + + if args: + cmd.extend([*args]) + + logger.info("{}: {}".format(name, [*args])) + logpath = os.path.join(case if case else "", "{}.log".format(name)) + + with subprocess.Popen(cmd, + stdout = subprocess.PIPE, + stderr = subprocess.PIPE) as p, \ + open(logpath, "wb") as logfile: + + for line in p.stdout: + #sys.stdout.buffer.write(line) + logfile.write(line) + + #for line in p.stderr: + # logfile.write(line) + + out, err = p.communicate() + logfile.write(err) + + if err and stderr: + logger.error("""{}: + {}""".format(name, str(err, "utf-8"))) + + return out, p.returncode + + diff --git a/openfoam/meshConversion.py b/openfoam/meshConversion.py new file mode 100644 index 0000000..7e0666a --- /dev/null +++ b/openfoam/meshConversion.py @@ -0,0 +1,5 @@ +from .application import application + +def ideasUnvToFoam(mesh: str, case: str = None) -> (str, int): + return application("ideasUnvToFoam", mesh, case = case, stderr = True) + diff --git a/openfoam/meshManipulation.py b/openfoam/meshManipulation.py new file mode 100644 index 0000000..44e10e5 --- /dev/null +++ b/openfoam/meshManipulation.py @@ -0,0 +1,38 @@ +from .application import application + +import re + +def createPatch(dictfile: str = None, case: str = None): + args = ["-overwrite"] + + if dictfile: + args.extend(["-dict", dictfile]) + + application("createPatch", *args, case = case, stderr = True) + + +def transformPoints(scale: tuple, case: str = None): + scale_ = "{}".format(scale).replace(",", "") + + application("transformPoints", "-scale", scale_, case = case, stderr = True) + + +def checkMesh(case: str = None): + application("checkMesh", "-allGeometry", "-allTopology", case = case, stderr = True) + out = "" + + with open("checkMesh.log", "r") as io: + warnings = [] + for line in io: + if re.search("\*\*\*", line): + warnings.append(line.replace("***", "").strip()) + + if warnings: + out = "checkMesh:\n\t{}".format("\n\t".join(warnings)) + + return out + + +def renumberMesh(case: str = None): + application("renumberMesh", "-parallel", "-overwrite", useMPI = True, case = case, stderr = True) + diff --git a/openfoam/miscellaneous.py b/openfoam/miscellaneous.py new file mode 100644 index 0000000..35ab7c0 --- /dev/null +++ b/openfoam/miscellaneous.py @@ -0,0 +1,10 @@ +from .application import application + +def foamDictionary(filepath: str, entry: str, value: str = None, case: str = None): + args = [filepath, "-entry", entry] + + if value: + args.extend(["-set", value]) + + application("foamDictionary", *args, case = case, stderr = False) + diff --git a/openfoam/parallelProcessing.py b/openfoam/parallelProcessing.py new file mode 100644 index 0000000..e5e927c --- /dev/null +++ b/openfoam/parallelProcessing.py @@ -0,0 +1,5 @@ +from .application import application + +def decomposePar(case: str = None): + application("decomposePar", case = case, stderr = True) + diff --git a/openfoam/solvers.py b/openfoam/solvers.py new file mode 100644 index 0000000..9a1f2d3 --- /dev/null +++ b/openfoam/solvers.py @@ -0,0 +1,19 @@ +from .application import application + +import re + +def potentialFoam(case: str = None): + application("potentialFoam", "-parallel", useMPI = True, case = case, stderr = True) + + +def simpleFoam(case: str = None): + _, returncode = application("simpleFoam", "-parallel", useMPI = True, case = case, stderr = True) + out = "" + + with open("simpleFoam.log", "r") as io: + for line in io: + if re.search("solution converged", line): + out = "simpleFoam:\n\t{}".format(line.strip()) + + return returncode, out + diff --git a/src/cubicFoam/0/U b/openfoam/template/0/U similarity index 100% rename from src/cubicFoam/0/U rename to openfoam/template/0/U diff --git a/src/cubicFoam/0/p b/openfoam/template/0/p similarity index 100% rename from src/cubicFoam/0/p rename to openfoam/template/0/p diff --git a/src/cubicFoam/constant/transportProperties b/openfoam/template/constant/transportProperties similarity index 100% rename from src/cubicFoam/constant/transportProperties rename to openfoam/template/constant/transportProperties diff --git a/src/cubicFoam/constant/turbulenceProperties b/openfoam/template/constant/turbulenceProperties similarity index 100% rename from src/cubicFoam/constant/turbulenceProperties rename to openfoam/template/constant/turbulenceProperties diff --git a/src/cubicFoam/system/collapseDict b/openfoam/template/system/collapseDict similarity index 100% rename from src/cubicFoam/system/collapseDict rename to openfoam/template/system/collapseDict diff --git a/src/cubicFoam/system/controlDict b/openfoam/template/system/controlDict similarity index 100% rename from src/cubicFoam/system/controlDict rename to openfoam/template/system/controlDict diff --git a/src/cubicFoam/system/createPatchDict.cyclic b/openfoam/template/system/createPatchDict.cyclic similarity index 100% rename from src/cubicFoam/system/createPatchDict.cyclic rename to openfoam/template/system/createPatchDict.cyclic diff --git a/src/cubicFoam/system/createPatchDict.symetry b/openfoam/template/system/createPatchDict.symetry similarity index 100% rename from src/cubicFoam/system/createPatchDict.symetry rename to openfoam/template/system/createPatchDict.symetry diff --git a/src/cubicFoam/system/decomposeParDict b/openfoam/template/system/decomposeParDict similarity index 100% rename from src/cubicFoam/system/decomposeParDict rename to openfoam/template/system/decomposeParDict diff --git a/src/cubicFoam/system/fvSchemes b/openfoam/template/system/fvSchemes similarity index 100% rename from src/cubicFoam/system/fvSchemes rename to openfoam/template/system/fvSchemes diff --git a/src/cubicFoam/system/fvSolution b/openfoam/template/system/fvSolution similarity index 100% rename from src/cubicFoam/system/fvSolution rename to openfoam/template/system/fvSolution diff --git a/openfoam/utils.py b/openfoam/utils.py new file mode 100644 index 0000000..0928b57 --- /dev/null +++ b/openfoam/utils.py @@ -0,0 +1,16 @@ +import os +import shutil + +def foamVersion() -> str: + return "OpenFOAM-{}".format(os.environ["WM_PROJECT_VERSION"]) + + +def foamClean(case: str = None): + rmDirs = ["0", "constant", "system", "postProcessing", "logs"] + rmDirs.extend([ "processor{}".format(n) for n in range(os.cpu_count()) ]) + path = case if case else "" + + for d in rmDirs: + if os.path.exists(os.path.join(path, d)): + shutil.rmtree(os.path.join(path, d)) + diff --git a/src/__init__.py b/postProcessing/__init__.py similarity index 100% rename from src/__init__.py rename to postProcessing/__init__.py diff --git a/src/paraview_utils.py b/postProcessing/utils.py similarity index 100% rename from src/paraview_utils.py rename to postProcessing/utils.py diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..19031ae --- /dev/null +++ b/requirements.txt @@ -0,0 +1,3 @@ +numpy +pyquaternion +toml diff --git a/salomepl/README.md b/salomepl/README.md new file mode 100644 index 0000000..7a340cc --- /dev/null +++ b/salomepl/README.md @@ -0,0 +1,24 @@ +## netgen parameters + + minSize + maxSize + growthRate + nbSegPerEdge + nbSegPerRadius + chordalErrorEnabled + chordalError + secondOrder + optimize + quadAllowed + useSurfaceCurvature + fuseEdges + checkChartBoundary + +## viscous layers parameters + + thickness + numberOfLayers + stretchFactor + isFacesToIgnore + facesToIgnore + extrusionMethod diff --git a/salomepl/__init__.py b/salomepl/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/samples/bodyCentered.py b/salomepl/bodyCentered.py similarity index 99% rename from samples/bodyCentered.py rename to salomepl/bodyCentered.py index 0f33c91..d5a37cc 100644 --- a/samples/bodyCentered.py +++ b/salomepl/bodyCentered.py @@ -1,5 +1,5 @@ -import salome -salome.salome_init() +#import salome +#salome.salome_init() import GEOM from salome.geom import geomBuilder @@ -284,4 +284,3 @@ def bodyCenteredHexagonalPrism(theta = 0.01, fillet = False, direction = [1, 1, groups.append(wall) return shape, groups - diff --git a/samples/faceCentered.py b/salomepl/faceCentered.py similarity index 99% rename from samples/faceCentered.py rename to salomepl/faceCentered.py index 0a24740..cbbb4cb 100644 --- a/samples/faceCentered.py +++ b/salomepl/faceCentered.py @@ -1,5 +1,5 @@ -import salome -salome.salome_init() +#import salome +#salome.salome_init() import GEOM from salome.geom import geomBuilder @@ -281,4 +281,3 @@ def faceCenteredHexagonalPrism(theta = 0.01, fillet = False, direction = [1, 1, groups.append(wall) return shape, groups - diff --git a/salomepl/genmesh.py b/salomepl/genmesh.py new file mode 100644 index 0000000..4d26a42 --- /dev/null +++ b/salomepl/genmesh.py @@ -0,0 +1,142 @@ +### +# This file executes inside salome environment +# +# salome starts at user home directory +## +import os, sys +import math + +import salome + +# get project path from args +ROOT = sys.argv[6] +sys.path.append(ROOT) +# site-packages from virtual env +sys.path.append(os.path.join(ROOT, "env/lib/python3.9/site-packages")) + +import toml +import logging +from anisotropy.utils import struct + +CONFIG = os.path.join(ROOT, "conf/config.toml") +config = struct(toml.load(CONFIG)) + +LOG = os.path.join(ROOT, "logs") + +logging.basicConfig( + level = logging.INFO, + format = config.logger.format, + handlers = [ + logging.StreamHandler(), + logging.FileHandler(f"{ LOG }/{ config.logger.name }.log") + ] +) +logger = logging.getLogger(config.logger.name) + +from salomepl.simple import simpleCubic, simpleHexagonalPrism +from salomepl.faceCentered import faceCenteredCubic, faceCenteredHexagonalPrism +from salomepl.bodyCentered import bodyCenteredCubic, bodyCenteredHexagonalPrism + +from salomepl.geometry import getGeom +from salomepl.mesh import smeshBuilder, meshCreate, meshCompute, meshStats, meshExport + + +def main(): + + stype = str(sys.argv[1]) + theta = float(sys.argv[2]) + fillet = int(sys.argv[3]) + flowdirection = [int(coord) for coord in sys.argv[4]] + export = str(sys.argv[5]) + + genmesh(stype, theta, fillet, flowdirection, export) + + +def genmesh(stype, theta, fillet, direction, export): + + logger.info("""genMesh: + structure type:\t{} + coefficient:\t{} + fillet:\t{} + flow direction:\t{} + export path:\t{}""".format(stype, theta, fillet, direction, export)) + + params = (theta, fillet, direction) + + salome.salome_init() + + ### + # Structure and mesh configurations + ## + if stype == "simple": + if direction in [[1, 0, 0], [0, 0, 1]]: + structure = simpleCubic + + elif direction == [1, 1, 1]: + structure = simpleHexagonalPrism + + #fineness = config.simple.fineness + #parameters = config.simple.parameters + #viscousLayers = config.simple.viscousLayers + meshParameters = config.simple.mesh + + elif stype == "faceCentered": + if direction in [[1, 0, 0], [0, 0, 1]]: + structure = faceCenteredCubic + + elif direction == [1, 1, 1]: + structure = faceCenteredHexagonalPrism + + #fineness = config.faceCentered.fineness + #parameters = config.faceCentered.parameters + #viscousLayers = config.faceCentered.viscousLayers + meshParameters = config.faceCentered.mesh + + elif stype == "bodyCentered": + if direction in [[1, 0, 0], [0, 0, 1]]: + structure = bodyCenteredCubic + + elif direction == [1, 1, 1]: + structure = bodyCenteredHexagonalPrism + + #fineness = config.bodyCentered.fineness + #parameters = config.bodyCentered.parameters + #viscousLayers = config.bodyCentered.viscousLayers + meshParameters = config.bodyCentered.mesh + + ### + # Shape + ## + geompy = getGeom() + shape, groups = structure(*params) + [length, surfaceArea, volume] = geompy.BasicProperties(shape, theTolerance = 1e-06) + + logger.info("""shape: + edges length:\t{} + surface area:\t{} + volume:\t{}""".format(length, surfaceArea, volume)) + + ### + # Mesh + ## + facesToIgnore = [] + for group in groups: + if group.GetName() in ["inlet", "outlet"]: + facesToIgnore.append(group) + + meshParameters.facesToIgnore = facesToIgnore + meshParameters.extrusionMethod = smeshBuilder.SURF_OFFSET_SMOOTH + + mesh = meshCreate(shape, groups, meshParameters) #fineness, parameters, viscousLayers) + meshCompute(mesh) + + meshStats(mesh) + meshExport(mesh, export) + + salome.salome_close() + + +if __name__ == "__main__": + main() + + diff --git a/src/geometry_utils.py b/salomepl/geometry.py similarity index 99% rename from src/geometry_utils.py rename to salomepl/geometry.py index 5486ada..00d2c22 100644 --- a/src/geometry_utils.py +++ b/salomepl/geometry.py @@ -1,9 +1,9 @@ import GEOM from salome.geom import geomBuilder + geompy = geomBuilder.New() import math -import logging from pyquaternion import Quaternion import numpy as np @@ -236,4 +236,3 @@ def boundaryCreate(gobj, dvec, grains): return boundary - diff --git a/src/mesh_utils.py b/salomepl/mesh.py similarity index 83% rename from src/mesh_utils.py rename to salomepl/mesh.py index 9083d62..d026abf 100644 --- a/src/mesh_utils.py +++ b/salomepl/mesh.py @@ -2,13 +2,14 @@ import SMESH from salome.smesh import smeshBuilder smesh = smeshBuilder.New() -from config import logger +import logging +logger = logging.getLogger("anisotropy") def getSmesh(): return smesh -def meshCreate(shape, groups, fineness, parameters, viscousLayers = None): +def meshCreate(shape, groups, parameters): #fineness, parameters, viscousLayers = None): """ Creates a mesh from a geometry. @@ -35,7 +36,7 @@ def meshCreate(shape, groups, fineness, parameters, viscousLayers = None): 3: "Fine", 4: "Very fine", 5: "Custom" - }[fineness] + }[parameters.fineness] # Mesh mesh = smesh.Mesh(shape) @@ -45,9 +46,9 @@ def meshCreate(shape, groups, fineness, parameters, viscousLayers = None): param = netgen.Parameters() param.SetMinSize(parameters.minSize) param.SetMaxSize(parameters.maxSize) - param.SetFineness(fineness) + param.SetFineness(parameters.fineness) - if fineness == 5: + if parameters.fineness == 5: param.SetGrowthRate(parameters.growthRate) param.SetNbSegPerEdge(parameters.nbSegPerEdge) param.SetNbSegPerRadius(parameters.nbSegPerRadius) @@ -93,30 +94,30 @@ def meshCreate(shape, groups, fineness, parameters, viscousLayers = None): ### # Viscous layers ## - if not viscousLayers is None: - vlayer = netgen.ViscousLayers( - viscousLayers.thickness, - viscousLayers.numberOfLayers, - viscousLayers.stretchFactor, - viscousLayers.facesToIgnore, - viscousLayers.isFacesToIgnore, - viscousLayers.extrusionMethod - ) + #if not viscousLayers is None: + vlayer = netgen.ViscousLayers( + parameters.thickness, + parameters.numberOfLayers, + parameters.stretchFactor, + parameters.facesToIgnore, + parameters.isFacesToIgnore, + parameters.extrusionMethod + ) - logger.info("""meshCreate: - viscous layers: - thickness:\t{} - number:\t{} - stretch factor:\t{}""".format( - viscousLayers.thickness, - viscousLayers.numberOfLayers, - viscousLayers.stretchFactor)) + logger.info("""meshCreate: +viscous layers: + thickness:\t{} + number:\t{} + stretch factor:\t{}""".format( + parameters.thickness, + parameters.numberOfLayers, + parameters.stretchFactor)) - else: - logger.info("""meshCreate: - viscous layers: disabled""") + #else: + # logger.info("""meshCreate: + #viscous layers: disabled""") return mesh @@ -191,4 +192,3 @@ def meshExport(mobj, path): except: logger.error("""meshExport: Cannot export.""") - diff --git a/samples/simple.py b/salomepl/simple.py similarity index 99% rename from samples/simple.py rename to salomepl/simple.py index a005307..cdba00e 100644 --- a/samples/simple.py +++ b/salomepl/simple.py @@ -1,5 +1,5 @@ -import salome -salome.salome_init() +#import salome +#salome.salome_init() import GEOM from salome.geom import geomBuilder @@ -261,4 +261,3 @@ def simpleHexagonalPrism(theta = 0.01, fillet = False, direction = [1, 1, 1]): groups.append(wall) return shape, groups - diff --git a/src/salome_utils.py b/salomepl/utils.py similarity index 98% rename from src/salome_utils.py rename to salomepl/utils.py index 7ff6453..9157e33 100644 --- a/src/salome_utils.py +++ b/salomepl/utils.py @@ -2,8 +2,8 @@ import subprocess import logging import sys, os -import config -from config import logger + +logger = logging.getLogger() def hasDesktop() -> bool: return salome.sg.hasDesktop() @@ -80,4 +80,3 @@ def remote(port, cmd): stderr = subprocess.PIPE) return p - diff --git a/samples/__init__.py b/samples/__init__.py deleted file mode 100644 index 8e81dd8..0000000 --- a/samples/__init__.py +++ /dev/null @@ -1,117 +0,0 @@ -from collections import namedtuple -import os, sys -import logging -from pyquaternion import Quaternion -import math - -import salome - -sys.path.append(sys.argv[6]) - -import config -from config import logger -#from src import applogger -from simple import simpleCubic, simpleHexagonalPrism -from faceCentered import faceCenteredCubic, faceCenteredHexagonalPrism -from bodyCentered import bodyCenteredCubic, bodyCenteredHexagonalPrism - -from src import geometry_utils -from src import mesh_utils - - -def main(): - - stype = str(sys.argv[1]) - theta = float(sys.argv[2]) - fillet = int(sys.argv[3]) - flowdirection = [int(coord) for coord in sys.argv[4]] - export = str(sys.argv[5]) - - genMesh(stype, theta, fillet, flowdirection, export) - - -def genMesh(stype, theta, fillet, direction, export): - - logger.info("""genMesh: - structure type:\t{} - coefficient:\t{} - fillet:\t{} - flow direction:\t{} - export path:\t{}""".format(stype, theta, fillet, direction, export)) - - params = (theta, fillet, direction) - - salome.salome_init() - - ### - # Structure and mesh configurations - ## - if stype == "simple": - if direction in [[1, 0, 0], [0, 0, 1]]: - structure = simpleCubic - - elif direction == [1, 1, 1]: - structure = simpleHexagonalPrism - - fineness = config.simple.fineness - parameters = config.simple.parameters - viscousLayers = config.simple.viscousLayers - - elif stype == "faceCentered": - if direction in [[1, 0, 0], [0, 0, 1]]: - structure = faceCenteredCubic - - elif direction == [1, 1, 1]: - structure = faceCenteredHexagonalPrism - - fineness = config.faceCentered.fineness - parameters = config.faceCentered.parameters - viscousLayers = config.faceCentered.viscousLayers - - elif stype == "bodyCentered": - if direction in [[1, 0, 0], [0, 0, 1]]: - structure = bodyCenteredCubic - - elif direction == [1, 1, 1]: - structure = bodyCenteredHexagonalPrism - - fineness = config.bodyCentered.fineness - parameters = config.bodyCentered.parameters - viscousLayers = config.bodyCentered.viscousLayers - - ### - # Shape - ## - geompy = geometry_utils.getGeom() - shape, groups = structure(*params) - [length, surfaceArea, volume] = geompy.BasicProperties(shape, theTolerance = 1e-06) - - logger.info("""shape: - edges length:\t{} - surface area:\t{} - volume:\t{}""".format(length, surfaceArea, volume)) - - ### - # Mesh - ## - facesToIgnore = [] - for group in groups: - if group.GetName() in ["inlet", "outlet"]: - facesToIgnore.append(group) - - viscousLayers.facesToIgnore = facesToIgnore - viscousLayers.extrusionMethod = mesh_utils.smeshBuilder.SURF_OFFSET_SMOOTH - - mesh = mesh_utils.meshCreate(shape, groups, fineness, parameters, viscousLayers) - mesh_utils.meshCompute(mesh) - - mesh_utils.meshStats(mesh) - mesh_utils.meshExport(mesh, export) - - salome.salome_close() - - -if __name__ == "__main__": - main() - - diff --git a/src/anisotropeCubic.py b/src/anisotropeCubic.py deleted file mode 100644 index bf68368..0000000 --- a/src/anisotropeCubic.py +++ /dev/null @@ -1,103 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -import math -from . import geometry_utils - -import GEOM -geompy = geometry_utils.getGeom() - -class StructuredGrains: - def __init__(self, radius, stackAngle, theta, layers): - self.pos = [0, 0, 0] - self.angle = [0, 0, 0] - self.radius = radius - self.theta = theta - self.layers = layers - - # Parameters and dependencies - R = self.radius / (1 - self.theta) - - C1 = 0.8 #fillet[0] - C2 = 0.4 #fillet[1] - self.theta1 = 0.01 - self.theta2 = 0.28 - - Cf = C1 + (C2 - C1) / (self.theta2 - self.theta1) * (self.theta - self.theta1) - R_fillet = Cf * (self.radius * math.sqrt(2) - R) - - ### - stackang = [ - 0.5 * math.pi - stackAngle[0], - 0.5 * math.pi - stackAngle[1], - 0.5 * math.pi - stackAngle[2] - ] - - xvec = geompy.MakeVector( - geompy.MakeVertex(0, 0, 0), - geompy.MakeVertex(1, 0, 0)) - yvec = geometry_utils.rotate(xvec, [0.5 * math.pi, 0, 0]) - zvec = geometry_utils.rotate(xvec, [0, 0.5 * math.pi, 0]) - - grain = geompy.MakeSpherePntR(geompy.MakeVertex(pos[0], pos[1], pos[2]), R) - - xstack = geompy.MakeMultiTranslation1D(grain, xvec, 2 * self.radius, self.layers[0]) - ystack = geompy.MakeMultiTranslation1D(xgrain, yvec, 2 * self.radius, self.layers[1]) - zstack = geompy.MakeMultiTranslation1D(ygrain, zvec, 2 * self.radius, self.layers[2]) - - # Correct position to zero - stack = geompy.MakeTranslation(zstack, -2 * self.radius, 0, 0) - - self.geometry = geompy.ExtractShapes(stack, geompy.ShapeType["SOLID"], True) - self.geometry = geompy.MakeFuseList(self.geometry, False, False) - - if not R_fillet == 0: - self.geometry = geompy.MakeFilletAll(self.geometry, R_fillet) - - -class AnisotropeCubic: - def __init__(self, scale, grains, style): - self.pos = [0, 0, 0] - self.angle = [0, 0, 0] - self.scale = scale - self.grains = grains - - # Bounding box - if style == 0: - # Square - profile = ( - geompy.Sketcher3D() - .addPointAbsolute(0, 0, 0) - .addPointAbsolute(0, 0, self.scale[2]) - .addPointAbsolute(0, self.scale[1], self.scale[2]) - .addPointAbsolute(0, self.scale[1], 0) - .addPointAbsolute(0, 0, 0) - ) - - face = geompy.MakeFaceWires([profile.wire()], 1) - - elif style == 1: - # Rombus - profile = ( - geompy.Sketcher3D() - .addPointAbsolute(self.scale[0], 0.5 * self.scale[1], 0) - .addPointAbsolute(0.5 * self.scale[0], 0, 0.5 * self.scale[2]) - .addPointAbsolute(0, 0.5 * self.scale[1], self.scale[2]) - .addPointAbsolute(0.5 * self.scale[0], self.scale[1], 0.5 * self.scale[2]) - .addPointAbsolute(self.scale[0], 0.5 * self.scale[1], 0) - ) - - face = geompy.MakeFaceWires([profile.wire()], 1) - face = geompy.MakeTranslation(face, - 0.5 * self.scale[1], 0, 0) - - self.boundingbox = geompy.MakePrismVecH(face, - geompy.MakeVectorDXDYDZ(1, 0, 0), - self.scale[0]) - - # Geometry - self.geometry = geompy.MakeCutList(box, [self.grains], True) - - - - diff --git a/src/applogger.py b/src/applogger.py deleted file mode 100644 index 30ac1c3..0000000 --- a/src/applogger.py +++ /dev/null @@ -1,41 +0,0 @@ -import logging -import config - -class Logger(): - def __init__(self): - logging.basicConfig( - level = logging.INFO, - format = "%(levelname)s: %(message)s", - handlers = [ - logging.StreamHandler(), - logging.FileHandler(f"{config.LOG}/anisotrope.log") - ] - ) - - self.logger = logging.getLogger("anisotrope") - self.warnings = 0 - self.errors = 0 - self.criticals = 0 - self.exceptions = 0 - - def info(self, *args): - self.logger.info(*args) - - def warning(self, *args): - self.warnings += 1 - self.logger.warning(*args) - - def error(self, *args): - self.errors += 1 - self.logger.error(*args) - - def critical(self, *args): - self.criticals += 1 - self.logger.critical(*args) - - def exception(self, *args): - self.exceptions += 1 - self.logger.exception(*args) - - def fancyline(self): - self.logger.info("-" * 80) diff --git a/src/foam_utils.py b/src/foam_utils.py deleted file mode 100644 index 9707c35..0000000 --- a/src/foam_utils.py +++ /dev/null @@ -1,126 +0,0 @@ -import os, sys, shutil -import subprocess -import logging -import time -import re -from datetime import timedelta -from config import logger - -def application(name: str, *args: str, case: str = None, stderr: bool = True, useMPI: bool = False) -> int: - - cmd = [] - - if useMPI: - nprocs = os.cpu_count() - cmd.extend(["mpirun", "-np", str(nprocs), "--oversubscribe"]) - - cmd.append(name) - - if case: - cmd.extend(["-case", case]) - - if args: - cmd.extend([*args]) - - logger.info("{}: {}".format(name, [*args])) - logpath = os.path.join(case if case else "", "{}.log".format(name)) - - with subprocess.Popen(cmd, - stdout = subprocess.PIPE, - stderr = subprocess.PIPE) as p, \ - open(logpath, "wb") as logfile: - - for line in p.stdout: - #sys.stdout.buffer.write(line) - logfile.write(line) - - #for line in p.stderr: - # logfile.write(line) - - out, err = p.communicate() - logfile.write(err) - - if err and stderr: - logger.error("""{}: - {}""".format(name, str(err, "utf-8"))) - - return out, p.returncode - - -def foamVersion() -> str: - return "OpenFOAM-{}".format(os.environ["WM_PROJECT_VERSION"]) - - -def foamClean(case: str = None): - rmDirs = ["0", "constant", "system", "postProcessing", "logs"] - rmDirs.extend([ "processor{}".format(n) for n in range(os.cpu_count()) ]) - path = case if case else "" - - for d in rmDirs: - if os.path.exists(os.path.join(path, d)): - shutil.rmtree(os.path.join(path, d)) - - -def ideasUnvToFoam(mesh: str, case: str = None) -> (str, int): - return application("ideasUnvToFoam", mesh, case = case, stderr = True) - - -def createPatch(dictfile: str = None, case: str = None): - args = ["-overwrite"] - - if dictfile: - args.extend(["-dict", dictfile]) - - application("createPatch", *args, case = case, stderr = True) - - -def transformPoints(scale: tuple, case: str = None): - scale_ = "{}".format(scale).replace(",", "") - - application("transformPoints", "-scale", scale_, case = case, stderr = True) - - -def checkMesh(case: str = None): - application("checkMesh", "-allGeometry", "-allTopology", case = case, stderr = True) - - with open("checkMesh.log", "r") as io: - warnings = [] - for line in io: - if re.search("\*\*\*", line): - warnings.append(line.replace("***", "").strip()) - - if warnings: - logger.warning("checkMesh:\n\t{}".format("\n\t".join(warnings))) - -def foamDictionary(filepath: str, entry: str, value: str = None, case: str = None): - args = [filepath, "-entry", entry] - - if value: - args.extend(["-set", value]) - - application("foamDictionary", *args, case = case, stderr = False) - - -def decomposePar(case: str = None): - application("decomposePar", case = case, stderr = True) - - -def renumberMesh(case: str = None): - application("renumberMesh", "-parallel", "-overwrite", useMPI = True, case = case, stderr = True) - - -def potentialFoam(case: str = None): - application("potentialFoam", "-parallel", useMPI = True, case = case, stderr = True) - - -def simpleFoam(case: str = None): - _, returncode = application("simpleFoam", "-parallel", useMPI = True, case = case, stderr = True) - - with open("simpleFoam.log", "r") as io: - for line in io: - if re.search("solution converged", line): - logger.info("simpleFoam:\n\t{}".format(line.strip())) - - return returncode - - diff --git a/src/utils.py b/src/utils.py deleted file mode 100644 index 8392182..0000000 --- a/src/utils.py +++ /dev/null @@ -1,77 +0,0 @@ -from multiprocessing import Queue, Process, cpu_count -import socket -import logging - -def queue(cmd, qin, qout, *args): - - while True: - # Get item from the queue - pos, var = qin.get() - - # Exit point - if pos is None: - break - - # Execute command - res = cmd(*var, *args) - - # Put results to the queue - qout.put((pos, res)) - - return - - -def parallel(np, var, cmd): - - varcount = len(var) - - processes = [] - nprocs = np if np <= cpu_count() else cpu_count() - - qin = Queue(1) - qout = Queue() - - logging.info("cpu count: {}".format(np)) - logging.info("var: {}".format(var)) - logging.info("cmd: {}".format(cmd)) - - # Create processes - for n in range(nprocs): - pargs = [cmd, qin, qout] - - p = Process(target = queue, args = tuple(pargs)) - - processes.append(p) - - # Start processes - for p in processes: - p.daemon = True - p.start() - - # Fill queue - for n in range(varcount): - qin.put((n, var[n])) - - for _ in range(nprocs): - qin.put((None, None)) - - # Get results - results = [[] for n in range(varcount)] - - for n in range(varcount): - index, res = qout.get() - - results[index] = res - - # Wait until each processor has finished - for p in processes: - p.join() - - return results - - -def portIsFree(address, port): - - with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: - return s.connect_ex((address, port)) == 0 - diff --git a/temp/anisotrope_cube_bc.py b/temp/anisotrope_cube_bc.py deleted file mode 100644 index de206df..0000000 --- a/temp/anisotrope_cube_bc.py +++ /dev/null @@ -1,80 +0,0 @@ -import salome -salome.salome_init() - -import GEOM -from salome.geom import geomBuilder -geompy = geomBuilder.New() - -import SMESH, SALOMEDS -from salome.smesh import smeshBuilder -smesh = smeshBuilder.New() - -import math - -axes = [ - geompy.MakeVectorDXDYDZ(1, 0, 0), - geompy.MakeVectorDXDYDZ(0, 1, 0), - geompy.MakeVectorDXDYDZ(0, 0, 1) -] - -vtx = [ - geompy.MakeVertex(1 / math.sqrt(2), -1 / math.sqrt(2), 0.5), - geompy.MakeVertex(-1 / math.sqrt(2), 1 / math.sqrt(2), -0.5), - geompy.MakeVertex(-1, -1, -0.5), - geompy.MakeVertex(-0.5, -0.5, 0) -] - -box = geompy.MakeBoxTwoPnt(vtx[0], vtx[1]) -box = geompy.MakeRotation(box, axes[2], 45 * math.pi / 180.0) - -#alpha = [ x * 0.01 for x in range(1, 28 + 1) ] -alpha=[0.15] - -#for coef in alpha: -spheres = geompy.MakeSpherePntR(vtx[2], math.sqrt(3) / 4 / (1 - alpha[0])) -spheres = geompy.MakeMultiTranslation2D(spheres, axes[0], 1, 3, axes[1], 1, 3) -spheres = geompy.MakeMultiTranslation1D(spheres, axes[2], 1, 2) - -spheres2 = geompy.MakeSpherePntR(vtx[3], math.sqrt(3) / 4 / (1 - alpha[0])) -spheres2 = geompy.MakeMultiTranslation2D(spheres2, axes[0], 1, 3, axes[1], 1, 3) - -PoreBC = geompy.MakeCutList(box, [spheres, spheres2], False) - -geompy.addToStudy(PoreBC, 'PoreBC') - -box2 = geompy.MakeBoxTwoPnt(vtx[0], geompy.MakeVertex(0, 0, 0)) -box2 = geompy.MakeRotation(box2, axes[2], 45 * math.pi / 180.0) -Segment1_8 = geompy.MakeCommonList([PoreBC, box2], True) - -geompy.addToStudy(Segment1_8, 'Segment1_8') - -mesh = smesh.Mesh(PoreBC) -netgen = mesh.Tetrahedron(algo=smeshBuilder.NETGEN_1D2D3D) - -param = netgen.Parameters() -param.SetSecondOrder( 0 ) -param.SetOptimize( 1 ) -param.SetChordalError( -1 ) -param.SetChordalErrorEnabled( 0 ) -param.SetUseSurfaceCurvature( 1 ) -param.SetFuseEdges( 1 ) -param.SetCheckChartBoundary( 0 ) -param.SetMinSize( 0.01 ) -param.SetMaxSize( 0.02 ) -param.SetFineness( 5 ) -param.SetGrowthRate( 0.1 ) -param.SetNbSegPerEdge( 5 ) -param.SetNbSegPerRadius( 10 ) -param.SetQuadAllowed( 1 ) - -#vlayer = netgen.ViscousLayers(0.05, 3, 1.5, [15, 29, 54], 1, smeshBuilder.SURF_OFFSET_SMOOTH) - -isDone = mesh.Compute() - -if not isDone: - print("Mesh is not computed") - - -if salome.sg.hasDesktop(): - salome.sg.updateObjBrowser() - diff --git a/temp/anisotrope_cube_fc.py b/temp/anisotrope_cube_fc.py deleted file mode 100644 index d4d0bb6..0000000 --- a/temp/anisotrope_cube_fc.py +++ /dev/null @@ -1,80 +0,0 @@ -import salome -salome.salome_init() - -import GEOM -from salome.geom import geomBuilder -geompy = geomBuilder.New() - -import SMESH, SALOMEDS -from salome.smesh import smeshBuilder -smesh = smeshBuilder.New() - -import math - -axes = [ - geompy.MakeVectorDXDYDZ(1, 0, 0), - geompy.MakeVectorDXDYDZ(0, 1, 0), - geompy.MakeVectorDXDYDZ(0, 0, 1), - geompy.MakeVectorDXDYDZ(1, 1, 0), - geompy.MakeVectorDXDYDZ(1, -1, 0) -] - -vtx = [ - geompy.MakeVertex(0, 0, -0.5), - geompy.MakeVertex(1 / math.sqrt(2), 1 / math.sqrt(2), 0.5), - geompy.MakeVertex(0.5, 0, 0), - geompy.MakeVertex(0.5 / math.sqrt(2), 0.5 / math.sqrt(2), 0.5) -] - -box = geompy.MakeBoxTwoPnt(vtx[0], vtx[1]) -box = geompy.MakeRotation(box, axes[2], -45 * math.pi / 180.0) - -#alpha = [ x * 0.01 for x in range(1, 28 + 1) ] -alpha=[0.08] - -#for coef in alpha: -spheres = geompy.MakeSpherePntR(vtx[0], math.sqrt(2) / 4 / (1 - alpha[0])) -spheres = geompy.MakeMultiTranslation2D(spheres, axes[3], 1 / math.sqrt(2), 2, axes[4], 1 / math.sqrt(2), 2) -spheres = geompy.MakeMultiTranslation1D(spheres, axes[2], 1, 2) - -sphere2 = geompy.MakeSpherePntR(vtx[2], math.sqrt(2) / 4 / (1 - alpha[0])) - -PoreFC = geompy.MakeCutList(box, [spheres, sphere2], True) - -geompy.addToStudy(PoreFC, 'PoreFC') - -box2 = geompy.MakeBoxTwoPnt(geompy.MakeVertex(0, 0, 0), vtx[3]) -box2 = geompy.MakeRotation(box2, axes[2], -45 * math.pi / 180.0) -Segment1_8 = geompy.MakeCommonList([PoreFC, box2], True) - -geompy.addToStudy(Segment1_8, 'Segment1_8') - -mesh = smesh.Mesh(PoreFC) -netgen = mesh.Tetrahedron(algo=smeshBuilder.NETGEN_1D2D3D) - -param = netgen.Parameters() -param.SetSecondOrder( 0 ) -param.SetOptimize( 1 ) -param.SetChordalError( -1 ) -param.SetChordalErrorEnabled( 0 ) -param.SetUseSurfaceCurvature( 1 ) -param.SetFuseEdges( 1 ) -param.SetCheckChartBoundary( 0 ) -param.SetMinSize( 0.01 ) -param.SetMaxSize( 0.02 ) -param.SetFineness( 5 ) -param.SetGrowthRate( 0.1 ) -param.SetNbSegPerEdge( 5 ) -param.SetNbSegPerRadius( 10 ) -param.SetQuadAllowed( 1 ) - -#vlayer = netgen.ViscousLayers(0.05, 3, 1.5, [15, 29, 54], 1, smeshBuilder.SURF_OFFSET_SMOOTH) - -isDone = mesh.Compute() - -if not isDone: - print("Mesh is not computed") - - -if salome.sg.hasDesktop(): - salome.sg.updateObjBrowser() diff --git a/temp/bodyCenteredCubic.step b/temp/bodyCenteredCubic.step deleted file mode 100644 index e9cac75..0000000 --- a/temp/bodyCenteredCubic.step +++ /dev/null @@ -1,5708 +0,0 @@ -ISO-10303-21; -HEADER; -FILE_DESCRIPTION(('Open CASCADE Model'),'2;1'); -FILE_NAME('Open CASCADE Shape Model','2021-04-16T19:35:13',('Author'),( - 'Open CASCADE'),'Open CASCADE STEP processor 7.4','Open CASCADE 7.4' - ,'Unknown'); -FILE_SCHEMA(('AUTOMOTIVE_DESIGN { 1 0 10303 214 1 1 1 1 }')); -ENDSEC; -DATA; -#1 = APPLICATION_PROTOCOL_DEFINITION('international standard', - 'automotive_design',2000,#2); -#2 = APPLICATION_CONTEXT( - 'core data for automotive mechanical design processes'); -#3 = SHAPE_DEFINITION_REPRESENTATION(#4,#10); -#4 = PRODUCT_DEFINITION_SHAPE('','',#5); -#5 = PRODUCT_DEFINITION('design','',#6,#9); -#6 = PRODUCT_DEFINITION_FORMATION('','',#7); -#7 = PRODUCT('Open CASCADE STEP translator 7.4 1', - 'Open CASCADE STEP translator 7.4 1','',(#8)); -#8 = PRODUCT_CONTEXT('',#2,'mechanical'); -#9 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design'); -#10 = ADVANCED_BREP_SHAPE_REPRESENTATION('',(#11,#15),#4807); -#11 = AXIS2_PLACEMENT_3D('',#12,#13,#14); -#12 = CARTESIAN_POINT('',(0.,0.,0.)); -#13 = DIRECTION('',(0.,0.,1.)); -#14 = DIRECTION('',(1.,0.,-0.)); -#15 = MANIFOLD_SOLID_BREP('',#16); -#16 = CLOSED_SHELL('',(#17,#165,#411,#683,#842,#1364,#1414,#1551,#1628, - #1900,#1972,#2239,#2289,#2685,#2734,#3152,#3179,#3259,#3309,#3386, - #3413,#3712,#3761,#3899,#4062,#4133,#4405,#4432,#4481,#4508,#4558, - #4611,#4712,#4740,#4768,#4799)); -#17 = ADVANCED_FACE('',(#18),#32,.F.); -#18 = FACE_BOUND('',#19,.F.); -#19 = EDGE_LOOP('',(#20,#55,#83,#111,#139)); -#20 = ORIENTED_EDGE('',*,*,#21,.F.); -#21 = EDGE_CURVE('',#22,#24,#26,.T.); -#22 = VERTEX_POINT('',#23); -#23 = CARTESIAN_POINT('',(0.351938181434,0.648061818566,0.)); -#24 = VERTEX_POINT('',#25); -#25 = CARTESIAN_POINT('',(0.648061818566,0.351938181434,0.)); -#26 = SURFACE_CURVE('',#27,(#31,#43),.PCURVE_S1.); -#27 = LINE('',#28,#29); -#28 = CARTESIAN_POINT('',(0.,1.,0.)); -#29 = VECTOR('',#30,1.); -#30 = DIRECTION('',(0.707106781187,-0.707106781187,0.)); -#31 = PCURVE('',#32,#37); -#32 = PLANE('',#33); -#33 = AXIS2_PLACEMENT_3D('',#34,#35,#36); -#34 = CARTESIAN_POINT('',(0.,1.,0.)); -#35 = DIRECTION('',(0.707106781187,0.707106781187,-0.)); -#36 = DIRECTION('',(0.707106781187,-0.707106781187,0.)); -#37 = DEFINITIONAL_REPRESENTATION('',(#38),#42); -#38 = LINE('',#39,#40); -#39 = CARTESIAN_POINT('',(0.,0.)); -#40 = VECTOR('',#41,1.); -#41 = DIRECTION('',(1.,0.)); -#42 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#43 = PCURVE('',#44,#49); -#44 = PLANE('',#45); -#45 = AXIS2_PLACEMENT_3D('',#46,#47,#48); -#46 = CARTESIAN_POINT('',(1.,1.,0.)); -#47 = DIRECTION('',(0.,0.,1.)); -#48 = DIRECTION('',(1.,0.,-0.)); -#49 = DEFINITIONAL_REPRESENTATION('',(#50),#54); -#50 = LINE('',#51,#52); -#51 = CARTESIAN_POINT('',(-1.,1.110223024625E-16)); -#52 = VECTOR('',#53,1.); -#53 = DIRECTION('',(0.707106781187,-0.707106781187)); -#54 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#55 = ORIENTED_EDGE('',*,*,#56,.F.); -#56 = EDGE_CURVE('',#57,#22,#59,.T.); -#57 = VERTEX_POINT('',#58); -#58 = CARTESIAN_POINT('',(0.350183970027,0.649816029973, - 4.963205994528E-02)); -#59 = SURFACE_CURVE('',#60,(#65,#72),.PCURVE_S1.); -#60 = CIRCLE('',#61,0.497715749301); -#61 = AXIS2_PLACEMENT_3D('',#62,#63,#64); -#62 = CARTESIAN_POINT('',(0.,1.,0.)); -#63 = DIRECTION('',(0.707106781187,0.707106781187,-0.)); -#64 = DIRECTION('',(-0.707106781187,0.707106781187,0.)); -#65 = PCURVE('',#32,#66); -#66 = DEFINITIONAL_REPRESENTATION('',(#67),#71); -#67 = CIRCLE('',#68,0.497715749301); -#68 = AXIS2_PLACEMENT_2D('',#69,#70); -#69 = CARTESIAN_POINT('',(0.,0.)); -#70 = DIRECTION('',(-1.,-0.)); -#71 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#72 = PCURVE('',#73,#78); -#73 = SPHERICAL_SURFACE('',#74,0.497715749301); -#74 = AXIS2_PLACEMENT_3D('',#75,#76,#77); -#75 = CARTESIAN_POINT('',(0.,1.,0.)); -#76 = DIRECTION('',(0.,0.,1.)); -#77 = DIRECTION('',(1.,0.,-0.)); -#78 = DEFINITIONAL_REPRESENTATION('',(#79),#82); -#79 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#80,#81),.UNSPECIFIED.,.F.,.F.,(2, - 2),(3.041706951165,3.14159265359),.PIECEWISE_BEZIER_KNOTS.); -#80 = CARTESIAN_POINT('',(5.497787143782,9.98857024243E-02)); -#81 = CARTESIAN_POINT('',(5.497787143782,0.)); -#82 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#83 = ORIENTED_EDGE('',*,*,#84,.F.); -#84 = EDGE_CURVE('',#85,#57,#87,.T.); -#85 = VERTEX_POINT('',#86); -#86 = CARTESIAN_POINT('',(0.5,0.5,2.284250698599E-03)); -#87 = SURFACE_CURVE('',#88,(#93,#100),.PCURVE_S1.); -#88 = CIRCLE('',#89,0.497715749301); -#89 = AXIS2_PLACEMENT_3D('',#90,#91,#92); -#90 = CARTESIAN_POINT('',(0.5,0.5,0.5)); -#91 = DIRECTION('',(0.707106781187,0.707106781187,-0.)); -#92 = DIRECTION('',(-0.707106781187,0.707106781187,0.)); -#93 = PCURVE('',#32,#94); -#94 = DEFINITIONAL_REPRESENTATION('',(#95),#99); -#95 = CIRCLE('',#96,0.497715749301); -#96 = AXIS2_PLACEMENT_2D('',#97,#98); -#97 = CARTESIAN_POINT('',(0.707106781187,-0.5)); -#98 = DIRECTION('',(-1.,-0.)); -#99 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#100 = PCURVE('',#101,#106); -#101 = SPHERICAL_SURFACE('',#102,0.497715749301); -#102 = AXIS2_PLACEMENT_3D('',#103,#104,#105); -#103 = CARTESIAN_POINT('',(0.5,0.5,0.5)); -#104 = DIRECTION('',(0.,0.,1.)); -#105 = DIRECTION('',(1.,0.,-0.)); -#106 = DEFINITIONAL_REPRESENTATION('',(#107),#110); -#107 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#108,#109),.UNSPECIFIED.,.F.,.F., - (2,2),(4.712388980385,5.152111592263),.PIECEWISE_BEZIER_KNOTS.); -#108 = CARTESIAN_POINT('',(2.356194490192,-1.570796326795)); -#109 = CARTESIAN_POINT('',(2.356194490192,-1.131073714916)); -#110 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#111 = ORIENTED_EDGE('',*,*,#112,.F.); -#112 = EDGE_CURVE('',#113,#85,#115,.T.); -#113 = VERTEX_POINT('',#114); -#114 = CARTESIAN_POINT('',(0.649816029973,0.350183970027, - 4.963205994528E-02)); -#115 = SURFACE_CURVE('',#116,(#121,#128),.PCURVE_S1.); -#116 = CIRCLE('',#117,0.497715749301); -#117 = AXIS2_PLACEMENT_3D('',#118,#119,#120); -#118 = CARTESIAN_POINT('',(0.5,0.5,0.5)); -#119 = DIRECTION('',(0.707106781187,0.707106781187,-0.)); -#120 = DIRECTION('',(-0.707106781187,0.707106781187,0.)); -#121 = PCURVE('',#32,#122); -#122 = DEFINITIONAL_REPRESENTATION('',(#123),#127); -#123 = CIRCLE('',#124,0.497715749301); -#124 = AXIS2_PLACEMENT_2D('',#125,#126); -#125 = CARTESIAN_POINT('',(0.707106781187,-0.5)); -#126 = DIRECTION('',(-1.,-0.)); -#127 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#128 = PCURVE('',#129,#134); -#129 = SPHERICAL_SURFACE('',#130,0.497715749301); -#130 = AXIS2_PLACEMENT_3D('',#131,#132,#133); -#131 = CARTESIAN_POINT('',(0.5,0.5,0.5)); -#132 = DIRECTION('',(0.,0.,1.)); -#133 = DIRECTION('',(1.,0.,-0.)); -#134 = DEFINITIONAL_REPRESENTATION('',(#135),#138); -#135 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#136,#137),.UNSPECIFIED.,.F.,.F., - (2,2),(4.272666368506,4.712388980385),.PIECEWISE_BEZIER_KNOTS.); -#136 = CARTESIAN_POINT('',(5.497787143782,-1.131073714916)); -#137 = CARTESIAN_POINT('',(5.497787143782,-1.570796326795)); -#138 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#139 = ORIENTED_EDGE('',*,*,#140,.F.); -#140 = EDGE_CURVE('',#24,#113,#141,.T.); -#141 = SURFACE_CURVE('',#142,(#147,#154),.PCURVE_S1.); -#142 = CIRCLE('',#143,0.497715749301); -#143 = AXIS2_PLACEMENT_3D('',#144,#145,#146); -#144 = CARTESIAN_POINT('',(1.,0.,0.)); -#145 = DIRECTION('',(0.707106781187,0.707106781187,-0.)); -#146 = DIRECTION('',(-0.707106781187,0.707106781187,0.)); -#147 = PCURVE('',#32,#148); -#148 = DEFINITIONAL_REPRESENTATION('',(#149),#153); -#149 = CIRCLE('',#150,0.497715749301); -#150 = AXIS2_PLACEMENT_2D('',#151,#152); -#151 = CARTESIAN_POINT('',(1.414213562373,0.)); -#152 = DIRECTION('',(-1.,-0.)); -#153 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#154 = PCURVE('',#155,#160); -#155 = SPHERICAL_SURFACE('',#156,0.497715749301); -#156 = AXIS2_PLACEMENT_3D('',#157,#158,#159); -#157 = CARTESIAN_POINT('',(1.,0.,0.)); -#158 = DIRECTION('',(0.,0.,1.)); -#159 = DIRECTION('',(1.,0.,-0.)); -#160 = DEFINITIONAL_REPRESENTATION('',(#161),#164); -#161 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#162,#163),.UNSPECIFIED.,.F.,.F., - (2,2),(0.,9.98857024243E-02),.PIECEWISE_BEZIER_KNOTS.); -#162 = CARTESIAN_POINT('',(2.356194490192,0.)); -#163 = CARTESIAN_POINT('',(2.356194490192,9.98857024243E-02)); -#164 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#165 = ADVANCED_FACE('',(#166,#381),#44,.F.); -#166 = FACE_BOUND('',#167,.F.); -#167 = EDGE_LOOP('',(#168,#191,#192,#215,#243,#271,#299,#327,#355)); -#168 = ORIENTED_EDGE('',*,*,#169,.F.); -#169 = EDGE_CURVE('',#22,#170,#172,.T.); -#170 = VERTEX_POINT('',#171); -#171 = CARTESIAN_POINT('',(0.497715749301,1.,3.201551878209E-16)); -#172 = SURFACE_CURVE('',#173,(#178,#185),.PCURVE_S1.); -#173 = CIRCLE('',#174,0.497715749301); -#174 = AXIS2_PLACEMENT_3D('',#175,#176,#177); -#175 = CARTESIAN_POINT('',(0.,1.,0.)); -#176 = DIRECTION('',(0.,0.,1.)); -#177 = DIRECTION('',(1.,0.,-0.)); -#178 = PCURVE('',#44,#179); -#179 = DEFINITIONAL_REPRESENTATION('',(#180),#184); -#180 = CIRCLE('',#181,0.497715749301); -#181 = AXIS2_PLACEMENT_2D('',#182,#183); -#182 = CARTESIAN_POINT('',(-1.,1.110223024625E-16)); -#183 = DIRECTION('',(1.,0.)); -#184 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#185 = PCURVE('',#73,#186); -#186 = DEFINITIONAL_REPRESENTATION('',(#187),#190); -#187 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#188,#189),.UNSPECIFIED.,.F.,.F., - (2,2),(5.497787143782,6.28318530718),.PIECEWISE_BEZIER_KNOTS.); -#188 = CARTESIAN_POINT('',(5.497787143782,0.)); -#189 = CARTESIAN_POINT('',(6.28318530718,0.)); -#190 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#191 = ORIENTED_EDGE('',*,*,#21,.T.); -#192 = ORIENTED_EDGE('',*,*,#193,.F.); -#193 = EDGE_CURVE('',#194,#24,#196,.T.); -#194 = VERTEX_POINT('',#195); -#195 = CARTESIAN_POINT('',(1.351938181434,0.351938181434,0.)); -#196 = SURFACE_CURVE('',#197,(#202,#209),.PCURVE_S1.); -#197 = CIRCLE('',#198,0.497715749301); -#198 = AXIS2_PLACEMENT_3D('',#199,#200,#201); -#199 = CARTESIAN_POINT('',(1.,0.,0.)); -#200 = DIRECTION('',(0.,0.,1.)); -#201 = DIRECTION('',(1.,0.,-0.)); -#202 = PCURVE('',#44,#203); -#203 = DEFINITIONAL_REPRESENTATION('',(#204),#208); -#204 = CIRCLE('',#205,0.497715749301); -#205 = AXIS2_PLACEMENT_2D('',#206,#207); -#206 = CARTESIAN_POINT('',(0.,-1.)); -#207 = DIRECTION('',(1.,0.)); -#208 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#209 = PCURVE('',#155,#210); -#210 = DEFINITIONAL_REPRESENTATION('',(#211),#214); -#211 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#212,#213),.UNSPECIFIED.,.F.,.F., - (2,2),(0.785398163397,2.356194490192),.PIECEWISE_BEZIER_KNOTS.); -#212 = CARTESIAN_POINT('',(0.785398163397,0.)); -#213 = CARTESIAN_POINT('',(2.356194490192,0.)); -#214 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#215 = ORIENTED_EDGE('',*,*,#216,.T.); -#216 = EDGE_CURVE('',#194,#217,#219,.T.); -#217 = VERTEX_POINT('',#218); -#218 = CARTESIAN_POINT('',(1.648061818566,0.648061818566,0.)); -#219 = SURFACE_CURVE('',#220,(#224,#231),.PCURVE_S1.); -#220 = LINE('',#221,#222); -#221 = CARTESIAN_POINT('',(1.,0.,0.)); -#222 = VECTOR('',#223,1.); -#223 = DIRECTION('',(0.707106781187,0.707106781187,0.)); -#224 = PCURVE('',#44,#225); -#225 = DEFINITIONAL_REPRESENTATION('',(#226),#230); -#226 = LINE('',#227,#228); -#227 = CARTESIAN_POINT('',(0.,-1.)); -#228 = VECTOR('',#229,1.); -#229 = DIRECTION('',(0.707106781187,0.707106781187)); -#230 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#231 = PCURVE('',#232,#237); -#232 = PLANE('',#233); -#233 = AXIS2_PLACEMENT_3D('',#234,#235,#236); -#234 = CARTESIAN_POINT('',(1.,0.,0.)); -#235 = DIRECTION('',(-0.707106781187,0.707106781187,0.)); -#236 = DIRECTION('',(0.707106781187,0.707106781187,0.)); -#237 = DEFINITIONAL_REPRESENTATION('',(#238),#242); -#238 = LINE('',#239,#240); -#239 = CARTESIAN_POINT('',(0.,0.)); -#240 = VECTOR('',#241,1.); -#241 = DIRECTION('',(1.,0.)); -#242 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#243 = ORIENTED_EDGE('',*,*,#244,.F.); -#244 = EDGE_CURVE('',#245,#217,#247,.T.); -#245 = VERTEX_POINT('',#246); -#246 = CARTESIAN_POINT('',(1.648061818566,1.351938181434,0.)); -#247 = SURFACE_CURVE('',#248,(#253,#260),.PCURVE_S1.); -#248 = CIRCLE('',#249,0.497715749301); -#249 = AXIS2_PLACEMENT_3D('',#250,#251,#252); -#250 = CARTESIAN_POINT('',(2.,1.,0.)); -#251 = DIRECTION('',(0.,0.,1.)); -#252 = DIRECTION('',(1.,0.,-0.)); -#253 = PCURVE('',#44,#254); -#254 = DEFINITIONAL_REPRESENTATION('',(#255),#259); -#255 = CIRCLE('',#256,0.497715749301); -#256 = AXIS2_PLACEMENT_2D('',#257,#258); -#257 = CARTESIAN_POINT('',(1.,1.110223024625E-16)); -#258 = DIRECTION('',(1.,0.)); -#259 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#260 = PCURVE('',#261,#266); -#261 = SPHERICAL_SURFACE('',#262,0.497715749301); -#262 = AXIS2_PLACEMENT_3D('',#263,#264,#265); -#263 = CARTESIAN_POINT('',(2.,1.,0.)); -#264 = DIRECTION('',(0.,0.,1.)); -#265 = DIRECTION('',(1.,0.,-0.)); -#266 = DEFINITIONAL_REPRESENTATION('',(#267),#270); -#267 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#268,#269),.UNSPECIFIED.,.F.,.F., - (2,2),(2.356194490192,3.926990816987),.PIECEWISE_BEZIER_KNOTS.); -#268 = CARTESIAN_POINT('',(2.356194490192,0.)); -#269 = CARTESIAN_POINT('',(3.926990816987,0.)); -#270 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#271 = ORIENTED_EDGE('',*,*,#272,.T.); -#272 = EDGE_CURVE('',#245,#273,#275,.T.); -#273 = VERTEX_POINT('',#274); -#274 = CARTESIAN_POINT('',(1.351938181434,1.648061818566,0.)); -#275 = SURFACE_CURVE('',#276,(#280,#287),.PCURVE_S1.); -#276 = LINE('',#277,#278); -#277 = CARTESIAN_POINT('',(2.,1.,0.)); -#278 = VECTOR('',#279,1.); -#279 = DIRECTION('',(-0.707106781187,0.707106781187,0.)); -#280 = PCURVE('',#44,#281); -#281 = DEFINITIONAL_REPRESENTATION('',(#282),#286); -#282 = LINE('',#283,#284); -#283 = CARTESIAN_POINT('',(1.,1.110223024625E-16)); -#284 = VECTOR('',#285,1.); -#285 = DIRECTION('',(-0.707106781187,0.707106781187)); -#286 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#287 = PCURVE('',#288,#293); -#288 = PLANE('',#289); -#289 = AXIS2_PLACEMENT_3D('',#290,#291,#292); -#290 = CARTESIAN_POINT('',(2.,1.,0.)); -#291 = DIRECTION('',(-0.707106781187,-0.707106781187,0.)); -#292 = DIRECTION('',(-0.707106781187,0.707106781187,0.)); -#293 = DEFINITIONAL_REPRESENTATION('',(#294),#298); -#294 = LINE('',#295,#296); -#295 = CARTESIAN_POINT('',(0.,0.)); -#296 = VECTOR('',#297,1.); -#297 = DIRECTION('',(1.,0.)); -#298 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#299 = ORIENTED_EDGE('',*,*,#300,.F.); -#300 = EDGE_CURVE('',#301,#273,#303,.T.); -#301 = VERTEX_POINT('',#302); -#302 = CARTESIAN_POINT('',(0.648061818566,1.648061818566,0.)); -#303 = SURFACE_CURVE('',#304,(#309,#316),.PCURVE_S1.); -#304 = CIRCLE('',#305,0.497715749301); -#305 = AXIS2_PLACEMENT_3D('',#306,#307,#308); -#306 = CARTESIAN_POINT('',(1.,2.,0.)); -#307 = DIRECTION('',(0.,0.,1.)); -#308 = DIRECTION('',(1.,0.,-0.)); -#309 = PCURVE('',#44,#310); -#310 = DEFINITIONAL_REPRESENTATION('',(#311),#315); -#311 = CIRCLE('',#312,0.497715749301); -#312 = AXIS2_PLACEMENT_2D('',#313,#314); -#313 = CARTESIAN_POINT('',(0.,1.)); -#314 = DIRECTION('',(1.,0.)); -#315 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#316 = PCURVE('',#317,#322); -#317 = SPHERICAL_SURFACE('',#318,0.497715749301); -#318 = AXIS2_PLACEMENT_3D('',#319,#320,#321); -#319 = CARTESIAN_POINT('',(1.,2.,0.)); -#320 = DIRECTION('',(0.,0.,1.)); -#321 = DIRECTION('',(1.,0.,-0.)); -#322 = DEFINITIONAL_REPRESENTATION('',(#323),#326); -#323 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#324,#325),.UNSPECIFIED.,.F.,.F., - (2,2),(3.926990816987,5.497787143782),.PIECEWISE_BEZIER_KNOTS.); -#324 = CARTESIAN_POINT('',(3.926990816987,0.)); -#325 = CARTESIAN_POINT('',(5.497787143782,0.)); -#326 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#327 = ORIENTED_EDGE('',*,*,#328,.T.); -#328 = EDGE_CURVE('',#301,#329,#331,.T.); -#329 = VERTEX_POINT('',#330); -#330 = CARTESIAN_POINT('',(0.351938181434,1.351938181434,0.)); -#331 = SURFACE_CURVE('',#332,(#336,#343),.PCURVE_S1.); -#332 = LINE('',#333,#334); -#333 = CARTESIAN_POINT('',(1.,2.,0.)); -#334 = VECTOR('',#335,1.); -#335 = DIRECTION('',(-0.707106781187,-0.707106781187,0.)); -#336 = PCURVE('',#44,#337); -#337 = DEFINITIONAL_REPRESENTATION('',(#338),#342); -#338 = LINE('',#339,#340); -#339 = CARTESIAN_POINT('',(0.,1.)); -#340 = VECTOR('',#341,1.); -#341 = DIRECTION('',(-0.707106781187,-0.707106781187)); -#342 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#343 = PCURVE('',#344,#349); -#344 = PLANE('',#345); -#345 = AXIS2_PLACEMENT_3D('',#346,#347,#348); -#346 = CARTESIAN_POINT('',(1.,2.,0.)); -#347 = DIRECTION('',(0.707106781187,-0.707106781187,0.)); -#348 = DIRECTION('',(-0.707106781187,-0.707106781187,0.)); -#349 = DEFINITIONAL_REPRESENTATION('',(#350),#354); -#350 = LINE('',#351,#352); -#351 = CARTESIAN_POINT('',(0.,0.)); -#352 = VECTOR('',#353,1.); -#353 = DIRECTION('',(1.,0.)); -#354 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#355 = ORIENTED_EDGE('',*,*,#356,.F.); -#356 = EDGE_CURVE('',#170,#329,#357,.T.); -#357 = SURFACE_CURVE('',#358,(#363,#370),.PCURVE_S1.); -#358 = CIRCLE('',#359,0.497715749301); -#359 = AXIS2_PLACEMENT_3D('',#360,#361,#362); -#360 = CARTESIAN_POINT('',(0.,1.,0.)); -#361 = DIRECTION('',(0.,0.,1.)); -#362 = DIRECTION('',(1.,0.,-0.)); -#363 = PCURVE('',#44,#364); -#364 = DEFINITIONAL_REPRESENTATION('',(#365),#369); -#365 = CIRCLE('',#366,0.497715749301); -#366 = AXIS2_PLACEMENT_2D('',#367,#368); -#367 = CARTESIAN_POINT('',(-1.,1.110223024625E-16)); -#368 = DIRECTION('',(1.,0.)); -#369 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#370 = PCURVE('',#371,#376); -#371 = SPHERICAL_SURFACE('',#372,0.497715749301); -#372 = AXIS2_PLACEMENT_3D('',#373,#374,#375); -#373 = CARTESIAN_POINT('',(0.,1.,0.)); -#374 = DIRECTION('',(0.,0.,1.)); -#375 = DIRECTION('',(1.,0.,-0.)); -#376 = DEFINITIONAL_REPRESENTATION('',(#377),#380); -#377 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#378,#379),.UNSPECIFIED.,.F.,.F., - (2,2),(0.,0.785398163397),.PIECEWISE_BEZIER_KNOTS.); -#378 = CARTESIAN_POINT('',(0.,0.)); -#379 = CARTESIAN_POINT('',(0.785398163397,0.)); -#380 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#381 = FACE_BOUND('',#382,.F.); -#382 = EDGE_LOOP('',(#383)); -#383 = ORIENTED_EDGE('',*,*,#384,.F.); -#384 = EDGE_CURVE('',#385,#385,#387,.T.); -#385 = VERTEX_POINT('',#386); -#386 = CARTESIAN_POINT('',(1.497715749301,1.,3.201551878209E-16)); -#387 = SURFACE_CURVE('',#388,(#393,#400),.PCURVE_S1.); -#388 = CIRCLE('',#389,0.497715749301); -#389 = AXIS2_PLACEMENT_3D('',#390,#391,#392); -#390 = CARTESIAN_POINT('',(1.,1.,0.)); -#391 = DIRECTION('',(0.,0.,1.)); -#392 = DIRECTION('',(1.,0.,-0.)); -#393 = PCURVE('',#44,#394); -#394 = DEFINITIONAL_REPRESENTATION('',(#395),#399); -#395 = CIRCLE('',#396,0.497715749301); -#396 = AXIS2_PLACEMENT_2D('',#397,#398); -#397 = CARTESIAN_POINT('',(0.,1.110223024625E-16)); -#398 = DIRECTION('',(1.,0.)); -#399 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#400 = PCURVE('',#401,#406); -#401 = SPHERICAL_SURFACE('',#402,0.497715749301); -#402 = AXIS2_PLACEMENT_3D('',#403,#404,#405); -#403 = CARTESIAN_POINT('',(1.,1.,0.)); -#404 = DIRECTION('',(0.,0.,1.)); -#405 = DIRECTION('',(1.,0.,-0.)); -#406 = DEFINITIONAL_REPRESENTATION('',(#407),#410); -#407 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#408,#409),.UNSPECIFIED.,.F.,.F., - (2,2),(0.,6.28318530718),.PIECEWISE_BEZIER_KNOTS.); -#408 = CARTESIAN_POINT('',(0.,0.)); -#409 = CARTESIAN_POINT('',(6.28318530718,0.)); -#410 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#411 = ADVANCED_FACE('',(#412),#155,.F.); -#412 = FACE_BOUND('',#413,.F.); -#413 = EDGE_LOOP('',(#414,#444,#472,#527,#584,#605,#606,#607)); -#414 = ORIENTED_EDGE('',*,*,#415,.T.); -#415 = EDGE_CURVE('',#416,#418,#420,.T.); -#416 = VERTEX_POINT('',#417); -#417 = CARTESIAN_POINT('',(0.850183970027,0.149816029973,0.450367940055) - ); -#418 = VERTEX_POINT('',#419); -#419 = CARTESIAN_POINT('',(1.,-7.464540639997E-33,0.497715749301)); -#420 = SURFACE_CURVE('',#421,(#426,#432),.PCURVE_S1.); -#421 = CIRCLE('',#422,0.497715749301); -#422 = AXIS2_PLACEMENT_3D('',#423,#424,#425); -#423 = CARTESIAN_POINT('',(1.,0.,0.)); -#424 = DIRECTION('',(0.707106781187,0.707106781187,-0.)); -#425 = DIRECTION('',(-0.707106781187,0.707106781187,0.)); -#426 = PCURVE('',#155,#427); -#427 = DEFINITIONAL_REPRESENTATION('',(#428),#431); -#428 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#429,#430),.UNSPECIFIED.,.F.,.F., - (2,2),(1.131073714916,1.570796326795),.PIECEWISE_BEZIER_KNOTS.); -#429 = CARTESIAN_POINT('',(2.356194490192,1.131073714916)); -#430 = CARTESIAN_POINT('',(2.356194490192,1.570796326795)); -#431 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#432 = PCURVE('',#433,#438); -#433 = PLANE('',#434); -#434 = AXIS2_PLACEMENT_3D('',#435,#436,#437); -#435 = CARTESIAN_POINT('',(0.,1.,0.)); -#436 = DIRECTION('',(0.707106781187,0.707106781187,-0.)); -#437 = DIRECTION('',(0.707106781187,-0.707106781187,0.)); -#438 = DEFINITIONAL_REPRESENTATION('',(#439),#443); -#439 = CIRCLE('',#440,0.497715749301); -#440 = AXIS2_PLACEMENT_2D('',#441,#442); -#441 = CARTESIAN_POINT('',(1.414213562373,0.)); -#442 = DIRECTION('',(-1.,-0.)); -#443 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#444 = ORIENTED_EDGE('',*,*,#445,.T.); -#445 = EDGE_CURVE('',#418,#446,#448,.T.); -#446 = VERTEX_POINT('',#447); -#447 = CARTESIAN_POINT('',(1.149816029973,0.149816029973,0.450367940055) - ); -#448 = SURFACE_CURVE('',#449,(#454,#460),.PCURVE_S1.); -#449 = CIRCLE('',#450,0.497715749301); -#450 = AXIS2_PLACEMENT_3D('',#451,#452,#453); -#451 = CARTESIAN_POINT('',(1.,0.,0.)); -#452 = DIRECTION('',(-0.707106781187,0.707106781187,0.)); -#453 = DIRECTION('',(-0.707106781187,-0.707106781187,0.)); -#454 = PCURVE('',#155,#455); -#455 = DEFINITIONAL_REPRESENTATION('',(#456),#459); -#456 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#457,#458),.UNSPECIFIED.,.F.,.F., - (2,2),(1.570796326795,2.010518938673),.PIECEWISE_BEZIER_KNOTS.); -#457 = CARTESIAN_POINT('',(0.785398163397,1.570796326795)); -#458 = CARTESIAN_POINT('',(0.785398163397,1.131073714916)); -#459 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#460 = PCURVE('',#461,#466); -#461 = PLANE('',#462); -#462 = AXIS2_PLACEMENT_3D('',#463,#464,#465); -#463 = CARTESIAN_POINT('',(1.,0.,0.)); -#464 = DIRECTION('',(-0.707106781187,0.707106781187,0.)); -#465 = DIRECTION('',(0.707106781187,0.707106781187,0.)); -#466 = DEFINITIONAL_REPRESENTATION('',(#467),#471); -#467 = CIRCLE('',#468,0.497715749301); -#468 = AXIS2_PLACEMENT_2D('',#469,#470); -#469 = CARTESIAN_POINT('',(0.,0.)); -#470 = DIRECTION('',(-1.,-0.)); -#471 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#472 = ORIENTED_EDGE('',*,*,#473,.F.); -#473 = EDGE_CURVE('',#474,#446,#476,.T.); -#474 = VERTEX_POINT('',#475); -#475 = CARTESIAN_POINT('',(1.076476273809,0.423523726191,0.25)); -#476 = SURFACE_CURVE('',#477,(#482,#509),.PCURVE_S1.); -#477 = CIRCLE('',#478,0.245399606973); -#478 = AXIS2_PLACEMENT_3D('',#479,#480,#481); -#479 = CARTESIAN_POINT('',(1.25,0.25,0.25)); -#480 = DIRECTION('',(0.57735026919,0.57735026919,0.57735026919)); -#481 = DIRECTION('',(-0.707106781187,0.707106781187,0.)); -#482 = PCURVE('',#155,#483); -#483 = DEFINITIONAL_REPRESENTATION('',(#484),#508); -#484 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#485,#486,#487,#488,#489,#490, - #491,#492,#493,#494,#495,#496,#497,#498,#499,#500,#501,#502,#503, - #504,#505,#506,#507),.UNSPECIFIED.,.F.,.F.,(9,7,7,9),(0., - 0.785398163397,1.47262155637,1.570796326795),.UNSPECIFIED.); -#485 = CARTESIAN_POINT('',(1.392149972362,0.526250539436)); -#486 = CARTESIAN_POINT('',(1.410578763381,0.571957574886)); -#487 = CARTESIAN_POINT('',(1.424964644063,0.619051486728)); -#488 = CARTESIAN_POINT('',(1.434862515815,0.667154048102)); -#489 = CARTESIAN_POINT('',(1.439650592987,0.715859131219)); -#490 = CARTESIAN_POINT('',(1.438549296202,0.764714154902)); -#491 = CARTESIAN_POINT('',(1.430414957867,0.813183583818)); -#492 = CARTESIAN_POINT('',(1.413565306446,0.860569413232)); -#493 = CARTESIAN_POINT('',(1.361681036905,0.945495962948)); -#494 = CARTESIAN_POINT('',(1.329182481628,0.98352593372)); -#495 = CARTESIAN_POINT('',(1.287018444192,1.019288412063)); -#496 = CARTESIAN_POINT('',(1.233479150294,1.051892094281)); -#497 = CARTESIAN_POINT('',(1.167261943818,1.080336025807)); -#498 = CARTESIAN_POINT('',(1.086495893068,1.103057018853)); -#499 = CARTESIAN_POINT('',(0.994906979214,1.118654821906)); -#500 = CARTESIAN_POINT('',(0.884250197402,1.127668406666)); -#501 = CARTESIAN_POINT('',(0.870311410172,1.128637721153)); -#502 = CARTESIAN_POINT('',(0.856282058442,1.129447894731)); -#503 = CARTESIAN_POINT('',(0.842179308929,1.130097491274)); -#504 = CARTESIAN_POINT('',(0.828021071223,1.130585419069)); -#505 = CARTESIAN_POINT('',(0.813825720973,1.130910946087)); -#506 = CARTESIAN_POINT('',(0.79961184512,1.131073707287)); -#507 = CARTESIAN_POINT('',(0.785398009147,1.131073703941)); -#508 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#509 = PCURVE('',#510,#515); -#510 = SPHERICAL_SURFACE('',#511,0.497715749301); -#511 = AXIS2_PLACEMENT_3D('',#512,#513,#514); -#512 = CARTESIAN_POINT('',(1.5,0.5,0.5)); -#513 = DIRECTION('',(0.,0.,1.)); -#514 = DIRECTION('',(1.,0.,-0.)); -#515 = DEFINITIONAL_REPRESENTATION('',(#516),#526); -#516 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#517,#518,#519,#520,#521,#522, - #523,#524,#525),.UNSPECIFIED.,.F.,.F.,(9,9),(0.,1.570796326795), - .PIECEWISE_BEZIER_KNOTS.); -#517 = CARTESIAN_POINT('',(3.320239008023,-0.526250539436)); -#518 = CARTESIAN_POINT('',(3.357096590061,-0.434836468535)); -#519 = CARTESIAN_POINT('',(3.410117254655,-0.348970381879)); -#520 = CARTESIAN_POINT('',(3.475682618735,-0.271677081405)); -#521 = CARTESIAN_POINT('',(3.552321805626,-0.205567417181)); -#522 = CARTESIAN_POINT('',(3.638705820347,-0.153363467101)); -#523 = CARTESIAN_POINT('',(3.732402566752,-0.11771252843)); -#524 = CARTESIAN_POINT('',(3.829695375504,-9.98857024243E-02)); -#525 = CARTESIAN_POINT('',(3.926990816987,-9.98857024243E-02)); -#526 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#527 = ORIENTED_EDGE('',*,*,#528,.F.); -#528 = EDGE_CURVE('',#529,#474,#531,.T.); -#529 = VERTEX_POINT('',#530); -#530 = CARTESIAN_POINT('',(1.350183970027,0.350183970027, - 4.963205994528E-02)); -#531 = SURFACE_CURVE('',#532,(#537,#557),.PCURVE_S1.); -#532 = CIRCLE('',#533,0.245399606973); -#533 = AXIS2_PLACEMENT_3D('',#534,#535,#536); -#534 = CARTESIAN_POINT('',(1.25,0.25,0.25)); -#535 = DIRECTION('',(0.57735026919,0.57735026919,0.57735026919)); -#536 = DIRECTION('',(-0.707106781187,0.707106781187,0.)); -#537 = PCURVE('',#155,#538); -#538 = DEFINITIONAL_REPRESENTATION('',(#539),#556); -#539 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#540,#541,#542,#543,#544,#545, - #546,#547,#548,#549,#550,#551,#552,#553,#554,#555),.UNSPECIFIED.,.F. - ,.F.,(9,7,9),(4.712388980385,4.803373215866,6.28318530718), - .UNSPECIFIED.); -#540 = CARTESIAN_POINT('',(0.785398204163,9.988571523101E-02)); -#541 = CARTESIAN_POINT('',(0.791033784249,9.988571509204E-02)); -#542 = CARTESIAN_POINT('',(0.796669362196,9.994552244007E-02)); -#543 = CARTESIAN_POINT('',(0.802304235235,0.100065137273)); -#544 = CARTESIAN_POINT('',(0.807937700874,0.100244545193)); -#545 = CARTESIAN_POINT('',(0.813569057602,0.100483717459)); -#546 = CARTESIAN_POINT('',(0.819197605618,0.100782611084)); -#547 = CARTESIAN_POINT('',(0.824822647587,0.101141168992)); -#548 = CARTESIAN_POINT('',(0.921863609011,0.108360336437)); -#549 = CARTESIAN_POINT('',(1.012171107315,0.130923118231)); -#550 = CARTESIAN_POINT('',(1.098371922804,0.168951467086)); -#551 = CARTESIAN_POINT('',(1.17760078415,0.221095759914)); -#552 = CARTESIAN_POINT('',(1.247970908632,0.285201738956)); -#553 = CARTESIAN_POINT('',(1.308360222289,0.358934034507)); -#554 = CARTESIAN_POINT('',(1.35742726858,0.440131387559)); -#555 = CARTESIAN_POINT('',(1.392149972362,0.526250539436)); -#556 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#557 = PCURVE('',#510,#558); -#558 = DEFINITIONAL_REPRESENTATION('',(#559),#583); -#559 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#560,#561,#562,#563,#564,#565, - #566,#567,#568,#569,#570,#571,#572,#573,#574,#575,#576,#577,#578, - #579,#580,#581,#582),.UNSPECIFIED.,.F.,.F.,(9,7,7,9),(4.712388980385 - ,4.792155981355,5.537670644267,6.28318530718),.UNSPECIFIED.); -#560 = CARTESIAN_POINT('',(3.926990831614,-1.131073722024)); -#561 = CARTESIAN_POINT('',(3.915442100597,-1.131073719025)); -#562 = CARTESIAN_POINT('',(3.903893368336,-1.130966263189)); -#563 = CARTESIAN_POINT('',(3.892354591244,-1.130751355268)); -#564 = CARTESIAN_POINT('',(3.88083572642,-1.130429156789)); -#565 = CARTESIAN_POINT('',(3.869346647934,-1.12999998988)); -#566 = CARTESIAN_POINT('',(3.857897061931,-1.129464333764)); -#567 = CARTESIAN_POINT('',(3.846496426347,-1.128822817223)); -#568 = CARTESIAN_POINT('',(3.729144736594,-1.121098265151)); -#569 = CARTESIAN_POINT('',(3.628213413147,-1.104943213181)); -#570 = CARTESIAN_POINT('',(3.539799605187,-1.080221313086)); -#571 = CARTESIAN_POINT('',(3.469289624918,-1.04875826949)); -#572 = CARTESIAN_POINT('',(3.413421530935,-1.012625673241)); -#573 = CARTESIAN_POINT('',(3.370655132064,-0.972997243777)); -#574 = CARTESIAN_POINT('',(3.338741255707,-0.930968368726)); -#575 = CARTESIAN_POINT('',(3.293298279939,-0.843669726192)); -#576 = CARTESIAN_POINT('',(3.279766027037,-0.798401959133)); -#577 = CARTESIAN_POINT('',(3.273709560063,-0.752314092526)); -#578 = CARTESIAN_POINT('',(3.273789268863,-0.705975469972)); -#579 = CARTESIAN_POINT('',(3.279070273159,-0.659833705175)); -#580 = CARTESIAN_POINT('',(3.288895320679,-0.614272116287)); -#581 = CARTESIAN_POINT('',(3.302746054047,-0.569636514492)); -#582 = CARTESIAN_POINT('',(3.320239008023,-0.526250539436)); -#583 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#584 = ORIENTED_EDGE('',*,*,#585,.T.); -#585 = EDGE_CURVE('',#529,#194,#586,.T.); -#586 = SURFACE_CURVE('',#587,(#592,#598),.PCURVE_S1.); -#587 = CIRCLE('',#588,0.497715749301); -#588 = AXIS2_PLACEMENT_3D('',#589,#590,#591); -#589 = CARTESIAN_POINT('',(1.,0.,0.)); -#590 = DIRECTION('',(-0.707106781187,0.707106781187,0.)); -#591 = DIRECTION('',(-0.707106781187,-0.707106781187,0.)); -#592 = PCURVE('',#155,#593); -#593 = DEFINITIONAL_REPRESENTATION('',(#594),#597); -#594 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#595,#596),.UNSPECIFIED.,.F.,.F., - (2,2),(3.041706951165,3.14159265359),.PIECEWISE_BEZIER_KNOTS.); -#595 = CARTESIAN_POINT('',(0.785398163397,9.98857024243E-02)); -#596 = CARTESIAN_POINT('',(0.785398163397,0.)); -#597 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#598 = PCURVE('',#232,#599); -#599 = DEFINITIONAL_REPRESENTATION('',(#600),#604); -#600 = CIRCLE('',#601,0.497715749301); -#601 = AXIS2_PLACEMENT_2D('',#602,#603); -#602 = CARTESIAN_POINT('',(0.,0.)); -#603 = DIRECTION('',(-1.,-0.)); -#604 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#605 = ORIENTED_EDGE('',*,*,#193,.T.); -#606 = ORIENTED_EDGE('',*,*,#140,.T.); -#607 = ORIENTED_EDGE('',*,*,#608,.F.); -#608 = EDGE_CURVE('',#416,#113,#609,.T.); -#609 = SURFACE_CURVE('',#610,(#615,#649),.PCURVE_S1.); -#610 = CIRCLE('',#611,0.245399606973); -#611 = AXIS2_PLACEMENT_3D('',#612,#613,#614); -#612 = CARTESIAN_POINT('',(0.75,0.25,0.25)); -#613 = DIRECTION('',(-0.57735026919,0.57735026919,0.57735026919)); -#614 = DIRECTION('',(-0.707106781187,-0.707106781187,0.)); -#615 = PCURVE('',#155,#616); -#616 = DEFINITIONAL_REPRESENTATION('',(#617),#648); -#617 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#618,#619,#620,#621,#622,#623, - #624,#625,#626,#627,#628,#629,#630,#631,#632,#633,#634,#635,#636, - #637,#638,#639,#640,#641,#642,#643,#644,#645,#646,#647), - .UNSPECIFIED.,.F.,.F.,(9,7,7,7,9),(1.570796326795,1.773281790796, - 2.337019730344,3.323561124553,4.712388980385),.UNSPECIFIED.); -#618 = CARTESIAN_POINT('',(2.356194335941,1.131073703941)); -#619 = CARTESIAN_POINT('',(2.326878299246,1.131073697041)); -#620 = CARTESIAN_POINT('',(2.297562432194,1.130381305025)); -#621 = CARTESIAN_POINT('',(2.268409622431,1.128996539065)); -#622 = CARTESIAN_POINT('',(2.239582369365,1.126926039078)); -#623 = CARTESIAN_POINT('',(2.211234097701,1.124183048721)); -#624 = CARTESIAN_POINT('',(2.183502167101,1.120786776824)); -#625 = CARTESIAN_POINT('',(2.156502577971,1.116761145276)); -#626 = CARTESIAN_POINT('',(2.057449440146,1.099247532764)); -#627 = CARTESIAN_POINT('',(1.990957856993,1.081691979455)); -#628 = CARTESIAN_POINT('',(1.93285311114,1.060046176974)); -#629 = CARTESIAN_POINT('',(1.88376966621,1.035093755117)); -#630 = CARTESIAN_POINT('',(1.842894561073,1.007559551017)); -#631 = CARTESIAN_POINT('',(1.809436376157,0.978009692444)); -#632 = CARTESIAN_POINT('',(1.782493923725,0.946919579642)); -#633 = CARTESIAN_POINT('',(1.724171733622,0.858245209992)); -#634 = CARTESIAN_POINT('',(1.704619121949,0.798278707788)); -#635 = CARTESIAN_POINT('',(1.698382544976,0.736848355699)); -#636 = CARTESIAN_POINT('',(1.702124490658,0.675222690913)); -#637 = CARTESIAN_POINT('',(1.714218203244,0.614333671888)); -#638 = CARTESIAN_POINT('',(1.733301818693,0.554994019435)); -#639 = CARTESIAN_POINT('',(1.758578642204,0.497939306714)); -#640 = CARTESIAN_POINT('',(1.83275089507,0.367765207006)); -#641 = CARTESIAN_POINT('',(1.887076093619,0.297581628432)); -#642 = CARTESIAN_POINT('',(1.950554608908,0.23529140825)); -#643 = CARTESIAN_POINT('',(2.022107706516,0.182716794855)); -#644 = CARTESIAN_POINT('',(2.100619823984,0.141691993265)); -#645 = CARTESIAN_POINT('',(2.184145533005,0.113821140403)); -#646 = CARTESIAN_POINT('',(2.270170281098,9.988571735226E-02)); -#647 = CARTESIAN_POINT('',(2.356194530958,9.9885715231E-02)); -#648 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#649 = PCURVE('',#129,#650); -#650 = DEFINITIONAL_REPRESENTATION('',(#651),#682); -#651 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#652,#653,#654,#655,#656,#657, - #658,#659,#660,#661,#662,#663,#664,#665,#666,#667,#668,#669,#670, - #671,#672,#673,#674,#675,#676,#677,#678,#679,#680,#681), - .UNSPECIFIED.,.F.,.F.,(9,7,7,7,9),(1.570796326795,2.748893571891, - 3.632466505713,4.29514620608,4.712388980385),.UNSPECIFIED.); -#652 = CARTESIAN_POINT('',(5.497787143782,-9.98857024243E-02)); -#653 = CARTESIAN_POINT('',(5.570758724895,-9.98857024243E-02)); -#654 = CARTESIAN_POINT('',(5.643729269317,-0.109912993123)); -#655 = CARTESIAN_POINT('',(5.715180203364,-0.129968523541)); -#656 = CARTESIAN_POINT('',(5.783562255149,-0.159643456479)); -#657 = CARTESIAN_POINT('',(5.847610813508,-0.198119299476)); -#658 = CARTESIAN_POINT('',(5.906410423842,-0.244353709451)); -#659 = CARTESIAN_POINT('',(5.959238921163,-0.297260025871)); -#660 = CARTESIAN_POINT('',(6.039708785177,-0.39951000844)); -#661 = CARTESIAN_POINT('',(6.07034470454,-0.446436995776)); -#662 = CARTESIAN_POINT('',(6.096766324757,-0.49598958076)); -#663 = CARTESIAN_POINT('',(6.118554067617,-0.547660341207)); -#664 = CARTESIAN_POINT('',(6.135181006504,-0.600935264907)); -#665 = CARTESIAN_POINT('',(6.145895682788,-0.655270502898)); -#666 = CARTESIAN_POINT('',(6.149538642718,-0.710025012429)); -#667 = CARTESIAN_POINT('',(6.140358233926,-0.805092147515)); -#668 = CARTESIAN_POINT('',(6.131422458863,-0.845591709097)); -#669 = CARTESIAN_POINT('',(6.116727769278,-0.885491798714)); -#670 = CARTESIAN_POINT('',(6.095273762458,-0.924346878775)); -#671 = CARTESIAN_POINT('',(6.06588705375,-0.96163658366)); -#672 = CARTESIAN_POINT('',(6.027011707458,-0.996655132864)); -#673 = CARTESIAN_POINT('',(5.976984459847,-1.028436652836)); -#674 = CARTESIAN_POINT('',(5.876883573418,-1.073155293663)); -#675 = CARTESIAN_POINT('',(5.833690232349,-1.0887126999)); -#676 = CARTESIAN_POINT('',(5.785911406013,-1.102275070884)); -#677 = CARTESIAN_POINT('',(5.733722652473,-1.113553642707)); -#678 = CARTESIAN_POINT('',(5.677588346695,-1.122253627057)); -#679 = CARTESIAN_POINT('',(5.618604618065,-1.128133742014)); -#680 = CARTESIAN_POINT('',(5.558195905268,-1.131073737708)); -#681 = CARTESIAN_POINT('',(5.497787158411,-1.131073722024)); -#682 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#683 = ADVANCED_FACE('',(#684),#129,.F.); -#684 = FACE_BOUND('',#685,.F.); -#685 = EDGE_LOOP('',(#686,#708,#736,#819,#840,#841)); -#686 = ORIENTED_EDGE('',*,*,#687,.T.); -#687 = EDGE_CURVE('',#85,#688,#690,.T.); -#688 = VERTEX_POINT('',#689); -#689 = CARTESIAN_POINT('',(0.5,0.5,0.997715749301)); -#690 = SURFACE_CURVE('',#691,(#696,#702),.PCURVE_S1.); -#691 = CIRCLE('',#692,0.497715749301); -#692 = AXIS2_PLACEMENT_3D('',#693,#694,#695); -#693 = CARTESIAN_POINT('',(0.5,0.5,0.5)); -#694 = DIRECTION('',(-2.449293598295E-16,-1.,0.)); -#695 = DIRECTION('',(1.,-2.449293598295E-16,0.)); -#696 = PCURVE('',#129,#697); -#697 = DEFINITIONAL_REPRESENTATION('',(#698),#701); -#698 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#699,#700),.UNSPECIFIED.,.F.,.F., - (2,2),(4.712388980385,7.853981633974),.PIECEWISE_BEZIER_KNOTS.); -#699 = CARTESIAN_POINT('',(6.28318530718,-1.570796326795)); -#700 = CARTESIAN_POINT('',(6.28318530718,1.570796326795)); -#701 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#702 = PCURVE('',#101,#703); -#703 = DEFINITIONAL_REPRESENTATION('',(#704),#707); -#704 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#705,#706),.UNSPECIFIED.,.F.,.F., - (2,2),(4.712388980385,7.853981633974),.PIECEWISE_BEZIER_KNOTS.); -#705 = CARTESIAN_POINT('',(0.,-1.570796326795)); -#706 = CARTESIAN_POINT('',(0.,1.570796326795)); -#707 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#708 = ORIENTED_EDGE('',*,*,#709,.T.); -#709 = EDGE_CURVE('',#688,#710,#712,.T.); -#710 = VERTEX_POINT('',#711); -#711 = CARTESIAN_POINT('',(0.649816029973,0.350183970027,0.950367940055) - ); -#712 = SURFACE_CURVE('',#713,(#718,#724),.PCURVE_S1.); -#713 = CIRCLE('',#714,0.497715749301); -#714 = AXIS2_PLACEMENT_3D('',#715,#716,#717); -#715 = CARTESIAN_POINT('',(0.5,0.5,0.5)); -#716 = DIRECTION('',(0.707106781187,0.707106781187,-0.)); -#717 = DIRECTION('',(-0.707106781187,0.707106781187,0.)); -#718 = PCURVE('',#129,#719); -#719 = DEFINITIONAL_REPRESENTATION('',(#720),#723); -#720 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#721,#722),.UNSPECIFIED.,.F.,.F., - (2,2),(1.570796326795,2.010518938673),.PIECEWISE_BEZIER_KNOTS.); -#721 = CARTESIAN_POINT('',(5.497787143782,1.570796326795)); -#722 = CARTESIAN_POINT('',(5.497787143782,1.131073714916)); -#723 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#724 = PCURVE('',#725,#730); -#725 = PLANE('',#726); -#726 = AXIS2_PLACEMENT_3D('',#727,#728,#729); -#727 = CARTESIAN_POINT('',(0.,1.,0.)); -#728 = DIRECTION('',(0.707106781187,0.707106781187,-0.)); -#729 = DIRECTION('',(0.707106781187,-0.707106781187,0.)); -#730 = DEFINITIONAL_REPRESENTATION('',(#731),#735); -#731 = CIRCLE('',#732,0.497715749301); -#732 = AXIS2_PLACEMENT_2D('',#733,#734); -#733 = CARTESIAN_POINT('',(0.707106781187,-0.5)); -#734 = DIRECTION('',(-1.,-0.)); -#735 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#736 = ORIENTED_EDGE('',*,*,#737,.T.); -#737 = EDGE_CURVE('',#710,#738,#740,.T.); -#738 = VERTEX_POINT('',#739); -#739 = CARTESIAN_POINT('',(0.850183970027,0.149816029973,0.549632059945) - ); -#740 = SURFACE_CURVE('',#741,(#746,#780),.PCURVE_S1.); -#741 = CIRCLE('',#742,0.245399606973); -#742 = AXIS2_PLACEMENT_3D('',#743,#744,#745); -#743 = CARTESIAN_POINT('',(0.75,0.25,0.75)); -#744 = DIRECTION('',(-0.57735026919,0.57735026919,-0.57735026919)); -#745 = DIRECTION('',(-0.707106781187,-0.707106781187,0.)); -#746 = PCURVE('',#129,#747); -#747 = DEFINITIONAL_REPRESENTATION('',(#748),#779); -#748 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#749,#750,#751,#752,#753,#754, - #755,#756,#757,#758,#759,#760,#761,#762,#763,#764,#765,#766,#767, - #768,#769,#770,#771,#772,#773,#774,#775,#776,#777,#778), - .UNSPECIFIED.,.F.,.F.,(9,7,7,7,9),(1.570796326795,1.773281790796, - 2.337019730344,3.323561124553,4.712388980385),.UNSPECIFIED.); -#749 = CARTESIAN_POINT('',(5.497787298033,1.131073703941)); -#750 = CARTESIAN_POINT('',(5.527103334729,1.131073697041)); -#751 = CARTESIAN_POINT('',(5.55641920178,1.130381305025)); -#752 = CARTESIAN_POINT('',(5.585572011543,1.128996539065)); -#753 = CARTESIAN_POINT('',(5.61439926461,1.126926039078)); -#754 = CARTESIAN_POINT('',(5.642747536273,1.124183048721)); -#755 = CARTESIAN_POINT('',(5.670479466873,1.120786776824)); -#756 = CARTESIAN_POINT('',(5.697479056003,1.116761145276)); -#757 = CARTESIAN_POINT('',(5.796532193829,1.099247532764)); -#758 = CARTESIAN_POINT('',(5.863023776972,1.081691979455)); -#759 = CARTESIAN_POINT('',(5.921128522834,1.060046176978)); -#760 = CARTESIAN_POINT('',(5.97021196772,1.035093755115)); -#761 = CARTESIAN_POINT('',(6.0110870729,1.007559551019)); -#762 = CARTESIAN_POINT('',(6.04454525781,0.978009692443)); -#763 = CARTESIAN_POINT('',(6.071487710249,0.946919579642)); -#764 = CARTESIAN_POINT('',(6.129809900352,0.858245209992)); -#765 = CARTESIAN_POINT('',(6.149362512018,0.798278707787)); -#766 = CARTESIAN_POINT('',(6.155599089008,0.736848355705)); -#767 = CARTESIAN_POINT('',(6.151857143279,0.675222690906)); -#768 = CARTESIAN_POINT('',(6.139763430721,0.614333671893)); -#769 = CARTESIAN_POINT('',(6.120679815272,0.554994019433)); -#770 = CARTESIAN_POINT('',(6.09540299177,0.497939306714)); -#771 = CARTESIAN_POINT('',(6.021230738904,0.367765207006)); -#772 = CARTESIAN_POINT('',(5.966905540355,0.297581628432)); -#773 = CARTESIAN_POINT('',(5.903427025052,0.23529140825)); -#774 = CARTESIAN_POINT('',(5.831873927453,0.182716794854)); -#775 = CARTESIAN_POINT('',(5.753361809972,0.141691993265)); -#776 = CARTESIAN_POINT('',(5.669836100961,0.113821140403)); -#777 = CARTESIAN_POINT('',(5.583811352875,9.988571735228E-02)); -#778 = CARTESIAN_POINT('',(5.497787103016,9.988571523101E-02)); -#779 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#780 = PCURVE('',#781,#786); -#781 = SPHERICAL_SURFACE('',#782,0.497715749301); -#782 = AXIS2_PLACEMENT_3D('',#783,#784,#785); -#783 = CARTESIAN_POINT('',(1.,0.,1.)); -#784 = DIRECTION('',(0.,0.,1.)); -#785 = DIRECTION('',(1.,0.,-0.)); -#786 = DEFINITIONAL_REPRESENTATION('',(#787),#818); -#787 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#788,#789,#790,#791,#792,#793, - #794,#795,#796,#797,#798,#799,#800,#801,#802,#803,#804,#805,#806, - #807,#808,#809,#810,#811,#812,#813,#814,#815,#816,#817), - .UNSPECIFIED.,.F.,.F.,(9,7,7,7,9),(1.570796326795,2.748893571891, - 3.632466505713,4.29514620608,4.712388980385),.UNSPECIFIED.); -#788 = CARTESIAN_POINT('',(2.356194490192,-9.98857024243E-02)); -#789 = CARTESIAN_POINT('',(2.28322290908,-9.98857024243E-02)); -#790 = CARTESIAN_POINT('',(2.210252364657,-0.109912993123)); -#791 = CARTESIAN_POINT('',(2.138801430609,-0.129968523541)); -#792 = CARTESIAN_POINT('',(2.070419378824,-0.159643456479)); -#793 = CARTESIAN_POINT('',(2.006370820467,-0.198119299476)); -#794 = CARTESIAN_POINT('',(1.947571210132,-0.244353709451)); -#795 = CARTESIAN_POINT('',(1.894742712812,-0.297260025871)); -#796 = CARTESIAN_POINT('',(1.814272848798,-0.39951000844)); -#797 = CARTESIAN_POINT('',(1.783636929434,-0.446436995776)); -#798 = CARTESIAN_POINT('',(1.757215309217,-0.49598958076)); -#799 = CARTESIAN_POINT('',(1.735427566358,-0.547660341207)); -#800 = CARTESIAN_POINT('',(1.71880062747,-0.600935264907)); -#801 = CARTESIAN_POINT('',(1.708085951186,-0.655270502898)); -#802 = CARTESIAN_POINT('',(1.704442991257,-0.710025012429)); -#803 = CARTESIAN_POINT('',(1.713623400049,-0.805092147515)); -#804 = CARTESIAN_POINT('',(1.722559175111,-0.845591709097)); -#805 = CARTESIAN_POINT('',(1.737253864696,-0.885491798714)); -#806 = CARTESIAN_POINT('',(1.758707871518,-0.924346878775)); -#807 = CARTESIAN_POINT('',(1.788094580225,-0.96163658366)); -#808 = CARTESIAN_POINT('',(1.826969926516,-0.996655132864)); -#809 = CARTESIAN_POINT('',(1.876997174128,-1.028436652836)); -#810 = CARTESIAN_POINT('',(1.977098060556,-1.073155293663)); -#811 = CARTESIAN_POINT('',(2.020291401618,-1.0887126999)); -#812 = CARTESIAN_POINT('',(2.06807022798,-1.102275070884)); -#813 = CARTESIAN_POINT('',(2.120258981483,-1.113553642707)); -#814 = CARTESIAN_POINT('',(2.176393287275,-1.122253627057)); -#815 = CARTESIAN_POINT('',(2.23537701591,-1.128133742014)); -#816 = CARTESIAN_POINT('',(2.295785728706,-1.131073737708)); -#817 = CARTESIAN_POINT('',(2.356194475564,-1.131073722024)); -#818 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#819 = ORIENTED_EDGE('',*,*,#820,.T.); -#820 = EDGE_CURVE('',#738,#416,#821,.T.); -#821 = SURFACE_CURVE('',#822,(#827,#833),.PCURVE_S1.); -#822 = CIRCLE('',#823,0.497715749301); -#823 = AXIS2_PLACEMENT_3D('',#824,#825,#826); -#824 = CARTESIAN_POINT('',(0.5,0.5,0.5)); -#825 = DIRECTION('',(0.707106781187,0.707106781187,-0.)); -#826 = DIRECTION('',(-0.707106781187,0.707106781187,0.)); -#827 = PCURVE('',#129,#828); -#828 = DEFINITIONAL_REPRESENTATION('',(#829),#832); -#829 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#830,#831),.UNSPECIFIED.,.F.,.F., - (2,2),(3.041706951165,3.241478356014),.PIECEWISE_BEZIER_KNOTS.); -#830 = CARTESIAN_POINT('',(5.497787143782,9.98857024243E-02)); -#831 = CARTESIAN_POINT('',(5.497787143782,-9.98857024243E-02)); -#832 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#833 = PCURVE('',#433,#834); -#834 = DEFINITIONAL_REPRESENTATION('',(#835),#839); -#835 = CIRCLE('',#836,0.497715749301); -#836 = AXIS2_PLACEMENT_2D('',#837,#838); -#837 = CARTESIAN_POINT('',(0.707106781187,-0.5)); -#838 = DIRECTION('',(-1.,-0.)); -#839 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#840 = ORIENTED_EDGE('',*,*,#608,.T.); -#841 = ORIENTED_EDGE('',*,*,#112,.T.); -#842 = ADVANCED_FACE('',(#843,#1115,#1237),#101,.F.); -#843 = FACE_BOUND('',#844,.F.); -#844 = EDGE_LOOP('',(#845,#846,#847,#904,#954,#982,#1044,#1094)); -#845 = ORIENTED_EDGE('',*,*,#687,.F.); -#846 = ORIENTED_EDGE('',*,*,#84,.T.); -#847 = ORIENTED_EDGE('',*,*,#848,.T.); -#848 = EDGE_CURVE('',#57,#849,#851,.T.); -#849 = VERTEX_POINT('',#850); -#850 = CARTESIAN_POINT('',(0.423523726191,0.923523726191,0.25)); -#851 = SURFACE_CURVE('',#852,(#857,#884),.PCURVE_S1.); -#852 = CIRCLE('',#853,0.245399606973); -#853 = AXIS2_PLACEMENT_3D('',#854,#855,#856); -#854 = CARTESIAN_POINT('',(0.25,0.75,0.25)); -#855 = DIRECTION('',(0.57735026919,-0.57735026919,0.57735026919)); -#856 = DIRECTION('',(0.707106781187,0.707106781187,0.)); -#857 = PCURVE('',#101,#858); -#858 = DEFINITIONAL_REPRESENTATION('',(#859),#883); -#859 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#860,#861,#862,#863,#864,#865, - #866,#867,#868,#869,#870,#871,#872,#873,#874,#875,#876,#877,#878, - #879,#880,#881,#882),.UNSPECIFIED.,.F.,.F.,(9,7,7,9),(4.712388980385 - ,4.792155981355,5.537670644267,6.28318530718),.UNSPECIFIED.); -#860 = CARTESIAN_POINT('',(2.35619450482,-1.131073722024)); -#861 = CARTESIAN_POINT('',(2.344645773803,-1.131073719025)); -#862 = CARTESIAN_POINT('',(2.333097041541,-1.130966263189)); -#863 = CARTESIAN_POINT('',(2.32155826445,-1.130751355268)); -#864 = CARTESIAN_POINT('',(2.310039399625,-1.130429156789)); -#865 = CARTESIAN_POINT('',(2.298550321139,-1.12999998988)); -#866 = CARTESIAN_POINT('',(2.287100735136,-1.129464333764)); -#867 = CARTESIAN_POINT('',(2.275700099552,-1.128822817223)); -#868 = CARTESIAN_POINT('',(2.158348409799,-1.121098265151)); -#869 = CARTESIAN_POINT('',(2.057417086352,-1.104943213183)); -#870 = CARTESIAN_POINT('',(1.969003278406,-1.080221313079)); -#871 = CARTESIAN_POINT('',(1.898493298118,-1.048758269498)); -#872 = CARTESIAN_POINT('',(1.842625204155,-1.012625673238)); -#873 = CARTESIAN_POINT('',(1.799858805268,-0.972997243778)); -#874 = CARTESIAN_POINT('',(1.767944928912,-0.930968368726)); -#875 = CARTESIAN_POINT('',(1.722501953145,-0.843669726192)); -#876 = CARTESIAN_POINT('',(1.708969700242,-0.798401959133)); -#877 = CARTESIAN_POINT('',(1.70291323327,-0.752314092525)); -#878 = CARTESIAN_POINT('',(1.702992942068,-0.705975469972)); -#879 = CARTESIAN_POINT('',(1.708273946363,-0.659833705175)); -#880 = CARTESIAN_POINT('',(1.718098993885,-0.614272116287)); -#881 = CARTESIAN_POINT('',(1.731949727252,-0.569636514492)); -#882 = CARTESIAN_POINT('',(1.749442681228,-0.526250539436)); -#883 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#884 = PCURVE('',#73,#885); -#885 = DEFINITIONAL_REPRESENTATION('',(#886),#903); -#886 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#887,#888,#889,#890,#891,#892, - #893,#894,#895,#896,#897,#898,#899,#900,#901,#902),.UNSPECIFIED.,.F. - ,.F.,(9,7,9),(4.712388980385,4.803373215866,6.28318530718), - .UNSPECIFIED.); -#887 = CARTESIAN_POINT('',(5.497787184548,9.9885715231E-02)); -#888 = CARTESIAN_POINT('',(5.503422764633,9.988571509204E-02)); -#889 = CARTESIAN_POINT('',(5.50905834258,9.994552244007E-02)); -#890 = CARTESIAN_POINT('',(5.51469321562,0.100065137273)); -#891 = CARTESIAN_POINT('',(5.520326681259,0.100244545193)); -#892 = CARTESIAN_POINT('',(5.525958037986,0.100483717459)); -#893 = CARTESIAN_POINT('',(5.531586586002,0.100782611084)); -#894 = CARTESIAN_POINT('',(5.537211627972,0.101141168992)); -#895 = CARTESIAN_POINT('',(5.634252589395,0.108360336437)); -#896 = CARTESIAN_POINT('',(5.7245600877,0.130923118231)); -#897 = CARTESIAN_POINT('',(5.810760903187,0.168951467086)); -#898 = CARTESIAN_POINT('',(5.889989764533,0.221095759914)); -#899 = CARTESIAN_POINT('',(5.960359889017,0.285201738956)); -#900 = CARTESIAN_POINT('',(6.020749202673,0.358934034507)); -#901 = CARTESIAN_POINT('',(6.069816248964,0.440131387559)); -#902 = CARTESIAN_POINT('',(6.104538952747,0.526250539436)); -#903 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#904 = ORIENTED_EDGE('',*,*,#905,.T.); -#905 = EDGE_CURVE('',#849,#906,#908,.T.); -#906 = VERTEX_POINT('',#907); -#907 = CARTESIAN_POINT('',(0.149816029973,0.850183970027,0.450367940055) - ); -#908 = SURFACE_CURVE('',#909,(#914,#927),.PCURVE_S1.); -#909 = CIRCLE('',#910,0.245399606973); -#910 = AXIS2_PLACEMENT_3D('',#911,#912,#913); -#911 = CARTESIAN_POINT('',(0.25,0.75,0.25)); -#912 = DIRECTION('',(0.57735026919,-0.57735026919,0.57735026919)); -#913 = DIRECTION('',(0.707106781187,0.707106781187,0.)); -#914 = PCURVE('',#101,#915); -#915 = DEFINITIONAL_REPRESENTATION('',(#916),#926); -#916 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#917,#918,#919,#920,#921,#922, - #923,#924,#925),.UNSPECIFIED.,.F.,.F.,(9,9),(0.,1.570796326795), - .PIECEWISE_BEZIER_KNOTS.); -#917 = CARTESIAN_POINT('',(1.749442681228,-0.526250539436)); -#918 = CARTESIAN_POINT('',(1.786300263267,-0.434836468535)); -#919 = CARTESIAN_POINT('',(1.839320927859,-0.348970381879)); -#920 = CARTESIAN_POINT('',(1.904886291937,-0.271677081405)); -#921 = CARTESIAN_POINT('',(1.981525478814,-0.205567417179)); -#922 = CARTESIAN_POINT('',(2.067909493554,-0.153363467101)); -#923 = CARTESIAN_POINT('',(2.161606239956,-0.11771252843)); -#924 = CARTESIAN_POINT('',(2.258899048709,-9.98857024243E-02)); -#925 = CARTESIAN_POINT('',(2.356194490192,-9.98857024243E-02)); -#926 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#927 = PCURVE('',#73,#928); -#928 = DEFINITIONAL_REPRESENTATION('',(#929),#953); -#929 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#930,#931,#932,#933,#934,#935, - #936,#937,#938,#939,#940,#941,#942,#943,#944,#945,#946,#947,#948, - #949,#950,#951,#952),.UNSPECIFIED.,.F.,.F.,(9,7,7,9),(0., - 0.785398163397,1.47262155637,1.570796326795),.UNSPECIFIED.); -#930 = CARTESIAN_POINT('',(6.104538952747,0.526250539436)); -#931 = CARTESIAN_POINT('',(6.122967743766,0.571957574886)); -#932 = CARTESIAN_POINT('',(6.137353624448,0.619051486728)); -#933 = CARTESIAN_POINT('',(6.147251496199,0.667154048102)); -#934 = CARTESIAN_POINT('',(6.152039573372,0.715859131219)); -#935 = CARTESIAN_POINT('',(6.150938276587,0.764714154902)); -#936 = CARTESIAN_POINT('',(6.142803938252,0.813183583818)); -#937 = CARTESIAN_POINT('',(6.12595428683,0.860569413232)); -#938 = CARTESIAN_POINT('',(6.074070017289,0.945495962948)); -#939 = CARTESIAN_POINT('',(6.041571462019,0.98352593372)); -#940 = CARTESIAN_POINT('',(5.999407424559,1.019288412063)); -#941 = CARTESIAN_POINT('',(5.945868130675,1.051892094281)); -#942 = CARTESIAN_POINT('',(5.879650924169,1.080336025807)); -#943 = CARTESIAN_POINT('',(5.798884873452,1.103057018853)); -#944 = CARTESIAN_POINT('',(5.707295959599,1.118654821906)); -#945 = CARTESIAN_POINT('',(5.596639177786,1.127668406666)); -#946 = CARTESIAN_POINT('',(5.582700390557,1.128637721153)); -#947 = CARTESIAN_POINT('',(5.568671038827,1.129447894731)); -#948 = CARTESIAN_POINT('',(5.554568289314,1.130097491274)); -#949 = CARTESIAN_POINT('',(5.540410051607,1.130585419069)); -#950 = CARTESIAN_POINT('',(5.526214701358,1.130910946087)); -#951 = CARTESIAN_POINT('',(5.512000825505,1.131073707287)); -#952 = CARTESIAN_POINT('',(5.497786989531,1.131073703941)); -#953 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#954 = ORIENTED_EDGE('',*,*,#955,.T.); -#955 = EDGE_CURVE('',#906,#956,#958,.T.); -#956 = VERTEX_POINT('',#957); -#957 = CARTESIAN_POINT('',(0.149816029973,0.850183970027,0.549632059945) - ); -#958 = SURFACE_CURVE('',#959,(#964,#970),.PCURVE_S1.); -#959 = CIRCLE('',#960,0.497715749301); -#960 = AXIS2_PLACEMENT_3D('',#961,#962,#963); -#961 = CARTESIAN_POINT('',(0.5,0.5,0.5)); -#962 = DIRECTION('',(0.707106781187,0.707106781187,-0.)); -#963 = DIRECTION('',(-0.707106781187,0.707106781187,0.)); -#964 = PCURVE('',#101,#965); -#965 = DEFINITIONAL_REPRESENTATION('',(#966),#969); -#966 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#967,#968),.UNSPECIFIED.,.F.,.F., - (2,2),(6.183299604755,6.383071009604),.PIECEWISE_BEZIER_KNOTS.); -#967 = CARTESIAN_POINT('',(2.356194490192,-9.98857024243E-02)); -#968 = CARTESIAN_POINT('',(2.356194490192,9.98857024243E-02)); -#969 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#970 = PCURVE('',#971,#976); -#971 = PLANE('',#972); -#972 = AXIS2_PLACEMENT_3D('',#973,#974,#975); -#973 = CARTESIAN_POINT('',(0.,1.,0.)); -#974 = DIRECTION('',(0.707106781187,0.707106781187,-0.)); -#975 = DIRECTION('',(0.707106781187,-0.707106781187,0.)); -#976 = DEFINITIONAL_REPRESENTATION('',(#977),#981); -#977 = CIRCLE('',#978,0.497715749301); -#978 = AXIS2_PLACEMENT_2D('',#979,#980); -#979 = CARTESIAN_POINT('',(0.707106781187,-0.5)); -#980 = DIRECTION('',(-1.,-0.)); -#981 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#982 = ORIENTED_EDGE('',*,*,#983,.T.); -#983 = EDGE_CURVE('',#956,#984,#986,.T.); -#984 = VERTEX_POINT('',#985); -#985 = CARTESIAN_POINT('',(0.423523726191,0.923523726191,0.75)); -#986 = SURFACE_CURVE('',#987,(#992,#1012),.PCURVE_S1.); -#987 = CIRCLE('',#988,0.245399606973); -#988 = AXIS2_PLACEMENT_3D('',#989,#990,#991); -#989 = CARTESIAN_POINT('',(0.25,0.75,0.75)); -#990 = DIRECTION('',(0.57735026919,-0.57735026919,-0.57735026919)); -#991 = DIRECTION('',(0.707106781187,0.707106781187,0.)); -#992 = PCURVE('',#101,#993); -#993 = DEFINITIONAL_REPRESENTATION('',(#994),#1011); -#994 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#995,#996,#997,#998,#999,#1000, - #1001,#1002,#1003,#1004,#1005,#1006,#1007,#1008,#1009,#1010), - .UNSPECIFIED.,.F.,.F.,(9,7,9),(4.712388980385,4.803373215866, - 6.28318530718),.UNSPECIFIED.); -#995 = CARTESIAN_POINT('',(2.356194449426,9.988571523101E-02)); -#996 = CARTESIAN_POINT('',(2.350558869341,9.988571509204E-02)); -#997 = CARTESIAN_POINT('',(2.344923291394,9.994552244007E-02)); -#998 = CARTESIAN_POINT('',(2.339288418354,0.100065137273)); -#999 = CARTESIAN_POINT('',(2.333654952715,0.100244545193)); -#1000 = CARTESIAN_POINT('',(2.328023595988,0.100483717459)); -#1001 = CARTESIAN_POINT('',(2.322395047972,0.100782611084)); -#1002 = CARTESIAN_POINT('',(2.316770006003,0.101141168992)); -#1003 = CARTESIAN_POINT('',(2.219729044579,0.108360336437)); -#1004 = CARTESIAN_POINT('',(2.129421546275,0.130923118231)); -#1005 = CARTESIAN_POINT('',(2.043220730786,0.168951467086)); -#1006 = CARTESIAN_POINT('',(1.96399186944,0.221095759914)); -#1007 = CARTESIAN_POINT('',(1.893621744958,0.285201738956)); -#1008 = CARTESIAN_POINT('',(1.833232431301,0.358934034507)); -#1009 = CARTESIAN_POINT('',(1.78416538501,0.440131387559)); -#1010 = CARTESIAN_POINT('',(1.749442681228,0.526250539436)); -#1011 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#1012 = PCURVE('',#1013,#1018); -#1013 = SPHERICAL_SURFACE('',#1014,0.497715749301); -#1014 = AXIS2_PLACEMENT_3D('',#1015,#1016,#1017); -#1015 = CARTESIAN_POINT('',(0.,1.,1.)); -#1016 = DIRECTION('',(0.,0.,1.)); -#1017 = DIRECTION('',(1.,0.,-0.)); -#1018 = DEFINITIONAL_REPRESENTATION('',(#1019),#1043); -#1019 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#1020,#1021,#1022,#1023,#1024, - #1025,#1026,#1027,#1028,#1029,#1030,#1031,#1032,#1033,#1034,#1035, - #1036,#1037,#1038,#1039,#1040,#1041,#1042),.UNSPECIFIED.,.F.,.F.,(9, - 7,7,9),(4.712388980385,4.792155981355,5.537670644267,6.28318530718), - .UNSPECIFIED.); -#1020 = CARTESIAN_POINT('',(5.497787129152,-1.131073722024)); -#1021 = CARTESIAN_POINT('',(5.509335860169,-1.131073719025)); -#1022 = CARTESIAN_POINT('',(5.520884592432,-1.130966263189)); -#1023 = CARTESIAN_POINT('',(5.532423369524,-1.130751355268)); -#1024 = CARTESIAN_POINT('',(5.543942234349,-1.130429156789)); -#1025 = CARTESIAN_POINT('',(5.555431312835,-1.12999998988)); -#1026 = CARTESIAN_POINT('',(5.566880898838,-1.129464333764)); -#1027 = CARTESIAN_POINT('',(5.578281534423,-1.128822817223)); -#1028 = CARTESIAN_POINT('',(5.695633224175,-1.121098265151)); -#1029 = CARTESIAN_POINT('',(5.796564547624,-1.104943213183)); -#1030 = CARTESIAN_POINT('',(5.884978355552,-1.080221313079)); -#1031 = CARTESIAN_POINT('',(5.955488335847,-1.048758269498)); -#1032 = CARTESIAN_POINT('',(6.011356429826,-1.012625673238)); -#1033 = CARTESIAN_POINT('',(6.054122828707,-0.972997243778)); -#1034 = CARTESIAN_POINT('',(6.086036705062,-0.930968368726)); -#1035 = CARTESIAN_POINT('',(6.13147968083,-0.843669726192)); -#1036 = CARTESIAN_POINT('',(6.145011933733,-0.798401959133)); -#1037 = CARTESIAN_POINT('',(6.151068400704,-0.752314092526)); -#1038 = CARTESIAN_POINT('',(6.150988691907,-0.705975469972)); -#1039 = CARTESIAN_POINT('',(6.145707687614,-0.659833705175)); -#1040 = CARTESIAN_POINT('',(6.135882640088,-0.614272116287)); -#1041 = CARTESIAN_POINT('',(6.122031906722,-0.569636514492)); -#1042 = CARTESIAN_POINT('',(6.104538952747,-0.526250539436)); -#1043 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#1044 = ORIENTED_EDGE('',*,*,#1045,.T.); -#1045 = EDGE_CURVE('',#984,#1046,#1048,.T.); -#1046 = VERTEX_POINT('',#1047); -#1047 = CARTESIAN_POINT('',(0.350183970027,0.649816029973,0.950367940055 - )); -#1048 = SURFACE_CURVE('',#1049,(#1054,#1081),.PCURVE_S1.); -#1049 = CIRCLE('',#1050,0.245399606973); -#1050 = AXIS2_PLACEMENT_3D('',#1051,#1052,#1053); -#1051 = CARTESIAN_POINT('',(0.25,0.75,0.75)); -#1052 = DIRECTION('',(0.57735026919,-0.57735026919,-0.57735026919)); -#1053 = DIRECTION('',(0.707106781187,0.707106781187,0.)); -#1054 = PCURVE('',#101,#1055); -#1055 = DEFINITIONAL_REPRESENTATION('',(#1056),#1080); -#1056 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#1057,#1058,#1059,#1060,#1061, - #1062,#1063,#1064,#1065,#1066,#1067,#1068,#1069,#1070,#1071,#1072, - #1073,#1074,#1075,#1076,#1077,#1078,#1079),.UNSPECIFIED.,.F.,.F.,(9, - 7,7,9),(0.,0.785398163397,1.47262155637,1.570796326795), - .UNSPECIFIED.); -#1057 = CARTESIAN_POINT('',(1.749442681228,0.526250539436)); -#1058 = CARTESIAN_POINT('',(1.731013890208,0.571957574886)); -#1059 = CARTESIAN_POINT('',(1.716628009527,0.619051486728)); -#1060 = CARTESIAN_POINT('',(1.706730137776,0.667154048102)); -#1061 = CARTESIAN_POINT('',(1.701942060603,0.71585913122)); -#1062 = CARTESIAN_POINT('',(1.703043357388,0.764714154902)); -#1063 = CARTESIAN_POINT('',(1.711177695723,0.813183583818)); -#1064 = CARTESIAN_POINT('',(1.728027347144,0.860569413232)); -#1065 = CARTESIAN_POINT('',(1.779911616685,0.945495962948)); -#1066 = CARTESIAN_POINT('',(1.812410171957,0.98352593372)); -#1067 = CARTESIAN_POINT('',(1.854574209399,1.019288412063)); -#1068 = CARTESIAN_POINT('',(1.908113503283,1.051892094281)); -#1069 = CARTESIAN_POINT('',(1.974330709774,1.080336025807)); -#1070 = CARTESIAN_POINT('',(2.05509676052,1.103057018853)); -#1071 = CARTESIAN_POINT('',(2.146685674375,1.118654821906)); -#1072 = CARTESIAN_POINT('',(2.257342456188,1.127668406666)); -#1073 = CARTESIAN_POINT('',(2.271281243417,1.128637721153)); -#1074 = CARTESIAN_POINT('',(2.285310595147,1.129447894731)); -#1075 = CARTESIAN_POINT('',(2.29941334466,1.130097491274)); -#1076 = CARTESIAN_POINT('',(2.313571582367,1.130585419069)); -#1077 = CARTESIAN_POINT('',(2.327766932616,1.130910946087)); -#1078 = CARTESIAN_POINT('',(2.34198080847,1.131073707287)); -#1079 = CARTESIAN_POINT('',(2.356194644443,1.131073703941)); -#1080 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#1081 = PCURVE('',#1013,#1082); -#1082 = DEFINITIONAL_REPRESENTATION('',(#1083),#1093); -#1083 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#1084,#1085,#1086,#1087,#1088, - #1089,#1090,#1091,#1092),.UNSPECIFIED.,.F.,.F.,(9,9),(0., - 1.570796326795),.PIECEWISE_BEZIER_KNOTS.); -#1084 = CARTESIAN_POINT('',(6.104538952747,-0.526250539436)); -#1085 = CARTESIAN_POINT('',(6.067681370708,-0.434836468535)); -#1086 = CARTESIAN_POINT('',(6.014660706111,-0.348970381879)); -#1087 = CARTESIAN_POINT('',(5.949095342025,-0.271677081404)); -#1088 = CARTESIAN_POINT('',(5.872456155132,-0.205567417181)); -#1089 = CARTESIAN_POINT('',(5.786072140396,-0.1533634671)); -#1090 = CARTESIAN_POINT('',(5.692375394013,-0.11771252843)); -#1091 = CARTESIAN_POINT('',(5.595082585265,-9.98857024243E-02)); -#1092 = CARTESIAN_POINT('',(5.497787143782,-9.98857024243E-02)); -#1093 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#1094 = ORIENTED_EDGE('',*,*,#1095,.T.); -#1095 = EDGE_CURVE('',#1046,#688,#1096,.T.); -#1096 = SURFACE_CURVE('',#1097,(#1102,#1108),.PCURVE_S1.); -#1097 = CIRCLE('',#1098,0.497715749301); -#1098 = AXIS2_PLACEMENT_3D('',#1099,#1100,#1101); -#1099 = CARTESIAN_POINT('',(0.5,0.5,0.5)); -#1100 = DIRECTION('',(0.707106781187,0.707106781187,-0.)); -#1101 = DIRECTION('',(-0.707106781187,0.707106781187,0.)); -#1102 = PCURVE('',#101,#1103); -#1103 = DEFINITIONAL_REPRESENTATION('',(#1104),#1107); -#1104 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#1105,#1106),.UNSPECIFIED.,.F., - .F.,(2,2),(7.414259022096,7.853981633974),.PIECEWISE_BEZIER_KNOTS.); -#1105 = CARTESIAN_POINT('',(2.356194490192,1.131073714916)); -#1106 = CARTESIAN_POINT('',(2.356194490192,1.570796326795)); -#1107 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#1108 = PCURVE('',#725,#1109); -#1109 = DEFINITIONAL_REPRESENTATION('',(#1110),#1114); -#1110 = CIRCLE('',#1111,0.497715749301); -#1111 = AXIS2_PLACEMENT_2D('',#1112,#1113); -#1112 = CARTESIAN_POINT('',(0.707106781187,-0.5)); -#1113 = DIRECTION('',(-1.,-0.)); -#1114 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#1115 = FACE_BOUND('',#1116,.F.); -#1116 = EDGE_LOOP('',(#1117)); -#1117 = ORIENTED_EDGE('',*,*,#1118,.T.); -#1118 = EDGE_CURVE('',#1119,#1119,#1121,.T.); -#1119 = VERTEX_POINT('',#1120); -#1120 = CARTESIAN_POINT('',(0.923523726191,0.576476273809,0.25)); -#1121 = SURFACE_CURVE('',#1122,(#1127,#1182),.PCURVE_S1.); -#1122 = CIRCLE('',#1123,0.245399606973); -#1123 = AXIS2_PLACEMENT_3D('',#1124,#1125,#1126); -#1124 = CARTESIAN_POINT('',(0.75,0.75,0.25)); -#1125 = DIRECTION('',(-0.57735026919,-0.57735026919,0.57735026919)); -#1126 = DIRECTION('',(0.707106781187,-0.707106781187,0.)); -#1127 = PCURVE('',#101,#1128); -#1128 = DEFINITIONAL_REPRESENTATION('',(#1129),#1181); -#1129 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#1130,#1131,#1132,#1133,#1134, - #1135,#1136,#1137,#1138,#1139,#1140,#1141,#1142,#1143,#1144,#1145, - #1146,#1147,#1148,#1149,#1150,#1151,#1152,#1153,#1154,#1155,#1156, - #1157,#1158,#1159,#1160,#1161,#1162,#1163,#1164,#1165,#1166,#1167, - #1168,#1169,#1170,#1171,#1172,#1173,#1174,#1175,#1176,#1177,#1178, - #1179,#1180),.UNSPECIFIED.,.F.,.F.,(9,7,7,7,7,7,7,9),(0., - 1.570796326795,2.748893571891,3.632466505713,4.29514620608, - 4.792155981355,5.537670644267,6.28318530718),.UNSPECIFIED.); -#1130 = CARTESIAN_POINT('',(0.178646354433,-0.526250539436)); -#1131 = CARTESIAN_POINT('',(0.215503936472,-0.434836468535)); -#1132 = CARTESIAN_POINT('',(0.268524601067,-0.348970381879)); -#1133 = CARTESIAN_POINT('',(0.334089965138,-0.271677081405)); -#1134 = CARTESIAN_POINT('',(0.410729152041,-0.205567417179)); -#1135 = CARTESIAN_POINT('',(0.497113166755,-0.153363467101)); -#1136 = CARTESIAN_POINT('',(0.590809913164,-0.11771252843)); -#1137 = CARTESIAN_POINT('',(0.688102721914,-9.98857024243E-02)); -#1138 = CARTESIAN_POINT('',(0.85836974451,-9.98857024243E-02)); -#1139 = CARTESIAN_POINT('',(0.931340288933,-0.109912993123)); -#1140 = CARTESIAN_POINT('',(1.002791222981,-0.129968523541)); -#1141 = CARTESIAN_POINT('',(1.071173274765,-0.159643456479)); -#1142 = CARTESIAN_POINT('',(1.135221833123,-0.198119299476)); -#1143 = CARTESIAN_POINT('',(1.194021443458,-0.244353709451)); -#1144 = CARTESIAN_POINT('',(1.246849940778,-0.297260025871)); -#1145 = CARTESIAN_POINT('',(1.327319804792,-0.39951000844)); -#1146 = CARTESIAN_POINT('',(1.357955724156,-0.446436995776)); -#1147 = CARTESIAN_POINT('',(1.384377344373,-0.49598958076)); -#1148 = CARTESIAN_POINT('',(1.406165087232,-0.547660341207)); -#1149 = CARTESIAN_POINT('',(1.42279202612,-0.600935264907)); -#1150 = CARTESIAN_POINT('',(1.433506702404,-0.655270502898)); -#1151 = CARTESIAN_POINT('',(1.437149662333,-0.710025012429)); -#1152 = CARTESIAN_POINT('',(1.427969253541,-0.805092147515)); -#1153 = CARTESIAN_POINT('',(1.419033478478,-0.845591709097)); -#1154 = CARTESIAN_POINT('',(1.404338788894,-0.885491798714)); -#1155 = CARTESIAN_POINT('',(1.382884782072,-0.924346878775)); -#1156 = CARTESIAN_POINT('',(1.353498073365,-0.96163658366)); -#1157 = CARTESIAN_POINT('',(1.314622727074,-0.996655132864)); -#1158 = CARTESIAN_POINT('',(1.264595479462,-1.028436652836)); -#1159 = CARTESIAN_POINT('',(1.157100777559,-1.076458375088)); -#1160 = CARTESIAN_POINT('',(1.104621025161,-1.094598247456)); -#1161 = CARTESIAN_POINT('',(1.04561661485,-1.109832823264)); -#1162 = CARTESIAN_POINT('',(0.980462800763,-1.121669527824)); -#1163 = CARTESIAN_POINT('',(0.910133923584,-1.129606719338)); -#1164 = CARTESIAN_POINT('',(0.837162077668,-1.133300100343)); -#1165 = CARTESIAN_POINT('',(0.764233995085,-1.13272816697)); -#1166 = CARTESIAN_POINT('',(0.587552083005,-1.121098265151)); -#1167 = CARTESIAN_POINT('',(0.486620759559,-1.104943213183)); -#1168 = CARTESIAN_POINT('',(0.398206951608,-1.080221313079)); -#1169 = CARTESIAN_POINT('',(0.327696971325,-1.048758269498)); -#1170 = CARTESIAN_POINT('',(0.271828877353,-1.012625673238)); -#1171 = CARTESIAN_POINT('',(0.229062478475,-0.972997243778)); -#1172 = CARTESIAN_POINT('',(0.197148602117,-0.930968368726)); -#1173 = CARTESIAN_POINT('',(0.15170562635,-0.843669726192)); -#1174 = CARTESIAN_POINT('',(0.138173373447,-0.798401959133)); -#1175 = CARTESIAN_POINT('',(0.132116906475,-0.752314092525)); -#1176 = CARTESIAN_POINT('',(0.132196615273,-0.705975469972)); -#1177 = CARTESIAN_POINT('',(0.137477619568,-0.659833705175)); -#1178 = CARTESIAN_POINT('',(0.14730266709,-0.614272116287)); -#1179 = CARTESIAN_POINT('',(0.161153400458,-0.569636514492)); -#1180 = CARTESIAN_POINT('',(0.178646354433,-0.526250539436)); -#1181 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#1182 = PCURVE('',#401,#1183); -#1183 = DEFINITIONAL_REPRESENTATION('',(#1184),#1236); -#1184 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#1185,#1186,#1187,#1188,#1189, - #1190,#1191,#1192,#1193,#1194,#1195,#1196,#1197,#1198,#1199,#1200, - #1201,#1202,#1203,#1204,#1205,#1206,#1207,#1208,#1209,#1210,#1211, - #1212,#1213,#1214,#1215,#1216,#1217,#1218,#1219,#1220,#1221,#1222, - #1223,#1224,#1225,#1226,#1227,#1228,#1229,#1230,#1231,#1232,#1233, - #1234,#1235),.UNSPECIFIED.,.F.,.F.,(9,7,7,7,7,7,7,9),(0., - 0.785398163397,1.47262155637,1.773281790796,2.337019730344, - 3.323561124553,4.803373215866,6.28318530718),.UNSPECIFIED.); -#1185 = CARTESIAN_POINT('',(4.533742625952,0.526250539436)); -#1186 = CARTESIAN_POINT('',(4.552171416971,0.571957574886)); -#1187 = CARTESIAN_POINT('',(4.566557297653,0.619051486728)); -#1188 = CARTESIAN_POINT('',(4.576455169405,0.667154048102)); -#1189 = CARTESIAN_POINT('',(4.581243246578,0.71585913122)); -#1190 = CARTESIAN_POINT('',(4.580141949792,0.764714154902)); -#1191 = CARTESIAN_POINT('',(4.572007611457,0.813183583818)); -#1192 = CARTESIAN_POINT('',(4.555157960036,0.860569413232)); -#1193 = CARTESIAN_POINT('',(4.503273690495,0.945495962948)); -#1194 = CARTESIAN_POINT('',(4.470775135216,0.98352593372)); -#1195 = CARTESIAN_POINT('',(4.428611097786,1.019288412063)); -#1196 = CARTESIAN_POINT('',(4.375071803875,1.051892094281)); -#1197 = CARTESIAN_POINT('',(4.308854597406,1.080336025807)); -#1198 = CARTESIAN_POINT('',(4.228088546653,1.103057018853)); -#1199 = CARTESIAN_POINT('',(4.136499632804,1.118654821906)); -#1200 = CARTESIAN_POINT('',(3.99731414943,1.129992221487)); -#1201 = CARTESIAN_POINT('',(3.953952719298,1.131966648293)); -#1202 = CARTESIAN_POINT('',(3.910053815154,1.13241451425)); -#1203 = CARTESIAN_POINT('',(3.866172227153,1.131313596186)); -#1204 = CARTESIAN_POINT('',(3.82287387348,1.128676183559)); -#1205 = CARTESIAN_POINT('',(3.780673473293,1.124548763764)); -#1206 = CARTESIAN_POINT('',(3.739990397901,1.119005131664)); -#1207 = CARTESIAN_POINT('',(3.628245766941,1.099247532764)); -#1208 = CARTESIAN_POINT('',(3.561754183788,1.081691979454)); -#1209 = CARTESIAN_POINT('',(3.503649437947,1.060046176978)); -#1210 = CARTESIAN_POINT('',(3.454565992994,1.035093755113)); -#1211 = CARTESIAN_POINT('',(3.413690887888,1.007559551021)); -#1212 = CARTESIAN_POINT('',(3.380232702949,0.978009692443)); -#1213 = CARTESIAN_POINT('',(3.35329025052,0.946919579642)); -#1214 = CARTESIAN_POINT('',(3.294968060417,0.858245209992)); -#1215 = CARTESIAN_POINT('',(3.275415448746,0.798278707787)); -#1216 = CARTESIAN_POINT('',(3.269178871769,0.736848355705)); -#1217 = CARTESIAN_POINT('',(3.27292081745,0.675222690906)); -#1218 = CARTESIAN_POINT('',(3.285014530033,0.614333671893)); -#1219 = CARTESIAN_POINT('',(3.304098145489,0.554994019433)); -#1220 = CARTESIAN_POINT('',(3.329374968999,0.497939306714)); -#1221 = CARTESIAN_POINT('',(3.406388256252,0.362779122867)); -#1222 = CARTESIAN_POINT('',(3.46503730421,0.288411396327)); -#1223 = CARTESIAN_POINT('',(3.533944003428,0.223151407894)); -#1224 = CARTESIAN_POINT('',(3.61186096965,0.16919205079)); -#1225 = CARTESIAN_POINT('',(3.697428918473,0.128754854579)); -#1226 = CARTESIAN_POINT('',(3.788084823387,0.103721726355)); -#1227 = CARTESIAN_POINT('',(3.880616023394,9.475830402537E-02)); -#1228 = CARTESIAN_POINT('',(4.0634562626,0.108360336437)); -#1229 = CARTESIAN_POINT('',(4.153763760905,0.130923118231)); -#1230 = CARTESIAN_POINT('',(4.239964576394,0.168951467086)); -#1231 = CARTESIAN_POINT('',(4.319193437739,0.221095759914)); -#1232 = CARTESIAN_POINT('',(4.389563562221,0.285201738956)); -#1233 = CARTESIAN_POINT('',(4.449952875878,0.358934034507)); -#1234 = CARTESIAN_POINT('',(4.49901992217,0.440131387559)); -#1235 = CARTESIAN_POINT('',(4.533742625952,0.526250539436)); -#1236 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#1237 = FACE_BOUND('',#1238,.F.); -#1238 = EDGE_LOOP('',(#1239)); -#1239 = ORIENTED_EDGE('',*,*,#1240,.T.); -#1240 = EDGE_CURVE('',#1241,#1241,#1243,.T.); -#1241 = VERTEX_POINT('',#1242); -#1242 = CARTESIAN_POINT('',(0.923523726191,0.576476273809,0.75)); -#1243 = SURFACE_CURVE('',#1244,(#1249,#1304),.PCURVE_S1.); -#1244 = CIRCLE('',#1245,0.245399606973); -#1245 = AXIS2_PLACEMENT_3D('',#1246,#1247,#1248); -#1246 = CARTESIAN_POINT('',(0.75,0.75,0.75)); -#1247 = DIRECTION('',(-0.57735026919,-0.57735026919,-0.57735026919)); -#1248 = DIRECTION('',(0.707106781187,-0.707106781187,0.)); -#1249 = PCURVE('',#101,#1250); -#1250 = DEFINITIONAL_REPRESENTATION('',(#1251),#1303); -#1251 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#1252,#1253,#1254,#1255,#1256, - #1257,#1258,#1259,#1260,#1261,#1262,#1263,#1264,#1265,#1266,#1267, - #1268,#1269,#1270,#1271,#1272,#1273,#1274,#1275,#1276,#1277,#1278, - #1279,#1280,#1281,#1282,#1283,#1284,#1285,#1286,#1287,#1288,#1289, - #1290,#1291,#1292,#1293,#1294,#1295,#1296,#1297,#1298,#1299,#1300, - #1301,#1302),.UNSPECIFIED.,.F.,.F.,(9,7,7,7,7,7,7,9),(0., - 0.785398163397,1.47262155637,1.773281790796,2.337019730344, - 3.323561124553,4.803373215866,6.28318530718),.UNSPECIFIED.); -#1252 = CARTESIAN_POINT('',(0.178646354433,0.526250539436)); -#1253 = CARTESIAN_POINT('',(0.160217563414,0.571957574886)); -#1254 = CARTESIAN_POINT('',(0.145831682732,0.619051486728)); -#1255 = CARTESIAN_POINT('',(0.135933810981,0.667154048102)); -#1256 = CARTESIAN_POINT('',(0.131145733808,0.71585913122)); -#1257 = CARTESIAN_POINT('',(0.132247030593,0.764714154902)); -#1258 = CARTESIAN_POINT('',(0.140381368928,0.813183583818)); -#1259 = CARTESIAN_POINT('',(0.157231020349,0.860569413232)); -#1260 = CARTESIAN_POINT('',(0.20911528989,0.945495962948)); -#1261 = CARTESIAN_POINT('',(0.241613845166,0.98352593372)); -#1262 = CARTESIAN_POINT('',(0.283777882604,1.019288412063)); -#1263 = CARTESIAN_POINT('',(0.337317176497,1.051892094281)); -#1264 = CARTESIAN_POINT('',(0.403534382977,1.080336025807)); -#1265 = CARTESIAN_POINT('',(0.484300433727,1.103057018853)); -#1266 = CARTESIAN_POINT('',(0.575889347581,1.118654821906)); -#1267 = CARTESIAN_POINT('',(0.715074830954,1.129992221487)); -#1268 = CARTESIAN_POINT('',(0.758436261086,1.131966648293)); -#1269 = CARTESIAN_POINT('',(0.802335165231,1.13241451425)); -#1270 = CARTESIAN_POINT('',(0.846216753232,1.131313596186)); -#1271 = CARTESIAN_POINT('',(0.889515106905,1.128676183559)); -#1272 = CARTESIAN_POINT('',(0.931715507092,1.124548763764)); -#1273 = CARTESIAN_POINT('',(0.972398582484,1.119005131664)); -#1274 = CARTESIAN_POINT('',(1.084143213444,1.099247532764)); -#1275 = CARTESIAN_POINT('',(1.150634796597,1.081691979454)); -#1276 = CARTESIAN_POINT('',(1.208739542438,1.060046176978)); -#1277 = CARTESIAN_POINT('',(1.257822987387,1.035093755113)); -#1278 = CARTESIAN_POINT('',(1.2986980925,1.007559551021)); -#1279 = CARTESIAN_POINT('',(1.332156277433,0.978009692443)); -#1280 = CARTESIAN_POINT('',(1.359098729865,0.946919579642)); -#1281 = CARTESIAN_POINT('',(1.417420919968,0.858245209992)); -#1282 = CARTESIAN_POINT('',(1.436973531638,0.798278707787)); -#1283 = CARTESIAN_POINT('',(1.443210108611,0.736848355705)); -#1284 = CARTESIAN_POINT('',(1.439468162927,0.675222690906)); -#1285 = CARTESIAN_POINT('',(1.427374450343,0.614333671893)); -#1286 = CARTESIAN_POINT('',(1.408290834894,0.554994019433)); -#1287 = CARTESIAN_POINT('',(1.383014011386,0.497939306714)); -#1288 = CARTESIAN_POINT('',(1.306000724133,0.362779122867)); -#1289 = CARTESIAN_POINT('',(1.247351676171,0.288411396327)); -#1290 = CARTESIAN_POINT('',(1.178444976959,0.223151407893)); -#1291 = CARTESIAN_POINT('',(1.100528010717,0.169192050788)); -#1292 = CARTESIAN_POINT('',(1.014960061912,0.12875485458)); -#1293 = CARTESIAN_POINT('',(0.924304156995,0.103721726355)); -#1294 = CARTESIAN_POINT('',(0.83177295699,9.475830402537E-02)); -#1295 = CARTESIAN_POINT('',(0.648932717784,0.108360336437)); -#1296 = CARTESIAN_POINT('',(0.55862521948,0.130923118231)); -#1297 = CARTESIAN_POINT('',(0.472424403991,0.168951467086)); -#1298 = CARTESIAN_POINT('',(0.393195542645,0.221095759914)); -#1299 = CARTESIAN_POINT('',(0.322825418163,0.285201738956)); -#1300 = CARTESIAN_POINT('',(0.262436104506,0.358934034507)); -#1301 = CARTESIAN_POINT('',(0.213369058215,0.440131387559)); -#1302 = CARTESIAN_POINT('',(0.178646354433,0.526250539436)); -#1303 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#1304 = PCURVE('',#1305,#1310); -#1305 = SPHERICAL_SURFACE('',#1306,0.497715749301); -#1306 = AXIS2_PLACEMENT_3D('',#1307,#1308,#1309); -#1307 = CARTESIAN_POINT('',(1.,1.,1.)); -#1308 = DIRECTION('',(0.,0.,1.)); -#1309 = DIRECTION('',(1.,0.,-0.)); -#1310 = DEFINITIONAL_REPRESENTATION('',(#1311),#1363); -#1311 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#1312,#1313,#1314,#1315,#1316, - #1317,#1318,#1319,#1320,#1321,#1322,#1323,#1324,#1325,#1326,#1327, - #1328,#1329,#1330,#1331,#1332,#1333,#1334,#1335,#1336,#1337,#1338, - #1339,#1340,#1341,#1342,#1343,#1344,#1345,#1346,#1347,#1348,#1349, - #1350,#1351,#1352,#1353,#1354,#1355,#1356,#1357,#1358,#1359,#1360, - #1361,#1362),.UNSPECIFIED.,.T.,.F.,(9,7,7,7,7,7,7,9),(0., - 1.570796326795,2.748893571891,3.632466505713,4.29514620608, - 4.792155981355,5.537670644267,6.28318530718),.UNSPECIFIED.); -#1312 = CARTESIAN_POINT('',(4.533742625952,-0.526250539436)); -#1313 = CARTESIAN_POINT('',(4.496885043913,-0.434836468535)); -#1314 = CARTESIAN_POINT('',(4.443864379317,-0.348970381878)); -#1315 = CARTESIAN_POINT('',(4.378299015236,-0.271677081405)); -#1316 = CARTESIAN_POINT('',(4.301659828354,-0.205567417182)); -#1317 = CARTESIAN_POINT('',(4.215275813624,-0.153363467099)); -#1318 = CARTESIAN_POINT('',(4.121579067219,-0.11771252843)); -#1319 = CARTESIAN_POINT('',(4.02428625847,-9.98857024243E-02)); -#1320 = CARTESIAN_POINT('',(3.854019235875,-9.98857024243E-02)); -#1321 = CARTESIAN_POINT('',(3.781048691453,-0.109912993123)); -#1322 = CARTESIAN_POINT('',(3.709597757403,-0.129968523541)); -#1323 = CARTESIAN_POINT('',(3.64121570562,-0.159643456479)); -#1324 = CARTESIAN_POINT('',(3.577167147263,-0.198119299476)); -#1325 = CARTESIAN_POINT('',(3.518367536926,-0.244353709451)); -#1326 = CARTESIAN_POINT('',(3.465539039606,-0.297260025871)); -#1327 = CARTESIAN_POINT('',(3.385069175593,-0.39951000844)); -#1328 = CARTESIAN_POINT('',(3.354433256229,-0.446436995776)); -#1329 = CARTESIAN_POINT('',(3.328011636012,-0.49598958076)); -#1330 = CARTESIAN_POINT('',(3.306223893152,-0.547660341207)); -#1331 = CARTESIAN_POINT('',(3.289596954265,-0.600935264907)); -#1332 = CARTESIAN_POINT('',(3.278882277981,-0.655270502898)); -#1333 = CARTESIAN_POINT('',(3.275239318051,-0.710025012429)); -#1334 = CARTESIAN_POINT('',(3.284419726844,-0.805092147515)); -#1335 = CARTESIAN_POINT('',(3.293355501906,-0.845591709097)); -#1336 = CARTESIAN_POINT('',(3.308050191492,-0.885491798714)); -#1337 = CARTESIAN_POINT('',(3.329504198312,-0.924346878775)); -#1338 = CARTESIAN_POINT('',(3.358890907019,-0.96163658366)); -#1339 = CARTESIAN_POINT('',(3.397766253311,-0.996655132864)); -#1340 = CARTESIAN_POINT('',(3.447793500923,-1.028436652836)); -#1341 = CARTESIAN_POINT('',(3.555288202826,-1.076458375088)); -#1342 = CARTESIAN_POINT('',(3.607767955218,-1.094598247456)); -#1343 = CARTESIAN_POINT('',(3.666772365534,-1.109832823264)); -#1344 = CARTESIAN_POINT('',(3.731926179589,-1.121669527824)); -#1345 = CARTESIAN_POINT('',(3.8022550568,-1.129606719338)); -#1346 = CARTESIAN_POINT('',(3.87522690271,-1.133300100343)); -#1347 = CARTESIAN_POINT('',(3.948154985299,-1.13272816697)); -#1348 = CARTESIAN_POINT('',(4.12483689738,-1.121098265151)); -#1349 = CARTESIAN_POINT('',(4.225768220829,-1.104943213183)); -#1350 = CARTESIAN_POINT('',(4.314182028762,-1.080221313079)); -#1351 = CARTESIAN_POINT('',(4.384692009058,-1.048758269498)); -#1352 = CARTESIAN_POINT('',(4.440560103016,-1.012625673238)); -#1353 = CARTESIAN_POINT('',(4.483326501912,-0.972997243778)); -#1354 = CARTESIAN_POINT('',(4.515240378267,-0.930968368726)); -#1355 = CARTESIAN_POINT('',(4.560683354035,-0.843669726192)); -#1356 = CARTESIAN_POINT('',(4.574215606938,-0.798401959133)); -#1357 = CARTESIAN_POINT('',(4.580272073909,-0.752314092526)); -#1358 = CARTESIAN_POINT('',(4.58019236511,-0.705975469972)); -#1359 = CARTESIAN_POINT('',(4.574911360815,-0.659833705175)); -#1360 = CARTESIAN_POINT('',(4.565086313294,-0.614272116287)); -#1361 = CARTESIAN_POINT('',(4.551235579927,-0.569636514492)); -#1362 = CARTESIAN_POINT('',(4.533742625952,-0.526250539436)); -#1363 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#1364 = ADVANCED_FACE('',(#1365),#73,.F.); -#1365 = FACE_BOUND('',#1366,.F.); -#1366 = EDGE_LOOP('',(#1367,#1389,#1410,#1411,#1412,#1413)); -#1367 = ORIENTED_EDGE('',*,*,#1368,.T.); -#1368 = EDGE_CURVE('',#170,#1369,#1371,.T.); -#1369 = VERTEX_POINT('',#1370); -#1370 = CARTESIAN_POINT('',(3.047629996336E-17,1.,0.497715749301)); -#1371 = SURFACE_CURVE('',#1372,(#1377,#1383),.PCURVE_S1.); -#1372 = CIRCLE('',#1373,0.497715749301); -#1373 = AXIS2_PLACEMENT_3D('',#1374,#1375,#1376); -#1374 = CARTESIAN_POINT('',(0.,1.,0.)); -#1375 = DIRECTION('',(-2.449293598295E-16,-1.,0.)); -#1376 = DIRECTION('',(1.,-2.449293598295E-16,0.)); -#1377 = PCURVE('',#73,#1378); -#1378 = DEFINITIONAL_REPRESENTATION('',(#1379),#1382); -#1379 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#1380,#1381),.UNSPECIFIED.,.F., - .F.,(2,2),(6.28318530718,7.853981633974),.PIECEWISE_BEZIER_KNOTS.); -#1380 = CARTESIAN_POINT('',(6.28318530718,8.881784197001E-16)); -#1381 = CARTESIAN_POINT('',(6.28318530718,1.570796326795)); -#1382 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#1383 = PCURVE('',#371,#1384); -#1384 = DEFINITIONAL_REPRESENTATION('',(#1385),#1388); -#1385 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#1386,#1387),.UNSPECIFIED.,.F., - .F.,(2,2),(6.28318530718,7.853981633974),.PIECEWISE_BEZIER_KNOTS.); -#1386 = CARTESIAN_POINT('',(0.,8.881784197001E-16)); -#1387 = CARTESIAN_POINT('',(0.,1.570796326795)); -#1388 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#1389 = ORIENTED_EDGE('',*,*,#1390,.T.); -#1390 = EDGE_CURVE('',#1369,#906,#1391,.T.); -#1391 = SURFACE_CURVE('',#1392,(#1397,#1403),.PCURVE_S1.); -#1392 = CIRCLE('',#1393,0.497715749301); -#1393 = AXIS2_PLACEMENT_3D('',#1394,#1395,#1396); -#1394 = CARTESIAN_POINT('',(0.,1.,0.)); -#1395 = DIRECTION('',(0.707106781187,0.707106781187,-0.)); -#1396 = DIRECTION('',(-0.707106781187,0.707106781187,0.)); -#1397 = PCURVE('',#73,#1398); -#1398 = DEFINITIONAL_REPRESENTATION('',(#1399),#1402); -#1399 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#1400,#1401),.UNSPECIFIED.,.F., - .F.,(2,2),(1.570796326795,2.010518938673),.PIECEWISE_BEZIER_KNOTS.); -#1400 = CARTESIAN_POINT('',(5.497787143782,1.570796326795)); -#1401 = CARTESIAN_POINT('',(5.497787143782,1.131073714916)); -#1402 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#1403 = PCURVE('',#971,#1404); -#1404 = DEFINITIONAL_REPRESENTATION('',(#1405),#1409); -#1405 = CIRCLE('',#1406,0.497715749301); -#1406 = AXIS2_PLACEMENT_2D('',#1407,#1408); -#1407 = CARTESIAN_POINT('',(0.,0.)); -#1408 = DIRECTION('',(-1.,-0.)); -#1409 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#1410 = ORIENTED_EDGE('',*,*,#905,.F.); -#1411 = ORIENTED_EDGE('',*,*,#848,.F.); -#1412 = ORIENTED_EDGE('',*,*,#56,.T.); -#1413 = ORIENTED_EDGE('',*,*,#169,.T.); -#1414 = ADVANCED_FACE('',(#1415),#371,.F.); -#1415 = FACE_BOUND('',#1416,.F.); -#1416 = EDGE_LOOP('',(#1417,#1445,#1446,#1447,#1470)); -#1417 = ORIENTED_EDGE('',*,*,#1418,.T.); -#1418 = EDGE_CURVE('',#1419,#1369,#1421,.T.); -#1419 = VERTEX_POINT('',#1420); -#1420 = CARTESIAN_POINT('',(0.149816029973,1.149816029973,0.450367940055 - )); -#1421 = SURFACE_CURVE('',#1422,(#1427,#1433),.PCURVE_S1.); -#1422 = CIRCLE('',#1423,0.497715749301); -#1423 = AXIS2_PLACEMENT_3D('',#1424,#1425,#1426); -#1424 = CARTESIAN_POINT('',(0.,1.,0.)); -#1425 = DIRECTION('',(0.707106781187,-0.707106781187,0.)); -#1426 = DIRECTION('',(0.707106781187,0.707106781187,0.)); -#1427 = PCURVE('',#371,#1428); -#1428 = DEFINITIONAL_REPRESENTATION('',(#1429),#1432); -#1429 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#1430,#1431),.UNSPECIFIED.,.F., - .F.,(2,2),(1.131073714916,1.570796326795),.PIECEWISE_BEZIER_KNOTS.); -#1430 = CARTESIAN_POINT('',(0.785398163397,1.131073714916)); -#1431 = CARTESIAN_POINT('',(0.785398163397,1.570796326795)); -#1432 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#1433 = PCURVE('',#1434,#1439); -#1434 = PLANE('',#1435); -#1435 = AXIS2_PLACEMENT_3D('',#1436,#1437,#1438); -#1436 = CARTESIAN_POINT('',(1.,2.,0.)); -#1437 = DIRECTION('',(0.707106781187,-0.707106781187,0.)); -#1438 = DIRECTION('',(-0.707106781187,-0.707106781187,0.)); -#1439 = DEFINITIONAL_REPRESENTATION('',(#1440),#1444); -#1440 = CIRCLE('',#1441,0.497715749301); -#1441 = AXIS2_PLACEMENT_2D('',#1442,#1443); -#1442 = CARTESIAN_POINT('',(1.414213562373,0.)); -#1443 = DIRECTION('',(-1.,0.)); -#1444 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#1445 = ORIENTED_EDGE('',*,*,#1368,.F.); -#1446 = ORIENTED_EDGE('',*,*,#356,.T.); -#1447 = ORIENTED_EDGE('',*,*,#1448,.T.); -#1448 = EDGE_CURVE('',#329,#1449,#1451,.T.); -#1449 = VERTEX_POINT('',#1450); -#1450 = CARTESIAN_POINT('',(0.350183970027,1.350183970027, - 4.963205994528E-02)); -#1451 = SURFACE_CURVE('',#1452,(#1457,#1463),.PCURVE_S1.); -#1452 = CIRCLE('',#1453,0.497715749301); -#1453 = AXIS2_PLACEMENT_3D('',#1454,#1455,#1456); -#1454 = CARTESIAN_POINT('',(0.,1.,0.)); -#1455 = DIRECTION('',(0.707106781187,-0.707106781187,0.)); -#1456 = DIRECTION('',(0.707106781187,0.707106781187,0.)); -#1457 = PCURVE('',#371,#1458); -#1458 = DEFINITIONAL_REPRESENTATION('',(#1459),#1462); -#1459 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#1460,#1461),.UNSPECIFIED.,.F., - .F.,(2,2),(0.,9.98857024243E-02),.PIECEWISE_BEZIER_KNOTS.); -#1460 = CARTESIAN_POINT('',(0.785398163397,0.)); -#1461 = CARTESIAN_POINT('',(0.785398163397,9.98857024243E-02)); -#1462 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#1463 = PCURVE('',#344,#1464); -#1464 = DEFINITIONAL_REPRESENTATION('',(#1465),#1469); -#1465 = CIRCLE('',#1466,0.497715749301); -#1466 = AXIS2_PLACEMENT_2D('',#1467,#1468); -#1467 = CARTESIAN_POINT('',(1.414213562373,0.)); -#1468 = DIRECTION('',(-1.,0.)); -#1469 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#1470 = ORIENTED_EDGE('',*,*,#1471,.F.); -#1471 = EDGE_CURVE('',#1419,#1449,#1472,.T.); -#1472 = SURFACE_CURVE('',#1473,(#1478,#1512),.PCURVE_S1.); -#1473 = CIRCLE('',#1474,0.245399606973); -#1474 = AXIS2_PLACEMENT_3D('',#1475,#1476,#1477); -#1475 = CARTESIAN_POINT('',(0.25,1.25,0.25)); -#1476 = DIRECTION('',(0.57735026919,0.57735026919,0.57735026919)); -#1477 = DIRECTION('',(-0.707106781187,0.707106781187,0.)); -#1478 = PCURVE('',#371,#1479); -#1479 = DEFINITIONAL_REPRESENTATION('',(#1480),#1511); -#1480 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#1481,#1482,#1483,#1484,#1485, - #1486,#1487,#1488,#1489,#1490,#1491,#1492,#1493,#1494,#1495,#1496, - #1497,#1498,#1499,#1500,#1501,#1502,#1503,#1504,#1505,#1506,#1507, - #1508,#1509,#1510),.UNSPECIFIED.,.F.,.F.,(9,7,7,7,9),(1.570796326795 - ,1.773281790796,2.337019730344,3.323561124553,4.712388980385), - .UNSPECIFIED.); -#1481 = CARTESIAN_POINT('',(0.785398009147,1.131073703941)); -#1482 = CARTESIAN_POINT('',(0.756081972451,1.131073697041)); -#1483 = CARTESIAN_POINT('',(0.726766105399,1.130381305025)); -#1484 = CARTESIAN_POINT('',(0.697613295636,1.128996539065)); -#1485 = CARTESIAN_POINT('',(0.66878604257,1.126926039078)); -#1486 = CARTESIAN_POINT('',(0.640437770906,1.124183048721)); -#1487 = CARTESIAN_POINT('',(0.612705840306,1.120786776824)); -#1488 = CARTESIAN_POINT('',(0.585706251176,1.116761145276)); -#1489 = CARTESIAN_POINT('',(0.486653113351,1.099247532764)); -#1490 = CARTESIAN_POINT('',(0.420161530198,1.081691979455)); -#1491 = CARTESIAN_POINT('',(0.362056784352,1.060046176974)); -#1492 = CARTESIAN_POINT('',(0.31297333941,1.035093755117)); -#1493 = CARTESIAN_POINT('',(0.272098234288,1.007559551017)); -#1494 = CARTESIAN_POINT('',(0.238640049362,0.978009692444)); -#1495 = CARTESIAN_POINT('',(0.21169759693,0.946919579642)); -#1496 = CARTESIAN_POINT('',(0.153375406827,0.858245209992)); -#1497 = CARTESIAN_POINT('',(0.133822795155,0.798278707788)); -#1498 = CARTESIAN_POINT('',(0.127586218186,0.736848355699)); -#1499 = CARTESIAN_POINT('',(0.131328163862,0.675222690914)); -#1500 = CARTESIAN_POINT('',(0.143421876456,0.614333671887)); -#1501 = CARTESIAN_POINT('',(0.162505491899,0.554994019435)); -#1502 = CARTESIAN_POINT('',(0.187782315409,0.497939306714)); -#1503 = CARTESIAN_POINT('',(0.261954568275,0.367765207006)); -#1504 = CARTESIAN_POINT('',(0.316279766824,0.297581628432)); -#1505 = CARTESIAN_POINT('',(0.379758282117,0.23529140825)); -#1506 = CARTESIAN_POINT('',(0.451311379721,0.182716794855)); -#1507 = CARTESIAN_POINT('',(0.529823497193,0.141691993265)); -#1508 = CARTESIAN_POINT('',(0.613349206211,0.113821140403)); -#1509 = CARTESIAN_POINT('',(0.699373954303,9.988571735226E-02)); -#1510 = CARTESIAN_POINT('',(0.785398204163,9.9885715231E-02)); -#1511 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#1512 = PCURVE('',#1513,#1518); -#1513 = SPHERICAL_SURFACE('',#1514,0.497715749301); -#1514 = AXIS2_PLACEMENT_3D('',#1515,#1516,#1517); -#1515 = CARTESIAN_POINT('',(0.5,1.5,0.5)); -#1516 = DIRECTION('',(0.,0.,1.)); -#1517 = DIRECTION('',(1.,0.,-0.)); -#1518 = DEFINITIONAL_REPRESENTATION('',(#1519),#1550); -#1519 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#1520,#1521,#1522,#1523,#1524, - #1525,#1526,#1527,#1528,#1529,#1530,#1531,#1532,#1533,#1534,#1535, - #1536,#1537,#1538,#1539,#1540,#1541,#1542,#1543,#1544,#1545,#1546, - #1547,#1548,#1549),.UNSPECIFIED.,.F.,.F.,(9,7,7,7,9),(1.570796326795 - ,2.748893571891,3.632466505713,4.29514620608,4.712388980385), - .UNSPECIFIED.); -#1520 = CARTESIAN_POINT('',(3.926990816987,-9.98857024243E-02)); -#1521 = CARTESIAN_POINT('',(3.9999623981,-9.98857024243E-02)); -#1522 = CARTESIAN_POINT('',(4.072932942523,-0.109912993123)); -#1523 = CARTESIAN_POINT('',(4.144383876571,-0.129968523541)); -#1524 = CARTESIAN_POINT('',(4.212765928355,-0.159643456479)); -#1525 = CARTESIAN_POINT('',(4.276814486713,-0.198119299476)); -#1526 = CARTESIAN_POINT('',(4.335614097047,-0.244353709451)); -#1527 = CARTESIAN_POINT('',(4.388442594368,-0.297260025871)); -#1528 = CARTESIAN_POINT('',(4.468912458382,-0.39951000844)); -#1529 = CARTESIAN_POINT('',(4.499548377746,-0.446436995776)); -#1530 = CARTESIAN_POINT('',(4.525969997962,-0.49598958076)); -#1531 = CARTESIAN_POINT('',(4.547757740822,-0.547660341207)); -#1532 = CARTESIAN_POINT('',(4.56438467971,-0.600935264907)); -#1533 = CARTESIAN_POINT('',(4.575099355993,-0.655270502898)); -#1534 = CARTESIAN_POINT('',(4.578742315923,-0.710025012429)); -#1535 = CARTESIAN_POINT('',(4.569561907131,-0.805092147515)); -#1536 = CARTESIAN_POINT('',(4.560626132069,-0.845591709097)); -#1537 = CARTESIAN_POINT('',(4.545931442483,-0.885491798714)); -#1538 = CARTESIAN_POINT('',(4.524477435663,-0.924346878775)); -#1539 = CARTESIAN_POINT('',(4.495090726956,-0.96163658366)); -#1540 = CARTESIAN_POINT('',(4.456215380663,-0.996655132864)); -#1541 = CARTESIAN_POINT('',(4.406188133052,-1.028436652836)); -#1542 = CARTESIAN_POINT('',(4.306087246623,-1.073155293663)); -#1543 = CARTESIAN_POINT('',(4.262893905556,-1.088712699901)); -#1544 = CARTESIAN_POINT('',(4.215115079205,-1.102275070882)); -#1545 = CARTESIAN_POINT('',(4.162926325672,-1.113553642708)); -#1546 = CARTESIAN_POINT('',(4.106792019891,-1.122253627056)); -#1547 = CARTESIAN_POINT('',(4.047808291262,-1.128133742013)); -#1548 = CARTESIAN_POINT('',(3.987399578469,-1.131073737707)); -#1549 = CARTESIAN_POINT('',(3.926990831614,-1.131073722024)); -#1550 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#1551 = ADVANCED_FACE('',(#1552),#344,.F.); -#1552 = FACE_BOUND('',#1553,.F.); -#1553 = EDGE_LOOP('',(#1554,#1555,#1578,#1606,#1627)); -#1554 = ORIENTED_EDGE('',*,*,#328,.F.); -#1555 = ORIENTED_EDGE('',*,*,#1556,.F.); -#1556 = EDGE_CURVE('',#1557,#301,#1559,.T.); -#1557 = VERTEX_POINT('',#1558); -#1558 = CARTESIAN_POINT('',(0.649816029973,1.649816029973, - 4.963205994528E-02)); -#1559 = SURFACE_CURVE('',#1560,(#1565,#1572),.PCURVE_S1.); -#1560 = CIRCLE('',#1561,0.497715749301); -#1561 = AXIS2_PLACEMENT_3D('',#1562,#1563,#1564); -#1562 = CARTESIAN_POINT('',(1.,2.,0.)); -#1563 = DIRECTION('',(0.707106781187,-0.707106781187,0.)); -#1564 = DIRECTION('',(0.707106781187,0.707106781187,0.)); -#1565 = PCURVE('',#344,#1566); -#1566 = DEFINITIONAL_REPRESENTATION('',(#1567),#1571); -#1567 = CIRCLE('',#1568,0.497715749301); -#1568 = AXIS2_PLACEMENT_2D('',#1569,#1570); -#1569 = CARTESIAN_POINT('',(0.,0.)); -#1570 = DIRECTION('',(-1.,0.)); -#1571 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#1572 = PCURVE('',#317,#1573); -#1573 = DEFINITIONAL_REPRESENTATION('',(#1574),#1577); -#1574 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#1575,#1576),.UNSPECIFIED.,.F., - .F.,(2,2),(3.041706951165,3.14159265359),.PIECEWISE_BEZIER_KNOTS.); -#1575 = CARTESIAN_POINT('',(3.926990816987,9.98857024243E-02)); -#1576 = CARTESIAN_POINT('',(3.926990816987,0.)); -#1577 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#1578 = ORIENTED_EDGE('',*,*,#1579,.F.); -#1579 = EDGE_CURVE('',#1580,#1557,#1582,.T.); -#1580 = VERTEX_POINT('',#1581); -#1581 = CARTESIAN_POINT('',(0.5,1.5,2.284250698599E-03)); -#1582 = SURFACE_CURVE('',#1583,(#1588,#1595),.PCURVE_S1.); -#1583 = CIRCLE('',#1584,0.497715749301); -#1584 = AXIS2_PLACEMENT_3D('',#1585,#1586,#1587); -#1585 = CARTESIAN_POINT('',(0.5,1.5,0.5)); -#1586 = DIRECTION('',(0.707106781187,-0.707106781187,0.)); -#1587 = DIRECTION('',(0.707106781187,0.707106781187,0.)); -#1588 = PCURVE('',#344,#1589); -#1589 = DEFINITIONAL_REPRESENTATION('',(#1590),#1594); -#1590 = CIRCLE('',#1591,0.497715749301); -#1591 = AXIS2_PLACEMENT_2D('',#1592,#1593); -#1592 = CARTESIAN_POINT('',(0.707106781187,-0.5)); -#1593 = DIRECTION('',(-1.,0.)); -#1594 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#1595 = PCURVE('',#1596,#1601); -#1596 = SPHERICAL_SURFACE('',#1597,0.497715749301); -#1597 = AXIS2_PLACEMENT_3D('',#1598,#1599,#1600); -#1598 = CARTESIAN_POINT('',(0.5,1.5,0.5)); -#1599 = DIRECTION('',(0.,0.,1.)); -#1600 = DIRECTION('',(1.,0.,-0.)); -#1601 = DEFINITIONAL_REPRESENTATION('',(#1602),#1605); -#1602 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#1603,#1604),.UNSPECIFIED.,.F., - .F.,(2,2),(4.712388980385,5.152111592263),.PIECEWISE_BEZIER_KNOTS.); -#1603 = CARTESIAN_POINT('',(0.785398163397,-1.570796326795)); -#1604 = CARTESIAN_POINT('',(0.785398163397,-1.131073714916)); -#1605 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#1606 = ORIENTED_EDGE('',*,*,#1607,.F.); -#1607 = EDGE_CURVE('',#1449,#1580,#1608,.T.); -#1608 = SURFACE_CURVE('',#1609,(#1614,#1621),.PCURVE_S1.); -#1609 = CIRCLE('',#1610,0.497715749301); -#1610 = AXIS2_PLACEMENT_3D('',#1611,#1612,#1613); -#1611 = CARTESIAN_POINT('',(0.5,1.5,0.5)); -#1612 = DIRECTION('',(0.707106781187,-0.707106781187,0.)); -#1613 = DIRECTION('',(0.707106781187,0.707106781187,0.)); -#1614 = PCURVE('',#344,#1615); -#1615 = DEFINITIONAL_REPRESENTATION('',(#1616),#1620); -#1616 = CIRCLE('',#1617,0.497715749301); -#1617 = AXIS2_PLACEMENT_2D('',#1618,#1619); -#1618 = CARTESIAN_POINT('',(0.707106781187,-0.5)); -#1619 = DIRECTION('',(-1.,0.)); -#1620 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#1621 = PCURVE('',#1513,#1622); -#1622 = DEFINITIONAL_REPRESENTATION('',(#1623),#1626); -#1623 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#1624,#1625),.UNSPECIFIED.,.F., - .F.,(2,2),(4.272666368506,4.712388980385),.PIECEWISE_BEZIER_KNOTS.); -#1624 = CARTESIAN_POINT('',(3.926990816987,-1.131073714916)); -#1625 = CARTESIAN_POINT('',(3.926990816987,-1.570796326795)); -#1626 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#1627 = ORIENTED_EDGE('',*,*,#1448,.F.); -#1628 = ADVANCED_FACE('',(#1629),#317,.F.); -#1629 = FACE_BOUND('',#1630,.F.); -#1630 = EDGE_LOOP('',(#1631,#1661,#1689,#1739,#1794,#1795,#1796,#1819)); -#1631 = ORIENTED_EDGE('',*,*,#1632,.T.); -#1632 = EDGE_CURVE('',#1633,#1635,#1637,.T.); -#1633 = VERTEX_POINT('',#1634); -#1634 = CARTESIAN_POINT('',(1.149816029973,1.850183970027,0.450367940055 - )); -#1635 = VERTEX_POINT('',#1636); -#1636 = CARTESIAN_POINT('',(1.,2.,0.497715749301)); -#1637 = SURFACE_CURVE('',#1638,(#1643,#1649),.PCURVE_S1.); -#1638 = CIRCLE('',#1639,0.497715749301); -#1639 = AXIS2_PLACEMENT_3D('',#1640,#1641,#1642); -#1640 = CARTESIAN_POINT('',(1.,2.,0.)); -#1641 = DIRECTION('',(-0.707106781187,-0.707106781187,0.)); -#1642 = DIRECTION('',(0.707106781187,-0.707106781187,0.)); -#1643 = PCURVE('',#317,#1644); -#1644 = DEFINITIONAL_REPRESENTATION('',(#1645),#1648); -#1645 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#1646,#1647),.UNSPECIFIED.,.F., - .F.,(2,2),(1.131073714916,1.570796326795),.PIECEWISE_BEZIER_KNOTS.); -#1646 = CARTESIAN_POINT('',(5.497787143782,1.131073714916)); -#1647 = CARTESIAN_POINT('',(5.497787143782,1.570796326795)); -#1648 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#1649 = PCURVE('',#1650,#1655); -#1650 = PLANE('',#1651); -#1651 = AXIS2_PLACEMENT_3D('',#1652,#1653,#1654); -#1652 = CARTESIAN_POINT('',(2.,1.,0.)); -#1653 = DIRECTION('',(-0.707106781187,-0.707106781187,0.)); -#1654 = DIRECTION('',(-0.707106781187,0.707106781187,0.)); -#1655 = DEFINITIONAL_REPRESENTATION('',(#1656),#1660); -#1656 = CIRCLE('',#1657,0.497715749301); -#1657 = AXIS2_PLACEMENT_2D('',#1658,#1659); -#1658 = CARTESIAN_POINT('',(1.414213562373,0.)); -#1659 = DIRECTION('',(-1.,-0.)); -#1660 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#1661 = ORIENTED_EDGE('',*,*,#1662,.T.); -#1662 = EDGE_CURVE('',#1635,#1663,#1665,.T.); -#1663 = VERTEX_POINT('',#1664); -#1664 = CARTESIAN_POINT('',(0.850183970027,1.850183970027,0.450367940055 - )); -#1665 = SURFACE_CURVE('',#1666,(#1671,#1677),.PCURVE_S1.); -#1666 = CIRCLE('',#1667,0.497715749301); -#1667 = AXIS2_PLACEMENT_3D('',#1668,#1669,#1670); -#1668 = CARTESIAN_POINT('',(1.,2.,0.)); -#1669 = DIRECTION('',(0.707106781187,-0.707106781187,0.)); -#1670 = DIRECTION('',(0.707106781187,0.707106781187,0.)); -#1671 = PCURVE('',#317,#1672); -#1672 = DEFINITIONAL_REPRESENTATION('',(#1673),#1676); -#1673 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#1674,#1675),.UNSPECIFIED.,.F., - .F.,(2,2),(1.570796326795,2.010518938673),.PIECEWISE_BEZIER_KNOTS.); -#1674 = CARTESIAN_POINT('',(3.926990816987,1.570796326795)); -#1675 = CARTESIAN_POINT('',(3.926990816987,1.131073714916)); -#1676 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#1677 = PCURVE('',#1678,#1683); -#1678 = PLANE('',#1679); -#1679 = AXIS2_PLACEMENT_3D('',#1680,#1681,#1682); -#1680 = CARTESIAN_POINT('',(1.,2.,0.)); -#1681 = DIRECTION('',(0.707106781187,-0.707106781187,0.)); -#1682 = DIRECTION('',(-0.707106781187,-0.707106781187,0.)); -#1683 = DEFINITIONAL_REPRESENTATION('',(#1684),#1688); -#1684 = CIRCLE('',#1685,0.497715749301); -#1685 = AXIS2_PLACEMENT_2D('',#1686,#1687); -#1686 = CARTESIAN_POINT('',(0.,0.)); -#1687 = DIRECTION('',(-1.,0.)); -#1688 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#1689 = ORIENTED_EDGE('',*,*,#1690,.F.); -#1690 = EDGE_CURVE('',#1691,#1663,#1693,.T.); -#1691 = VERTEX_POINT('',#1692); -#1692 = CARTESIAN_POINT('',(0.923523726191,1.576476273809,0.25)); -#1693 = SURFACE_CURVE('',#1694,(#1699,#1726),.PCURVE_S1.); -#1694 = CIRCLE('',#1695,0.245399606973); -#1695 = AXIS2_PLACEMENT_3D('',#1696,#1697,#1698); -#1696 = CARTESIAN_POINT('',(0.75,1.75,0.25)); -#1697 = DIRECTION('',(-0.57735026919,-0.57735026919,0.57735026919)); -#1698 = DIRECTION('',(0.707106781187,-0.707106781187,0.)); -#1699 = PCURVE('',#317,#1700); -#1700 = DEFINITIONAL_REPRESENTATION('',(#1701),#1725); -#1701 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#1702,#1703,#1704,#1705,#1706, - #1707,#1708,#1709,#1710,#1711,#1712,#1713,#1714,#1715,#1716,#1717, - #1718,#1719,#1720,#1721,#1722,#1723,#1724),.UNSPECIFIED.,.F.,.F.,(9, - 7,7,9),(0.,0.785398163397,1.47262155637,1.570796326795), - .UNSPECIFIED.); -#1702 = CARTESIAN_POINT('',(4.533742625952,0.526250539436)); -#1703 = CARTESIAN_POINT('',(4.552171416971,0.571957574886)); -#1704 = CARTESIAN_POINT('',(4.566557297653,0.619051486728)); -#1705 = CARTESIAN_POINT('',(4.576455169405,0.667154048102)); -#1706 = CARTESIAN_POINT('',(4.581243246578,0.715859131219)); -#1707 = CARTESIAN_POINT('',(4.580141949792,0.764714154902)); -#1708 = CARTESIAN_POINT('',(4.572007611457,0.813183583818)); -#1709 = CARTESIAN_POINT('',(4.555157960036,0.860569413232)); -#1710 = CARTESIAN_POINT('',(4.503273690495,0.945495962948)); -#1711 = CARTESIAN_POINT('',(4.470775135216,0.98352593372)); -#1712 = CARTESIAN_POINT('',(4.428611097786,1.019288412067)); -#1713 = CARTESIAN_POINT('',(4.375071803875,1.051892094282)); -#1714 = CARTESIAN_POINT('',(4.308854597406,1.080336025808)); -#1715 = CARTESIAN_POINT('',(4.228088546653,1.103057018853)); -#1716 = CARTESIAN_POINT('',(4.136499632804,1.118654821906)); -#1717 = CARTESIAN_POINT('',(4.025842850992,1.127668406666)); -#1718 = CARTESIAN_POINT('',(4.011904063762,1.128637721153)); -#1719 = CARTESIAN_POINT('',(3.997874712032,1.129447894731)); -#1720 = CARTESIAN_POINT('',(3.983771962519,1.130097491274)); -#1721 = CARTESIAN_POINT('',(3.969613724812,1.130585419069)); -#1722 = CARTESIAN_POINT('',(3.955418374563,1.130910946087)); -#1723 = CARTESIAN_POINT('',(3.94120449871,1.131073707287)); -#1724 = CARTESIAN_POINT('',(3.926990662736,1.131073703941)); -#1725 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#1726 = PCURVE('',#1596,#1727); -#1727 = DEFINITIONAL_REPRESENTATION('',(#1728),#1738); -#1728 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#1729,#1730,#1731,#1732,#1733, - #1734,#1735,#1736,#1737),.UNSPECIFIED.,.F.,.F.,(9,9),(0., - 1.570796326795),.PIECEWISE_BEZIER_KNOTS.); -#1729 = CARTESIAN_POINT('',(0.178646354433,-0.526250539436)); -#1730 = CARTESIAN_POINT('',(0.215503936472,-0.434836468535)); -#1731 = CARTESIAN_POINT('',(0.268524601066,-0.348970381879)); -#1732 = CARTESIAN_POINT('',(0.334089965141,-0.271677081403)); -#1733 = CARTESIAN_POINT('',(0.410729152039,-0.205567417182)); -#1734 = CARTESIAN_POINT('',(0.497113166759,-0.1533634671)); -#1735 = CARTESIAN_POINT('',(0.590809913163,-0.11771252843)); -#1736 = CARTESIAN_POINT('',(0.688102721914,-9.98857024243E-02)); -#1737 = CARTESIAN_POINT('',(0.785398163397,-9.98857024243E-02)); -#1738 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#1739 = ORIENTED_EDGE('',*,*,#1740,.F.); -#1740 = EDGE_CURVE('',#1557,#1691,#1741,.T.); -#1741 = SURFACE_CURVE('',#1742,(#1747,#1767),.PCURVE_S1.); -#1742 = CIRCLE('',#1743,0.245399606973); -#1743 = AXIS2_PLACEMENT_3D('',#1744,#1745,#1746); -#1744 = CARTESIAN_POINT('',(0.75,1.75,0.25)); -#1745 = DIRECTION('',(-0.57735026919,-0.57735026919,0.57735026919)); -#1746 = DIRECTION('',(0.707106781187,-0.707106781187,0.)); -#1747 = PCURVE('',#317,#1748); -#1748 = DEFINITIONAL_REPRESENTATION('',(#1749),#1766); -#1749 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#1750,#1751,#1752,#1753,#1754, - #1755,#1756,#1757,#1758,#1759,#1760,#1761,#1762,#1763,#1764,#1765), - .UNSPECIFIED.,.F.,.F.,(9,7,9),(4.712388980385,4.803373215866, - 6.28318530718),.UNSPECIFIED.); -#1750 = CARTESIAN_POINT('',(3.926990857753,9.9885715231E-02)); -#1751 = CARTESIAN_POINT('',(3.932626437839,9.988571509204E-02)); -#1752 = CARTESIAN_POINT('',(3.938262015786,9.994552244007E-02)); -#1753 = CARTESIAN_POINT('',(3.943896888825,0.100065137273)); -#1754 = CARTESIAN_POINT('',(3.949530354464,0.100244545193)); -#1755 = CARTESIAN_POINT('',(3.955161711191,0.100483717459)); -#1756 = CARTESIAN_POINT('',(3.960790259207,0.100782611084)); -#1757 = CARTESIAN_POINT('',(3.966415301177,0.101141168992)); -#1758 = CARTESIAN_POINT('',(4.0634562626,0.108360336437)); -#1759 = CARTESIAN_POINT('',(4.153763760905,0.130923118231)); -#1760 = CARTESIAN_POINT('',(4.239964576394,0.168951467086)); -#1761 = CARTESIAN_POINT('',(4.319193437739,0.221095759914)); -#1762 = CARTESIAN_POINT('',(4.389563562221,0.285201738956)); -#1763 = CARTESIAN_POINT('',(4.449952875878,0.358934034507)); -#1764 = CARTESIAN_POINT('',(4.49901992217,0.440131387559)); -#1765 = CARTESIAN_POINT('',(4.533742625952,0.526250539436)); -#1766 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#1767 = PCURVE('',#1596,#1768); -#1768 = DEFINITIONAL_REPRESENTATION('',(#1769),#1793); -#1769 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#1770,#1771,#1772,#1773,#1774, - #1775,#1776,#1777,#1778,#1779,#1780,#1781,#1782,#1783,#1784,#1785, - #1786,#1787,#1788,#1789,#1790,#1791,#1792),.UNSPECIFIED.,.F.,.F.,(9, - 7,7,9),(4.712388980385,4.792155981355,5.537670644267,6.28318530718), - .UNSPECIFIED.); -#1770 = CARTESIAN_POINT('',(0.785398178025,-1.131073722024)); -#1771 = CARTESIAN_POINT('',(0.773849447008,-1.131073719025)); -#1772 = CARTESIAN_POINT('',(0.762300714747,-1.130966263189)); -#1773 = CARTESIAN_POINT('',(0.750761937655,-1.130751355268)); -#1774 = CARTESIAN_POINT('',(0.739243072831,-1.13042915679)); -#1775 = CARTESIAN_POINT('',(0.727753994344,-1.12999998988)); -#1776 = CARTESIAN_POINT('',(0.716304408341,-1.129464333764)); -#1777 = CARTESIAN_POINT('',(0.704903772757,-1.128822817223)); -#1778 = CARTESIAN_POINT('',(0.587552083005,-1.121098265151)); -#1779 = CARTESIAN_POINT('',(0.486620759559,-1.104943213183)); -#1780 = CARTESIAN_POINT('',(0.398206951608,-1.080221313079)); -#1781 = CARTESIAN_POINT('',(0.327696971322,-1.048758269498)); -#1782 = CARTESIAN_POINT('',(0.271828877353,-1.012625673238)); -#1783 = CARTESIAN_POINT('',(0.229062478474,-0.972997243778)); -#1784 = CARTESIAN_POINT('',(0.197148602117,-0.930968368726)); -#1785 = CARTESIAN_POINT('',(0.15170562635,-0.843669726192)); -#1786 = CARTESIAN_POINT('',(0.138173373447,-0.798401959133)); -#1787 = CARTESIAN_POINT('',(0.132116906475,-0.752314092525)); -#1788 = CARTESIAN_POINT('',(0.132196615273,-0.705975469972)); -#1789 = CARTESIAN_POINT('',(0.137477619568,-0.659833705175)); -#1790 = CARTESIAN_POINT('',(0.14730266709,-0.614272116287)); -#1791 = CARTESIAN_POINT('',(0.161153400458,-0.569636514492)); -#1792 = CARTESIAN_POINT('',(0.178646354433,-0.526250539436)); -#1793 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#1794 = ORIENTED_EDGE('',*,*,#1556,.T.); -#1795 = ORIENTED_EDGE('',*,*,#300,.T.); -#1796 = ORIENTED_EDGE('',*,*,#1797,.T.); -#1797 = EDGE_CURVE('',#273,#1798,#1800,.T.); -#1798 = VERTEX_POINT('',#1799); -#1799 = CARTESIAN_POINT('',(1.350183970027,1.649816029973, - 4.963205994528E-02)); -#1800 = SURFACE_CURVE('',#1801,(#1806,#1812),.PCURVE_S1.); -#1801 = CIRCLE('',#1802,0.497715749301); -#1802 = AXIS2_PLACEMENT_3D('',#1803,#1804,#1805); -#1803 = CARTESIAN_POINT('',(1.,2.,0.)); -#1804 = DIRECTION('',(-0.707106781187,-0.707106781187,0.)); -#1805 = DIRECTION('',(0.707106781187,-0.707106781187,0.)); -#1806 = PCURVE('',#317,#1807); -#1807 = DEFINITIONAL_REPRESENTATION('',(#1808),#1811); -#1808 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#1809,#1810),.UNSPECIFIED.,.F., - .F.,(2,2),(0.,9.98857024243E-02),.PIECEWISE_BEZIER_KNOTS.); -#1809 = CARTESIAN_POINT('',(5.497787143782,0.)); -#1810 = CARTESIAN_POINT('',(5.497787143782,9.98857024243E-02)); -#1811 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#1812 = PCURVE('',#288,#1813); -#1813 = DEFINITIONAL_REPRESENTATION('',(#1814),#1818); -#1814 = CIRCLE('',#1815,0.497715749301); -#1815 = AXIS2_PLACEMENT_2D('',#1816,#1817); -#1816 = CARTESIAN_POINT('',(1.414213562373,0.)); -#1817 = DIRECTION('',(-1.,-0.)); -#1818 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#1819 = ORIENTED_EDGE('',*,*,#1820,.F.); -#1820 = EDGE_CURVE('',#1633,#1798,#1821,.T.); -#1821 = SURFACE_CURVE('',#1822,(#1827,#1861),.PCURVE_S1.); -#1822 = CIRCLE('',#1823,0.245399606973); -#1823 = AXIS2_PLACEMENT_3D('',#1824,#1825,#1826); -#1824 = CARTESIAN_POINT('',(1.25,1.75,0.25)); -#1825 = DIRECTION('',(0.57735026919,-0.57735026919,0.57735026919)); -#1826 = DIRECTION('',(0.707106781187,0.707106781187,0.)); -#1827 = PCURVE('',#317,#1828); -#1828 = DEFINITIONAL_REPRESENTATION('',(#1829),#1860); -#1829 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#1830,#1831,#1832,#1833,#1834, - #1835,#1836,#1837,#1838,#1839,#1840,#1841,#1842,#1843,#1844,#1845, - #1846,#1847,#1848,#1849,#1850,#1851,#1852,#1853,#1854,#1855,#1856, - #1857,#1858,#1859),.UNSPECIFIED.,.F.,.F.,(9,7,7,7,9),(1.570796326795 - ,1.773281790796,2.337019730344,3.323561124553,4.712388980385), - .UNSPECIFIED.); -#1830 = CARTESIAN_POINT('',(5.497786989531,1.131073703941)); -#1831 = CARTESIAN_POINT('',(5.468470952835,1.131073697041)); -#1832 = CARTESIAN_POINT('',(5.439155085784,1.130381305025)); -#1833 = CARTESIAN_POINT('',(5.410002276021,1.128996539065)); -#1834 = CARTESIAN_POINT('',(5.381175022955,1.126926039078)); -#1835 = CARTESIAN_POINT('',(5.352826751291,1.124183048721)); -#1836 = CARTESIAN_POINT('',(5.325094820691,1.120786776824)); -#1837 = CARTESIAN_POINT('',(5.298095231561,1.116761145276)); -#1838 = CARTESIAN_POINT('',(5.199042093736,1.099247532764)); -#1839 = CARTESIAN_POINT('',(5.132550510585,1.081691979456)); -#1840 = CARTESIAN_POINT('',(5.074445764712,1.060046176974)); -#1841 = CARTESIAN_POINT('',(5.025362319822,1.035093755123)); -#1842 = CARTESIAN_POINT('',(4.984487214642,1.007559551015)); -#1843 = CARTESIAN_POINT('',(4.95102902975,0.978009692444)); -#1844 = CARTESIAN_POINT('',(4.924086577315,0.946919579642)); -#1845 = CARTESIAN_POINT('',(4.865764387212,0.858245209992)); -#1846 = CARTESIAN_POINT('',(4.846211775539,0.798278707788)); -#1847 = CARTESIAN_POINT('',(4.839975198565,0.736848355699)); -#1848 = CARTESIAN_POINT('',(4.843717144242,0.675222690914)); -#1849 = CARTESIAN_POINT('',(4.855810856829,0.614333671887)); -#1850 = CARTESIAN_POINT('',(4.874894472286,0.554994019435)); -#1851 = CARTESIAN_POINT('',(4.900171295794,0.497939306714)); -#1852 = CARTESIAN_POINT('',(4.97434354866,0.367765207006)); -#1853 = CARTESIAN_POINT('',(5.028668747202,0.297581628432)); -#1854 = CARTESIAN_POINT('',(5.092147262524,0.23529140825)); -#1855 = CARTESIAN_POINT('',(5.163700360081,0.182716794855)); -#1856 = CARTESIAN_POINT('',(5.242212477583,0.141691993265)); -#1857 = CARTESIAN_POINT('',(5.325738186596,0.113821140403)); -#1858 = CARTESIAN_POINT('',(5.411762934687,9.988571735228E-02)); -#1859 = CARTESIAN_POINT('',(5.497787184548,9.988571523101E-02)); -#1860 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#1861 = PCURVE('',#1862,#1867); -#1862 = SPHERICAL_SURFACE('',#1863,0.497715749301); -#1863 = AXIS2_PLACEMENT_3D('',#1864,#1865,#1866); -#1864 = CARTESIAN_POINT('',(1.5,1.5,0.5)); -#1865 = DIRECTION('',(0.,0.,1.)); -#1866 = DIRECTION('',(1.,0.,-0.)); -#1867 = DEFINITIONAL_REPRESENTATION('',(#1868),#1899); -#1868 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#1869,#1870,#1871,#1872,#1873, - #1874,#1875,#1876,#1877,#1878,#1879,#1880,#1881,#1882,#1883,#1884, - #1885,#1886,#1887,#1888,#1889,#1890,#1891,#1892,#1893,#1894,#1895, - #1896,#1897,#1898),.UNSPECIFIED.,.F.,.F.,(9,7,7,7,9),(1.570796326795 - ,2.748893571891,3.632466505713,4.29514620608,4.712388980385), - .UNSPECIFIED.); -#1869 = CARTESIAN_POINT('',(2.356194490192,-9.98857024243E-02)); -#1870 = CARTESIAN_POINT('',(2.429166071305,-9.98857024243E-02)); -#1871 = CARTESIAN_POINT('',(2.502136615727,-0.109912993123)); -#1872 = CARTESIAN_POINT('',(2.573587549776,-0.129968523541)); -#1873 = CARTESIAN_POINT('',(2.64196960156,-0.159643456479)); -#1874 = CARTESIAN_POINT('',(2.706018159918,-0.198119299476)); -#1875 = CARTESIAN_POINT('',(2.764817770253,-0.244353709451)); -#1876 = CARTESIAN_POINT('',(2.817646267573,-0.297260025871)); -#1877 = CARTESIAN_POINT('',(2.898116131587,-0.39951000844)); -#1878 = CARTESIAN_POINT('',(2.928752050951,-0.446436995776)); -#1879 = CARTESIAN_POINT('',(2.955173671168,-0.49598958076)); -#1880 = CARTESIAN_POINT('',(2.976961414027,-0.547660341207)); -#1881 = CARTESIAN_POINT('',(2.993588352915,-0.600935264907)); -#1882 = CARTESIAN_POINT('',(3.004303029199,-0.655270502898)); -#1883 = CARTESIAN_POINT('',(3.007945989128,-0.710025012429)); -#1884 = CARTESIAN_POINT('',(2.998765580336,-0.805092147515)); -#1885 = CARTESIAN_POINT('',(2.989829805273,-0.845591709097)); -#1886 = CARTESIAN_POINT('',(2.975135115688,-0.885491798714)); -#1887 = CARTESIAN_POINT('',(2.953681108868,-0.924346878775)); -#1888 = CARTESIAN_POINT('',(2.92429440016,-0.96163658366)); -#1889 = CARTESIAN_POINT('',(2.885419053868,-0.996655132864)); -#1890 = CARTESIAN_POINT('',(2.835391806257,-1.028436652836)); -#1891 = CARTESIAN_POINT('',(2.735290919828,-1.073155293663)); -#1892 = CARTESIAN_POINT('',(2.69209757876,-1.088712699901)); -#1893 = CARTESIAN_POINT('',(2.644318752413,-1.102275070881)); -#1894 = CARTESIAN_POINT('',(2.592129998886,-1.113553642711)); -#1895 = CARTESIAN_POINT('',(2.535995693103,-1.122253627058)); -#1896 = CARTESIAN_POINT('',(2.477011964471,-1.128133742013)); -#1897 = CARTESIAN_POINT('',(2.416603251676,-1.131073737708)); -#1898 = CARTESIAN_POINT('',(2.35619450482,-1.131073722024)); -#1899 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#1900 = ADVANCED_FACE('',(#1901),#288,.F.); -#1901 = FACE_BOUND('',#1902,.F.); -#1902 = EDGE_LOOP('',(#1903,#1904,#1927,#1950,#1971)); -#1903 = ORIENTED_EDGE('',*,*,#272,.F.); -#1904 = ORIENTED_EDGE('',*,*,#1905,.F.); -#1905 = EDGE_CURVE('',#1906,#245,#1908,.T.); -#1906 = VERTEX_POINT('',#1907); -#1907 = CARTESIAN_POINT('',(1.649816029973,1.350183970027, - 4.963205994528E-02)); -#1908 = SURFACE_CURVE('',#1909,(#1914,#1921),.PCURVE_S1.); -#1909 = CIRCLE('',#1910,0.497715749301); -#1910 = AXIS2_PLACEMENT_3D('',#1911,#1912,#1913); -#1911 = CARTESIAN_POINT('',(2.,1.,0.)); -#1912 = DIRECTION('',(-0.707106781187,-0.707106781187,0.)); -#1913 = DIRECTION('',(0.707106781187,-0.707106781187,0.)); -#1914 = PCURVE('',#288,#1915); -#1915 = DEFINITIONAL_REPRESENTATION('',(#1916),#1920); -#1916 = CIRCLE('',#1917,0.497715749301); -#1917 = AXIS2_PLACEMENT_2D('',#1918,#1919); -#1918 = CARTESIAN_POINT('',(0.,0.)); -#1919 = DIRECTION('',(-1.,-0.)); -#1920 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#1921 = PCURVE('',#261,#1922); -#1922 = DEFINITIONAL_REPRESENTATION('',(#1923),#1926); -#1923 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#1924,#1925),.UNSPECIFIED.,.F., - .F.,(2,2),(3.041706951165,3.14159265359),.PIECEWISE_BEZIER_KNOTS.); -#1924 = CARTESIAN_POINT('',(2.356194490192,9.98857024243E-02)); -#1925 = CARTESIAN_POINT('',(2.356194490192,0.)); -#1926 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#1927 = ORIENTED_EDGE('',*,*,#1928,.F.); -#1928 = EDGE_CURVE('',#1929,#1906,#1931,.T.); -#1929 = VERTEX_POINT('',#1930); -#1930 = CARTESIAN_POINT('',(1.5,1.5,2.284250698599E-03)); -#1931 = SURFACE_CURVE('',#1932,(#1937,#1944),.PCURVE_S1.); -#1932 = CIRCLE('',#1933,0.497715749301); -#1933 = AXIS2_PLACEMENT_3D('',#1934,#1935,#1936); -#1934 = CARTESIAN_POINT('',(1.5,1.5,0.5)); -#1935 = DIRECTION('',(-0.707106781187,-0.707106781187,0.)); -#1936 = DIRECTION('',(0.707106781187,-0.707106781187,0.)); -#1937 = PCURVE('',#288,#1938); -#1938 = DEFINITIONAL_REPRESENTATION('',(#1939),#1943); -#1939 = CIRCLE('',#1940,0.497715749301); -#1940 = AXIS2_PLACEMENT_2D('',#1941,#1942); -#1941 = CARTESIAN_POINT('',(0.707106781187,-0.5)); -#1942 = DIRECTION('',(-1.,-0.)); -#1943 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#1944 = PCURVE('',#1862,#1945); -#1945 = DEFINITIONAL_REPRESENTATION('',(#1946),#1949); -#1946 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#1947,#1948),.UNSPECIFIED.,.F., - .F.,(2,2),(4.712388980385,5.152111592263),.PIECEWISE_BEZIER_KNOTS.); -#1947 = CARTESIAN_POINT('',(5.497787143782,-1.570796326795)); -#1948 = CARTESIAN_POINT('',(5.497787143782,-1.131073714916)); -#1949 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#1950 = ORIENTED_EDGE('',*,*,#1951,.F.); -#1951 = EDGE_CURVE('',#1798,#1929,#1952,.T.); -#1952 = SURFACE_CURVE('',#1953,(#1958,#1965),.PCURVE_S1.); -#1953 = CIRCLE('',#1954,0.497715749301); -#1954 = AXIS2_PLACEMENT_3D('',#1955,#1956,#1957); -#1955 = CARTESIAN_POINT('',(1.5,1.5,0.5)); -#1956 = DIRECTION('',(-0.707106781187,-0.707106781187,0.)); -#1957 = DIRECTION('',(0.707106781187,-0.707106781187,0.)); -#1958 = PCURVE('',#288,#1959); -#1959 = DEFINITIONAL_REPRESENTATION('',(#1960),#1964); -#1960 = CIRCLE('',#1961,0.497715749301); -#1961 = AXIS2_PLACEMENT_2D('',#1962,#1963); -#1962 = CARTESIAN_POINT('',(0.707106781187,-0.5)); -#1963 = DIRECTION('',(-1.,-0.)); -#1964 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#1965 = PCURVE('',#1862,#1966); -#1966 = DEFINITIONAL_REPRESENTATION('',(#1967),#1970); -#1967 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#1968,#1969),.UNSPECIFIED.,.F., - .F.,(2,2),(4.272666368506,4.712388980385),.PIECEWISE_BEZIER_KNOTS.); -#1968 = CARTESIAN_POINT('',(2.356194490192,-1.131073714916)); -#1969 = CARTESIAN_POINT('',(2.356194490192,-1.570796326795)); -#1970 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#1971 = ORIENTED_EDGE('',*,*,#1797,.F.); -#1972 = ADVANCED_FACE('',(#1973),#261,.F.); -#1973 = FACE_BOUND('',#1974,.F.); -#1974 = EDGE_LOOP('',(#1975,#2005,#2033,#2083,#2138,#2139,#2140,#2163)); -#1975 = ORIENTED_EDGE('',*,*,#1976,.T.); -#1976 = EDGE_CURVE('',#1977,#1979,#1981,.T.); -#1977 = VERTEX_POINT('',#1978); -#1978 = CARTESIAN_POINT('',(1.850183970027,0.850183970027,0.450367940055 - )); -#1979 = VERTEX_POINT('',#1980); -#1980 = CARTESIAN_POINT('',(2.,1.,0.497715749301)); -#1981 = SURFACE_CURVE('',#1982,(#1987,#1993),.PCURVE_S1.); -#1982 = CIRCLE('',#1983,0.497715749301); -#1983 = AXIS2_PLACEMENT_3D('',#1984,#1985,#1986); -#1984 = CARTESIAN_POINT('',(2.,1.,0.)); -#1985 = DIRECTION('',(-0.707106781187,0.707106781187,0.)); -#1986 = DIRECTION('',(-0.707106781187,-0.707106781187,0.)); -#1987 = PCURVE('',#261,#1988); -#1988 = DEFINITIONAL_REPRESENTATION('',(#1989),#1992); -#1989 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#1990,#1991),.UNSPECIFIED.,.F., - .F.,(2,2),(1.131073714916,1.570796326795),.PIECEWISE_BEZIER_KNOTS.); -#1990 = CARTESIAN_POINT('',(3.926990816987,1.131073714916)); -#1991 = CARTESIAN_POINT('',(3.926990816987,1.570796326795)); -#1992 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#1993 = PCURVE('',#1994,#1999); -#1994 = PLANE('',#1995); -#1995 = AXIS2_PLACEMENT_3D('',#1996,#1997,#1998); -#1996 = CARTESIAN_POINT('',(1.,0.,0.)); -#1997 = DIRECTION('',(-0.707106781187,0.707106781187,0.)); -#1998 = DIRECTION('',(0.707106781187,0.707106781187,0.)); -#1999 = DEFINITIONAL_REPRESENTATION('',(#2000),#2004); -#2000 = CIRCLE('',#2001,0.497715749301); -#2001 = AXIS2_PLACEMENT_2D('',#2002,#2003); -#2002 = CARTESIAN_POINT('',(1.414213562373,0.)); -#2003 = DIRECTION('',(-1.,-0.)); -#2004 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#2005 = ORIENTED_EDGE('',*,*,#2006,.T.); -#2006 = EDGE_CURVE('',#1979,#2007,#2009,.T.); -#2007 = VERTEX_POINT('',#2008); -#2008 = CARTESIAN_POINT('',(1.850183970027,1.149816029973,0.450367940055 - )); -#2009 = SURFACE_CURVE('',#2010,(#2015,#2021),.PCURVE_S1.); -#2010 = CIRCLE('',#2011,0.497715749301); -#2011 = AXIS2_PLACEMENT_3D('',#2012,#2013,#2014); -#2012 = CARTESIAN_POINT('',(2.,1.,0.)); -#2013 = DIRECTION('',(-0.707106781187,-0.707106781187,0.)); -#2014 = DIRECTION('',(0.707106781187,-0.707106781187,0.)); -#2015 = PCURVE('',#261,#2016); -#2016 = DEFINITIONAL_REPRESENTATION('',(#2017),#2020); -#2017 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#2018,#2019),.UNSPECIFIED.,.F., - .F.,(2,2),(1.570796326795,2.010518938673),.PIECEWISE_BEZIER_KNOTS.); -#2018 = CARTESIAN_POINT('',(2.356194490192,1.570796326795)); -#2019 = CARTESIAN_POINT('',(2.356194490192,1.131073714916)); -#2020 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#2021 = PCURVE('',#2022,#2027); -#2022 = PLANE('',#2023); -#2023 = AXIS2_PLACEMENT_3D('',#2024,#2025,#2026); -#2024 = CARTESIAN_POINT('',(2.,1.,0.)); -#2025 = DIRECTION('',(-0.707106781187,-0.707106781187,0.)); -#2026 = DIRECTION('',(-0.707106781187,0.707106781187,0.)); -#2027 = DEFINITIONAL_REPRESENTATION('',(#2028),#2032); -#2028 = CIRCLE('',#2029,0.497715749301); -#2029 = AXIS2_PLACEMENT_2D('',#2030,#2031); -#2030 = CARTESIAN_POINT('',(0.,0.)); -#2031 = DIRECTION('',(-1.,-0.)); -#2032 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#2033 = ORIENTED_EDGE('',*,*,#2034,.F.); -#2034 = EDGE_CURVE('',#2035,#2007,#2037,.T.); -#2035 = VERTEX_POINT('',#2036); -#2036 = CARTESIAN_POINT('',(1.576476273809,1.076476273809,0.25)); -#2037 = SURFACE_CURVE('',#2038,(#2043,#2070),.PCURVE_S1.); -#2038 = CIRCLE('',#2039,0.245399606973); -#2039 = AXIS2_PLACEMENT_3D('',#2040,#2041,#2042); -#2040 = CARTESIAN_POINT('',(1.75,1.25,0.25)); -#2041 = DIRECTION('',(-0.57735026919,0.57735026919,0.57735026919)); -#2042 = DIRECTION('',(-0.707106781187,-0.707106781187,0.)); -#2043 = PCURVE('',#261,#2044); -#2044 = DEFINITIONAL_REPRESENTATION('',(#2045),#2069); -#2045 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#2046,#2047,#2048,#2049,#2050, - #2051,#2052,#2053,#2054,#2055,#2056,#2057,#2058,#2059,#2060,#2061, - #2062,#2063,#2064,#2065,#2066,#2067,#2068),.UNSPECIFIED.,.F.,.F.,(9, - 7,7,9),(0.,0.785398163397,1.47262155637,1.570796326795), - .UNSPECIFIED.); -#2046 = CARTESIAN_POINT('',(2.962946299157,0.526250539436)); -#2047 = CARTESIAN_POINT('',(2.981375090176,0.571957574886)); -#2048 = CARTESIAN_POINT('',(2.995760970858,0.619051486728)); -#2049 = CARTESIAN_POINT('',(3.005658842609,0.667154048102)); -#2050 = CARTESIAN_POINT('',(3.010446919782,0.715859131219)); -#2051 = CARTESIAN_POINT('',(3.009345622997,0.764714154902)); -#2052 = CARTESIAN_POINT('',(3.001211284662,0.813183583818)); -#2053 = CARTESIAN_POINT('',(2.984361633241,0.860569413232)); -#2054 = CARTESIAN_POINT('',(2.9324773637,0.945495962948)); -#2055 = CARTESIAN_POINT('',(2.899978808421,0.983525933721)); -#2056 = CARTESIAN_POINT('',(2.857814771001,1.019288412063)); -#2057 = CARTESIAN_POINT('',(2.804275477078,1.051892094285)); -#2058 = CARTESIAN_POINT('',(2.738058270625,1.080336025807)); -#2059 = CARTESIAN_POINT('',(2.657292219858,1.103057018853)); -#2060 = CARTESIAN_POINT('',(2.565703306009,1.118654821906)); -#2061 = CARTESIAN_POINT('',(2.455046524197,1.127668406666)); -#2062 = CARTESIAN_POINT('',(2.441107736967,1.128637721153)); -#2063 = CARTESIAN_POINT('',(2.427078385237,1.129447894731)); -#2064 = CARTESIAN_POINT('',(2.412975635724,1.130097491274)); -#2065 = CARTESIAN_POINT('',(2.398817398018,1.130585419069)); -#2066 = CARTESIAN_POINT('',(2.384622047768,1.130910946087)); -#2067 = CARTESIAN_POINT('',(2.370408171915,1.131073707287)); -#2068 = CARTESIAN_POINT('',(2.356194335941,1.131073703941)); -#2069 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#2070 = PCURVE('',#1862,#2071); -#2071 = DEFINITIONAL_REPRESENTATION('',(#2072),#2082); -#2072 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#2073,#2074,#2075,#2076,#2077, - #2078,#2079,#2080,#2081),.UNSPECIFIED.,.F.,.F.,(9,9),(0., - 1.570796326795),.PIECEWISE_BEZIER_KNOTS.); -#2073 = CARTESIAN_POINT('',(4.891035334818,-0.526250539436)); -#2074 = CARTESIAN_POINT('',(4.927892916856,-0.434836468535)); -#2075 = CARTESIAN_POINT('',(4.980913581446,-0.348970381879)); -#2076 = CARTESIAN_POINT('',(5.046478945544,-0.271677081405)); -#2077 = CARTESIAN_POINT('',(5.123118132386,-0.205567417181)); -#2078 = CARTESIAN_POINT('',(5.209502147154,-0.153363467101)); -#2079 = CARTESIAN_POINT('',(5.303198893544,-0.11771252843)); -#2080 = CARTESIAN_POINT('',(5.400491702299,-9.98857024243E-02)); -#2081 = CARTESIAN_POINT('',(5.497787143782,-9.98857024243E-02)); -#2082 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#2083 = ORIENTED_EDGE('',*,*,#2084,.F.); -#2084 = EDGE_CURVE('',#1906,#2035,#2085,.T.); -#2085 = SURFACE_CURVE('',#2086,(#2091,#2111),.PCURVE_S1.); -#2086 = CIRCLE('',#2087,0.245399606973); -#2087 = AXIS2_PLACEMENT_3D('',#2088,#2089,#2090); -#2088 = CARTESIAN_POINT('',(1.75,1.25,0.25)); -#2089 = DIRECTION('',(-0.57735026919,0.57735026919,0.57735026919)); -#2090 = DIRECTION('',(-0.707106781187,-0.707106781187,0.)); -#2091 = PCURVE('',#261,#2092); -#2092 = DEFINITIONAL_REPRESENTATION('',(#2093),#2110); -#2093 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#2094,#2095,#2096,#2097,#2098, - #2099,#2100,#2101,#2102,#2103,#2104,#2105,#2106,#2107,#2108,#2109), - .UNSPECIFIED.,.F.,.F.,(9,7,9),(4.712388980385,4.803373215866, - 6.28318530718),.UNSPECIFIED.); -#2094 = CARTESIAN_POINT('',(2.356194530958,9.988571523101E-02)); -#2095 = CARTESIAN_POINT('',(2.361830111044,9.988571509204E-02)); -#2096 = CARTESIAN_POINT('',(2.367465688991,9.994552244007E-02)); -#2097 = CARTESIAN_POINT('',(2.37310056203,0.100065137273)); -#2098 = CARTESIAN_POINT('',(2.378734027669,0.100244545193)); -#2099 = CARTESIAN_POINT('',(2.384365384397,0.100483717459)); -#2100 = CARTESIAN_POINT('',(2.389993932413,0.100782611084)); -#2101 = CARTESIAN_POINT('',(2.395618974382,0.101141168992)); -#2102 = CARTESIAN_POINT('',(2.492659935805,0.108360336437)); -#2103 = CARTESIAN_POINT('',(2.58296743411,0.130923118231)); -#2104 = CARTESIAN_POINT('',(2.669168249598,0.168951467086)); -#2105 = CARTESIAN_POINT('',(2.748397110944,0.221095759914)); -#2106 = CARTESIAN_POINT('',(2.818767235427,0.285201738956)); -#2107 = CARTESIAN_POINT('',(2.879156549083,0.358934034507)); -#2108 = CARTESIAN_POINT('',(2.928223595375,0.440131387559)); -#2109 = CARTESIAN_POINT('',(2.962946299157,0.526250539436)); -#2110 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#2111 = PCURVE('',#1862,#2112); -#2112 = DEFINITIONAL_REPRESENTATION('',(#2113),#2137); -#2113 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#2114,#2115,#2116,#2117,#2118, - #2119,#2120,#2121,#2122,#2123,#2124,#2125,#2126,#2127,#2128,#2129, - #2130,#2131,#2132,#2133,#2134,#2135,#2136),.UNSPECIFIED.,.F.,.F.,(9, - 7,7,9),(4.712388980385,4.792155981355,5.537670644267,6.28318530718), - .UNSPECIFIED.); -#2114 = CARTESIAN_POINT('',(5.497787158411,-1.131073722024)); -#2115 = CARTESIAN_POINT('',(5.486238427394,-1.131073719025)); -#2116 = CARTESIAN_POINT('',(5.474689695132,-1.130966263189)); -#2117 = CARTESIAN_POINT('',(5.463150918039,-1.130751355268)); -#2118 = CARTESIAN_POINT('',(5.451632053215,-1.13042915679)); -#2119 = CARTESIAN_POINT('',(5.440142974729,-1.12999998988)); -#2120 = CARTESIAN_POINT('',(5.428693388726,-1.129464333764)); -#2121 = CARTESIAN_POINT('',(5.417292753142,-1.128822817223)); -#2122 = CARTESIAN_POINT('',(5.299941063389,-1.121098265151)); -#2123 = CARTESIAN_POINT('',(5.199009739942,-1.104943213182)); -#2124 = CARTESIAN_POINT('',(5.110595931987,-1.080221313082)); -#2125 = CARTESIAN_POINT('',(5.040085951696,-1.04875826949)); -#2126 = CARTESIAN_POINT('',(4.984217857727,-1.012625673241)); -#2127 = CARTESIAN_POINT('',(4.941451458856,-0.972997243777)); -#2128 = CARTESIAN_POINT('',(4.909537582502,-0.930968368726)); -#2129 = CARTESIAN_POINT('',(4.864094606734,-0.843669726192)); -#2130 = CARTESIAN_POINT('',(4.850562353832,-0.798401959133)); -#2131 = CARTESIAN_POINT('',(4.844505886859,-0.752314092525)); -#2132 = CARTESIAN_POINT('',(4.844585595659,-0.705975469972)); -#2133 = CARTESIAN_POINT('',(4.849866599954,-0.659833705175)); -#2134 = CARTESIAN_POINT('',(4.859691647474,-0.614272116287)); -#2135 = CARTESIAN_POINT('',(4.873542380842,-0.569636514492)); -#2136 = CARTESIAN_POINT('',(4.891035334818,-0.526250539436)); -#2137 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#2138 = ORIENTED_EDGE('',*,*,#1905,.T.); -#2139 = ORIENTED_EDGE('',*,*,#244,.T.); -#2140 = ORIENTED_EDGE('',*,*,#2141,.T.); -#2141 = EDGE_CURVE('',#217,#2142,#2144,.T.); -#2142 = VERTEX_POINT('',#2143); -#2143 = CARTESIAN_POINT('',(1.649816029973,0.649816029973, - 4.963205994528E-02)); -#2144 = SURFACE_CURVE('',#2145,(#2150,#2156),.PCURVE_S1.); -#2145 = CIRCLE('',#2146,0.497715749301); -#2146 = AXIS2_PLACEMENT_3D('',#2147,#2148,#2149); -#2147 = CARTESIAN_POINT('',(2.,1.,0.)); -#2148 = DIRECTION('',(-0.707106781187,0.707106781187,0.)); -#2149 = DIRECTION('',(-0.707106781187,-0.707106781187,0.)); -#2150 = PCURVE('',#261,#2151); -#2151 = DEFINITIONAL_REPRESENTATION('',(#2152),#2155); -#2152 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#2153,#2154),.UNSPECIFIED.,.F., - .F.,(2,2),(0.,9.98857024243E-02),.PIECEWISE_BEZIER_KNOTS.); -#2153 = CARTESIAN_POINT('',(3.926990816987,0.)); -#2154 = CARTESIAN_POINT('',(3.926990816987,9.98857024243E-02)); -#2155 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#2156 = PCURVE('',#232,#2157); -#2157 = DEFINITIONAL_REPRESENTATION('',(#2158),#2162); -#2158 = CIRCLE('',#2159,0.497715749301); -#2159 = AXIS2_PLACEMENT_2D('',#2160,#2161); -#2160 = CARTESIAN_POINT('',(1.414213562373,0.)); -#2161 = DIRECTION('',(-1.,-0.)); -#2162 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#2163 = ORIENTED_EDGE('',*,*,#2164,.F.); -#2164 = EDGE_CURVE('',#1977,#2142,#2165,.T.); -#2165 = SURFACE_CURVE('',#2166,(#2171,#2205),.PCURVE_S1.); -#2166 = CIRCLE('',#2167,0.245399606973); -#2167 = AXIS2_PLACEMENT_3D('',#2168,#2169,#2170); -#2168 = CARTESIAN_POINT('',(1.75,0.75,0.25)); -#2169 = DIRECTION('',(-0.57735026919,-0.57735026919,0.57735026919)); -#2170 = DIRECTION('',(0.707106781187,-0.707106781187,0.)); -#2171 = PCURVE('',#261,#2172); -#2172 = DEFINITIONAL_REPRESENTATION('',(#2173),#2204); -#2173 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#2174,#2175,#2176,#2177,#2178, - #2179,#2180,#2181,#2182,#2183,#2184,#2185,#2186,#2187,#2188,#2189, - #2190,#2191,#2192,#2193,#2194,#2195,#2196,#2197,#2198,#2199,#2200, - #2201,#2202,#2203),.UNSPECIFIED.,.F.,.F.,(9,7,7,7,9),(1.570796326795 - ,1.773281790796,2.337019730344,3.323561124553,4.712388980385), - .UNSPECIFIED.); -#2174 = CARTESIAN_POINT('',(3.926990662736,1.131073703941)); -#2175 = CARTESIAN_POINT('',(3.897674626041,1.131073697041)); -#2176 = CARTESIAN_POINT('',(3.868358758989,1.130381305025)); -#2177 = CARTESIAN_POINT('',(3.839205949226,1.128996539065)); -#2178 = CARTESIAN_POINT('',(3.81037869616,1.126926039078)); -#2179 = CARTESIAN_POINT('',(3.782030424496,1.124183048721)); -#2180 = CARTESIAN_POINT('',(3.754298493896,1.120786776824)); -#2181 = CARTESIAN_POINT('',(3.727298904766,1.116761145276)); -#2182 = CARTESIAN_POINT('',(3.628245766941,1.099247532764)); -#2183 = CARTESIAN_POINT('',(3.561754183788,1.081691979456)); -#2184 = CARTESIAN_POINT('',(3.503649437947,1.060046176974)); -#2185 = CARTESIAN_POINT('',(3.454565992994,1.035093755123)); -#2186 = CARTESIAN_POINT('',(3.413690887888,1.007559551015)); -#2187 = CARTESIAN_POINT('',(3.380232702949,0.978009692444)); -#2188 = CARTESIAN_POINT('',(3.35329025052,0.946919579642)); -#2189 = CARTESIAN_POINT('',(3.294968060417,0.858245209992)); -#2190 = CARTESIAN_POINT('',(3.275415448746,0.798278707788)); -#2191 = CARTESIAN_POINT('',(3.269178871769,0.736848355699)); -#2192 = CARTESIAN_POINT('',(3.27292081745,0.675222690914)); -#2193 = CARTESIAN_POINT('',(3.285014530033,0.614333671887)); -#2194 = CARTESIAN_POINT('',(3.304098145489,0.554994019435)); -#2195 = CARTESIAN_POINT('',(3.329374968999,0.497939306714)); -#2196 = CARTESIAN_POINT('',(3.403547221865,0.367765207006)); -#2197 = CARTESIAN_POINT('',(3.457872420409,0.297581628432)); -#2198 = CARTESIAN_POINT('',(3.521350935711,0.23529140825)); -#2199 = CARTESIAN_POINT('',(3.592904033286,0.182716794855)); -#2200 = CARTESIAN_POINT('',(3.671416150783,0.141691993265)); -#2201 = CARTESIAN_POINT('',(3.7549418598,0.113821140403)); -#2202 = CARTESIAN_POINT('',(3.840966607892,9.988571735228E-02)); -#2203 = CARTESIAN_POINT('',(3.926990857753,9.988571523101E-02)); -#2204 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#2205 = PCURVE('',#510,#2206); -#2206 = DEFINITIONAL_REPRESENTATION('',(#2207),#2238); -#2207 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#2208,#2209,#2210,#2211,#2212, - #2213,#2214,#2215,#2216,#2217,#2218,#2219,#2220,#2221,#2222,#2223, - #2224,#2225,#2226,#2227,#2228,#2229,#2230,#2231,#2232,#2233,#2234, - #2235,#2236,#2237),.UNSPECIFIED.,.F.,.F.,(9,7,7,7,9),(1.570796326795 - ,2.748893571891,3.632466505713,4.29514620608,4.712388980385), - .UNSPECIFIED.); -#2208 = CARTESIAN_POINT('',(0.785398163397,-9.98857024243E-02)); -#2209 = CARTESIAN_POINT('',(0.85836974451,-9.98857024243E-02)); -#2210 = CARTESIAN_POINT('',(0.931340288933,-0.109912993123)); -#2211 = CARTESIAN_POINT('',(1.002791222981,-0.129968523541)); -#2212 = CARTESIAN_POINT('',(1.071173274765,-0.159643456479)); -#2213 = CARTESIAN_POINT('',(1.135221833123,-0.198119299476)); -#2214 = CARTESIAN_POINT('',(1.194021443458,-0.244353709451)); -#2215 = CARTESIAN_POINT('',(1.246849940778,-0.297260025871)); -#2216 = CARTESIAN_POINT('',(1.327319804792,-0.39951000844)); -#2217 = CARTESIAN_POINT('',(1.357955724156,-0.446436995776)); -#2218 = CARTESIAN_POINT('',(1.384377344373,-0.49598958076)); -#2219 = CARTESIAN_POINT('',(1.406165087232,-0.547660341207)); -#2220 = CARTESIAN_POINT('',(1.42279202612,-0.600935264907)); -#2221 = CARTESIAN_POINT('',(1.433506702404,-0.655270502898)); -#2222 = CARTESIAN_POINT('',(1.437149662333,-0.710025012429)); -#2223 = CARTESIAN_POINT('',(1.427969253541,-0.805092147515)); -#2224 = CARTESIAN_POINT('',(1.419033478479,-0.845591709097)); -#2225 = CARTESIAN_POINT('',(1.404338788894,-0.885491798714)); -#2226 = CARTESIAN_POINT('',(1.382884782072,-0.924346878775)); -#2227 = CARTESIAN_POINT('',(1.353498073365,-0.96163658366)); -#2228 = CARTESIAN_POINT('',(1.314622727074,-0.996655132864)); -#2229 = CARTESIAN_POINT('',(1.264595479462,-1.028436652836)); -#2230 = CARTESIAN_POINT('',(1.164494593033,-1.073155293663)); -#2231 = CARTESIAN_POINT('',(1.12130125197,-1.088712699901)); -#2232 = CARTESIAN_POINT('',(1.07352242561,-1.102275070882)); -#2233 = CARTESIAN_POINT('',(1.021333672097,-1.113553642711)); -#2234 = CARTESIAN_POINT('',(0.965199366309,-1.122253627059)); -#2235 = CARTESIAN_POINT('',(0.906215637676,-1.128133742014)); -#2236 = CARTESIAN_POINT('',(0.845806924882,-1.131073737708)); -#2237 = CARTESIAN_POINT('',(0.785398178025,-1.131073722024)); -#2238 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#2239 = ADVANCED_FACE('',(#2240),#232,.F.); -#2240 = FACE_BOUND('',#2241,.F.); -#2241 = EDGE_LOOP('',(#2242,#2243,#2244,#2267,#2288)); -#2242 = ORIENTED_EDGE('',*,*,#216,.F.); -#2243 = ORIENTED_EDGE('',*,*,#585,.F.); -#2244 = ORIENTED_EDGE('',*,*,#2245,.F.); -#2245 = EDGE_CURVE('',#2246,#529,#2248,.T.); -#2246 = VERTEX_POINT('',#2247); -#2247 = CARTESIAN_POINT('',(1.5,0.5,2.284250698599E-03)); -#2248 = SURFACE_CURVE('',#2249,(#2254,#2261),.PCURVE_S1.); -#2249 = CIRCLE('',#2250,0.497715749301); -#2250 = AXIS2_PLACEMENT_3D('',#2251,#2252,#2253); -#2251 = CARTESIAN_POINT('',(1.5,0.5,0.5)); -#2252 = DIRECTION('',(-0.707106781187,0.707106781187,0.)); -#2253 = DIRECTION('',(-0.707106781187,-0.707106781187,0.)); -#2254 = PCURVE('',#232,#2255); -#2255 = DEFINITIONAL_REPRESENTATION('',(#2256),#2260); -#2256 = CIRCLE('',#2257,0.497715749301); -#2257 = AXIS2_PLACEMENT_2D('',#2258,#2259); -#2258 = CARTESIAN_POINT('',(0.707106781187,-0.5)); -#2259 = DIRECTION('',(-1.,-0.)); -#2260 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#2261 = PCURVE('',#510,#2262); -#2262 = DEFINITIONAL_REPRESENTATION('',(#2263),#2266); -#2263 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#2264,#2265),.UNSPECIFIED.,.F., - .F.,(2,2),(4.712388980385,5.152111592263),.PIECEWISE_BEZIER_KNOTS.); -#2264 = CARTESIAN_POINT('',(3.926990816987,-1.570796326795)); -#2265 = CARTESIAN_POINT('',(3.926990816987,-1.131073714916)); -#2266 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#2267 = ORIENTED_EDGE('',*,*,#2268,.F.); -#2268 = EDGE_CURVE('',#2142,#2246,#2269,.T.); -#2269 = SURFACE_CURVE('',#2270,(#2275,#2282),.PCURVE_S1.); -#2270 = CIRCLE('',#2271,0.497715749301); -#2271 = AXIS2_PLACEMENT_3D('',#2272,#2273,#2274); -#2272 = CARTESIAN_POINT('',(1.5,0.5,0.5)); -#2273 = DIRECTION('',(-0.707106781187,0.707106781187,0.)); -#2274 = DIRECTION('',(-0.707106781187,-0.707106781187,0.)); -#2275 = PCURVE('',#232,#2276); -#2276 = DEFINITIONAL_REPRESENTATION('',(#2277),#2281); -#2277 = CIRCLE('',#2278,0.497715749301); -#2278 = AXIS2_PLACEMENT_2D('',#2279,#2280); -#2279 = CARTESIAN_POINT('',(0.707106781187,-0.5)); -#2280 = DIRECTION('',(-1.,-0.)); -#2281 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#2282 = PCURVE('',#510,#2283); -#2283 = DEFINITIONAL_REPRESENTATION('',(#2284),#2287); -#2284 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#2285,#2286),.UNSPECIFIED.,.F., - .F.,(2,2),(4.272666368506,4.712388980385),.PIECEWISE_BEZIER_KNOTS.); -#2285 = CARTESIAN_POINT('',(0.785398163397,-1.131073714916)); -#2286 = CARTESIAN_POINT('',(0.785398163397,-1.570796326795)); -#2287 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#2288 = ORIENTED_EDGE('',*,*,#2141,.F.); -#2289 = ADVANCED_FACE('',(#2290,#2316,#2438,#2441,#2563),#401,.F.); -#2290 = FACE_BOUND('',#2291,.F.); -#2291 = EDGE_LOOP('',(#2292,#2314,#2315)); -#2292 = ORIENTED_EDGE('',*,*,#2293,.T.); -#2293 = EDGE_CURVE('',#385,#2294,#2296,.T.); -#2294 = VERTEX_POINT('',#2295); -#2295 = CARTESIAN_POINT('',(1.,1.,0.497715749301)); -#2296 = SEAM_CURVE('',#2297,(#2302,#2308),.PCURVE_S1.); -#2297 = CIRCLE('',#2298,0.497715749301); -#2298 = AXIS2_PLACEMENT_3D('',#2299,#2300,#2301); -#2299 = CARTESIAN_POINT('',(1.,1.,0.)); -#2300 = DIRECTION('',(-2.449293598295E-16,-1.,0.)); -#2301 = DIRECTION('',(1.,-2.449293598295E-16,0.)); -#2302 = PCURVE('',#401,#2303); -#2303 = DEFINITIONAL_REPRESENTATION('',(#2304),#2307); -#2304 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#2305,#2306),.UNSPECIFIED.,.F., - .F.,(2,2),(6.28318530718,7.853981633974),.PIECEWISE_BEZIER_KNOTS.); -#2305 = CARTESIAN_POINT('',(6.28318530718,8.881784197001E-16)); -#2306 = CARTESIAN_POINT('',(6.28318530718,1.570796326795)); -#2307 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#2308 = PCURVE('',#401,#2309); -#2309 = DEFINITIONAL_REPRESENTATION('',(#2310),#2313); -#2310 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#2311,#2312),.UNSPECIFIED.,.F., - .F.,(2,2),(6.28318530718,7.853981633974),.PIECEWISE_BEZIER_KNOTS.); -#2311 = CARTESIAN_POINT('',(0.,8.881784197001E-16)); -#2312 = CARTESIAN_POINT('',(0.,1.570796326795)); -#2313 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#2314 = ORIENTED_EDGE('',*,*,#2293,.F.); -#2315 = ORIENTED_EDGE('',*,*,#384,.T.); -#2316 = FACE_BOUND('',#2317,.F.); -#2317 = EDGE_LOOP('',(#2318)); -#2318 = ORIENTED_EDGE('',*,*,#2319,.F.); -#2319 = EDGE_CURVE('',#2320,#2320,#2322,.T.); -#2320 = VERTEX_POINT('',#2321); -#2321 = CARTESIAN_POINT('',(0.576476273809,1.076476273809,0.25)); -#2322 = SURFACE_CURVE('',#2323,(#2328,#2383),.PCURVE_S1.); -#2323 = CIRCLE('',#2324,0.245399606973); -#2324 = AXIS2_PLACEMENT_3D('',#2325,#2326,#2327); -#2325 = CARTESIAN_POINT('',(0.75,1.25,0.25)); -#2326 = DIRECTION('',(-0.57735026919,0.57735026919,0.57735026919)); -#2327 = DIRECTION('',(-0.707106781187,-0.707106781187,0.)); -#2328 = PCURVE('',#401,#2329); -#2329 = DEFINITIONAL_REPRESENTATION('',(#2330),#2382); -#2330 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#2331,#2332,#2333,#2334,#2335, - #2336,#2337,#2338,#2339,#2340,#2341,#2342,#2343,#2344,#2345,#2346, - #2347,#2348,#2349,#2350,#2351,#2352,#2353,#2354,#2355,#2356,#2357, - #2358,#2359,#2360,#2361,#2362,#2363,#2364,#2365,#2366,#2367,#2368, - #2369,#2370,#2371,#2372,#2373,#2374,#2375,#2376,#2377,#2378,#2379, - #2380,#2381),.UNSPECIFIED.,.F.,.F.,(9,7,7,7,7,7,7,9),(0., - 0.785398163397,1.47262155637,1.773281790796,2.337019730344, - 3.323561124553,4.803373215866,6.28318530718),.UNSPECIFIED.); -#2331 = CARTESIAN_POINT('',(2.962946299157,0.526250539436)); -#2332 = CARTESIAN_POINT('',(2.981375090176,0.571957574886)); -#2333 = CARTESIAN_POINT('',(2.995760970858,0.619051486728)); -#2334 = CARTESIAN_POINT('',(3.005658842609,0.667154048102)); -#2335 = CARTESIAN_POINT('',(3.010446919782,0.71585913122)); -#2336 = CARTESIAN_POINT('',(3.009345622997,0.764714154902)); -#2337 = CARTESIAN_POINT('',(3.001211284662,0.813183583818)); -#2338 = CARTESIAN_POINT('',(2.984361633241,0.860569413232)); -#2339 = CARTESIAN_POINT('',(2.9324773637,0.945495962948)); -#2340 = CARTESIAN_POINT('',(2.899978808421,0.98352593372)); -#2341 = CARTESIAN_POINT('',(2.857814771001,1.019288412063)); -#2342 = CARTESIAN_POINT('',(2.804275477078,1.051892094281)); -#2343 = CARTESIAN_POINT('',(2.738058270625,1.080336025807)); -#2344 = CARTESIAN_POINT('',(2.657292219858,1.103057018853)); -#2345 = CARTESIAN_POINT('',(2.565703306009,1.118654821906)); -#2346 = CARTESIAN_POINT('',(2.426517822636,1.129992221487)); -#2347 = CARTESIAN_POINT('',(2.383156392503,1.131966648293)); -#2348 = CARTESIAN_POINT('',(2.339257488359,1.13241451425)); -#2349 = CARTESIAN_POINT('',(2.295375900358,1.131313596186)); -#2350 = CARTESIAN_POINT('',(2.252077546685,1.128676183559)); -#2351 = CARTESIAN_POINT('',(2.209877146498,1.124548763764)); -#2352 = CARTESIAN_POINT('',(2.169194071106,1.119005131664)); -#2353 = CARTESIAN_POINT('',(2.057449440146,1.099247532764)); -#2354 = CARTESIAN_POINT('',(1.990957856992,1.081691979456)); -#2355 = CARTESIAN_POINT('',(1.932853111143,1.060046176974)); -#2356 = CARTESIAN_POINT('',(1.883769666203,1.035093755123)); -#2357 = CARTESIAN_POINT('',(1.842894561077,1.007559551015)); -#2358 = CARTESIAN_POINT('',(1.809436376156,0.978009692444)); -#2359 = CARTESIAN_POINT('',(1.782493923725,0.946919579642)); -#2360 = CARTESIAN_POINT('',(1.724171733622,0.858245209992)); -#2361 = CARTESIAN_POINT('',(1.704619121949,0.798278707788)); -#2362 = CARTESIAN_POINT('',(1.698382544976,0.736848355699)); -#2363 = CARTESIAN_POINT('',(1.702124490658,0.675222690914)); -#2364 = CARTESIAN_POINT('',(1.714218203244,0.614333671887)); -#2365 = CARTESIAN_POINT('',(1.733301818693,0.554994019435)); -#2366 = CARTESIAN_POINT('',(1.758578642204,0.497939306714)); -#2367 = CARTESIAN_POINT('',(1.835591929457,0.362779122867)); -#2368 = CARTESIAN_POINT('',(1.89424097742,0.288411396327)); -#2369 = CARTESIAN_POINT('',(1.963147676623,0.223151407894)); -#2370 = CARTESIAN_POINT('',(2.041064642875,0.169192050789)); -#2371 = CARTESIAN_POINT('',(2.126632591669,0.12875485458)); -#2372 = CARTESIAN_POINT('',(2.217288496595,0.103721726355)); -#2373 = CARTESIAN_POINT('',(2.3098196966,9.475830402537E-02)); -#2374 = CARTESIAN_POINT('',(2.492659935805,0.108360336437)); -#2375 = CARTESIAN_POINT('',(2.58296743411,0.130923118231)); -#2376 = CARTESIAN_POINT('',(2.669168249598,0.168951467086)); -#2377 = CARTESIAN_POINT('',(2.748397110944,0.221095759914)); -#2378 = CARTESIAN_POINT('',(2.818767235427,0.285201738956)); -#2379 = CARTESIAN_POINT('',(2.879156549083,0.358934034507)); -#2380 = CARTESIAN_POINT('',(2.928223595375,0.440131387559)); -#2381 = CARTESIAN_POINT('',(2.962946299157,0.526250539436)); -#2382 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#2383 = PCURVE('',#1513,#2384); -#2384 = DEFINITIONAL_REPRESENTATION('',(#2385),#2437); -#2385 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#2386,#2387,#2388,#2389,#2390, - #2391,#2392,#2393,#2394,#2395,#2396,#2397,#2398,#2399,#2400,#2401, - #2402,#2403,#2404,#2405,#2406,#2407,#2408,#2409,#2410,#2411,#2412, - #2413,#2414,#2415,#2416,#2417,#2418,#2419,#2420,#2421,#2422,#2423, - #2424,#2425,#2426,#2427,#2428,#2429,#2430,#2431,#2432,#2433,#2434, - #2435,#2436),.UNSPECIFIED.,.T.,.F.,(9,7,7,7,7,7,7,9),(0., - 1.570796326795,2.748893571891,3.632466505713,4.29514620608, - 4.792155981355,5.537670644267,6.28318530718),.UNSPECIFIED.); -#2386 = CARTESIAN_POINT('',(4.891035334818,-0.526250539436)); -#2387 = CARTESIAN_POINT('',(4.927892916856,-0.434836468535)); -#2388 = CARTESIAN_POINT('',(4.980913581446,-0.348970381879)); -#2389 = CARTESIAN_POINT('',(5.046478945544,-0.271677081405)); -#2390 = CARTESIAN_POINT('',(5.123118132386,-0.205567417181)); -#2391 = CARTESIAN_POINT('',(5.209502147154,-0.153363467101)); -#2392 = CARTESIAN_POINT('',(5.303198893544,-0.11771252843)); -#2393 = CARTESIAN_POINT('',(5.400491702299,-9.98857024243E-02)); -#2394 = CARTESIAN_POINT('',(5.570758724895,-9.98857024243E-02)); -#2395 = CARTESIAN_POINT('',(5.643729269317,-0.109912993123)); -#2396 = CARTESIAN_POINT('',(5.715180203364,-0.129968523541)); -#2397 = CARTESIAN_POINT('',(5.783562255149,-0.159643456479)); -#2398 = CARTESIAN_POINT('',(5.847610813508,-0.198119299476)); -#2399 = CARTESIAN_POINT('',(5.906410423842,-0.244353709451)); -#2400 = CARTESIAN_POINT('',(5.959238921163,-0.297260025871)); -#2401 = CARTESIAN_POINT('',(6.039708785177,-0.39951000844)); -#2402 = CARTESIAN_POINT('',(6.07034470454,-0.446436995776)); -#2403 = CARTESIAN_POINT('',(6.096766324757,-0.49598958076)); -#2404 = CARTESIAN_POINT('',(6.118554067617,-0.547660341207)); -#2405 = CARTESIAN_POINT('',(6.135181006505,-0.600935264907)); -#2406 = CARTESIAN_POINT('',(6.145895682788,-0.655270502898)); -#2407 = CARTESIAN_POINT('',(6.149538642718,-0.710025012429)); -#2408 = CARTESIAN_POINT('',(6.140358233926,-0.805092147515)); -#2409 = CARTESIAN_POINT('',(6.131422458864,-0.845591709097)); -#2410 = CARTESIAN_POINT('',(6.116727769278,-0.885491798714)); -#2411 = CARTESIAN_POINT('',(6.095273762457,-0.924346878775)); -#2412 = CARTESIAN_POINT('',(6.06588705375,-0.96163658366)); -#2413 = CARTESIAN_POINT('',(6.027011707458,-0.996655132864)); -#2414 = CARTESIAN_POINT('',(5.976984459847,-1.028436652836)); -#2415 = CARTESIAN_POINT('',(5.869489757943,-1.076458375088)); -#2416 = CARTESIAN_POINT('',(5.817010005539,-1.094598247456)); -#2417 = CARTESIAN_POINT('',(5.758005595268,-1.109832823264)); -#2418 = CARTESIAN_POINT('',(5.692851781107,-1.121669527824)); -#2419 = CARTESIAN_POINT('',(5.622522903999,-1.129606719338)); -#2420 = CARTESIAN_POINT('',(5.549551058047,-1.133300100343)); -#2421 = CARTESIAN_POINT('',(5.47662297547,-1.13272816697)); -#2422 = CARTESIAN_POINT('',(5.299941063389,-1.121098265151)); -#2423 = CARTESIAN_POINT('',(5.199009739942,-1.104943213182)); -#2424 = CARTESIAN_POINT('',(5.110595931987,-1.080221313082)); -#2425 = CARTESIAN_POINT('',(5.040085951696,-1.04875826949)); -#2426 = CARTESIAN_POINT('',(4.984217857727,-1.012625673241)); -#2427 = CARTESIAN_POINT('',(4.941451458856,-0.972997243777)); -#2428 = CARTESIAN_POINT('',(4.909537582502,-0.930968368726)); -#2429 = CARTESIAN_POINT('',(4.864094606734,-0.843669726192)); -#2430 = CARTESIAN_POINT('',(4.850562353832,-0.798401959133)); -#2431 = CARTESIAN_POINT('',(4.844505886859,-0.752314092525)); -#2432 = CARTESIAN_POINT('',(4.844585595659,-0.705975469972)); -#2433 = CARTESIAN_POINT('',(4.849866599954,-0.659833705175)); -#2434 = CARTESIAN_POINT('',(4.859691647474,-0.614272116287)); -#2435 = CARTESIAN_POINT('',(4.873542380842,-0.569636514492)); -#2436 = CARTESIAN_POINT('',(4.891035334818,-0.526250539436)); -#2437 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#2438 = FACE_BOUND('',#2439,.F.); -#2439 = EDGE_LOOP('',(#2440)); -#2440 = ORIENTED_EDGE('',*,*,#1118,.F.); -#2441 = FACE_BOUND('',#2442,.F.); -#2442 = EDGE_LOOP('',(#2443)); -#2443 = ORIENTED_EDGE('',*,*,#2444,.F.); -#2444 = EDGE_CURVE('',#2445,#2445,#2447,.T.); -#2445 = VERTEX_POINT('',#2446); -#2446 = CARTESIAN_POINT('',(1.076476273809,1.423523726191,0.25)); -#2447 = SURFACE_CURVE('',#2448,(#2453,#2508),.PCURVE_S1.); -#2448 = CIRCLE('',#2449,0.245399606973); -#2449 = AXIS2_PLACEMENT_3D('',#2450,#2451,#2452); -#2450 = CARTESIAN_POINT('',(1.25,1.25,0.25)); -#2451 = DIRECTION('',(0.57735026919,0.57735026919,0.57735026919)); -#2452 = DIRECTION('',(-0.707106781187,0.707106781187,0.)); -#2453 = PCURVE('',#401,#2454); -#2454 = DEFINITIONAL_REPRESENTATION('',(#2455),#2507); -#2455 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#2456,#2457,#2458,#2459,#2460, - #2461,#2462,#2463,#2464,#2465,#2466,#2467,#2468,#2469,#2470,#2471, - #2472,#2473,#2474,#2475,#2476,#2477,#2478,#2479,#2480,#2481,#2482, - #2483,#2484,#2485,#2486,#2487,#2488,#2489,#2490,#2491,#2492,#2493, - #2494,#2495,#2496,#2497,#2498,#2499,#2500,#2501,#2502,#2503,#2504, - #2505,#2506),.UNSPECIFIED.,.F.,.F.,(9,7,7,7,7,7,7,9),(0., - 0.785398163397,1.47262155637,1.773281790796,2.337019730344, - 3.323561124553,4.803373215866,6.28318530718),.UNSPECIFIED.); -#2456 = CARTESIAN_POINT('',(1.392149972362,0.526250539436)); -#2457 = CARTESIAN_POINT('',(1.410578763381,0.571957574886)); -#2458 = CARTESIAN_POINT('',(1.424964644063,0.619051486728)); -#2459 = CARTESIAN_POINT('',(1.434862515815,0.667154048102)); -#2460 = CARTESIAN_POINT('',(1.439650592987,0.715859131219)); -#2461 = CARTESIAN_POINT('',(1.438549296202,0.764714154902)); -#2462 = CARTESIAN_POINT('',(1.430414957867,0.813183583818)); -#2463 = CARTESIAN_POINT('',(1.413565306446,0.860569413232)); -#2464 = CARTESIAN_POINT('',(1.361681036905,0.945495962948)); -#2465 = CARTESIAN_POINT('',(1.329182481628,0.983525933721)); -#2466 = CARTESIAN_POINT('',(1.287018444195,1.019288412063)); -#2467 = CARTESIAN_POINT('',(1.23347915029,1.051892094285)); -#2468 = CARTESIAN_POINT('',(1.16726194382,1.080336025807)); -#2469 = CARTESIAN_POINT('',(1.086495893067,1.103057018853)); -#2470 = CARTESIAN_POINT('',(0.994906979214,1.118654821906)); -#2471 = CARTESIAN_POINT('',(0.855721495841,1.129992221487)); -#2472 = CARTESIAN_POINT('',(0.812360065708,1.131966648293)); -#2473 = CARTESIAN_POINT('',(0.768461161564,1.13241451425)); -#2474 = CARTESIAN_POINT('',(0.724579573563,1.131313596186)); -#2475 = CARTESIAN_POINT('',(0.68128121989,1.128676183559)); -#2476 = CARTESIAN_POINT('',(0.639080819703,1.124548763764)); -#2477 = CARTESIAN_POINT('',(0.598397744311,1.119005131664)); -#2478 = CARTESIAN_POINT('',(0.486653113351,1.099247532764)); -#2479 = CARTESIAN_POINT('',(0.420161530198,1.081691979456)); -#2480 = CARTESIAN_POINT('',(0.36205678435,1.060046176974)); -#2481 = CARTESIAN_POINT('',(0.312973339413,1.035093755123)); -#2482 = CARTESIAN_POINT('',(0.272098234286,1.007559551015)); -#2483 = CARTESIAN_POINT('',(0.238640049363,0.978009692444)); -#2484 = CARTESIAN_POINT('',(0.21169759693,0.946919579642)); -#2485 = CARTESIAN_POINT('',(0.153375406827,0.858245209992)); -#2486 = CARTESIAN_POINT('',(0.133822795155,0.798278707788)); -#2487 = CARTESIAN_POINT('',(0.127586218185,0.736848355699)); -#2488 = CARTESIAN_POINT('',(0.131328163863,0.675222690914)); -#2489 = CARTESIAN_POINT('',(0.143421876455,0.614333671887)); -#2490 = CARTESIAN_POINT('',(0.162505491899,0.554994019435)); -#2491 = CARTESIAN_POINT('',(0.187782315409,0.497939306714)); -#2492 = CARTESIAN_POINT('',(0.264795602662,0.362779122867)); -#2493 = CARTESIAN_POINT('',(0.323444650624,0.288411396327)); -#2494 = CARTESIAN_POINT('',(0.392351349831,0.223151407894)); -#2495 = CARTESIAN_POINT('',(0.470268316083,0.169192050789)); -#2496 = CARTESIAN_POINT('',(0.555836264877,0.12875485458)); -#2497 = CARTESIAN_POINT('',(0.6464921698,0.103721726355)); -#2498 = CARTESIAN_POINT('',(0.739023369805,9.475830402537E-02)); -#2499 = CARTESIAN_POINT('',(0.921863609011,0.108360336437)); -#2500 = CARTESIAN_POINT('',(1.012171107315,0.130923118231)); -#2501 = CARTESIAN_POINT('',(1.098371922804,0.168951467086)); -#2502 = CARTESIAN_POINT('',(1.17760078415,0.221095759914)); -#2503 = CARTESIAN_POINT('',(1.247970908633,0.285201738956)); -#2504 = CARTESIAN_POINT('',(1.308360222289,0.358934034507)); -#2505 = CARTESIAN_POINT('',(1.35742726858,0.440131387559)); -#2506 = CARTESIAN_POINT('',(1.392149972362,0.526250539436)); -#2507 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#2508 = PCURVE('',#1862,#2509); -#2509 = DEFINITIONAL_REPRESENTATION('',(#2510),#2562); -#2510 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#2511,#2512,#2513,#2514,#2515, - #2516,#2517,#2518,#2519,#2520,#2521,#2522,#2523,#2524,#2525,#2526, - #2527,#2528,#2529,#2530,#2531,#2532,#2533,#2534,#2535,#2536,#2537, - #2538,#2539,#2540,#2541,#2542,#2543,#2544,#2545,#2546,#2547,#2548, - #2549,#2550,#2551,#2552,#2553,#2554,#2555,#2556,#2557,#2558,#2559, - #2560,#2561),.UNSPECIFIED.,.F.,.F.,(9,7,7,7,7,7,7,9),(0., - 1.570796326795,2.748893571891,3.632466505713,4.29514620608, - 4.792155981355,5.537670644267,6.28318530718),.UNSPECIFIED.); -#2511 = CARTESIAN_POINT('',(3.320239008023,-0.526250539436)); -#2512 = CARTESIAN_POINT('',(3.357096590061,-0.434836468535)); -#2513 = CARTESIAN_POINT('',(3.410117254658,-0.348970381879)); -#2514 = CARTESIAN_POINT('',(3.475682618713,-0.271677081405)); -#2515 = CARTESIAN_POINT('',(3.552321805648,-0.205567417181)); -#2516 = CARTESIAN_POINT('',(3.638705820325,-0.153363467101)); -#2517 = CARTESIAN_POINT('',(3.732402566755,-0.11771252843)); -#2518 = CARTESIAN_POINT('',(3.829695375504,-9.98857024243E-02)); -#2519 = CARTESIAN_POINT('',(3.9999623981,-9.98857024243E-02)); -#2520 = CARTESIAN_POINT('',(4.072932942522,-0.109912993123)); -#2521 = CARTESIAN_POINT('',(4.144383876572,-0.129968523541)); -#2522 = CARTESIAN_POINT('',(4.212765928355,-0.159643456479)); -#2523 = CARTESIAN_POINT('',(4.276814486712,-0.198119299476)); -#2524 = CARTESIAN_POINT('',(4.335614097048,-0.244353709451)); -#2525 = CARTESIAN_POINT('',(4.388442594368,-0.297260025871)); -#2526 = CARTESIAN_POINT('',(4.468912458382,-0.39951000844)); -#2527 = CARTESIAN_POINT('',(4.499548377746,-0.446436995776)); -#2528 = CARTESIAN_POINT('',(4.525969997962,-0.49598958076)); -#2529 = CARTESIAN_POINT('',(4.547757740822,-0.547660341207)); -#2530 = CARTESIAN_POINT('',(4.56438467971,-0.600935264907)); -#2531 = CARTESIAN_POINT('',(4.575099355993,-0.655270502898)); -#2532 = CARTESIAN_POINT('',(4.578742315923,-0.710025012429)); -#2533 = CARTESIAN_POINT('',(4.569561907131,-0.805092147515)); -#2534 = CARTESIAN_POINT('',(4.560626132069,-0.845591709097)); -#2535 = CARTESIAN_POINT('',(4.545931442483,-0.885491798714)); -#2536 = CARTESIAN_POINT('',(4.524477435663,-0.924346878775)); -#2537 = CARTESIAN_POINT('',(4.495090726956,-0.96163658366)); -#2538 = CARTESIAN_POINT('',(4.456215380663,-0.996655132864)); -#2539 = CARTESIAN_POINT('',(4.406188133052,-1.028436652836)); -#2540 = CARTESIAN_POINT('',(4.298693431148,-1.076458375088)); -#2541 = CARTESIAN_POINT('',(4.246213678746,-1.094598247459)); -#2542 = CARTESIAN_POINT('',(4.18720926845,-1.109832823255)); -#2543 = CARTESIAN_POINT('',(4.122055454318,-1.121669527837)); -#2544 = CARTESIAN_POINT('',(4.051726577185,-1.129606719328)); -#2545 = CARTESIAN_POINT('',(3.978754731251,-1.133300100346)); -#2546 = CARTESIAN_POINT('',(3.905826648675,-1.13272816697)); -#2547 = CARTESIAN_POINT('',(3.729144736594,-1.121098265151)); -#2548 = CARTESIAN_POINT('',(3.628213413147,-1.104943213182)); -#2549 = CARTESIAN_POINT('',(3.539799605187,-1.080221313082)); -#2550 = CARTESIAN_POINT('',(3.469289624918,-1.04875826949)); -#2551 = CARTESIAN_POINT('',(3.413421530935,-1.012625673241)); -#2552 = CARTESIAN_POINT('',(3.370655132064,-0.972997243777)); -#2553 = CARTESIAN_POINT('',(3.338741255707,-0.930968368726)); -#2554 = CARTESIAN_POINT('',(3.293298279939,-0.843669726192)); -#2555 = CARTESIAN_POINT('',(3.279766027037,-0.798401959133)); -#2556 = CARTESIAN_POINT('',(3.273709560063,-0.752314092526)); -#2557 = CARTESIAN_POINT('',(3.273789268863,-0.705975469972)); -#2558 = CARTESIAN_POINT('',(3.279070273159,-0.659833705175)); -#2559 = CARTESIAN_POINT('',(3.288895320679,-0.614272116287)); -#2560 = CARTESIAN_POINT('',(3.302746054047,-0.569636514492)); -#2561 = CARTESIAN_POINT('',(3.320239008023,-0.526250539436)); -#2562 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#2563 = FACE_BOUND('',#2564,.F.); -#2564 = EDGE_LOOP('',(#2565)); -#2565 = ORIENTED_EDGE('',*,*,#2566,.F.); -#2566 = EDGE_CURVE('',#2567,#2567,#2569,.T.); -#2567 = VERTEX_POINT('',#2568); -#2568 = CARTESIAN_POINT('',(1.423523726191,0.923523726191,0.25)); -#2569 = SURFACE_CURVE('',#2570,(#2575,#2630),.PCURVE_S1.); -#2570 = CIRCLE('',#2571,0.245399606973); -#2571 = AXIS2_PLACEMENT_3D('',#2572,#2573,#2574); -#2572 = CARTESIAN_POINT('',(1.25,0.75,0.25)); -#2573 = DIRECTION('',(0.57735026919,-0.57735026919,0.57735026919)); -#2574 = DIRECTION('',(0.707106781187,0.707106781187,0.)); -#2575 = PCURVE('',#401,#2576); -#2576 = DEFINITIONAL_REPRESENTATION('',(#2577),#2629); -#2577 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#2578,#2579,#2580,#2581,#2582, - #2583,#2584,#2585,#2586,#2587,#2588,#2589,#2590,#2591,#2592,#2593, - #2594,#2595,#2596,#2597,#2598,#2599,#2600,#2601,#2602,#2603,#2604, - #2605,#2606,#2607,#2608,#2609,#2610,#2611,#2612,#2613,#2614,#2615, - #2616,#2617,#2618,#2619,#2620,#2621,#2622,#2623,#2624,#2625,#2626, - #2627,#2628),.UNSPECIFIED.,.F.,.F.,(9,7,7,7,7,7,7,9),(0., - 0.785398163397,1.47262155637,1.773281790796,2.337019730344, - 3.323561124553,4.803373215866,6.28318530718),.UNSPECIFIED.); -#2578 = CARTESIAN_POINT('',(6.104538952747,0.526250539436)); -#2579 = CARTESIAN_POINT('',(6.122967743766,0.571957574886)); -#2580 = CARTESIAN_POINT('',(6.137353624449,0.619051486728)); -#2581 = CARTESIAN_POINT('',(6.147251496199,0.667154048102)); -#2582 = CARTESIAN_POINT('',(6.152039573372,0.715859131219)); -#2583 = CARTESIAN_POINT('',(6.150938276587,0.764714154902)); -#2584 = CARTESIAN_POINT('',(6.142803938252,0.813183583818)); -#2585 = CARTESIAN_POINT('',(6.12595428683,0.860569413232)); -#2586 = CARTESIAN_POINT('',(6.074070017289,0.945495962948)); -#2587 = CARTESIAN_POINT('',(6.041571462019,0.98352593372)); -#2588 = CARTESIAN_POINT('',(5.999407424559,1.019288412067)); -#2589 = CARTESIAN_POINT('',(5.945868130675,1.051892094282)); -#2590 = CARTESIAN_POINT('',(5.879650924169,1.080336025808)); -#2591 = CARTESIAN_POINT('',(5.798884873452,1.103057018853)); -#2592 = CARTESIAN_POINT('',(5.707295959599,1.118654821906)); -#2593 = CARTESIAN_POINT('',(5.568110476225,1.129992221487)); -#2594 = CARTESIAN_POINT('',(5.524749046093,1.131966648293)); -#2595 = CARTESIAN_POINT('',(5.480850141949,1.13241451425)); -#2596 = CARTESIAN_POINT('',(5.436968553948,1.131313596186)); -#2597 = CARTESIAN_POINT('',(5.393670200275,1.128676183559)); -#2598 = CARTESIAN_POINT('',(5.351469800088,1.124548763764)); -#2599 = CARTESIAN_POINT('',(5.310786724696,1.119005131664)); -#2600 = CARTESIAN_POINT('',(5.199042093736,1.099247532764)); -#2601 = CARTESIAN_POINT('',(5.132550510581,1.081691979454)); -#2602 = CARTESIAN_POINT('',(5.074445764742,1.060046176977)); -#2603 = CARTESIAN_POINT('',(5.025362319793,1.035093755114)); -#2604 = CARTESIAN_POINT('',(4.984487214671,1.00755955102)); -#2605 = CARTESIAN_POINT('',(4.951029029747,0.978009692443)); -#2606 = CARTESIAN_POINT('',(4.924086577315,0.946919579642)); -#2607 = CARTESIAN_POINT('',(4.865764387212,0.858245209992)); -#2608 = CARTESIAN_POINT('',(4.846211775539,0.798278707787)); -#2609 = CARTESIAN_POINT('',(4.839975198565,0.736848355705)); -#2610 = CARTESIAN_POINT('',(4.843717144242,0.67522269091)); -#2611 = CARTESIAN_POINT('',(4.855810856829,0.614333671892)); -#2612 = CARTESIAN_POINT('',(4.874894472286,0.554994019434)); -#2613 = CARTESIAN_POINT('',(4.900171295794,0.497939306714)); -#2614 = CARTESIAN_POINT('',(4.977184583047,0.362779122867)); -#2615 = CARTESIAN_POINT('',(5.035833631001,0.288411396327)); -#2616 = CARTESIAN_POINT('',(5.104740330245,0.223151407894)); -#2617 = CARTESIAN_POINT('',(5.182657296424,0.16919205079)); -#2618 = CARTESIAN_POINT('',(5.268225245283,0.128754854579)); -#2619 = CARTESIAN_POINT('',(5.358881150179,0.103721726355)); -#2620 = CARTESIAN_POINT('',(5.451412350189,9.475830402537E-02)); -#2621 = CARTESIAN_POINT('',(5.634252589395,0.108360336437)); -#2622 = CARTESIAN_POINT('',(5.7245600877,0.130923118231)); -#2623 = CARTESIAN_POINT('',(5.810760903187,0.168951467086)); -#2624 = CARTESIAN_POINT('',(5.889989764533,0.221095759914)); -#2625 = CARTESIAN_POINT('',(5.960359889017,0.285201738956)); -#2626 = CARTESIAN_POINT('',(6.020749202673,0.358934034507)); -#2627 = CARTESIAN_POINT('',(6.069816248964,0.440131387559)); -#2628 = CARTESIAN_POINT('',(6.104538952747,0.526250539436)); -#2629 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#2630 = PCURVE('',#510,#2631); -#2631 = DEFINITIONAL_REPRESENTATION('',(#2632),#2684); -#2632 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#2633,#2634,#2635,#2636,#2637, - #2638,#2639,#2640,#2641,#2642,#2643,#2644,#2645,#2646,#2647,#2648, - #2649,#2650,#2651,#2652,#2653,#2654,#2655,#2656,#2657,#2658,#2659, - #2660,#2661,#2662,#2663,#2664,#2665,#2666,#2667,#2668,#2669,#2670, - #2671,#2672,#2673,#2674,#2675,#2676,#2677,#2678,#2679,#2680,#2681, - #2682,#2683),.UNSPECIFIED.,.T.,.F.,(9,7,7,7,7,7,7,9),(0., - 1.570796326795,2.748893571891,3.632466505713,4.29514620608, - 4.792155981355,5.537670644267,6.28318530718),.UNSPECIFIED.); -#2633 = CARTESIAN_POINT('',(1.749442681228,-0.526250539436)); -#2634 = CARTESIAN_POINT('',(1.786300263267,-0.434836468535)); -#2635 = CARTESIAN_POINT('',(1.83932092786,-0.348970381879)); -#2636 = CARTESIAN_POINT('',(1.904886291934,-0.271677081403)); -#2637 = CARTESIAN_POINT('',(1.981525478821,-0.205567417182)); -#2638 = CARTESIAN_POINT('',(2.067909493554,-0.1533634671)); -#2639 = CARTESIAN_POINT('',(2.161606239956,-0.11771252843)); -#2640 = CARTESIAN_POINT('',(2.258899048709,-9.98857024243E-02)); -#2641 = CARTESIAN_POINT('',(2.429166071305,-9.98857024243E-02)); -#2642 = CARTESIAN_POINT('',(2.502136615727,-0.109912993123)); -#2643 = CARTESIAN_POINT('',(2.573587549776,-0.129968523541)); -#2644 = CARTESIAN_POINT('',(2.64196960156,-0.159643456479)); -#2645 = CARTESIAN_POINT('',(2.706018159918,-0.198119299476)); -#2646 = CARTESIAN_POINT('',(2.764817770253,-0.244353709451)); -#2647 = CARTESIAN_POINT('',(2.817646267573,-0.297260025871)); -#2648 = CARTESIAN_POINT('',(2.898116131587,-0.39951000844)); -#2649 = CARTESIAN_POINT('',(2.928752050951,-0.446436995776)); -#2650 = CARTESIAN_POINT('',(2.955173671168,-0.49598958076)); -#2651 = CARTESIAN_POINT('',(2.976961414027,-0.547660341207)); -#2652 = CARTESIAN_POINT('',(2.993588352915,-0.600935264907)); -#2653 = CARTESIAN_POINT('',(3.004303029199,-0.655270502898)); -#2654 = CARTESIAN_POINT('',(3.007945989128,-0.710025012429)); -#2655 = CARTESIAN_POINT('',(2.998765580336,-0.805092147515)); -#2656 = CARTESIAN_POINT('',(2.989829805273,-0.845591709097)); -#2657 = CARTESIAN_POINT('',(2.975135115688,-0.885491798714)); -#2658 = CARTESIAN_POINT('',(2.953681108868,-0.924346878775)); -#2659 = CARTESIAN_POINT('',(2.92429440016,-0.96163658366)); -#2660 = CARTESIAN_POINT('',(2.885419053868,-0.996655132864)); -#2661 = CARTESIAN_POINT('',(2.835391806257,-1.028436652836)); -#2662 = CARTESIAN_POINT('',(2.727897104353,-1.076458375088)); -#2663 = CARTESIAN_POINT('',(2.675417351952,-1.094598247458)); -#2664 = CARTESIAN_POINT('',(2.616412941651,-1.109832823259)); -#2665 = CARTESIAN_POINT('',(2.551259127546,-1.12166952783)); -#2666 = CARTESIAN_POINT('',(2.480930250384,-1.129606719332)); -#2667 = CARTESIAN_POINT('',(2.40795840446,-1.133300100345)); -#2668 = CARTESIAN_POINT('',(2.33503032188,-1.13272816697)); -#2669 = CARTESIAN_POINT('',(2.158348409799,-1.121098265151)); -#2670 = CARTESIAN_POINT('',(2.057417086351,-1.104943213183)); -#2671 = CARTESIAN_POINT('',(1.969003278406,-1.080221313079)); -#2672 = CARTESIAN_POINT('',(1.898493298117,-1.048758269498)); -#2673 = CARTESIAN_POINT('',(1.842625204155,-1.012625673238)); -#2674 = CARTESIAN_POINT('',(1.799858805267,-0.972997243778)); -#2675 = CARTESIAN_POINT('',(1.767944928912,-0.930968368726)); -#2676 = CARTESIAN_POINT('',(1.722501953145,-0.843669726192)); -#2677 = CARTESIAN_POINT('',(1.708969700242,-0.798401959133)); -#2678 = CARTESIAN_POINT('',(1.70291323327,-0.752314092525)); -#2679 = CARTESIAN_POINT('',(1.702992942068,-0.705975469972)); -#2680 = CARTESIAN_POINT('',(1.708273946362,-0.659833705175)); -#2681 = CARTESIAN_POINT('',(1.718098993885,-0.614272116287)); -#2682 = CARTESIAN_POINT('',(1.731949727252,-0.569636514492)); -#2683 = CARTESIAN_POINT('',(1.749442681228,-0.526250539436)); -#2684 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#2685 = ADVANCED_FACE('',(#2686),#433,.F.); -#2686 = FACE_BOUND('',#2687,.F.); -#2687 = EDGE_LOOP('',(#2688,#2711,#2712,#2713)); -#2688 = ORIENTED_EDGE('',*,*,#2689,.F.); -#2689 = EDGE_CURVE('',#418,#2690,#2692,.T.); -#2690 = VERTEX_POINT('',#2691); -#2691 = CARTESIAN_POINT('',(1.,-7.464540639997E-33,0.502284250699)); -#2692 = SURFACE_CURVE('',#2693,(#2697,#2704),.PCURVE_S1.); -#2693 = LINE('',#2694,#2695); -#2694 = CARTESIAN_POINT('',(1.,0.,0.)); -#2695 = VECTOR('',#2696,1.); -#2696 = DIRECTION('',(0.,0.,1.)); -#2697 = PCURVE('',#433,#2698); -#2698 = DEFINITIONAL_REPRESENTATION('',(#2699),#2703); -#2699 = LINE('',#2700,#2701); -#2700 = CARTESIAN_POINT('',(1.414213562373,0.)); -#2701 = VECTOR('',#2702,1.); -#2702 = DIRECTION('',(0.,-1.)); -#2703 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#2704 = PCURVE('',#461,#2705); -#2705 = DEFINITIONAL_REPRESENTATION('',(#2706),#2710); -#2706 = LINE('',#2707,#2708); -#2707 = CARTESIAN_POINT('',(0.,0.)); -#2708 = VECTOR('',#2709,1.); -#2709 = DIRECTION('',(0.,-1.)); -#2710 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#2711 = ORIENTED_EDGE('',*,*,#415,.F.); -#2712 = ORIENTED_EDGE('',*,*,#820,.F.); -#2713 = ORIENTED_EDGE('',*,*,#2714,.F.); -#2714 = EDGE_CURVE('',#2690,#738,#2715,.T.); -#2715 = SURFACE_CURVE('',#2716,(#2721,#2728),.PCURVE_S1.); -#2716 = CIRCLE('',#2717,0.497715749301); -#2717 = AXIS2_PLACEMENT_3D('',#2718,#2719,#2720); -#2718 = CARTESIAN_POINT('',(1.,0.,1.)); -#2719 = DIRECTION('',(0.707106781187,0.707106781187,-0.)); -#2720 = DIRECTION('',(-0.707106781187,0.707106781187,0.)); -#2721 = PCURVE('',#433,#2722); -#2722 = DEFINITIONAL_REPRESENTATION('',(#2723),#2727); -#2723 = CIRCLE('',#2724,0.497715749301); -#2724 = AXIS2_PLACEMENT_2D('',#2725,#2726); -#2725 = CARTESIAN_POINT('',(1.414213562373,-1.)); -#2726 = DIRECTION('',(-1.,-0.)); -#2727 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#2728 = PCURVE('',#781,#2729); -#2729 = DEFINITIONAL_REPRESENTATION('',(#2730),#2733); -#2730 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#2731,#2732),.UNSPECIFIED.,.F., - .F.,(2,2),(4.712388980385,5.152111592263),.PIECEWISE_BEZIER_KNOTS.); -#2731 = CARTESIAN_POINT('',(2.356194490192,-1.570796326795)); -#2732 = CARTESIAN_POINT('',(2.356194490192,-1.131073714916)); -#2733 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#2734 = ADVANCED_FACE('',(#2735,#3027,#3030),#510,.F.); -#2735 = FACE_BOUND('',#2736,.F.); -#2736 = EDGE_LOOP('',(#2737,#2767,#2790,#2873,#2894,#2895,#2896,#2897, - #2898,#2899,#2922,#2979)); -#2737 = ORIENTED_EDGE('',*,*,#2738,.T.); -#2738 = EDGE_CURVE('',#2739,#2741,#2743,.T.); -#2739 = VERTEX_POINT('',#2740); -#2740 = CARTESIAN_POINT('',(1.350183970027,0.350183970027,0.950367940055 - )); -#2741 = VERTEX_POINT('',#2742); -#2742 = CARTESIAN_POINT('',(1.5,0.5,0.997715749301)); -#2743 = SURFACE_CURVE('',#2744,(#2749,#2755),.PCURVE_S1.); -#2744 = CIRCLE('',#2745,0.497715749301); -#2745 = AXIS2_PLACEMENT_3D('',#2746,#2747,#2748); -#2746 = CARTESIAN_POINT('',(1.5,0.5,0.5)); -#2747 = DIRECTION('',(-0.707106781187,0.707106781187,0.)); -#2748 = DIRECTION('',(-0.707106781187,-0.707106781187,0.)); -#2749 = PCURVE('',#510,#2750); -#2750 = DEFINITIONAL_REPRESENTATION('',(#2751),#2754); -#2751 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#2752,#2753),.UNSPECIFIED.,.F., - .F.,(2,2),(7.414259022096,7.853981633974),.PIECEWISE_BEZIER_KNOTS.); -#2752 = CARTESIAN_POINT('',(3.926990816987,1.131073714916)); -#2753 = CARTESIAN_POINT('',(3.926990816987,1.570796326795)); -#2754 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#2755 = PCURVE('',#2756,#2761); -#2756 = PLANE('',#2757); -#2757 = AXIS2_PLACEMENT_3D('',#2758,#2759,#2760); -#2758 = CARTESIAN_POINT('',(1.,0.,0.)); -#2759 = DIRECTION('',(-0.707106781187,0.707106781187,0.)); -#2760 = DIRECTION('',(0.707106781187,0.707106781187,0.)); -#2761 = DEFINITIONAL_REPRESENTATION('',(#2762),#2766); -#2762 = CIRCLE('',#2763,0.497715749301); -#2763 = AXIS2_PLACEMENT_2D('',#2764,#2765); -#2764 = CARTESIAN_POINT('',(0.707106781187,-0.5)); -#2765 = DIRECTION('',(-1.,-0.)); -#2766 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#2767 = ORIENTED_EDGE('',*,*,#2768,.T.); -#2768 = EDGE_CURVE('',#2741,#2769,#2771,.T.); -#2769 = VERTEX_POINT('',#2770); -#2770 = CARTESIAN_POINT('',(1.649816029973,0.649816029973,0.950367940055 - )); -#2771 = SURFACE_CURVE('',#2772,(#2777,#2783),.PCURVE_S1.); -#2772 = CIRCLE('',#2773,0.497715749301); -#2773 = AXIS2_PLACEMENT_3D('',#2774,#2775,#2776); -#2774 = CARTESIAN_POINT('',(1.5,0.5,0.5)); -#2775 = DIRECTION('',(-0.707106781187,0.707106781187,0.)); -#2776 = DIRECTION('',(-0.707106781187,-0.707106781187,0.)); -#2777 = PCURVE('',#510,#2778); -#2778 = DEFINITIONAL_REPRESENTATION('',(#2779),#2782); -#2779 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#2780,#2781),.UNSPECIFIED.,.F., - .F.,(2,2),(1.570796326795,2.010518938673),.PIECEWISE_BEZIER_KNOTS.); -#2780 = CARTESIAN_POINT('',(0.785398163397,1.570796326795)); -#2781 = CARTESIAN_POINT('',(0.785398163397,1.131073714916)); -#2782 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#2783 = PCURVE('',#2756,#2784); -#2784 = DEFINITIONAL_REPRESENTATION('',(#2785),#2789); -#2785 = CIRCLE('',#2786,0.497715749301); -#2786 = AXIS2_PLACEMENT_2D('',#2787,#2788); -#2787 = CARTESIAN_POINT('',(0.707106781187,-0.5)); -#2788 = DIRECTION('',(-1.,-0.)); -#2789 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#2790 = ORIENTED_EDGE('',*,*,#2791,.T.); -#2791 = EDGE_CURVE('',#2769,#2792,#2794,.T.); -#2792 = VERTEX_POINT('',#2793); -#2793 = CARTESIAN_POINT('',(1.850183970027,0.850183970027,0.549632059945 - )); -#2794 = SURFACE_CURVE('',#2795,(#2800,#2834),.PCURVE_S1.); -#2795 = CIRCLE('',#2796,0.245399606973); -#2796 = AXIS2_PLACEMENT_3D('',#2797,#2798,#2799); -#2797 = CARTESIAN_POINT('',(1.75,0.75,0.75)); -#2798 = DIRECTION('',(-0.57735026919,-0.57735026919,-0.57735026919)); -#2799 = DIRECTION('',(0.707106781187,-0.707106781187,0.)); -#2800 = PCURVE('',#510,#2801); -#2801 = DEFINITIONAL_REPRESENTATION('',(#2802),#2833); -#2802 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#2803,#2804,#2805,#2806,#2807, - #2808,#2809,#2810,#2811,#2812,#2813,#2814,#2815,#2816,#2817,#2818, - #2819,#2820,#2821,#2822,#2823,#2824,#2825,#2826,#2827,#2828,#2829, - #2830,#2831,#2832),.UNSPECIFIED.,.F.,.F.,(9,7,7,7,9),(1.570796326795 - ,1.773281790796,2.337019730344,3.323561124553,4.712388980385), - .UNSPECIFIED.); -#2803 = CARTESIAN_POINT('',(0.785398317648,1.131073703941)); -#2804 = CARTESIAN_POINT('',(0.814714354344,1.131073697041)); -#2805 = CARTESIAN_POINT('',(0.844030221395,1.130381305025)); -#2806 = CARTESIAN_POINT('',(0.873183031159,1.128996539065)); -#2807 = CARTESIAN_POINT('',(0.902010284225,1.126926039078)); -#2808 = CARTESIAN_POINT('',(0.930358555889,1.124183048721)); -#2809 = CARTESIAN_POINT('',(0.958090486489,1.120786776824)); -#2810 = CARTESIAN_POINT('',(0.985090075618,1.116761145276)); -#2811 = CARTESIAN_POINT('',(1.084143213444,1.099247532764)); -#2812 = CARTESIAN_POINT('',(1.150634796596,1.081691979454)); -#2813 = CARTESIAN_POINT('',(1.208739542442,1.060046176977)); -#2814 = CARTESIAN_POINT('',(1.257822987378,1.035093755114)); -#2815 = CARTESIAN_POINT('',(1.298698092503,1.00755955102)); -#2816 = CARTESIAN_POINT('',(1.332156277432,0.978009692443)); -#2817 = CARTESIAN_POINT('',(1.359098729865,0.946919579642)); -#2818 = CARTESIAN_POINT('',(1.417420919968,0.858245209992)); -#2819 = CARTESIAN_POINT('',(1.436973531637,0.798278707787)); -#2820 = CARTESIAN_POINT('',(1.443210108613,0.736848355706)); -#2821 = CARTESIAN_POINT('',(1.439468162922,0.675222690909)); -#2822 = CARTESIAN_POINT('',(1.427374450344,0.614333671893)); -#2823 = CARTESIAN_POINT('',(1.408290834893,0.554994019434)); -#2824 = CARTESIAN_POINT('',(1.383014011386,0.497939306714)); -#2825 = CARTESIAN_POINT('',(1.30884175852,0.367765207006)); -#2826 = CARTESIAN_POINT('',(1.25451655997,0.297581628432)); -#2827 = CARTESIAN_POINT('',(1.191038044676,0.23529140825)); -#2828 = CARTESIAN_POINT('',(1.119484947071,0.182716794854)); -#2829 = CARTESIAN_POINT('',(1.040972829601,0.141691993265)); -#2830 = CARTESIAN_POINT('',(0.957447120583,0.113821140403)); -#2831 = CARTESIAN_POINT('',(0.871422372492,9.988571735227E-02)); -#2832 = CARTESIAN_POINT('',(0.785398122632,9.988571523101E-02)); -#2833 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#2834 = PCURVE('',#2835,#2840); -#2835 = SPHERICAL_SURFACE('',#2836,0.497715749301); -#2836 = AXIS2_PLACEMENT_3D('',#2837,#2838,#2839); -#2837 = CARTESIAN_POINT('',(2.,1.,1.)); -#2838 = DIRECTION('',(0.,0.,1.)); -#2839 = DIRECTION('',(1.,0.,-0.)); -#2840 = DEFINITIONAL_REPRESENTATION('',(#2841),#2872); -#2841 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#2842,#2843,#2844,#2845,#2846, - #2847,#2848,#2849,#2850,#2851,#2852,#2853,#2854,#2855,#2856,#2857, - #2858,#2859,#2860,#2861,#2862,#2863,#2864,#2865,#2866,#2867,#2868, - #2869,#2870,#2871),.UNSPECIFIED.,.F.,.F.,(9,7,7,7,9),(1.570796326795 - ,2.748893571891,3.632466505713,4.29514620608,4.712388980385), - .UNSPECIFIED.); -#2842 = CARTESIAN_POINT('',(3.926990816987,-9.98857024243E-02)); -#2843 = CARTESIAN_POINT('',(3.854019235875,-9.98857024243E-02)); -#2844 = CARTESIAN_POINT('',(3.781048691453,-0.109912993123)); -#2845 = CARTESIAN_POINT('',(3.709597757403,-0.129968523541)); -#2846 = CARTESIAN_POINT('',(3.64121570562,-0.159643456479)); -#2847 = CARTESIAN_POINT('',(3.577167147263,-0.198119299476)); -#2848 = CARTESIAN_POINT('',(3.518367536926,-0.244353709451)); -#2849 = CARTESIAN_POINT('',(3.465539039606,-0.297260025871)); -#2850 = CARTESIAN_POINT('',(3.385069175593,-0.39951000844)); -#2851 = CARTESIAN_POINT('',(3.354433256229,-0.446436995776)); -#2852 = CARTESIAN_POINT('',(3.328011636012,-0.49598958076)); -#2853 = CARTESIAN_POINT('',(3.306223893152,-0.547660341207)); -#2854 = CARTESIAN_POINT('',(3.289596954265,-0.600935264907)); -#2855 = CARTESIAN_POINT('',(3.278882277981,-0.655270502898)); -#2856 = CARTESIAN_POINT('',(3.275239318051,-0.710025012429)); -#2857 = CARTESIAN_POINT('',(3.284419726844,-0.805092147515)); -#2858 = CARTESIAN_POINT('',(3.293355501906,-0.845591709097)); -#2859 = CARTESIAN_POINT('',(3.308050191492,-0.885491798714)); -#2860 = CARTESIAN_POINT('',(3.329504198312,-0.924346878775)); -#2861 = CARTESIAN_POINT('',(3.358890907019,-0.96163658366)); -#2862 = CARTESIAN_POINT('',(3.397766253311,-0.996655132864)); -#2863 = CARTESIAN_POINT('',(3.447793500923,-1.028436652836)); -#2864 = CARTESIAN_POINT('',(3.547894387351,-1.073155293663)); -#2865 = CARTESIAN_POINT('',(3.591087728407,-1.088712699901)); -#2866 = CARTESIAN_POINT('',(3.638866554779,-1.102275070882)); -#2867 = CARTESIAN_POINT('',(3.691055308266,-1.113553642708)); -#2868 = CARTESIAN_POINT('',(3.747189614066,-1.122253627056)); -#2869 = CARTESIAN_POINT('',(3.806173342705,-1.128133742013)); -#2870 = CARTESIAN_POINT('',(3.866582055501,-1.131073737707)); -#2871 = CARTESIAN_POINT('',(3.926990802358,-1.131073722024)); -#2872 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#2873 = ORIENTED_EDGE('',*,*,#2874,.T.); -#2874 = EDGE_CURVE('',#2792,#1977,#2875,.T.); -#2875 = SURFACE_CURVE('',#2876,(#2881,#2887),.PCURVE_S1.); -#2876 = CIRCLE('',#2877,0.497715749301); -#2877 = AXIS2_PLACEMENT_3D('',#2878,#2879,#2880); -#2878 = CARTESIAN_POINT('',(1.5,0.5,0.5)); -#2879 = DIRECTION('',(-0.707106781187,0.707106781187,0.)); -#2880 = DIRECTION('',(-0.707106781187,-0.707106781187,0.)); -#2881 = PCURVE('',#510,#2882); -#2882 = DEFINITIONAL_REPRESENTATION('',(#2883),#2886); -#2883 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#2884,#2885),.UNSPECIFIED.,.F., - .F.,(2,2),(3.041706951165,3.241478356014),.PIECEWISE_BEZIER_KNOTS.); -#2884 = CARTESIAN_POINT('',(0.785398163397,9.98857024243E-02)); -#2885 = CARTESIAN_POINT('',(0.785398163397,-9.98857024243E-02)); -#2886 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#2887 = PCURVE('',#1994,#2888); -#2888 = DEFINITIONAL_REPRESENTATION('',(#2889),#2893); -#2889 = CIRCLE('',#2890,0.497715749301); -#2890 = AXIS2_PLACEMENT_2D('',#2891,#2892); -#2891 = CARTESIAN_POINT('',(0.707106781187,-0.5)); -#2892 = DIRECTION('',(-1.,-0.)); -#2893 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#2894 = ORIENTED_EDGE('',*,*,#2164,.T.); -#2895 = ORIENTED_EDGE('',*,*,#2268,.T.); -#2896 = ORIENTED_EDGE('',*,*,#2245,.T.); -#2897 = ORIENTED_EDGE('',*,*,#528,.T.); -#2898 = ORIENTED_EDGE('',*,*,#473,.T.); -#2899 = ORIENTED_EDGE('',*,*,#2900,.T.); -#2900 = EDGE_CURVE('',#446,#2901,#2903,.T.); -#2901 = VERTEX_POINT('',#2902); -#2902 = CARTESIAN_POINT('',(1.149816029973,0.149816029973,0.549632059945 - )); -#2903 = SURFACE_CURVE('',#2904,(#2909,#2915),.PCURVE_S1.); -#2904 = CIRCLE('',#2905,0.497715749301); -#2905 = AXIS2_PLACEMENT_3D('',#2906,#2907,#2908); -#2906 = CARTESIAN_POINT('',(1.5,0.5,0.5)); -#2907 = DIRECTION('',(-0.707106781187,0.707106781187,0.)); -#2908 = DIRECTION('',(-0.707106781187,-0.707106781187,0.)); -#2909 = PCURVE('',#510,#2910); -#2910 = DEFINITIONAL_REPRESENTATION('',(#2911),#2914); -#2911 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#2912,#2913),.UNSPECIFIED.,.F., - .F.,(2,2),(6.183299604755,6.383071009604),.PIECEWISE_BEZIER_KNOTS.); -#2912 = CARTESIAN_POINT('',(3.926990816987,-9.98857024243E-02)); -#2913 = CARTESIAN_POINT('',(3.926990816987,9.98857024243E-02)); -#2914 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#2915 = PCURVE('',#461,#2916); -#2916 = DEFINITIONAL_REPRESENTATION('',(#2917),#2921); -#2917 = CIRCLE('',#2918,0.497715749301); -#2918 = AXIS2_PLACEMENT_2D('',#2919,#2920); -#2919 = CARTESIAN_POINT('',(0.707106781187,-0.5)); -#2920 = DIRECTION('',(-1.,-0.)); -#2921 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#2922 = ORIENTED_EDGE('',*,*,#2923,.T.); -#2923 = EDGE_CURVE('',#2901,#2924,#2926,.T.); -#2924 = VERTEX_POINT('',#2925); -#2925 = CARTESIAN_POINT('',(1.076476273809,0.423523726191,0.75)); -#2926 = SURFACE_CURVE('',#2927,(#2932,#2952),.PCURVE_S1.); -#2927 = CIRCLE('',#2928,0.245399606973); -#2928 = AXIS2_PLACEMENT_3D('',#2929,#2930,#2931); -#2929 = CARTESIAN_POINT('',(1.25,0.25,0.75)); -#2930 = DIRECTION('',(0.57735026919,0.57735026919,-0.57735026919)); -#2931 = DIRECTION('',(-0.707106781187,0.707106781187,0.)); -#2932 = PCURVE('',#510,#2933); -#2933 = DEFINITIONAL_REPRESENTATION('',(#2934),#2951); -#2934 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#2935,#2936,#2937,#2938,#2939, - #2940,#2941,#2942,#2943,#2944,#2945,#2946,#2947,#2948,#2949,#2950), - .UNSPECIFIED.,.F.,.F.,(9,7,9),(4.712388980385,4.803373215866, - 6.28318530718),.UNSPECIFIED.); -#2935 = CARTESIAN_POINT('',(3.926990776221,9.988571523101E-02)); -#2936 = CARTESIAN_POINT('',(3.921355196136,9.988571509205E-02)); -#2937 = CARTESIAN_POINT('',(3.915719618189,9.994552244008E-02)); -#2938 = CARTESIAN_POINT('',(3.910084745149,0.100065137273)); -#2939 = CARTESIAN_POINT('',(3.90445127951,0.100244545193)); -#2940 = CARTESIAN_POINT('',(3.898819922783,0.100483717459)); -#2941 = CARTESIAN_POINT('',(3.893191374767,0.100782611084)); -#2942 = CARTESIAN_POINT('',(3.887566332798,0.101141168992)); -#2943 = CARTESIAN_POINT('',(3.790525371374,0.108360336437)); -#2944 = CARTESIAN_POINT('',(3.70021787307,0.130923118231)); -#2945 = CARTESIAN_POINT('',(3.614017057581,0.168951467086)); -#2946 = CARTESIAN_POINT('',(3.534788196235,0.221095759914)); -#2947 = CARTESIAN_POINT('',(3.464418071752,0.285201738956)); -#2948 = CARTESIAN_POINT('',(3.404028758097,0.358934034507)); -#2949 = CARTESIAN_POINT('',(3.354961711805,0.440131387559)); -#2950 = CARTESIAN_POINT('',(3.320239008023,0.526250539436)); -#2951 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#2952 = PCURVE('',#781,#2953); -#2953 = DEFINITIONAL_REPRESENTATION('',(#2954),#2978); -#2954 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#2955,#2956,#2957,#2958,#2959, - #2960,#2961,#2962,#2963,#2964,#2965,#2966,#2967,#2968,#2969,#2970, - #2971,#2972,#2973,#2974,#2975,#2976,#2977),.UNSPECIFIED.,.F.,.F.,(9, - 7,7,9),(4.712388980385,4.792155981355,5.537670644267,6.28318530718), - .UNSPECIFIED.); -#2955 = CARTESIAN_POINT('',(0.785398148769,-1.131073722024)); -#2956 = CARTESIAN_POINT('',(0.796946879786,-1.131073719025)); -#2957 = CARTESIAN_POINT('',(0.808495612048,-1.130966263189)); -#2958 = CARTESIAN_POINT('',(0.82003438914,-1.130751355268)); -#2959 = CARTESIAN_POINT('',(0.831553253964,-1.13042915679)); -#2960 = CARTESIAN_POINT('',(0.84304233245,-1.12999998988)); -#2961 = CARTESIAN_POINT('',(0.854491918454,-1.129464333764)); -#2962 = CARTESIAN_POINT('',(0.865892554038,-1.128822817223)); -#2963 = CARTESIAN_POINT('',(0.98324424379,-1.121098265151)); -#2964 = CARTESIAN_POINT('',(1.084175567234,-1.104943213182)); -#2965 = CARTESIAN_POINT('',(1.172589375192,-1.080221313082)); -#2966 = CARTESIAN_POINT('',(1.243099355462,-1.048758269494)); -#2967 = CARTESIAN_POINT('',(1.298967449447,-1.01262567324)); -#2968 = CARTESIAN_POINT('',(1.341733848318,-0.972997243778)); -#2969 = CARTESIAN_POINT('',(1.373647724677,-0.930968368726)); -#2970 = CARTESIAN_POINT('',(1.419090700445,-0.843669726192)); -#2971 = CARTESIAN_POINT('',(1.432622953348,-0.798401959133)); -#2972 = CARTESIAN_POINT('',(1.43867942032,-0.752314092526)); -#2973 = CARTESIAN_POINT('',(1.438599711522,-0.705975469972)); -#2974 = CARTESIAN_POINT('',(1.433318707227,-0.659833705175)); -#2975 = CARTESIAN_POINT('',(1.423493659705,-0.614272116287)); -#2976 = CARTESIAN_POINT('',(1.409642926337,-0.569636514492)); -#2977 = CARTESIAN_POINT('',(1.392149972362,-0.526250539436)); -#2978 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#2979 = ORIENTED_EDGE('',*,*,#2980,.T.); -#2980 = EDGE_CURVE('',#2924,#2739,#2981,.T.); -#2981 = SURFACE_CURVE('',#2982,(#2987,#3014),.PCURVE_S1.); -#2982 = CIRCLE('',#2983,0.245399606973); -#2983 = AXIS2_PLACEMENT_3D('',#2984,#2985,#2986); -#2984 = CARTESIAN_POINT('',(1.25,0.25,0.75)); -#2985 = DIRECTION('',(0.57735026919,0.57735026919,-0.57735026919)); -#2986 = DIRECTION('',(-0.707106781187,0.707106781187,0.)); -#2987 = PCURVE('',#510,#2988); -#2988 = DEFINITIONAL_REPRESENTATION('',(#2989),#3013); -#2989 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#2990,#2991,#2992,#2993,#2994, - #2995,#2996,#2997,#2998,#2999,#3000,#3001,#3002,#3003,#3004,#3005, - #3006,#3007,#3008,#3009,#3010,#3011,#3012),.UNSPECIFIED.,.F.,.F.,(9, - 7,7,9),(0.,0.785398163397,1.47262155637,1.570796326795), - .UNSPECIFIED.); -#2990 = CARTESIAN_POINT('',(3.320239008023,0.526250539436)); -#2991 = CARTESIAN_POINT('',(3.301810217003,0.571957574886)); -#2992 = CARTESIAN_POINT('',(3.287424336322,0.619051486728)); -#2993 = CARTESIAN_POINT('',(3.277526464569,0.667154048102)); -#2994 = CARTESIAN_POINT('',(3.272738387397,0.715859131219)); -#2995 = CARTESIAN_POINT('',(3.273839684183,0.764714154902)); -#2996 = CARTESIAN_POINT('',(3.281974022517,0.813183583818)); -#2997 = CARTESIAN_POINT('',(3.298823673939,0.860569413232)); -#2998 = CARTESIAN_POINT('',(3.35070794348,0.945495962948)); -#2999 = CARTESIAN_POINT('',(3.383206498755,0.98352593372)); -#3000 = CARTESIAN_POINT('',(3.425370536186,1.019288412065)); -#3001 = CARTESIAN_POINT('',(3.478909830093,1.051892094282)); -#3002 = CARTESIAN_POINT('',(3.545127036561,1.080336025806)); -#3003 = CARTESIAN_POINT('',(3.625893087316,1.103057018853)); -#3004 = CARTESIAN_POINT('',(3.71748200117,1.118654821906)); -#3005 = CARTESIAN_POINT('',(3.828138782983,1.127668406666)); -#3006 = CARTESIAN_POINT('',(3.842077570212,1.128637721153)); -#3007 = CARTESIAN_POINT('',(3.856106921942,1.129447894731)); -#3008 = CARTESIAN_POINT('',(3.870209671455,1.130097491274)); -#3009 = CARTESIAN_POINT('',(3.884367909162,1.130585419069)); -#3010 = CARTESIAN_POINT('',(3.898563259411,1.130910946087)); -#3011 = CARTESIAN_POINT('',(3.912777135265,1.131073707287)); -#3012 = CARTESIAN_POINT('',(3.926990971238,1.131073703941)); -#3013 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#3014 = PCURVE('',#781,#3015); -#3015 = DEFINITIONAL_REPRESENTATION('',(#3016),#3026); -#3016 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#3017,#3018,#3019,#3020,#3021, - #3022,#3023,#3024,#3025),.UNSPECIFIED.,.F.,.F.,(9,9),(0., - 1.570796326795),.PIECEWISE_BEZIER_KNOTS.); -#3017 = CARTESIAN_POINT('',(1.392149972362,-0.526250539436)); -#3018 = CARTESIAN_POINT('',(1.355292390323,-0.434836468535)); -#3019 = CARTESIAN_POINT('',(1.302271725729,-0.348970381879)); -#3020 = CARTESIAN_POINT('',(1.236706361651,-0.271677081404)); -#3021 = CARTESIAN_POINT('',(1.160067174755,-0.205567417181)); -#3022 = CARTESIAN_POINT('',(1.073683160033,-0.1533634671)); -#3023 = CARTESIAN_POINT('',(0.979986413632,-0.11771252843)); -#3024 = CARTESIAN_POINT('',(0.882693604881,-9.98857024243E-02)); -#3025 = CARTESIAN_POINT('',(0.785398163397,-9.98857024243E-02)); -#3026 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#3027 = FACE_BOUND('',#3028,.F.); -#3028 = EDGE_LOOP('',(#3029)); -#3029 = ORIENTED_EDGE('',*,*,#2566,.T.); -#3030 = FACE_BOUND('',#3031,.F.); -#3031 = EDGE_LOOP('',(#3032)); -#3032 = ORIENTED_EDGE('',*,*,#3033,.T.); -#3033 = EDGE_CURVE('',#3034,#3034,#3036,.T.); -#3034 = VERTEX_POINT('',#3035); -#3035 = CARTESIAN_POINT('',(1.423523726191,0.923523726191,0.75)); -#3036 = SURFACE_CURVE('',#3037,(#3042,#3097),.PCURVE_S1.); -#3037 = CIRCLE('',#3038,0.245399606973); -#3038 = AXIS2_PLACEMENT_3D('',#3039,#3040,#3041); -#3039 = CARTESIAN_POINT('',(1.25,0.75,0.75)); -#3040 = DIRECTION('',(0.57735026919,-0.57735026919,-0.57735026919)); -#3041 = DIRECTION('',(0.707106781187,0.707106781187,0.)); -#3042 = PCURVE('',#510,#3043); -#3043 = DEFINITIONAL_REPRESENTATION('',(#3044),#3096); -#3044 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#3045,#3046,#3047,#3048,#3049, - #3050,#3051,#3052,#3053,#3054,#3055,#3056,#3057,#3058,#3059,#3060, - #3061,#3062,#3063,#3064,#3065,#3066,#3067,#3068,#3069,#3070,#3071, - #3072,#3073,#3074,#3075,#3076,#3077,#3078,#3079,#3080,#3081,#3082, - #3083,#3084,#3085,#3086,#3087,#3088,#3089,#3090,#3091,#3092,#3093, - #3094,#3095),.UNSPECIFIED.,.F.,.F.,(9,7,7,7,7,7,7,9),(0., - 0.785398163397,1.47262155637,1.773281790796,2.337019730344, - 3.323561124553,4.803373215866,6.28318530718),.UNSPECIFIED.); -#3045 = CARTESIAN_POINT('',(1.749442681228,0.526250539436)); -#3046 = CARTESIAN_POINT('',(1.731013890208,0.571957574886)); -#3047 = CARTESIAN_POINT('',(1.716628009527,0.619051486728)); -#3048 = CARTESIAN_POINT('',(1.706730137776,0.667154048102)); -#3049 = CARTESIAN_POINT('',(1.701942060603,0.71585913122)); -#3050 = CARTESIAN_POINT('',(1.703043357387,0.764714154902)); -#3051 = CARTESIAN_POINT('',(1.711177695723,0.813183583818)); -#3052 = CARTESIAN_POINT('',(1.728027347144,0.860569413232)); -#3053 = CARTESIAN_POINT('',(1.779911616685,0.945495962948)); -#3054 = CARTESIAN_POINT('',(1.812410171957,0.98352593372)); -#3055 = CARTESIAN_POINT('',(1.8545742094,1.019288412063)); -#3056 = CARTESIAN_POINT('',(1.908113503281,1.051892094281)); -#3057 = CARTESIAN_POINT('',(1.974330709775,1.080336025807)); -#3058 = CARTESIAN_POINT('',(2.05509676052,1.103057018853)); -#3059 = CARTESIAN_POINT('',(2.146685674375,1.118654821906)); -#3060 = CARTESIAN_POINT('',(2.285871157749,1.129992221487)); -#3061 = CARTESIAN_POINT('',(2.329232587881,1.131966648293)); -#3062 = CARTESIAN_POINT('',(2.373131492025,1.13241451425)); -#3063 = CARTESIAN_POINT('',(2.417013080027,1.131313596186)); -#3064 = CARTESIAN_POINT('',(2.4603114337,1.128676183559)); -#3065 = CARTESIAN_POINT('',(2.502511833887,1.124548763764)); -#3066 = CARTESIAN_POINT('',(2.543194909279,1.119005131664)); -#3067 = CARTESIAN_POINT('',(2.654939540239,1.099247532764)); -#3068 = CARTESIAN_POINT('',(2.721431123386,1.081691979456)); -#3069 = CARTESIAN_POINT('',(2.779535869249,1.060046176974)); -#3070 = CARTESIAN_POINT('',(2.828619314152,1.035093755123)); -#3071 = CARTESIAN_POINT('',(2.869494419316,1.007559551015)); -#3072 = CARTESIAN_POINT('',(2.902952604221,0.978009692444)); -#3073 = CARTESIAN_POINT('',(2.92989505666,0.946919579642)); -#3074 = CARTESIAN_POINT('',(2.988217246762,0.858245209992)); -#3075 = CARTESIAN_POINT('',(3.007769858435,0.798278707788)); -#3076 = CARTESIAN_POINT('',(3.0140064354,0.736848355699)); -#3077 = CARTESIAN_POINT('',(3.010264489738,0.675222690914)); -#3078 = CARTESIAN_POINT('',(2.998170777128,0.614333671887)); -#3079 = CARTESIAN_POINT('',(2.979087161691,0.554994019435)); -#3080 = CARTESIAN_POINT('',(2.95381033818,0.497939306714)); -#3081 = CARTESIAN_POINT('',(2.876797050928,0.362779122867)); -#3082 = CARTESIAN_POINT('',(2.818148002966,0.288411396327)); -#3083 = CARTESIAN_POINT('',(2.749241303747,0.223151407893)); -#3084 = CARTESIAN_POINT('',(2.671324337525,0.16919205079)); -#3085 = CARTESIAN_POINT('',(2.585756388697,0.128754854579)); -#3086 = CARTESIAN_POINT('',(2.495100483791,0.103721726355)); -#3087 = CARTESIAN_POINT('',(2.402569283785,9.475830402537E-02)); -#3088 = CARTESIAN_POINT('',(2.219729044579,0.108360336437)); -#3089 = CARTESIAN_POINT('',(2.129421546275,0.130923118231)); -#3090 = CARTESIAN_POINT('',(2.043220730785,0.168951467086)); -#3091 = CARTESIAN_POINT('',(1.96399186944,0.221095759914)); -#3092 = CARTESIAN_POINT('',(1.893621744958,0.285201738956)); -#3093 = CARTESIAN_POINT('',(1.833232431301,0.358934034507)); -#3094 = CARTESIAN_POINT('',(1.78416538501,0.440131387559)); -#3095 = CARTESIAN_POINT('',(1.749442681228,0.526250539436)); -#3096 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#3097 = PCURVE('',#1305,#3098); -#3098 = DEFINITIONAL_REPRESENTATION('',(#3099),#3151); -#3099 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#3100,#3101,#3102,#3103,#3104, - #3105,#3106,#3107,#3108,#3109,#3110,#3111,#3112,#3113,#3114,#3115, - #3116,#3117,#3118,#3119,#3120,#3121,#3122,#3123,#3124,#3125,#3126, - #3127,#3128,#3129,#3130,#3131,#3132,#3133,#3134,#3135,#3136,#3137, - #3138,#3139,#3140,#3141,#3142,#3143,#3144,#3145,#3146,#3147,#3148, - #3149,#3150),.UNSPECIFIED.,.F.,.F.,(9,7,7,7,7,7,7,9),(0., - 1.570796326795,2.748893571891,3.632466505713,4.29514620608, - 4.792155981355,5.537670644267,6.28318530718),.UNSPECIFIED.); -#3100 = CARTESIAN_POINT('',(6.104538952747,-0.526250539436)); -#3101 = CARTESIAN_POINT('',(6.067681370708,-0.434836468535)); -#3102 = CARTESIAN_POINT('',(6.014660706111,-0.348970381878)); -#3103 = CARTESIAN_POINT('',(5.949095342025,-0.271677081405)); -#3104 = CARTESIAN_POINT('',(5.872456155132,-0.205567417181)); -#3105 = CARTESIAN_POINT('',(5.786072140396,-0.153363467101)); -#3106 = CARTESIAN_POINT('',(5.692375394013,-0.11771252843)); -#3107 = CARTESIAN_POINT('',(5.595082585265,-9.98857024243E-02)); -#3108 = CARTESIAN_POINT('',(5.42481556267,-9.98857024243E-02)); -#3109 = CARTESIAN_POINT('',(5.351845018246,-0.109912993123)); -#3110 = CARTESIAN_POINT('',(5.280394084199,-0.129968523541)); -#3111 = CARTESIAN_POINT('',(5.212012032413,-0.159643456479)); -#3112 = CARTESIAN_POINT('',(5.147963474055,-0.198119299476)); -#3113 = CARTESIAN_POINT('',(5.089163863722,-0.244353709451)); -#3114 = CARTESIAN_POINT('',(5.036335366401,-0.297260025871)); -#3115 = CARTESIAN_POINT('',(4.955865502387,-0.39951000844)); -#3116 = CARTESIAN_POINT('',(4.925229583024,-0.446436995776)); -#3117 = CARTESIAN_POINT('',(4.898807962807,-0.49598958076)); -#3118 = CARTESIAN_POINT('',(4.877020219947,-0.547660341207)); -#3119 = CARTESIAN_POINT('',(4.86039328106,-0.600935264907)); -#3120 = CARTESIAN_POINT('',(4.849678604776,-0.655270502898)); -#3121 = CARTESIAN_POINT('',(4.846035644846,-0.710025012429)); -#3122 = CARTESIAN_POINT('',(4.855216053638,-0.805092147515)); -#3123 = CARTESIAN_POINT('',(4.8641518287,-0.845591709097)); -#3124 = CARTESIAN_POINT('',(4.878846518286,-0.885491798714)); -#3125 = CARTESIAN_POINT('',(4.900300525107,-0.924346878775)); -#3126 = CARTESIAN_POINT('',(4.929687233814,-0.96163658366)); -#3127 = CARTESIAN_POINT('',(4.968562580106,-0.996655132864)); -#3128 = CARTESIAN_POINT('',(5.018589827718,-1.028436652836)); -#3129 = CARTESIAN_POINT('',(5.126084529621,-1.076458375088)); -#3130 = CARTESIAN_POINT('',(5.17856428202,-1.094598247456)); -#3131 = CARTESIAN_POINT('',(5.237568692295,-1.109832823264)); -#3132 = CARTESIAN_POINT('',(5.302722506451,-1.121669527824)); -#3133 = CARTESIAN_POINT('',(5.373051383573,-1.129606719338)); -#3134 = CARTESIAN_POINT('',(5.446023229515,-1.133300100343)); -#3135 = CARTESIAN_POINT('',(5.518951312094,-1.13272816697)); -#3136 = CARTESIAN_POINT('',(5.695633224175,-1.121098265151)); -#3137 = CARTESIAN_POINT('',(5.796564547624,-1.104943213182)); -#3138 = CARTESIAN_POINT('',(5.884978355552,-1.080221313082)); -#3139 = CARTESIAN_POINT('',(5.955488335847,-1.04875826949)); -#3140 = CARTESIAN_POINT('',(6.011356429826,-1.012625673241)); -#3141 = CARTESIAN_POINT('',(6.054122828707,-0.972997243777)); -#3142 = CARTESIAN_POINT('',(6.086036705062,-0.930968368726)); -#3143 = CARTESIAN_POINT('',(6.13147968083,-0.843669726192)); -#3144 = CARTESIAN_POINT('',(6.145011933733,-0.798401959133)); -#3145 = CARTESIAN_POINT('',(6.151068400704,-0.752314092525)); -#3146 = CARTESIAN_POINT('',(6.150988691907,-0.705975469972)); -#3147 = CARTESIAN_POINT('',(6.145707687614,-0.659833705175)); -#3148 = CARTESIAN_POINT('',(6.135882640088,-0.614272116287)); -#3149 = CARTESIAN_POINT('',(6.122031906722,-0.569636514492)); -#3150 = CARTESIAN_POINT('',(6.104538952747,-0.526250539436)); -#3151 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#3152 = ADVANCED_FACE('',(#3153),#461,.F.); -#3153 = FACE_BOUND('',#3154,.F.); -#3154 = EDGE_LOOP('',(#3155,#3156,#3157,#3178)); -#3155 = ORIENTED_EDGE('',*,*,#445,.F.); -#3156 = ORIENTED_EDGE('',*,*,#2689,.T.); -#3157 = ORIENTED_EDGE('',*,*,#3158,.F.); -#3158 = EDGE_CURVE('',#2901,#2690,#3159,.T.); -#3159 = SURFACE_CURVE('',#3160,(#3165,#3172),.PCURVE_S1.); -#3160 = CIRCLE('',#3161,0.497715749301); -#3161 = AXIS2_PLACEMENT_3D('',#3162,#3163,#3164); -#3162 = CARTESIAN_POINT('',(1.,0.,1.)); -#3163 = DIRECTION('',(-0.707106781187,0.707106781187,0.)); -#3164 = DIRECTION('',(-0.707106781187,-0.707106781187,0.)); -#3165 = PCURVE('',#461,#3166); -#3166 = DEFINITIONAL_REPRESENTATION('',(#3167),#3171); -#3167 = CIRCLE('',#3168,0.497715749301); -#3168 = AXIS2_PLACEMENT_2D('',#3169,#3170); -#3169 = CARTESIAN_POINT('',(0.,-1.)); -#3170 = DIRECTION('',(-1.,-0.)); -#3171 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#3172 = PCURVE('',#781,#3173); -#3173 = DEFINITIONAL_REPRESENTATION('',(#3174),#3177); -#3174 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#3175,#3176),.UNSPECIFIED.,.F., - .F.,(2,2),(4.272666368506,4.712388980385),.PIECEWISE_BEZIER_KNOTS.); -#3175 = CARTESIAN_POINT('',(0.785398163397,-1.131073714916)); -#3176 = CARTESIAN_POINT('',(0.785398163397,-1.570796326795)); -#3177 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#3178 = ORIENTED_EDGE('',*,*,#2900,.F.); -#3179 = ADVANCED_FACE('',(#3180),#781,.F.); -#3180 = FACE_BOUND('',#3181,.F.); -#3181 = EDGE_LOOP('',(#3182,#3183,#3184,#3185,#3208,#3236,#3257,#3258)); -#3182 = ORIENTED_EDGE('',*,*,#3158,.T.); -#3183 = ORIENTED_EDGE('',*,*,#2714,.T.); -#3184 = ORIENTED_EDGE('',*,*,#737,.F.); -#3185 = ORIENTED_EDGE('',*,*,#3186,.T.); -#3186 = EDGE_CURVE('',#710,#3187,#3189,.T.); -#3187 = VERTEX_POINT('',#3188); -#3188 = CARTESIAN_POINT('',(0.648061818566,0.351938181434,1.)); -#3189 = SURFACE_CURVE('',#3190,(#3195,#3201),.PCURVE_S1.); -#3190 = CIRCLE('',#3191,0.497715749301); -#3191 = AXIS2_PLACEMENT_3D('',#3192,#3193,#3194); -#3192 = CARTESIAN_POINT('',(1.,0.,1.)); -#3193 = DIRECTION('',(0.707106781187,0.707106781187,-0.)); -#3194 = DIRECTION('',(-0.707106781187,0.707106781187,0.)); -#3195 = PCURVE('',#781,#3196); -#3196 = DEFINITIONAL_REPRESENTATION('',(#3197),#3200); -#3197 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#3198,#3199),.UNSPECIFIED.,.F., - .F.,(2,2),(6.183299604755,6.28318530718),.PIECEWISE_BEZIER_KNOTS.); -#3198 = CARTESIAN_POINT('',(2.356194490192,-9.98857024243E-02)); -#3199 = CARTESIAN_POINT('',(2.356194490192,0.)); -#3200 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#3201 = PCURVE('',#725,#3202); -#3202 = DEFINITIONAL_REPRESENTATION('',(#3203),#3207); -#3203 = CIRCLE('',#3204,0.497715749301); -#3204 = AXIS2_PLACEMENT_2D('',#3205,#3206); -#3205 = CARTESIAN_POINT('',(1.414213562373,-1.)); -#3206 = DIRECTION('',(-1.,-0.)); -#3207 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#3208 = ORIENTED_EDGE('',*,*,#3209,.F.); -#3209 = EDGE_CURVE('',#3210,#3187,#3212,.T.); -#3210 = VERTEX_POINT('',#3211); -#3211 = CARTESIAN_POINT('',(1.351938181434,0.351938181434,1.)); -#3212 = SURFACE_CURVE('',#3213,(#3218,#3224),.PCURVE_S1.); -#3213 = CIRCLE('',#3214,0.497715749301); -#3214 = AXIS2_PLACEMENT_3D('',#3215,#3216,#3217); -#3215 = CARTESIAN_POINT('',(1.,0.,1.)); -#3216 = DIRECTION('',(0.,0.,1.)); -#3217 = DIRECTION('',(1.,0.,-0.)); -#3218 = PCURVE('',#781,#3219); -#3219 = DEFINITIONAL_REPRESENTATION('',(#3220),#3223); -#3220 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#3221,#3222),.UNSPECIFIED.,.F., - .F.,(2,2),(0.785398163397,2.356194490192),.PIECEWISE_BEZIER_KNOTS.); -#3221 = CARTESIAN_POINT('',(0.785398163397,0.)); -#3222 = CARTESIAN_POINT('',(2.356194490192,0.)); -#3223 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#3224 = PCURVE('',#3225,#3230); -#3225 = PLANE('',#3226); -#3226 = AXIS2_PLACEMENT_3D('',#3227,#3228,#3229); -#3227 = CARTESIAN_POINT('',(1.,1.,1.)); -#3228 = DIRECTION('',(0.,0.,1.)); -#3229 = DIRECTION('',(1.,0.,-0.)); -#3230 = DEFINITIONAL_REPRESENTATION('',(#3231),#3235); -#3231 = CIRCLE('',#3232,0.497715749301); -#3232 = AXIS2_PLACEMENT_2D('',#3233,#3234); -#3233 = CARTESIAN_POINT('',(0.,-1.)); -#3234 = DIRECTION('',(1.,0.)); -#3235 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#3236 = ORIENTED_EDGE('',*,*,#3237,.T.); -#3237 = EDGE_CURVE('',#3210,#2739,#3238,.T.); -#3238 = SURFACE_CURVE('',#3239,(#3244,#3250),.PCURVE_S1.); -#3239 = CIRCLE('',#3240,0.497715749301); -#3240 = AXIS2_PLACEMENT_3D('',#3241,#3242,#3243); -#3241 = CARTESIAN_POINT('',(1.,0.,1.)); -#3242 = DIRECTION('',(-0.707106781187,0.707106781187,0.)); -#3243 = DIRECTION('',(-0.707106781187,-0.707106781187,0.)); -#3244 = PCURVE('',#781,#3245); -#3245 = DEFINITIONAL_REPRESENTATION('',(#3246),#3249); -#3246 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#3247,#3248),.UNSPECIFIED.,.F., - .F.,(2,2),(3.14159265359,3.241478356014),.PIECEWISE_BEZIER_KNOTS.); -#3247 = CARTESIAN_POINT('',(0.785398163397,0.)); -#3248 = CARTESIAN_POINT('',(0.785398163397,-9.98857024243E-02)); -#3249 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#3250 = PCURVE('',#2756,#3251); -#3251 = DEFINITIONAL_REPRESENTATION('',(#3252),#3256); -#3252 = CIRCLE('',#3253,0.497715749301); -#3253 = AXIS2_PLACEMENT_2D('',#3254,#3255); -#3254 = CARTESIAN_POINT('',(0.,-1.)); -#3255 = DIRECTION('',(-1.,-0.)); -#3256 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#3257 = ORIENTED_EDGE('',*,*,#2980,.F.); -#3258 = ORIENTED_EDGE('',*,*,#2923,.F.); -#3259 = ADVANCED_FACE('',(#3260),#725,.F.); -#3260 = FACE_BOUND('',#3261,.F.); -#3261 = EDGE_LOOP('',(#3262,#3285,#3306,#3307,#3308)); -#3262 = ORIENTED_EDGE('',*,*,#3263,.F.); -#3263 = EDGE_CURVE('',#3264,#1046,#3266,.T.); -#3264 = VERTEX_POINT('',#3265); -#3265 = CARTESIAN_POINT('',(0.351938181434,0.648061818566,1.)); -#3266 = SURFACE_CURVE('',#3267,(#3272,#3279),.PCURVE_S1.); -#3267 = CIRCLE('',#3268,0.497715749301); -#3268 = AXIS2_PLACEMENT_3D('',#3269,#3270,#3271); -#3269 = CARTESIAN_POINT('',(0.,1.,1.)); -#3270 = DIRECTION('',(0.707106781187,0.707106781187,-0.)); -#3271 = DIRECTION('',(-0.707106781187,0.707106781187,0.)); -#3272 = PCURVE('',#725,#3273); -#3273 = DEFINITIONAL_REPRESENTATION('',(#3274),#3278); -#3274 = CIRCLE('',#3275,0.497715749301); -#3275 = AXIS2_PLACEMENT_2D('',#3276,#3277); -#3276 = CARTESIAN_POINT('',(0.,-1.)); -#3277 = DIRECTION('',(-1.,-0.)); -#3278 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#3279 = PCURVE('',#1013,#3280); -#3280 = DEFINITIONAL_REPRESENTATION('',(#3281),#3284); -#3281 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#3282,#3283),.UNSPECIFIED.,.F., - .F.,(2,2),(3.14159265359,3.241478356014),.PIECEWISE_BEZIER_KNOTS.); -#3282 = CARTESIAN_POINT('',(5.497787143782,0.)); -#3283 = CARTESIAN_POINT('',(5.497787143782,-9.98857024243E-02)); -#3284 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#3285 = ORIENTED_EDGE('',*,*,#3286,.T.); -#3286 = EDGE_CURVE('',#3264,#3187,#3287,.T.); -#3287 = SURFACE_CURVE('',#3288,(#3292,#3299),.PCURVE_S1.); -#3288 = LINE('',#3289,#3290); -#3289 = CARTESIAN_POINT('',(0.,1.,1.)); -#3290 = VECTOR('',#3291,1.); -#3291 = DIRECTION('',(0.707106781187,-0.707106781187,0.)); -#3292 = PCURVE('',#725,#3293); -#3293 = DEFINITIONAL_REPRESENTATION('',(#3294),#3298); -#3294 = LINE('',#3295,#3296); -#3295 = CARTESIAN_POINT('',(0.,-1.)); -#3296 = VECTOR('',#3297,1.); -#3297 = DIRECTION('',(1.,0.)); -#3298 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#3299 = PCURVE('',#3225,#3300); -#3300 = DEFINITIONAL_REPRESENTATION('',(#3301),#3305); -#3301 = LINE('',#3302,#3303); -#3302 = CARTESIAN_POINT('',(-1.,1.110223024625E-16)); -#3303 = VECTOR('',#3304,1.); -#3304 = DIRECTION('',(0.707106781187,-0.707106781187)); -#3305 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#3306 = ORIENTED_EDGE('',*,*,#3186,.F.); -#3307 = ORIENTED_EDGE('',*,*,#709,.F.); -#3308 = ORIENTED_EDGE('',*,*,#1095,.F.); -#3309 = ADVANCED_FACE('',(#3310),#1013,.F.); -#3310 = FACE_BOUND('',#3311,.F.); -#3311 = EDGE_LOOP('',(#3312,#3341,#3362,#3363,#3364,#3365)); -#3312 = ORIENTED_EDGE('',*,*,#3313,.T.); -#3313 = EDGE_CURVE('',#3314,#3316,#3318,.T.); -#3314 = VERTEX_POINT('',#3315); -#3315 = CARTESIAN_POINT('',(3.047629996336E-17,1.,0.502284250699)); -#3316 = VERTEX_POINT('',#3317); -#3317 = CARTESIAN_POINT('',(0.497715749301,1.,1.)); -#3318 = SURFACE_CURVE('',#3319,(#3324,#3330),.PCURVE_S1.); -#3319 = CIRCLE('',#3320,0.497715749301); -#3320 = AXIS2_PLACEMENT_3D('',#3321,#3322,#3323); -#3321 = CARTESIAN_POINT('',(0.,1.,1.)); -#3322 = DIRECTION('',(-2.449293598295E-16,-1.,0.)); -#3323 = DIRECTION('',(1.,-2.449293598295E-16,0.)); -#3324 = PCURVE('',#1013,#3325); -#3325 = DEFINITIONAL_REPRESENTATION('',(#3326),#3329); -#3326 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#3327,#3328),.UNSPECIFIED.,.F., - .F.,(2,2),(4.712388980385,6.28318530718),.PIECEWISE_BEZIER_KNOTS.); -#3327 = CARTESIAN_POINT('',(6.28318530718,-1.570796326795)); -#3328 = CARTESIAN_POINT('',(6.28318530718,8.881784197001E-16)); -#3329 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#3330 = PCURVE('',#3331,#3336); -#3331 = SPHERICAL_SURFACE('',#3332,0.497715749301); -#3332 = AXIS2_PLACEMENT_3D('',#3333,#3334,#3335); -#3333 = CARTESIAN_POINT('',(0.,1.,1.)); -#3334 = DIRECTION('',(0.,0.,1.)); -#3335 = DIRECTION('',(1.,0.,-0.)); -#3336 = DEFINITIONAL_REPRESENTATION('',(#3337),#3340); -#3337 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#3338,#3339),.UNSPECIFIED.,.F., - .F.,(2,2),(4.712388980385,6.28318530718),.PIECEWISE_BEZIER_KNOTS.); -#3338 = CARTESIAN_POINT('',(0.,-1.570796326795)); -#3339 = CARTESIAN_POINT('',(0.,8.881784197001E-16)); -#3340 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#3341 = ORIENTED_EDGE('',*,*,#3342,.F.); -#3342 = EDGE_CURVE('',#3264,#3316,#3343,.T.); -#3343 = SURFACE_CURVE('',#3344,(#3349,#3355),.PCURVE_S1.); -#3344 = CIRCLE('',#3345,0.497715749301); -#3345 = AXIS2_PLACEMENT_3D('',#3346,#3347,#3348); -#3346 = CARTESIAN_POINT('',(0.,1.,1.)); -#3347 = DIRECTION('',(0.,0.,1.)); -#3348 = DIRECTION('',(1.,0.,-0.)); -#3349 = PCURVE('',#1013,#3350); -#3350 = DEFINITIONAL_REPRESENTATION('',(#3351),#3354); -#3351 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#3352,#3353),.UNSPECIFIED.,.F., - .F.,(2,2),(5.497787143782,6.28318530718),.PIECEWISE_BEZIER_KNOTS.); -#3352 = CARTESIAN_POINT('',(5.497787143782,0.)); -#3353 = CARTESIAN_POINT('',(6.28318530718,0.)); -#3354 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#3355 = PCURVE('',#3225,#3356); -#3356 = DEFINITIONAL_REPRESENTATION('',(#3357),#3361); -#3357 = CIRCLE('',#3358,0.497715749301); -#3358 = AXIS2_PLACEMENT_2D('',#3359,#3360); -#3359 = CARTESIAN_POINT('',(-1.,1.110223024625E-16)); -#3360 = DIRECTION('',(1.,0.)); -#3361 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#3362 = ORIENTED_EDGE('',*,*,#3263,.T.); -#3363 = ORIENTED_EDGE('',*,*,#1045,.F.); -#3364 = ORIENTED_EDGE('',*,*,#983,.F.); -#3365 = ORIENTED_EDGE('',*,*,#3366,.T.); -#3366 = EDGE_CURVE('',#956,#3314,#3367,.T.); -#3367 = SURFACE_CURVE('',#3368,(#3373,#3379),.PCURVE_S1.); -#3368 = CIRCLE('',#3369,0.497715749301); -#3369 = AXIS2_PLACEMENT_3D('',#3370,#3371,#3372); -#3370 = CARTESIAN_POINT('',(0.,1.,1.)); -#3371 = DIRECTION('',(0.707106781187,0.707106781187,-0.)); -#3372 = DIRECTION('',(-0.707106781187,0.707106781187,0.)); -#3373 = PCURVE('',#1013,#3374); -#3374 = DEFINITIONAL_REPRESENTATION('',(#3375),#3378); -#3375 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#3376,#3377),.UNSPECIFIED.,.F., - .F.,(2,2),(4.272666368506,4.712388980385),.PIECEWISE_BEZIER_KNOTS.); -#3376 = CARTESIAN_POINT('',(5.497787143782,-1.131073714916)); -#3377 = CARTESIAN_POINT('',(5.497787143782,-1.570796326795)); -#3378 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#3379 = PCURVE('',#971,#3380); -#3380 = DEFINITIONAL_REPRESENTATION('',(#3381),#3385); -#3381 = CIRCLE('',#3382,0.497715749301); -#3382 = AXIS2_PLACEMENT_2D('',#3383,#3384); -#3383 = CARTESIAN_POINT('',(0.,-1.)); -#3384 = DIRECTION('',(-1.,-0.)); -#3385 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#3386 = ADVANCED_FACE('',(#3387),#971,.F.); -#3387 = FACE_BOUND('',#3388,.F.); -#3388 = EDGE_LOOP('',(#3389,#3390,#3411,#3412)); -#3389 = ORIENTED_EDGE('',*,*,#1390,.F.); -#3390 = ORIENTED_EDGE('',*,*,#3391,.T.); -#3391 = EDGE_CURVE('',#1369,#3314,#3392,.T.); -#3392 = SURFACE_CURVE('',#3393,(#3397,#3404),.PCURVE_S1.); -#3393 = LINE('',#3394,#3395); -#3394 = CARTESIAN_POINT('',(0.,1.,0.)); -#3395 = VECTOR('',#3396,1.); -#3396 = DIRECTION('',(0.,0.,1.)); -#3397 = PCURVE('',#971,#3398); -#3398 = DEFINITIONAL_REPRESENTATION('',(#3399),#3403); -#3399 = LINE('',#3400,#3401); -#3400 = CARTESIAN_POINT('',(0.,0.)); -#3401 = VECTOR('',#3402,1.); -#3402 = DIRECTION('',(0.,-1.)); -#3403 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#3404 = PCURVE('',#1434,#3405); -#3405 = DEFINITIONAL_REPRESENTATION('',(#3406),#3410); -#3406 = LINE('',#3407,#3408); -#3407 = CARTESIAN_POINT('',(1.414213562373,0.)); -#3408 = VECTOR('',#3409,1.); -#3409 = DIRECTION('',(0.,-1.)); -#3410 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#3411 = ORIENTED_EDGE('',*,*,#3366,.F.); -#3412 = ORIENTED_EDGE('',*,*,#955,.F.); -#3413 = ADVANCED_FACE('',(#3414,#3462,#3584,#3706,#3709),#1305,.F.); -#3414 = FACE_BOUND('',#3415,.F.); -#3415 = EDGE_LOOP('',(#3416,#3439,#3461)); -#3416 = ORIENTED_EDGE('',*,*,#3417,.F.); -#3417 = EDGE_CURVE('',#3418,#3418,#3420,.T.); -#3418 = VERTEX_POINT('',#3419); -#3419 = CARTESIAN_POINT('',(1.497715749301,1.,1.)); -#3420 = SURFACE_CURVE('',#3421,(#3426,#3432),.PCURVE_S1.); -#3421 = CIRCLE('',#3422,0.497715749301); -#3422 = AXIS2_PLACEMENT_3D('',#3423,#3424,#3425); -#3423 = CARTESIAN_POINT('',(1.,1.,1.)); -#3424 = DIRECTION('',(0.,0.,1.)); -#3425 = DIRECTION('',(1.,0.,-0.)); -#3426 = PCURVE('',#1305,#3427); -#3427 = DEFINITIONAL_REPRESENTATION('',(#3428),#3431); -#3428 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#3429,#3430),.UNSPECIFIED.,.F., - .F.,(2,2),(0.,6.28318530718),.PIECEWISE_BEZIER_KNOTS.); -#3429 = CARTESIAN_POINT('',(0.,0.)); -#3430 = CARTESIAN_POINT('',(6.28318530718,0.)); -#3431 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#3432 = PCURVE('',#3225,#3433); -#3433 = DEFINITIONAL_REPRESENTATION('',(#3434),#3438); -#3434 = CIRCLE('',#3435,0.497715749301); -#3435 = AXIS2_PLACEMENT_2D('',#3436,#3437); -#3436 = CARTESIAN_POINT('',(0.,1.110223024625E-16)); -#3437 = DIRECTION('',(1.,0.)); -#3438 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#3439 = ORIENTED_EDGE('',*,*,#3440,.F.); -#3440 = EDGE_CURVE('',#3441,#3418,#3443,.T.); -#3441 = VERTEX_POINT('',#3442); -#3442 = CARTESIAN_POINT('',(1.,1.,0.502284250699)); -#3443 = SEAM_CURVE('',#3444,(#3449,#3455),.PCURVE_S1.); -#3444 = CIRCLE('',#3445,0.497715749301); -#3445 = AXIS2_PLACEMENT_3D('',#3446,#3447,#3448); -#3446 = CARTESIAN_POINT('',(1.,1.,1.)); -#3447 = DIRECTION('',(-2.449293598295E-16,-1.,0.)); -#3448 = DIRECTION('',(1.,-2.449293598295E-16,0.)); -#3449 = PCURVE('',#1305,#3450); -#3450 = DEFINITIONAL_REPRESENTATION('',(#3451),#3454); -#3451 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#3452,#3453),.UNSPECIFIED.,.F., - .F.,(2,2),(4.712388980385,6.28318530718),.PIECEWISE_BEZIER_KNOTS.); -#3452 = CARTESIAN_POINT('',(6.28318530718,-1.570796326795)); -#3453 = CARTESIAN_POINT('',(6.28318530718,8.881784197001E-16)); -#3454 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#3455 = PCURVE('',#1305,#3456); -#3456 = DEFINITIONAL_REPRESENTATION('',(#3457),#3460); -#3457 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#3458,#3459),.UNSPECIFIED.,.F., - .F.,(2,2),(4.712388980385,6.28318530718),.PIECEWISE_BEZIER_KNOTS.); -#3458 = CARTESIAN_POINT('',(0.,-1.570796326795)); -#3459 = CARTESIAN_POINT('',(0.,8.881784197001E-16)); -#3460 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#3461 = ORIENTED_EDGE('',*,*,#3440,.T.); -#3462 = FACE_BOUND('',#3463,.F.); -#3463 = EDGE_LOOP('',(#3464)); -#3464 = ORIENTED_EDGE('',*,*,#3465,.F.); -#3465 = EDGE_CURVE('',#3466,#3466,#3468,.T.); -#3466 = VERTEX_POINT('',#3467); -#3467 = CARTESIAN_POINT('',(1.076476273809,1.423523726191,0.75)); -#3468 = SURFACE_CURVE('',#3469,(#3474,#3529),.PCURVE_S1.); -#3469 = CIRCLE('',#3470,0.245399606973); -#3470 = AXIS2_PLACEMENT_3D('',#3471,#3472,#3473); -#3471 = CARTESIAN_POINT('',(1.25,1.25,0.75)); -#3472 = DIRECTION('',(0.57735026919,0.57735026919,-0.57735026919)); -#3473 = DIRECTION('',(-0.707106781187,0.707106781187,0.)); -#3474 = PCURVE('',#1305,#3475); -#3475 = DEFINITIONAL_REPRESENTATION('',(#3476),#3528); -#3476 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#3477,#3478,#3479,#3480,#3481, - #3482,#3483,#3484,#3485,#3486,#3487,#3488,#3489,#3490,#3491,#3492, - #3493,#3494,#3495,#3496,#3497,#3498,#3499,#3500,#3501,#3502,#3503, - #3504,#3505,#3506,#3507,#3508,#3509,#3510,#3511,#3512,#3513,#3514, - #3515,#3516,#3517,#3518,#3519,#3520,#3521,#3522,#3523,#3524,#3525, - #3526,#3527),.UNSPECIFIED.,.T.,.F.,(9,7,7,7,7,7,7,9),(0., - 1.570796326795,2.748893571891,3.632466505713,4.29514620608, - 4.792155981355,5.537670644267,6.28318530718),.UNSPECIFIED.); -#3477 = CARTESIAN_POINT('',(1.392149972362,-0.526250539436)); -#3478 = CARTESIAN_POINT('',(1.355292390323,-0.434836468535)); -#3479 = CARTESIAN_POINT('',(1.302271725728,-0.348970381878)); -#3480 = CARTESIAN_POINT('',(1.236706361656,-0.271677081405)); -#3481 = CARTESIAN_POINT('',(1.160067174745,-0.205567417182)); -#3482 = CARTESIAN_POINT('',(1.073683160038,-0.153363467099)); -#3483 = CARTESIAN_POINT('',(0.979986413631,-0.11771252843)); -#3484 = CARTESIAN_POINT('',(0.882693604881,-9.98857024243E-02)); -#3485 = CARTESIAN_POINT('',(0.712426582285,-9.98857024243E-02)); -#3486 = CARTESIAN_POINT('',(0.639456037862,-0.109912993123)); -#3487 = CARTESIAN_POINT('',(0.568005103814,-0.129968523541)); -#3488 = CARTESIAN_POINT('',(0.49962305203,-0.159643456479)); -#3489 = CARTESIAN_POINT('',(0.435574493672,-0.198119299476)); -#3490 = CARTESIAN_POINT('',(0.376774883337,-0.244353709451)); -#3491 = CARTESIAN_POINT('',(0.323946386017,-0.297260025871)); -#3492 = CARTESIAN_POINT('',(0.243476522003,-0.39951000844)); -#3493 = CARTESIAN_POINT('',(0.212840602639,-0.446436995776)); -#3494 = CARTESIAN_POINT('',(0.186418982422,-0.49598958076)); -#3495 = CARTESIAN_POINT('',(0.164631239563,-0.547660341207)); -#3496 = CARTESIAN_POINT('',(0.148004300675,-0.600935264907)); -#3497 = CARTESIAN_POINT('',(0.137289624391,-0.655270502898)); -#3498 = CARTESIAN_POINT('',(0.133646664462,-0.710025012429)); -#3499 = CARTESIAN_POINT('',(0.142827073254,-0.805092147515)); -#3500 = CARTESIAN_POINT('',(0.151762848316,-0.845591709097)); -#3501 = CARTESIAN_POINT('',(0.166457537901,-0.885491798714)); -#3502 = CARTESIAN_POINT('',(0.187911544723,-0.924346878775)); -#3503 = CARTESIAN_POINT('',(0.21729825343,-0.96163658366)); -#3504 = CARTESIAN_POINT('',(0.256173599721,-0.996655132864)); -#3505 = CARTESIAN_POINT('',(0.306200847333,-1.028436652836)); -#3506 = CARTESIAN_POINT('',(0.413695549236,-1.076458375088)); -#3507 = CARTESIAN_POINT('',(0.466175301633,-1.094598247458)); -#3508 = CARTESIAN_POINT('',(0.525179711943,-1.109832823257)); -#3509 = CARTESIAN_POINT('',(0.590333526029,-1.121669527837)); -#3510 = CARTESIAN_POINT('',(0.660662403208,-1.12960671933)); -#3511 = CARTESIAN_POINT('',(0.733634249126,-1.133300100346)); -#3512 = CARTESIAN_POINT('',(0.80656233171,-1.13272816697)); -#3513 = CARTESIAN_POINT('',(0.98324424379,-1.121098265151)); -#3514 = CARTESIAN_POINT('',(1.084175567234,-1.104943213182)); -#3515 = CARTESIAN_POINT('',(1.172589375188,-1.080221313082)); -#3516 = CARTESIAN_POINT('',(1.243099355469,-1.04875826949)); -#3517 = CARTESIAN_POINT('',(1.298967449443,-1.012625673241)); -#3518 = CARTESIAN_POINT('',(1.341733848319,-0.972997243777)); -#3519 = CARTESIAN_POINT('',(1.373647724677,-0.930968368726)); -#3520 = CARTESIAN_POINT('',(1.419090700445,-0.843669726192)); -#3521 = CARTESIAN_POINT('',(1.432622953348,-0.798401959133)); -#3522 = CARTESIAN_POINT('',(1.43867942032,-0.752314092525)); -#3523 = CARTESIAN_POINT('',(1.438599711522,-0.705975469972)); -#3524 = CARTESIAN_POINT('',(1.433318707227,-0.659833705175)); -#3525 = CARTESIAN_POINT('',(1.423493659705,-0.614272116287)); -#3526 = CARTESIAN_POINT('',(1.409642926337,-0.569636514492)); -#3527 = CARTESIAN_POINT('',(1.392149972362,-0.526250539436)); -#3528 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#3529 = PCURVE('',#1862,#3530); -#3530 = DEFINITIONAL_REPRESENTATION('',(#3531),#3583); -#3531 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#3532,#3533,#3534,#3535,#3536, - #3537,#3538,#3539,#3540,#3541,#3542,#3543,#3544,#3545,#3546,#3547, - #3548,#3549,#3550,#3551,#3552,#3553,#3554,#3555,#3556,#3557,#3558, - #3559,#3560,#3561,#3562,#3563,#3564,#3565,#3566,#3567,#3568,#3569, - #3570,#3571,#3572,#3573,#3574,#3575,#3576,#3577,#3578,#3579,#3580, - #3581,#3582),.UNSPECIFIED.,.T.,.F.,(9,7,7,7,7,7,7,9),(0., - 0.785398163397,1.47262155637,1.773281790796,2.337019730344, - 3.323561124553,4.803373215866,6.28318530718),.UNSPECIFIED.); -#3532 = CARTESIAN_POINT('',(3.320239008023,0.526250539436)); -#3533 = CARTESIAN_POINT('',(3.301810217003,0.571957574886)); -#3534 = CARTESIAN_POINT('',(3.287424336321,0.619051486728)); -#3535 = CARTESIAN_POINT('',(3.27752646457,0.667154048102)); -#3536 = CARTESIAN_POINT('',(3.272738387398,0.715859131219)); -#3537 = CARTESIAN_POINT('',(3.273839684183,0.764714154902)); -#3538 = CARTESIAN_POINT('',(3.281974022517,0.813183583818)); -#3539 = CARTESIAN_POINT('',(3.298823673939,0.860569413232)); -#3540 = CARTESIAN_POINT('',(3.35070794348,0.945495962948)); -#3541 = CARTESIAN_POINT('',(3.38320649876,0.983525933721)); -#3542 = CARTESIAN_POINT('',(3.42537053617,1.019288412062)); -#3543 = CARTESIAN_POINT('',(3.478909830108,1.051892094285)); -#3544 = CARTESIAN_POINT('',(3.545127036545,1.080336025805)); -#3545 = CARTESIAN_POINT('',(3.62589308732,1.103057018853)); -#3546 = CARTESIAN_POINT('',(3.71748200117,1.118654821906)); -#3547 = CARTESIAN_POINT('',(3.856667484544,1.129992221487)); -#3548 = CARTESIAN_POINT('',(3.900028914676,1.131966648293)); -#3549 = CARTESIAN_POINT('',(3.94392781882,1.13241451425)); -#3550 = CARTESIAN_POINT('',(3.987809406822,1.131313596186)); -#3551 = CARTESIAN_POINT('',(4.031107760495,1.128676183559)); -#3552 = CARTESIAN_POINT('',(4.073308160682,1.124548763764)); -#3553 = CARTESIAN_POINT('',(4.113991236073,1.119005131664)); -#3554 = CARTESIAN_POINT('',(4.225735867034,1.099247532764)); -#3555 = CARTESIAN_POINT('',(4.29222745018,1.081691979456)); -#3556 = CARTESIAN_POINT('',(4.35033219604,1.060046176974)); -#3557 = CARTESIAN_POINT('',(4.399415640943,1.035093755123)); -#3558 = CARTESIAN_POINT('',(4.440290746101,1.007559551015)); -#3559 = CARTESIAN_POINT('',(4.473748931018,0.978009692444)); -#3560 = CARTESIAN_POINT('',(4.500691383454,0.946919579642)); -#3561 = CARTESIAN_POINT('',(4.559013573557,0.858245209992)); -#3562 = CARTESIAN_POINT('',(4.578566185229,0.798278707787)); -#3563 = CARTESIAN_POINT('',(4.584802762171,0.736848355707)); -#3564 = CARTESIAN_POINT('',(4.581060816538,0.675222690908)); -#3565 = CARTESIAN_POINT('',(4.568967103907,0.614333671894)); -#3566 = CARTESIAN_POINT('',(4.549883488489,0.554994019433)); -#3567 = CARTESIAN_POINT('',(4.524606664975,0.497939306714)); -#3568 = CARTESIAN_POINT('',(4.447593377722,0.362779122867)); -#3569 = CARTESIAN_POINT('',(4.388944329766,0.288411396327)); -#3570 = CARTESIAN_POINT('',(4.320037630519,0.223151407893)); -#3571 = CARTESIAN_POINT('',(4.24212066433,0.169192050788)); -#3572 = CARTESIAN_POINT('',(4.156552715474,0.128754854579)); -#3573 = CARTESIAN_POINT('',(4.065896810591,0.103721726355)); -#3574 = CARTESIAN_POINT('',(3.97336561058,9.475830402537E-02)); -#3575 = CARTESIAN_POINT('',(3.790525371374,0.108360336437)); -#3576 = CARTESIAN_POINT('',(3.70021787307,0.130923118231)); -#3577 = CARTESIAN_POINT('',(3.614017057581,0.168951467086)); -#3578 = CARTESIAN_POINT('',(3.534788196236,0.221095759914)); -#3579 = CARTESIAN_POINT('',(3.464418071753,0.285201738956)); -#3580 = CARTESIAN_POINT('',(3.404028758096,0.358934034507)); -#3581 = CARTESIAN_POINT('',(3.354961711805,0.440131387559)); -#3582 = CARTESIAN_POINT('',(3.320239008023,0.526250539436)); -#3583 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#3584 = FACE_BOUND('',#3585,.F.); -#3585 = EDGE_LOOP('',(#3586)); -#3586 = ORIENTED_EDGE('',*,*,#3587,.F.); -#3587 = EDGE_CURVE('',#3588,#3588,#3590,.T.); -#3588 = VERTEX_POINT('',#3589); -#3589 = CARTESIAN_POINT('',(0.576476273809,1.076476273809,0.75)); -#3590 = SURFACE_CURVE('',#3591,(#3596,#3651),.PCURVE_S1.); -#3591 = CIRCLE('',#3592,0.245399606973); -#3592 = AXIS2_PLACEMENT_3D('',#3593,#3594,#3595); -#3593 = CARTESIAN_POINT('',(0.75,1.25,0.75)); -#3594 = DIRECTION('',(-0.57735026919,0.57735026919,-0.57735026919)); -#3595 = DIRECTION('',(-0.707106781187,-0.707106781187,0.)); -#3596 = PCURVE('',#1305,#3597); -#3597 = DEFINITIONAL_REPRESENTATION('',(#3598),#3650); -#3598 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#3599,#3600,#3601,#3602,#3603, - #3604,#3605,#3606,#3607,#3608,#3609,#3610,#3611,#3612,#3613,#3614, - #3615,#3616,#3617,#3618,#3619,#3620,#3621,#3622,#3623,#3624,#3625, - #3626,#3627,#3628,#3629,#3630,#3631,#3632,#3633,#3634,#3635,#3636, - #3637,#3638,#3639,#3640,#3641,#3642,#3643,#3644,#3645,#3646,#3647, - #3648,#3649),.UNSPECIFIED.,.F.,.F.,(9,7,7,7,7,7,7,9),(0., - 1.570796326795,2.748893571891,3.632466505713,4.29514620608, - 4.792155981355,5.537670644267,6.28318530718),.UNSPECIFIED.); -#3599 = CARTESIAN_POINT('',(2.962946299157,-0.526250539436)); -#3600 = CARTESIAN_POINT('',(2.926088717118,-0.434836468535)); -#3601 = CARTESIAN_POINT('',(2.873068052523,-0.348970381878)); -#3602 = CARTESIAN_POINT('',(2.807502688455,-0.271677081405)); -#3603 = CARTESIAN_POINT('',(2.730863501536,-0.205567417182)); -#3604 = CARTESIAN_POINT('',(2.644479486835,-0.153363467099)); -#3605 = CARTESIAN_POINT('',(2.550782740426,-0.11771252843)); -#3606 = CARTESIAN_POINT('',(2.453489931676,-9.98857024243E-02)); -#3607 = CARTESIAN_POINT('',(2.28322290908,-9.98857024243E-02)); -#3608 = CARTESIAN_POINT('',(2.210252364657,-0.109912993123)); -#3609 = CARTESIAN_POINT('',(2.138801430609,-0.129968523541)); -#3610 = CARTESIAN_POINT('',(2.070419378824,-0.159643456479)); -#3611 = CARTESIAN_POINT('',(2.006370820467,-0.198119299476)); -#3612 = CARTESIAN_POINT('',(1.947571210132,-0.244353709451)); -#3613 = CARTESIAN_POINT('',(1.894742712812,-0.297260025871)); -#3614 = CARTESIAN_POINT('',(1.814272848798,-0.39951000844)); -#3615 = CARTESIAN_POINT('',(1.783636929434,-0.446436995776)); -#3616 = CARTESIAN_POINT('',(1.757215309217,-0.49598958076)); -#3617 = CARTESIAN_POINT('',(1.735427566358,-0.547660341207)); -#3618 = CARTESIAN_POINT('',(1.71880062747,-0.600935264907)); -#3619 = CARTESIAN_POINT('',(1.708085951186,-0.655270502898)); -#3620 = CARTESIAN_POINT('',(1.704442991257,-0.710025012429)); -#3621 = CARTESIAN_POINT('',(1.713623400049,-0.805092147515)); -#3622 = CARTESIAN_POINT('',(1.722559175111,-0.845591709097)); -#3623 = CARTESIAN_POINT('',(1.737253864696,-0.885491798714)); -#3624 = CARTESIAN_POINT('',(1.758707871518,-0.924346878775)); -#3625 = CARTESIAN_POINT('',(1.788094580225,-0.96163658366)); -#3626 = CARTESIAN_POINT('',(1.826969926516,-0.996655132864)); -#3627 = CARTESIAN_POINT('',(1.876997174128,-1.028436652836)); -#3628 = CARTESIAN_POINT('',(1.984491876031,-1.076458375088)); -#3629 = CARTESIAN_POINT('',(2.036971628426,-1.094598247458)); -#3630 = CARTESIAN_POINT('',(2.09597603874,-1.109832823259)); -#3631 = CARTESIAN_POINT('',(2.161129852811,-1.12166952783)); -#3632 = CARTESIAN_POINT('',(2.231458730003,-1.129606719332)); -#3633 = CARTESIAN_POINT('',(2.304430575921,-1.133300100345)); -#3634 = CARTESIAN_POINT('',(2.377358658505,-1.13272816697)); -#3635 = CARTESIAN_POINT('',(2.554040570585,-1.121098265151)); -#3636 = CARTESIAN_POINT('',(2.65497189403,-1.104943213183)); -#3637 = CARTESIAN_POINT('',(2.743385701975,-1.080221313079)); -#3638 = CARTESIAN_POINT('',(2.813895682277,-1.048758269498)); -#3639 = CARTESIAN_POINT('',(2.869763776229,-1.012625673238)); -#3640 = CARTESIAN_POINT('',(2.912530175116,-0.972997243778)); -#3641 = CARTESIAN_POINT('',(2.944444051472,-0.930968368726)); -#3642 = CARTESIAN_POINT('',(2.98988702724,-0.843669726192)); -#3643 = CARTESIAN_POINT('',(3.003419280143,-0.798401959133)); -#3644 = CARTESIAN_POINT('',(3.009475747116,-0.752314092526)); -#3645 = CARTESIAN_POINT('',(3.009396038317,-0.705975469972)); -#3646 = CARTESIAN_POINT('',(3.004115034022,-0.659833705175)); -#3647 = CARTESIAN_POINT('',(2.9942899865,-0.614272116287)); -#3648 = CARTESIAN_POINT('',(2.980439253132,-0.569636514492)); -#3649 = CARTESIAN_POINT('',(2.962946299157,-0.526250539436)); -#3650 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#3651 = PCURVE('',#1513,#3652); -#3652 = DEFINITIONAL_REPRESENTATION('',(#3653),#3705); -#3653 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#3654,#3655,#3656,#3657,#3658, - #3659,#3660,#3661,#3662,#3663,#3664,#3665,#3666,#3667,#3668,#3669, - #3670,#3671,#3672,#3673,#3674,#3675,#3676,#3677,#3678,#3679,#3680, - #3681,#3682,#3683,#3684,#3685,#3686,#3687,#3688,#3689,#3690,#3691, - #3692,#3693,#3694,#3695,#3696,#3697,#3698,#3699,#3700,#3701,#3702, - #3703,#3704),.UNSPECIFIED.,.T.,.F.,(9,7,7,7,7,7,7,9),(0., - 0.785398163397,1.47262155637,1.773281790796,2.337019730344, - 3.323561124553,4.803373215866,6.28318530718),.UNSPECIFIED.); -#3654 = CARTESIAN_POINT('',(4.891035334818,0.526250539436)); -#3655 = CARTESIAN_POINT('',(4.872606543798,0.571957574886)); -#3656 = CARTESIAN_POINT('',(4.858220663116,0.619051486728)); -#3657 = CARTESIAN_POINT('',(4.848322791365,0.667154048102)); -#3658 = CARTESIAN_POINT('',(4.843534714193,0.715859131219)); -#3659 = CARTESIAN_POINT('',(4.844636010978,0.764714154902)); -#3660 = CARTESIAN_POINT('',(4.852770349312,0.813183583818)); -#3661 = CARTESIAN_POINT('',(4.869620000734,0.860569413232)); -#3662 = CARTESIAN_POINT('',(4.921504270275,0.945495962948)); -#3663 = CARTESIAN_POINT('',(4.954002825554,0.98352593372)); -#3664 = CARTESIAN_POINT('',(4.996166862964,1.019288412065)); -#3665 = CARTESIAN_POINT('',(5.049706156893,1.051892094282)); -#3666 = CARTESIAN_POINT('',(5.115923363337,1.080336025806)); -#3667 = CARTESIAN_POINT('',(5.196689414111,1.103057018853)); -#3668 = CARTESIAN_POINT('',(5.288278327965,1.118654821906)); -#3669 = CARTESIAN_POINT('',(5.427463811339,1.129992221487)); -#3670 = CARTESIAN_POINT('',(5.470825241471,1.131966648293)); -#3671 = CARTESIAN_POINT('',(5.514724145615,1.13241451425)); -#3672 = CARTESIAN_POINT('',(5.558605733616,1.131313596186)); -#3673 = CARTESIAN_POINT('',(5.60190408729,1.128676183559)); -#3674 = CARTESIAN_POINT('',(5.644104487477,1.124548763764)); -#3675 = CARTESIAN_POINT('',(5.684787562868,1.119005131664)); -#3676 = CARTESIAN_POINT('',(5.796532193829,1.099247532764)); -#3677 = CARTESIAN_POINT('',(5.863023776972,1.081691979454)); -#3678 = CARTESIAN_POINT('',(5.921128522834,1.060046176977)); -#3679 = CARTESIAN_POINT('',(5.97021196772,1.035093755114)); -#3680 = CARTESIAN_POINT('',(6.0110870729,1.00755955102)); -#3681 = CARTESIAN_POINT('',(6.04454525781,0.978009692443)); -#3682 = CARTESIAN_POINT('',(6.071487710249,0.946919579642)); -#3683 = CARTESIAN_POINT('',(6.129809900352,0.858245209992)); -#3684 = CARTESIAN_POINT('',(6.149362512022,0.798278707787)); -#3685 = CARTESIAN_POINT('',(6.155599088994,0.736848355706)); -#3686 = CARTESIAN_POINT('',(6.151857143308,0.675222690909)); -#3687 = CARTESIAN_POINT('',(6.139763430721,0.614333671893)); -#3688 = CARTESIAN_POINT('',(6.120679815275,0.554994019434)); -#3689 = CARTESIAN_POINT('',(6.09540299177,0.497939306714)); -#3690 = CARTESIAN_POINT('',(6.018389704517,0.362779122867)); -#3691 = CARTESIAN_POINT('',(5.959740656554,0.288411396327)); -#3692 = CARTESIAN_POINT('',(5.890833957335,0.223151407893)); -#3693 = CARTESIAN_POINT('',(5.812916991097,0.169192050788)); -#3694 = CARTESIAN_POINT('',(5.727349042281,0.12875485458)); -#3695 = CARTESIAN_POINT('',(5.636693137378,0.103721726355)); -#3696 = CARTESIAN_POINT('',(5.544161937375,9.475830402537E-02)); -#3697 = CARTESIAN_POINT('',(5.361321698169,0.108360336437)); -#3698 = CARTESIAN_POINT('',(5.271014199865,0.130923118231)); -#3699 = CARTESIAN_POINT('',(5.184813384376,0.168951467086)); -#3700 = CARTESIAN_POINT('',(5.10558452303,0.221095759914)); -#3701 = CARTESIAN_POINT('',(5.035214398547,0.285201738956)); -#3702 = CARTESIAN_POINT('',(4.974825084891,0.358934034507)); -#3703 = CARTESIAN_POINT('',(4.9257580386,0.440131387559)); -#3704 = CARTESIAN_POINT('',(4.891035334818,0.526250539436)); -#3705 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#3706 = FACE_BOUND('',#3707,.F.); -#3707 = EDGE_LOOP('',(#3708)); -#3708 = ORIENTED_EDGE('',*,*,#1240,.F.); -#3709 = FACE_BOUND('',#3710,.F.); -#3710 = EDGE_LOOP('',(#3711)); -#3711 = ORIENTED_EDGE('',*,*,#3033,.F.); -#3712 = ADVANCED_FACE('',(#3713),#1434,.F.); -#3713 = FACE_BOUND('',#3714,.F.); -#3714 = EDGE_LOOP('',(#3715,#3716,#3717,#3740)); -#3715 = ORIENTED_EDGE('',*,*,#3391,.F.); -#3716 = ORIENTED_EDGE('',*,*,#1418,.F.); -#3717 = ORIENTED_EDGE('',*,*,#3718,.F.); -#3718 = EDGE_CURVE('',#3719,#1419,#3721,.T.); -#3719 = VERTEX_POINT('',#3720); -#3720 = CARTESIAN_POINT('',(0.149816029973,1.149816029973,0.549632059945 - )); -#3721 = SURFACE_CURVE('',#3722,(#3727,#3734),.PCURVE_S1.); -#3722 = CIRCLE('',#3723,0.497715749301); -#3723 = AXIS2_PLACEMENT_3D('',#3724,#3725,#3726); -#3724 = CARTESIAN_POINT('',(0.5,1.5,0.5)); -#3725 = DIRECTION('',(0.707106781187,-0.707106781187,0.)); -#3726 = DIRECTION('',(0.707106781187,0.707106781187,0.)); -#3727 = PCURVE('',#1434,#3728); -#3728 = DEFINITIONAL_REPRESENTATION('',(#3729),#3733); -#3729 = CIRCLE('',#3730,0.497715749301); -#3730 = AXIS2_PLACEMENT_2D('',#3731,#3732); -#3731 = CARTESIAN_POINT('',(0.707106781187,-0.5)); -#3732 = DIRECTION('',(-1.,0.)); -#3733 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#3734 = PCURVE('',#1513,#3735); -#3735 = DEFINITIONAL_REPRESENTATION('',(#3736),#3739); -#3736 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#3737,#3738),.UNSPECIFIED.,.F., - .F.,(2,2),(3.041706951165,3.241478356014),.PIECEWISE_BEZIER_KNOTS.); -#3737 = CARTESIAN_POINT('',(3.926990816987,9.98857024243E-02)); -#3738 = CARTESIAN_POINT('',(3.926990816987,-9.98857024243E-02)); -#3739 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#3740 = ORIENTED_EDGE('',*,*,#3741,.F.); -#3741 = EDGE_CURVE('',#3314,#3719,#3742,.T.); -#3742 = SURFACE_CURVE('',#3743,(#3748,#3755),.PCURVE_S1.); -#3743 = CIRCLE('',#3744,0.497715749301); -#3744 = AXIS2_PLACEMENT_3D('',#3745,#3746,#3747); -#3745 = CARTESIAN_POINT('',(0.,1.,1.)); -#3746 = DIRECTION('',(0.707106781187,-0.707106781187,0.)); -#3747 = DIRECTION('',(0.707106781187,0.707106781187,0.)); -#3748 = PCURVE('',#1434,#3749); -#3749 = DEFINITIONAL_REPRESENTATION('',(#3750),#3754); -#3750 = CIRCLE('',#3751,0.497715749301); -#3751 = AXIS2_PLACEMENT_2D('',#3752,#3753); -#3752 = CARTESIAN_POINT('',(1.414213562373,-1.)); -#3753 = DIRECTION('',(-1.,0.)); -#3754 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#3755 = PCURVE('',#3331,#3756); -#3756 = DEFINITIONAL_REPRESENTATION('',(#3757),#3760); -#3757 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#3758,#3759),.UNSPECIFIED.,.F., - .F.,(2,2),(4.712388980385,5.152111592263),.PIECEWISE_BEZIER_KNOTS.); -#3758 = CARTESIAN_POINT('',(0.785398163397,-1.570796326795)); -#3759 = CARTESIAN_POINT('',(0.785398163397,-1.131073714916)); -#3760 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#3761 = ADVANCED_FACE('',(#3762,#3893,#3896),#1513,.F.); -#3762 = FACE_BOUND('',#3763,.F.); -#3763 = EDGE_LOOP('',(#3764,#3786,#3814,#3890,#3891,#3892)); -#3764 = ORIENTED_EDGE('',*,*,#3765,.T.); -#3765 = EDGE_CURVE('',#1580,#3766,#3768,.T.); -#3766 = VERTEX_POINT('',#3767); -#3767 = CARTESIAN_POINT('',(0.5,1.5,0.997715749301)); -#3768 = SURFACE_CURVE('',#3769,(#3774,#3780),.PCURVE_S1.); -#3769 = CIRCLE('',#3770,0.497715749301); -#3770 = AXIS2_PLACEMENT_3D('',#3771,#3772,#3773); -#3771 = CARTESIAN_POINT('',(0.5,1.5,0.5)); -#3772 = DIRECTION('',(-2.449293598295E-16,-1.,0.)); -#3773 = DIRECTION('',(1.,-2.449293598295E-16,0.)); -#3774 = PCURVE('',#1513,#3775); -#3775 = DEFINITIONAL_REPRESENTATION('',(#3776),#3779); -#3776 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#3777,#3778),.UNSPECIFIED.,.F., - .F.,(2,2),(4.712388980385,7.853981633974),.PIECEWISE_BEZIER_KNOTS.); -#3777 = CARTESIAN_POINT('',(6.28318530718,-1.570796326795)); -#3778 = CARTESIAN_POINT('',(6.28318530718,1.570796326795)); -#3779 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#3780 = PCURVE('',#1596,#3781); -#3781 = DEFINITIONAL_REPRESENTATION('',(#3782),#3785); -#3782 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#3783,#3784),.UNSPECIFIED.,.F., - .F.,(2,2),(4.712388980385,7.853981633974),.PIECEWISE_BEZIER_KNOTS.); -#3783 = CARTESIAN_POINT('',(0.,-1.570796326795)); -#3784 = CARTESIAN_POINT('',(0.,1.570796326795)); -#3785 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#3786 = ORIENTED_EDGE('',*,*,#3787,.T.); -#3787 = EDGE_CURVE('',#3766,#3788,#3790,.T.); -#3788 = VERTEX_POINT('',#3789); -#3789 = CARTESIAN_POINT('',(0.350183970027,1.350183970027,0.950367940055 - )); -#3790 = SURFACE_CURVE('',#3791,(#3796,#3802),.PCURVE_S1.); -#3791 = CIRCLE('',#3792,0.497715749301); -#3792 = AXIS2_PLACEMENT_3D('',#3793,#3794,#3795); -#3793 = CARTESIAN_POINT('',(0.5,1.5,0.5)); -#3794 = DIRECTION('',(0.707106781187,-0.707106781187,0.)); -#3795 = DIRECTION('',(0.707106781187,0.707106781187,0.)); -#3796 = PCURVE('',#1513,#3797); -#3797 = DEFINITIONAL_REPRESENTATION('',(#3798),#3801); -#3798 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#3799,#3800),.UNSPECIFIED.,.F., - .F.,(2,2),(1.570796326795,2.010518938673),.PIECEWISE_BEZIER_KNOTS.); -#3799 = CARTESIAN_POINT('',(3.926990816987,1.570796326795)); -#3800 = CARTESIAN_POINT('',(3.926990816987,1.131073714916)); -#3801 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#3802 = PCURVE('',#3803,#3808); -#3803 = PLANE('',#3804); -#3804 = AXIS2_PLACEMENT_3D('',#3805,#3806,#3807); -#3805 = CARTESIAN_POINT('',(1.,2.,0.)); -#3806 = DIRECTION('',(0.707106781187,-0.707106781187,0.)); -#3807 = DIRECTION('',(-0.707106781187,-0.707106781187,0.)); -#3808 = DEFINITIONAL_REPRESENTATION('',(#3809),#3813); -#3809 = CIRCLE('',#3810,0.497715749301); -#3810 = AXIS2_PLACEMENT_2D('',#3811,#3812); -#3811 = CARTESIAN_POINT('',(0.707106781187,-0.5)); -#3812 = DIRECTION('',(-1.,0.)); -#3813 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#3814 = ORIENTED_EDGE('',*,*,#3815,.T.); -#3815 = EDGE_CURVE('',#3788,#3719,#3816,.T.); -#3816 = SURFACE_CURVE('',#3817,(#3822,#3856),.PCURVE_S1.); -#3817 = CIRCLE('',#3818,0.245399606973); -#3818 = AXIS2_PLACEMENT_3D('',#3819,#3820,#3821); -#3819 = CARTESIAN_POINT('',(0.25,1.25,0.75)); -#3820 = DIRECTION('',(0.57735026919,0.57735026919,-0.57735026919)); -#3821 = DIRECTION('',(-0.707106781187,0.707106781187,0.)); -#3822 = PCURVE('',#1513,#3823); -#3823 = DEFINITIONAL_REPRESENTATION('',(#3824),#3855); -#3824 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#3825,#3826,#3827,#3828,#3829, - #3830,#3831,#3832,#3833,#3834,#3835,#3836,#3837,#3838,#3839,#3840, - #3841,#3842,#3843,#3844,#3845,#3846,#3847,#3848,#3849,#3850,#3851, - #3852,#3853,#3854),.UNSPECIFIED.,.F.,.F.,(9,7,7,7,9),(1.570796326795 - ,1.773281790796,2.337019730344,3.323561124553,4.712388980385), - .UNSPECIFIED.); -#3825 = CARTESIAN_POINT('',(3.926990971238,1.131073703941)); -#3826 = CARTESIAN_POINT('',(3.956307007934,1.131073697041)); -#3827 = CARTESIAN_POINT('',(3.985622874985,1.130381305025)); -#3828 = CARTESIAN_POINT('',(4.014775684749,1.128996539065)); -#3829 = CARTESIAN_POINT('',(4.043602937815,1.126926039078)); -#3830 = CARTESIAN_POINT('',(4.071951209479,1.124183048721)); -#3831 = CARTESIAN_POINT('',(4.099683140078,1.120786776824)); -#3832 = CARTESIAN_POINT('',(4.126682729208,1.116761145276)); -#3833 = CARTESIAN_POINT('',(4.225735867034,1.099247532764)); -#3834 = CARTESIAN_POINT('',(4.292227450188,1.081691979456)); -#3835 = CARTESIAN_POINT('',(4.350332196005,1.060046176974)); -#3836 = CARTESIAN_POINT('',(4.399415640979,1.035093755123)); -#3837 = CARTESIAN_POINT('',(4.440290746074,1.007559551015)); -#3838 = CARTESIAN_POINT('',(4.473748931026,0.978009692444)); -#3839 = CARTESIAN_POINT('',(4.500691383454,0.946919579642)); -#3840 = CARTESIAN_POINT('',(4.559013573557,0.858245209992)); -#3841 = CARTESIAN_POINT('',(4.578566185224,0.798278707788)); -#3842 = CARTESIAN_POINT('',(4.584802762189,0.736848355699)); -#3843 = CARTESIAN_POINT('',(4.581060816516,0.675222690914)); -#3844 = CARTESIAN_POINT('',(4.568967103925,0.614333671887)); -#3845 = CARTESIAN_POINT('',(4.549883488483,0.554994019435)); -#3846 = CARTESIAN_POINT('',(4.524606664975,0.497939306714)); -#3847 = CARTESIAN_POINT('',(4.450434412109,0.367765207006)); -#3848 = CARTESIAN_POINT('',(4.396109213565,0.297581628432)); -#3849 = CARTESIAN_POINT('',(4.332630698248,0.235291408249)); -#3850 = CARTESIAN_POINT('',(4.261077600675,0.182716794854)); -#3851 = CARTESIAN_POINT('',(4.182565483175,0.141691993265)); -#3852 = CARTESIAN_POINT('',(4.099039774168,0.113821140403)); -#3853 = CARTESIAN_POINT('',(4.013015026081,9.988571735228E-02)); -#3854 = CARTESIAN_POINT('',(3.926990776221,9.988571523101E-02)); -#3855 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#3856 = PCURVE('',#3331,#3857); -#3857 = DEFINITIONAL_REPRESENTATION('',(#3858),#3889); -#3858 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#3859,#3860,#3861,#3862,#3863, - #3864,#3865,#3866,#3867,#3868,#3869,#3870,#3871,#3872,#3873,#3874, - #3875,#3876,#3877,#3878,#3879,#3880,#3881,#3882,#3883,#3884,#3885, - #3886,#3887,#3888),.UNSPECIFIED.,.F.,.F.,(9,7,7,7,9),(1.570796326795 - ,2.748893571891,3.632466505713,4.29514620608,4.712388980385), - .UNSPECIFIED.); -#3859 = CARTESIAN_POINT('',(0.785398163397,-9.98857024243E-02)); -#3860 = CARTESIAN_POINT('',(0.712426582285,-9.98857024243E-02)); -#3861 = CARTESIAN_POINT('',(0.639456037862,-0.109912993123)); -#3862 = CARTESIAN_POINT('',(0.568005103814,-0.129968523541)); -#3863 = CARTESIAN_POINT('',(0.49962305203,-0.159643456479)); -#3864 = CARTESIAN_POINT('',(0.435574493672,-0.198119299476)); -#3865 = CARTESIAN_POINT('',(0.376774883337,-0.244353709451)); -#3866 = CARTESIAN_POINT('',(0.323946386017,-0.297260025871)); -#3867 = CARTESIAN_POINT('',(0.243476522003,-0.39951000844)); -#3868 = CARTESIAN_POINT('',(0.212840602639,-0.446436995776)); -#3869 = CARTESIAN_POINT('',(0.186418982422,-0.49598958076)); -#3870 = CARTESIAN_POINT('',(0.164631239563,-0.547660341207)); -#3871 = CARTESIAN_POINT('',(0.148004300675,-0.600935264907)); -#3872 = CARTESIAN_POINT('',(0.137289624391,-0.655270502898)); -#3873 = CARTESIAN_POINT('',(0.133646664462,-0.710025012429)); -#3874 = CARTESIAN_POINT('',(0.142827073254,-0.805092147515)); -#3875 = CARTESIAN_POINT('',(0.151762848316,-0.845591709097)); -#3876 = CARTESIAN_POINT('',(0.166457537901,-0.885491798714)); -#3877 = CARTESIAN_POINT('',(0.187911544723,-0.924346878775)); -#3878 = CARTESIAN_POINT('',(0.21729825343,-0.96163658366)); -#3879 = CARTESIAN_POINT('',(0.256173599721,-0.996655132864)); -#3880 = CARTESIAN_POINT('',(0.306200847333,-1.028436652836)); -#3881 = CARTESIAN_POINT('',(0.406301733761,-1.073155293663)); -#3882 = CARTESIAN_POINT('',(0.449495074824,-1.088712699901)); -#3883 = CARTESIAN_POINT('',(0.497273901183,-1.102275070881)); -#3884 = CARTESIAN_POINT('',(0.549462654695,-1.11355364271)); -#3885 = CARTESIAN_POINT('',(0.605596960484,-1.122253627058)); -#3886 = CARTESIAN_POINT('',(0.664580689117,-1.128133742013)); -#3887 = CARTESIAN_POINT('',(0.724989401912,-1.131073737708)); -#3888 = CARTESIAN_POINT('',(0.785398148769,-1.131073722024)); -#3889 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#3890 = ORIENTED_EDGE('',*,*,#3718,.T.); -#3891 = ORIENTED_EDGE('',*,*,#1471,.T.); -#3892 = ORIENTED_EDGE('',*,*,#1607,.T.); -#3893 = FACE_BOUND('',#3894,.F.); -#3894 = EDGE_LOOP('',(#3895)); -#3895 = ORIENTED_EDGE('',*,*,#2319,.T.); -#3896 = FACE_BOUND('',#3897,.F.); -#3897 = EDGE_LOOP('',(#3898)); -#3898 = ORIENTED_EDGE('',*,*,#3587,.T.); -#3899 = ADVANCED_FACE('',(#3900),#1596,.F.); -#3900 = FACE_BOUND('',#3901,.F.); -#3901 = EDGE_LOOP('',(#3902,#3903,#3904,#3905,#3906,#3929,#3991,#4041)); -#3902 = ORIENTED_EDGE('',*,*,#3765,.F.); -#3903 = ORIENTED_EDGE('',*,*,#1579,.T.); -#3904 = ORIENTED_EDGE('',*,*,#1740,.T.); -#3905 = ORIENTED_EDGE('',*,*,#1690,.T.); -#3906 = ORIENTED_EDGE('',*,*,#3907,.T.); -#3907 = EDGE_CURVE('',#1663,#3908,#3910,.T.); -#3908 = VERTEX_POINT('',#3909); -#3909 = CARTESIAN_POINT('',(0.850183970027,1.850183970027,0.549632059945 - )); -#3910 = SURFACE_CURVE('',#3911,(#3916,#3922),.PCURVE_S1.); -#3911 = CIRCLE('',#3912,0.497715749301); -#3912 = AXIS2_PLACEMENT_3D('',#3913,#3914,#3915); -#3913 = CARTESIAN_POINT('',(0.5,1.5,0.5)); -#3914 = DIRECTION('',(0.707106781187,-0.707106781187,0.)); -#3915 = DIRECTION('',(0.707106781187,0.707106781187,0.)); -#3916 = PCURVE('',#1596,#3917); -#3917 = DEFINITIONAL_REPRESENTATION('',(#3918),#3921); -#3918 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#3919,#3920),.UNSPECIFIED.,.F., - .F.,(2,2),(6.183299604755,6.383071009604),.PIECEWISE_BEZIER_KNOTS.); -#3919 = CARTESIAN_POINT('',(0.785398163397,-9.98857024243E-02)); -#3920 = CARTESIAN_POINT('',(0.785398163397,9.98857024243E-02)); -#3921 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#3922 = PCURVE('',#1678,#3923); -#3923 = DEFINITIONAL_REPRESENTATION('',(#3924),#3928); -#3924 = CIRCLE('',#3925,0.497715749301); -#3925 = AXIS2_PLACEMENT_2D('',#3926,#3927); -#3926 = CARTESIAN_POINT('',(0.707106781187,-0.5)); -#3927 = DIRECTION('',(-1.,0.)); -#3928 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#3929 = ORIENTED_EDGE('',*,*,#3930,.T.); -#3930 = EDGE_CURVE('',#3908,#3931,#3933,.T.); -#3931 = VERTEX_POINT('',#3932); -#3932 = CARTESIAN_POINT('',(0.923523726191,1.576476273809,0.75)); -#3933 = SURFACE_CURVE('',#3934,(#3939,#3959),.PCURVE_S1.); -#3934 = CIRCLE('',#3935,0.245399606973); -#3935 = AXIS2_PLACEMENT_3D('',#3936,#3937,#3938); -#3936 = CARTESIAN_POINT('',(0.75,1.75,0.75)); -#3937 = DIRECTION('',(-0.57735026919,-0.57735026919,-0.57735026919)); -#3938 = DIRECTION('',(0.707106781187,-0.707106781187,0.)); -#3939 = PCURVE('',#1596,#3940); -#3940 = DEFINITIONAL_REPRESENTATION('',(#3941),#3958); -#3941 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#3942,#3943,#3944,#3945,#3946, - #3947,#3948,#3949,#3950,#3951,#3952,#3953,#3954,#3955,#3956,#3957), - .UNSPECIFIED.,.F.,.F.,(9,7,9),(4.712388980385,4.803373215866, - 6.28318530718),.UNSPECIFIED.); -#3942 = CARTESIAN_POINT('',(0.785398122631,9.988571523101E-02)); -#3943 = CARTESIAN_POINT('',(0.779762542546,9.988571509204E-02)); -#3944 = CARTESIAN_POINT('',(0.774126964599,9.994552244007E-02)); -#3945 = CARTESIAN_POINT('',(0.768492091559,0.100065137273)); -#3946 = CARTESIAN_POINT('',(0.76285862592,0.100244545193)); -#3947 = CARTESIAN_POINT('',(0.757227269193,0.100483717459)); -#3948 = CARTESIAN_POINT('',(0.751598721177,0.100782611084)); -#3949 = CARTESIAN_POINT('',(0.745973679208,0.101141168992)); -#3950 = CARTESIAN_POINT('',(0.648932717784,0.108360336437)); -#3951 = CARTESIAN_POINT('',(0.55862521948,0.130923118231)); -#3952 = CARTESIAN_POINT('',(0.472424403991,0.168951467086)); -#3953 = CARTESIAN_POINT('',(0.393195542645,0.221095759914)); -#3954 = CARTESIAN_POINT('',(0.322825418162,0.285201738956)); -#3955 = CARTESIAN_POINT('',(0.262436104506,0.358934034507)); -#3956 = CARTESIAN_POINT('',(0.213369058215,0.440131387559)); -#3957 = CARTESIAN_POINT('',(0.178646354433,0.526250539436)); -#3958 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#3959 = PCURVE('',#3960,#3965); -#3960 = SPHERICAL_SURFACE('',#3961,0.497715749301); -#3961 = AXIS2_PLACEMENT_3D('',#3962,#3963,#3964); -#3962 = CARTESIAN_POINT('',(1.,2.,1.)); -#3963 = DIRECTION('',(0.,0.,1.)); -#3964 = DIRECTION('',(1.,0.,-0.)); -#3965 = DEFINITIONAL_REPRESENTATION('',(#3966),#3990); -#3966 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#3967,#3968,#3969,#3970,#3971, - #3972,#3973,#3974,#3975,#3976,#3977,#3978,#3979,#3980,#3981,#3982, - #3983,#3984,#3985,#3986,#3987,#3988,#3989),.UNSPECIFIED.,.F.,.F.,(9, - 7,7,9),(4.712388980385,4.792155981355,5.537670644267,6.28318530718), - .UNSPECIFIED.); -#3967 = CARTESIAN_POINT('',(3.926990802358,-1.131073722024)); -#3968 = CARTESIAN_POINT('',(3.938539533375,-1.131073719025)); -#3969 = CARTESIAN_POINT('',(3.950088265637,-1.130966263189)); -#3970 = CARTESIAN_POINT('',(3.961627042729,-1.130751355268)); -#3971 = CARTESIAN_POINT('',(3.973145907553,-1.13042915679)); -#3972 = CARTESIAN_POINT('',(3.98463498604,-1.12999998988)); -#3973 = CARTESIAN_POINT('',(3.996084572043,-1.129464333764)); -#3974 = CARTESIAN_POINT('',(4.007485207628,-1.128822817223)); -#3975 = CARTESIAN_POINT('',(4.12483689738,-1.121098265151)); -#3976 = CARTESIAN_POINT('',(4.225768220829,-1.104943213182)); -#3977 = CARTESIAN_POINT('',(4.314182028762,-1.080221313082)); -#3978 = CARTESIAN_POINT('',(4.384692009058,-1.04875826949)); -#3979 = CARTESIAN_POINT('',(4.440560103016,-1.012625673241)); -#3980 = CARTESIAN_POINT('',(4.483326501912,-0.972997243777)); -#3981 = CARTESIAN_POINT('',(4.515240378267,-0.930968368726)); -#3982 = CARTESIAN_POINT('',(4.560683354035,-0.843669726192)); -#3983 = CARTESIAN_POINT('',(4.574215606938,-0.798401959133)); -#3984 = CARTESIAN_POINT('',(4.580272073908,-0.752314092525)); -#3985 = CARTESIAN_POINT('',(4.58019236511,-0.705975469972)); -#3986 = CARTESIAN_POINT('',(4.574911360816,-0.659833705175)); -#3987 = CARTESIAN_POINT('',(4.565086313294,-0.614272116287)); -#3988 = CARTESIAN_POINT('',(4.551235579927,-0.569636514492)); -#3989 = CARTESIAN_POINT('',(4.533742625952,-0.526250539436)); -#3990 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#3991 = ORIENTED_EDGE('',*,*,#3992,.T.); -#3992 = EDGE_CURVE('',#3931,#3993,#3995,.T.); -#3993 = VERTEX_POINT('',#3994); -#3994 = CARTESIAN_POINT('',(0.649816029973,1.649816029973,0.950367940055 - )); -#3995 = SURFACE_CURVE('',#3996,(#4001,#4028),.PCURVE_S1.); -#3996 = CIRCLE('',#3997,0.245399606973); -#3997 = AXIS2_PLACEMENT_3D('',#3998,#3999,#4000); -#3998 = CARTESIAN_POINT('',(0.75,1.75,0.75)); -#3999 = DIRECTION('',(-0.57735026919,-0.57735026919,-0.57735026919)); -#4000 = DIRECTION('',(0.707106781187,-0.707106781187,0.)); -#4001 = PCURVE('',#1596,#4002); -#4002 = DEFINITIONAL_REPRESENTATION('',(#4003),#4027); -#4003 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#4004,#4005,#4006,#4007,#4008, - #4009,#4010,#4011,#4012,#4013,#4014,#4015,#4016,#4017,#4018,#4019, - #4020,#4021,#4022,#4023,#4024,#4025,#4026),.UNSPECIFIED.,.F.,.F.,(9, - 7,7,9),(0.,0.785398163397,1.47262155637,1.570796326795), - .UNSPECIFIED.); -#4004 = CARTESIAN_POINT('',(0.178646354433,0.526250539436)); -#4005 = CARTESIAN_POINT('',(0.160217563414,0.571957574886)); -#4006 = CARTESIAN_POINT('',(0.145831682732,0.619051486728)); -#4007 = CARTESIAN_POINT('',(0.135933810981,0.667154048102)); -#4008 = CARTESIAN_POINT('',(0.131145733808,0.71585913122)); -#4009 = CARTESIAN_POINT('',(0.132247030593,0.764714154902)); -#4010 = CARTESIAN_POINT('',(0.140381368928,0.813183583818)); -#4011 = CARTESIAN_POINT('',(0.157231020349,0.860569413232)); -#4012 = CARTESIAN_POINT('',(0.20911528989,0.945495962948)); -#4013 = CARTESIAN_POINT('',(0.241613845166,0.98352593372)); -#4014 = CARTESIAN_POINT('',(0.283777882603,1.019288412063)); -#4015 = CARTESIAN_POINT('',(0.337317176497,1.051892094281)); -#4016 = CARTESIAN_POINT('',(0.403534382978,1.080336025807)); -#4017 = CARTESIAN_POINT('',(0.484300433727,1.103057018853)); -#4018 = CARTESIAN_POINT('',(0.575889347581,1.118654821906)); -#4019 = CARTESIAN_POINT('',(0.686546129393,1.127668406666)); -#4020 = CARTESIAN_POINT('',(0.700484916623,1.128637721153)); -#4021 = CARTESIAN_POINT('',(0.714514268352,1.129447894731)); -#4022 = CARTESIAN_POINT('',(0.728617017865,1.130097491274)); -#4023 = CARTESIAN_POINT('',(0.742775255572,1.130585419069)); -#4024 = CARTESIAN_POINT('',(0.756970605821,1.130910946087)); -#4025 = CARTESIAN_POINT('',(0.771184481675,1.131073707287)); -#4026 = CARTESIAN_POINT('',(0.785398317648,1.131073703941)); -#4027 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#4028 = PCURVE('',#3960,#4029); -#4029 = DEFINITIONAL_REPRESENTATION('',(#4030),#4040); -#4030 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#4031,#4032,#4033,#4034,#4035, - #4036,#4037,#4038,#4039),.UNSPECIFIED.,.F.,.F.,(9,9),(0., - 1.570796326795),.PIECEWISE_BEZIER_KNOTS.); -#4031 = CARTESIAN_POINT('',(4.533742625952,-0.526250539436)); -#4032 = CARTESIAN_POINT('',(4.496885043913,-0.434836468535)); -#4033 = CARTESIAN_POINT('',(4.443864379318,-0.348970381878)); -#4034 = CARTESIAN_POINT('',(4.378299015232,-0.271677081405)); -#4035 = CARTESIAN_POINT('',(4.301659828343,-0.205567417182)); -#4036 = CARTESIAN_POINT('',(4.215275813613,-0.153363467099)); -#4037 = CARTESIAN_POINT('',(4.121579067222,-0.11771252843)); -#4038 = CARTESIAN_POINT('',(4.02428625847,-9.98857024243E-02)); -#4039 = CARTESIAN_POINT('',(3.926990816987,-9.98857024243E-02)); -#4040 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#4041 = ORIENTED_EDGE('',*,*,#4042,.T.); -#4042 = EDGE_CURVE('',#3993,#3766,#4043,.T.); -#4043 = SURFACE_CURVE('',#4044,(#4049,#4055),.PCURVE_S1.); -#4044 = CIRCLE('',#4045,0.497715749301); -#4045 = AXIS2_PLACEMENT_3D('',#4046,#4047,#4048); -#4046 = CARTESIAN_POINT('',(0.5,1.5,0.5)); -#4047 = DIRECTION('',(0.707106781187,-0.707106781187,0.)); -#4048 = DIRECTION('',(0.707106781187,0.707106781187,0.)); -#4049 = PCURVE('',#1596,#4050); -#4050 = DEFINITIONAL_REPRESENTATION('',(#4051),#4054); -#4051 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#4052,#4053),.UNSPECIFIED.,.F., - .F.,(2,2),(7.414259022096,7.853981633974),.PIECEWISE_BEZIER_KNOTS.); -#4052 = CARTESIAN_POINT('',(0.785398163397,1.131073714916)); -#4053 = CARTESIAN_POINT('',(0.785398163397,1.570796326795)); -#4054 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#4055 = PCURVE('',#3803,#4056); -#4056 = DEFINITIONAL_REPRESENTATION('',(#4057),#4061); -#4057 = CIRCLE('',#4058,0.497715749301); -#4058 = AXIS2_PLACEMENT_2D('',#4059,#4060); -#4059 = CARTESIAN_POINT('',(0.707106781187,-0.5)); -#4060 = DIRECTION('',(-1.,0.)); -#4061 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#4062 = ADVANCED_FACE('',(#4063),#1650,.F.); -#4063 = FACE_BOUND('',#4064,.F.); -#4064 = EDGE_LOOP('',(#4065,#4088,#4089,#4112)); -#4065 = ORIENTED_EDGE('',*,*,#4066,.F.); -#4066 = EDGE_CURVE('',#1635,#4067,#4069,.T.); -#4067 = VERTEX_POINT('',#4068); -#4068 = CARTESIAN_POINT('',(1.,2.,0.502284250699)); -#4069 = SURFACE_CURVE('',#4070,(#4074,#4081),.PCURVE_S1.); -#4070 = LINE('',#4071,#4072); -#4071 = CARTESIAN_POINT('',(1.,2.,0.)); -#4072 = VECTOR('',#4073,1.); -#4073 = DIRECTION('',(0.,0.,1.)); -#4074 = PCURVE('',#1650,#4075); -#4075 = DEFINITIONAL_REPRESENTATION('',(#4076),#4080); -#4076 = LINE('',#4077,#4078); -#4077 = CARTESIAN_POINT('',(1.414213562373,0.)); -#4078 = VECTOR('',#4079,1.); -#4079 = DIRECTION('',(0.,-1.)); -#4080 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#4081 = PCURVE('',#1678,#4082); -#4082 = DEFINITIONAL_REPRESENTATION('',(#4083),#4087); -#4083 = LINE('',#4084,#4085); -#4084 = CARTESIAN_POINT('',(0.,0.)); -#4085 = VECTOR('',#4086,1.); -#4086 = DIRECTION('',(0.,-1.)); -#4087 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#4088 = ORIENTED_EDGE('',*,*,#1632,.F.); -#4089 = ORIENTED_EDGE('',*,*,#4090,.F.); -#4090 = EDGE_CURVE('',#4091,#1633,#4093,.T.); -#4091 = VERTEX_POINT('',#4092); -#4092 = CARTESIAN_POINT('',(1.149816029973,1.850183970027,0.549632059945 - )); -#4093 = SURFACE_CURVE('',#4094,(#4099,#4106),.PCURVE_S1.); -#4094 = CIRCLE('',#4095,0.497715749301); -#4095 = AXIS2_PLACEMENT_3D('',#4096,#4097,#4098); -#4096 = CARTESIAN_POINT('',(1.5,1.5,0.5)); -#4097 = DIRECTION('',(-0.707106781187,-0.707106781187,0.)); -#4098 = DIRECTION('',(0.707106781187,-0.707106781187,0.)); -#4099 = PCURVE('',#1650,#4100); -#4100 = DEFINITIONAL_REPRESENTATION('',(#4101),#4105); -#4101 = CIRCLE('',#4102,0.497715749301); -#4102 = AXIS2_PLACEMENT_2D('',#4103,#4104); -#4103 = CARTESIAN_POINT('',(0.707106781187,-0.5)); -#4104 = DIRECTION('',(-1.,-0.)); -#4105 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#4106 = PCURVE('',#1862,#4107); -#4107 = DEFINITIONAL_REPRESENTATION('',(#4108),#4111); -#4108 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#4109,#4110),.UNSPECIFIED.,.F., - .F.,(2,2),(3.041706951165,3.241478356014),.PIECEWISE_BEZIER_KNOTS.); -#4109 = CARTESIAN_POINT('',(2.356194490192,9.98857024243E-02)); -#4110 = CARTESIAN_POINT('',(2.356194490192,-9.98857024243E-02)); -#4111 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#4112 = ORIENTED_EDGE('',*,*,#4113,.F.); -#4113 = EDGE_CURVE('',#4067,#4091,#4114,.T.); -#4114 = SURFACE_CURVE('',#4115,(#4120,#4127),.PCURVE_S1.); -#4115 = CIRCLE('',#4116,0.497715749301); -#4116 = AXIS2_PLACEMENT_3D('',#4117,#4118,#4119); -#4117 = CARTESIAN_POINT('',(1.,2.,1.)); -#4118 = DIRECTION('',(-0.707106781187,-0.707106781187,0.)); -#4119 = DIRECTION('',(0.707106781187,-0.707106781187,0.)); -#4120 = PCURVE('',#1650,#4121); -#4121 = DEFINITIONAL_REPRESENTATION('',(#4122),#4126); -#4122 = CIRCLE('',#4123,0.497715749301); -#4123 = AXIS2_PLACEMENT_2D('',#4124,#4125); -#4124 = CARTESIAN_POINT('',(1.414213562373,-1.)); -#4125 = DIRECTION('',(-1.,-0.)); -#4126 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#4127 = PCURVE('',#3960,#4128); -#4128 = DEFINITIONAL_REPRESENTATION('',(#4129),#4132); -#4129 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#4130,#4131),.UNSPECIFIED.,.F., - .F.,(2,2),(4.712388980385,5.152111592263),.PIECEWISE_BEZIER_KNOTS.); -#4130 = CARTESIAN_POINT('',(5.497787143782,-1.570796326795)); -#4131 = CARTESIAN_POINT('',(5.497787143782,-1.131073714916)); -#4132 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#4133 = ADVANCED_FACE('',(#4134,#4399,#4402),#1862,.F.); -#4134 = FACE_BOUND('',#4135,.F.); -#4135 = EDGE_LOOP('',(#4136,#4166,#4189,#4265,#4266,#4267,#4268,#4269, - #4270,#4271,#4294,#4351)); -#4136 = ORIENTED_EDGE('',*,*,#4137,.T.); -#4137 = EDGE_CURVE('',#4138,#4140,#4142,.T.); -#4138 = VERTEX_POINT('',#4139); -#4139 = CARTESIAN_POINT('',(1.649816029973,1.350183970027,0.950367940055 - )); -#4140 = VERTEX_POINT('',#4141); -#4141 = CARTESIAN_POINT('',(1.5,1.5,0.997715749301)); -#4142 = SURFACE_CURVE('',#4143,(#4148,#4154),.PCURVE_S1.); -#4143 = CIRCLE('',#4144,0.497715749301); -#4144 = AXIS2_PLACEMENT_3D('',#4145,#4146,#4147); -#4145 = CARTESIAN_POINT('',(1.5,1.5,0.5)); -#4146 = DIRECTION('',(-0.707106781187,-0.707106781187,0.)); -#4147 = DIRECTION('',(0.707106781187,-0.707106781187,0.)); -#4148 = PCURVE('',#1862,#4149); -#4149 = DEFINITIONAL_REPRESENTATION('',(#4150),#4153); -#4150 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#4151,#4152),.UNSPECIFIED.,.F., - .F.,(2,2),(7.414259022096,7.853981633974),.PIECEWISE_BEZIER_KNOTS.); -#4151 = CARTESIAN_POINT('',(5.497787143782,1.131073714916)); -#4152 = CARTESIAN_POINT('',(5.497787143782,1.570796326795)); -#4153 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#4154 = PCURVE('',#4155,#4160); -#4155 = PLANE('',#4156); -#4156 = AXIS2_PLACEMENT_3D('',#4157,#4158,#4159); -#4157 = CARTESIAN_POINT('',(2.,1.,0.)); -#4158 = DIRECTION('',(-0.707106781187,-0.707106781187,0.)); -#4159 = DIRECTION('',(-0.707106781187,0.707106781187,0.)); -#4160 = DEFINITIONAL_REPRESENTATION('',(#4161),#4165); -#4161 = CIRCLE('',#4162,0.497715749301); -#4162 = AXIS2_PLACEMENT_2D('',#4163,#4164); -#4163 = CARTESIAN_POINT('',(0.707106781187,-0.5)); -#4164 = DIRECTION('',(-1.,-0.)); -#4165 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#4166 = ORIENTED_EDGE('',*,*,#4167,.T.); -#4167 = EDGE_CURVE('',#4140,#4168,#4170,.T.); -#4168 = VERTEX_POINT('',#4169); -#4169 = CARTESIAN_POINT('',(1.350183970027,1.649816029973,0.950367940055 - )); -#4170 = SURFACE_CURVE('',#4171,(#4176,#4182),.PCURVE_S1.); -#4171 = CIRCLE('',#4172,0.497715749301); -#4172 = AXIS2_PLACEMENT_3D('',#4173,#4174,#4175); -#4173 = CARTESIAN_POINT('',(1.5,1.5,0.5)); -#4174 = DIRECTION('',(-0.707106781187,-0.707106781187,0.)); -#4175 = DIRECTION('',(0.707106781187,-0.707106781187,0.)); -#4176 = PCURVE('',#1862,#4177); -#4177 = DEFINITIONAL_REPRESENTATION('',(#4178),#4181); -#4178 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#4179,#4180),.UNSPECIFIED.,.F., - .F.,(2,2),(1.570796326795,2.010518938673),.PIECEWISE_BEZIER_KNOTS.); -#4179 = CARTESIAN_POINT('',(2.356194490192,1.570796326795)); -#4180 = CARTESIAN_POINT('',(2.356194490192,1.131073714916)); -#4181 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#4182 = PCURVE('',#4155,#4183); -#4183 = DEFINITIONAL_REPRESENTATION('',(#4184),#4188); -#4184 = CIRCLE('',#4185,0.497715749301); -#4185 = AXIS2_PLACEMENT_2D('',#4186,#4187); -#4186 = CARTESIAN_POINT('',(0.707106781187,-0.5)); -#4187 = DIRECTION('',(-1.,-0.)); -#4188 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#4189 = ORIENTED_EDGE('',*,*,#4190,.T.); -#4190 = EDGE_CURVE('',#4168,#4091,#4191,.T.); -#4191 = SURFACE_CURVE('',#4192,(#4197,#4231),.PCURVE_S1.); -#4192 = CIRCLE('',#4193,0.245399606973); -#4193 = AXIS2_PLACEMENT_3D('',#4194,#4195,#4196); -#4194 = CARTESIAN_POINT('',(1.25,1.75,0.75)); -#4195 = DIRECTION('',(0.57735026919,-0.57735026919,-0.57735026919)); -#4196 = DIRECTION('',(0.707106781187,0.707106781187,0.)); -#4197 = PCURVE('',#1862,#4198); -#4198 = DEFINITIONAL_REPRESENTATION('',(#4199),#4230); -#4199 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#4200,#4201,#4202,#4203,#4204, - #4205,#4206,#4207,#4208,#4209,#4210,#4211,#4212,#4213,#4214,#4215, - #4216,#4217,#4218,#4219,#4220,#4221,#4222,#4223,#4224,#4225,#4226, - #4227,#4228,#4229),.UNSPECIFIED.,.F.,.F.,(9,7,7,7,9),(1.570796326795 - ,1.773281790796,2.337019730344,3.323561124553,4.712388980385), - .UNSPECIFIED.); -#4200 = CARTESIAN_POINT('',(2.356194644443,1.131073703941)); -#4201 = CARTESIAN_POINT('',(2.385510681139,1.131073697041)); -#4202 = CARTESIAN_POINT('',(2.41482654819,1.130381305025)); -#4203 = CARTESIAN_POINT('',(2.443979357954,1.128996539065)); -#4204 = CARTESIAN_POINT('',(2.47280661102,1.126926039078)); -#4205 = CARTESIAN_POINT('',(2.501154882684,1.124183048721)); -#4206 = CARTESIAN_POINT('',(2.528886813284,1.120786776824)); -#4207 = CARTESIAN_POINT('',(2.555886402413,1.116761145276)); -#4208 = CARTESIAN_POINT('',(2.654939540239,1.099247532764)); -#4209 = CARTESIAN_POINT('',(2.721431123386,1.081691979456)); -#4210 = CARTESIAN_POINT('',(2.779535869249,1.060046176974)); -#4211 = CARTESIAN_POINT('',(2.828619314152,1.035093755123)); -#4212 = CARTESIAN_POINT('',(2.869494419316,1.007559551015)); -#4213 = CARTESIAN_POINT('',(2.902952604221,0.978009692444)); -#4214 = CARTESIAN_POINT('',(2.92989505666,0.946919579642)); -#4215 = CARTESIAN_POINT('',(2.988217246762,0.858245209992)); -#4216 = CARTESIAN_POINT('',(3.007769858437,0.798278707787)); -#4217 = CARTESIAN_POINT('',(3.014006435385,0.736848355707)); -#4218 = CARTESIAN_POINT('',(3.010264489731,0.675222690908)); -#4219 = CARTESIAN_POINT('',(2.99817077712,0.614333671894)); -#4220 = CARTESIAN_POINT('',(2.979087161691,0.554994019433)); -#4221 = CARTESIAN_POINT('',(2.95381033818,0.497939306714)); -#4222 = CARTESIAN_POINT('',(2.879638085314,0.367765207006)); -#4223 = CARTESIAN_POINT('',(2.825312886764,0.297581628432)); -#4224 = CARTESIAN_POINT('',(2.76183437147,0.235291408249)); -#4225 = CARTESIAN_POINT('',(2.690281273868,0.182716794854)); -#4226 = CARTESIAN_POINT('',(2.611769156395,0.141691993265)); -#4227 = CARTESIAN_POINT('',(2.528243447377,0.113821140403)); -#4228 = CARTESIAN_POINT('',(2.442218699287,9.988571735225E-02)); -#4229 = CARTESIAN_POINT('',(2.356194449426,9.9885715231E-02)); -#4230 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#4231 = PCURVE('',#3960,#4232); -#4232 = DEFINITIONAL_REPRESENTATION('',(#4233),#4264); -#4233 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#4234,#4235,#4236,#4237,#4238, - #4239,#4240,#4241,#4242,#4243,#4244,#4245,#4246,#4247,#4248,#4249, - #4250,#4251,#4252,#4253,#4254,#4255,#4256,#4257,#4258,#4259,#4260, - #4261,#4262,#4263),.UNSPECIFIED.,.F.,.F.,(9,7,7,7,9),(1.570796326795 - ,2.748893571891,3.632466505713,4.29514620608,4.712388980385), - .UNSPECIFIED.); -#4234 = CARTESIAN_POINT('',(5.497787143782,-9.98857024243E-02)); -#4235 = CARTESIAN_POINT('',(5.42481556267,-9.98857024243E-02)); -#4236 = CARTESIAN_POINT('',(5.351845018246,-0.109912993123)); -#4237 = CARTESIAN_POINT('',(5.280394084199,-0.129968523541)); -#4238 = CARTESIAN_POINT('',(5.212012032413,-0.159643456479)); -#4239 = CARTESIAN_POINT('',(5.147963474055,-0.198119299476)); -#4240 = CARTESIAN_POINT('',(5.089163863722,-0.244353709451)); -#4241 = CARTESIAN_POINT('',(5.036335366401,-0.297260025871)); -#4242 = CARTESIAN_POINT('',(4.955865502387,-0.39951000844)); -#4243 = CARTESIAN_POINT('',(4.925229583024,-0.446436995776)); -#4244 = CARTESIAN_POINT('',(4.898807962807,-0.49598958076)); -#4245 = CARTESIAN_POINT('',(4.877020219947,-0.547660341207)); -#4246 = CARTESIAN_POINT('',(4.86039328106,-0.600935264907)); -#4247 = CARTESIAN_POINT('',(4.849678604776,-0.655270502898)); -#4248 = CARTESIAN_POINT('',(4.846035644846,-0.710025012429)); -#4249 = CARTESIAN_POINT('',(4.855216053638,-0.805092147515)); -#4250 = CARTESIAN_POINT('',(4.8641518287,-0.845591709097)); -#4251 = CARTESIAN_POINT('',(4.878846518286,-0.885491798714)); -#4252 = CARTESIAN_POINT('',(4.900300525107,-0.924346878775)); -#4253 = CARTESIAN_POINT('',(4.929687233814,-0.96163658366)); -#4254 = CARTESIAN_POINT('',(4.968562580106,-0.996655132864)); -#4255 = CARTESIAN_POINT('',(5.018589827718,-1.028436652836)); -#4256 = CARTESIAN_POINT('',(5.118690714146,-1.073155293663)); -#4257 = CARTESIAN_POINT('',(5.161884055212,-1.088712699902)); -#4258 = CARTESIAN_POINT('',(5.209662881548,-1.10227507088)); -#4259 = CARTESIAN_POINT('',(5.261851635087,-1.11355364271)); -#4260 = CARTESIAN_POINT('',(5.31798594087,-1.122253627057)); -#4261 = CARTESIAN_POINT('',(5.3769696695,-1.128133742013)); -#4262 = CARTESIAN_POINT('',(5.437378382296,-1.131073737707)); -#4263 = CARTESIAN_POINT('',(5.497787129154,-1.131073722024)); -#4264 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#4265 = ORIENTED_EDGE('',*,*,#4090,.T.); -#4266 = ORIENTED_EDGE('',*,*,#1820,.T.); -#4267 = ORIENTED_EDGE('',*,*,#1951,.T.); -#4268 = ORIENTED_EDGE('',*,*,#1928,.T.); -#4269 = ORIENTED_EDGE('',*,*,#2084,.T.); -#4270 = ORIENTED_EDGE('',*,*,#2034,.T.); -#4271 = ORIENTED_EDGE('',*,*,#4272,.T.); -#4272 = EDGE_CURVE('',#2007,#4273,#4275,.T.); -#4273 = VERTEX_POINT('',#4274); -#4274 = CARTESIAN_POINT('',(1.850183970027,1.149816029973,0.549632059945 - )); -#4275 = SURFACE_CURVE('',#4276,(#4281,#4287),.PCURVE_S1.); -#4276 = CIRCLE('',#4277,0.497715749301); -#4277 = AXIS2_PLACEMENT_3D('',#4278,#4279,#4280); -#4278 = CARTESIAN_POINT('',(1.5,1.5,0.5)); -#4279 = DIRECTION('',(-0.707106781187,-0.707106781187,0.)); -#4280 = DIRECTION('',(0.707106781187,-0.707106781187,0.)); -#4281 = PCURVE('',#1862,#4282); -#4282 = DEFINITIONAL_REPRESENTATION('',(#4283),#4286); -#4283 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#4284,#4285),.UNSPECIFIED.,.F., - .F.,(2,2),(6.183299604755,6.383071009604),.PIECEWISE_BEZIER_KNOTS.); -#4284 = CARTESIAN_POINT('',(5.497787143782,-9.98857024243E-02)); -#4285 = CARTESIAN_POINT('',(5.497787143782,9.98857024243E-02)); -#4286 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#4287 = PCURVE('',#2022,#4288); -#4288 = DEFINITIONAL_REPRESENTATION('',(#4289),#4293); -#4289 = CIRCLE('',#4290,0.497715749301); -#4290 = AXIS2_PLACEMENT_2D('',#4291,#4292); -#4291 = CARTESIAN_POINT('',(0.707106781187,-0.5)); -#4292 = DIRECTION('',(-1.,-0.)); -#4293 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#4294 = ORIENTED_EDGE('',*,*,#4295,.T.); -#4295 = EDGE_CURVE('',#4273,#4296,#4298,.T.); -#4296 = VERTEX_POINT('',#4297); -#4297 = CARTESIAN_POINT('',(1.576476273809,1.076476273809,0.75)); -#4298 = SURFACE_CURVE('',#4299,(#4304,#4324),.PCURVE_S1.); -#4299 = CIRCLE('',#4300,0.245399606973); -#4300 = AXIS2_PLACEMENT_3D('',#4301,#4302,#4303); -#4301 = CARTESIAN_POINT('',(1.75,1.25,0.75)); -#4302 = DIRECTION('',(-0.57735026919,0.57735026919,-0.57735026919)); -#4303 = DIRECTION('',(-0.707106781187,-0.707106781187,0.)); -#4304 = PCURVE('',#1862,#4305); -#4305 = DEFINITIONAL_REPRESENTATION('',(#4306),#4323); -#4306 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#4307,#4308,#4309,#4310,#4311, - #4312,#4313,#4314,#4315,#4316,#4317,#4318,#4319,#4320,#4321,#4322), - .UNSPECIFIED.,.F.,.F.,(9,7,9),(4.712388980385,4.803373215866, - 6.28318530718),.UNSPECIFIED.); -#4307 = CARTESIAN_POINT('',(5.497787103016,9.9885715231E-02)); -#4308 = CARTESIAN_POINT('',(5.492151522931,9.988571509203E-02)); -#4309 = CARTESIAN_POINT('',(5.486515944984,9.994552244007E-02)); -#4310 = CARTESIAN_POINT('',(5.480881071944,0.100065137273)); -#4311 = CARTESIAN_POINT('',(5.475247606305,0.100244545193)); -#4312 = CARTESIAN_POINT('',(5.469616249578,0.100483717459)); -#4313 = CARTESIAN_POINT('',(5.463987701562,0.100782611084)); -#4314 = CARTESIAN_POINT('',(5.458362659593,0.101141168992)); -#4315 = CARTESIAN_POINT('',(5.361321698169,0.108360336437)); -#4316 = CARTESIAN_POINT('',(5.271014199865,0.130923118231)); -#4317 = CARTESIAN_POINT('',(5.184813384376,0.168951467086)); -#4318 = CARTESIAN_POINT('',(5.10558452303,0.221095759914)); -#4319 = CARTESIAN_POINT('',(5.035214398547,0.285201738956)); -#4320 = CARTESIAN_POINT('',(4.974825084891,0.358934034507)); -#4321 = CARTESIAN_POINT('',(4.9257580386,0.440131387559)); -#4322 = CARTESIAN_POINT('',(4.891035334818,0.526250539436)); -#4323 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#4324 = PCURVE('',#2835,#4325); -#4325 = DEFINITIONAL_REPRESENTATION('',(#4326),#4350); -#4326 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#4327,#4328,#4329,#4330,#4331, - #4332,#4333,#4334,#4335,#4336,#4337,#4338,#4339,#4340,#4341,#4342, - #4343,#4344,#4345,#4346,#4347,#4348,#4349),.UNSPECIFIED.,.F.,.F.,(9, - 7,7,9),(4.712388980385,4.792155981355,5.537670644267,6.28318530718), - .UNSPECIFIED.); -#4327 = CARTESIAN_POINT('',(2.356194475564,-1.131073722024)); -#4328 = CARTESIAN_POINT('',(2.367743206581,-1.131073719025)); -#4329 = CARTESIAN_POINT('',(2.379291938843,-1.130966263189)); -#4330 = CARTESIAN_POINT('',(2.390830715935,-1.130751355268)); -#4331 = CARTESIAN_POINT('',(2.402349580759,-1.13042915679)); -#4332 = CARTESIAN_POINT('',(2.413838659245,-1.12999998988)); -#4333 = CARTESIAN_POINT('',(2.425288245249,-1.129464333764)); -#4334 = CARTESIAN_POINT('',(2.436688880833,-1.128822817223)); -#4335 = CARTESIAN_POINT('',(2.554040570585,-1.121098265151)); -#4336 = CARTESIAN_POINT('',(2.65497189403,-1.104943213182)); -#4337 = CARTESIAN_POINT('',(2.743385701975,-1.080221313082)); -#4338 = CARTESIAN_POINT('',(2.813895682277,-1.04875826949)); -#4339 = CARTESIAN_POINT('',(2.869763776229,-1.012625673241)); -#4340 = CARTESIAN_POINT('',(2.912530175116,-0.972997243777)); -#4341 = CARTESIAN_POINT('',(2.944444051472,-0.930968368726)); -#4342 = CARTESIAN_POINT('',(2.98988702724,-0.843669726192)); -#4343 = CARTESIAN_POINT('',(3.003419280143,-0.798401959133)); -#4344 = CARTESIAN_POINT('',(3.009475747116,-0.752314092525)); -#4345 = CARTESIAN_POINT('',(3.009396038317,-0.705975469972)); -#4346 = CARTESIAN_POINT('',(3.004115034022,-0.659833705175)); -#4347 = CARTESIAN_POINT('',(2.9942899865,-0.614272116287)); -#4348 = CARTESIAN_POINT('',(2.980439253132,-0.569636514492)); -#4349 = CARTESIAN_POINT('',(2.962946299157,-0.526250539436)); -#4350 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#4351 = ORIENTED_EDGE('',*,*,#4352,.T.); -#4352 = EDGE_CURVE('',#4296,#4138,#4353,.T.); -#4353 = SURFACE_CURVE('',#4354,(#4359,#4386),.PCURVE_S1.); -#4354 = CIRCLE('',#4355,0.245399606973); -#4355 = AXIS2_PLACEMENT_3D('',#4356,#4357,#4358); -#4356 = CARTESIAN_POINT('',(1.75,1.25,0.75)); -#4357 = DIRECTION('',(-0.57735026919,0.57735026919,-0.57735026919)); -#4358 = DIRECTION('',(-0.707106781187,-0.707106781187,0.)); -#4359 = PCURVE('',#1862,#4360); -#4360 = DEFINITIONAL_REPRESENTATION('',(#4361),#4385); -#4361 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#4362,#4363,#4364,#4365,#4366, - #4367,#4368,#4369,#4370,#4371,#4372,#4373,#4374,#4375,#4376,#4377, - #4378,#4379,#4380,#4381,#4382,#4383,#4384),.UNSPECIFIED.,.F.,.F.,(9, - 7,7,9),(0.,0.785398163397,1.47262155637,1.570796326795), - .UNSPECIFIED.); -#4362 = CARTESIAN_POINT('',(4.891035334818,0.526250539436)); -#4363 = CARTESIAN_POINT('',(4.872606543798,0.571957574886)); -#4364 = CARTESIAN_POINT('',(4.858220663116,0.619051486728)); -#4365 = CARTESIAN_POINT('',(4.848322791366,0.667154048102)); -#4366 = CARTESIAN_POINT('',(4.843534714193,0.715859131219)); -#4367 = CARTESIAN_POINT('',(4.844636010977,0.764714154902)); -#4368 = CARTESIAN_POINT('',(4.852770349313,0.813183583818)); -#4369 = CARTESIAN_POINT('',(4.869620000734,0.860569413232)); -#4370 = CARTESIAN_POINT('',(4.921504270275,0.945495962948)); -#4371 = CARTESIAN_POINT('',(4.954002825554,0.983525933721)); -#4372 = CARTESIAN_POINT('',(4.996166862964,1.019288412062)); -#4373 = CARTESIAN_POINT('',(5.049706156893,1.051892094285)); -#4374 = CARTESIAN_POINT('',(5.115923363337,1.080336025805)); -#4375 = CARTESIAN_POINT('',(5.196689414111,1.103057018853)); -#4376 = CARTESIAN_POINT('',(5.288278327965,1.118654821906)); -#4377 = CARTESIAN_POINT('',(5.398935109778,1.127668406666)); -#4378 = CARTESIAN_POINT('',(5.412873897007,1.128637721153)); -#4379 = CARTESIAN_POINT('',(5.426903248737,1.129447894731)); -#4380 = CARTESIAN_POINT('',(5.44100599825,1.130097491274)); -#4381 = CARTESIAN_POINT('',(5.455164235957,1.130585419069)); -#4382 = CARTESIAN_POINT('',(5.469359586206,1.130910946087)); -#4383 = CARTESIAN_POINT('',(5.483573462059,1.131073707287)); -#4384 = CARTESIAN_POINT('',(5.497787298033,1.131073703941)); -#4385 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#4386 = PCURVE('',#2835,#4387); -#4387 = DEFINITIONAL_REPRESENTATION('',(#4388),#4398); -#4388 = B_SPLINE_CURVE_WITH_KNOTS('',8,(#4389,#4390,#4391,#4392,#4393, - #4394,#4395,#4396,#4397),.UNSPECIFIED.,.F.,.F.,(9,9),(0., - 1.570796326795),.PIECEWISE_BEZIER_KNOTS.); -#4389 = CARTESIAN_POINT('',(2.962946299157,-0.526250539436)); -#4390 = CARTESIAN_POINT('',(2.926088717118,-0.434836468535)); -#4391 = CARTESIAN_POINT('',(2.873068052523,-0.348970381878)); -#4392 = CARTESIAN_POINT('',(2.807502688455,-0.271677081405)); -#4393 = CARTESIAN_POINT('',(2.730863501536,-0.205567417182)); -#4394 = CARTESIAN_POINT('',(2.644479486835,-0.153363467099)); -#4395 = CARTESIAN_POINT('',(2.550782740426,-0.11771252843)); -#4396 = CARTESIAN_POINT('',(2.453489931676,-9.98857024243E-02)); -#4397 = CARTESIAN_POINT('',(2.356194490192,-9.98857024243E-02)); -#4398 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#4399 = FACE_BOUND('',#4400,.F.); -#4400 = EDGE_LOOP('',(#4401)); -#4401 = ORIENTED_EDGE('',*,*,#2444,.T.); -#4402 = FACE_BOUND('',#4403,.F.); -#4403 = EDGE_LOOP('',(#4404)); -#4404 = ORIENTED_EDGE('',*,*,#3465,.T.); -#4405 = ADVANCED_FACE('',(#4406),#1678,.F.); -#4406 = FACE_BOUND('',#4407,.F.); -#4407 = EDGE_LOOP('',(#4408,#4409,#4410,#4431)); -#4408 = ORIENTED_EDGE('',*,*,#1662,.F.); -#4409 = ORIENTED_EDGE('',*,*,#4066,.T.); -#4410 = ORIENTED_EDGE('',*,*,#4411,.F.); -#4411 = EDGE_CURVE('',#3908,#4067,#4412,.T.); -#4412 = SURFACE_CURVE('',#4413,(#4418,#4425),.PCURVE_S1.); -#4413 = CIRCLE('',#4414,0.497715749301); -#4414 = AXIS2_PLACEMENT_3D('',#4415,#4416,#4417); -#4415 = CARTESIAN_POINT('',(1.,2.,1.)); -#4416 = DIRECTION('',(0.707106781187,-0.707106781187,0.)); -#4417 = DIRECTION('',(0.707106781187,0.707106781187,0.)); -#4418 = PCURVE('',#1678,#4419); -#4419 = DEFINITIONAL_REPRESENTATION('',(#4420),#4424); -#4420 = CIRCLE('',#4421,0.497715749301); -#4421 = AXIS2_PLACEMENT_2D('',#4422,#4423); -#4422 = CARTESIAN_POINT('',(0.,-1.)); -#4423 = DIRECTION('',(-1.,0.)); -#4424 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#4425 = PCURVE('',#3960,#4426); -#4426 = DEFINITIONAL_REPRESENTATION('',(#4427),#4430); -#4427 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#4428,#4429),.UNSPECIFIED.,.F., - .F.,(2,2),(4.272666368506,4.712388980385),.PIECEWISE_BEZIER_KNOTS.); -#4428 = CARTESIAN_POINT('',(3.926990816987,-1.131073714916)); -#4429 = CARTESIAN_POINT('',(3.926990816987,-1.570796326795)); -#4430 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#4431 = ORIENTED_EDGE('',*,*,#3907,.F.); -#4432 = ADVANCED_FACE('',(#4433),#1994,.F.); -#4433 = FACE_BOUND('',#4434,.F.); -#4434 = EDGE_LOOP('',(#4435,#4458,#4459,#4460)); -#4435 = ORIENTED_EDGE('',*,*,#4436,.F.); -#4436 = EDGE_CURVE('',#1979,#4437,#4439,.T.); -#4437 = VERTEX_POINT('',#4438); -#4438 = CARTESIAN_POINT('',(2.,1.,0.502284250699)); -#4439 = SURFACE_CURVE('',#4440,(#4444,#4451),.PCURVE_S1.); -#4440 = LINE('',#4441,#4442); -#4441 = CARTESIAN_POINT('',(2.,1.,0.)); -#4442 = VECTOR('',#4443,1.); -#4443 = DIRECTION('',(0.,0.,1.)); -#4444 = PCURVE('',#1994,#4445); -#4445 = DEFINITIONAL_REPRESENTATION('',(#4446),#4450); -#4446 = LINE('',#4447,#4448); -#4447 = CARTESIAN_POINT('',(1.414213562373,0.)); -#4448 = VECTOR('',#4449,1.); -#4449 = DIRECTION('',(0.,-1.)); -#4450 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#4451 = PCURVE('',#2022,#4452); -#4452 = DEFINITIONAL_REPRESENTATION('',(#4453),#4457); -#4453 = LINE('',#4454,#4455); -#4454 = CARTESIAN_POINT('',(0.,0.)); -#4455 = VECTOR('',#4456,1.); -#4456 = DIRECTION('',(0.,-1.)); -#4457 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#4458 = ORIENTED_EDGE('',*,*,#1976,.F.); -#4459 = ORIENTED_EDGE('',*,*,#2874,.F.); -#4460 = ORIENTED_EDGE('',*,*,#4461,.F.); -#4461 = EDGE_CURVE('',#4437,#2792,#4462,.T.); -#4462 = SURFACE_CURVE('',#4463,(#4468,#4475),.PCURVE_S1.); -#4463 = CIRCLE('',#4464,0.497715749301); -#4464 = AXIS2_PLACEMENT_3D('',#4465,#4466,#4467); -#4465 = CARTESIAN_POINT('',(2.,1.,1.)); -#4466 = DIRECTION('',(-0.707106781187,0.707106781187,0.)); -#4467 = DIRECTION('',(-0.707106781187,-0.707106781187,0.)); -#4468 = PCURVE('',#1994,#4469); -#4469 = DEFINITIONAL_REPRESENTATION('',(#4470),#4474); -#4470 = CIRCLE('',#4471,0.497715749301); -#4471 = AXIS2_PLACEMENT_2D('',#4472,#4473); -#4472 = CARTESIAN_POINT('',(1.414213562373,-1.)); -#4473 = DIRECTION('',(-1.,-0.)); -#4474 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#4475 = PCURVE('',#2835,#4476); -#4476 = DEFINITIONAL_REPRESENTATION('',(#4477),#4480); -#4477 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#4478,#4479),.UNSPECIFIED.,.F., - .F.,(2,2),(4.712388980385,5.152111592263),.PIECEWISE_BEZIER_KNOTS.); -#4478 = CARTESIAN_POINT('',(3.926990816987,-1.570796326795)); -#4479 = CARTESIAN_POINT('',(3.926990816987,-1.131073714916)); -#4480 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#4481 = ADVANCED_FACE('',(#4482),#2022,.F.); -#4482 = FACE_BOUND('',#4483,.F.); -#4483 = EDGE_LOOP('',(#4484,#4485,#4486,#4507)); -#4484 = ORIENTED_EDGE('',*,*,#2006,.F.); -#4485 = ORIENTED_EDGE('',*,*,#4436,.T.); -#4486 = ORIENTED_EDGE('',*,*,#4487,.F.); -#4487 = EDGE_CURVE('',#4273,#4437,#4488,.T.); -#4488 = SURFACE_CURVE('',#4489,(#4494,#4501),.PCURVE_S1.); -#4489 = CIRCLE('',#4490,0.497715749301); -#4490 = AXIS2_PLACEMENT_3D('',#4491,#4492,#4493); -#4491 = CARTESIAN_POINT('',(2.,1.,1.)); -#4492 = DIRECTION('',(-0.707106781187,-0.707106781187,0.)); -#4493 = DIRECTION('',(0.707106781187,-0.707106781187,0.)); -#4494 = PCURVE('',#2022,#4495); -#4495 = DEFINITIONAL_REPRESENTATION('',(#4496),#4500); -#4496 = CIRCLE('',#4497,0.497715749301); -#4497 = AXIS2_PLACEMENT_2D('',#4498,#4499); -#4498 = CARTESIAN_POINT('',(0.,-1.)); -#4499 = DIRECTION('',(-1.,-0.)); -#4500 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#4501 = PCURVE('',#2835,#4502); -#4502 = DEFINITIONAL_REPRESENTATION('',(#4503),#4506); -#4503 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#4504,#4505),.UNSPECIFIED.,.F., - .F.,(2,2),(4.272666368506,4.712388980385),.PIECEWISE_BEZIER_KNOTS.); -#4504 = CARTESIAN_POINT('',(2.356194490192,-1.131073714916)); -#4505 = CARTESIAN_POINT('',(2.356194490192,-1.570796326795)); -#4506 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#4507 = ORIENTED_EDGE('',*,*,#4272,.F.); -#4508 = ADVANCED_FACE('',(#4509),#2756,.F.); -#4509 = FACE_BOUND('',#4510,.F.); -#4510 = EDGE_LOOP('',(#4511,#4512,#4535,#4556,#4557)); -#4511 = ORIENTED_EDGE('',*,*,#3237,.F.); -#4512 = ORIENTED_EDGE('',*,*,#4513,.T.); -#4513 = EDGE_CURVE('',#3210,#4514,#4516,.T.); -#4514 = VERTEX_POINT('',#4515); -#4515 = CARTESIAN_POINT('',(1.648061818566,0.648061818566,1.)); -#4516 = SURFACE_CURVE('',#4517,(#4521,#4528),.PCURVE_S1.); -#4517 = LINE('',#4518,#4519); -#4518 = CARTESIAN_POINT('',(1.,0.,1.)); -#4519 = VECTOR('',#4520,1.); -#4520 = DIRECTION('',(0.707106781187,0.707106781187,0.)); -#4521 = PCURVE('',#2756,#4522); -#4522 = DEFINITIONAL_REPRESENTATION('',(#4523),#4527); -#4523 = LINE('',#4524,#4525); -#4524 = CARTESIAN_POINT('',(0.,-1.)); -#4525 = VECTOR('',#4526,1.); -#4526 = DIRECTION('',(1.,0.)); -#4527 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#4528 = PCURVE('',#3225,#4529); -#4529 = DEFINITIONAL_REPRESENTATION('',(#4530),#4534); -#4530 = LINE('',#4531,#4532); -#4531 = CARTESIAN_POINT('',(0.,-1.)); -#4532 = VECTOR('',#4533,1.); -#4533 = DIRECTION('',(0.707106781187,0.707106781187)); -#4534 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#4535 = ORIENTED_EDGE('',*,*,#4536,.F.); -#4536 = EDGE_CURVE('',#2769,#4514,#4537,.T.); -#4537 = SURFACE_CURVE('',#4538,(#4543,#4550),.PCURVE_S1.); -#4538 = CIRCLE('',#4539,0.497715749301); -#4539 = AXIS2_PLACEMENT_3D('',#4540,#4541,#4542); -#4540 = CARTESIAN_POINT('',(2.,1.,1.)); -#4541 = DIRECTION('',(-0.707106781187,0.707106781187,0.)); -#4542 = DIRECTION('',(-0.707106781187,-0.707106781187,0.)); -#4543 = PCURVE('',#2756,#4544); -#4544 = DEFINITIONAL_REPRESENTATION('',(#4545),#4549); -#4545 = CIRCLE('',#4546,0.497715749301); -#4546 = AXIS2_PLACEMENT_2D('',#4547,#4548); -#4547 = CARTESIAN_POINT('',(1.414213562373,-1.)); -#4548 = DIRECTION('',(-1.,-0.)); -#4549 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#4550 = PCURVE('',#2835,#4551); -#4551 = DEFINITIONAL_REPRESENTATION('',(#4552),#4555); -#4552 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#4553,#4554),.UNSPECIFIED.,.F., - .F.,(2,2),(6.183299604755,6.28318530718),.PIECEWISE_BEZIER_KNOTS.); -#4553 = CARTESIAN_POINT('',(3.926990816987,-9.98857024243E-02)); -#4554 = CARTESIAN_POINT('',(3.926990816987,0.)); -#4555 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#4556 = ORIENTED_EDGE('',*,*,#2768,.F.); -#4557 = ORIENTED_EDGE('',*,*,#2738,.F.); -#4558 = ADVANCED_FACE('',(#4559),#2835,.F.); -#4559 = FACE_BOUND('',#4560,.F.); -#4560 = EDGE_LOOP('',(#4561,#4562,#4563,#4564,#4565,#4588,#4609,#4610)); -#4561 = ORIENTED_EDGE('',*,*,#4487,.T.); -#4562 = ORIENTED_EDGE('',*,*,#4461,.T.); -#4563 = ORIENTED_EDGE('',*,*,#2791,.F.); -#4564 = ORIENTED_EDGE('',*,*,#4536,.T.); -#4565 = ORIENTED_EDGE('',*,*,#4566,.F.); -#4566 = EDGE_CURVE('',#4567,#4514,#4569,.T.); -#4567 = VERTEX_POINT('',#4568); -#4568 = CARTESIAN_POINT('',(1.648061818566,1.351938181434,1.)); -#4569 = SURFACE_CURVE('',#4570,(#4575,#4581),.PCURVE_S1.); -#4570 = CIRCLE('',#4571,0.497715749301); -#4571 = AXIS2_PLACEMENT_3D('',#4572,#4573,#4574); -#4572 = CARTESIAN_POINT('',(2.,1.,1.)); -#4573 = DIRECTION('',(0.,0.,1.)); -#4574 = DIRECTION('',(1.,0.,-0.)); -#4575 = PCURVE('',#2835,#4576); -#4576 = DEFINITIONAL_REPRESENTATION('',(#4577),#4580); -#4577 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#4578,#4579),.UNSPECIFIED.,.F., - .F.,(2,2),(2.356194490192,3.926990816987),.PIECEWISE_BEZIER_KNOTS.); -#4578 = CARTESIAN_POINT('',(2.356194490192,0.)); -#4579 = CARTESIAN_POINT('',(3.926990816987,0.)); -#4580 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#4581 = PCURVE('',#3225,#4582); -#4582 = DEFINITIONAL_REPRESENTATION('',(#4583),#4587); -#4583 = CIRCLE('',#4584,0.497715749301); -#4584 = AXIS2_PLACEMENT_2D('',#4585,#4586); -#4585 = CARTESIAN_POINT('',(1.,1.110223024625E-16)); -#4586 = DIRECTION('',(1.,0.)); -#4587 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#4588 = ORIENTED_EDGE('',*,*,#4589,.T.); -#4589 = EDGE_CURVE('',#4567,#4138,#4590,.T.); -#4590 = SURFACE_CURVE('',#4591,(#4596,#4602),.PCURVE_S1.); -#4591 = CIRCLE('',#4592,0.497715749301); -#4592 = AXIS2_PLACEMENT_3D('',#4593,#4594,#4595); -#4593 = CARTESIAN_POINT('',(2.,1.,1.)); -#4594 = DIRECTION('',(-0.707106781187,-0.707106781187,0.)); -#4595 = DIRECTION('',(0.707106781187,-0.707106781187,0.)); -#4596 = PCURVE('',#2835,#4597); -#4597 = DEFINITIONAL_REPRESENTATION('',(#4598),#4601); -#4598 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#4599,#4600),.UNSPECIFIED.,.F., - .F.,(2,2),(3.14159265359,3.241478356014),.PIECEWISE_BEZIER_KNOTS.); -#4599 = CARTESIAN_POINT('',(2.356194490192,0.)); -#4600 = CARTESIAN_POINT('',(2.356194490192,-9.98857024243E-02)); -#4601 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#4602 = PCURVE('',#4155,#4603); -#4603 = DEFINITIONAL_REPRESENTATION('',(#4604),#4608); -#4604 = CIRCLE('',#4605,0.497715749301); -#4605 = AXIS2_PLACEMENT_2D('',#4606,#4607); -#4606 = CARTESIAN_POINT('',(0.,-1.)); -#4607 = DIRECTION('',(-1.,-0.)); -#4608 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#4609 = ORIENTED_EDGE('',*,*,#4352,.F.); -#4610 = ORIENTED_EDGE('',*,*,#4295,.F.); -#4611 = ADVANCED_FACE('',(#4612,#4709),#3225,.T.); -#4612 = FACE_BOUND('',#4613,.T.); -#4613 = EDGE_LOOP('',(#4614,#4615,#4616,#4617,#4618,#4619,#4642,#4665, - #4688)); -#4614 = ORIENTED_EDGE('',*,*,#3342,.F.); -#4615 = ORIENTED_EDGE('',*,*,#3286,.T.); -#4616 = ORIENTED_EDGE('',*,*,#3209,.F.); -#4617 = ORIENTED_EDGE('',*,*,#4513,.T.); -#4618 = ORIENTED_EDGE('',*,*,#4566,.F.); -#4619 = ORIENTED_EDGE('',*,*,#4620,.T.); -#4620 = EDGE_CURVE('',#4567,#4621,#4623,.T.); -#4621 = VERTEX_POINT('',#4622); -#4622 = CARTESIAN_POINT('',(1.351938181434,1.648061818566,1.)); -#4623 = SURFACE_CURVE('',#4624,(#4628,#4635),.PCURVE_S1.); -#4624 = LINE('',#4625,#4626); -#4625 = CARTESIAN_POINT('',(2.,1.,1.)); -#4626 = VECTOR('',#4627,1.); -#4627 = DIRECTION('',(-0.707106781187,0.707106781187,0.)); -#4628 = PCURVE('',#3225,#4629); -#4629 = DEFINITIONAL_REPRESENTATION('',(#4630),#4634); -#4630 = LINE('',#4631,#4632); -#4631 = CARTESIAN_POINT('',(1.,1.110223024625E-16)); -#4632 = VECTOR('',#4633,1.); -#4633 = DIRECTION('',(-0.707106781187,0.707106781187)); -#4634 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#4635 = PCURVE('',#4155,#4636); -#4636 = DEFINITIONAL_REPRESENTATION('',(#4637),#4641); -#4637 = LINE('',#4638,#4639); -#4638 = CARTESIAN_POINT('',(0.,-1.)); -#4639 = VECTOR('',#4640,1.); -#4640 = DIRECTION('',(1.,0.)); -#4641 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#4642 = ORIENTED_EDGE('',*,*,#4643,.F.); -#4643 = EDGE_CURVE('',#4644,#4621,#4646,.T.); -#4644 = VERTEX_POINT('',#4645); -#4645 = CARTESIAN_POINT('',(0.648061818566,1.648061818566,1.)); -#4646 = SURFACE_CURVE('',#4647,(#4652,#4659),.PCURVE_S1.); -#4647 = CIRCLE('',#4648,0.497715749301); -#4648 = AXIS2_PLACEMENT_3D('',#4649,#4650,#4651); -#4649 = CARTESIAN_POINT('',(1.,2.,1.)); -#4650 = DIRECTION('',(0.,0.,1.)); -#4651 = DIRECTION('',(1.,0.,-0.)); -#4652 = PCURVE('',#3225,#4653); -#4653 = DEFINITIONAL_REPRESENTATION('',(#4654),#4658); -#4654 = CIRCLE('',#4655,0.497715749301); -#4655 = AXIS2_PLACEMENT_2D('',#4656,#4657); -#4656 = CARTESIAN_POINT('',(0.,1.)); -#4657 = DIRECTION('',(1.,0.)); -#4658 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#4659 = PCURVE('',#3960,#4660); -#4660 = DEFINITIONAL_REPRESENTATION('',(#4661),#4664); -#4661 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#4662,#4663),.UNSPECIFIED.,.F., - .F.,(2,2),(3.926990816987,5.497787143782),.PIECEWISE_BEZIER_KNOTS.); -#4662 = CARTESIAN_POINT('',(3.926990816987,0.)); -#4663 = CARTESIAN_POINT('',(5.497787143782,0.)); -#4664 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#4665 = ORIENTED_EDGE('',*,*,#4666,.T.); -#4666 = EDGE_CURVE('',#4644,#4667,#4669,.T.); -#4667 = VERTEX_POINT('',#4668); -#4668 = CARTESIAN_POINT('',(0.351938181434,1.351938181434,1.)); -#4669 = SURFACE_CURVE('',#4670,(#4674,#4681),.PCURVE_S1.); -#4670 = LINE('',#4671,#4672); -#4671 = CARTESIAN_POINT('',(1.,2.,1.)); -#4672 = VECTOR('',#4673,1.); -#4673 = DIRECTION('',(-0.707106781187,-0.707106781187,0.)); -#4674 = PCURVE('',#3225,#4675); -#4675 = DEFINITIONAL_REPRESENTATION('',(#4676),#4680); -#4676 = LINE('',#4677,#4678); -#4677 = CARTESIAN_POINT('',(0.,1.)); -#4678 = VECTOR('',#4679,1.); -#4679 = DIRECTION('',(-0.707106781187,-0.707106781187)); -#4680 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#4681 = PCURVE('',#3803,#4682); -#4682 = DEFINITIONAL_REPRESENTATION('',(#4683),#4687); -#4683 = LINE('',#4684,#4685); -#4684 = CARTESIAN_POINT('',(0.,-1.)); -#4685 = VECTOR('',#4686,1.); -#4686 = DIRECTION('',(1.,0.)); -#4687 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#4688 = ORIENTED_EDGE('',*,*,#4689,.F.); -#4689 = EDGE_CURVE('',#3316,#4667,#4690,.T.); -#4690 = SURFACE_CURVE('',#4691,(#4696,#4703),.PCURVE_S1.); -#4691 = CIRCLE('',#4692,0.497715749301); -#4692 = AXIS2_PLACEMENT_3D('',#4693,#4694,#4695); -#4693 = CARTESIAN_POINT('',(0.,1.,1.)); -#4694 = DIRECTION('',(0.,0.,1.)); -#4695 = DIRECTION('',(1.,0.,-0.)); -#4696 = PCURVE('',#3225,#4697); -#4697 = DEFINITIONAL_REPRESENTATION('',(#4698),#4702); -#4698 = CIRCLE('',#4699,0.497715749301); -#4699 = AXIS2_PLACEMENT_2D('',#4700,#4701); -#4700 = CARTESIAN_POINT('',(-1.,1.110223024625E-16)); -#4701 = DIRECTION('',(1.,0.)); -#4702 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#4703 = PCURVE('',#3331,#4704); -#4704 = DEFINITIONAL_REPRESENTATION('',(#4705),#4708); -#4705 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#4706,#4707),.UNSPECIFIED.,.F., - .F.,(2,2),(0.,0.785398163397),.PIECEWISE_BEZIER_KNOTS.); -#4706 = CARTESIAN_POINT('',(0.,0.)); -#4707 = CARTESIAN_POINT('',(0.785398163397,0.)); -#4708 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#4709 = FACE_BOUND('',#4710,.T.); -#4710 = EDGE_LOOP('',(#4711)); -#4711 = ORIENTED_EDGE('',*,*,#3417,.F.); -#4712 = ADVANCED_FACE('',(#4713),#3331,.F.); -#4713 = FACE_BOUND('',#4714,.F.); -#4714 = EDGE_LOOP('',(#4715,#4716,#4717,#4718,#4719)); -#4715 = ORIENTED_EDGE('',*,*,#4689,.F.); -#4716 = ORIENTED_EDGE('',*,*,#3313,.F.); -#4717 = ORIENTED_EDGE('',*,*,#3741,.T.); -#4718 = ORIENTED_EDGE('',*,*,#3815,.F.); -#4719 = ORIENTED_EDGE('',*,*,#4720,.T.); -#4720 = EDGE_CURVE('',#3788,#4667,#4721,.T.); -#4721 = SURFACE_CURVE('',#4722,(#4727,#4733),.PCURVE_S1.); -#4722 = CIRCLE('',#4723,0.497715749301); -#4723 = AXIS2_PLACEMENT_3D('',#4724,#4725,#4726); -#4724 = CARTESIAN_POINT('',(0.,1.,1.)); -#4725 = DIRECTION('',(0.707106781187,-0.707106781187,0.)); -#4726 = DIRECTION('',(0.707106781187,0.707106781187,0.)); -#4727 = PCURVE('',#3331,#4728); -#4728 = DEFINITIONAL_REPRESENTATION('',(#4729),#4732); -#4729 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#4730,#4731),.UNSPECIFIED.,.F., - .F.,(2,2),(6.183299604755,6.28318530718),.PIECEWISE_BEZIER_KNOTS.); -#4730 = CARTESIAN_POINT('',(0.785398163397,-9.98857024243E-02)); -#4731 = CARTESIAN_POINT('',(0.785398163397,0.)); -#4732 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#4733 = PCURVE('',#3803,#4734); -#4734 = DEFINITIONAL_REPRESENTATION('',(#4735),#4739); -#4735 = CIRCLE('',#4736,0.497715749301); -#4736 = AXIS2_PLACEMENT_2D('',#4737,#4738); -#4737 = CARTESIAN_POINT('',(1.414213562373,-1.)); -#4738 = DIRECTION('',(-1.,0.)); -#4739 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#4740 = ADVANCED_FACE('',(#4741),#3803,.F.); -#4741 = FACE_BOUND('',#4742,.F.); -#4742 = EDGE_LOOP('',(#4743,#4764,#4765,#4766,#4767)); -#4743 = ORIENTED_EDGE('',*,*,#4744,.F.); -#4744 = EDGE_CURVE('',#4644,#3993,#4745,.T.); -#4745 = SURFACE_CURVE('',#4746,(#4751,#4758),.PCURVE_S1.); -#4746 = CIRCLE('',#4747,0.497715749301); -#4747 = AXIS2_PLACEMENT_3D('',#4748,#4749,#4750); -#4748 = CARTESIAN_POINT('',(1.,2.,1.)); -#4749 = DIRECTION('',(0.707106781187,-0.707106781187,0.)); -#4750 = DIRECTION('',(0.707106781187,0.707106781187,0.)); -#4751 = PCURVE('',#3803,#4752); -#4752 = DEFINITIONAL_REPRESENTATION('',(#4753),#4757); -#4753 = CIRCLE('',#4754,0.497715749301); -#4754 = AXIS2_PLACEMENT_2D('',#4755,#4756); -#4755 = CARTESIAN_POINT('',(0.,-1.)); -#4756 = DIRECTION('',(-1.,0.)); -#4757 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#4758 = PCURVE('',#3960,#4759); -#4759 = DEFINITIONAL_REPRESENTATION('',(#4760),#4763); -#4760 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#4761,#4762),.UNSPECIFIED.,.F., - .F.,(2,2),(3.14159265359,3.241478356014),.PIECEWISE_BEZIER_KNOTS.); -#4761 = CARTESIAN_POINT('',(3.926990816987,0.)); -#4762 = CARTESIAN_POINT('',(3.926990816987,-9.98857024243E-02)); -#4763 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#4764 = ORIENTED_EDGE('',*,*,#4666,.T.); -#4765 = ORIENTED_EDGE('',*,*,#4720,.F.); -#4766 = ORIENTED_EDGE('',*,*,#3787,.F.); -#4767 = ORIENTED_EDGE('',*,*,#4042,.F.); -#4768 = ADVANCED_FACE('',(#4769),#3960,.F.); -#4769 = FACE_BOUND('',#4770,.F.); -#4770 = EDGE_LOOP('',(#4771,#4772,#4773,#4774,#4795,#4796,#4797,#4798)); -#4771 = ORIENTED_EDGE('',*,*,#4411,.T.); -#4772 = ORIENTED_EDGE('',*,*,#4113,.T.); -#4773 = ORIENTED_EDGE('',*,*,#4190,.F.); -#4774 = ORIENTED_EDGE('',*,*,#4775,.T.); -#4775 = EDGE_CURVE('',#4168,#4621,#4776,.T.); -#4776 = SURFACE_CURVE('',#4777,(#4782,#4788),.PCURVE_S1.); -#4777 = CIRCLE('',#4778,0.497715749301); -#4778 = AXIS2_PLACEMENT_3D('',#4779,#4780,#4781); -#4779 = CARTESIAN_POINT('',(1.,2.,1.)); -#4780 = DIRECTION('',(-0.707106781187,-0.707106781187,0.)); -#4781 = DIRECTION('',(0.707106781187,-0.707106781187,0.)); -#4782 = PCURVE('',#3960,#4783); -#4783 = DEFINITIONAL_REPRESENTATION('',(#4784),#4787); -#4784 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#4785,#4786),.UNSPECIFIED.,.F., - .F.,(2,2),(6.183299604755,6.28318530718),.PIECEWISE_BEZIER_KNOTS.); -#4785 = CARTESIAN_POINT('',(5.497787143782,-9.98857024243E-02)); -#4786 = CARTESIAN_POINT('',(5.497787143782,0.)); -#4787 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#4788 = PCURVE('',#4155,#4789); -#4789 = DEFINITIONAL_REPRESENTATION('',(#4790),#4794); -#4790 = CIRCLE('',#4791,0.497715749301); -#4791 = AXIS2_PLACEMENT_2D('',#4792,#4793); -#4792 = CARTESIAN_POINT('',(1.414213562373,-1.)); -#4793 = DIRECTION('',(-1.,-0.)); -#4794 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) -PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' - ) ); -#4795 = ORIENTED_EDGE('',*,*,#4643,.F.); -#4796 = ORIENTED_EDGE('',*,*,#4744,.T.); -#4797 = ORIENTED_EDGE('',*,*,#3992,.F.); -#4798 = ORIENTED_EDGE('',*,*,#3930,.F.); -#4799 = ADVANCED_FACE('',(#4800),#4155,.F.); -#4800 = FACE_BOUND('',#4801,.F.); -#4801 = EDGE_LOOP('',(#4802,#4803,#4804,#4805,#4806)); -#4802 = ORIENTED_EDGE('',*,*,#4589,.F.); -#4803 = ORIENTED_EDGE('',*,*,#4620,.T.); -#4804 = ORIENTED_EDGE('',*,*,#4775,.F.); -#4805 = ORIENTED_EDGE('',*,*,#4167,.F.); -#4806 = ORIENTED_EDGE('',*,*,#4137,.F.); -#4807 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3) -GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#4811)) -GLOBAL_UNIT_ASSIGNED_CONTEXT((#4808,#4809,#4810)) REPRESENTATION_CONTEXT -('Context #1','3D Context with UNIT and UNCERTAINTY') ); -#4808 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT($,.METRE.) ); -#4809 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) ); -#4810 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() ); -#4811 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-07),#4808, - 'distance_accuracy_value','confusion accuracy'); -#4812 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#7)); -ENDSEC; -END-ISO-10303-21; diff --git a/temp/faceCenteredCubic.old.py b/temp/faceCenteredCubic.old.py deleted file mode 100644 index 5cd1bba..0000000 --- a/temp/faceCenteredCubic.old.py +++ /dev/null @@ -1,502 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -import salome, GEOM, SMESH, SALOMEDS -from salome.geom import geomBuilder -from salome.smesh import smeshBuilder -import math -import os, sys -import logging -import time -from datetime import timedelta - -class faceCenteredCubic: - def __init__(self, name = None): - self.name = name if type(name) != None else "faceCenteredCubic" - self.geometry = None - self.geometrybbox = None - self.mesh = None - self.boundary = None - - self.rombus = None - self.rombusbbox = None - - self.spheres = None - - salome.salome_init() - - def geometryCreate(self, alpha, fillet): - """ - Create the simple cubic geometry. - - Parameters: - alpha (float): Sphere intersection parameter which used for cutting spheres from box. - - Radius = R0 / (1 - alpha) - Should be from 0.01 to 0.28 - - fillet (list): Fillet coefficient. - - [fillet1, fillet2] - 0 <= fillet <= 1 - if fillet = [0, 0] then R_fillet = 0 - - Returns: - Configured geometry. - """ - - geompy = geomBuilder.New() - - # Parameters - R0 = math.sqrt(2) / 4 - R = R0 / (1 - alpha) - - C1 = fillet[0] - C2 = fillet[1] - alpha1 = 0.01 - alpha2 = 0.28 - - Cf = C1 + (C2 - C1) / (alpha2 - alpha1) * (alpha - alpha1) - R_fillet = Cf * (R0 * math.sqrt(2) - R) - - logging.info("geometryCreate: alpha = {}".format(alpha)) - logging.info("geometryCreate: R = {}".format(R)) - logging.info("geometryCreate: R_fillet = {}".format(R_fillet)) - - # xyz axes - axes = [ - geompy.MakeVectorDXDYDZ(1, 0, 0), - geompy.MakeVectorDXDYDZ(0, 1, 0), - geompy.MakeVectorDXDYDZ(0, 0, 1) - ] - - # Main box - size = [1 / math.sqrt(2), 1 / math.sqrt(2), 1] - angle = [0, 0, 0] - pos = [0, 0, 0] - - box = geompy.MakeBoxDXDYDZ(size[0], size[1], size[2]) - - for n in range(3): - box = geompy.MakeRotation(box, axes[n], angle[n] * math.pi / 180.0) - - box = geompy.MakeTranslation(box, pos[0], pos[1], pos[2]) - - #[x, y, z, _, _, _, _, _, _] = geompy.GetPosition(box) - #pos = [x, y, z] - - # Spheres for cutting - sphere = geompy.MakeSpherePntR(geompy.MakeVertex(pos[0], pos[1], pos[2]), R) - sphere = geompy.MakeMultiTranslation2D(sphere, None, 2 * R0, 3, None, 2 * R0, 3) - sphere2 = geompy.MakeTranslation(sphere, 0, 0, 2 * math.sqrt(2) * R0) - sphere3 = geompy.MakeTranslation(sphere, R0, R0, 0.5) - - sphere = geompy.ExtractShapes(sphere, geompy.ShapeType["SOLID"], True) - sphere2 = geompy.ExtractShapes(sphere2, geompy.ShapeType["SOLID"], True) - sphere3 = geompy.ExtractShapes(sphere3, geompy.ShapeType["SOLID"], True) - - sphere = geompy.MakeFuseList(sphere + sphere2 + sphere3, False, False) - - - if not R_fillet == 0: - sphere = geompy.MakeFilletAll(sphere, R_fillet) - - self.spheres = sphere - - # Main geometry and bounding box - # geompy.RemoveExtraEdges(obj, True) - self.geometry = geompy.MakeCutList(box, [sphere], True) - self.geometrybbox = box - - # Rombus and bounding box - sk = geompy.Sketcher3D() - sk.addPointsAbsolute(0, 0, size[2]) - sk.addPointsAbsolute(size[2] / 2, 0, size[2] / 2) - sk.addPointsAbsolute(size[2] / 2, size[2] / 2, 0) - sk.addPointsAbsolute(0, size[2] / 2, size[2] / 2) - sk.addPointsAbsolute(0, 0, size[2]) - - face = geompy.MakeFaceWires([sk.wire()], 1) - rombusbbox = geompy.MakePrismVecH(face, geompy.MakeVectorDXDYDZ(1, 1, 0), size[0]) - rombusbbox = geompy.MakeRotation(rombusbbox, axes[2], 45 * math.pi / 180.0) - rombusbbox = geompy.MakeTranslation(rombusbbox, size[0], 0, 0) - - self.rombus = geompy.MakeCutList(rombusbbox, [sphere], True) - self.rombusbbox = rombusbbox - - # Change position - self.spheres = geompy.MakeRotation(self.spheres, axes[2], -45 * math.pi / 180.0) - self.spheres = geompy.MakeTranslation(self.spheres, 0, 0.5, 0) - - self.geometry = geompy.MakeRotation(self.geometry, axes[2], -45 * math.pi / 180.0) - self.geometry = geompy.MakeTranslation(self.geometry, 0, 0.5, 0) - self.geometrybbox = geompy.MakeRotation(self.geometrybbox, axes[2], -45 * math.pi / 180.0) - self.geometrybbox = geompy.MakeTranslation(self.geometrybbox, 0, 0.5, 0) - - self.rombus = geompy.MakeRotation(self.rombus, axes[2], -45 * math.pi / 180.0) - self.rombus = geompy.MakeTranslation(self.rombus, 0, 0.5, 0) - self.rombusbbox = geompy.MakeRotation(self.rombusbbox, axes[2], -45 * math.pi / 180.0) - self.rombusbbox = geompy.MakeTranslation(self.rombusbbox, 0, 0.5, 0) - - - geompy.addToStudy(self.spheres, "spheres") - geompy.addToStudy(self.geometry, self.name) - geompy.addToStudy(self.rombus, "rombus") - geompy.addToStudy(rombusbbox, "rombusbbox") - - return self.geometry - - def boundaryCreate(self, direction): - """ - Create the boundary faces from the geometry. - - Parameters: - direction (str): Direction of the flow. - - '001' for the flow with normal vector (0, 0, 1) to face. - '100' for the flow with normal vector (1, 0, 0) to face. - '111' for (1, 1, 1) - - Returns: - boundary (dict): - - { - "inlet": , - "outlet": , - "symetryPlane": , - "wall": - } - - """ - geompy = geomBuilder.New() - rot = [0, 0, 45] - buffergeometry = self.geometry - - if direction == "001": - [x, y, z, _, _, _, _, _, _] = geompy.GetPosition(self.geometry) - center = geompy.MakeVertex(x, y, z) - - norm = geompy.MakeVector(center, - geompy.MakeVertexWithRef(center, 0, 0, 1)) - - bnorm = geompy.MakeVector(center, - geompy.MakeVertexWithRef(center, - -math.cos((90 + rot[2]) * math.pi / 180.0), - math.sin((90 + rot[2]) * math.pi / 180.0), 0)) - - vnorm = geompy.MakeVector(center, - geompy.MakeVertexWithRef(center, - -math.cos((0 + rot[2]) * math.pi / 180.0), - math.sin((0 + rot[2]) * math.pi / 180.0), 0)) - - elif direction == "100": - [x, y, z, _, _, _, _, _, _] = geompy.GetPosition(self.geometry) - center = geompy.MakeVertex(x, y, z) - - norm = geompy.MakeVector(center, - geompy.MakeVertexWithRef(center, - -math.cos((90 + rot[2]) * math.pi / 180.0), - math.sin((90 + rot[2]) * math.pi / 180.0), 0)) - - bnorm = geompy.MakeVector(center, - geompy.MakeVertexWithRef(center, 0, 0, 1)) - - vnorm = geompy.MakeVector(center, - geompy.MakeVertexWithRef(center, - -math.cos((0 + rot[2]) * math.pi / 180.0), - math.sin((0 + rot[2]) * math.pi / 180.0), 0)) - - elif direction == "111": - self.geometry = self.rombus - [x, y, z, _, _, _, _, _, _] = geompy.GetPosition(self.geometry) - center = geompy.MakeVertex(x, y, z) - - norm = geompy.MakeVector(center, - geompy.MakeVertexWithRef(center, 1, 1, 1)) - #-math.cos((90 + rot[2]) * math.pi / 180.0), - #math.sin((90 + rot[2]) * math.pi / 180.0), math.sqrt(2) / 2)) - - bnorm = geompy.MakeVector(center, - geompy.MakeVertexWithRef(center, 1, -1, 1)) - # -math.cos((90 + rot[2]) * math.pi / 180.0), - # math.sin((90 + rot[2]) * math.pi / 180.0), 0)) - - vnorm = geompy.MakeVector(center, - geompy.MakeVertexWithRef(center, -1, 1, 1)) - #-math.cos((0 + rot[2]) * math.pi / 180.0), - #math.sin((0 + rot[2]) * math.pi / 180.0), 0)) - - logging.info("boundaryCreate: direction = {}".format(direction)) - - geompy.addToStudy(norm, "normalvector") - geompy.addToStudy(bnorm, "bnorm") - geompy.addToStudy(vnorm, "vnorm") - - if direction == "111": - box = self.rombus - - else: - box = self.geometrybbox - - planes = geompy.ExtractShapes(box, geompy.ShapeType["FACE"], True) - inletplane = [] - outletplane = [] - hplanes = [] - - fwplanes = [] - bwplanes = [] - lplanes = [] - rplanes = [] - - for plane in planes: - planeNorm = geompy.GetNormal(plane) - - angle = round(abs(geompy.GetAngle(planeNorm, norm)), 0) - - if angle == 0: - outletplane.append(plane) - - elif angle == 180: - inletplane.append(plane) - - elif direction == "111" and (angle == 109 or angle == 71): - #hplanes.append(plane) - - bangle = round(abs(geompy.GetAngle(planeNorm, bnorm)), 0) - #logging.info("bangle = {}".format(bangle)) - - if bangle == 0: - fwplanes.append(plane) - - elif bangle == 180: - bwplanes.append(plane) - - vangle = round(abs(geompy.GetAngle(planeNorm, vnorm)), 0) - #logging.info("vangle = {}".format(vangle)) - - if vangle == 0: - lplanes.append(plane) - - elif vangle == 180: - rplanes.append(plane) - - elif direction == "100" or direction == "001": - if angle == 90: - #hplanes.append(plane) - - bangle = round(abs(geompy.GetAngle(planeNorm, bnorm)), 0) - #logging.info("bangle = {}".format(bangle)) - - if bangle == 0: - fwplanes.append(plane) - - elif bangle == 180: - bwplanes.append(plane) - - vangle = round(abs(geompy.GetAngle(planeNorm, vnorm)), 0) - #logging.info("vangle = {}".format(vangle)) - - if vangle == 0: - lplanes.append(plane) - - elif vangle == 180: - rplanes.append(plane) - - - if salome.sg.hasDesktop(): - salome.sg.updateObjBrowser() - - logging.info("boundaryCreate: inletplanes = {}, outletplanes = {}, hplanes = {}".format( - len(inletplane), len(outletplane), len(hplanes))) - - logging.info("boundaryCreate: fwplanes = {}, bwplanes = {}, lplanes = {}, rplanes = {}".format( - len(fwplanes), len(bwplanes), len(lplanes), len(rplanes))) - - - def createGroup(planelist, name): - gr = geompy.CreateGroup(self.geometry, geompy.ShapeType["FACE"], name) - - grcomp = geompy.MakeCompound(planelist) - grcut = geompy.MakeCutList(grcomp, [self.spheres], True) - - gip = geompy.GetInPlace(self.geometry, grcut, True) - faces = geompy.SubShapeAll(gip, geompy.ShapeType["FACE"]) - geompy.UnionList(gr, faces) - - return gr - - - # Main groups - inlet = createGroup(inletplane, "inlet") - outlet = createGroup(outletplane, "outlet") - - # Symetry planes - symetryPlaneFW = createGroup(fwplanes, "symetryPlaneFW") - symetryPlaneBW = createGroup(bwplanes, "symetryPlaneBW") - symetryPlaneL = createGroup(lplanes, "symetryPlaneL") - symetryPlaneR = createGroup(rplanes, "symetryPlaneR") - - # Wall - allgroup = geompy.CreateGroup(self.geometry, geompy.ShapeType["FACE"]) - faces = geompy.SubShapeAllIDs(self.geometry, geompy.ShapeType["FACE"]) - geompy.UnionIDs(allgroup, faces) - wall = geompy.CutListOfGroups([allgroup], - [inlet, outlet, symetryPlaneFW, symetryPlaneBW, symetryPlaneL, symetryPlaneR], "wall") - - self.boundary = { - "inlet": inlet, - "outlet": outlet, - "symetryPlaneFW": symetryPlaneFW, - "symetryPlaneBW": symetryPlaneBW, - "symetryPlaneL": symetryPlaneL, - "symetryPlaneR": symetryPlaneR, - "wall": wall - } - - return self.boundary - - def meshCreate(self, fineness, viscousLayers=None): - """ - Creates a mesh from a geometry. - - Parameters: - fineness (int): Fineness of mesh. - - 0 - Very coarse, - 1 - Coarse, - 2 - Moderate, - 3 - Fine, - 4 - Very fine. - - viscousLayers (dict or None): Defines viscous layers for mesh. - By default, inlets and outlets specified without layers. - - { - "thickness": float, - "number": int, - "stretch": float - } - - Returns: - Configured instance of class , containig the parameters and boundary groups. - - """ - smesh = smeshBuilder.New() - Fineness = { - 0: "Very coarse", - 1: "Coarse", - 2: "Moderate", - 3: "Fine", - 4: "Very fine" - }[fineness] - - logging.info("meshCreate: mesh fineness - {}".format(Fineness)) - - mesh = smesh.Mesh(self.geometry) - netgen = mesh.Tetrahedron(algo=smeshBuilder.NETGEN_1D2D3D) - - param = netgen.Parameters() - param.SetSecondOrder( 0 ) - param.SetOptimize( 1 ) - param.SetChordalError( -1 ) - param.SetChordalErrorEnabled( 0 ) - param.SetUseSurfaceCurvature( 1 ) - param.SetFuseEdges( 1 ) - param.SetCheckChartBoundary( 0 ) - param.SetMinSize( 0.001 ) - param.SetMaxSize( 0.1 ) - param.SetFineness(fineness) - #param.SetGrowthRate( 0.1 ) - #param.SetNbSegPerEdge( 5 ) - #param.SetNbSegPerRadius( 10 ) - param.SetQuadAllowed( 0 ) - - if not viscousLayers is None: - logging.info("meshCreate: viscous layers params - thickness = {}, number = {}, stretch factor = {}".format( - viscousLayers["thickness"], viscousLayers["number"], viscousLayers["stretch"])) - - vlayer = netgen.ViscousLayers( - viscousLayers["thickness"], - viscousLayers["number"], - viscousLayers["stretch"], - [self.boundary["inlet"], self.boundary["outlet"]], - 1, smeshBuilder.NODE_OFFSET) - - else: - logging.info("meshCreate: viscous layers are disabled") - - for name, boundary in self.boundary.items(): - mesh.GroupOnGeom(boundary, "{}_".format(name), SMESH.FACE) - - self.mesh = mesh - - return self.mesh - - def meshCompute(self): - """Compute the mesh.""" - status = self.mesh.Compute() - - if status: - logging.info("Mesh succesfully computed.") - - else: - logging.warning("Mesh is not computed.") - - def meshExport(self, path): - """ - Export the mesh in a file in UNV format. - - Parameters: - path (string): full path to the expected directory. - """ - exportpath = os.path.join(path, "{}.unv".format(self.name)) - - try: - self.mesh.ExportUNV(exportpath) - - except: - logging.error("Cannot export mesh to '{}'".format(exportpath)) - -if __name__ == "__main__": - # Arguments - buildpath = str(sys.argv[1]) - alpha = float(sys.argv[2]) - direction = str(sys.argv[3]) - - name = "faceCenteredCubic-{}-{}".format(direction, alpha) - - # Logger - logging.basicConfig( - level=logging.INFO, - format="%(levelname)s: %(message)s", - handlers = [ - logging.StreamHandler(), - logging.FileHandler(os.path.join(buildpath, "{}.log".format(name))) - ]) - start_time = time.monotonic() - - # Simple cubic - fcc = faceCenteredCubic(name) - - logging.info("Creating the geometry ...") - fcc.geometryCreate(alpha, [0, 0]) - - logging.info("Extracting boundaries ...") - fcc.boundaryCreate(direction) - - logging.info("Creating the mesh ...") - fcc.meshCreate(2, { - "thickness": 0.01, - "number": 2, - "stretch": 1.1 - }) - fcc.meshCompute() - - logging.info("Exporting the mesh ...") - fcc.meshExport(buildpath) - - end_time = time.monotonic() - logging.info("Elapsed time: {}".format(timedelta(seconds=end_time - start_time))) - logging.info("Done.") - - if salome.sg.hasDesktop(): - salome.sg.updateObjBrowser() diff --git a/temp/genmesh.old.py b/temp/genmesh.old.py deleted file mode 100644 index 0cb6356..0000000 --- a/temp/genmesh.old.py +++ /dev/null @@ -1,91 +0,0 @@ -import os -import subprocess -import multiprocessing -import logging -import time -from datetime import timedelta - -def salome(port, src_path, build_path, coefficient, direction): - """ - Run salome and terminate after. - - Parameters: - port (int): Port for the process. - src_path (str): Path to the execution script. - build_path (str): Output path. - """ - logging.info("Starting SALOME on port {}.".format(port)) - salomelog = open("{}/salome.log".format(build_path), "a") - - subprocess.run([ - "salome", "start", - "--port", str(port), - "-t", src_path, - "args:{},{},{}".format(build_path, coefficient, direction) - ], - stdout=salomelog, - stderr=salomelog) - - logging.info("Terminating SALOME on port {}.".format(port)) - - subprocess.run([ - "salome", "kill", - str(port) - ], - stdout=salomelog, - stderr=salomelog) - - salomelog.close() - - -if __name__ == "__main__": - # Get main paths - project = os.getcwd() - src = os.path.join(project, "src") - build = os.path.join(project, "build") - - if not os.path.exists(build): - os.makedirs(build) - - # Logger - logging.basicConfig( - level=logging.INFO, - format="%(levelname)s: %(message)s", - handlers = [ - logging.StreamHandler(), - logging.FileHandler("{}/genmesh.log".format(build)) - ]) - start_time = time.monotonic() - - # Start in parallel - processes = [] - structures = ["simpleCubic", "faceCenteredCubic"] #, "bodyCenteredCubic"] - directions = ["001"] #, "100", "111"] - coefficients = [0.1] #[ alpha * 0.01 for alpha in range(1, 13 + 1) ] - port = 2810 - - for structure in structures: - for direction in directions: - for coefficient in coefficients: - src_path = os.path.join(src, "{}.py".format(structure)) - build_path = os.path.join(build, - structure, - "direction-{}".format(direction), - "alpha-{}".format(coefficient)) - - if not os.path.exists(build_path): - os.makedirs(build_path) - - p = multiprocessing.Process(target = salome, - args = (port, src_path, build_path, coefficient, direction)) - processes.append(p) - p.start() - logging.info("{} on port {}.".format(p, port)) - port += 1 - - for process in processes: - process.join() - - end_time = time.monotonic() - logging.info("Elapsed time: {}".format(timedelta(seconds=end_time - start_time))) - diff --git a/temp/gutils.old.py b/temp/gutils.old.py deleted file mode 100644 index 2c4026b..0000000 --- a/temp/gutils.old.py +++ /dev/null @@ -1,119 +0,0 @@ -import salome, GEOM, SMESH, SALOMEDS -from salome.geom import geomBuilder -from salome.smesh import smeshBuilder -import math -import os, sys -import logging -import time -from datetime import timedelta - -def rotate(gobj, ang): - x = geompy.MakeVectorDXDYDZ(1, 0, 0), - y = geompy.MakeVectorDXDYDZ(0, 1, 0), - z = geompy.MakeVectorDXDYDZ(0, 0, 1) - - # yaw - rotated = geompy.MakeRotation(gobj, z, ang[2]) - # pitch - rotated = geompy.MakeRotation(rotated, y, ang[1]) - # roll - rotated = geompy.MakeRotation(rotated, x, ang[0]) - - return rotated - -def createGroup(gobj, planelist, grains, name): - gr = geompy.CreateGroup(gobj, geompy.ShapeType["FACE"], name) - - grcomp = geompy.MakeCompound(planelist) - grcut = geompy.MakeCutList(grcomp, [grains], True) - - gip = geompy.GetInPlace(gobj, grcut, True) - faces = geompy.SubShapeAll(gip, geompy.ShapeType["FACE"]) - geompy.UnionList(gr, faces) - - return gr - -def boundaryCreate(gobj, dvec, grains): - geompy = geomBuilder.New() - - xvec = geompy.MakeVector( - geompy.MakeVertex(0, 0, 0), - geompy.MakeVertex(dvec[0], dvec[1], dvec[2])) - xvec = rotate(dvec, self.angle) - - yvec = rotate(xvec, [0.5 * math.pi, 0, 0]) - zvec = rotate(xvec, [0, 0.5 * math.pi, 0]) - - logging.info("boundaryCreate: dvec = {}".format(dvec)) - - planes = geompy.ExtractShapes(gobj, geompy.ShapeType["FACE"], True) - inletplanes = [] - outletplanes = [] - uplanes = [] - - fwplanes = [] - bwplanes = [] - lplanes = [] - rplanes = [] - - for plane in planes: - nvec = geompy.GetNormal(plane) - xang = geompy.GetAngle(nvec, xvec) - yang = geompy.GetAngle(nvec, yvec) - zang = geompy.GetAngle(nvec, zvec) - - if xang == 0: - inletplanes.append(plane) - - elif xang == 180: - outletplanes.append(plane) - - elif yang == 0: - fwplanes.append(plane) - - elif yang == 180: - bwplanes.append(plane) - - elif zang == 0: - lplanes.append(plane) - - elif zang == 180: - rplanes.append(plane) - - logging.info( - "boundaryCreate: inletplanes = {}, outletplanes = {}, hplanes = {}".format( - len(inletplane), len(outletplane), len(hplanes))) - - logging.info( - "boundaryCreate: fwplanes = {}, bwplanes = {}, lplanes = {}, rplanes = {}".format( - len(fwplanes), len(bwplanes), len(lplanes), len(rplanes))) - - # Main groups - inlet = createGroup(gobj, inletplane, grains, "inlet") - outlet = createGroup(gobj, grains, outletplane, "outlet") - - symetryPlaneFW = createGroup(gobj, fwplanes, grains, "symetryPlaneFW") - symetryPlaneBW = createGroup(gobj, bwplanes, grains, "symetryPlaneBW") - symetryPlaneL = createGroup(gobj, lplanes, grains, "symetryPlaneL") - symetryPlaneR = createGroup(gobj, rplanes, grains, "symetryPlaneR") - - # wall - allgroup = geompy.CreateGroup(gobj, geompy.ShapeType["FACE"]) - faces = geompy.SubShapeAllIDs(gobj, geompy.ShapeType["FACE"]) - geompy.UnionIDs(allgroup, faces) - wall = geompy.CutListOfGroups([allgroup], - [inlet, outlet, symetryPlaneFW, symetryPlaneBW, symetryPlaneL, symetryPlaneR], "wall") - - boundary = { - "inlet": inlet, - "outlet": outlet, - "symetryPlaneFW": symetryPlaneFW, - "symetryPlaneBW": symetryPlaneBW, - "symetryPlaneL": symetryPlaneL, - "symetryPlaneR": symetryPlaneR, - "wall": wall - } - - return boundary - - diff --git a/temp/mutils.old.py b/temp/mutils.old.py deleted file mode 100644 index 374a7f2..0000000 --- a/temp/mutils.old.py +++ /dev/null @@ -1,110 +0,0 @@ -import salome, GEOM, SMESH, SALOMEDS -from salome.geom import geomBuilder -from salome.smesh import smeshBuilder -import math -import os, sys -import logging -import time -from datetime import timedelta - -def meshCreate(gobj, boundary, fineness, viscousLayers=None): - """ - Creates a mesh from a geometry. - - Parameters: - fineness (int): Fineness of mesh. - - 0 - Very coarse, - 1 - Coarse, - 2 - Moderate, - 3 - Fine, - 4 - Very fine. - - viscousLayers (dict or None): Defines viscous layers for mesh. - By default, inlets and outlets specified without layers. - - { - "thickness": float, - "number": int, - "stretch": float - } - - Returns: - Configured instance of class , containig the parameters and boundary groups. - - """ - smesh = smeshBuilder.New() - Fineness = { - 0: "Very coarse", - 1: "Coarse", - 2: "Moderate", - 3: "Fine", - 4: "Very fine" - }[fineness] - - logging.info("meshCreate: mesh fineness - {}".format(Fineness)) - - mesh = smesh.Mesh(gobj) - netgen = mesh.Tetrahedron(algo=smeshBuilder.NETGEN_1D2D3D) - - param = netgen.Parameters() - param.SetSecondOrder( 0 ) - param.SetOptimize( 1 ) - param.SetChordalError( -1 ) - param.SetChordalErrorEnabled( 0 ) - param.SetUseSurfaceCurvature( 1 ) - param.SetFuseEdges( 1 ) - param.SetCheckChartBoundary( 0 ) - param.SetMinSize( 0.01 ) - param.SetMaxSize( 0.1 ) - param.SetFineness(fineness) - #param.SetGrowthRate( 0.1 ) - #param.SetNbSegPerEdge( 5 ) - #param.SetNbSegPerRadius( 10 ) - param.SetQuadAllowed( 0 ) - - if not viscousLayers is None: - logging.info("meshCreate: viscous layers params - thickness = {}, number = {}, stretch factor = {}".format( - viscousLayers["thickness"], viscousLayers["number"], viscousLayers["stretch"])) - - vlayer = netgen.ViscousLayers( - viscousLayers["thickness"], - viscousLayers["number"], - viscousLayers["stretch"], - [boundary["inlet"], boundary["outlet"]], - 1, smeshBuilder.NODE_OFFSET) - - else: - logging.info("meshCreate: viscous layers are disabled") - - for name, b in boundary.items(): - mesh.GroupOnGeom(b, "{}_".format(name), SMESH.FACE) - - return mesh - -def meshCompute(mobj): - """Compute the mesh.""" - status = mobj.Compute() - - if status: - logging.info("Mesh succesfully computed.") - - else: - logging.warning("Mesh is not computed.") - -def meshExport(mobj, path): - """ - Export the mesh in a file in UNV format. - - Parameters: - path (string): full path to the expected directory. - """ - exportpath = os.path.join(path, "{}.unv".format(mobj.name)) - - try: - mobj.ExportUNV(exportpath) - - except: - logging.error("Cannot export mesh to '{}'".format(exportpath)) - - diff --git a/temp/paraview.1.py b/temp/paraview.1.py deleted file mode 100644 index a37aaa4..0000000 --- a/temp/paraview.1.py +++ /dev/null @@ -1,190 +0,0 @@ -# state file generated using paraview version 5.8.1 - -# ---------------------------------------------------------------- -# setup views used in the visualization -# ---------------------------------------------------------------- - -# trace generated using paraview version 5.8.1 -# -# To ensure correct image size when batch processing, please search -# for and uncomment the line `# renderView*.ViewSize = [*,*]` - -#### import the simple module from the paraview -from paraview.simple import * -#### disable automatic camera reset on 'Show' -paraview.simple._DisableFirstRenderCameraReset() - -# Create a new 'Render View' -renderView1 = CreateView('RenderView') -renderView1.ViewSize = [1518, 833] -renderView1.AxesGrid = 'GridAxes3DActor' -renderView1.CenterOfRotation = [1.9999999835818016e-05, 2.0000001541120582e-05, 9.999999747378752e-06] -renderView1.StereoType = 'Crystal Eyes' -renderView1.CameraPosition = [1.9999999835818016e-05, 2.0000001541120582e-05, 0.0001558028029300748] -renderView1.CameraFocalPoint = [1.9999999835818016e-05, 2.0000001541120582e-05, 9.999999747378752e-06] -renderView1.CameraFocalDisk = 1.0 -renderView1.CameraParallelScale = 3.773654229301616e-05 -renderView1.CameraParallelProjection = 1 - -# init the 'GridAxes3DActor' selected for 'AxesGrid' -renderView1.AxesGrid.Visibility = 1 - -SetActiveView(None) - -# ---------------------------------------------------------------- -# setup view layouts -# ---------------------------------------------------------------- - -# create new layout object 'Layout #1' -layout1 = CreateLayout(name='Layout #1') -layout1.AssignView(0, renderView1) - -# ---------------------------------------------------------------- -# restore active view -SetActiveView(renderView1) -# ---------------------------------------------------------------- - -# ---------------------------------------------------------------- -# setup the data processing pipelines -# ---------------------------------------------------------------- - -# create a new 'OpenFOAMReader' -simplefoam = OpenFOAMReader(FileName='/home/nafaryus/projects/anisotrope-cube/build/simple/coeff-0.01/direction-100/simple.foam') -simplefoam.CaseType = 'Decomposed Case' -simplefoam.MeshRegions = ['internalMesh'] -simplefoam.CellArrays = ['U', 'p'] - -# create a new 'Clip' -clip1 = Clip(Input=simplefoam) -clip1.ClipType = 'Plane' -clip1.HyperTreeGridClipper = 'Plane' -clip1.Scalars = ['POINTS', 'p'] -clip1.Value = 0.000504692076901847 - -# init the 'Plane' selected for 'ClipType' -clip1.ClipType.Origin = [1.999999909685357e-05, 2.0000001029529813e-05, 9.999999747378752e-06] -clip1.ClipType.Normal = [0.0, 0.0, 1.0] - -# init the 'Plane' selected for 'HyperTreeGridClipper' -clip1.HyperTreeGridClipper.Origin = [1.999999909685357e-05, 2.0000001029529813e-05, 9.999999747378752e-06] - -# ---------------------------------------------------------------- -# setup the visualization in view 'renderView1' -# ---------------------------------------------------------------- - -# show data from simplefoam -simplefoamDisplay = Show(simplefoam, renderView1, 'UnstructuredGridRepresentation') - -# get color transfer function/color map for 'p' -pLUT = GetColorTransferFunction('p') -pLUT.RGBPoints = [-2.29675952141406e-05, 0.231373, 0.298039, 0.752941, 0.000504692076901847, 0.865003, 0.865003, 0.865003, 0.0010323517490178347, 0.705882, 0.0156863, 0.14902] -pLUT.ScalarRangeInitialized = 1.0 - -# get opacity transfer function/opacity map for 'p' -pPWF = GetOpacityTransferFunction('p') -pPWF.Points = [-2.29675952141406e-05, 0.0, 0.5, 0.0, 0.0010323517490178347, 1.0, 0.5, 0.0] -pPWF.ScalarRangeInitialized = 1 - -# trace defaults for the display properties. -simplefoamDisplay.Representation = 'Surface' -simplefoamDisplay.ColorArrayName = ['POINTS', 'p'] -simplefoamDisplay.LookupTable = pLUT -simplefoamDisplay.OSPRayScaleArray = 'p' -simplefoamDisplay.OSPRayScaleFunction = 'PiecewiseFunction' -simplefoamDisplay.SelectOrientationVectors = 'U' -simplefoamDisplay.ScaleFactor = 3.740525119155791e-06 -simplefoamDisplay.SelectScaleArray = 'p' -simplefoamDisplay.GlyphType = 'Arrow' -simplefoamDisplay.GlyphTableIndexArray = 'p' -simplefoamDisplay.GaussianRadius = 1.8702625595778954e-07 -simplefoamDisplay.SetScaleArray = ['POINTS', 'p'] -simplefoamDisplay.ScaleTransferFunction = 'PiecewiseFunction' -simplefoamDisplay.OpacityArray = ['POINTS', 'p'] -simplefoamDisplay.OpacityTransferFunction = 'PiecewiseFunction' -simplefoamDisplay.DataAxesGrid = 'GridAxesRepresentation' -simplefoamDisplay.PolarAxes = 'PolarAxesRepresentation' -simplefoamDisplay.ScalarOpacityFunction = pPWF -simplefoamDisplay.ScalarOpacityUnitDistance = 9.756969141785036e-07 -simplefoamDisplay.ExtractedBlockIndex = 1 - -# init the 'PiecewiseFunction' selected for 'ScaleTransferFunction' -simplefoamDisplay.ScaleTransferFunction.Points = [0.0, 0.0, 0.5, 0.0, 0.0010000000474974513, 1.0, 0.5, 0.0] - -# init the 'PiecewiseFunction' selected for 'OpacityTransferFunction' -simplefoamDisplay.OpacityTransferFunction.Points = [0.0, 0.0, 0.5, 0.0, 0.0010000000474974513, 1.0, 0.5, 0.0] - -# show data from clip1 -clip1Display = Show(clip1, renderView1, 'UnstructuredGridRepresentation') - -# get color transfer function/color map for 'U' -uLUT = GetColorTransferFunction('U') -uLUT.RGBPoints = [0.0, 0.231373, 0.298039, 0.752941, 0.00010124565929526629, 0.865003, 0.865003, 0.865003, 0.00020249131859053257, 0.705882, 0.0156863, 0.14902] -uLUT.ScalarRangeInitialized = 1.0 - -# get opacity transfer function/opacity map for 'U' -uPWF = GetOpacityTransferFunction('U') -uPWF.Points = [0.0, 0.0, 0.5, 0.0, 0.00020249131859053257, 1.0, 0.5, 0.0] -uPWF.ScalarRangeInitialized = 1 - -# trace defaults for the display properties. -clip1Display.Representation = 'Surface' -clip1Display.ColorArrayName = ['POINTS', 'U'] -clip1Display.LookupTable = uLUT -clip1Display.OSPRayScaleArray = 'p' -clip1Display.OSPRayScaleFunction = 'PiecewiseFunction' -clip1Display.SelectOrientationVectors = 'U' -clip1Display.ScaleFactor = 3.740524778095278e-06 -clip1Display.SelectScaleArray = 'p' -clip1Display.GlyphType = 'Arrow' -clip1Display.GlyphTableIndexArray = 'p' -clip1Display.GaussianRadius = 1.870262389047639e-07 -clip1Display.SetScaleArray = ['POINTS', 'p'] -clip1Display.ScaleTransferFunction = 'PiecewiseFunction' -clip1Display.OpacityArray = ['POINTS', 'p'] -clip1Display.OpacityTransferFunction = 'PiecewiseFunction' -clip1Display.DataAxesGrid = 'GridAxesRepresentation' -clip1Display.PolarAxes = 'PolarAxesRepresentation' -clip1Display.ScalarOpacityFunction = uPWF -clip1Display.ScalarOpacityUnitDistance = 1.1332065866368908e-06 -clip1Display.ExtractedBlockIndex = 1 - -# init the 'PiecewiseFunction' selected for 'ScaleTransferFunction' -clip1Display.ScaleTransferFunction.Points = [-2.29675952141406e-05, 0.0, 0.5, 0.0, 0.0010323517490178347, 1.0, 0.5, 0.0] - -# init the 'PiecewiseFunction' selected for 'OpacityTransferFunction' -clip1Display.OpacityTransferFunction.Points = [-2.29675952141406e-05, 0.0, 0.5, 0.0, 0.0010323517490178347, 1.0, 0.5, 0.0] - -# setup the color legend parameters for each legend in this view - -# get color legend/bar for pLUT in view renderView1 -pLUTColorBar = GetScalarBar(pLUT, renderView1) -pLUTColorBar.Title = 'p' -pLUTColorBar.ComponentTitle = '' - -# set color bar visibility -pLUTColorBar.Visibility = 0 - -# get color legend/bar for uLUT in view renderView1 -uLUTColorBar = GetScalarBar(uLUT, renderView1) -uLUTColorBar.Title = 'U' -uLUTColorBar.ComponentTitle = 'Magnitude' - -# set color bar visibility -uLUTColorBar.Visibility = 1 - -# hide data in view -Hide(simplefoam, renderView1) - -# show color legend -clip1Display.SetScalarBarVisibility(renderView1, True) - -# ---------------------------------------------------------------- -# setup color maps and opacity mapes used in the visualization -# note: the Get..() functions create a new object, if needed -# ---------------------------------------------------------------- - -# ---------------------------------------------------------------- -# finally, restore active source -SetActiveSource(clip1Display) -# ---------------------------------------------------------------- -SaveScreenshot("test.png", renderView1) diff --git a/temp/run.dirty.py b/temp/run.dirty.py deleted file mode 100644 index 9e85801..0000000 --- a/temp/run.dirty.py +++ /dev/null @@ -1,287 +0,0 @@ -import os, sys -from collections import namedtuple -import time -import logging -from datetime import timedelta -import multiprocessing - -ROOT = os.getcwd() -sys.path.append(ROOT) - -LOG = os.path.join(ROOT, "logs") -BUILD = os.path.join(ROOT, "build") - -from src import utils -from src import salome_utils - -if __name__ == "__main__": - - if not os.path.exists(LOG): - os.makedirs(LOG) - - if not os.path.exists(BUILD): - os.makedirs(BUILD) - - logging.basicConfig( - level=logging.INFO, - format="%(levelname)s: %(message)s", - handlers = [ - logging.StreamHandler(), - logging.FileHandler("{}/cubic.log".format(LOG)) - ]) - - start_time = time.monotonic() - logging.info("Started at {}".format(timedelta(seconds=start_time))) - - - #nprocs = os.cpu_count() - #port = 2810 - #salomeServers = [] - #salomeServer = namedtuple("salomeServer", ["process", "port"]) - - #for n in range(nprocs): - # while not utils.portIsFree: - # port += 1 - - # p = multiprocessing.Process(target = salome_utils.startServer, args = (port,)) - #s = salomeServer(salome_utils.startServer(port), port) - # s = salomeServer(p, port) - - # salomeServers.append(s) - # port += 1 - - #var = [] - - # TODO: pass it to samples in namedtuples - # get sample.directions and etc .. - structures = [ - "simpleCubic", - "bodyCenteredCubic", - "faceCenteredCubic" - ] - directions = [ - [1, 0, 0], - [0, 0, 1], - #[1, 1, 1] - ] - - #cmd = """python -c - #\"import sys; - #sys.append('{}'); - #import samples; - #samples.genMesh('{}', {}, {}, '{}'); - #\" - #""".replace("\n", "") - Task = namedtuple("Task", ["structure", "coeff", "direction", "saveto"]) - tasks = [] - - for structure in structures: - if structure == "simpleCubic": - theta = [c * 0.01 for c in range(1, 14)] - - elif structure == "faceCenteredCubic": - theta = [] - - elif structure == "bodyCenteredCubic": - theta = [] - - for coeff in theta: - for direction in directions: - saveto = os.path.join(BUILD, structure, "coeff-{}".format(coeff), - "direction-{}{}{}".format(direction[0], direction[1], direction[2])) - - if not os.path.exists(saveto): - os.makedirs(saveto) - - direction_ = "".join([str(coord) for coord in direction]) - t = Task(structure, coeff, direction_, os.path.join(saveto, "mesh.unv")) - tasks.append(t) - #tasks.append(cmd.format(ROOT, structure, coeff, direction, BUILD)) - - logging.info("tasks: {}".format(len(tasks))) - #n = 0 - #for cmd in tasks: - # var.append((salomeServer[n].port, cmd)) - # n = n + 1 if n < 3 else 0 - - #for s in salomeServers: - # s.process.start() - - scriptpath = os.path.join(ROOT, "samples/__init__.py") - port = 2810 - - for task in tasks: - returncode = salome_utils.runExecute(port, scriptpath, task.structure, task.coeff, task.direction, task.saveto) - - logging.info("Return code: {}".format(returncode)) - - if returncode == 1: - break - - #res = utils.parallel(nprocs, var, salome_utils.remote) - #print(res) - - #for s in salomeServers: - # s.process.join() - - - end_time = time.monotonic() - logging.info("Elapsed time: {}".format(timedelta(seconds=end_time - start_time))) - - - - - - - - - - - - - - - - - -""" -if __name__ == "__main__": - ### - # SALOME - # - # Get main paths - project = os.getcwd() - src = os.path.join(project, "src") - build = os.path.join(project, "build") - - if not os.path.exists(build): - os.makedirs(build) - - # Logger - logging.basicConfig( - level=logging.INFO, - format="%(levelname)s: %(message)s", - handlers = [ - logging.StreamHandler(), - logging.FileHandler("{}/genmesh.log".format(build)) - ]) - start_time = time.monotonic() - - # Start in parallel - processes = [] - structures = ["simpleCubic", "faceCenteredCubic", "bodyCenteredCubic"] - directions = ["001"] #, "100", "111"] - coefficients = [0.1] #[ alpha * 0.01 for alpha in range(1, 13 + 1) ] - port = 2810 - - for structure in structures: - for direction in directions: - for coefficient in coefficients: - src_path = os.path.join(src, "{}.py".format(structure)) - build_path = os.path.join(build, - structure, - "direction-{}".format(direction), - "alpha-{}".format(coefficient)) - - if not os.path.exists(build_path): - os.makedirs(build_path) - - p = multiprocessing.Process(target = salome, - args = (port, src_path, build_path, coefficient, direction)) - processes.append(p) - p.start() - logging.info("{} on port {}.".format(p, port)) - port += 1 - - for process in processes: - process.join() - - end_time = time.monotonic() - logging.info("Elapsed time: {}".format(timedelta(seconds=end_time - start_time))) - - - ### - # FOAM - # - # Get main paths - project = os.getcwd() - src = os.path.join(project, "src") - build = os.path.join(project, "build") - - if not os.path.exists(build): - os.makedirs(build) - - # Logger - logging.basicConfig( - level=logging.INFO, - format="%(levelname)s: %(message)s", - handlers = [ - logging.StreamHandler(), - logging.FileHandler("{}/foam.log".format(build)) - ]) - start_time = time.monotonic() - - # Main entry - structures = ["simpleCubic"] #, "bc-cubic", "fc-cubic"] - directions = ["001"] #, "100", "111"] - coefficients = [0.1] #[ alpha * 0.01 for alpha in range(1, 13 + 1) ] - - for structure in structures: - for direction in directions: - for coefficient in coefficients: - foamCase = [ "0", "constant", "system" ] - src_path = os.path.join(src, "{}Foam".format(structure)) - build_path = os.path.join(build, - structure, - "direction-{}".format(direction), - "alpha-{}".format(coefficient)) - - - logging.info("Entry with parameters: {}, direction = {}, alpha = {}".format(structure, direction, coefficient)) - - logging.info("Copying baseFOAM case ...") - for d in foamCase: - if not os.path.exists(os.path.join(build_path, d)): - shutil.copytree(os.path.join(src_path, d), - os.path.join(build_path, d)) - - os.chdir(build_path) - case_path = "." - - logging.info("Importing mesh to foam ...") - ideasUnvToFoam(case_path, "{}-{}-{}.unv".format(structure, direction, coefficient)) - - logging.info("Creating patches ...") - createPatch(case_path) - - logging.info("Scaling mesh ...") - transformPoints(case_path, "(1e-5 1e-5 1e-5)") - - logging.info("Checking mesh ...") - checkMesh(case_path) - - #logging.info("Changing mesh boundaries types ...") - #foamDictionarySet(case_path, "constant/polyMesh/boundary", "entry0.wall.type", "wall") - #foamDictionarySet(case_path, "constant/polyMesh/boundary", "entry0.symetryPlane.type", "symetryPlane") - - logging.info("Decomposing case ...") - decomposePar(case_path) - - logging.info("Evaluating initial approximation via potentialFoam ...") - potentialFoam(case_path) - - logging.info("Preparing boundaryFields for simpleFoam ...") - for n in range(4): - foamDictionarySet(case_path, "processor{}/0/U".format(n), - "boundaryField.inlet.type", "pressureInletVelocity") - foamDictionarySet(case_path, "processor{}/0/U", - "boundaryField.inlet.value", "uniform (0 0 0)") - - logging.info("Calculating ...") - simpleFoam(case_path) - - os.chdir(project) - - end_time = time.monotonic() - logging.info("Elapsed time: {}".format(timedelta(seconds=end_time - start_time))) -""" diff --git a/temp/run.old.sh b/temp/run.old.sh deleted file mode 100755 index f4a365a..0000000 --- a/temp/run.old.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/usr/bin/env bash - -ideasUnvToFoam mesh.unv -createPatch -overwrite -#patchSummary -transformPoints -scale '1e-5' - -foamDictionary constant/polyMesh/boundary -entry entry0.cyclicPlaneL.separationVector -set '(0 1e-5 0)' -foamDictionary constant/polyMesh/boundary -entry entry0.cyclicPlaneR.separationVector -set '(0 -1e-5 0)' - -checkMesh -allGeometry -allTopology | tee -a checkMesh.log - -# -decomposePar - -mpirun -np 4 --oversubscribe potentialFoam -parallel | tee -a potentialFoam.log - -foamDictionary processor0/0/U -entry boundaryField.inlet.type -set pressureInletVelocity -foamDictionary processor1/0/U -entry boundaryField.inlet.type -set pressureInletVelocity -foamDictionary processor2/0/U -entry boundaryField.inlet.type -set pressureInletVelocity -foamDictionary processor3/0/U -entry boundaryField.inlet.type -set pressureInletVelocity -foamDictionary processor0/0/U -entry boundaryField.inlet.value -set 'uniform (0 0 0)' -foamDictionary processor1/0/U -entry boundaryField.inlet.value -set 'uniform (0 0 0)' -foamDictionary processor2/0/U -entry boundaryField.inlet.value -set 'uniform (0 0 0)' -foamDictionary processor3/0/U -entry boundaryField.inlet.value -set 'uniform (0 0 0)' - -mpirun -np 4 --oversubscribe simpleFoam -parallel | tee -a simpleFoam.log diff --git a/temp/run.sh b/temp/run.sh deleted file mode 100755 index f4a365a..0000000 --- a/temp/run.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/usr/bin/env bash - -ideasUnvToFoam mesh.unv -createPatch -overwrite -#patchSummary -transformPoints -scale '1e-5' - -foamDictionary constant/polyMesh/boundary -entry entry0.cyclicPlaneL.separationVector -set '(0 1e-5 0)' -foamDictionary constant/polyMesh/boundary -entry entry0.cyclicPlaneR.separationVector -set '(0 -1e-5 0)' - -checkMesh -allGeometry -allTopology | tee -a checkMesh.log - -# -decomposePar - -mpirun -np 4 --oversubscribe potentialFoam -parallel | tee -a potentialFoam.log - -foamDictionary processor0/0/U -entry boundaryField.inlet.type -set pressureInletVelocity -foamDictionary processor1/0/U -entry boundaryField.inlet.type -set pressureInletVelocity -foamDictionary processor2/0/U -entry boundaryField.inlet.type -set pressureInletVelocity -foamDictionary processor3/0/U -entry boundaryField.inlet.type -set pressureInletVelocity -foamDictionary processor0/0/U -entry boundaryField.inlet.value -set 'uniform (0 0 0)' -foamDictionary processor1/0/U -entry boundaryField.inlet.value -set 'uniform (0 0 0)' -foamDictionary processor2/0/U -entry boundaryField.inlet.value -set 'uniform (0 0 0)' -foamDictionary processor3/0/U -entry boundaryField.inlet.value -set 'uniform (0 0 0)' - -mpirun -np 4 --oversubscribe simpleFoam -parallel | tee -a simpleFoam.log diff --git a/temp/samples.old.2/__init__.py b/temp/samples.old.2/__init__.py deleted file mode 100644 index 09764e6..0000000 --- a/temp/samples.old.2/__init__.py +++ /dev/null @@ -1,100 +0,0 @@ -from collections import namedtuple -import os, sys -import logging -from pyquaternion import Quaternion -import math - -ROOT = "/home/nafaryus/projects/anisotrope-cube" -sys.path.append(ROOT) - -LOG = os.path.join(ROOT, "logs") - -import salome - -from simpleCubic import simpleCubic -from faceCenteredCubic import faceCenteredCubic -from bodyCenteredCubic import bodyCenteredCubic - -from src import geometry_utils -from src import mesh_utils - -def genMesh(stype, theta, fillet, flowdirection, saveto): - _G = globals() - - structure = _G.get(stype) - - if structure: - salome.salome_init() - - grains, geometry1, geometry2 = structure(theta, fillet) - geometry = geometry1 - - if flowdirection == [1, 1, 1]: - geometry = geometry2 - norm = [-1, 1, 0] - bcount = 6 - - # initial angle - angle = math.pi / 6 - v1 = Quaternion(axis = norm, angle = math.pi / 2).rotate(flowdirection) - normvec = Quaternion(axis = flowdirection, angle = angle).rotate(v1) - direction = [1, 1, 1] - - if flowdirection == [1, 0, 0]: - normvec = [0, 0, 1] - bcount = 4 - direction = [1, 1, 0] - - if flowdirection == [0, 0, 1]: - normvec = [1, 1, 0] - bcount = 4 - direction = [0, 0, 1] - - # - #geometry = geometry_utils.geompy.RemoveExtraEdges(geometry, False) - - # - #boundary = geometry_utils.createBoundary(geometry, bcount, direction, normvec, grains) - - fineness = 1 - viscousLayers = { - "thickness": 0.0001, - "number": 3, - "stretch": 1.2 - } - mesh = mesh_utils.meshCreate(geometry, boundary, fineness, viscousLayers) - mesh_utils.meshCompute(mesh) - - mesh_utils.meshExport(mesh, saveto) - - salome.salome_close() - - else: - raise Exception("Unknown sample function") - - -if __name__ == "__main__": - - logging.basicConfig( - level=logging.INFO, - format="%(levelname)s: %(message)s", - handlers = [ - logging.StreamHandler(), - logging.FileHandler("{}/cubic.log".format(LOG)) - ]) - - stype = str(sys.argv[1]) - theta = float(sys.argv[2]) - fillet = True if int(sys.argv[3]) == 1 else False - flowdirection = [int(coord) for coord in sys.argv[4]] - saveto = str(sys.argv[5]) - - logging.info("""genMesh: - structure type:\t{} - coefficient:\t{} - fillet:\t{} - flow direction:\t{} - export path:\t{}""".format(stype, theta, fillet, flowdirection, saveto)) - - genMesh(stype, theta, fillet, flowdirection, saveto) - diff --git a/temp/samples.old.2/bodyCenteredCubic.py b/temp/samples.old.2/bodyCenteredCubic.py deleted file mode 100644 index de25446..0000000 --- a/temp/samples.old.2/bodyCenteredCubic.py +++ /dev/null @@ -1,186 +0,0 @@ -import sys -import salome - -salome.salome_init() - -import GEOM -from salome.geom import geomBuilder -import math -import SALOMEDS - -geompy = geomBuilder.New() - -def bodyCenteredCubic(alpha, fillet = False): - O = geompy.MakeVertex(0, 0, 0) - OX = geompy.MakeVectorDXDYDZ(1, 0, 0) - OY = geompy.MakeVectorDXDYDZ(0, 1, 0) - OZ = geompy.MakeVectorDXDYDZ(0, 0, 1) - V_1 = geompy.MakeVectorDXDYDZ(1, 1, 0) - V_2 = geompy.MakeVectorDXDYDZ(1, -1, 0) - - L = 1.0 - r0 = L*math.sqrt(3)/4 - d1 = L*math.sqrt(2) - Pi_4 = 45*math.pi/180.0 - n = 3 - - sk = geompy.Sketcher3D() - sk.addPointsAbsolute(0, 0, 2*L) # Vertex_1 of Rombus - sk.addPointsAbsolute(L, 0, L) # Vertex_2 of Rombus - sk.addPointsAbsolute(L, L, 0) # Vertex_3 of Rombus - sk.addPointsAbsolute(0, L, L) # Vertex_4 of Rombus - sk.addPointsAbsolute(0, 0, 2*L) # Vertex_1 of Rombus - a3D_Sketcher_1 = sk.wire() - Face_1 = geompy.MakeFaceWires([a3D_Sketcher_1], 1) - Extrusion_1 = geompy.MakePrismDXDYDZ(Face_1, L/2, L/2, L/2) - - sk2 = geompy.Sketcher3D() - sk2.addPointsAbsolute(L/3, L/3, 4*L/3) # Vertex_1 of Triangle - sk2.addPointsAbsolute(L, 0, L) # Vertex_2 of Triangle - sk2.addPointsAbsolute(2*L/3, 2*L/3, 2*L/3) # Vertex_3 of Triangle - sk2.addPointsAbsolute(L/3, L/3, 4*L/3) # Vertex_1 of Triangle - a3D_Sketcher_2 = sk2.wire() - Face_2 = geompy.MakeFaceWires([a3D_Sketcher_2], 1) - Extrusion_2 = geompy.MakePrismDXDYDZ(Face_2, L/2, L/2, L/2) - - sk3 = geompy.Sketcher3D() - sk3.addPointsAbsolute(L/3, L/3, 4*L/3) # Vertex_1 of Hexagon - sk3.addPointsAbsolute(L, 0, L) # Vertex_2 of Hexagon - sk3.addPointsAbsolute(4*L/3, L/3, L/3) # Vertex_3 of Hexagon - #sk3.addPointsAbsolute(2*L/3, 2*L/3, 2*L/3) # Vertex_3 of Hexagon - sk3.addPointsAbsolute(L, L, 0) # Vertex_4 of Hexagon - sk3.addPointsAbsolute(L/3, 4*L/3, L/3) # Vertex_5 of Hexagon - sk3.addPointsAbsolute(0, L, L) # Vertex_6 of Hexagon - sk3.addPointsAbsolute(L/3, L/3, 4*L/3) # Vertex_1 of Hexagon - a3D_Sketcher_3 = sk3.wire() - Face_3 = geompy.MakeFaceWires([a3D_Sketcher_3], 1) - Extrusion_3 = geompy.MakePrismDXDYDZ(Face_3, L/2, L/2, L/2) - - a3D_Sketcher_4 = geompy.MakeTranslation(a3D_Sketcher_3, -L/4, -L/4, -L/4) - Face_4 = geompy.MakeFaceWires([a3D_Sketcher_4], 1) - #Extrusion_4 = geompy.MakePrismDXDYDZ(Face_4, (n-1.5)*L, (n-1.5)*L, (n-1.5)*L) # Extrusion_3Direction - Vector_1 = geompy.MakeVectorDXDYDZ(1, 1, 1) - #Extrusion_4 = geompy.MakePrismVecH(Face_4, Vector_1, 4*(n-1.5)*r0) # Extrusion_3Direction - Extrusion_4 = geompy.MakePrismVecH(Face_4, Vector_1, 4*(n-2.0)*r0) # Extrusion_3Direction - - Box_1 = geompy.MakeBoxDXDYDZ(d1, d1, L) - Rotation_1 = geompy.MakeRotation(Box_1, OZ, Pi_4) - Translation_1 = geompy.MakeTranslation(Rotation_1, L, 0, 0) - Translation_2 = geompy.MakeTranslation(Translation_1, 0, 0, L/4) - - Box_2 = geompy.MakeBoxDXDYDZ(d1/2, d1/2, L) - Rotation_2 = geompy.MakeRotation(Box_2, OZ, Pi_4) - Translation_3 = geompy.MakeTranslation(Rotation_2, L, 0, L/4) - - Box_3 = geompy.MakeBoxDXDYDZ(d1/2, d1/2, L/2) - Rotation_3 = geompy.MakeRotation(Box_3, OZ, Pi_4) - Translation_4 = geompy.MakeTranslation(Rotation_3, L, 0, L/4) - - geompy.addToStudy( O, 'O' ) - geompy.addToStudy( OX, 'OX' ) - geompy.addToStudy( OY, 'OY' ) - geompy.addToStudy( OZ, 'OZ' ) - geompy.addToStudy( V_1, 'V_1' ) - geompy.addToStudy( V_2, 'V_2' ) - geompy.addToStudy( Box_1, 'Box_1' ) - geompy.addToStudy( Rotation_1, 'Rotation_1' ) - geompy.addToStudy( Translation_1, 'Translation_1' ) - geompy.addToStudy( Translation_2, 'Translation_2' ) - geompy.addToStudy( Box_2, 'Box_2' ) - geompy.addToStudy( Rotation_2, 'Rotation_2' ) - geompy.addToStudy( Translation_3, 'Translation_3' ) - geompy.addToStudy( Rotation_3, 'Rotation_3' ) - geompy.addToStudy( Translation_4, 'Translation_4' ) - - #geompy.addToStudy( a3D_Sketcher_1, 'a3D_Sketcher_1' ) - #geompy.addToStudy( Face_1, 'Face_1' ) - geompy.addToStudy( Extrusion_1, 'Extrusion_1' ) - geompy.addToStudy( a3D_Sketcher_2, 'a3D_Sketcher_2' ) - #geompy.addToStudy( Face_2, 'Face_2' ) - geompy.addToStudy( Extrusion_2, 'Extrusion_2' ) - geompy.addToStudy( a3D_Sketcher_3, 'a3D_Sketcher_3' ) - #geompy.addToStudy( Face_3, 'Face_3' ) - #geompy.addToStudy( Extrusion_3, 'Extrusion_3' ) - geompy.addToStudy( a3D_Sketcher_4, 'a3D_Sketcher_4' ) - #geompy.addToStudy( Face_4, 'Face_4' ) - geompy.addToStudy( Extrusion_4, 'Extrusion_4' ) - - - Radius = r0/(1-alpha) - Sphere_1 = geompy.MakeSphereR(Radius) - Down = geompy.MakeMultiTranslation2D(Sphere_1, OX, L, n, OY, L, n) - Up = geompy.MakeTranslation(Down, 0, 0, (n-1)*L) - Up_Down = geompy.MakeMultiTranslation1D(Down, OZ, L, n) - Cut_1a = geompy.MakeCutList(Translation_1, [Up_Down]) - Cut_1b = geompy.MakeCutList(Translation_2, [Up_Down]) - Cut_2a = geompy.MakeCutList(Translation_3, [Up_Down]) - Cut_2b = geompy.MakeCutList(Translation_4, [Up_Down]) - Cut_3a = geompy.MakeCutList(Extrusion_1, [Up_Down]) - Cut_3b = geompy.MakeCutList(Extrusion_2, [Up_Down]) - Cut_3c = geompy.MakeCutList(Extrusion_4, [Up_Down]) - Middle = geompy.MakeTranslation(Up_Down, L/2, L/2, L/2) - Pore_1a = geompy.MakeCutList(Cut_1a, [Middle]) - Pore_1b = geompy.MakeCutList(Cut_1b, [Middle]) - Pore_2a = geompy.MakeCutList(Cut_2a, [Middle]) - Pore_2b = geompy.MakeCutList(Cut_2b, [Middle]) - Pore_3a = geompy.MakeCutList(Cut_3a, [Middle]) - Pore_3b = geompy.MakeCutList(Cut_3b, [Middle]) - Pore_3c = geompy.MakeCutList(Cut_3c, [Middle]) - - geompy.addToStudy( Sphere_1, 'Sphere_' ) - geompy.addToStudy( Down, 'Down_' ) - geompy.addToStudy( Up, 'Up_' ) - geompy.addToStudy( Up_Down, 'Up_Down_' ) - geompy.addToStudy( Cut_1a, 'Cut_1a_' ) - geompy.addToStudy( Cut_1b, 'Cut_1b_' ) - geompy.addToStudy( Middle, 'Middle_' ) - geompy.addToStudy( Pore_1a, 'Pore_1a_' ) - geompy.addToStudy( Pore_1b, 'Pore_1b_' ) - geompy.addToStudy( Pore_2a, 'Pore_2a_' ) - geompy.addToStudy( Pore_2b, 'Pore_2b_' ) - geompy.addToStudy( Pore_3a, 'Pore_3a_' ) - geompy.addToStudy( Pore_3b, 'Pore_3b_' ) - geompy.addToStudy( Pore_3c, 'Pore_3c_' ) - - if salome.sg.hasDesktop(): - salome.sg.updateObjBrowser() - - # Preparation - grains = geompy.ExtractShapes(Up_Down, geompy.ShapeType["SOLID"], True) - grains += geompy.ExtractShapes(Middle, geompy.ShapeType["SOLID"], True) - grains = geompy.MakeFuseList(grains, False, False) - geometry1 = Pore_1a - geometry2 = Pore_3c - - if fillet: - R = r0 / (1 - alpha) - C1 = 0.8 - C2 = 0.05 - alpha1 = 0.01 - alpha2 = 0.18 - - Cf = C1 + (C2 - C1) / (alpha2 - alpha1) * (alpha - alpha1) - R_fillet = Cf * (R - r0) - - # Scaling up - scale = 100 - grains = geompy.MakeScaleTransform(grains, O, scale) - geometry1 = geompy.MakeScaleTransform(geometry1, O, scale) - geometry2 = geompy.MakeScaleTransform(geometry2, O, scale) - - # - grains = geompy.MakeFilletAll(grains, R_fillet * scale) - geometry1 = geompy.MakeCutList(geometry1, [grains], True) - geometry2 = geompy.MakeCutList(geometry2, [grains], True) - - # Scaling down - grains = geompy.MakeScaleTransform(grains, O, 1 / scale) - geometry1 = geompy.MakeScaleTransform(geometry1, O, 1 / scale) - geometry2 = geompy.MakeScaleTransform(geometry2, O, 1 / scale) - - # - geompy.addToStudy(grains, "grains") - geompy.addToStudy(geometry1, "geometry1") - geompy.addToStudy(geometry2, "geometry2") - - return grains, geometry1, geometry2 diff --git a/temp/samples.old.2/faceCenteredCubic.py b/temp/samples.old.2/faceCenteredCubic.py deleted file mode 100644 index 6772ea8..0000000 --- a/temp/samples.old.2/faceCenteredCubic.py +++ /dev/null @@ -1,181 +0,0 @@ -import sys -import salome - -salome.salome_init() - -import GEOM -from salome.geom import geomBuilder -import math -import SALOMEDS - -geompy = geomBuilder.New() - -def faceCenteredCubic(alpha, fillet = False): - O = geompy.MakeVertex(0, 0, 0) - OX = geompy.MakeVectorDXDYDZ(1, 0, 0) - OY = geompy.MakeVectorDXDYDZ(0, 1, 0) - OZ = geompy.MakeVectorDXDYDZ(0, 0, 1) - V = geompy.MakeVectorDXDYDZ(1, 1, 1) - V_1 = geompy.MakeVectorDXDYDZ(1, 1, 0) - V_2 = geompy.MakeVectorDXDYDZ(1, -1, 0) - - L = 1.0 - r0 = L*math.sqrt(2)/4 - a=2*r0 - b=L/2 - #c=b/2 - d = L*math.sqrt(3) - h = d/3 - Pi_4 = 45*math.pi/180.0 - n = 3 # number of cubes in line - - Vertex_1 = geompy.MakeVertex(-a, -a, -b) - Vertex_2 = geompy.MakeVertex(a, a, b) - Vertex_3 = geompy.MakeVertex(-b*(n-1), 0, -b*(n-2)) # Center of Sphere_1 - Vertex_4 = geompy.MakeVertex(-b*n, 0, -b*(n-3)) # Center of Sphere_2 - Vertex_5 = geompy.MakeVertex(0, 0, -b) - - sk = geompy.Sketcher3D() # Rombus - sk.addPointsAbsolute(-b, -b, b) # Vertex_1 of Rombus - sk.addPointsAbsolute(0, -b, 0) # Vertex_2 of Rombus - sk.addPointsAbsolute(0, 0, -b) # Vertex_3 of Rombus - sk.addPointsAbsolute(-b, 0, 0) # Vertex_4 of Rombus - sk.addPointsAbsolute(-b, -b, b) # Vertex_1 of Rombus - a3D_Sketcher_1 = sk.wire() - Face_1 = geompy.MakeFaceWires([a3D_Sketcher_1], 1) - Face_1_Up = geompy.MakeTranslation(Face_1, b, b, 0) - Rhombohedron = geompy.MakeHexa2Faces(Face_1, Face_1_Up) - - sk_2 = geompy.Sketcher3D() # Triangle - sk_2.addPointsAbsolute(-2*b/3, -2*b/3, b/3) # Vertex_1 of Triangle - sk_2.addPointsAbsolute(0, -b, 0) # Vertex_2 of Triangle - sk_2.addPointsAbsolute(-b/3, -b/3, -b/3) # Vertex_3 of Triangle - sk_2.addPointsAbsolute(-2*b/3, -2*b/3, b/3) # Vertex_1 of Triangle - a3D_Sketcher_2 = sk_2.wire() - Face_2 = geompy.MakeFaceWires([a3D_Sketcher_2], 1) - Extrusion_2 = geompy.MakePrismVecH(Face_2, V, h) - - sk_3 = geompy.Sketcher3D() # Hexagon - sk_3.addPointsAbsolute(-2*b/3, -2*b/3, b/3) # Vertex_1 of Hexagon - sk_3.addPointsAbsolute(0, -b, 0) # Vertex_2 of Hexagon - sk_3.addPointsAbsolute(b/3, -2*b/3, -2*b/3) # Vertex_3 of Hexagon - sk_3.addPointsAbsolute(0, 0, -b) # Vertex_4 of Hexagon - sk_3.addPointsAbsolute(-2*b/3, b/3, -2*b/3) # Vertex_5 of Hexagon - sk_3.addPointsAbsolute(-b, 0, 0) # Vertex_6 of Hexagon - sk_3.addPointsAbsolute(-2*b/3, -2*b/3, b/3) # Vertex_1 of Hexagon - a3D_Sketcher_3 = sk_3.wire() - Face_3 = geompy.MakeFaceWires([a3D_Sketcher_3], 1) - Extrusion_3 = geompy.MakePrismVecH(Face_3, V, h) - - Translation_1 = geompy.MakeTranslation(a3D_Sketcher_3, -(n-2)*L/3, -(n-2)*L/3, -(n-2)*L/3) - Face_4 = geompy.MakeFaceWires([Translation_1], 1) - Vector_1 = geompy.MakeVectorDXDYDZ(1, 1, 1) - Extrusion_4 = geompy.MakePrismVecH(Face_4, Vector_1, (2*n-3)/3.0*d) # Extrusion_3Direction - - Box_1 = geompy.MakeBoxTwoPnt(Vertex_1, Vertex_2) - Rotation_1 = geompy.MakeRotation(Box_1, OZ, Pi_4) - Box_2 = geompy.MakeBoxTwoPnt(Vertex_5, Vertex_2) - Rotation_2 = geompy.MakeRotation(Box_2, OZ, Pi_4) - - geompy.addToStudy( O, 'O' ) - geompy.addToStudy( OX, 'OX' ) - geompy.addToStudy( OY, 'OY' ) - geompy.addToStudy( OZ, 'OZ' ) - geompy.addToStudy( V_1, 'V_1' ) - geompy.addToStudy( V_2, 'V_2' ) - geompy.addToStudy( Box_1, 'Box_1' ) - geompy.addToStudy( Rotation_1, 'Rotation_1' ) - geompy.addToStudy( Box_2, 'Box_2' ) - geompy.addToStudy( Rotation_2, 'Rotation_2_' ) - - geompy.addToStudy( a3D_Sketcher_1, 'a3D_Sketcher_1' ) - geompy.addToStudy( Face_1, 'Face_1' ) - geompy.addToStudy( Face_1_Up, 'Face_1_Up' ) - geompy.addToStudy( Rhombohedron, 'Rhombohedron' ) - geompy.addToStudy( a3D_Sketcher_2, 'a3D_Sketcher_2' ) - geompy.addToStudy( Face_2, 'Face_2' ) - geompy.addToStudy( Extrusion_2, 'Extrusion_2' ) - geompy.addToStudy( a3D_Sketcher_3, 'a3D_Sketcher_3' ) - geompy.addToStudy( Face_3, 'Face_3' ) - geompy.addToStudy( Extrusion_3, 'Extrusion_3' ) - geompy.addToStudy( Face_4, 'Face_4' ) - geompy.addToStudy( Extrusion_4, 'Extrusion_4' ) - - - Radius = r0/(1-alpha) - Sphere_1 = geompy.MakeSpherePntR(Vertex_3, Radius) - Down = geompy.MakeMultiTranslation2D(Sphere_1, V_1, a, n, V_2, a, n) - Up_Down = geompy.MakeMultiTranslation1D(Down, OZ, 1, n-1) - Cut_1 = geompy.MakeCutList(Rotation_1, [Up_Down], True) - - Sphere_2 = geompy.MakeSpherePntR(Vertex_4, Radius) - Middle = geompy.MakeMultiTranslation2D(Sphere_2, V_1, a, n+1, V_2, a, n+1) - Middle_Up = geompy.MakeMultiTranslation1D(Middle, OZ, 1, n-2) - Cut_2 = geompy.MakeCutList(Cut_1, [Middle_Up], True) - - Common = geompy.MakeCommonList([Cut_2, Rotation_2], True) - Pore_3 = geompy.MakeCommonList([Rhombohedron, Cut_2], True) - - Cut_3 = geompy.MakeCutList(Extrusion_2, [Up_Down], True) - Cut_4 = geompy.MakeCutList(Cut_3, [Middle_Up], True) - - Cut_5 = geompy.MakeCutList(Extrusion_3, [Up_Down], True) - Cut_6 = geompy.MakeCutList(Cut_5, [Middle_Up], True) - - Cut_7 = geompy.MakeCutList(Extrusion_4, [Up_Down], True) - Cut_8 = geompy.MakeCutList(Cut_7, [Middle_Up], True) - - #geompy.addToStudy( Sphere_1, 'Sphere_' ) - geompy.addToStudy( Down, 'Down_' ) - geompy.addToStudy( Up_Down, 'Up_Down_' ) - geompy.addToStudy( Cut_1, 'Cut_1_' ) - geompy.addToStudy( Middle_Up, 'Middle_Up_' ) - geompy.addToStudy( Cut_2, 'Pore_' ) - geompy.addToStudy( Common, 'Pore_2_' ) - geompy.addToStudy( Pore_3, 'Pore_3_' ) - geompy.addToStudy( Cut_4, 'Pore_3a_' ) - geompy.addToStudy( Cut_6, 'Pore_3b_' ) - geompy.addToStudy( Cut_8, 'Pore_3c_' ) - - if salome.sg.hasDesktop(): - salome.sg.updateObjBrowser() - - # Preparation - grains = geompy.ExtractShapes(Up_Down, geompy.ShapeType["SOLID"], True) - grains += geompy.ExtractShapes(Middle_Up, geompy.ShapeType["SOLID"], True) - grains = geompy.MakeFuseList(grains, False, False) - geometry1 = Common - geometry2 = Cut_8 - - if fillet: - R = r0 / (1 - alpha) - C1 = 0.8 - C2 = 0.05 - alpha1 = 0.01 - alpha2 = 0.13 - - Cf = C1 + (C2 - C1) / (alpha2 - alpha1) * (alpha - alpha1) - R_fillet = Cf * (R - r0) - - # Scaling up - scale = 100 - grains = geompy.MakeScaleTransform(grains, O, scale) - geometry1 = geompy.MakeScaleTransform(geometry1, O, scale) - geometry2 = geompy.MakeScaleTransform(geometry2, O, scale) - - # - grains = geompy.MakeFilletAll(grains, R_fillet * scale) - geometry1 = geompy.MakeCutList(geometry1, [grains], True) - geometry2 = geompy.MakeCutList(geometry2, [grains], True) - - # Scaling down - grains = geompy.MakeScaleTransform(grains, O, 1 / scale) - geometry1 = geompy.MakeScaleTransform(geometry1, O, 1 / scale) - geometry2 = geompy.MakeScaleTransform(geometry2, O, 1 / scale) - - # - geompy.addToStudy(grains, "grains") - geompy.addToStudy(geometry1, "geometry1") - geompy.addToStudy(geometry2, "geometry2") - - return grains, geometry1, geometry2 diff --git a/temp/samples.old.2/run.py b/temp/samples.old.2/run.py deleted file mode 100644 index f9c85e6..0000000 --- a/temp/samples.old.2/run.py +++ /dev/null @@ -1,234 +0,0 @@ -import os, sys -from collections import namedtuple -import time -import logging -from datetime import timedelta -import multiprocessing -import shutil - -ROOT = os.getcwd() -sys.path.append(ROOT) - -LOG = os.path.join(ROOT, "logs") -BUILD = os.path.join(ROOT, "build") - -from src import utils -from src import salome_utils -from src import foam_utils - -def createTasks(): - ### - # Control variables - ## - structures = [ - "simple", - #"bodyCentered", - #"faceCentered" - ] - directions = [ - #[1, 0, 0], - [0, 0, 1], - #[1, 1, 1] - ] - fillet = 1 - - ### - # Tasks - ## - Task = namedtuple("Task", ["structure", "coeff", "fillet", "direction", "saveto"]) - tasks = [] - - for structure in structures: - if structure == "simple": - theta = [0.01] #[c * 0.01 for c in range(1, 28 + 1)] - #theta = [ 0.01, 0.28 ] - - elif structure == "faceCentered": - #theta = [c * 0.01 for c in range(1, 13 + 1)] - theta = [ 0.01, 0.13 ] - - elif structure == "bodyCentered": - #theta = [c * 0.01 for c in range(1, 18 + 1)] - theta = [ 0.01, 0.13, 0.14, 0.18 ] - - for coeff in theta: - for direction in directions: - saveto = os.path.join(BUILD, structure, "coeff-{}".format(coeff), - "direction-{}{}{}".format(direction[0], direction[1], direction[2])) - - if not os.path.exists(saveto): - os.makedirs(saveto) - - t = Task(structure, coeff, fillet, direction, saveto) - tasks.append(t) - - return tasks - - -def createMesh(tasks): - scriptpath = os.path.join(ROOT, "samples/__init__.py") - port = 2810 - errors = 0 - - for task in tasks: - logging.info("-" * 80) - logging.info("""createMesh: - task:\t{} / {}""".format(tasks.index(task) + 1, len(tasks))) - start_time = time.monotonic() - - returncode = salome_utils.runExecute(port, scriptpath, task.structure, task.coeff, task.fillet, "".join([str(coord) for coord in task.direction]), os.path.join(task.saveto, "mesh.unv")) - - end_time = time.monotonic() - logging.info("createMesh: elapsed time: {}".format(timedelta(seconds=end_time - start_time))) - logging.info("salome: return code:\t{}".format(returncode)) - - if returncode == 1: - #break - errors += 1 - pass - - return errors - - -def calculate(tasks): - foamCase = [ "0", "constant", "system" ] - rmDirs = ["0", "constant", "system", "postProcessing", "logs"] + [ "processor{}".format(n) for n in range(4)] - - for task in tasks: - - for d in rmDirs: - if os.path.exists(os.path.join(task.saveto, d)): - shutil.rmtree(os.path.join(task.saveto, d)) - - for d in foamCase: - if not os.path.exists(os.path.join(task.saveto, d)): - shutil.copytree(os.path.join(ROOT, "src/cubicFoam", d), - os.path.join(task.saveto, d)) - - os.chdir(task.saveto) - casepath = "." - - logging.info("-" * 80) - logging.info("""calculate: - task:\t{} / {} - structure type:\t{} - coefficient:\t{} - flow direction:\t{} - path:\t{}""".format( - tasks.index(task) + 1, - len(tasks) , - task.structure, - task.coeff, - task.direction, - task.saveto - )) - - foam_utils.ideasUnvToFoam("mesh.unv") - - foam_utils.createPatch(dictfile = "system/createPatchDict.symetry") - - foam_utils.checkMesh() - - scale = (1e-5, 1e-5, 1e-5) - foam_utils.transformPoints(scale) - - foam_utils.decomposePar() - - foam_utils.renumberMesh() - - foam_utils.potentialFoam() - - for n in range(4): - foam_utils.foamDictionary("processor{}/0/U".format(n), - "boundaryField.inlet.type", "pressureInletVelocity") - foam_utils.foamDictionary("processor{}/0/U".format(n), - "boundaryField.inlet.value", "uniform (0 0 0)") - - foam_utils.simpleFoam() - - os.chdir(ROOT) - - -def postprocessing(tasks): - - surfaceFieldValue = {} - porosity = {} - - for task in tasks: - direction = "direction-{}{}{}".format(task.direction[0], task.direction[1], task.direction[2]) - path = os.path.join(BUILD, task.structure, "postProcessing", direction) - surfaceFieldValuePath = os.path.join(task.saveto, "postProcessing", "") - - if not os.path.exists(path): - os.makedirs(path) - - surfaceFieldValues = [ line.strip().split() for line in open(surfaceFieldValuePath, "r").readlines() ] - - with open(os.path.join(path, "porosity.dat")) as io: - io.write("{}\t{}".format(task.coeff, surfaceFieldValues[-1][1])) - - -if __name__ == "__main__": - - if not os.path.exists(LOG): - os.makedirs(LOG) - - if not os.path.exists(BUILD): - os.makedirs(BUILD) - - logging.basicConfig( - level=logging.INFO, - format="%(levelname)s: %(message)s", - handlers = [ - logging.StreamHandler(), - logging.FileHandler("{}/cubic.log".format(LOG)) - ]) - - # TODO: add force arg - Args = namedtuple("Args", ["mesh", "calc", "pp"]) - - if len(sys.argv) > 1: - action = sys.argv[1] - - if action == "mesh": - args = Args(True, False, False) - - elif action == "calc": - args = Args(False, True, False) - - elif action == "pp": - args = Args(False, False, True) - - elif action == "all": - args = Args(True, True, True) - - else: - args = Args(True, True, True) - - tasks = createTasks() - logging.info("Tasks: {}".format(len(tasks))) - - if args.mesh: - start_time = time.monotonic() - #logging.info("Started at {}".format(timedelta(seconds=start_time))) - - errors = createMesh(tasks) - - end_time = time.monotonic() - logging.info("-" * 80) - logging.info("Elapsed time:\t{}".format(timedelta(seconds=end_time - start_time))) - logging.info("Errors:\t{}".format(errors)) - - if args.calc: - start_time = time.monotonic() - #logging.info("Started at {}".format(timedelta(seconds=start_time))) - - calculate(tasks) - - end_time = time.monotonic() - logging.info("-" * 80) - logging.info("Elapsed time: {}".format(timedelta(seconds=end_time - start_time))) - - if args.pp: - postprocessing(tasks) - diff --git a/temp/samples.old.2/simpleCubic.py b/temp/samples.old.2/simpleCubic.py deleted file mode 100644 index 346705a..0000000 --- a/temp/samples.old.2/simpleCubic.py +++ /dev/null @@ -1,150 +0,0 @@ -import sys -import salome - -salome.salome_init() - -import GEOM -from salome.geom import geomBuilder -import math -import SALOMEDS - -geompy = geomBuilder.New() - -def simpleCubic(alpha, fillet = False): - O = geompy.MakeVertex(0, 0, 0) - OX = geompy.MakeVectorDXDYDZ(1, 0, 0) - OY = geompy.MakeVectorDXDYDZ(0, 1, 0) - OZ = geompy.MakeVectorDXDYDZ(0, 0, 1) - - r0 = 1.0 - L = 2*r0 - h = L - h2 = 2*h - d1 = L*math.sqrt(2) - d2 = L*math.sqrt(3) - d = r0/math.sqrt(3) - pi_4 = 45*math.pi/180.0 - pi_2 = 90*math.pi/180.0 - n = 3 # number of cubes in line - - Box_1 = geompy.MakeBoxDXDYDZ(d1, d1, h) - Rotation_1 = geompy.MakeRotation(Box_1, OZ, pi_4) - Translation_2 = geompy.MakeTranslation(Rotation_1, h, 0, 0) - Vertex_1 = geompy.MakeVertex(h, 0, 0) - Vertex_2 = geompy.MakeVertex(h, h, 0) - Vertex_3 = geompy.MakeVertex(h, h, h) - Line_1 = geompy.MakeLineTwoPnt(Vertex_2, Vertex_3) - - sk = geompy.Sketcher3D() - sk.addPointsAbsolute(0, 0, h2) # Rombus - sk.addPointsAbsolute(h, 0, h) # Vertex_2 of Rombus - sk.addPointsAbsolute(h, h, 0) # Vertex_3 of Rombus - sk.addPointsAbsolute(0, h, h) # Vertex_4 of Rombus - sk.addPointsAbsolute(0, 0, h2) # Vertex_1 of Rombus - a3D_Sketcher_1 = sk.wire() - Face_1 = geompy.MakeFaceWires([a3D_Sketcher_1], 1) - Vector_1 = geompy.MakeVectorDXDYDZ(1, 1, 0) - Extrusion_1 = geompy.MakePrismVecH(Face_1, Vector_1, d1) - - sk_2 = geompy.Sketcher3D() # Hexagon - sk_2.addPointsAbsolute(L, L, L) # Vertex_1 of Hexagon - sk_2.addPointsAbsolute(5*L/3, 2*L/3, 2*L/3) # Vertex_2 of Hexagon - sk_2.addPointsAbsolute(2*L, L, 0) # Vertex_3 of Hexagon - sk_2.addPointsAbsolute(5*L/3, 5*L/3, -L/3) # Vertex_4 of Hexagon - sk_2.addPointsAbsolute(L, 2*L, 0) # Vertex_5 of Hexagon - sk_2.addPointsAbsolute(2*L/3, 5*L/3, 2*L/3) # Vertex_6 of Hexagon - sk_2.addPointsAbsolute(L, L, L) # Vertex_1 of Hexagon - a3D_Sketcher_2 = sk_2.wire() - Face_2 = geompy.MakeFaceWires([a3D_Sketcher_2], 1) - Vector_2 = geompy.MakeVectorDXDYDZ(1, 1, 1) - Extrusion_2 = geompy.MakePrismVecH(Face_2, Vector_2, d2/3) - - Translation_3 = geompy.MakeTranslation(a3D_Sketcher_2, -L-L/6, -L-L/6, 0-L/6) - Face_3 = geompy.MakeFaceWires([Translation_3], 1) - Vector_2 = geompy.MakeVectorDXDYDZ(1, 1, 1) - #Extrusion_3 = geompy.MakePrismVecH(Face_3, Vector_2, (n-4.0/3)*d2) # Extrusion_3Direction - Extrusion_3 = geompy.MakePrismVecH(Face_3, Vector_2, (n-2.0)*d2) # Extrusion_3Direction - - geompy.addToStudy( O, 'O' ) - geompy.addToStudy( OX, 'OX' ) - geompy.addToStudy( OY, 'OY' ) - geompy.addToStudy( OZ, 'OZ' ) - geompy.addToStudy( Vertex_1, 'Vertex_1' ) - geompy.addToStudy( Vertex_2, 'Vertex_2' ) - geompy.addToStudy( Vertex_3, 'Vertex_3' ) - geompy.addToStudy( Line_1, 'Line_1' ) - geompy.addToStudy( Box_1, 'Box_1' ) - geompy.addToStudy( Rotation_1, 'Rotation_1' ) - geompy.addToStudy( Translation_2, 'Translation_2' ) - - geompy.addToStudy( a3D_Sketcher_1, 'a3D_Sketcher_1' ) - geompy.addToStudy( Face_1, 'Face_1' ) - geompy.addToStudy( Vector_1, 'Vector_1' ) - geompy.addToStudy( Extrusion_1, 'Extrusion_1' ) - geompy.addToStudy( a3D_Sketcher_2, 'a3D_Sketcher_2' ) - geompy.addToStudy( Face_2, 'Face_2' ) - geompy.addToStudy( Vector_2, 'Vector_2' ) - geompy.addToStudy( Extrusion_2, 'Extrusion_2' ) - geompy.addToStudy( Translation_3, 'a3D_Sketcher_3' ) - geompy.addToStudy( Extrusion_3, 'Extrusion_3' ) - - Sphere_1 = geompy.MakeSphereR(r0/(1-alpha)) - Multi_Translation_2 = geompy.MakeMultiTranslation2D(Sphere_1, OX, L, n, OY, L, n) - Multi_Translation_3 = geompy.MakeMultiTranslation1D(Multi_Translation_2, OZ, L, n) - Cut_1 = geompy.MakeCutList(Translation_2, [Multi_Translation_3]) - Cut_2 = geompy.MakeCutList(Extrusion_1, [Multi_Translation_3]) - Cut_3 = geompy.MakeCutList(Extrusion_2, [Multi_Translation_3]) - Cut_V = geompy.MakeCutList(Cut_1, [Cut_3]) - #Cut_2.SetColor(SALOMEDS.Color(0,0,1)) - Cut_4 = geompy.MakeCutList(Extrusion_3, [Multi_Translation_3]) - - geompy.addToStudy( Sphere_1, 'Sphere_' ) - geompy.addToStudy( Multi_Translation_2, 'Multi-Translation_2_' ) - geompy.addToStudy( Multi_Translation_3, 'Multi-Translation_3_' ) - geompy.addToStudy( Cut_1, 'Pore1_' ) - geompy.addToStudy( Cut_2, 'Pore2_' ) - geompy.addToStudy( Cut_3, 'Pore3_' ) - geompy.addToStudy( Cut_V, 'Cut_V_' ) - geompy.addToStudy( Cut_4, 'Pore4_' ) - - if salome.sg.hasDesktop(): - salome.sg.updateObjBrowser() - - # Preparation - grains = geompy.ExtractShapes(Multi_Translation_3, geompy.ShapeType["SOLID"], True) - grains = geompy.MakeFuseList(grains, False, False) - geometry1 = Cut_1 - geometry2 = Cut_4 - - if fillet: - R = r0 / (1 - alpha) - C1 = 0.8 - C2 = 0.05 - alpha1 = 0.01 - alpha2 = 0.28 - - Cf = C1 + (C2 - C1) / (alpha2 - alpha1) * (alpha - alpha1) - R_fillet = Cf * (R - r0) - - # Scaling up - scale = 100 - grains = geompy.MakeScaleTransform(grains, O, scale) - geometry1 = geompy.MakeScaleTransform(geometry1, O, scale) - geometry2 = geompy.MakeScaleTransform(geometry2, O, scale) - - # - grains = geompy.MakeFilletAll(grains, R_fillet * scale) - geometry1 = geompy.MakeCutList(geometry1, [grains], True) - geometry2 = geompy.MakeCutList(geometry2, [grains], True) - - # Scaling down - grains = geompy.MakeScaleTransform(grains, O, 1 / scale) - geometry1 = geompy.MakeScaleTransform(geometry1, O, 1 / scale) - geometry2 = geompy.MakeScaleTransform(geometry2, O, 1 / scale) - - # - geompy.addToStudy(grains, "grains") - geompy.addToStudy(geometry1, "geometry1") - geompy.addToStudy(geometry2, "geometry2") - - return grains, geometry1, geometry2 diff --git a/temp/samples.old/bodyCenteredCubic.py b/temp/samples.old/bodyCenteredCubic.py deleted file mode 100644 index e58fc95..0000000 --- a/temp/samples.old/bodyCenteredCubic.py +++ /dev/null @@ -1,127 +0,0 @@ -import sys -import salome - -salome.salome_init() - -import GEOM -from salome.geom import geomBuilder -import math -import SALOMEDS - -geompy = geomBuilder.New() - -def bodyCenteredCubic(alpha): - O = geompy.MakeVertex(0, 0, 0) - OX = geompy.MakeVectorDXDYDZ(1, 0, 0) - OY = geompy.MakeVectorDXDYDZ(0, 1, 0) - OZ = geompy.MakeVectorDXDYDZ(0, 0, 1) - V_1 = geompy.MakeVectorDXDYDZ(1, 1, 0) - V_2 = geompy.MakeVectorDXDYDZ(1, -1, 0) - - L = 1.0 - L2 = L/2 - r0 = L*math.sqrt(3)/4 - a = L*math.sqrt(2) - a2 = a/2 - h4 = L/4 - Pi_4 = 45*math.pi/180.0 - - sk = geompy.Sketcher3D() - sk.addPointsAbsolute(0, 0, 2*L) #Vertex_1 of Rombus - sk.addPointsAbsolute(L, 0, L) #Vertex_2 of Rombus - sk.addPointsAbsolute(L, L, 0) #Vertex_3 of Rombus - sk.addPointsAbsolute(0, L, L) #Vertex_4 of Rombus - sk.addPointsAbsolute(0, 0, 2*L) #Vertex_1 of Rombus - a3D_Sketcher_1 = sk.wire() - Face_1 = geompy.MakeFaceWires([a3D_Sketcher_1], 1) - Extrusion_1 = geompy.MakePrismDXDYDZ(Face_1, L2, L2, L2) - - sk2 = geompy.Sketcher3D() - sk2.addPointsAbsolute(L/3, L/3, 4*L/3) #Vertex_1 of Rombus - sk2.addPointsAbsolute(L, 0, L) #Vertex_2 of Rombus - sk2.addPointsAbsolute(2*L/3, 2*L/3, 2*L/3) #Vertex_3 of Rombus - #sk2.addPointsAbsolute(0, L, L) #Vertex_4 of Rombus - sk2.addPointsAbsolute(L/3, L/3, 4*L/3) #Vertex_1 of Rombus - a3D_Sketcher_2 = sk2.wire() - Face_2 = geompy.MakeFaceWires([a3D_Sketcher_2], 1) - Extrusion_2 = geompy.MakePrismDXDYDZ(Face_2, L2, L2, L2) - - Box_1 = geompy.MakeBoxDXDYDZ(a, a, L) - Rotation_1 = geompy.MakeRotation(Box_1, OZ, Pi_4) - Translation_1 = geompy.MakeTranslation(Rotation_1, L, 0, 0) - Translation_2 = geompy.MakeTranslation(Translation_1, 0, 0, h4) - - Box_2 = geompy.MakeBoxDXDYDZ(a2, a2, L) - Rotation_2 = geompy.MakeRotation(Box_2, OZ, Pi_4) - Translation_3 = geompy.MakeTranslation(Rotation_2, L, 0, h4) - - Box_3 = geompy.MakeBoxDXDYDZ(a2, a2, L2) - Rotation_3 = geompy.MakeRotation(Box_3, OZ, Pi_4) - Translation_4 = geompy.MakeTranslation(Rotation_3, L, 0, h4) - - geompy.addToStudy( O, 'O' ) - geompy.addToStudy( OX, 'OX' ) - geompy.addToStudy( OY, 'OY' ) - geompy.addToStudy( OZ, 'OZ' ) - geompy.addToStudy( V_1, 'V_1' ) - geompy.addToStudy( V_2, 'V_2' ) - geompy.addToStudy( Box_1, 'Box_1' ) - geompy.addToStudy( Rotation_1, 'Rotation_1' ) - geompy.addToStudy( Translation_1, 'Translation_1' ) - geompy.addToStudy( Translation_2, 'Translation_2' ) - geompy.addToStudy( Box_2, 'Box_2' ) - geompy.addToStudy( Rotation_2, 'Rotation_2' ) - geompy.addToStudy( Translation_3, 'Translation_3' ) - geompy.addToStudy( Rotation_3, 'Rotation_3' ) - geompy.addToStudy( Translation_4, 'Translation_4' ) - - #geompy.addToStudy( a3D_Sketcher_1, 'a3D_Sketcher_1' ) - #geompy.addToStudy( Face_1, 'Face_1' ) - geompy.addToStudy( Extrusion_1, 'Extrusion_1' ) - #geompy.addToStudy( a3D_Sketcher_2, 'a3D_Sketcher_1' ) - #geompy.addToStudy( Face_2, 'Face_2' ) - geompy.addToStudy( Extrusion_2, 'Extrusion_2' ) - - Radius = r0/(1-alpha) - Sphere_1 = geompy.MakeSphereR(Radius) - Down = geompy.MakeMultiTranslation2D(Sphere_1, OX, L, 3, OY, L, 3) - Up = geompy.MakeTranslation(Down, 0, 0, 2*L) - Up_Down = geompy.MakeMultiTranslation1D(Down, OZ, L, 3) - Cut_1a = geompy.MakeCutList(Translation_1, [Up_Down]) - Cut_1b = geompy.MakeCutList(Translation_2, [Up_Down]) - Cut_2a = geompy.MakeCutList(Translation_3, [Up_Down]) - Cut_2b = geompy.MakeCutList(Translation_4, [Up_Down]) - Cut_3a = geompy.MakeCutList(Extrusion_1, [Up_Down]) - Cut_3b = geompy.MakeCutList(Extrusion_2, [Up_Down]) - Middle = geompy.MakeTranslation(Up_Down, L2, L2, L2) - Pore_1a = geompy.MakeCutList(Cut_1a, [Middle]) - Pore_1b = geompy.MakeCutList(Cut_1b, [Middle]) - Pore_2a = geompy.MakeCutList(Cut_2a, [Middle]) - Pore_2b = geompy.MakeCutList(Cut_2b, [Middle]) - Pore_3a = geompy.MakeCutList(Cut_3a, [Middle]) - Pore_3b = geompy.MakeCutList(Cut_3b, [Middle]) - - geompy.addToStudy( Sphere_1, 'Sphere_' ) - geompy.addToStudy( Down, 'Down_' ) - geompy.addToStudy( Up, 'Up_' ) - geompy.addToStudy( Up_Down, 'Up_Down_' ) - geompy.addToStudy( Cut_1a, 'Cut_1a_' ) - geompy.addToStudy( Cut_1b, 'Cut_1b_' ) - geompy.addToStudy( Middle, 'Middle_' ) - geompy.addToStudy( Pore_1a, 'Pore_1a_' ) - geompy.addToStudy( Pore_1b, 'Pore_1b_' ) - geompy.addToStudy( Pore_2a, 'Pore_2a_' ) - geompy.addToStudy( Pore_2b, 'Pore_2b_' ) - geompy.addToStudy( Pore_3a, 'Pore_3a_' ) - geompy.addToStudy( Pore_3b, 'Pore_3b_' ) - - if salome.sg.hasDesktop(): - salome.sg.updateObjBrowser() - - # Preparation - grains = geompy.ExtractShapes(Up_Down, geompy.ShapeType["SOLID"], True) - grains += geompy.ExtractShapes(Middle, geompy.ShapeType["SOLID"], True) - - grains = geompy.MakeFuseList(grains, False, False) - - return grains, Pore_1a, Pore_3a diff --git a/temp/samples.old/faceCenteredCubic.py b/temp/samples.old/faceCenteredCubic.py deleted file mode 100644 index 9462ca5..0000000 --- a/temp/samples.old/faceCenteredCubic.py +++ /dev/null @@ -1,135 +0,0 @@ -import sys -import salome - -salome.salome_init() - -import GEOM -from salome.geom import geomBuilder -import math -import SALOMEDS - -geompy = geomBuilder.New() - -def faceCenteredCubic(alpha): - O = geompy.MakeVertex(0, 0, 0) - OX = geompy.MakeVectorDXDYDZ(1, 0, 0) - OY = geompy.MakeVectorDXDYDZ(0, 1, 0) - OZ = geompy.MakeVectorDXDYDZ(0, 0, 1) - V = geompy.MakeVectorDXDYDZ(1, 1, 1) - V_1 = geompy.MakeVectorDXDYDZ(1, 1, 0) - V_2 = geompy.MakeVectorDXDYDZ(1, -1, 0) - - L = 1.0 - r0 = L*math.sqrt(2)/4 - a=2*r0 - b=L/2 - #c=b/2 - h=L/math.sqrt(3) - Pi_4 = 45*math.pi/180.0 - - Vertex_1 = geompy.MakeVertex(-a, -a, -b) - Vertex_2 = geompy.MakeVertex(a, a, b) - Vertex_3 = geompy.MakeVertex(-1, 0, -b) # Center of Sphere_1 - Vertex_4 = geompy.MakeVertex(-b, 0, -0) - Vertex_5 = geompy.MakeVertex(0, 0, -b) - - sk = geompy.Sketcher3D() # Rombus - sk.addPointsAbsolute(-b, -b, b) #Vertex_1 of Rombus - sk.addPointsAbsolute(0, -b, 0) #Vertex_2 of Rombus - sk.addPointsAbsolute(0, 0, -b) #Vertex_3 of Rombus - sk.addPointsAbsolute(-b, 0, 0) #Vertex_4 of Rombus - sk.addPointsAbsolute(-b, -b, b) #Vertex_1 of Rombus - a3D_Sketcher_1 = sk.wire() - Face_1 = geompy.MakeFaceWires([a3D_Sketcher_1], 1) - Face_1_Up = geompy.MakeTranslation(Face_1, b, b, 0) - Rhombohedron = geompy.MakeHexa2Faces(Face_1, Face_1_Up) - - sk_2 = geompy.Sketcher3D() # Triangle - sk_2.addPointsAbsolute(-2*b/3, -2*b/3, b/3) #Vertex_1 of Triangle - sk_2.addPointsAbsolute(0, -b, 0) #Vertex_2 of Triangle - sk_2.addPointsAbsolute(-b/3, -b/3, -b/3) #Vertex_3 of Triangle - sk_2.addPointsAbsolute(-2*b/3, -2*b/3, b/3) #Vertex_1 of Triangle - a3D_Sketcher_2 = sk_2.wire() - Face_2 = geompy.MakeFaceWires([a3D_Sketcher_2], 1) - Extrusion_2 = geompy.MakePrismVecH(Face_2, V, h) - - sk_3 = geompy.Sketcher3D() # Hexagon - sk_3.addPointsAbsolute(-2*b/3, -2*b/3, b/3) #Vertex_1 of Hexagon - sk_3.addPointsAbsolute(0, -b, 0) #Vertex_2 of Hexagon - sk_3.addPointsAbsolute(b/3, -2*b/3, -2*b/3) #Vertex_3 of Hexagon - sk_3.addPointsAbsolute(0, 0, -b) #Vertex_4 of Hexagon - sk_3.addPointsAbsolute(-2*b/3, b/3, -2*b/3) #Vertex_5 of Hexagon - sk_3.addPointsAbsolute(-b, 0, 0) #Vertex_6 of Hexagon - sk_3.addPointsAbsolute(-2*b/3, -2*b/3, b/3) #Vertex_1 of Hexagon - a3D_Sketcher_3 = sk_3.wire() - Face_3 = geompy.MakeFaceWires([a3D_Sketcher_3], 1) - Extrusion_3 = geompy.MakePrismVecH(Face_3, V, h) - - Box_1 = geompy.MakeBoxTwoPnt(Vertex_1, Vertex_2) - Rotation_1 = geompy.MakeRotation(Box_1, OZ, Pi_4) - Box_2 = geompy.MakeBoxTwoPnt(Vertex_5, Vertex_2) - Rotation_2 = geompy.MakeRotation(Box_2, OZ, Pi_4) - - geompy.addToStudy( O, 'O' ) - geompy.addToStudy( OX, 'OX' ) - geompy.addToStudy( OY, 'OY' ) - geompy.addToStudy( OZ, 'OZ' ) - geompy.addToStudy( V_1, 'V_1' ) - geompy.addToStudy( V_2, 'V_2' ) - geompy.addToStudy( Box_1, 'Box_1' ) - geompy.addToStudy( Rotation_1, 'Rotation_1' ) - geompy.addToStudy( Box_2, 'Box_2' ) - geompy.addToStudy( Rotation_2, 'Rotation_2_' ) - - geompy.addToStudy( a3D_Sketcher_1, 'a3D_Sketcher_1' ) - geompy.addToStudy( Face_1, 'Face_1' ) - geompy.addToStudy( Face_1_Up, 'Face_1_Up' ) - geompy.addToStudy( Rhombohedron, 'Rhombohedron' ) - geompy.addToStudy( a3D_Sketcher_2, 'a3D_Sketcher_2' ) - geompy.addToStudy( Face_2, 'Face_2' ) - geompy.addToStudy( Extrusion_2, 'Extrusion_2' ) - geompy.addToStudy( a3D_Sketcher_3, 'a3D_Sketcher_3' ) - geompy.addToStudy( Face_3, 'Face_3' ) - geompy.addToStudy( Extrusion_3, 'Extrusion_3' ) - - - Radius = r0/(1-alpha) - Sphere_1 = geompy.MakeSpherePntR(Vertex_3, Radius) - Down = geompy.MakeMultiTranslation2D(Sphere_1, V_1, a, 3, V_2, a, 3) - Up_Down = geompy.MakeMultiTranslation1D(Down, OZ, 1, 2) - Cut_1 = geompy.MakeCutList(Rotation_1, [Up_Down], True) - - Sphere_2 = geompy.MakeSpherePntR(Vertex_4, Radius) - Middle = geompy.MakeMultiTranslation2D(Sphere_2, V_1, a, 2, V_2, a, 2) - Cut_2 = geompy.MakeCutList(Cut_1, [Middle], True) - - Common = geompy.MakeCommonList([Cut_2, Rotation_2], True) - Pore_3 = geompy.MakeCommonList([Rhombohedron, Cut_2], True) - - Cut_3 = geompy.MakeCutList(Extrusion_2, [Up_Down], True) - Cut_4 = geompy.MakeCutList(Cut_3, [Middle], True) - - Cut_5 = geompy.MakeCutList(Extrusion_3, [Up_Down], True) - Cut_6 = geompy.MakeCutList(Cut_5, [Middle], True) - - #geompy.addToStudy( Sphere_1, 'Sphere_' ) - geompy.addToStudy( Down, 'Down_' ) - geompy.addToStudy( Up_Down, 'Up_Down_' ) - geompy.addToStudy( Cut_1, 'Cut_1_' ) - geompy.addToStudy( Middle, 'Middle_' ) - geompy.addToStudy( Cut_2, 'Pore_' ) - geompy.addToStudy( Common, 'Pore_2_' ) - geompy.addToStudy( Pore_3, 'Pore_3_' ) - geompy.addToStudy( Cut_4, 'Pore_3a_' ) - geompy.addToStudy( Cut_6, 'Pore_3b_' ) - - if salome.sg.hasDesktop(): - salome.sg.updateObjBrowser() - - # Preparation - grains = geompy.ExtractShapes(Up_Down, geompy.ShapeType["SOLID"], True) - grains += geompy.ExtractShapes(Middle, geompy.ShapeType["SOLID"], True) - - grains = geompy.MakeFuseList(grains, False, False) - - return grains, Common, Pore_3 diff --git a/temp/samples.old/simpleCubic.py b/temp/samples.old/simpleCubic.py deleted file mode 100644 index 77ad64d..0000000 --- a/temp/samples.old/simpleCubic.py +++ /dev/null @@ -1,110 +0,0 @@ -import sys -import salome - -salome.salome_init() - -import GEOM -from salome.geom import geomBuilder -import math -import SALOMEDS - -geompy = geomBuilder.New() - -def simpleCubic(alpha): - O = geompy.MakeVertex(0, 0, 0) - OX = geompy.MakeVectorDXDYDZ(1, 0, 0) - OY = geompy.MakeVectorDXDYDZ(0, 1, 0) - OZ = geompy.MakeVectorDXDYDZ(0, 0, 1) - - r0 = 1.0 - L = 2*r0 - h = L - h2 = 2*h - d1 = L*math.sqrt(2) - d2 = L*math.sqrt(3) - d = 1/math.sqrt(3) - pi_4 = 45*math.pi/180.0 - pi_2 = 90*math.pi/180.0 - - Box_1 = geompy.MakeBoxDXDYDZ(d1, d1, h) - Rotation_1 = geompy.MakeRotation(Box_1, OZ, pi_4) - Translation_2 = geompy.MakeTranslation(Rotation_1, h, 0, 0) - Vertex_1 = geompy.MakeVertex(h, 0, 0) - Vertex_2 = geompy.MakeVertex(h, h, 0) - Vertex_3 = geompy.MakeVertex(h, h, h) - Line_1 = geompy.MakeLineTwoPnt(Vertex_2, Vertex_3) - - sk = geompy.Sketcher3D() - sk.addPointsAbsolute(0, 0, h2) #Vertex_1 of Rombus - sk.addPointsAbsolute(h, 0, h) #Vertex_2 of Rombus - sk.addPointsAbsolute(h, h, 0) #Vertex_3 of Rombus - sk.addPointsAbsolute(0, h, h) #Vertex_4 of Rombus - sk.addPointsAbsolute(0, 0, h2) #Vertex_1 of Rombus - - sk_2 = geompy.Sketcher3D() - sk_2.addPointsAbsolute(L, L, L) #Vertex_1 of Hexagon - sk_2.addPointsAbsolute(5*L/3, 2*L/3, 2*L/3) #Vertex_2 of Hexagon - sk_2.addPointsAbsolute(2*L, L, 0) #Vertex_3 of Hexagon - sk_2.addPointsAbsolute(5*L/3, 5*L/3, -L/3) #Vertex_4 of Hexagon - sk_2.addPointsAbsolute(L, 2*L, 0) #Vertex_5 of Hexagon - sk_2.addPointsAbsolute(2*L/3, 5*L/3, 2*L/3) #Vertex_6 of Hexagon - sk_2.addPointsAbsolute(L, L, L) #Vertex_1 of Hexagon - - a3D_Sketcher_1 = sk.wire() - Face_1 = geompy.MakeFaceWires([a3D_Sketcher_1], 1) - Vector_1 = geompy.MakeVectorDXDYDZ(1, 1, 0) - Extrusion_1 = geompy.MakePrismVecH(Face_1, Vector_1, d1) - a3D_Sketcher_2 = sk_2.wire() - Face_2 = geompy.MakeFaceWires([a3D_Sketcher_2], 1) - Vector_2 = geompy.MakeVectorDXDYDZ(1, 1, 1) - Extrusion_2 = geompy.MakePrismVecH(Face_2, Vector_2, d2/3) - - geompy.addToStudy( O, 'O' ) - geompy.addToStudy( OX, 'OX' ) - geompy.addToStudy( OY, 'OY' ) - geompy.addToStudy( OZ, 'OZ' ) - geompy.addToStudy( Vertex_1, 'Vertex_1' ) - geompy.addToStudy( Vertex_2, 'Vertex_2' ) - geompy.addToStudy( Vertex_3, 'Vertex_3' ) - geompy.addToStudy( Line_1, 'Line_1' ) - geompy.addToStudy( Box_1, 'Box_1' ) - geompy.addToStudy( Rotation_1, 'Rotation_1' ) - geompy.addToStudy( Translation_2, 'Translation_2' ) - - geompy.addToStudy( a3D_Sketcher_1, 'a3D_Sketcher_1' ) - geompy.addToStudy( Face_1, 'Face_1' ) - geompy.addToStudy( Vector_1, 'Vector_1' ) - geompy.addToStudy( Extrusion_1, 'Extrusion_1' ) - geompy.addToStudy( a3D_Sketcher_2, 'a3D_Sketcher_2' ) - geompy.addToStudy( Face_2, 'Face_2' ) - geompy.addToStudy( Vector_2, 'Vector_2' ) - geompy.addToStudy( Extrusion_2, 'Extrusion_2' ) - - Sphere_1 = geompy.MakeSphereR(r0/(1-alpha)) - Multi_Translation_2 = geompy.MakeMultiTranslation2D(Sphere_1, OX, 2, 3, OY, 2, 3) - Multi_Translation_3 = geompy.MakeMultiTranslation1D(Multi_Translation_2, OZ, 2, 3) - Cut_1 = geompy.MakeCutList(Translation_2, [Multi_Translation_3]) - Cut_2 = geompy.MakeCutList(Extrusion_1, [Multi_Translation_3]) - Cut_3 = geompy.MakeCutList(Extrusion_2, [Multi_Translation_3]) - Cut_V = geompy.MakeCutList(Cut_1, [Cut_3]) - #Cut_2.SetColor(SALOMEDS.Color(0,0,1)) - - geompy.addToStudy( Sphere_1, 'Sphere_' ) - geompy.addToStudy( Multi_Translation_2, 'Multi-Translation_2_' ) - geompy.addToStudy( Multi_Translation_3, 'Multi-Translation_3_' ) - geompy.addToStudy( Cut_1, 'Pore1_' ) - geompy.addToStudy( Cut_2, 'Pore2_' ) - geompy.addToStudy( Cut_3, 'Pore3_' ) - geompy.addToStudy( Cut_V, 'Cut_V_' ) - - if salome.sg.hasDesktop(): - salome.sg.updateObjBrowser() - - # Preparation - #Cut_1 = geompy.MakeRotation(Cut_1, OZ, -pi_4) - - grains = geompy.ExtractShapes(Multi_Translation_3, geompy.ShapeType["SOLID"], True) - - grains = geompy.MakeFuseList(grains, False, False) - - return Multi_Translation_3, Cut_1, Cut_2 diff --git a/temp/samples_.py b/temp/samples_.py deleted file mode 100644 index 92bb7a4..0000000 --- a/temp/samples_.py +++ /dev/null @@ -1,84 +0,0 @@ -from src import geometry_utils -import GEOM - -from src import mesh_utils -import SMESH - -from src import anisotropeCubic -import salome -import math - -import samples - -def genMesh(ctype, theta, flowdirection): - _G = globals() - - #for g in _G: - func = _G.get(ctype) - - if func: - salome.salome_init() - func(theta, flowdirection) - salome.salome_close() - - else: - raise Exception("Unknown type of the sample function") - - -def simpleCubic(theta, flowdirection): - #radius = 1 - #stackAngle = [0.5 * math.pi, 0.5 * math.pi, 0.5 * math.pi] - theta = theta if theta else 0.1 - #layers = [3, 3, 3] - #grains = anisotropeCubic.StructuredGrains(radius, stackAngle, theta, layers) - - #scale = [2 * math.sqrt(2), 2 * math.sqrt(2), 2] - flowdirection = flowdirection if flowdirection else [1, 0, 0] - #style = 0 - #cubic = anisotropeCubic.AnisotropeCubic(scale, grains, style) - grains, cubic, _ = samples.simpleCubic(theta) - boundary = geometry_utils.boundaryCreate(cubic, flowdirection, grains) - - fineness = 3 - mesh = mesh_utils.meshCreate(cubic, boundary, fineness) - mesh_utils.meshCompute(mesh) - - -def bodyCenteredCubic(theta, flowdirection): - #radius = 1 - #stackAngle = [0.5 * math.pi, 0.25 * math.pi, 0.25 * math.pi] - theta = theta if theta else 0.1 - #layers = [3, 3, 3] - #grains = anisotropeCubic.StructuredGrains(radius, stackAngle, theta, layers) - - #scale = [2 / math.sqrt(2), 2 / math.sqrt(2), 1] - flowdirection = flowdirection if flowdirection else [1, 0, 0] - #style = 0 - #cubic = anisotropeCubic.AnisotropeCubic(scale, grains, style) - grains, cubic, _ = samples.bodyCenteredCubic(theta) - boundary = geometry_utils.boundaryCreate(cubic, flowdirection, grains) - - fineness = 3 - mesh = mesh_utils.meshCreate(cubic, boundary, fineness) - mesh_utils.meshCompute(mesh) - - -def faceCenteredCubic(theta, flowdirection): - #radius = 1 - #stackAngle = [0.5 * math.pi, 0.5 * math.pi, 0.5 * math.pi] - theta = theta if theta else 0.1 - #layers = [3, 3, 3] - #grains = anisotropeCubic.StructuredGrains(radius, stackAngle, theta, layers) - - #scale = [1 / math.sqrt(2), 1 / math.sqrt(2), 1] - flowdirection = flowdirection if flowdirection else [1, 0, 0] - #style = 0 - #cubic = anisotropeCubic.AnisotropeCubic(scale, grains, style) - grains, cubic, _ = samples.faceCenteredCubic(theta) - boundary = geometry_utils.boundaryCreate(cubic, flowdirection, grains) - - fineness = 3 - mesh = mesh_utils.meshCreate(cubic, boundary, fineness) - mesh_utils.meshCompute(mesh) - - diff --git a/temp/simpleCubic.old.py b/temp/simpleCubic.old.py deleted file mode 100644 index b3177c8..0000000 --- a/temp/simpleCubic.old.py +++ /dev/null @@ -1,181 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -import salome, GEOM, SMESH, SALOMEDS -from salome.geom import geomBuilder -from salome.smesh import smeshBuilder -import math -import os, sys -import logging -import time -from datetime import timedelta -from .gutils import * -from .mutils import * - -class simpleCubic: - def __init__(self, alpha, fillet, name = None): - self.name = name if type(name) != None else "simpleCubic" - - self.scale = None - self.angle = None - self.pos = None - - self.geometry = None - self.geometrybbox = None - self.mesh = None - self.boundary = None - - self.geometry2 = None - self.geometry2bbox = None - - self.grains = None - - salome.salome_init() - - """ - Create the simple cubic geometry. - - Parameters: - alpha (float): Sphere intersection parameter which used for cutting spheres from box. - - Radius = R0 / (1 - alpha) - Should be from 0.01 to 0.28 - - fillet (list): Fillet coefficient. - - [fillet1, fillet2] - 0 <= fillet <= 1 - if fillet = [0, 0] then R_fillet = 0 - - Returns: - Configured geometry. - """ - - geompy = geomBuilder.New() - - # Parameters - R0 = 1 - R = R0 / (1 - alpha) - - C1 = fillet[0] - C2 = fillet[1] - alpha1 = 0.01 - alpha2 = 0.28 - - Cf = C1 + (C2 - C1) / (alpha2 - alpha1) * (alpha - alpha1) - R_fillet = Cf * (R0 * math.sqrt(2) - R) - - logging.info("geometryCreate: alpha = {}".format(alpha)) - logging.info("geometryCreate: R_fillet = {}".format(R_fillet)) - - self.scale = [2 * math.sqrt(2), 2 * math.sqrt(2), 2] - self.angle = [0, 0, 0.25 * math.pi] - self.pos = [2, 0, 0] - - # Box - box = geompy.MakeBoxDXDYDZ(scale[0], scale[1], scale[2]) - box = rotate(box, angle) - box = geompy.MakeTranslation(box, pos[0], pos[1], pos[2]) - - self.geometrybbox = box - - # Grains - stackang = [ - 0.5 * math.pi - stackAng[0], - 0.5 * math.pi - stackAng[1], - 0.5 * math.pi - stackAng[2] - ] - - xvec = geompy.MakeVector( - geompy.MakeVertex(0, 0, 0), - geompy.MakeVertex(1, 0, 0)) - yvec = rotate(xvec, [0.5 * math.pi, 0, 0]) - zvec = rotate(xvec, [0, 0.5 * math.pi, 0]) - - hvec = rotate(xvec, [stackang[0], 0, 0]) - vvec = rotate(zvec, [0, stackang[1], stackang[2]]) - - grain = geompy.MakeSpherePntR(geompy.MakeVertex(pos[0], pos[1], pos[2]), R) - hstack = geompy.MakeMultiTranslation1D(grain, hvec, 2 * R0, 3) - vstack = geompy.MakeMultiTranslation1D(hstack, vvec, 2 * Ro, 3) - stack = geompy.MakeTranslation(vstack, -2 * R0, 0, 0) - - self.grains = geompy.ExtractShapes(stack, geompy.ShapeType["SOLID"], True) - - self.grains = geompy.MakeFuseList(self.grains, False, False) - - if not R_fillet == 0: - self.grains = geompy.MakeFilletAll(self.grains, R_fillet) - - # Geometry 1 - self.geometry = geompy.MakeCutList(box, [self.grains], True) - - # Rhombohedron - h = 2 - - sk = geompy.Sketcher3D() - sk.addPointsAbsolute(0, 0, h * 2) - sk.addPointsAbsolute(h, 0, h) - sk.addPointsAbsolute(h, h, 0) - sk.addPointsAbsolute(0, h, h) - sk.addPointsAbsolute(0, 0, h * 2) - - rhombus = sk.wire() - rhombus = geompy.MakeFaceWires([rombus], 1) - vec = geompy.MakeVectorDXDYDZ(1, 1, 0) - rhombohedron = geompy.MakePrismVecH(rombus, vec, self.scale[0]) - - self.geometry2bbox = rhombohedron - - # Geometry 2 - self.geometry2 = geompy.MakeCutList(rhombohedron, [self.grains], True) - - # Debug study - geompy.addToStudy(self.grains, "grains") - geompy.addToStudy(self.geometry, self.name) - geompy.addToStudy(self.geometrybbox, "bbox 1") - geompy.addToStudy(self.geometry2, "geometry 2") - geompy.addToStudy(self.geometry2bbox, "bbox 2") - - -if __name__ == "__main__": - # Arguments - buildpath = str(sys.argv[1]) - alpha = float(sys.argv[2]) - direction = str(sys.argv[3]) - - name = "simpleCubic-{}-{}".format(direction, alpha) - - # Logger - logging.basicConfig( - level=logging.INFO, - format="%(levelname)s: %(message)s", - handlers = [ - logging.StreamHandler(), - logging.FileHandler(os.path.join(buildpath, "{}.log".format(name))) - ]) - start_time = time.monotonic() - - # Simple cubic - logging.info("Creating the geometry ...") - sc = simpleCubic(alpha, [0, 0], name) - - logging.info("Extracting boundaries ...") - boundary = sc.boundaryCreate(sc.geometry, direction, sc.grains) - - logging.info("Creating the mesh ...") - mesh = sc.meshCreate(sc.geometry, boundary, 2) #, { - # "thickness": 0.001, - # "number": 1, - # "stretch": 1.1 - #}) - meshCompute(mesh) - - logging.info("Exporting the mesh ...") - meshExport(mesh, buildpath) - - end_time = time.monotonic() - logging.info("Elapsed time: {}".format(timedelta(seconds=end_time - start_time))) - logging.info("Done.") - - if salome.sg.hasDesktop(): - salome.sg.updateObjBrowser() diff --git a/temp/splitpyramids.py b/temp/splitpyramids.py deleted file mode 100644 index 01711eb..0000000 --- a/temp/splitpyramids.py +++ /dev/null @@ -1,314 +0,0 @@ -#!/usr/bin/env python - -### -### This file is generated automatically by SALOME v9.6.0 with dump python functionality -### - -import sys -import salome - -salome.salome_init() -import salome_notebook -notebook = salome_notebook.NoteBook() -sys.path.insert(0, r'/home/nafaryus/projects/anisotrope-cube/temp') - -### -### GEOM component -### - -import GEOM -from salome.geom import geomBuilder -import math -import SALOMEDS - - -geompy = geomBuilder.New() - -geomObj_1 = geompy.MakeVertex(0, 0, 0) - -sk = geompy.Sketcher3D() -sk.addPointsAbsolute(-0.6666667, -0.6666667, -0.1666667) -sk.addPointsAbsolute(-0.3333333, -0.8333333, -0.3333333) -sk.addPointsAbsolute(-0.1666667, -0.6666667, -0.6666667) -sk.addPointsAbsolute(-0.3333333, -0.3333333, -0.8333333) -sk.addPointsAbsolute(-0.6666667, -0.1666667, -0.6666667) -sk.addPointsAbsolute(-0.8333333, -0.3333333, -0.3333333) -sk.addPointsAbsolute(-0.6666667, -0.6666667, -0.1666667) -geomObj_2 = sk.wire() -geomObj_3 = geompy.MakeFaceWires([geomObj_2], 0) -geomObj_4 = geompy.GetNormal(geomObj_3) -geomObj_5 = geompy.MakePrismVecH(geomObj_3, geomObj_4, 1.732050807568877) -geomObj_6 = geompy.MakeScaleTransform(geomObj_3, geomObj_1, 100) -geomObj_7 = geompy.MakeScaleTransform(geomObj_5, geomObj_1, 100) -[geomObj_8,geomObj_9,geomObj_10,geomObj_11,geomObj_12,geomObj_13,geomObj_14,geomObj_15] = geompy.ExtractShapes(geomObj_7, geompy.ShapeType["FACE"], False) -geomObj_16 = geompy.GetNormal(geomObj_8) -geomObj_17 = geompy.GetNormal(geomObj_9) -geomObj_18 = geompy.GetNormal(geomObj_10) -geomObj_19 = geompy.GetNormal(geomObj_11) -geomObj_20 = geompy.GetNormal(geomObj_12) -geomObj_21 = geompy.GetNormal(geomObj_13) -geomObj_22 = geompy.GetNormal(geomObj_14) -geomObj_23 = geompy.GetNormal(geomObj_15) -geomObj_24 = geompy.MakeVectorDXDYDZ(1, 0, 0) -geomObj_25 = geompy.MakeVectorDXDYDZ(0, 1, 0) -geomObj_26 = geompy.MakeVectorDXDYDZ(0, 0, 1) -geomObj_27 = geompy.MakeVectorDXDYDZ(1, 1, 0) -geomObj_28 = geompy.MakeVectorDXDYDZ(1, -1, 0) -geomObj_29 = geompy.MakeVertex(-1, 0, -0.5) -geomObj_30 = geompy.MakeSpherePntR(geomObj_29, 0.3761206282907168) -geomObj_31 = geompy.MakeMultiTranslation2D(geomObj_30, geomObj_27, 0.7071067811865476, 3, geomObj_28, 0.7071067811865476, 3) -geomObj_32 = geompy.MakeMultiTranslation1D(geomObj_31, geomObj_26, 1, 2) -[geomObj_33,geomObj_34,geomObj_35,geomObj_36,geomObj_37,geomObj_38,geomObj_39,geomObj_40,geomObj_41,geomObj_42,geomObj_43,geomObj_44,geomObj_45,geomObj_46,geomObj_47,geomObj_48,geomObj_49,geomObj_50] = geompy.ExtractShapes(geomObj_32, geompy.ShapeType["SOLID"], True) -geomObj_51 = geompy.MakeVertex(-1.5, 0, -1) -geomObj_52 = geompy.MakeSpherePntR(geomObj_51, 0.3761206282907168) -geomObj_53 = geompy.MakeMultiTranslation2D(geomObj_52, geomObj_27, 0.7071067811865476, 4, geomObj_28, 0.7071067811865476, 4) -geomObj_54 = geompy.MakeMultiTranslation1D(geomObj_53, geomObj_26, 1, 3) -[geomObj_55,geomObj_56,geomObj_57,geomObj_58,geomObj_59,geomObj_60,geomObj_61,geomObj_62,geomObj_63,geomObj_64,geomObj_65,geomObj_66,geomObj_67,geomObj_68,geomObj_69,geomObj_70,geomObj_71,geomObj_72,geomObj_73,geomObj_74,geomObj_75,geomObj_76,geomObj_77,geomObj_78,geomObj_79,geomObj_80,geomObj_81,geomObj_82,geomObj_83,geomObj_84,geomObj_85,geomObj_86,geomObj_87,geomObj_88,geomObj_89,geomObj_90,geomObj_91,geomObj_92,geomObj_93,geomObj_94,geomObj_95,geomObj_96,geomObj_97,geomObj_98,geomObj_99,geomObj_100,geomObj_101,geomObj_102] = geompy.ExtractShapes(geomObj_54, geompy.ShapeType["SOLID"], True) -geomObj_103 = geompy.MakeFuseList([geomObj_33, geomObj_34, geomObj_35, geomObj_36, geomObj_37, geomObj_38, geomObj_39, geomObj_40, geomObj_41, geomObj_42, geomObj_43, geomObj_44, geomObj_45, geomObj_46, geomObj_47, geomObj_48, geomObj_49, geomObj_50, geomObj_55, geomObj_56, geomObj_57, geomObj_58, geomObj_59, geomObj_60, geomObj_61, geomObj_62, geomObj_63, geomObj_64, geomObj_65, geomObj_66, geomObj_67, geomObj_68, geomObj_69, geomObj_70, geomObj_71, geomObj_72, geomObj_73, geomObj_74, geomObj_75, geomObj_76, geomObj_77, geomObj_78, geomObj_79, geomObj_80, geomObj_81, geomObj_82, geomObj_83, geomObj_84, geomObj_85, geomObj_86, geomObj_87, geomObj_88, geomObj_89, geomObj_90, geomObj_91, geomObj_92, geomObj_93, geomObj_94, geomObj_95, geomObj_96, geomObj_97, geomObj_98, geomObj_99, geomObj_100, geomObj_101, geomObj_102], False, False) -geomObj_104 = geompy.MakeScaleTransform(geomObj_103, geomObj_1, 100) -geomObj_105 = geompy.MakeFilletAll(geomObj_104, 0.6170130261493888) -geomObj_106 = geompy.MakeCutList(geomObj_7, [geomObj_105]) -faceCenteredCubic = geompy.MakeScaleTransform(geomObj_106, geomObj_1, 0.01) -geomObj_107 = geompy.CreateGroup(faceCenteredCubic, geompy.ShapeType["FACE"]) -geompy.UnionIDs(geomObj_107, [3, 21, 30, 35, 42, 59, 84, 89, 118, 131, 136, 177, 180, 183, 188, 203, 230, 233, 236, 247, 259, 261, 266, 270, 272, 277, 281, 296, 301, 304, 306, 311, 316, 322, 324, 338, 353, 357, 359, 362, 365, 370, 375, 380, 383, 388, 391, 398, 421, 424, 427, 438, 443, 448, 455, 460, 465, 470, 475, 480, 487, 492, 497, 504, 517, 534, 557, 561, 563, 566, 569, 577, 579, 583, 586, 588, 591, 595, 598, 602, 604]) -inlet = geompy.CreateGroup(faceCenteredCubic, geompy.ShapeType["FACE"]) -geomObj_108 = geompy.MakeCutList(geomObj_6, [geomObj_105]) -geomObj_109 = geompy.MakeScaleTransform(geomObj_108, geomObj_1, 0.01) -geomObj_110 = geompy.GetInPlace(faceCenteredCubic, geomObj_109, True) -[geomObj_111,geomObj_112,geomObj_113,geomObj_114,geomObj_115,geomObj_116] = geompy.SubShapeAll(geomObj_110, geompy.ShapeType["FACE"]) -geompy.UnionList(inlet, [geomObj_111, geomObj_112, geomObj_113, geomObj_114, geomObj_115, geomObj_116]) -outlet = geompy.CreateGroup(faceCenteredCubic, geompy.ShapeType["FACE"]) -geomObj_117 = geompy.MakeCutList(geomObj_15, [geomObj_105]) -geomObj_118 = geompy.MakeScaleTransform(geomObj_117, geomObj_1, 0.01) -geomObj_119 = geompy.GetInPlace(faceCenteredCubic, geomObj_118, True) -[geomObj_120,geomObj_121,geomObj_122,geomObj_123,geomObj_124,geomObj_125] = geompy.SubShapeAll(geomObj_119, geompy.ShapeType["FACE"]) -geompy.UnionList(outlet, [geomObj_120, geomObj_121, geomObj_122, geomObj_123, geomObj_124, geomObj_125]) -symetry0 = geompy.CreateGroup(faceCenteredCubic, geompy.ShapeType["FACE"]) -geomObj_126 = geompy.MakeCutList(geomObj_8, [geomObj_105]) -geomObj_127 = geompy.MakeScaleTransform(geomObj_126, geomObj_1, 0.01) -geomObj_128 = geompy.GetInPlace(faceCenteredCubic, geomObj_127, True) -[geomObj_129,geomObj_130] = geompy.SubShapeAll(geomObj_128, geompy.ShapeType["FACE"]) -geompy.UnionList(symetry0, [geomObj_129, geomObj_130]) -symetry1 = geompy.CreateGroup(faceCenteredCubic, geompy.ShapeType["FACE"]) -geomObj_131 = geompy.MakeCutList(geomObj_9, [geomObj_105]) -geomObj_132 = geompy.MakeScaleTransform(geomObj_131, geomObj_1, 0.01) -geomObj_133 = geompy.GetInPlace(faceCenteredCubic, geomObj_132, True) -[geomObj_134,geomObj_135] = geompy.SubShapeAll(geomObj_133, geompy.ShapeType["FACE"]) -geompy.UnionList(symetry1, [geomObj_134, geomObj_135]) -symetry2 = geompy.CreateGroup(faceCenteredCubic, geompy.ShapeType["FACE"]) -geomObj_136 = geompy.MakeCutList(geomObj_10, [geomObj_105]) -geomObj_137 = geompy.MakeScaleTransform(geomObj_136, geomObj_1, 0.01) -geomObj_138 = geompy.GetInPlace(faceCenteredCubic, geomObj_137, True) -[geomObj_139,geomObj_140] = geompy.SubShapeAll(geomObj_138, geompy.ShapeType["FACE"]) -geompy.UnionList(symetry2, [geomObj_139, geomObj_140]) -symetry3 = geompy.CreateGroup(faceCenteredCubic, geompy.ShapeType["FACE"]) -geomObj_141 = geompy.MakeCutList(geomObj_11, [geomObj_105]) -geomObj_142 = geompy.MakeScaleTransform(geomObj_141, geomObj_1, 0.01) -geomObj_143 = geompy.GetInPlace(faceCenteredCubic, geomObj_142, True) -[geomObj_144,geomObj_145] = geompy.SubShapeAll(geomObj_143, geompy.ShapeType["FACE"]) -geompy.UnionList(symetry3, [geomObj_144, geomObj_145]) -symetry4 = geompy.CreateGroup(faceCenteredCubic, geompy.ShapeType["FACE"]) -geomObj_146 = geompy.MakeCutList(geomObj_12, [geomObj_105]) -geomObj_147 = geompy.MakeScaleTransform(geomObj_146, geomObj_1, 0.01) -geomObj_148 = geompy.GetInPlace(faceCenteredCubic, geomObj_147, True) -[geomObj_149,geomObj_150] = geompy.SubShapeAll(geomObj_148, geompy.ShapeType["FACE"]) -geompy.UnionList(symetry4, [geomObj_149, geomObj_150]) -symetry5 = geompy.CreateGroup(faceCenteredCubic, geompy.ShapeType["FACE"]) -geomObj_151 = geompy.MakeCutList(geomObj_13, [geomObj_105]) -geomObj_152 = geompy.MakeScaleTransform(geomObj_151, geomObj_1, 0.01) -geomObj_153 = geompy.GetInPlace(faceCenteredCubic, geomObj_152, True) -[geomObj_154,geomObj_155] = geompy.SubShapeAll(geomObj_153, geompy.ShapeType["FACE"]) -geompy.UnionList(symetry5, [geomObj_154, geomObj_155]) -wall = geompy.CutListOfGroups([geomObj_107], [inlet, outlet, symetry0, symetry1, symetry2, symetry3, symetry4, symetry5]) -[geomObj_107, inlet, geomObj_110, outlet, geomObj_119, symetry0, geomObj_128, symetry1, geomObj_133, symetry2, geomObj_138, symetry3, geomObj_143, symetry4, geomObj_148, symetry5, geomObj_153, wall] = geompy.GetExistingSubObjects(faceCenteredCubic, False) -[geomObj_107, inlet, geomObj_110, outlet, geomObj_119, symetry0, geomObj_128, symetry1, geomObj_133, symetry2, geomObj_138, symetry3, geomObj_143, symetry4, geomObj_148, symetry5, geomObj_153, wall] = geompy.GetExistingSubObjects(faceCenteredCubic, False) -[geomObj_107, inlet, geomObj_110, outlet, geomObj_119, symetry0, geomObj_128, symetry1, geomObj_133, symetry2, geomObj_138, symetry3, geomObj_143, symetry4, geomObj_148, symetry5, geomObj_153, wall] = geompy.GetExistingSubObjects(faceCenteredCubic, False) -geompy.addToStudy( faceCenteredCubic, 'faceCenteredCubic' ) -geompy.addToStudyInFather( faceCenteredCubic, inlet, 'inlet' ) -geompy.addToStudyInFather( faceCenteredCubic, outlet, 'outlet' ) -geompy.addToStudyInFather( faceCenteredCubic, symetry0, 'symetry0' ) -geompy.addToStudyInFather( faceCenteredCubic, symetry1, 'symetry1' ) -geompy.addToStudyInFather( faceCenteredCubic, symetry2, 'symetry2' ) -geompy.addToStudyInFather( faceCenteredCubic, symetry3, 'symetry3' ) -geompy.addToStudyInFather( faceCenteredCubic, symetry4, 'symetry4' ) -geompy.addToStudyInFather( faceCenteredCubic, symetry5, 'symetry5' ) -geompy.addToStudyInFather( faceCenteredCubic, wall, 'wall' ) - -### -### SMESH component -### - -import SMESH, SALOMEDS -from salome.smesh import smeshBuilder - -smesh = smeshBuilder.New() -#smesh.SetEnablePublish( False ) # Set to False to avoid publish in study if not needed or in some particular situations: - # multiples meshes built in parallel, complex and numerous mesh edition (performance) - -Mesh_1 = smesh.Mesh(faceCenteredCubic) -NETGEN_1D_2D_3D = Mesh_1.Tetrahedron(algo=smeshBuilder.NETGEN_1D2D3D) -NETGEN_3D_Parameters_1 = NETGEN_1D_2D_3D.Parameters() -NETGEN_3D_Parameters_1.SetMaxSize( 0.05 ) -NETGEN_3D_Parameters_1.SetMinSize( 0.005 ) -NETGEN_3D_Parameters_1.SetSecondOrder( 0 ) -NETGEN_3D_Parameters_1.SetOptimize( 1 ) -NETGEN_3D_Parameters_1.SetFineness( 1 ) -NETGEN_3D_Parameters_1.SetChordalError( -1 ) -NETGEN_3D_Parameters_1.SetChordalErrorEnabled( 0 ) -NETGEN_3D_Parameters_1.SetUseSurfaceCurvature( 1 ) -NETGEN_3D_Parameters_1.SetFuseEdges( 1 ) -NETGEN_3D_Parameters_1.SetQuadAllowed( 0 ) -NETGEN_3D_Parameters_1.SetCheckChartBoundary( 88 ) -Viscous_Layers_1 = NETGEN_1D_2D_3D.ViscousLayers(0.001,2,1.2,[ 21, 35, 316, 183, 365, 380, 475, 460, 497, 448, 595, 579 ],1,smeshBuilder.SURF_OFFSET_SMOOTH) -#Group_1 = Mesh_1.GroupOnGeom(__NOT__Published__Object__,'',SMESH.FACE) -inlet_1 = Mesh_1.GroupOnGeom(inlet,'inlet',SMESH.FACE) -#Group_3 = Mesh_1.GroupOnGeom(__NOT__Published__Object__,'',SMESH.FACE) -outlet_1 = Mesh_1.GroupOnGeom(outlet,'outlet',SMESH.FACE) -#Group_5 = Mesh_1.GroupOnGeom(__NOT__Published__Object__,'',SMESH.FACE) -symetry0_1 = Mesh_1.GroupOnGeom(symetry0,'symetry0',SMESH.FACE) -#Group_7 = Mesh_1.GroupOnGeom(__NOT__Published__Object__,'',SMESH.FACE) -symetry1_1 = Mesh_1.GroupOnGeom(symetry1,'symetry1',SMESH.FACE) -#Group_9 = Mesh_1.GroupOnGeom(__NOT__Published__Object__,'',SMESH.FACE) -symetry2_1 = Mesh_1.GroupOnGeom(symetry2,'symetry2',SMESH.FACE) -#Group_11 = Mesh_1.GroupOnGeom(__NOT__Published__Object__,'',SMESH.FACE) -symetry3_1 = Mesh_1.GroupOnGeom(symetry3,'symetry3',SMESH.FACE) -#Group_13 = Mesh_1.GroupOnGeom(__NOT__Published__Object__,'',SMESH.FACE) -symetry4_1 = Mesh_1.GroupOnGeom(symetry4,'symetry4',SMESH.FACE) -#Group_15 = Mesh_1.GroupOnGeom(__NOT__Published__Object__,'',SMESH.FACE) -symetry5_1 = Mesh_1.GroupOnGeom(symetry5,'symetry5',SMESH.FACE) -#Group_17 = Mesh_1.GroupOnGeom(__NOT__Published__Object__,'',SMESH.FACE) -wall_1 = Mesh_1.GroupOnGeom(wall,'wall',SMESH.FACE) -isDone = Mesh_1.Compute() -[ Group_1, inlet_1, Group_3, outlet_1, Group_5, symetry0_1, Group_7, symetry1_1, Group_9, symetry2_1, Group_11, symetry3_1, Group_13, symetry4_1, Group_15, symetry5_1, Group_17, wall_1 ] = Mesh_1.GetGroups() -Mesh_4 = smesh.Mesh() -Mesh_2 = smesh.Mesh(faceCenteredCubic) -status = Mesh_2.AddHypothesis(NETGEN_3D_Parameters_1) -status = Mesh_2.AddHypothesis(Viscous_Layers_1) -NETGEN_1D_2D_3D_1 = Mesh_2.Tetrahedron(algo=smeshBuilder.NETGEN_1D2D3D) -#Group_1_1 = Mesh_2.GroupOnGeom(__NOT__Published__Object__,'',SMESH.FACE) -inlet_2 = Mesh_2.GroupOnGeom(inlet,'inlet',SMESH.FACE) -#Group_3_1 = Mesh_2.GroupOnGeom(__NOT__Published__Object__,'',SMESH.FACE) -outlet_2 = Mesh_2.GroupOnGeom(outlet,'outlet',SMESH.FACE) -#Group_5_1 = Mesh_2.GroupOnGeom(__NOT__Published__Object__,'',SMESH.FACE) -symetry0_2 = Mesh_2.GroupOnGeom(symetry0,'symetry0',SMESH.FACE) -#Group_7_1 = Mesh_2.GroupOnGeom(__NOT__Published__Object__,'',SMESH.FACE) -symetry1_2 = Mesh_2.GroupOnGeom(symetry1,'symetry1',SMESH.FACE) -#Group_9_1 = Mesh_2.GroupOnGeom(__NOT__Published__Object__,'',SMESH.FACE) -symetry2_2 = Mesh_2.GroupOnGeom(symetry2,'symetry2',SMESH.FACE) -#Group_11_1 = Mesh_2.GroupOnGeom(__NOT__Published__Object__,'',SMESH.FACE) -symetry3_2 = Mesh_2.GroupOnGeom(symetry3,'symetry3',SMESH.FACE) -#Group_13_1 = Mesh_2.GroupOnGeom(__NOT__Published__Object__,'',SMESH.FACE) -symetry4_2 = Mesh_2.GroupOnGeom(symetry4,'symetry4',SMESH.FACE) -#Group_15_1 = Mesh_2.GroupOnGeom(__NOT__Published__Object__,'',SMESH.FACE) -symetry5_2 = Mesh_2.GroupOnGeom(symetry5,'symetry5',SMESH.FACE) -#Group_17_1 = Mesh_2.GroupOnGeom(__NOT__Published__Object__,'',SMESH.FACE) -wall_2 = Mesh_2.GroupOnGeom(wall,'wall',SMESH.FACE) -isDone = Mesh_2.Compute() -[ Group_1_1, inlet_2, Group_3_1, outlet_2, Group_5_1, symetry0_2, Group_7_1, symetry1_2, Group_9_1, symetry2_2, Group_11_1, symetry3_2, Group_13_1, symetry4_2, Group_15_1, symetry5_2, Group_17_1, wall_2 ] = Mesh_2.GetGroups() -[ Group_1, inlet_1, Group_3, outlet_1, Group_5, symetry0_1, Group_7, symetry1_1, Group_9, symetry2_1, Group_11, symetry3_1, Group_13, symetry4_1, Group_15, symetry5_1, Group_17, wall_1 ] = Mesh_1.GetGroups() -[ Group_1_1, inlet_2, Group_3_1, outlet_2, Group_5_1, symetry0_2, Group_7_1, symetry1_2, Group_9_1, symetry2_2, Group_11_1, symetry3_2, Group_13_1, symetry4_2, Group_15_1, symetry5_2, Group_17_1, wall_2 ] = Mesh_2.GetGroups() -aCriteria = [] -aCriterion = smesh.GetCriterion(SMESH.VOLUME,SMESH.FT_ElemGeomType,SMESH.FT_Undefined,SMESH.Geom_PYRAMID) -aCriteria.append(aCriterion) -[ Group_1_1, inlet_2, Group_3_1, outlet_2, Group_5_1, symetry0_2, Group_7_1, symetry1_2, Group_9_1, symetry2_2, Group_11_1, symetry3_2, Group_13_1, symetry4_2, Group_15_1, symetry5_2, Group_17_1, wall_2 ] = Mesh_2.GetGroups() -Mesh_1.Clear() -Mesh_2.Clear() -Mesh_3 = smesh.Mesh(faceCenteredCubic) -status = Mesh_3.AddHypothesis(NETGEN_3D_Parameters_1) -status = Mesh_3.AddHypothesis(Viscous_Layers_1) -NETGEN_1D_2D_3D_2 = Mesh_3.Tetrahedron(algo=smeshBuilder.NETGEN_1D2D3D) -inlet_3 = Mesh_3.GroupOnGeom(inlet,'inlet',SMESH.FACE) -outlet_3 = Mesh_3.GroupOnGeom(outlet,'outlet',SMESH.FACE) -symetry0_3 = Mesh_3.GroupOnGeom(symetry0,'symetry0',SMESH.FACE) -symetry1_3 = Mesh_3.GroupOnGeom(symetry1,'symetry1',SMESH.FACE) -symetry2_3 = Mesh_3.GroupOnGeom(symetry2,'symetry2',SMESH.FACE) -symetry3_3 = Mesh_3.GroupOnGeom(symetry3,'symetry3',SMESH.FACE) -symetry4_3 = Mesh_3.GroupOnGeom(symetry4,'symetry4',SMESH.FACE) -symetry5_3 = Mesh_3.GroupOnGeom(symetry5,'symetry5',SMESH.FACE) -wall_3 = Mesh_3.GroupOnGeom(wall,'wall',SMESH.FACE) -isDone = Mesh_3.Compute() -[ smeshObj_1, inlet_3, smeshObj_2, outlet_3, smeshObj_3, symetry0_3, smeshObj_4, symetry1_3, smeshObj_5, symetry2_3, smeshObj_6, symetry3_3, smeshObj_7, symetry4_3, smeshObj_8, symetry5_3, smeshObj_9, wall_3 ] = Mesh_3.GetGroups() -aCriteria = [] -aCriterion = smesh.GetCriterion(SMESH.VOLUME,SMESH.FT_ElemGeomType,SMESH.FT_Undefined,SMESH.Geom_PYRAMID) -aCriteria.append(aCriterion) -Mesh_3.SplitVolumesIntoTetra( Mesh_3.GetIDSource([ 189580, 222102, 189581, 222103, 146658, 146659, 106364, 106365, 146364, 146365, 105266, 105267, 162840, 162841, 189808, 189809, 105172, 105173, 180526, 180527, 154066, 154067, 104882, 104883, 123066, 123067, 123068, 123069, 180640, 222050, 180641, 222051, 162664, 180238, 162665, 180239, 106312, 106313, 154188, 154189, 122780, 122781, 162784, 146726, 162785, 222274, 146727, 162786, 222275, 162787, 189756, 189757, 189458, 189459, 222394, 222395 ], SMESH.VOLUME), 1 ) -[ smeshObj_1, inlet_3, smeshObj_2, outlet_3, smeshObj_3, symetry0_3, smeshObj_4, symetry1_3, smeshObj_5, symetry2_3, smeshObj_6, symetry3_3, smeshObj_7, symetry4_3, smeshObj_8, symetry5_3, smeshObj_9, wall_3 ] = Mesh_3.GetGroups() - -## some objects were removed -aStudyBuilder = salome.myStudy.NewBuilder() -SO = salome.myStudy.FindObjectIOR(salome.myStudy.ConvertObjectToIOR(smeshObj_8)) -if SO: aStudyBuilder.RemoveObjectWithChildren(SO) -SO = salome.myStudy.FindObjectIOR(salome.myStudy.ConvertObjectToIOR(smeshObj_9)) -if SO: aStudyBuilder.RemoveObjectWithChildren(SO) -SO = salome.myStudy.FindObjectIOR(salome.myStudy.ConvertObjectToIOR(smeshObj_6)) -if SO: aStudyBuilder.RemoveObjectWithChildren(SO) -SO = salome.myStudy.FindObjectIOR(salome.myStudy.ConvertObjectToIOR(smeshObj_7)) -if SO: aStudyBuilder.RemoveObjectWithChildren(SO) -SO = salome.myStudy.FindObjectIOR(salome.myStudy.ConvertObjectToIOR(smeshObj_5)) -if SO: aStudyBuilder.RemoveObjectWithChildren(SO) -SO = salome.myStudy.FindObjectIOR(salome.myStudy.ConvertObjectToIOR(smeshObj_3)) -if SO: aStudyBuilder.RemoveObjectWithChildren(SO) -SO = salome.myStudy.FindObjectIOR(salome.myStudy.ConvertObjectToIOR(smeshObj_4)) -if SO: aStudyBuilder.RemoveObjectWithChildren(SO) -SO = salome.myStudy.FindObjectIOR(salome.myStudy.ConvertObjectToIOR(smeshObj_1)) -if SO: aStudyBuilder.RemoveObjectWithChildren(SO) -SO = salome.myStudy.FindObjectIOR(salome.myStudy.ConvertObjectToIOR(smeshObj_2)) -if SO: aStudyBuilder.RemoveObjectWithChildren(SO) - -## Set names of Mesh objects -smesh.SetName(NETGEN_1D_2D_3D.GetAlgorithm(), 'NETGEN 1D-2D-3D') -smesh.SetName(symetry1_1, 'symetry1') -smesh.SetName(Group_9, 'Group_9') -smesh.SetName(Viscous_Layers_1, 'Viscous Layers_1') -smesh.SetName(NETGEN_3D_Parameters_1, 'NETGEN 3D Parameters_1') -smesh.SetName(Group_1, 'Group_1') -smesh.SetName(inlet_1, 'inlet') -smesh.SetName(Group_3, 'Group_3') -smesh.SetName(outlet_1, 'outlet') -smesh.SetName(Group_5, 'Group_5') -smesh.SetName(symetry0_1, 'symetry0') -smesh.SetName(Group_7, 'Group_7') -smesh.SetName(Mesh_1.GetMesh(), 'Mesh_1') -smesh.SetName(Mesh_2.GetMesh(), 'Mesh_2') -smesh.SetName(Mesh_4.GetMesh(), 'Mesh_4') -smesh.SetName(Mesh_3.GetMesh(), 'Mesh_3') -smesh.SetName(wall_3, 'wall') -smesh.SetName(symetry4_3, 'symetry4') -smesh.SetName(symetry5_3, 'symetry5') -smesh.SetName(symetry2_3, 'symetry2') -smesh.SetName(wall_1, 'wall') -smesh.SetName(symetry3_3, 'symetry3') -smesh.SetName(Group_11, 'Group_11') -smesh.SetName(symetry2_1, 'symetry2') -smesh.SetName(Group_13, 'Group_13') -smesh.SetName(symetry3_1, 'symetry3') -smesh.SetName(Group_15, 'Group_15') -smesh.SetName(symetry1_2, 'symetry1') -smesh.SetName(symetry4_1, 'symetry4') -smesh.SetName(symetry1_3, 'symetry1') -smesh.SetName(Group_9_1, 'Group_9') -smesh.SetName(Group_17, 'Group_17') -smesh.SetName(symetry0_2, 'symetry0') -smesh.SetName(symetry5_1, 'symetry5') -smesh.SetName(Group_7_1, 'Group_7') -smesh.SetName(outlet_2, 'outlet') -smesh.SetName(outlet_3, 'outlet') -smesh.SetName(Group_5_1, 'Group_5') -smesh.SetName(inlet_2, 'inlet') -smesh.SetName(symetry0_3, 'symetry0') -smesh.SetName(Group_3_1, 'Group_3') -smesh.SetName(Group_1_1, 'Group_1') -smesh.SetName(inlet_3, 'inlet') -smesh.SetName(wall_2, 'wall') -smesh.SetName(Group_17_1, 'Group_17') -smesh.SetName(symetry5_2, 'symetry5') -smesh.SetName(Group_15_1, 'Group_15') -smesh.SetName(symetry4_2, 'symetry4') -smesh.SetName(Group_13_1, 'Group_13') -smesh.SetName(symetry3_2, 'symetry3') -smesh.SetName(Group_11_1, 'Group_11') -smesh.SetName(symetry2_2, 'symetry2') - - -if salome.sg.hasDesktop(): - salome.sg.updateObjBrowser() diff --git a/temp/test.py b/temp/test.py deleted file mode 100644 index 288dfcf..0000000 --- a/temp/test.py +++ /dev/null @@ -1,175 +0,0 @@ -#!/usr/bin/env python - -### -### This file is generated automatically by SALOME v9.6.0 with dump python functionality -### - -import sys -import salome - -salome.salome_init() -import salome_notebook -notebook = salome_notebook.NoteBook() -sys.path.insert(0, r'/home/nafaryus/projects/anisotrope-cube/build') - -### -### GEOM component -### - -import GEOM -from salome.geom import geomBuilder -import math -import SALOMEDS - - -geompy = geomBuilder.New() - -O = geompy.MakeVertex(0, 0, 0) -OX = geompy.MakeVectorDXDYDZ(1, 0, 0) -OY = geompy.MakeVectorDXDYDZ(0, 1, 0) -OZ = geompy.MakeVectorDXDYDZ(0, 0, 1) -Box_1 = geompy.MakeBoxDXDYDZ(2.82842712474619, 2.82842712474619, 2) -Rotation_1 = geompy.MakeRotation(Box_1, OZ, 45*math.pi/180.0) -Translation_2 = geompy.MakeTranslation(Rotation_1, 2, 0, 0) -Vertex_1 = geompy.MakeVertex(2, 0, 0) -Vertex_2 = geompy.MakeVertex(2, 2, 0) -Vertex_3 = geompy.MakeVertex(2, 2, 2) -Line_1 = geompy.MakeLineTwoPnt(Vertex_2, Vertex_3) - -sk = geompy.Sketcher3D() -sk.addPointsAbsolute(0.0000000, 0.0000000, 4.0000000) -sk.addPointsAbsolute(2.0000000, 0.0000000, 2.0000000) -sk.addPointsAbsolute(2.0000000, 2.0000000, 0.0000000) -sk.addPointsAbsolute(0.0000000, 2.0000000, 2.0000000) -sk.addPointsAbsolute(0.0000000, 0.0000000, 4.0000000) -a3D_Sketcher_1 = sk.wire() -Face_1 = geompy.MakeFaceWires([a3D_Sketcher_1], 1) -Vector_1 = geompy.MakeVectorDXDYDZ(1, 1, 0) -Extrusion_1 = geompy.MakePrismVecH(Face_1, Vector_1, 2.82842712474619) - -sk = geompy.Sketcher3D() -sk.addPointsAbsolute(2.0000000, 2.0000000, 2.0000000) -sk.addPointsAbsolute(3.3333333, 1.3333333, 1.3333333) -sk.addPointsAbsolute(4.0000000, 2.0000000, 0.0000000) -sk.addPointsAbsolute(3.3333333, 3.3333333, -0.6666667) -sk.addPointsAbsolute(2.0000000, 4.0000000, 0.0000000) -sk.addPointsAbsolute(1.3333333, 3.3333333, 1.3333333) -sk.addPointsAbsolute(2.0000000, 2.0000000, 2.0000000) -a3D_Sketcher_2 = sk.wire() -Face_2 = geompy.MakeFaceWires([a3D_Sketcher_2], 1) -geomObj_1 = geompy.MakeVectorDXDYDZ(1, 1, 1) -Extrusion_2 = geompy.MakePrismVecH(Face_2, geomObj_1, 1.154700538379251) -a3D_Sketcher_3 = geompy.MakeTranslation(a3D_Sketcher_2, -2.333333333333333, -2.333333333333333, -0.3333333333333333) -geomObj_2 = geompy.MakeFaceWires([a3D_Sketcher_3], 1) -Vector_2 = geompy.MakeVectorDXDYDZ(1, 1, 1) -Extrusion_3 = geompy.MakePrismVecH(geomObj_2, Vector_2, 3.464101615137754) -Sphere_ = geompy.MakeSphereR(1.111111111111111) -Multi_Translation_2_ = geompy.MakeMultiTranslation2D(Sphere_, OX, 2, 3, OY, 2, 3) -Multi_Translation_3_ = geompy.MakeMultiTranslation1D(Multi_Translation_2_, OZ, 2, 3) -[geomObj_3,geomObj_4,geomObj_5,geomObj_6,geomObj_7,geomObj_8,geomObj_9,geomObj_10,geomObj_11,geomObj_12,geomObj_13,geomObj_14,geomObj_15,geomObj_16,geomObj_17,geomObj_18,geomObj_19,geomObj_20,geomObj_21,geomObj_22,geomObj_23,geomObj_24,geomObj_25,geomObj_26,geomObj_27,geomObj_28,geomObj_29] = geompy.ExtractShapes(Multi_Translation_3_, geompy.ShapeType["SOLID"], True) -Pore1_ = geompy.MakeCutList(Translation_2, [Multi_Translation_3_]) -Pore2_ = geompy.MakeCutList(Extrusion_1, [Multi_Translation_3_]) -Pore3_ = geompy.MakeCutList(Extrusion_2, [Multi_Translation_3_]) -Cut_V_ = geompy.MakeCutList(Pore1_, [Pore3_]) -Pore4_ = geompy.MakeCutList(Extrusion_3, [Multi_Translation_3_]) -grains = geompy.MakeFuseList([geomObj_3, geomObj_4, geomObj_5, geomObj_6, geomObj_7, geomObj_8, geomObj_9, geomObj_10, geomObj_11, geomObj_12, geomObj_13, geomObj_14, geomObj_15, geomObj_16, geomObj_17, geomObj_18, geomObj_19, geomObj_20, geomObj_21, geomObj_22, geomObj_23, geomObj_24, geomObj_25, geomObj_26, geomObj_27, geomObj_28, geomObj_29], False, False) -geomObj_30 = geompy.MakeMarker(0, 0, 0, 1, 0, 0, 0, 1, 0) - -sk = geompy.Sketcher3D() -sk.addPointsAbsolute(2, 0, 0) -sk.addPointsAbsolute(0, 2, 0) -sk.addPointsAbsolute(0, 2, 2) -sk.addPointsAbsolute(2, 0, 2) -sk.addPointsAbsolute(2, 0, 0) -a3D_Sketcher_1_1 = sk.wire() -Face_3 = geompy.MakeFaceWires([a3D_Sketcher_1_1], 0) -Vector_Normal_1 = geompy.GetNormal(Face_3) -cuban = geompy.MakePrismVecH(Face_3, Vector_Normal_1, 2) - -inlet = geompy.CreateGroup(cuban, geompy.ShapeType["FACE"]) -geompy.UnionIDs(inlet, [31]) -outlet = geompy.CreateGroup(cuban, geompy.ShapeType["FACE"]) -geompy.UnionIDs(outlet, [33]) -sp1 = geompy.CreateGroup(cuban, geompy.ShapeType["FACE"]) -geompy.UnionIDs(sp1, [20]) -sp2 = geompy.CreateGroup(cuban, geompy.ShapeType["FACE"]) -geompy.UnionIDs(sp2, [3]) -sp3 = geompy.CreateGroup(cuban, geompy.ShapeType["FACE"]) -geompy.UnionIDs(sp3, [27]) -sp4 = geompy.CreateGroup(cuban, geompy.ShapeType["FACE"]) -geompy.UnionIDs(sp4, [13]) - -Cut_1 = geompy.MakeCutList(cuban, [grains]) -Cut_2 = geompy.MakeCutList(inlet, [grains]) -[geomObj_31] = geompy.SubShapeAll(Cut_2, geompy.ShapeType["FACE"]) -Cut_3 = geompy.MakeCutList(outlet, [grains]) -Cut_4 = geompy.MakeCutList(sp1, [grains]) -Cut_5 = geompy.MakeCutList(sp2, [grains]) -Cut_6 = geompy.MakeCutList(sp3, [grains]) -Cut_7 = geompy.MakeCutList(sp4, [grains]) -geomObj_32 = geompy.GetInPlace(Cut_1, Cut_2, True) -[geomObj_33] = geompy.SubShapeAll(geomObj_32, geompy.ShapeType["FACE"]) -[geomObj_34] = geompy.SubShapeAll(geomObj_32, geompy.ShapeType["FACE"]) -inlet_1 = geompy.CreateGroup(Cut_1, geompy.ShapeType["FACE"]) -geompy.UnionIDs(inlet_1, [13]) -geomObj_35 = geompy.GetInPlace(Cut_1, Cut_3, True) -[geomObj_36] = geompy.SubShapeAll(geomObj_35, geompy.ShapeType["FACE"]) -[geomObj_37] = geompy.SubShapeAll(geomObj_35, geompy.ShapeType["FACE"]) -outlet_1 = geompy.CreateGroup(Cut_1, geompy.ShapeType["FACE"]) -geompy.UnionIDs(outlet_1, [101]) - -geometry1 = Pore1_ -geometry2 = Pore4_ -geompy.addToStudy( O, 'O' ) -geompy.addToStudy( OX, 'OX' ) -geompy.addToStudy( OY, 'OY' ) -geompy.addToStudy( OZ, 'OZ' ) -geompy.addToStudy( Box_1, 'Box_1' ) -geompy.addToStudy( Rotation_1, 'Rotation_1' ) -geompy.addToStudy( Translation_2, 'Translation_2' ) -geompy.addToStudy( Vertex_1, 'Vertex_1' ) -geompy.addToStudy( Vertex_2, 'Vertex_2' ) -geompy.addToStudy( Vertex_3, 'Vertex_3' ) -geompy.addToStudy( Line_1, 'Line_1' ) -geompy.addToStudy( a3D_Sketcher_1, 'a3D_Sketcher_1' ) -geompy.addToStudy( Face_1, 'Face_1' ) -geompy.addToStudy( Vector_1, 'Vector_1' ) -geompy.addToStudy( Extrusion_1, 'Extrusion_1' ) -geompy.addToStudy( a3D_Sketcher_2, 'a3D_Sketcher_2' ) -geompy.addToStudy( Face_2, 'Face_2' ) -geompy.addToStudy( Extrusion_2, 'Extrusion_2' ) -geompy.addToStudy( a3D_Sketcher_3, 'a3D_Sketcher_3' ) -geompy.addToStudy( Vector_2, 'Vector_2' ) -geompy.addToStudy( Extrusion_3, 'Extrusion_3' ) -geompy.addToStudy( Sphere_, 'Sphere_' ) -geompy.addToStudy( Multi_Translation_2_, 'Multi-Translation_2_' ) -geompy.addToStudy( Multi_Translation_3_, 'Multi-Translation_3_' ) -geompy.addToStudy( Pore1_, 'Pore1_' ) -geompy.addToStudy( Pore2_, 'Pore2_' ) -geompy.addToStudy( Pore3_, 'Pore3_' ) -geompy.addToStudy( Cut_V_, 'Cut_V_' ) -geompy.addToStudy( Pore4_, 'Pore4_' ) -geompy.addToStudy( grains, 'grains' ) -geompy.addToStudy( a3D_Sketcher_1_1, '3D Sketcher_1' ) -geompy.addToStudy( Face_3, 'Face_3' ) -geompy.addToStudy( Vector_Normal_1, 'Vector_Normal_1' ) -geompy.addToStudy( cuban, 'cuban' ) -geompy.addToStudyInFather( cuban, inlet, 'inlet' ) -geompy.addToStudyInFather( cuban, outlet, 'outlet' ) -geompy.addToStudyInFather( cuban, sp1, 'sp1' ) -geompy.addToStudyInFather( cuban, sp2, 'sp2' ) -geompy.addToStudyInFather( cuban, sp3, 'sp3' ) -geompy.addToStudyInFather( cuban, sp4, 'sp4' ) -geompy.addToStudy( Cut_1, 'Cut_1' ) -geompy.addToStudy( Cut_2, 'Cut_2' ) -geompy.addToStudy( Cut_3, 'Cut_3' ) -geompy.addToStudy( Cut_4, 'Cut_4' ) -geompy.addToStudy( Cut_5, 'Cut_5' ) -geompy.addToStudy( Cut_6, 'Cut_6' ) -geompy.addToStudy( Cut_7, 'Cut_7' ) -geompy.addToStudyInFather( Cut_1, inlet_1, 'inlet' ) -geompy.addToStudyInFather( Cut_1, outlet_1, 'outlet' ) - - -if salome.sg.hasDesktop(): - salome.sg.updateObjBrowser() diff --git a/temp/tools/changeInitial.sh b/temp/tools/changeInitial.sh deleted file mode 100755 index a707823..0000000 --- a/temp/tools/changeInitial.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env bash - -for n in {0..3}; do - - foamDictionary "processor${n}/0/U" -entry boundaryField.inlet.type -set pressureInletVelocity - foamDictionary "processor${n}/0/U" -entry boundaryField.inlet.value -set 'uniform (0 0 0)' -done diff --git a/temp/tools/run.sh b/temp/tools/run.sh deleted file mode 100755 index d532238..0000000 --- a/temp/tools/run.sh +++ /dev/null @@ -1,37 +0,0 @@ -#!/usr/bin/env bash - -path=. -#build/simple-cubic/0.1 - -# python src/genmesh.py -# python src/prefoam.py - -# Clean case directory -rm -rf postProcessing processor* *.log logs *.obj constant/polyMesh - -# Export and transform mesh -ideasUnvToFoam -case $path mesh.unv -transformPoints -scale '(1e-5 1e-5 1e-5)' -#polyDualMesh 70 -overwrite -checkMesh -case $path -allGeometry -allTopology > checkMesh.log - -# Change boundary type for mesh -foamDictionary -case $path constant/polyMesh/boundary -entry entry0.wall.type -set wall - -# Case decomposition -decomposePar -case $path - -# Initial approximation -mpirun -np 4 --oversubscribe potentialFoam -case $path -parallel | tee -a $path/potentialFoam.log - -# Change boundary type for simpleFoam -for n in {0..3}; do - - foamDictionary "processor${n}/0/U" -entry boundaryField.inlet.type -set pressureInletVelocity - foamDictionary "processor${n}/0/U" -entry boundaryField.inlet.value -set 'uniform (0 0 0)' -done - -sleep 2 -# Main calculation -mpirun -np 4 --oversubscribe simpleFoam -parallel -case $path | tee -a $path/simpleFoam.log -