def breakElts(): 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() fail = False errors = [] for nz in nzs: nob = CTK.Nb[nz] + 1 noz = CTK.Nz[nz] z = CTK.t[2][nob][2][noz] try: zones = T.breakElements(z) if (len(zones) > 0): CTK.replace(CTK.t, nob, noz, zones[0]) for zz in zones[1:]: CTK.add(CTK.t, nob, -1, zz) except Exception as e: fail = True errors += [0, str(e)] if not fail: CTK.TXT.insert('START', 'Zones converted to basic elements.\n') else: Panels.displayErrors(errors, header='Error: breakElts') CTK.TXT.insert('START', 'Break elts fails for at least one zone.\n') CTK.TXT.insert('START', 'Warning: ', 'Warning') #C._fillMissingVariables(CTK.t) (CTK.Nb, CTK.Nz) = CPlot.updateCPlotNumbering(CTK.t) CTK.TKTREE.updateApp() CPlot.render()
# - breakElements (pyTree) - import Converter.PyTree as C import Generator.PyTree as G import Transform.PyTree as T a = G.cartTetra((0, 0, 0), (1, 1, 1), (3, 3, 2)) a = C.convertArray2NGon(a) a = G.close(a) b = G.cartNGon((2, 0, 0), (1, 1, 1), (3, 3, 1)) res = T.join(a, b) res = T.breakElements(res) C.convertPyTree2File(res, 'out.cgns')