00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 from geompy import *
00027
00028 import smesh
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038 ox = 0
00039 oy = 0
00040 oz = 0
00041
00042 arete = 10
00043
00044
00045
00046
00047 blockPoint111 = MakeVertex(ox , oy, oz)
00048 blockPoint211 = MakeVertex(ox+arete, oy, oz)
00049 blockPoint112 = MakeVertex(ox , oy, oz+arete)
00050 blockPoint212 = MakeVertex(ox+arete, oy, oz+arete)
00051
00052
00053
00054
00055 blockFace1 = MakeQuad4Vertices(blockPoint111, blockPoint211, blockPoint212, blockPoint112)
00056
00057 blockSolid11 = MakePrismVecH(blockFace1, MakeVectorDXDYDZ(0, 1, 0), arete)
00058
00059
00060
00061
00062 blockSolid21 = MakeTranslation(blockSolid11, arete, 0, 0)
00063 blockSolid31 = MakeTranslation(blockSolid21, arete, 0, 0)
00064
00065 blockSolid12 = MakeTranslation(blockSolid11, 0, 0, arete)
00066 blockSolid22 = MakeTranslation(blockSolid12, arete, 0, 0)
00067 blockSolid32 = MakeTranslation(blockSolid22, arete, 0, 0)
00068
00069 blockSolid13 = MakeTranslation(blockSolid12, 0, 0, arete)
00070 blockSolid23 = MakeTranslation(blockSolid13, arete, 0, 0)
00071 blockSolid33 = MakeTranslation(blockSolid23, arete, 0, 0)
00072
00073 blockSolid111 = MakeTranslation(blockSolid22, 0, arete, 0)
00074
00075
00076
00077
00078 c_l = []
00079 c_l.append(blockSolid11)
00080 c_l.append(blockSolid21)
00081 c_l.append(blockSolid31)
00082 c_l.append(blockSolid12)
00083 c_l.append(blockSolid22)
00084 c_l.append(blockSolid32)
00085 c_l.append(blockSolid13)
00086 c_l.append(blockSolid23)
00087 c_l.append(blockSolid33)
00088 c_l.append(blockSolid111)
00089
00090 c_cpd = MakeCompound(c_l)
00091
00092 piece = MakeGlueFaces(c_cpd, 1.e-5)
00093
00094
00095
00096
00097 piece_id = addToStudy(piece, "ex02_cube2primitive")
00098
00099
00100
00101
00102 smesh.SetCurrentStudy(salome.myStudy)
00103
00104
00105
00106
00107 hexa = smesh.Mesh(piece, "ex02_cube2primitive:hexa")
00108
00109 algo = hexa.Segment()
00110 algo.LocalLength(1)
00111
00112 hexa.Quadrangle()
00113
00114 hexa.Hexahedron()
00115
00116
00117
00118
00119 hexa.Compute()