<div dir="ltr"><span style="font-family:arial,sans-serif;font-size:13px">Thanks Gil for reminding me of my silly mistake! <span class="GINGER_SOFATWARE_correct">SetCells</span> <span class="GINGER_SOFATWARE_correct">is</span> correct not <span class="GINGER_SOFATWARE_noSuggestion GINGER_SOFATWARE_correct">setCells</span> (capital S..).</span><div style="font-family:arial,sans-serif;font-size:13px">
<br><div>Now my code works fine with &#39;cells2&#39; which is created as <span class="GINGER_SOFATWARE_correct">follow</span>:</div><div class="im">        cell_ids = np.arange(0,8*Nx*Ny*Nz, dtype=np.int64).reshape(Nx*Ny*Nz, 8)</div>
<div><div class="im"><div>        cells2 = <span class="GINGER_SOFATWARE_noSuggestion GINGER_SOFATWARE_correct">vtk</span><span class="GINGER_SOFATWARE_correct">.</span><span class="GINGER_SOFATWARE_noSuggestion GINGER_SOFATWARE_correct">vtkCellArray</span><span class="GINGER_SOFATWARE_correct">(</span>)</div>
<div>        <span class="GINGER_SOFATWARE_correct">for</span> cell in cell_ids:</div><div>            <span class="GINGER_SOFATWARE_correct">pids</span> = <span class="GINGER_SOFATWARE_noSuggestion GINGER_SOFATWARE_correct">vtk</span><span class="GINGER_SOFATWARE_correct">.</span><span class="GINGER_SOFATWARE_noSuggestion GINGER_SOFATWARE_correct">vtkIdList</span><span class="GINGER_SOFATWARE_correct">(</span>)</div>
<div>            <span class="GINGER_SOFATWARE_correct">for</span> p in cell:</div><div>                <span class="GINGER_SOFATWARE_correct">pids</span><span class="GINGER_SOFATWARE_correct">.</span>InsertNextId<span class="GINGER_SOFATWARE_correct">(</span>p)</div>
<div>            cells2.InsertNextCell<span class="GINGER_SOFATWARE_correct">(</span><span class="GINGER_SOFATWARE_correct">pids</span>)</div></div><div>        <span class="GINGER_SOFATWARE_correct">grid</span><span class="GINGER_SOFATWARE_correct">.</span>SetCells<span class="GINGER_SOFATWARE_correct">(</span><span class="GINGER_SOFATWARE_noSuggestion GINGER_SOFATWARE_correct">vtk</span><span class="GINGER_SOFATWARE_correct">.</span>VTK_HEXAHEDRON, cells2)</div>
<div><br></div><div><span class="GINGER_SOFATWARE_correct">but</span> it doesn&#39;t work with  &#39;cells&#39; as <span class="GINGER_SOFATWARE_correct">in</span> follow:</div><div class="im"><div>        cell_ids = np.arange(0,8*Nx*Ny*Nz, dtype=np.int64).reshape(Nx*Ny*Nz, 8)</div>
<div>        <span class="GINGER_SOFATWARE_correct">cells</span> = VN<span class="GINGER_SOFATWARE_correct">.</span>numpy_to_vtkIdTypeArray<span class="GINGER_SOFATWARE_correct">(</span>cell_ids, deep=True)<br></div></div>
<div>        <span class="GINGER_SOFATWARE_correct">grid</span><span class="GINGER_SOFATWARE_correct">.</span>SetCells<span class="GINGER_SOFATWARE_correct">(</span><span class="GINGER_SOFATWARE_noSuggestion GINGER_SOFATWARE_correct">vtk</span><span class="GINGER_SOFATWARE_correct">.</span>VTK_HEXAHEDRON, cells)<br>
</div><div>#Returns error:</div><div>TypeError: function takes exactly 3 arguments (2 given).</div><div><br></div><div style>Any help is appreciated.</div><div style><br></div><div>Thanks,</div><div><br></div><div><br></div>
<div>Asaad</div></div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Apr 10, 2013 at 2:23 PM, Aso agile <span dir="ltr">&lt;<a href="mailto:aso.agile@gmail.com" target="_blank">aso.agile@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi ,<br><div class="gmail_quote"><div dir="ltr"><div><br></div><div>I am having problem with VTK&#39;s setCell for creating unstructured grid from a numpy array. I used following two methods to create cells:</div>

<div>        - using numpy_to_vtkIdTypeArray, which result in cell</div><div>        - using vtkCellArray and filling it with individual cell&#39;s poit list. Results stored in cells2 in the code</div><div>But both method return following error:</div>
<div><div class="h5">

<div><br></div><div>        # Create points</div><div>        grid_array = ...</div><div>        grid_array = grid_array.reshape(8*Nz*Ny*Nx,3)</div><div><div>        vtk_points = vtk.vtkPoints()</div>
<div>        grid = vtk.vtkUnstructuredGrid()</div><div>        points = VN.numpy_to_vtk(grid_array, deep=True)</div><div>        vtk_points.SetData(points)</div><div>        grid.SetPoints(vtk_points)</div></div><div>
<br></div><div><br></div><div><div>        # Create cells</div><div>        cell_ids = np.arange(0,8*Nx*Ny*Nz, dtype=np.int64).reshape(Nx*Ny*Nz, 8)</div><div>        cells = VN.numpy_to_vtkIdTypeArray(cell_ids, deep=True)        </div>


<div>        cells2 = vtk.vtkCellArray()</div><div>        for cell in cell_ids:</div><div>            pids = vtk.vtkIdList()</div><div>            for p in cell:</div><div>                pids.InsertNextId(p)</div><div>

            cells2.InsertNextCell(pids)</div>
<div>        print cells</div><div>        print cells2</div><div>        # Assign cells to grid and create unstructured grid. Error comes after this:</div><div>        grid.setCells(vtk.VTK_HEXAHEDRON, cells2)    # 12==vtk.VTK_HEXAHEDRON</div>


<div><br></div><div>AttributeError: setCells</div><div><br></div><div><br></div><div>I really appriciate your help. I spent 2 days on this problem googled it but couldn&#39;t find anything useful.</div>
<div><br></div><div>Regards,</div><div><br></div><div>Aso</div></div></div></div></div>
</div><br></div>
</blockquote></div><br></div>