Hi Cheng,

You can specify the i-j-k min/max indices in a structured grid dataset
to extract curviliner grid as wall using the vtkExtractGrid filter
through Programmable. Specifically, after adding Programmable Filter
and Changing the output type to vtkPolyDatat, there is something like
the following as Script:
-----
import vtk

mdi = self.GetInput()
sdo = self.GetOutput()
append = vtk.vtkAppendPolyData()

blockNo = 0
sg = mdi.GetBlock(blockNo)
ext = list(sg.GetExtent())
print ext

ext[0] = 0
ext[1] = 0
extractor = vtk.vtkExtractGrid()
extractor.SetInputData(sg)
extractor.SetVOI(ext)

surface0 = vtk.vtkGeometryFilter()
surface0.SetInputConnection(extractor.GetOutputPort())
surface0.Update()
append.AddInputData(surface0.GetOutput())

ext = list(sg.GetExtent())
ext[2] = 0
ext[3] = 0
extractor.SetVOI(ext)
extractor.Modified()
surface1 = vtk.vtkGeometryFilter()
surface1.SetInputConnection(extractor.GetOutputPort())
surface1.Update()
append.AddInputData(surface1.GetOutput())

append.Update()

sdo.ShallowCopy(append.GetOutput())
-----

Thanks

2017-11-30 5:32 GMT+09:00 程迪 <chengdi123...@gmail.com>:
> Hi paraviewers,
>
> I am using paraview to render results in CFL3D, which is in Plot3D format,
> including `abc.xyz` grid file and `abc.q` solution file. Besides, I have a
> boundary condition file `abc.xyz.fvbnd` in FieldView 1.3 format which was
> generated by grid pre-processor.
>
> My problem is: How to extract the surface of the aircraft?
>
> Because the Plot3D format is a multi-block curvilinear grid. When I use
> `Extract Surface` filter, it will extract the block interfaces. My current
> solution to combine blocks by `Merge Blocks` filter. Then I can extract the
> surfaces, including the outer boundary and the inner aircraft walls. After
> that, I need to clip the farfield and keep the aircraft walls. Is there a
> better solution?
>
> However, what I need to do is to evaluate the force on specific parts. So I
> need to use the information from the boundary condition file `abc.xyz.fvbnd`
> which indicates ranges of indexes in curvilinear grid as wall of certain
> parts. My problem is how to use it to generate several surfaces in paraview
> for rendering and integration.
>
>
> p.s. I am using paraview 5.4.1. The grid consists of farfield outer boundary
> and several aircraft parts' wall inner boundaries.
>
>
> Di Cheng
> Engineer of Research Center
> China Academy of Aerospace Aerodynamics
> Phone: +86-l58Ol5949ll
>
> Address: No.17, YunGang West Road, Fengtai District, Beijing, China
>
> Zip Code:100074
>
>
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the ParaView Wiki at:
> http://paraview.org/Wiki/ParaView
>
> Search the list archives at: http://markmail.org/search/?q=ParaView
>
> Follow this link to subscribe/unsubscribe:
> http://public.kitware.com/mailman/listinfo/paraview
>
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the ParaView Wiki at: 
http://paraview.org/Wiki/ParaView

Search the list archives at: http://markmail.org/search/?q=ParaView

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/paraview

Reply via email to