From d47a7b9c3a7eda90c2288e578e2d2b39dc6e6c97 Mon Sep 17 00:00:00 2001 From: gdd Date: Mon, 27 Sep 2010 15:17:08 +0000 Subject: [PATCH] Merge from branch BR_pypkg (python packaging) --- configure.ac | 12 +- doc/Makefile.am | 2 +- doc/docutils/Makefile.am | 92 ++ doc/docutils/conf.py | 200 ++++ doc/docutils/docapi.rst | 43 + .../images/salome-geom-structuralelements.png | Bin 0 -> 171661 bytes doc/docutils/index.rst | 14 + doc/docutils/overview.rst | 38 + .../images/salome-geom-structuralelements.png | Bin 0 -> 171661 bytes doc/salome/gui/GEOM/input/geompypkg.doc | 44 + doc/salome/gui/GEOM/input/index.doc | 3 + src/GEOM_PY/Makefile.am | 27 + src/GEOM_PY/__init__.py | 1 + src/GEOM_PY/geomtools.py | 115 +++ src/GEOM_PY/structelem/Makefile.am | 26 + src/GEOM_PY/structelem/__init__.py | 486 +++++++++ src/GEOM_PY/structelem/orientation.py | 249 +++++ src/GEOM_PY/structelem/parts.py | 969 ++++++++++++++++++ src/Makefile.am | 4 +- 19 files changed, 2321 insertions(+), 4 deletions(-) create mode 100644 doc/docutils/Makefile.am create mode 100644 doc/docutils/conf.py create mode 100644 doc/docutils/docapi.rst create mode 100644 doc/docutils/images/salome-geom-structuralelements.png create mode 100644 doc/docutils/index.rst create mode 100644 doc/docutils/overview.rst create mode 100644 doc/salome/gui/GEOM/images/salome-geom-structuralelements.png create mode 100644 doc/salome/gui/GEOM/input/geompypkg.doc create mode 100644 src/GEOM_PY/Makefile.am create mode 100644 src/GEOM_PY/__init__.py create mode 100644 src/GEOM_PY/geomtools.py create mode 100644 src/GEOM_PY/structelem/Makefile.am create mode 100644 src/GEOM_PY/structelem/__init__.py create mode 100644 src/GEOM_PY/structelem/orientation.py create mode 100644 src/GEOM_PY/structelem/parts.py diff --git a/configure.ac b/configure.ac index ef4855a21..e5cd6f127 100644 --- a/configure.ac +++ b/configure.ac @@ -316,6 +316,13 @@ echo CHECK_HTML_GENERATORS +echo +echo --------------------------------------------- +echo testing sphinx +echo --------------------------------------------- +echo +CHECK_SPHINX + echo echo --------------------------------------------- echo Testing Kernel @@ -333,7 +340,7 @@ echo echo Configure if test "${gui_ok}" = "yes"; then - variables="cc_ok lex_yacc_ok python_ok swig_ok threads_ok OpenGL_ok qt_ok vtk_ok hdf5_ok omniORB_ok boost_ok occ_ok doxygen_ok graphviz_ok Kernel_ok gui_ok" + variables="cc_ok lex_yacc_ok python_ok swig_ok threads_ok OpenGL_ok qt_ok vtk_ok hdf5_ok omniORB_ok boost_ok occ_ok doxygen_ok graphviz_ok sphinx_ok Kernel_ok gui_ok" elif test "${SalomeGUI_need}" != "no"; then variables="cc_ok lex_yacc_ok python_ok swig_ok threads_ok vtk_ok hdf5_ok omniORB_ok boost_ok occ_ok doxygen_ok graphviz_ok Kernel_ok gui_ok" else @@ -381,6 +388,7 @@ AC_OUTPUT([ \ bin/Makefile \ GEOM_version.h \ doc/Makefile \ + doc/docutils/Makefile \ doc/salome/Makefile \ doc/salome/gui/Makefile \ doc/salome/gui/GEOM/Makefile \ @@ -415,6 +423,8 @@ AC_OUTPUT([ \ src/GEOM_I_Superv/Makefile \ src/GEOM_SWIG/Makefile \ src/GEOM_SWIG_WITHIHM/Makefile \ + src/GEOM_PY/Makefile \ + src/GEOM_PY/structelem/Makefile \ src/GenerationGUI/Makefile \ src/GroupGUI/Makefile \ src/IGESExport/Makefile \ diff --git a/doc/Makefile.am b/doc/Makefile.am index f40fb81a5..6cf4c8ea2 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -24,7 +24,7 @@ # $Header$ # source path # -SUBDIRS = salome +SUBDIRS = salome docutils usr_docs: (cd salome && $(MAKE) $(AM_MAKEFLAGS) usr_docs) diff --git a/doc/docutils/Makefile.am b/doc/docutils/Makefile.am new file mode 100644 index 000000000..a85de6cef --- /dev/null +++ b/doc/docutils/Makefile.am @@ -0,0 +1,92 @@ +# -*- coding: iso-8859-1 -*- +# Copyright (C) 2007-2010 CEA/DEN, EDF R&D, OPEN CASCADE +# +# Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com + +include $(top_srcdir)/adm_local/unix/make_common_starter.am + +pydocdir = $(docdir)/tui/GEOM/docutils + +.PHONY : latex + +if SPHINX_IS_OK + +pydoc_DATA=html/index.html +html/index.html:$(RSTFILES) + make htm + +endif + +EXTRA_DIST+= html + +SPHINXOPTS = +SOURCEDIR = $(srcdir) +SPHINXBUILD = sphinx-build +PAPEROPT_a4 = -D latex_paper_size=a4 +ALLSPHINXOPTS = -d doctrees $(PAPEROPT_a4) $(SPHINXOPTS) $(SOURCEDIR) + +SPHINX_PYTHONPATH = $(prefix)/lib/python$(PYTHON_VERSION)/site-packages/salome:$(KERNEL_ROOT_DIR)/bin/salome:$(KERNEL_ROOT_DIR)/lib/python$(PYTHON_VERSION)/site-packages/salome:$(OMNIORB_ROOT)/lib/python$(PYTHON_VERSION)/site-packages + +SPHINX_LD_LIBRARY_PATH = $(OMNIORB_ROOT)/lib + +htm: + mkdir -p html doctrees + PYTHONPATH=$(SPHINX_PYTHONPATH):${PYTHONPATH}; \ + LD_LIBRARY_PATH=$(SPHINX_LD_LIBRARY_PATH):${LD_LIBRARY_PATH}; \ + $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) html + @echo + @echo "Build finished. The HTML pages are in html." + +latex: + mkdir -p latex doctrees + PYTHONPATH=$(SPHINX_PYTHONPATH):${PYTHONPATH}; \ + LD_LIBRARY_PATH=$(SPHINX_LD_LIBRARY_PATH):${LD_LIBRARY_PATH}; \ + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) latex + @echo + @echo "Build finished; the LaTeX files are in latex." + @echo "Run \`make all-pdf' or \`make all-ps' in that directory to" \ + "run these through (pdf)latex." + +html: + mkdir -p $@ + +RSTFILES= \ + index.rst \ + overview.rst \ + docapi.rst + +EXTRA_DIST+= $(RSTFILES) + +EXTRA_DIST+= \ + conf.py + +install-data-local: + $(INSTALL) -d $(pydocdir) + if test -d "html"; then b=; else b="$(srcdir)/"; fi; \ + cp -rf $$b"html"/* $(pydocdir) ; \ + if test -f $$b"latex"/geompy.pdf; then cp -f $$b"latex"/geompy.pdf $(pydocdir) ; fi; + +uninstall-local: + chmod -R +w $(pydocdir) + rm -rf $(pydocdir)/* + +clean-local: + -rm -rf html latex doctrees + if test -d "html"; then rm -rf html ; fi diff --git a/doc/docutils/conf.py b/doc/docutils/conf.py new file mode 100644 index 000000000..5afa71b2f --- /dev/null +++ b/doc/docutils/conf.py @@ -0,0 +1,200 @@ +# -*- coding: iso-8859-1 -*- +# +# yacs documentation build configuration file, created by +# sphinx-quickstart on Fri Aug 29 09:57:25 2008. +# +# This file is execfile()d with the current directory set to its containing dir. +# +# The contents of this file are pickled, so don't put values in the namespace +# that aren't pickleable (module imports are okay, they're removed automatically). +# +# All configuration values have a default; values that are commented out +# serve to show the default. + +import sys, os + +# If your extensions are in another directory, add it here. If the directory +# is relative to the documentation root, use os.path.abspath to make it +# absolute, like shown here. +#sys.path.append(os.path.abspath('.')) + +# General configuration +# --------------------- + +# Add any Sphinx extension module names here, as strings. They can be extensions +# coming with Sphinx (named 'sphinx.ext.*') or your custom ones. +extensions = ['sphinx.ext.autodoc'] + +# Uncomment the following line to build the links with Python documentation +# (you might need to set http_proxy environment variable for this to work) +#extensions += ['sphinx.ext.intersphinx'] + +# Intersphinx mapping to add links to modules and objects in the Python +# standard library documentation +intersphinx_mapping = {'http://docs.python.org': None} + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# The suffix of source filenames. +source_suffix = '.rst' + +# The encoding of source files. +source_encoding = 'utf-8' + +# The master toctree document. +master_doc = 'index' + +# General information about the project. +project = 'GEOM python packages' +copyright = '2010 EDF R&D' + +# The version info for the project you're documenting, acts as replacement for +# |version| and |release|, also used in various other places throughout the +# built documents. +# +# The short X.Y version. +version = '5.1.4' +# The full version, including alpha/beta/rc tags. +release = '5.1.4' + +# The language for content autogenerated by Sphinx. Refer to documentation +# for a list of supported languages. +language = 'en' + +# There are two options for replacing |today|: either, you set today to some +# non-false value, then it is used: +#today = '' +# Else, today_fmt is used as the format for a strftime call. +#today_fmt = '%B %d, %Y' + +# List of documents that shouldn't be included in the build. +#unused_docs = [] + +# List of directories, relative to source directory, that shouldn't be searched +# for source files. +exclude_trees = ['.build','ref','images','CVS','.svn'] + +# The reST default role (used for this markup: `text`) to use for all documents. +#default_role = None + +# If true, '()' will be appended to :func: etc. cross-reference text. +#add_function_parentheses = True + +# If true, the current module name will be prepended to all description +# unit titles (such as .. function::). +#add_module_names = True + +# If true, sectionauthor and moduleauthor directives will be shown in the +# output. They are ignored by default. +#show_authors = False + +# The name of the Pygments (syntax highlighting) style to use. +pygments_style = 'sphinx' + + +# Options for HTML output +# ----------------------- + +# The theme to use for HTML and HTML Help pages. Major themes that come with +# Sphinx are currently 'default' and 'sphinxdoc'. +html_theme = 'default' +#html_theme = 'nature' +#html_theme = 'agogo' +#html_theme = 'sphinxdoc' +#html_theme = 'omadoc' + +# Add any paths that contain custom themes here, relative to this directory. +#html_theme_path = ['themes'] + +# The name for this set of Sphinx documents. If None, it defaults to +# " v documentation". +#html_title = None + +# A shorter title for the navigation bar. Default is the same as html_title. +#html_short_title = None + +# The name of an image file (relative to this directory) to place at the top +# of the sidebar. +#html_logo = None + +# The name of an image file (within the static path) to use as favicon of the +# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 +# pixels large. +#html_favicon = None + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +#html_static_path = ['_static'] + +# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, +# using the given strftime format. +#html_last_updated_fmt = '%b %d, %Y' + +# If true, SmartyPants will be used to convert quotes and dashes to +# typographically correct entities. +#html_use_smartypants = True + +# Custom sidebar templates, maps document names to template names. +#html_sidebars = {} + +# Additional templates that should be rendered to pages, maps page names to +# template names. +#html_additional_pages = {} + +# If false, no module index is generated. +html_use_modindex = False + +# If false, no index is generated. +#html_use_index = True + +# If true, the index is split into individual pages for each letter. +#html_split_index = False + +# If true, the reST sources are included in the HTML build as _sources/. +html_copy_source = True + +# If true, an OpenSearch description file will be output, and all pages will +# contain a tag referring to it. The value of this option must be the +# base URL from which the finished HTML is served. +#html_use_opensearch = '' + +# If nonempty, this is the file name suffix for HTML files (e.g. ".xhtml"). +#html_file_suffix = '' + +# Output file base name for HTML help builder. +htmlhelp_basename = 'geompydoc' + + +# Options for LaTeX output +# ------------------------ + +# The paper size ('letter' or 'a4'). +latex_paper_size = 'a4' + +# The font size ('10pt', '11pt' or '12pt'). +latex_font_size = '10pt' + +# Grouping the document tree into LaTeX files. List of tuples +# (source start file, target name, title, author, document class [howto/manual]). +latex_documents = [ + ('index', 'geompy.tex', 'Documentation of the GEOM python packages', 'EDF R\&D', 'manual') +] + +# The name of an image file (relative to this directory) to place at the top of +# the title page. +latex_logo = '../salome/tui/images/head.png' + +# For "manual" documents, if this is true, then toplevel headings are parts, +# not chapters. +#latex_use_parts = True + +# Additional stuff for the LaTeX preamble. +#latex_preamble = '' + +# Documents to append as an appendix to all manuals. +#latex_appendices = [] + +# If false, no module index is generated. +latex_use_modindex = False diff --git a/doc/docutils/docapi.rst b/doc/docutils/docapi.rst new file mode 100644 index 000000000..20a52ca80 --- /dev/null +++ b/doc/docutils/docapi.rst @@ -0,0 +1,43 @@ + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + Documentation of the programming interface (API) +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +This section describes the python packages and modules of the +``salome.geom`` python package. The main part is generated from the +code documentation included in source python files. + +:mod:`salome.geom` -- Package containing the GEOM python utilities +================================================================== + +:mod:`geomtools` -- Tools to access GEOM engine and objects +----------------------------------------------------------- + +.. automodule:: salome.geom.geomtools + :members: + +:mod:`structelem` -- Structural elements package +------------------------------------------------ + +.. automodule:: salome.geom.structelem + +.. autoclass:: StructuralElementManager + :members: + +.. autoclass:: StructuralElement + :members: + +:mod:`structelem.parts` -- Structural element parts +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. automodule:: salome.geom.structelem.parts + :members: + :undoc-members: + :show-inheritance: + +:mod:`structelem.orientation` -- Structural element orientation +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. automodule:: salome.geom.structelem.orientation + :members: + :undoc-members: diff --git a/doc/docutils/images/salome-geom-structuralelements.png b/doc/docutils/images/salome-geom-structuralelements.png new file mode 100644 index 0000000000000000000000000000000000000000..6ed41b12f9ace3c5ac932c478fdef0d35a64c349 GIT binary patch literal 171661 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 z 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 literal 0 HcmV?d00001 diff --git a/doc/docutils/index.rst b/doc/docutils/index.rst new file mode 100644 index 000000000..81e4f24aa --- /dev/null +++ b/doc/docutils/index.rst @@ -0,0 +1,14 @@ + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + Documentation of the GEOM python packages +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +Main documentation +================== + +.. toctree:: + :maxdepth: 3 + + overview.rst + docapi.rst + diff --git a/doc/docutils/overview.rst b/doc/docutils/overview.rst new file mode 100644 index 000000000..3ca3a4b20 --- /dev/null +++ b/doc/docutils/overview.rst @@ -0,0 +1,38 @@ + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +General presentation of the GEOM python package +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +The GEOM python package essentially contains: + +* The visualization of structural elements: a function to create + geometrical 3D representations of mechanical models called + "structural elements". + +Note that these functions either encapsulate the python programming +interface of GEOM core (the CORBA or SWIG interfaces for example) or +extend existing utilities as the ``geompy.py`` module. + +The functions are distributed in the python package +``salome.geom``. For example, the usage of the visualization of +structural elements can be appreciated with this set of instructions: + +.. code-block:: python + + from salome.geom.structelem import TEST_StructuralElement + TEST_StructuralElement() + +This creates the geometrical objects displayed in the study below: + +.. image:: /images/salome-geom-structuralelements.png + :align: center + +The specification of the programming interface of this package is +detailled in the part :doc:`Documentation of the programming interface +(API)` of this documentation. + +.. note:: + The main package ``salome`` contains other sub-packages that are + distributed with the other SALOME modules. For example, the KERNEL + module provides the python package ``salome.kernel`` and SMESH the + package ``salome.smesh``. diff --git a/doc/salome/gui/GEOM/images/salome-geom-structuralelements.png b/doc/salome/gui/GEOM/images/salome-geom-structuralelements.png new file mode 100644 index 0000000000000000000000000000000000000000..6ed41b12f9ace3c5ac932c478fdef0d35a64c349 GIT binary patch literal 171661 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 z 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 literal 0 HcmV?d00001 diff --git a/doc/salome/gui/GEOM/input/geompypkg.doc b/doc/salome/gui/GEOM/input/geompypkg.doc new file mode 100644 index 000000000..bd507959a --- /dev/null +++ b/doc/salome/gui/GEOM/input/geompypkg.doc @@ -0,0 +1,44 @@ +/*! + +\page geompypkg_page Programming Interface of GEOM python package + +Sorry, but the documentation is not available yet in doxygen format. + +Fortunately, a documentation exists in restructured format and then +can be generated here using sphinx, in the expectative of the doxygen +version. This documentation is available +here. + +Here is a sample generated from the doxygen format: + +The GEOM python package essentially contains: + +
    +
  • The visualization of structural elements: a function to create + geometrical 3D representations of mechanical models called + "structural elements". +
+ +For details, you should refer to the complete + documentation of the GEOM +python packages generated with sphinx from rst text files. + +Note that these functions either encapsulate the python programming +interface of GEOM core (the CORBA or SWIG interfaces for example) or +extend existing utilities as the ``geompy.py`` module. + +The functions are distributed in the python package +``salome.geom``. For example, the usage of the visualization of +structural elements can be appreciated with this set of instructions: + +\code + + from salome.geom.structelem import TEST_StructuralElement + TEST_StructuralElement() +\endcode + +This creates the geometrical objects displayed in the study below: + +\image html salome-geom-structuralelements.png "Example of Geometry created from structural elements" + +*/ diff --git a/doc/salome/gui/GEOM/input/index.doc b/doc/salome/gui/GEOM/input/index.doc index d28e8c343..f612e7108 100644 --- a/doc/salome/gui/GEOM/input/index.doc +++ b/doc/salome/gui/GEOM/input/index.doc @@ -23,6 +23,9 @@ various algorithms; Almost all geometry module functionalities are accessible via \subpage geompy_page "Geometry module Python Interface" +\n Have a look also at the + documentation of the GEOM python packages + \image html image3.png "Example of Geometry module usage for engineering tasks" diff --git a/src/GEOM_PY/Makefile.am b/src/GEOM_PY/Makefile.am new file mode 100644 index 000000000..a3b6695e7 --- /dev/null +++ b/src/GEOM_PY/Makefile.am @@ -0,0 +1,27 @@ +# Copyright (C) 2007-2010 CEA/DEN, EDF R&D, OPEN CASCADE +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# + +include $(top_srcdir)/adm_local/unix/make_common_starter.am + +SUBDIRS= structelem + +salomepypkgdir = $(salomepythondir)/salome/geom +salomepypkg_PYTHON = \ + __init__.py \ + geomtools.py diff --git a/src/GEOM_PY/__init__.py b/src/GEOM_PY/__init__.py new file mode 100644 index 000000000..5d3edfa55 --- /dev/null +++ b/src/GEOM_PY/__init__.py @@ -0,0 +1 @@ +# -*- coding: iso-8859-1 -*- diff --git a/src/GEOM_PY/geomtools.py b/src/GEOM_PY/geomtools.py new file mode 100644 index 000000000..9693525f8 --- /dev/null +++ b/src/GEOM_PY/geomtools.py @@ -0,0 +1,115 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2007-2009 EDF R&D +# +# This file is part of PAL_SRC. +# +# PAL_SRC is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# PAL_SRC is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with PAL_SRC; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# +""" +This module provides tools to facilitate the use of geom engine and geom +objects in Salome. +""" + +import salome +GEOM = None # GEOM module is loaded only when needed + +from salome.kernel.logger import Logger +from salome.kernel import termcolor +logger = Logger("salome.geom.geomtools", color = termcolor.RED) + +from salome.kernel.studyedit import getActiveStudyId, getStudyEditor + +_geompys = {} + +def getGeompy(studyId = None): + """ + Return an object behaving exactly like geompy module, except that it is + associated with the study `studyId`. If `studyId` is :const:`None`, return + a pseudo geompy object for the current study. + """ + # We can't use geompy module because it initializes GEOM with + # salome.myStudy, which may not exist. So we use this trick to create + # a pseudo geompy module. + salome.salome_init() + if studyId is None: + studyId = getActiveStudyId() + if not _geompys.has_key(studyId): + import geompyDC + _geompys[studyId] = salome.lcc.FindOrLoadComponent("FactoryServer", + "GEOM") + _geompys[studyId].ShapeType = geompyDC.ShapeType + _geompys[studyId].GEOM = geompyDC.GEOM + _geompys[studyId].kind = geompyDC.kind + _geompys[studyId].info = geompyDC.info + _geompys[studyId].PackData = geompyDC.PackData + _geompys[studyId].ReadTexture = geompyDC.ReadTexture + study = salome.myStudyManager.GetStudyByID(studyId) + _geompys[studyId].init_geom(study) + return _geompys[studyId] + + +class GeomStudyTools: + """ + This class provides several methods to manipulate geom objects in Salome + study. The parameter `studyEditor` defines a + :class:`~salome.kernel.studyedit.StudyEditor` object used to access the study. If + :const:`None`, the method returns a :class:`~salome.kernel.studyedit.StudyEditor` + object on the current study. + + .. attribute:: editor + + This instance attribute contains the underlying + :class:`~salome.kernel.studyedit.StudyEditor` object. It can be used to access + the study but the attribute itself should not be modified. + + """ + + def __init__(self, studyEditor = None): + global GEOM + if GEOM is None: + GEOM = __import__("GEOM") + if studyEditor is None: + studyEditor = getStudyEditor() + self.editor = studyEditor + + def displayShapeByName(self, shapeName, color = None): + """ + Display the geometrical shape whose name in the study is `shapeName`. + + :type shapeName: string + :param shapeName: name of the geometrical shape + + :type color: tuple (triplet) + :param color: RGB components of the color of the shape + + :return: True if the shape was found, False otherwise + """ + logger.debug("displayShapeByName in PAL: %s with color %s" % + (shapeName, color)) + listSO = self.editor.study.FindObjectByName(shapeName, "GEOM") + for sObj in listSO: + entry = sObj.GetID() + geomObj = self.editor.getOrLoadObject(sObj) + if geomObj: + shape = geomObj._narrow(GEOM.GEOM_Object) + if shape: + geomgui = salome.ImportComponentGUI("GEOM") + geomgui.createAndDisplayGO(entry) + geomgui.setDisplayMode(entry, 1) + if color is not None: + geomgui.setColor(entry, color[0], color[1], color[2]) + return True + return False diff --git a/src/GEOM_PY/structelem/Makefile.am b/src/GEOM_PY/structelem/Makefile.am new file mode 100644 index 000000000..cea34db04 --- /dev/null +++ b/src/GEOM_PY/structelem/Makefile.am @@ -0,0 +1,26 @@ +# Copyright (C) 2007-2010 CEA/DEN, EDF R&D, OPEN CASCADE +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# + +include $(top_srcdir)/adm_local/unix/make_common_starter.am + +salomepypkgdir = $(salomepythondir)/salome/geom/structelem +salomepypkg_PYTHON = \ + __init__.py \ + parts.py \ + orientation.py diff --git a/src/GEOM_PY/structelem/__init__.py b/src/GEOM_PY/structelem/__init__.py new file mode 100644 index 000000000..e713832a5 --- /dev/null +++ b/src/GEOM_PY/structelem/__init__.py @@ -0,0 +1,486 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2007-2009 EDF R&D +# +# This file is part of PAL_SRC. +# +# PAL_SRC is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# PAL_SRC is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with PAL_SRC; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# +""" +This package is used to create and visualize structural elements. It contains +three modules: + +* This module :mod:`salome.geom.structelem` defines the main classes + :class:`StructuralElement` and :class:`StructuralElementManager` that can be + directly used to build structural elements. +* The module :mod:`salome.geom.structelem.parts` defines the classes corresponding to + the different parts (beams, grids, etc.) that make up a structural element. + It is used to build the geometric shapes in the structural element. +* The module :mod:`salome.geom.structelem.orientation` defines the classes that are + used to compute the orientation of the structural element parts and to build + the corresponding markers. + +A structural element is a set of geometric shapes (beams, grids, etc.) that +are built semi-automatically along a set of geometric primitives (edges for +instance). They are visualized with the same color as their base primitives in +the geom viewer. + +Structural elements are generally created by the +:class:`StructuralElementManager` class, from a list of commands describing +the element to create. + +Example:: + + commandList = [('VisuPoutreGenerale', {'Group_Maille': 'Edge_1'}), + ('VisuBarreCercle', + {'R': 30, 'Group_Maille': 'Edge_1', 'EP': 15}), + ] + + structElemManager = StructuralElementManager() + elem = structElemManager.createElement(commandList) + elem.display() + salome.sg.updateObjBrowser(True) + +""" + +import types + +import salome + +from salome.kernel.logger import Logger +from salome.kernel import termcolor +logger = Logger("salome.geom.structelem", color = termcolor.RED) +from salome.kernel.studyedit import getStudyEditor + +__all__ = ["parts", "orientation"] + +from salome.geom.structelem import parts +from salome.geom.structelem.parts import InvalidParameterError + +class StructuralElementManager: + """ + This class manages the structural elements in the study. It is used to + create a new structural element from a list of commands. The parameter + `studyId` defines the ID of the study in which the manager will create + structural elements. If it is :const:`None` or not specified, it will use + the ID of the current study as defined by + :func:`salome.kernel.studyedit.getActiveStudyId` function. + """ + def __init__(self, studyId = None): + self._studyEditor = getStudyEditor(studyId) + + def createElement(self, commandList): + """ + Create a structural element from the list of commands `commandList`. + Each command in this list represent a part of the structural element, + that is a specific kind of shape (circular beam, grid, etc.) + associated with one or several geometrical primitives. A command must + be a tuple. The first element is the structural element part class + name or alias name. The second element is a dictionary containing the + parameters describing the part. Valid class names are all the classes + defined in the module :mod:`~salome.geom.structelem.parts` and inheriting + class :class:`~parts.StructuralElementPart`. There are also several + aliases for backward compatibility. Here is the complete list: + + * :class:`~parts.GeneralBeam` + * :class:`~parts.CircularBeam` + * :class:`~parts.RectangularBeam` + * :class:`~parts.ThickShell` + * :class:`~parts.Grid` + + * :func:`~parts.VisuPoutreGenerale` (alias for + :class:`~parts.GeneralBeam`) + * :func:`~parts.VisuPoutreCercle` (alias for + :class:`~parts.CircularBeam`) + * :func:`~parts.VisuPoutreRectangle` (alias for + :class:`~parts.RectangularBeam`) + * :func:`~parts.VisuBarreGenerale` (alias for + :class:`~parts.GeneralBeam`) + * :func:`~parts.VisuBarreRectangle` (alias for + :class:`~parts.RectangularBeam`) + * :func:`~parts.VisuBarreCercle` (alias for + :class:`~parts.CircularBeam`) + * :func:`~parts.VisuCable` (alias for :class:`~parts.CircularBeam`) + * :func:`~parts.VisuCoque` (alias for :class:`~parts.ThickShell`) + * :func:`~parts.VisuGrille` (alias for :class:`~parts.Grid`) + + * ``Orientation``: This identifier is used to specify the orientation + of one or several 1D structural element parts (i.e. beams). The + parameters are described in class + :class:`~orientation.Orientation1D`. + + The valid parameters in the dictionary depend on the type of the + structural element part, and are detailed in the documentation of + the corresponding class. The only parameter that is common to all the + classes is "MeshGroups" (that can also be named "Group_Maille"). It + defines the name of the geometrical object(s) in the study that will + be used as primitives to build the structural element part. This + parameter can be either a list of strings or a single string with + comma separated names. + """ + logger.debug("StructuralElementManager.createElement: START") + logger.debug("Command list: %s" % commandList) + + element = StructuralElement(self._studyEditor.studyId) + orientationCmdList = [] + for command in commandList: + (parttype, parameters) = command + if parttype == "Orientation": + orientationCmdList += [command] + elif parttype not in dir(parts): + logger.warning('Invalid structural element part name "%s"' + ' in command %s, this command will be ' + 'ignored.' % (parttype, command)) + else: + (meshGroupList, newparams) = self._extractMeshGroups(command) + for meshGroup in meshGroupList: + # Get the geometrical primitive object + groupSObj = self._studyEditor.study.FindObject(meshGroup) + groupGeomObj = None + if groupSObj is not None: + groupGeomObj = \ + self._studyEditor.getOrLoadObject(groupSObj) + if groupGeomObj is None: + logger.error("Can't get geom object corresponding to " + 'mesh group "%s", structural element ' + "part %s will not be built." % + (groupName, part)) + continue + + # Create the part + try: + part = parts.__dict__[parttype]( + self._studyEditor.studyId, meshGroup, + groupGeomObj, newparams) + element.addPart(part) + except InvalidParameterError, e: + logger.error("Invalid parameter error: %s" % e) + raise + except: + logger.exception("Can't create structural element" + " part with command %s." % + str(command)) + + # Orientations are parsed after the parts because they must be + # associated with existing parts. + for command in orientationCmdList: + (parttype, parameters) = command + (meshGroupList, orientParams) = self._extractMeshGroups(command) + for meshGroup in meshGroupList: + element.addOrientation(meshGroup, orientParams) + + element.build() + logger.debug("StructuralElementManager.createElement: END") + return element + + def _extractMeshGroups(self, command): + """ + This method extracts the names of the mesh groups (i.e. the + geometrical objects used to build the structural element part) in the + command in parameter. It returns a tuple containing the mesh groups as + a list of strings and the other parameters of the command as a new + dictionary. + """ + (parttype, parameters) = command + newparams = parameters.copy() + groupMailleParam = newparams.pop("Group_Maille", None) + meshGroupParam = newparams.pop("MeshGroups", None) + if groupMailleParam is None and meshGroupParam is None: + logger.warning("No mesh group specified in command %s, this " + "command will be ignored." % command) + return ([], newparams) + elif groupMailleParam is not None and meshGroupParam is not None: + logger.warning('Both "MeshGroups" and "Group_Maille" specified in' + ' command %s, only "MeshGroups" will be used.' % + command) + elif groupMailleParam is not None and meshGroupParam is None: + meshGroupParam = groupMailleParam + + meshGroupList = [] + if type(meshGroupParam) == types.StringType: + meshGroupList = self._getMeshGroupListFromString(meshGroupParam) + else: + for item in meshGroupParam: + meshGroupList += self._getMeshGroupListFromString(item) + + if len(meshGroupList) == 0: + logger.warning("Mesh group list is empty in command %s, this " + "command will be ignored." % command) + + return (meshGroupList, newparams) + + def _getMeshGroupListFromString(self, meshString): + """ + This method splits the string in parameter to extract comma separated + names. Those names are returned as a list of strings. + """ + meshGroupList = [] + list = meshString.split(",") + for item in list: + strippedItem = item.strip() + if len(strippedItem) > 0: + meshGroupList.append(strippedItem) + return meshGroupList + + +class StructuralElement: + """ + This class represents a structural element, i.e. a set of geometrical + objects built along geometrical primitives. The parameter `studyId` + defines the ID of the study that will contain the structural element. If + it is :const:`None` or not specified, the constructor will use the ID of + the active study as defined by :func:`salome.kernel.studyedit.getActiveStudyId` + function. Structural elements are normally created by the class + :class:`StructuralElementManager`, so this class should not be + instantiated directly in the general case. + """ + _counter = 1 + _mainFolderTag = 14725 + + def __init__(self, studyId = None): + # _parts is the dictionary mapping group name to structural element + # part. _shapeDict is the dictionary mapping SubShapeID objects to + # structural element parts. Both are used to avoid duplicate shapes + # in structural elements. + self._parts = {} + self._shapeDict = {} + self._id = StructuralElement._counter + StructuralElement._counter += 1 + self._studyEditor = getStudyEditor(studyId) + logger.debug("Creating structural element in study %s" % + self._studyEditor.studyId) + self._SObject = None + + def _getSObject(self): + """ + Find or create the study object corresponding to the structural + element. This object is named "SE_N" where N is a numerical ID. + """ + if self._SObject is None: + geomComponent = self._studyEditor.study.FindComponent("GEOM") + mainFolder = self._studyEditor.setItemAtTag(geomComponent, + StructuralElement._mainFolderTag, + name = "Structural Elements") + self._SObject = self._studyEditor.findOrCreateItem(mainFolder, + name = "SE_" + str(self._id)) + return self._SObject + + def addPart(self, newpart): + """ + Add a part to the structural element. + + :type newpart: :class:`~parts.StructuralElementPart` + :param newpart: the part to add to the structural element. + + """ + newshapes = newpart.baseShapesSet + + # Check duplicate groups + if self._parts.has_key(newpart.groupName): + logger.warning('Mesh group "%s" is used several times in the ' + 'structural element. Only the last definition ' + 'will be used.' % newpart.groupName) + else: + # Check duplicate shapes + intersect = newshapes.intersection(self._shapeDict.keys()) + while len(intersect) > 0: + shape, = intersect + oldpartwithshape = self._shapeDict[shape] + oldpartshapes = oldpartwithshape.baseShapesSet + intersectwitholdpart = intersect.intersection(oldpartshapes) + logger.warning('Some shapes are common to groups "%s" and ' + '"%s". For those, the parameters defined for ' + '"%s" will be used.' % + (oldpartwithshape.groupName, newpart.groupName, + newpart.groupName)) + oldpartwithshape.baseShapesSet = \ + oldpartshapes.difference(intersectwitholdpart) + intersect = intersect.difference(intersectwitholdpart) + + # Finally add the new part in the structural element + self._parts[newpart.groupName] = newpart + for shape in newshapes: + self._shapeDict[shape] = newpart + + def addOrientation(self, meshGroup, orientParams): + """ + Add orientation information to a part in the structural element. This + information will be used to build the corresponding markers. + + :type meshGroup: string + :param meshGroup: the name of a geometrical primitive. The orientation + information will apply to the structural element + part built along this primitive. + + :type orientParams: dictionary + :param orientParams: parameters defining the orientation of the + structural element part. Those parameters are + detailed in class + :class:`~orientation.Orientation1D`. + + """ + if self._parts.has_key(meshGroup): + self._parts[meshGroup].addOrientation(orientParams) + else: + logger.warning('Mesh group "%s" not found in structural element, ' + 'cannot set orientation.' % meshGroup) + + def build(self): + """ + Build the geometric shapes and the markers corresponding to the + different parts of the structural element, and add them to the study. + """ + gg = salome.ImportComponentGUI("GEOM") + for part in self._parts.itervalues(): + # Build the structural element part + logger.debug("Building %s" % part) + try: + (shape, markers) = part.build() + if shape is None: + logger.error("Part %s has not been built" % part) + continue + except: + logger.exception("Couldn't build part %s" % part) + continue + + # Add the new objects to the study + IOR = self._studyEditor.study.ConvertObjectToIOR(shape) + shapeSObjName = part.name + "_" + part.groupName + icon = None + if salome.hasDesktop(): + icon = gg.getShapeTypeIcon(IOR) + shapeSObj = self._studyEditor.createItem(self._getSObject(), + name = shapeSObjName, IOR = IOR, + icon = icon) + if markers is not None and len(markers) > 0: + i = 1 + for marker in markers: + markerIOR = \ + self._studyEditor.study.ConvertObjectToIOR(marker) + markerSObjName = "Orient_" + shapeSObjName + if len(markers) > 1: + markerSObjName += "_%d" % i + markerSObj = self._studyEditor.createItem( + self._getSObject(), + name = markerSObjName, + IOR = markerIOR, + icon = "ICON_OBJBROWSER_LCS") + i += 1 + + def display(self): + """ + Display the structural element in the geom view. + """ + StructuralElement.showElement(self._SObject) + + @staticmethod + def showElement(theSObject): + """ + Display the structural element corresponding to the study object + `theSObject` + """ + if theSObject is not None: + gg = salome.ImportComponentGUI("GEOM") + aStudy = theSObject.GetStudy() + editor = getStudyEditor(aStudy._get_StudyId()) + aIterator = aStudy.NewChildIterator(theSObject) + aIterator.Init() + while aIterator.More(): + sobj = aIterator.Value() + icon = editor.getIcon(sobj) + if icon != "ICON_OBJBROWSER_LCS": + entry = aIterator.Value().GetID() + gg.createAndDisplayGO(entry) + gg.setDisplayMode(entry, 1) + aIterator.Next() + + +def TEST_CreateGeometry(): + import geompy + import SALOMEDS + geompy.init_geom(salome.myStudy) + Box_1 = geompy.MakeBoxDXDYDZ(200, 200, 200) + edges = geompy.SubShapeAllSorted(Box_1, geompy.ShapeType["EDGE"]) + edges[0].SetColor(SALOMEDS.Color(1.0,0.0,0.0)) + edges[1].SetColor(SALOMEDS.Color(0.0,1.0,0.0)) + edges[2].SetColor(SALOMEDS.Color(0.0,0.0,1.0)) + edges[3].SetColor(SALOMEDS.Color(1.0,0.0,1.0)) + edges[4].SetColor(SALOMEDS.Color(0.0,1.0,1.0)) + edges[5].SetColor(SALOMEDS.Color(0.5,0.0,0.0)) + edges[6].SetColor(SALOMEDS.Color(0.0,0.5,0.0)) + edges[7].SetColor(SALOMEDS.Color(0.0,0.0,0.5)) + geompy.addToStudy(Box_1, "Box_1") + for i in range(len(edges)): + geompy.addToStudyInFather(Box_1, edges[i], "Edge_%d" % i) + faces = geompy.SubShapeAllSorted(Box_1, geompy.ShapeType["FACE"]) + faces[3].SetColor(SALOMEDS.Color(1.0,0.5,0.0)) + faces[4].SetColor(SALOMEDS.Color(0.0,1.0,0.5)) + for i in range(len(faces)): + geompy.addToStudyInFather(Box_1, faces[i], "Face_%d" % i) + Cylinder_1 = geompy.MakeCylinderRH(50, 200) + geompy.TranslateDXDYDZ(Cylinder_1, 300, 300, 0) + cyl_faces = geompy.SubShapeAllSorted(Cylinder_1, geompy.ShapeType["FACE"]) + geompy.addToStudy(Cylinder_1, "Cylinder_1") + for i in range(len(cyl_faces)): + geompy.addToStudyInFather(Cylinder_1, cyl_faces[i], "CylFace_%d" % i) + Cylinder_2 = geompy.MakeTranslation(Cylinder_1, 100, 100, 0) + cyl_faces2 = geompy.SubShapeAllSorted(Cylinder_2, + geompy.ShapeType["FACE"]) + geompy.addToStudy(Cylinder_2, "Cylinder_2") + for i in range(len(cyl_faces2)): + geompy.addToStudyInFather(Cylinder_2, cyl_faces2[i], + "CylFace2_%d" % i) + + +def TEST_StructuralElement(): + salome.salome_init() + TEST_CreateGeometry() + liste_commandes = [('Orientation', {'MeshGroups': 'Edge_4', + 'VECT_Y': (1.0, 0.0, 1.0)}), + ('Orientation', {'MeshGroups': 'Edge_5', + 'ANGL_VRIL': 45.0}), + ('GeneralBeam', {'MeshGroups': 'Edge_1, Edge_7'}), + ('VisuPoutreCercle', {'MeshGroups': ['Edge_6'], + 'R1': 30, 'R2': 20}), + ('CircularBeam', {'MeshGroups': ['Edge_2', 'Edge_3'], + 'R': 40, 'EP': 20}), + ('RectangularBeam', {'MeshGroups': 'Edge_4, Edge_5', + 'HZ1': 60, 'HY1': 40, + 'EPZ1': 15, 'EPY1': 10, + 'HZ2': 40, 'HY2': 60, + 'EPZ2': 10, 'EPY2': 15}), + ('VisuCable', {'MeshGroups': 'Edge_7', 'R': 5}), + ('VisuCoque', {'MeshGroups': 'Face_4', + 'Epais': 10, 'Excentre': 5, + 'angleAlpha': 45, 'angleBeta': 60}), + ('VisuCoque', {'MeshGroups': 'CylFace_2', 'Epais': 5}), + ('VisuGrille', {'MeshGroups': 'Face_5', 'Excentre': 5, + 'angleAlpha': 45, 'angleBeta': 60}), + ('VisuGrille', {'MeshGroups': 'CylFace2_2', + 'Excentre': 5, 'origAxeX': 400, + 'origAxeY': 400, 'origAxeZ': 0, + 'axeX': 0, 'axeY': 0, 'axeZ': 100}), + ] + + structElemManager = StructuralElementManager() + elem = structElemManager.createElement(liste_commandes) + if salome.hasDesktop(): + elem.display() + salome.sg.updateObjBrowser(True) + + +# Main function only used to test the module +if __name__ == "__main__": + TEST_StructuralElement() diff --git a/src/GEOM_PY/structelem/orientation.py b/src/GEOM_PY/structelem/orientation.py new file mode 100644 index 000000000..1bf111791 --- /dev/null +++ b/src/GEOM_PY/structelem/orientation.py @@ -0,0 +1,249 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2007-2009 EDF R&D +# +# This file is part of PAL_SRC. +# +# PAL_SRC is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# PAL_SRC is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with PAL_SRC; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# +""" +This module is used to compute the orientation of the different parts in a +structural element and to build the corresponding markers (trihedrons). +""" + +import math + +from salome.kernel.logger import Logger +from salome.kernel import termcolor +logger = Logger("__PAL_GEOM__.structelem.orientation", color = termcolor.RED) + + +class Orientation1D: + """ + This class is used to compute the orientation of 1D elements and to build + the corresponding markers. + """ + + def __init__(self): + self.geom = None + self._vectorYCoords = None + self._angle = 0.0 + + def __repr__(self): + reprdict = self.__dict__.copy() + del reprdict["geom"] + return '%s(%s)' % (self.__class__.__name__, reprdict) + + def addParams(self, params): + """ + Add orientation parameters. `params` is a dictionary containing one or + several orientation parameters. The valid parameters are: + + * "VECT_Y": Triplet defining the local Y axis (the X axis is the + main direction of the 1D element). + * "ANGL_VRIL": Angle of rotation along the X axis to define the local + coordinate system. + + The parameters can be specified several times. In this case, only the + first "VECT_Y" is taken into account, and the values of "ANGL_VRIL" + are added to obtain the total rotation angle. + """ + mydict = params.copy() + if mydict.has_key("VECT_Y"): + newVecCoords = mydict.pop("VECT_Y") + if self._vectorYCoords is None: + logger.debug("Setting orientation vector Y to %s" % + str(newVecCoords)) + self._vectorYCoords = newVecCoords + else: + logger.warning('Orientation parameter "VECT_Y" is specified ' + 'several times for the same mesh group, vector' + ' %s will be used' % str(self._vectorYCoords)) + if mydict.has_key("ANGL_VRIL"): + newAngle = mydict.pop("ANGL_VRIL") + self._angle += newAngle + logger.debug("Adding angle %f to orientation, new angle is %f." % + (newAngle, self._angle)) + if len(mydict) > 0: + logger.warning("Invalid orientation parameter(s) (ignored): %s" % + str(mydict)) + + def _buildDefaultMarker(self, center, vecX): + """ + Create the default marker, that use the main direction of the 1D + object as the local X axis and the global Z axis to determine the + local Z axis. + """ + xPoint = self.geom.MakeTranslationVector(center, vecX) + givenVecZ = self.geom.MakeVectorDXDYDZ(0.0, 0.0, 1.0) + angle = self.geom.GetAngleRadians(vecX, givenVecZ) + if abs(angle) < 1e-7 or abs(angle - math.pi) < 1e-7: + logger.warning("Beam X axis is colinear to absolute Z axis. " + "Absolute X axis will be used to determine " + "local Z axis.") + givenVecZ = self.geom.MakeVectorDXDYDZ(1.0, 0.0, 0.0) + zPoint = self.geom.MakeTranslationVector(center, givenVecZ) + locPlaneZX = self.geom.MakePlaneThreePnt(center, zPoint, xPoint, 1.0) + locY = self.geom.GetNormal(locPlaneZX) + marker = self.geom.MakeMarkerPntTwoVec(center,vecX,locY) + return marker + + def buildMarker(self, geom, center, vecX): + """ + Create a marker with origin `center` and X axis `vecX`. `geom` is the + pseudo-geompy object used to build the geometric shapes. + """ + self.geom = geom + marker = None + if self._vectorYCoords is None: + marker = self._buildDefaultMarker(center, vecX) + else: + xPoint = self.geom.MakeTranslationVector(center, vecX) + givenLocY = self.geom.MakeVectorDXDYDZ(self._vectorYCoords[0], + self._vectorYCoords[1], + self._vectorYCoords[2]) + angle = self.geom.GetAngleRadians(vecX, givenLocY) + if abs(angle) < 1e-7 or abs(angle - math.pi) < 1e-7: + logger.warning("Vector Y is colinear to the beam X axis, " + "using default LCS.") + marker = self._buildDefaultMarker(center, vecX) + else: + yPoint = self.geom.MakeTranslationVector(center, givenLocY) + locPlaneXY = self.geom.MakePlaneThreePnt(center, xPoint, + yPoint, 1.0) + locZ = self.geom.GetNormal(locPlaneXY) + zPoint = self.geom.MakeTranslationVector(center, locZ) + locPlaneZX = self.geom.MakePlaneThreePnt(center, zPoint, + xPoint, 1.0) + locY = self.geom.GetNormal(locPlaneZX) + marker = self.geom.MakeMarkerPntTwoVec(center,vecX,locY) + + if self._angle != 0.0: + angleRad = math.radians(self._angle) + marker = self.geom.Rotate(marker, vecX, angleRad) + + return marker + + +class Orientation2D: + """ + This class is used to compute the orientation of 2D elements and to build + the corresponding markers. Angles `alpha` and `beta` are used to determine + the local coordinate system for the 2D element. If `vect` is not + :const:`None`, it is used instead of `alpha` and `beta`. + """ + + def __init__(self, alpha, beta, vect): + self.geom = None + self._alpha = alpha + self._beta = beta + self._vect = vect + + def __repr__(self): + reprdict = self.__dict__.copy() + del reprdict["geom"] + return '%s(%s)' % (self.__class__.__name__, reprdict) + + def _buildDefaultMarker(self, center, normal, warnings = True): + """ + Create the default marker, that use the normal vector of the 2D object + as the local Z axis and the global X axis to determine the local X + axis. `warnings` can be used to enable or disable the logging of + warning messages. + """ + marker = None + globalVecX = self.geom.MakeVectorDXDYDZ(1.0, 0.0, 0.0) + angle = self.geom.GetAngleRadians(normal, globalVecX) + if abs(angle) < 1e-7 or abs(angle - math.pi) < 1e-7: + if warnings: + logger.warning("Face normal is colinear to absolute X axis. " + "Absolute Y axis will be used to determine " + "local X axis.") + globalVecY = self.geom.MakeVectorDXDYDZ(0.0, 1.0, 0.0) + marker = self._buildMarkerRefVecX(center, normal, globalVecY) + else: + marker = self._buildMarkerRefVecX(center, normal, globalVecX) + return marker + + def _buildMarkerRefVecX(self, center, normal, refVecX): + """ + Create a marker using `normal` as Z axis and `refVecX` to determine + the X axis. + """ + xPoint = self.geom.MakeTranslationVector(center, refVecX) + zPoint = self.geom.MakeTranslationVector(center, normal) + locPlaneZX = self.geom.MakePlaneThreePnt(center, zPoint, xPoint, 1.0) + locY = self.geom.GetNormal(locPlaneZX) + yPoint = self.geom.MakeTranslationVector(center, locY) + locPlaneYZ = self.geom.MakePlaneThreePnt(center, yPoint, zPoint, 1.0) + locX = self.geom.GetNormal(locPlaneYZ) + marker = self.geom.MakeMarkerPntTwoVec(center, locX, locY) + return marker + + def buildMarker(self, geom, center, normal, warnings = True): + """ + Create a marker with origin `center` and `normal` as Z axis. The other + axes are computed using the parameters alpha and beta of the + Orientation2D instance. `geom` is the pseudo-geompy object used to + build the geometric shapes. `warnings` can be used to enable or + disable the logging of warning messages. + """ + self.geom = geom + marker = None + refVecX = None + if self._vect is not None: + # Using vector parameter + if abs(self._vect[0]) <= 1e-7 and abs(self._vect[1]) <= 1e-7 and \ + abs(self._vect[2]) <= 1e-7: + if warnings: + logger.warning("Vector too small: %s, using default LCS" % + self._vect) + else: + refVecX = self.geom.MakeVectorDXDYDZ(self._vect[0], + self._vect[1], + self._vect[2]) + elif self._alpha is not None and self._beta is not None: + # Using alpha and beta angles + alphaRad = math.radians(self._alpha) + betaRad = math.radians(self._beta) + if abs(alphaRad) <= 1e-7 and abs(betaRad) <= 1e-7: + if warnings: + logger.warning("Angles too small: (%g, %g), using " + "default LCS" % (self._alpha, self._beta)) + else: + # rotate global CS with angles alpha and beta + refVecX = self.geom.MakeVectorDXDYDZ(1.0, 0.0, 0.0) + refVecY = self.geom.MakeVectorDXDYDZ(0.0, 1.0, 0.0) + globalVecZ = self.geom.MakeVectorDXDYDZ(0.0, 0.0, 1.0) + if abs(alphaRad) > 1e-7: + refVecX = self.geom.Rotate(refVecX, globalVecZ, alphaRad) + refVecY = self.geom.Rotate(refVecY, globalVecZ, alphaRad) + if abs(betaRad) > 1e-7: + refVecX = self.geom.Rotate(refVecX, refVecY, betaRad) + + if refVecX is not None: + # build local coordinate system + angle = self.geom.GetAngleRadians(normal, refVecX) + if abs(angle) < 1e-7 or abs(angle - math.pi) < 1e-7: + if warnings: + logger.warning("Face normal is colinear to the reference " + "X axis, using default LCS.") + else: + marker = self._buildMarkerRefVecX(center, normal, refVecX) + + if marker is None: + marker = self._buildDefaultMarker(center, normal, warnings) + + return marker diff --git a/src/GEOM_PY/structelem/parts.py b/src/GEOM_PY/structelem/parts.py new file mode 100644 index 000000000..0781f6d83 --- /dev/null +++ b/src/GEOM_PY/structelem/parts.py @@ -0,0 +1,969 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2007-2009 EDF R&D +# +# This file is part of PAL_SRC. +# +# PAL_SRC is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# PAL_SRC is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with PAL_SRC; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# +""" +This module defines the different structural element parts. It is used to +build the geometric shapes of the structural elements. It should not be used +directly in the general case. Structural elements should be created by the +class :class:`~salome.geom.structelem.StructuralElementManager`. +""" + +import salome + +from salome.kernel.logger import Logger +from salome.kernel import termcolor +logger = Logger("salome.geom.structelem.parts", color = termcolor.RED) +from salome.geom.geomtools import getGeompy + +import orientation + +# Filling for the beams +FULL = "FULL" +HOLLOW = "HOLLOW" + +# Minimum dimension for the shapes to extrude +MIN_DIM_FOR_EXTRUDED_SHAPE = 2e-4 +MIN_LENGTH_FOR_EXTRUSION = 1e-4 +MIN_THICKNESS = 1e-5 + + +class InvalidParameterError(Exception): + """ + This exception is raised when an invalid parameter is used to build a + structural element part. + """ + + def __init__(self, groupName, expression, minValue, value): + self.groupName = groupName + self.expression = expression + self.minValue = minValue + self.value = value + + def __str__(self): + return "%s < %g (%s = %g in %s)" % (self.expression, self.minValue, + self.expression, self.value, + self.groupName) + + +class SubShapeID: + """ + This class enables the use of subshapes in sets or as dictionary keys. + It implements __eq__ and __hash__ methods so that subshapes with the same + CORBA object `mainShape` and the same `id` are considered equal. + """ + + def __init__(self, mainShape, id): + self._mainShape = mainShape + self._id = id + + def getObj(self, geom): + """ + Return the subshape (GEOM object). `geom` is a pseudo-geompy object + used to find the geometrical object. + """ + return geom.GetSubShape(self._mainShape, [self._id]) + + def __eq__(self, other): + return self._mainShape._is_equivalent(other._mainShape) and \ + self._id == other._id + + def __hash__(self): + return self._mainShape._hash(2147483647) ^ self._id + + +class StructuralElementPart: + """ + This class is the base class for all structural element parts. It should + not be instantiated directly (consider it as an "abstract" class). + + :type studyId: integer + :param studyId: the ID of the study in which the part is created. + + :type groupName: string + :param groupName: the name of the underlying geometrical primitive in the + study. + + :type groupGeomObj: GEOM object + :param groupGeomObj: the underlying geometrical primitive. + + :type parameters: dictionary + :param parameters: parameters defining the structural element (see + subclasses for details). + + :type name: string + :param name: name to use for the created object in the study. + + """ + + DEFAULT_NAME = "StructElemPart" + + def __init__(self, studyId, groupName, groupGeomObj, parameters, + name = DEFAULT_NAME): + self._parameters = parameters + self.groupName = groupName + self._groupGeomObj = groupGeomObj + self._orientation = None + self._paramUserName = {} + self.name = name + self.geom = getGeompy(studyId) + self.baseShapesSet = set() + mainShape = self.geom.GetMainShape(groupGeomObj) + listIDs = self.geom.GetObjectIDs(groupGeomObj) + if mainShape is not None and listIDs is not None: + for id in listIDs: + self.baseShapesSet.add(SubShapeID(mainShape, id)) + + def _getParameter(self, nameList, default = None): + """ + This method finds the value of a parameter in the parameters + dictionary. The argument is a list because some parameters can have + several different names. + """ + if len(nameList) > 0: + paramName = nameList[0] + for name in nameList: + if self._parameters.has_key(name): + self._paramUserName[paramName] = name + return self._parameters[name] + return default + + def _getParamUserName(self, paramName): + """ + This method finds the user name for a parameter. + """ + if self._paramUserName.has_key(paramName): + return self._paramUserName[paramName] + else: + return paramName + + def __repr__(self): + reprdict = self.__dict__.copy() + del reprdict["_parameters"] + del reprdict["groupName"] + del reprdict["_groupGeomObj"] + del reprdict["_paramUserName"] + del reprdict["name"] + del reprdict["geom"] + del reprdict["baseShapesSet"] + return '%s("%s", %s)' % (self.__class__.__name__, self.groupName, + reprdict) + + def addOrientation(self, orientParams): + """ + Add orientation information to the structural element part. See class + :class:`~salome.geom.structelem.orientation.Orientation1D` for the description + of the parameters. + """ + self._orientation.addParams(orientParams) + + def _checkSize(self, value, mindim, expression): + """ + This method checks that some parameters or some expressions involving + those parameters are greater than a minimum value. + """ + if value < mindim: + raise InvalidParameterError(self.groupName, expression, + mindim, value) + + def build(self): + """ + Build the geometric shapes and the markers corresponding to the + structural element part in the study `studyId`. + """ + shape = self._buildPart() + markers = self._buildMarkers() + shape.SetColor(self._groupGeomObj.GetColor()) + for marker in markers: + marker.SetColor(self._groupGeomObj.GetColor()) + return (shape, markers) + + def _buildPart(self): + """ + This abstract method must be implemented in subclasses and should + create the geometrical shape(s) of the structural element part. + """ + raise NotImplementedError("Method _buildPart not implemented in class" + " %s (it must be implemented in " + "StructuralElementPart subclasses)." % + self.__class__.__name__) + + def _buildMarkers(self): + """ + This abstract method must be implemented in subclasses and should + create the markers defining the orientation of the structural element + part. + """ + raise NotImplementedError("Method _buildMarker not implemented in " + "class %s (it must be implemented in " + "StructuralElementPart subclasses)." % + self.__class__.__name__) + + def _getSubShapes(self, minDim = MIN_LENGTH_FOR_EXTRUSION): + """ + Find and return the base subshapes in the structural element part. + """ + subShapes = [] + for subShapeID in self.baseShapesSet: + subShape = subShapeID.getObj(self.geom) + length = self.geom.BasicProperties(subShape)[0] + if length < minDim: + logger.warning("Length too short (%s - ID %s, length = %g), " + "subshape will not be used in structural " + "element" % (self.groupName, subShapeID._id, + length)) + else: + subShapes.append(subShape) + return subShapes + + +class Beam(StructuralElementPart): + """ + This class is an "abstract" class for all 1D structural element parts. It + should not be instantiated directly. See class + :class:`StructuralElementPart` for the description of the parameters. + """ + + DEFAULT_NAME = "Beam" + + def __init__(self, studyId, groupName, groupGeomObj, parameters, + name = DEFAULT_NAME): + StructuralElementPart.__init__(self, studyId, groupName, groupGeomObj, + parameters, name) + self._orientation = orientation.Orientation1D() + + def _isReversed(self, path): + """ + This method checks if a 1D object is "reversed", i.e. if its + orientation is different than the orientation of the underlying OCC + object. + """ + fParam = 0. + lParam = 1. + fPoint = self.geom.MakeVertexOnCurve(path, fParam) + lPoint = self.geom.MakeVertexOnCurve(path, lParam) + + fNormal = self.geom.MakeTangentOnCurve(path, fParam) + lNormal = self.geom.MakeTangentOnCurve(path, lParam) + + fCircle = self.geom.MakeCircle(fPoint, fNormal, 10) + lCircle = self.geom.MakeCircle(lPoint, lNormal, 10) + + try: + pipe = self.geom.MakePipeWithDifferentSections([fCircle, lCircle], + [fPoint, lPoint], + path, False, False) + except RuntimeError, e: + # This dirty trick is needed if the wire is not oriented in the + # direction corresponding to parameters 0.0 -> 1.0. In this case, + # we catch the error and invert the ends of the wire. This trick + # will be removed when the function giving the orientation of an + # edge will be added in geompy (see issue 1144 in PAL bugtracker). + if (str(e) == "MakePipeWithDifferentSections : First location " + "shapes is not coincided with first vertex of " + "aWirePath"): + return True + else: + raise + return False + + def _getVertexAndTangentOnOrientedWire(self, path, param): + """ + Get a vertex and the corresponding tangent on a wire by parameter. + This method takes into account the "real" orientation of the wire + (i.e. the orientation of the underlying OCC object). + """ + if self._isReversed(path): + vertex = self.geom.MakeVertexOnCurve(path, 1.0 - param) + invtangent = self.geom.MakeTangentOnCurve(path, 1.0 - param) + tanpoint = self.geom.MakeTranslationVectorDistance(vertex, + invtangent, + -1.0) + tangent = self.geom.MakeVector(vertex, tanpoint) + else: + vertex = self.geom.MakeVertexOnCurve(path, param) + tangent = self.geom.MakeTangentOnCurve(path, param) + return (vertex, tangent) + + def _makeSolidPipeFromWires(self, wire1, wire2, point1, point2, path): + """ + Create a solid by the extrusion of section `wire1` to section `wire2` + along `path`. + """ + face1 = self.geom.MakeFace(wire1, True) + face2 = self.geom.MakeFace(wire2, True) + shell = self.geom.MakePipeWithDifferentSections([wire1, wire2], + [point1, point2], + path, False, False) + closedShell = self.geom.MakeShell([face1, face2, shell]) + solid = self.geom.MakeSolid([closedShell]) + return solid + + def _buildPart(self): + """ + Build the structural element part. + """ + # Get all the subshapes in the group (normally only edges and wires) + paths = self._getSubShapes() + listPipes = [] + withContact = False + withCorrection = False + + for path in paths: + # Build the sections (rectangular or circular) at each end of the + # beam + (fPoint, fNormal) = self._getVertexAndTangentOnOrientedWire(path, + 0.0) + (lPoint, lNormal) = self._getVertexAndTangentOnOrientedWire(path, + 1.0) + (outerWire1, innerWire1, outerWire2, innerWire2) = \ + self._makeSectionWires(fPoint, fNormal, lPoint, lNormal) + + # Create the resulting solid + outerSolid = self._makeSolidPipeFromWires(outerWire1, outerWire2, + fPoint, lPoint, path) + if self.filling == HOLLOW: + innerSolid = self._makeSolidPipeFromWires(innerWire1, + innerWire2, fPoint, + lPoint, path) + resultSolid = self.geom.MakeCut(outerSolid, innerSolid) + listPipes.append(resultSolid) + else: + listPipes.append(outerSolid) + + if len(listPipes) == 0: + return None + elif len(listPipes) == 1: + return listPipes[0] + else: + return self.geom.MakeCompound(listPipes) + + def _buildMarkers(self): + """ + Build the markers defining the orientation of the structural element + part. + """ + param = 0.5 + paths = self._getSubShapes() + listMarkers = [] + for path in paths: + (center, vecX) = self._getVertexAndTangentOnOrientedWire(path, + param) + marker = self._orientation.buildMarker(self.geom, center, vecX) + listMarkers.append(marker) + return listMarkers + + +class GeneralBeam(Beam): + """ + This class defines a beam with a generic section. It is represented only + as the underlying wire. See class :class:`StructuralElementPart` for the + description of the parameters. + """ + + def __init__(self, studyId, groupName, groupGeomObj, parameters, + name = Beam.DEFAULT_NAME): + Beam.__init__(self, studyId, groupName, groupGeomObj, parameters, + name) + logger.debug(repr(self)) + + def _buildPart(self): + """ + Create a copy of the underlying wire. + """ + edges = self._getSubShapes(1e-7) + wire = None + if len(edges) > 0: + wire = self.geom.MakeWire(edges) + return wire + + +class CircularBeam(Beam): + """ + This class defines a beam with a circular section. It can be full or + hollow, and its radius and thickness can vary from one end of the beam to + the other. The valid parameters for circular beams are: + + * "R1" or "R": radius at the first end of the beam. + * "R2" or "R": radius at the other end of the beam. + * "EP1" or "EP" (optional): thickness at the first end of the beam. + If not specified or equal to 0, the beam is considered full. + * "EP2" or "EP" (optional): thickness at the other end of the beam. + If not specified or equal to 0, the beam is considered full. + + See class :class:`StructuralElementPart` for the description of the + other parameters. + + """ + + def __init__(self, studyId, groupName, groupGeomObj, parameters, + name = Beam.DEFAULT_NAME): + Beam.__init__(self, studyId, groupName, groupGeomObj, parameters, + name) + + self.R1 = self._getParameter(["R1", "R"]) + self.R2 = self._getParameter(["R2", "R"]) + self.EP1 = self._getParameter(["EP1", "EP"]) + self.EP2 = self._getParameter(["EP2", "EP"]) + + if self.EP1 is None or self.EP2 is None or \ + self.EP1 == 0 or self.EP2 == 0: + self.filling = FULL + else: + self.filling = HOLLOW + + logger.debug(repr(self)) + + # Check parameters + self._checkSize(self.R1, MIN_DIM_FOR_EXTRUDED_SHAPE / 2.0, + self._getParamUserName("R1")) + self._checkSize(self.R2, MIN_DIM_FOR_EXTRUDED_SHAPE / 2.0, + self._getParamUserName("R2")) + if self.filling == HOLLOW: + self._checkSize(self.EP1, MIN_THICKNESS, + self._getParamUserName("EP1")) + self._checkSize(self.EP2, MIN_THICKNESS, + self._getParamUserName("EP2")) + self._checkSize(self.R1 - self.EP1, + MIN_DIM_FOR_EXTRUDED_SHAPE / 2.0, + "%s - %s" % (self._getParamUserName("R1"), + self._getParamUserName("EP1"))) + self._checkSize(self.R2 - self.EP2, + MIN_DIM_FOR_EXTRUDED_SHAPE / 2.0, + "%s - %s" % (self._getParamUserName("R2"), + self._getParamUserName("EP2"))) + + def _makeSectionWires(self, fPoint, fNormal, lPoint, lNormal): + """ + Create the circular sections used to build the pipe. + """ + outerCircle1 = self.geom.MakeCircle(fPoint, fNormal, self.R1) + outerCircle2 = self.geom.MakeCircle(lPoint, lNormal, self.R2) + if self.filling == HOLLOW: + innerCircle1 = self.geom.MakeCircle(fPoint, fNormal, + self.R1 - self.EP1) + innerCircle2 = self.geom.MakeCircle(lPoint, lNormal, + self.R2 - self.EP2) + else: + innerCircle1 = None + innerCircle2 = None + + return (outerCircle1, innerCircle1, outerCircle2, innerCircle2) + + +class RectangularBeam(Beam): + """ + This class defines a beam with a rectangular section. It can be full or + hollow, and its dimensions can vary from one end of the beam to the other. + The valid parameters for rectangular beams are: + + * "HY1", "HY", "H1" or "H": width at the first end of the beam. + * "HZ1", "HZ", "H1" or "H": height at the first end of the beam. + * "HY2", "HY", "H2" or "H": width at the other end of the beam. + * "HZ2", "HZ", "H2" or "H": height at the other end of the beam. + * "EPY1", "EPY", "EP1" or "EP" (optional): thickness in the width + direction at the first end of the beam. If not specified or equal to 0, + the beam is considered full. + * "EPZ1", "EPZ", "EP1" or "EP" (optional): thickness in the height + direction at the first end of the beam. If not specified or equal to 0, + the beam is considered full. + * "EPY2", "EPY", "EP2" or "EP" (optional): thickness in the width + direction at the other end of the beam. If not specified or equal to 0, + the beam is considered full. + * "EPZ2", "EPZ", "EP2" or "EP" (optional): thickness in the height + direction at the other end of the beam. If not specified or equal to 0, + the beam is considered full. + + See class :class:`StructuralElementPart` for the description of the + other parameters. + + """ + + def __init__(self, studyId, groupName, groupGeomObj, parameters, + name = Beam.DEFAULT_NAME): + Beam.__init__(self, studyId, groupName, groupGeomObj, parameters, + name) + + self.HY1 = self._getParameter(["HY1", "HY", "H1", "H"]) + self.HZ1 = self._getParameter(["HZ1", "HZ", "H1", "H"]) + self.HY2 = self._getParameter(["HY2", "HY", "H2", "H"]) + self.HZ2 = self._getParameter(["HZ2", "HZ", "H2", "H"]) + self.EPY1 = self._getParameter(["EPY1", "EPY", "EP1", "EP"]) + self.EPZ1 = self._getParameter(["EPZ1", "EPZ", "EP1", "EP"]) + self.EPY2 = self._getParameter(["EPY2", "EPY", "EP2", "EP"]) + self.EPZ2 = self._getParameter(["EPZ2", "EPZ", "EP2", "EP"]) + + if self.EPY1 is None or self.EPZ1 is None or \ + self.EPY2 is None or self.EPZ2 is None or \ + self.EPY1 == 0 or self.EPZ1 == 0 or \ + self.EPY2 == 0 or self.EPZ2 == 0: + self.filling = FULL + else: + self.filling = HOLLOW + + logger.debug(repr(self)) + + # Check parameters + self._checkSize(self.HY1, MIN_DIM_FOR_EXTRUDED_SHAPE, + self._getParamUserName("HY1")) + self._checkSize(self.HZ1, MIN_DIM_FOR_EXTRUDED_SHAPE, + self._getParamUserName("HZ1")) + self._checkSize(self.HY2, MIN_DIM_FOR_EXTRUDED_SHAPE, + self._getParamUserName("HY2")) + self._checkSize(self.HZ2, MIN_DIM_FOR_EXTRUDED_SHAPE, + self._getParamUserName("HZ2")) + if self.filling == HOLLOW: + self._checkSize(self.EPY1, MIN_THICKNESS, + self._getParamUserName("EPY1")) + self._checkSize(self.EPZ1, MIN_THICKNESS, + self._getParamUserName("EPZ1")) + self._checkSize(self.EPY2, MIN_THICKNESS, + self._getParamUserName("EPY2")) + self._checkSize(self.EPZ2, MIN_THICKNESS, + self._getParamUserName("EPZ2")) + self._checkSize(self.HY1 - 2 * self.EPY1, + MIN_DIM_FOR_EXTRUDED_SHAPE, + "%s - 2 * %s" % (self._getParamUserName("HY1"), + self._getParamUserName("EPY1"))) + self._checkSize(self.HZ1 - 2 * self.EPZ1, + MIN_DIM_FOR_EXTRUDED_SHAPE, + "%s - 2 * %s" % (self._getParamUserName("HZ1"), + self._getParamUserName("EPZ1"))) + self._checkSize(self.HY2 - 2 * self.EPY2, + MIN_DIM_FOR_EXTRUDED_SHAPE, + "%s - 2 * %s" % (self._getParamUserName("HY2"), + self._getParamUserName("EPY2"))) + self._checkSize(self.HZ2 - 2 * self.EPZ2, + MIN_DIM_FOR_EXTRUDED_SHAPE, + "%s - 2 * %s" % (self._getParamUserName("HZ2"), + self._getParamUserName("EPZ2"))) + + def _makeRectangle(self, HY, HZ, planeSect): + """ + Create a rectangle in the specified plane. + """ + halfHY = HY / 2.0 + halfHZ = HZ / 2.0 + sketchStr = "Sketcher:F %g" % (-halfHZ) + " %g" % (-halfHY) + ":" + sketchStr += "TT %g" % (halfHZ) + " %g" % (-halfHY) + ":" + sketchStr += "TT %g" % (halfHZ) + " %g" % (halfHY) + ":" + sketchStr += "TT %g" % (-halfHZ) + " %g" % (halfHY) + ":WW" + logger.debug('Drawing rectangle: "%s"' % sketchStr) + sketch = self.geom.MakeSketcherOnPlane(sketchStr, planeSect) + return sketch + + def _makeSectionWires(self, fPoint, fNormal, lPoint, lNormal): + """ + Create the rectangular sections used to build the pipe. + """ + planeSect1 = self.geom.MakePlane(fPoint, fNormal, 1.0) + outerRect1 = self._makeRectangle(self.HY1, self.HZ1, planeSect1) + planeSect2 = self.geom.MakePlane(lPoint, lNormal, 1.0) + outerRect2 = self._makeRectangle(self.HY2, self.HZ2, planeSect2) + if self.filling == HOLLOW: + innerRect1 = self._makeRectangle(self.HY1 - 2 * self.EPY1, + self.HZ1 - 2 * self.EPZ1, + planeSect1) + innerRect2 = self._makeRectangle(self.HY2 - 2 * self.EPY2, + self.HZ2 - 2 * self.EPZ2, + planeSect2) + else: + innerRect1 = None + innerRect2 = None + + return (outerRect1, innerRect1, outerRect2, innerRect2) + + +class StructuralElementPart2D(StructuralElementPart): + """ + This class is an "abstract" class for all 2D structural element parts. It + should not be instantiated directly. See class + :class:`StructuralElementPart` for the description of the parameters. + """ + + DEFAULT_NAME = "StructuralElementPart2D" + + def __init__(self, studyId, groupName, groupGeomObj, parameters, + name = DEFAULT_NAME): + StructuralElementPart.__init__(self, studyId, groupName, groupGeomObj, + parameters, name) + self._orientation = orientation.Orientation2D( + self._getParameter(["angleAlpha"]), + self._getParameter(["angleBeta"]), + self._getParameter(["Vecteur"])) + self.offset = self._getParameter(["Excentre"], 0.0) + + def _makeFaceOffset(self, face, offset, epsilon = 1e-6): + """ + Create a copy of a face at a given offset. + """ + if abs(offset) < epsilon: + return self.geom.MakeCopy(face) + else: + offsetObj = self.geom.MakeOffset(face, offset) + # We have to explode the resulting object into faces because it is + # created as a polyhedron and not as a single face + faces = self.geom.SubShapeAll(offsetObj, + self.geom.ShapeType["FACE"]) + return faces[0] + + def _buildMarkersWithOffset(self, offset): + """ + Build the markers for the structural element part with a given offset + from the base face. + """ + uParam = 0.5 + vParam = 0.5 + listMarkers = [] + subShapes = self._getSubShapes() + + for subShape in subShapes: + faces = self.geom.SubShapeAll(subShape, + self.geom.ShapeType["FACE"]) + for face in faces: + offsetFace = self._makeFaceOffset(face, offset) + # get tangent plane on surface by parameters + center = self.geom.MakeVertexOnSurface(offsetFace, + uParam, vParam) + tangPlane = self.geom.MakeTangentPlaneOnFace(offsetFace, + uParam, vParam, + 1.0) + normal = self.geom.GetNormal(tangPlane) + marker = self._orientation.buildMarker(self.geom, + center, normal) + listMarkers.append(marker) + + return listMarkers + + +class ThickShell(StructuralElementPart2D): + """ + This class defines a shell with a given thickness. It can be shifted from + the base face. The valid parameters for thick shells are: + + * "Epais": thickness of the shell. + * "Excentre": offset of the shell from the base face. + * "angleAlpha": angle used to build the markers (see class + :class:`~salome.geom.structelem.orientation.Orientation2D`) + * "angleBeta": angle used to build the markers (see class + :class:`~salome.geom.structelem.orientation.Orientation2D`) + * "Vecteur": vector used instead of the angles to build the markers (see + class :class:`~salome.geom.structelem.orientation.Orientation2D`) + + See class :class:`StructuralElementPart` for the description of the + other parameters. + """ + + DEFAULT_NAME = "ThickShell" + + def __init__(self, studyId, groupName, groupGeomObj, parameters, + name = DEFAULT_NAME): + StructuralElementPart2D.__init__(self, studyId, groupName, + groupGeomObj, parameters, name) + self.thickness = self._getParameter(["Epais"]) + logger.debug(repr(self)) + + def _buildPart(self): + """ + Create the geometrical shapes corresponding to the thick shell. + """ + subShapes = self._getSubShapes() + listSolids = [] + + for subShape in subShapes: + faces = self.geom.SubShapeAll(subShape, + self.geom.ShapeType["FACE"]) + for face in faces: + shape = self._buildThickShellForFace(face) + listSolids.append(shape) + + if len(listSolids) == 0: + return None + elif len(listSolids) == 1: + return listSolids[0] + else: + return self.geom.MakeCompound(listSolids) + + def _buildThickShellForFace(self, face): + """ + Create the geometrical shapes corresponding to the thick shell for a + given face. + """ + epsilon = 1e-6 + if self.thickness < 2 * epsilon: + return self._makeFaceOffset(face, self.offset, epsilon) + + upperOffset = self.offset + self.thickness / 2.0 + lowerOffset = self.offset - self.thickness / 2.0 + ruledMode = True + modeSolid = False + + upperFace = self._makeFaceOffset(face, upperOffset, epsilon) + lowerFace = self._makeFaceOffset(face, lowerOffset, epsilon) + listShapes = [upperFace, lowerFace] + upperWires = self.geom.SubShapeAll(upperFace, + self.geom.ShapeType["WIRE"]) + lowerWires = self.geom.SubShapeAll(lowerFace, + self.geom.ShapeType["WIRE"]) + if self.geom.KindOfShape(face)[0] == self.geom.kind.CYLINDER2D: + # if the face is a cylinder, we remove the extra side edge + upperWires = self._removeCylinderExtraEdge(upperWires) + lowerWires = self._removeCylinderExtraEdge(lowerWires) + for i in range(len(upperWires)): + resShape = self.geom.MakeThruSections([upperWires[i], + lowerWires[i]], + modeSolid, epsilon, + ruledMode) + listShapes.append(resShape) + resultShell = self.geom.MakeShell(listShapes) + resultSolid = self.geom.MakeSolid([resultShell]) + return resultSolid + + def _removeCylinderExtraEdge(self, wires): + """ + Remove the side edge in a cylinder. + """ + result = [] + for wire in wires: + edges = self.geom.SubShapeAll(wire, self.geom.ShapeType["EDGE"]) + for edge in edges: + if self.geom.KindOfShape(edge)[0] == self.geom.kind.CIRCLE: + result.append(edge) + return result + + def _buildMarkers(self): + """ + Build the markers defining the orientation of the thick shell. + """ + return self._buildMarkersWithOffset(self.offset + + self.thickness / 2.0) + + +class Grid(StructuralElementPart2D): + """ + This class defines a grid. A grid is represented by a 2D face patterned + with small lines in the main direction of the grid frame. The valid + parameters for grids are: + + * "Excentre": offset of the grid from the base face. + * "angleAlpha": angle used to build the markers (see class + :class:`~salome.geom.structelem.orientation.Orientation2D`) + * "angleBeta": angle used to build the markers (see class + :class:`~salome.geom.structelem.orientation.Orientation2D`) + * "Vecteur": vector used instead of the angles to build the markers (see + class :class:`~salome.geom.structelem.orientation.Orientation2D`) + * "origAxeX": X coordinate of the origin of the axis used to determine the + orientation of the frame in the case of a cylindrical grid. + * "origAxeY": Y coordinate of the origin of the axis used to determine the + orientation of the frame in the case of a cylindrical grid. + * "origAxeZ": Z coordinate of the origin of the axis used to determine the + orientation of the frame in the case of a cylindrical grid. + * "axeX": X coordinate of the axis used to determine the orientation of + the frame in the case of a cylindrical grid. + * "axeY": Y coordinate of the axis used to determine the orientation of + the frame in the case of a cylindrical grid. + * "axeZ": Z coordinate of the axis used to determine the orientation of + the frame in the case of a cylindrical grid. + + See class :class:`StructuralElementPart` for the description of the + other parameters. + """ + + DEFAULT_NAME = "Grid" + + def __init__(self, studyId, groupName, groupGeomObj, parameters, + name = DEFAULT_NAME): + StructuralElementPart2D.__init__(self, studyId, groupName, + groupGeomObj, parameters, name) + self.xr = self._getParameter(["origAxeX"]) + self.yr = self._getParameter(["origAxeY"]) + self.zr = self._getParameter(["origAxeZ"]) + self.vx = self._getParameter(["axeX"]) + self.vy = self._getParameter(["axeY"]) + self.vz = self._getParameter(["axeZ"]) + logger.debug(repr(self)) + + def _buildPart(self): + """ + Create the geometrical shapes representing the grid. + """ + subShapes = self._getSubShapes() + listGridShapes = [] + + for subShape in subShapes: + faces = self.geom.SubShapeAll(subShape, + self.geom.ShapeType["FACE"]) + for face in faces: + if self.geom.KindOfShape(face)[0] == \ + self.geom.kind.CYLINDER2D and \ + self.xr is not None and self.yr is not None and \ + self.zr is not None and self.vx is not None and \ + self.vy is not None and self.vz is not None: + shape = self._buildGridForCylinderFace(face) + else: + shape = self._buildGridForNormalFace(face) + listGridShapes.append(shape) + + if len(listGridShapes) == 0: + return None + elif len(listGridShapes) == 1: + return listGridShapes[0] + else: + return self.geom.MakeCompound(listGridShapes) + + def _buildGridForNormalFace(self, face): + """ + Create the geometrical shapes representing the grid for a given + non-cylindrical face. + """ + baseFace = self._makeFaceOffset(face, self.offset) + gridList = [baseFace] + + # Compute display length for grid elements + p1 = self.geom.MakeVertexOnSurface(baseFace, 0.0, 0.0) + p2 = self.geom.MakeVertexOnSurface(baseFace, 0.1, 0.1) + length = self.geom.MinDistance(p1, p2) / 2.0 + + for u in range(1, 10): + uParam = u * 0.1 + for v in range(1, 10): + vParam = v * 0.1 + # get tangent plane on surface by parameters + center = self.geom.MakeVertexOnSurface(baseFace, + uParam, vParam) + tangPlane = self.geom.MakeTangentPlaneOnFace(baseFace, uParam, + vParam, 1.0) + + # use the marker to get the orientation of the frame + normal = self.geom.GetNormal(tangPlane) + marker = self._orientation.buildMarker(self.geom, center, + normal, False) + [Ox,Oy,Oz, Zx,Zy,Zz, Xx,Xy,Xz] = self.geom.GetPosition(marker) + xPoint = self.geom.MakeTranslation(center, Xx * length, + Xy * length, Xz * length) + gridLine = self.geom.MakeLineTwoPnt(center, xPoint) + gridList.append(gridLine) + grid = self.geom.MakeCompound(gridList) + return grid + + def _buildGridForCylinderFace(self, face): + """ + Create the geometrical shapes representing the grid for a given + cylindrical face. + """ + baseFace = self._makeFaceOffset(face, self.offset) + gridList = [baseFace] + + # Compute display length for grid elements + p1 = self.geom.MakeVertexOnSurface(baseFace, 0.0, 0.0) + p2 = self.geom.MakeVertexOnSurface(baseFace, 0.1, 0.1) + length = self.geom.MinDistance(p1, p2) / 2.0 + + # Create reference vector V + origPoint = self.geom.MakeVertex(self.xr, self.yr, self.zr) + vPoint = self.geom.MakeTranslation(origPoint, + self.vx, self.vy, self.vz) + refVec = self.geom.MakeVector(origPoint, vPoint) + + for u in range(10): + uParam = u * 0.1 + for v in range(1, 10): + vParam = v * 0.1 + + # Compute the local orientation of the frame + center = self.geom.MakeVertexOnSurface(baseFace, + uParam, vParam) + locPlaneYZ = self.geom.MakePlaneThreePnt(origPoint, center, + vPoint, 1.0) + locOrient = self.geom.GetNormal(locPlaneYZ) + xPoint = self.geom.MakeTranslationVectorDistance(center, + locOrient, + length) + gridLine = self.geom.MakeLineTwoPnt(center, xPoint) + gridList.append(gridLine) + + grid = self.geom.MakeCompound(gridList) + return grid + + def _buildMarkers(self): + """ + Create the markers defining the orientation of the grid. + """ + return self._buildMarkersWithOffset(self.offset) + + +def VisuPoutreGenerale(studyId, groupName, groupGeomObj, parameters, + name = "POUTRE"): + """ + Alias for class :class:`GeneralBeam`. + """ + return GeneralBeam(studyId, groupName, groupGeomObj, parameters, name) + +def VisuPoutreCercle(studyId, groupName, groupGeomObj, parameters, + name = "POUTRE"): + """ + Alias for class :class:`CircularBeam`. + """ + return CircularBeam(studyId, groupName, groupGeomObj, parameters, name) + +def VisuPoutreRectangle(studyId, groupName, groupGeomObj, parameters, + name = "POUTRE"): + """ + Alias for class :class:`RectangularBeam`. + """ + return RectangularBeam(studyId, groupName, groupGeomObj, parameters, name) + +def VisuBarreGenerale(studyId, groupName, groupGeomObj, parameters, + name = "BARRE"): + """ + Alias for class :class:`GeneralBeam`. + """ + return GeneralBeam(studyId, groupName, groupGeomObj, parameters, name) + +def VisuBarreRectangle(studyId, groupName, groupGeomObj, parameters, + name = "BARRE"): + """ + Alias for class :class:`RectangularBeam`. + """ + return RectangularBeam(studyId, groupName, groupGeomObj, parameters, name) + +def VisuBarreCercle(studyId, groupName, groupGeomObj, parameters, + name = "BARRE"): + """ + Alias for class :class:`CircularBeam`. + """ + return CircularBeam(studyId, groupName, groupGeomObj, parameters, name) + +def VisuCable(studyId, groupName, groupGeomObj, parameters, name = "CABLE"): + """ + Alias for class :class:`CircularBeam`. + """ + return CircularBeam(studyId, groupName, groupGeomObj, parameters, name) + +def VisuCoque(studyId, groupName, groupGeomObj, parameters, name = "COQUE"): + """ + Alias for class :class:`ThickShell`. + """ + return ThickShell(studyId, groupName, groupGeomObj, parameters, name) + +def VisuGrille(studyId, groupName, groupGeomObj, parameters, name = "GRILLE"): + """ + Alias for class :class:`Grid`. + """ + return Grid(studyId, groupName, groupGeomObj, parameters, name) diff --git a/src/Makefile.am b/src/Makefile.am index 446af680c..968fbdd33 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -24,7 +24,7 @@ SUBDIRS = ARCHIMEDE NMTDS NMTTools GEOMAlgo SKETCHER OCC2VTK GEOM \ BREPExport BREPImport IGESExport IGESImport STEPExport \ STEPImport STLExport VTKExport ShHealOper GEOMImpl GEOM_I \ - GEOMClient GEOM_I_Superv GEOM_SWIG + GEOMClient GEOM_I_Superv GEOM_SWIG GEOM_PY if GEOM_ENABLE_GUI SUBDIRS += OBJECT DlgRef GEOMFiltersSelection GEOMGUI GEOMBase GEOMToolsGUI \ @@ -40,4 +40,4 @@ DIST_SUBDIRS = ARCHIMEDE NMTDS NMTTools GEOMAlgo SKETCHER OCC2VTK GEOM BREPExpor GEOMToolsGUI DisplayGUI BasicGUI PrimitiveGUI GenerationGUI \ EntityGUI BuildGUI BooleanGUI TransformationGUI OperationGUI \ RepairGUI MeasureGUI GroupGUI BlocksGUI AdvancedGUI \ - GEOM_SWIG_WITHIHM + GEOM_SWIG_WITHIHM GEOM_PY -- 2.39.2