[Paraview] Ensight Imort Multiblock Datasets

Bastil2001 at yahoo.de Bastil2001 at yahoo.de
Tue Jun 23 15:57:44 EDT 2009


Thanks Berk,

using the latest cvs I have problems:

from libvtkGraphicsPython import *

ImportError: libvtkGraphicsPythonD.so.pv3.7: File not found



I guess something is wrong with my installation?

I am not sure about your scripting. I prefer doing it during import
(modified reader) due to:

    * First reading mutliblockdataset and extracting blocks afterwards
      doubles memory requirements I think?
    * I still have all parts as a mutliblockdataset i think which I do
      not like (some filters do not run ...)

Am I right about that?

Regards BastiL

Berk Geveci schrieb:
> I had some fun doing this in Python. Here is a script that creates a
> Python filter for each block and names it with the block name. To run
> it, you need to select the Ensight reader and then run this script
> using the Python Shell under the Tools menu. This requires cvs
> ParaView unfortunately as I had to make some minor changes to make it
> work.
>
> Another hint: remember that you can turn on/off the visibility of
> multiple object by selecting them (using shift+click or control+click)
> in the pipeline browser and clicking on the visibility icon (the eye)
> of one of them.
>
> -berk
>
>
> from paraview.simple import *
>
> def extract_block(source, outputType, name, di, idx):
>     if name:
>         pf = ProgrammableFilter(source, registrationName=name)
>     else:
>         pf = ProgrammableFilter(source)
>     pf.OutputDataSetType = outputType
>     pf.Script = """
> input = self.GetInputDataObject(0, 0)
> self.GetOutputDataObject(0).ShallowCopy(input.GetBlock(%d))""" % idx
>     if outputType == 'vtkImageData' or outputType ==
> 'vtkStructuredGrid' or outputType == 'vtkRectilinearGrid':
>         pf.RequestInformationScript = """
> from paraview import util
> util.SetOutputWholeExtent(self, %r)""" % list(di.GetExtent())
>     Show(pf)
>
> source = GetActiveSource()
> if not source:
>     raise RuntimeError, "This macro needs an active pipeline object"
> source.UpdatePipeline()
> cdi = source.GetDataInformation().GetCompositeDataInformation()
> blocks = cdi.GetNumberOfChildren()
> for i in range(blocks):
>     di = cdi.GetDataInformation(i)
>     eb = extract_block(source, di.GetDataClassName(), cdi.GetName(i), di, i)
> Hide(source)
>
>
> On Sun, Jun 21, 2009 at 6:17 AM, BastiL2001<bastil2001 at yahoo.de> wrote:
>   
>> A nice sunday to everybody,
>>
>> first of all I have to thank all the Paraview developers who made the tool what it is today. After some correspondence on the mailing list I am able to use the tool with our models today the way I like :-).
>>
>> One thing I am not so happy with at the moment is how our Ensight-Multiblock-Data gets imported. An import generates one Multiblock-Dataset with every Ensight-Zone as a block. I have lots of zones and need to extract them all by hand. Maybe this could be scripted. Another problem is I use filter that do not work with multiblock-datasets quite often (resampleWithDataset, AppendAttributes,...). So in my eyes most effektive way of importing would be: Not generate ONE Multiblock-Dataset but generate an individuell unstructered Dataset for each Part of the ensight-File and name them after the Ensight Part names - this will give you e.g. 80 Parts in the Tree if you have 80 Ensight parts instead of one. I would not have to extract blocks afterwards. This duplicates the whole model. Furthermore, if I need unstructed Datasets, I need to run mergeBlocks additionally, producing even more Parts. All of this would not be essential if we had such an import filter.
>>  However, I do not really know how to modify the filter. Maybe someone can comment on that.
>>
>> Regards BastiL
>>
>>
>>
>> _______________________________________________
>> 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
>>
>> Follow this link to subscribe/unsubscribe:
>> http://www.paraview.org/mailman/listinfo/paraview
>>
>>     
>
>   




More information about the ParaView mailing list