コード例 #1
0
def exteriorFaces():
    if CTK.t == []: return
    if CTK.__MAINTREE__ <= 0:
        CTK.TXT.insert('START', 'Fail on a temporary tree.\n')
        CTK.TXT.insert('START', 'Error: ', 'Error')
        return
    nzs = CPlot.getSelectedZones()
    if nzs == []:
        CTK.TXT.insert('START', 'Selection is empty.\n')
        CTK.TXT.insert('START', 'Error: ', 'Error')
        return
    CTK.saveTree()

    CTK.t = C.addBase2PyTree(CTK.t, 'CONTOURS', 1)
    p = Internal.getNodesFromName1(CTK.t, 'CONTOURS')
    gnob = C.getNobOfBase(p[0], CTK.t)

    fail = False
    errors = []
    for nz in nzs:
        nob = CTK.Nb[nz] + 1
        noz = CTK.Nz[nz]
        try:
            ext = P.exteriorFaces(CTK.t[2][nob][2][noz])
            ext = T.splitConnexity(ext)
            for i in ext:
                CTK.add(CTK.t, gnob, -1, i)
        except TypeError as e:  # type d'element non reconnu
            fail = True
            errors += [0, str(e)]
        except ValueError:  # empty set
            pass
    #C._fillMissingVariables(CTK.t)
    (CTK.Nb, CTK.Nz) = CPlot.updateCPlotNumbering(CTK.t)
    CTK.TKTREE.updateApp()
    if not fail: CTK.TXT.insert('START', 'Exterior faces done.\n')
    else:
        Panels.displayErrors(errors, header='Error: exteriorFaces')
        CTK.TXT.insert('START',
                       'Exterior faces fails for at least one zone.\n')
        CTK.TXT.insert('START', 'Warning: ', 'Warning')
    CPlot.render()
コード例 #2
0
# - plaster (pyTree) -
import Generator.PyTree as G
import Converter.PyTree as C
import Transform.PyTree as T
import Post.PyTree as P
import Geom.PyTree as D

a = D.sphere((0, 0, 0), 1)
a = T.subzone(a, (6, 1, 1), (50, 200, 1))
a = C.convertArray2Hexa(a)
a = G.close(a)

# contours
c = P.exteriorFaces(a)
cs = T.splitConnexity(c)

# plaster hole
p = G.plaster([cs[0]], [a])
t = C.newPyTree(['Sphere', 2, 'Contours', 1, 'Plaster', 2])
t[2][1][2].append(a)
t[2][2][2] += cs
t[2][3][2].append(p)
C.convertPyTree2File(t, 'out.cgns')
コード例 #3
0
# - splitConnexity (pyTree) -
import KCore.test as test
import Transform.PyTree as T
import Geom.PyTree as D
import Converter.PyTree as C

# Non structure + champs
a = D.text2D("CASSIOPEE")
a = C.addVars(a, 'Density')
a = C.initVars(a, 'centers:cellN', 1)
B = T.splitConnexity(a)
t = C.newPyTree(['Base', 2])
t[2][1][2] += B
test.testT(t, 1)