smesh/src/SMESH_SWIG/ex21_lamp.py

126 lines
2.6 KiB
Python
Raw Normal View History

This commit was generated by cvs2git to create branch 'WPdev'. Cherrypick from master 2006-06-08 14:05:08 UTC jfa <jfa@opencascade.com> 'Warn about direct SMESH idl usage: smesh python package have to be used where it is possible.': SMESH_version.h.in adm_local/Makefile.in adm_local/unix/config_files/check_SMESH.m4 bin/VERSION.in doc/salome/gui/SMESH/adding_quadratic_nodes_and_elements.htm doc/salome/gui/SMESH/files/vtk_3d_viewer.htm doc/salome/gui/SMESH/image142.gif doc/salome/gui/SMESH/image143.gif doc/salome/gui/SMESH/image144.gif doc/salome/gui/SMESH/image145.gif doc/salome/gui/SMESH/image146.gif doc/salome/gui/SMESH/image147.gif doc/salome/gui/SMESH/image148.gif doc/salome/gui/SMESH/image15.jpg doc/salome/gui/SMESH/image151.gif doc/salome/gui/SMESH/image152.gif doc/salome/gui/SMESH/index.htm doc/salome/gui/SMESH/index_csh.htm doc/salome/gui/SMESH/index_rhc.htm doc/salome/gui/SMESH/merge_elements.htm doc/salome/gui/SMESH/mesh.htm doc/salome/gui/SMESH/pics/advanced_mesh_infos.png doc/salome/gui/SMESH/pics/aqt.png doc/salome/gui/SMESH/pics/automaticlength.png doc/salome/gui/SMESH/pics/createmesh-inv.png doc/salome/gui/SMESH/pics/createmesh-inv2.png doc/salome/gui/SMESH/pics/createmesh-inv3.png doc/salome/gui/SMESH/pics/distributionwithanalyticdensity.png doc/salome/gui/SMESH/pics/distributionwithtabledensity.png doc/salome/gui/SMESH/pics/graduatedaxes1.png doc/salome/gui/SMESH/pics/image100.gif doc/salome/gui/SMESH/pics/image102.gif doc/salome/gui/SMESH/pics/image107.gif doc/salome/gui/SMESH/pics/image108.gif doc/salome/gui/SMESH/pics/image109.gif doc/salome/gui/SMESH/pics/image138.gif doc/salome/gui/SMESH/pics/image139.gif doc/salome/gui/SMESH/pics/image21.gif doc/salome/gui/SMESH/pics/image23.gif doc/salome/gui/SMESH/pics/image27.gif doc/salome/gui/SMESH/pics/image77.gif doc/salome/gui/SMESH/pics/image78.gif doc/salome/gui/SMESH/pics/image89.gif doc/salome/gui/SMESH/pics/image91.gif doc/salome/gui/SMESH/pics/image96.gif doc/salome/gui/SMESH/pics/image97.gif doc/salome/gui/SMESH/pics/image98.gif doc/salome/gui/SMESH/pics/image99.gif doc/salome/gui/SMESH/pics/length-crit.png doc/salome/gui/SMESH/pics/mergeelems.png doc/salome/gui/SMESH/pics/meshexportmesh.png doc/salome/gui/SMESH/pics/meshimportmesh.png doc/salome/gui/SMESH/pics/meshtrianglemergeelem1.png doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh.html doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Algorithm.html doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Algorithm__inherit__graph.jpg doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Hexahedron.html doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Hexahedron__inherit__graph.jpg doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Netgen.html doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Netgen__inherit__graph.jpg doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Quadrangle.html doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Quadrangle__inherit__graph.jpg doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Segment.html doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Segment__Python.html doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Segment__Python__inherit__graph.jpg doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Segment__inherit__graph.jpg doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Tetrahedron.html doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Tetrahedron__inherit__graph.jpg doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Triangle.html doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Triangle__inherit__graph.jpg doc/salome/gui/SMESH/smeshpy_doc/doxygen.css doc/salome/gui/SMESH/smeshpy_doc/namespacesmesh.html doc/salome/gui/SMESH/volume.htm doc/salome/gui/SMESH/whd_dpns.htm doc/salome/gui/SMESH/whd_hide0.gif doc/salome/gui/SMESH/whd_hide1.gif doc/salome/gui/SMESH/whd_hide2.gif doc/salome/gui/SMESH/whd_next0.gif doc/salome/gui/SMESH/whd_next1.gif doc/salome/gui/SMESH/whd_next2.gif doc/salome/gui/SMESH/whd_nvp10.htm doc/salome/gui/SMESH/whd_nvp20.htm doc/salome/gui/SMESH/whd_prev0.gif doc/salome/gui/SMESH/whd_prev1.gif doc/salome/gui/SMESH/whd_prev2.gif doc/salome/gui/SMESH/whd_show0.gif doc/salome/gui/SMESH/whd_show1.gif doc/salome/gui/SMESH/whd_show2.gif doc/salome/gui/SMESH/whd_sync0.gif doc/salome/gui/SMESH/whd_sync1.gif doc/salome/gui/SMESH/whd_sync2.gif doc/salome/gui/SMESH/whd_tab0.gif doc/salome/gui/SMESH/whd_tab1.gif doc/salome/gui/SMESH/whd_tab2.gif doc/salome/gui/SMESH/whd_tab3.gif doc/salome/gui/SMESH/whd_tab4.gif doc/salome/gui/SMESH/whd_tab5.gif doc/salome/gui/SMESH/whd_tab6.gif doc/salome/gui/SMESH/whd_tab7.gif doc/salome/gui/SMESH/whd_tab8.gif doc/salome/gui/SMESH/whd_tabs.htm doc/salome/gui/SMESH/whd_toc1.gif doc/salome/gui/SMESH/whd_toc2.gif doc/salome/gui/SMESH/whd_toc3.gif doc/salome/gui/SMESH/whd_toc4.gif doc/salome/gui/SMESH/whd_topic.xml doc/salome/gui/SMESH/whd_wbsh0.gif doc/salome/gui/SMESH/whd_wbsh1.gif doc/salome/gui/SMESH/whd_wbsh2.gif doc/salome/gui/SMESH/whgdata/whlstf13.htm doc/salome/tui/SMESH/doxyfile.in doc/salome/tui/SMESH/doxyfile_py.in doc/salome/tui/SMESH/sources/footer.html doc/salome/tui/SMESH/sources/static/tree.js.in resources/SMESHCatalog.xml.in resources/SalomeApp.xml resources/mesh_conv_to_quad.png resources/mesh_tree_algo_netgen_2d.png resources/mesh_tree_algo_netgen_2d3d.png resources/mesh_tree_hypo_netgen.png resources/mesh_tree_hypo_netgen_2d.png src/DriverUNV/UNV2417_Structure.cxx src/DriverUNV/UNV2417_Structure.hxx src/SMDS/SMDS_QuadraticEdge.cxx src/SMDS/SMDS_QuadraticEdge.hxx src/SMDS/SMDS_QuadraticFaceOfNodes.cxx src/SMDS/SMDS_QuadraticFaceOfNodes.hxx src/SMDS/SMDS_QuadraticVolumeOfNodes.cxx src/SMDS/SMDS_QuadraticVolumeOfNodes.hxx src/SMDS/SMDS_SetIterator.hxx src/SMESH/SMESH_MesherHelper.cxx src/SMESH/SMESH_MesherHelper.hxx src/SMESHClient/Makefile.in src/SMESHClient/SMESHClientBin.cxx src/SMESHClient/SMESH_Client.cxx src/SMESHClient/SMESH_Client.hxx src/SMESHGUI/SMESHGUI_AddQuadraticElementDlg.cxx src/SMESHGUI/SMESHGUI_AddQuadraticElementDlg.h src/SMESHGUI/SMESHGUI_ConvToQuadDlg.cxx src/SMESHGUI/SMESHGUI_ConvToQuadDlg.h src/SMESHGUI/SMESHGUI_ConvToQuadOp.cxx src/SMESHGUI/SMESHGUI_ConvToQuadOp.h src/SMESH_SWIG/SMESH_AdvancedEditor.py src/SMESH_SWIG/SMESH_fixation_netgen.py src/SMESH_SWIG/SMESH_mechanic_netgen.py src/SMESH_SWIG/ex21_lamp.py src/StdMeshers/StdMeshers_QuadraticMesh.cxx src/StdMeshers/StdMeshers_QuadraticMesh.hxx src/StdMeshers_I/StdMeshers_QuadraticMesh_i.cxx src/StdMeshers_I/StdMeshers_QuadraticMesh_i.hxx
2006-06-08 20:05:11 +06:00
# Copyright (C) 2005 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
#
# CEA/LGLS 2006, Francis KLOSS (OCC)
# ==================================
from geompy import *
import smesh
# Geometry
# ========
# an assembly of a box, a cylinder and a truncated cone meshed with tetrahedral.
# Define values
# -------------
name = "ex21_lamp"
cote = 60
section = 20
size = 200
radius_1 = 80
radius_2 = 40
height = 100
# Build a box
# -----------
box = MakeBox(-cote, -cote, -cote, +cote, +cote, +cote)
# Build a cylinder
# ----------------
pt1 = MakeVertex(0, 0, cote/3)
di1 = MakeVectorDXDYDZ(0, 0, 1)
cyl = MakeCylinder(pt1, di1, section, size)
# Build a truncated cone
# ----------------------
pt2 = MakeVertex(0, 0, size)
cone = MakeCone(pt2, di1, radius_1, radius_2, height)
# Fuse
# ----
box_cyl = MakeFuse(box, cyl)
piece = MakeFuse(box_cyl, cone)
# Add in study
# ------------
addToStudy(piece, name)
# Create a group of faces
# -----------------------
group = CreateGroup(piece, ShapeType["FACE"])
group_name = name + "_grp"
addToStudy(group, group_name)
group.SetName(group_name)
# Add faces in the group
# ----------------------
faces = SubShapeAllIDs(piece, ShapeType["FACE"])
UnionIDs(group, faces)
# Create a mesh
# =============
# Define a mesh on a geometry
# ---------------------------
tetra = smesh.Mesh(piece, name)
# Define 1D hypothesis
# --------------------
algo1d = tetra.Segment()
algo1d.LocalLength(10)
# Define 2D hypothesis
# --------------------
algo2d = tetra.Triangle()
algo2d.LengthFromEdges()
# Define 3D hypothesis
# --------------------
algo3d = tetra.Tetrahedron(smesh.NETGEN)
algo3d.MaxElementVolume(100)
# Compute the mesh
# ----------------
tetra.Compute()
# Create a groupe of faces
# ------------------------
tetra.Group(group)