[Paraview] How to re-render or update the window through python script

Junyi Han demonmerlin at gmail.com
Fri Nov 8 15:01:27 EST 2013


Thanks Burlen, it works well now.


2013/11/8 Burlen Loring <bloring at lbl.gov>

>  you're leaking a dataset with each iteration. You need to
>
> Delete(reader)
> del reader
>
> each iteration.
>
>
> --- original.py 2013-11-08 11:52:45.746871024 -0800
> +++ fixleak.py  2013-11-08 11:56:32.226876191 -0800
> @@ -15,15 +15,13 @@
>
>
>  while true == 1:
>      OutPutFile = OutPutLocation+'local_'+str(count).zfill(4)+'.vtk'
> -
> -    while exist == 0:
> -        try:
> -            with open(OutPutFile):
> -                exist = 1
> -        except IOError:
> -            exist = 0
> -    exist = 0
> -
> +    if os.path.exists(OutPutFile)
> +        raise RuntimeError('File %s deosnt exist'%(OutPutFile))
> +
> +    if reader:
> +        Delete(reader)
> +        del reader
> +
>      reader = OpenDataFile(OutPutFile)
>
>      reader.PointData
> @@ -47,13 +45,5 @@
>          cam.Elevation(30)
>          cam.Azimuth(30)
>          Render()
> -
> +
>      count = count + 1
> -# Stop the script killing itself
> -    nOutPutFile = OutPutLocation+'local_'+str(count).zfill(4)+'.vtk'
> -    while exist == 0:
> -        try:
> -            with open(nOutPutFile):
> -                exist = 1
> -        except IOError:
> -            exist = 0
>
>
>
> On 11/08/2013 10:34 AM, Junyi Han wrote:
>
>  Hi,
>
>  Thanks for your reply. Below is my script:
>
>
>  '''
> Created on 29 Oct 2013
>
>  @author: Junyi Han
> '''
> from paraview.simple import *
>
>  PVServer = 'localhost'
> OutPutLocation = '/home/johnny/Application/DPD/myDPD-PVersion/'
> exist = 0
> count = 0
> true = 1
>
>  Connect(PVServer)
>
>  while true == 1:
>     OutPutFile = OutPutLocation+'local_'+str(count).zfill(4)+'.vtk'
>
>     while exist == 0:
>         try:
>             with open(OutPutFile):
>                 exist = 1
>         except IOError:
>             exist = 0
>     exist = 0
>
>     reader = OpenDataFile(OutPutFile)
>
>      reader.PointData
>     view = GetRenderView()
>
>      dp = GetDisplayProperties()
>     dp.Representation = 'Surface'
>
>      readerRep = GetRepresentation()
>     readerRep.ColorArrayName = 'density_01'
>
>  # Force read
>     reader.UpdatePipeline()
>
>      Show(reader)
>     Render()
>
>  # Get a nice view angle
>     if count == 0:
>         cam = GetActiveCamera()
>         cam.Elevation(30)
>         cam.Azimuth(30)
>         Render()
>
>     count = count + 1
> # Stop the script killing itself
>     nOutPutFile = OutPutLocation+'local_'+str(count).zfill(4)+'.vtk'
>     while exist == 0:
>         try:
>             with open(nOutPutFile):
>                 exist = 1
>         except IOError:
>             exist = 0
>
>
>
> 2013/11/8 Burlen Loring <bloring at lbl.gov>
>
>>  it sounds like what happens when one leaks datasets, filters, or other
>> vtk objects that hold large amounts of data. Could you share your script?
>>
>>
>> On 11/08/2013 09:55 AM, Junyi Han wrote:
>>
>>  Hi,
>>
>>  I'm using python script to read data files. Render() function is called
>> as many times as the number of files. I found that after I call render()
>> for 40 or 50 times, the speed of rendering is very slow. Is there a way to
>> solve it? Instead of calling Render() function several times, is there a
>> way to update or re-render?
>>
>>  Best wishes,
>> Junyi Han
>>
>>
>>  _______________________________________________
>> 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
>>
>>
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.paraview.org/pipermail/paraview/attachments/20131108/9927ce4d/attachment.htm>


More information about the ParaView mailing list