You can read about python scripting in paraview here:<br><br><a href="http://www.paraview.org/Wiki/ParaView/Python_Scripting">http://www.paraview.org/Wiki/ParaView/Python_Scripting</a><br><br>Paraview has the concept of an active source.  Making a source the active source in python is like selecting it in the gui.  For all operations, if no input is specified, the active source is used.  You can get the active source with GetActiveSource().  When you create a new object, like TrivialProducer(), it becomes the active source.<br>
<br>When creating a new source (or writer), you can specify the input(s) explicity using arguments to the constructor.  Or you can specify a Input keyword argument that takes a list.  Such as:<br><br>AppendDatasets(source1, source2)<br>
 or<br>AppendDatasets(Input=[source1, source2])<br><br>Pat<br><br><div class="gmail_quote">On Wed, Apr 28, 2010 at 6:22 PM,  <span dir="ltr">&lt;<a href="mailto:wastrel@gmail.com">wastrel@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Thanks. I just tired it and it seems to work. But how does the writer figure out the input object?<br>
<br>Is there any detailed documentation on pvpython?<br><br>Thanks,<br><br>Ken<div><div></div><div class="h5"><br><br>
<br><br><div class="gmail_quote">On Sun, Apr 25, 2010 at 6:37 AM, Utkarsh Ayachit <span dir="ltr">&lt;<a href="mailto:utkarsh.ayachit@kitware.com" target="_blank">utkarsh.ayachit@kitware.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">


Here&#39;s a modified version of the script, using the updated python<br>
scripting style (since ParaView 3.6)<br>
<div><br>
<br>
from paraview.simple import *<br>
from paraview.simple import servermanager as sm<br>
from paraview import vtk<br>
<br>
</div><div># Set the pvpython path<br>
INPUTFILE=&quot;test.vtu&quot;<br>
OUTPUTFILE=&quot;tested.vtu&quot;<br>
<br>
# create a reader<br>
</div>reader=XMLUnstructuredGridReader(FileName=INPUTFILE)<br>
<div><br>
# get the data i.e moves data from the server to the client<br>
data=sm.Fetch(reader)<br>
<br>
</div>tp=TrivialProducer()<br>
<div>obj=tp.GetClientSideObject()<br>
obj.SetOutput(data)<br>
<br>
</div>writer=XMLUnstructuredGridWriter(DataMode=2,FileName=OUTPUTFILE)<br>
writer.UpdatePipeline()<br>
<font color="#888888"><br>
<br>
Utkarsh<br>
</font><div><div></div><div><br>
On Sat, Apr 24, 2010 at 3:24 PM,  &lt;<a href="mailto:wastrel@gmail.com" target="_blank">wastrel@gmail.com</a>&gt; wrote:<br>
&gt; I simplified the code and tried it on Paraview3.8.0. It reads in a vtu file,<br>
&gt; fetch the data and then write it back to a new file. But still got errors as<br>
&gt; follow.<br>
&gt;<br>
&gt; Script:<br>
&gt;<br>
&gt; from paraview.simple import *<br>
&gt; from paraview.simple import servermanager as sm<br>
&gt; from paraview import vtk<br>
&gt;<br>
&gt; # connect internally<br>
&gt; connection=sm.Connect()<br>
&gt;<br>
&gt; # Set the pvpython path<br>
&gt; INPUTFILE=&quot;test.vtu&quot;<br>
&gt; OUTPUTFILE=&quot;tested.vtu&quot;<br>
&gt;<br>
&gt; # create a reader<br>
&gt; reader=sm.sources.XMLUnstructuredGridReader(FileName=INPUTFILE)<br>
&gt;<br>
&gt; # get the data i.e moves data from the server to the client<br>
&gt; data=sm.Fetch(reader)<br>
&gt;<br>
&gt; tp=sm.sources.TrivialProducer()<br>
&gt; obj=tp.GetClientSideObject()<br>
&gt; obj.SetOutput(data)<br>
&gt;<br>
&gt; writer=sm.writers.XMLUnstructuredGridWriter(DataMode=2,FileName=OUTPUTFILE,Input=obj)<br>
&gt;<br>
&gt; writer.UpdatePipeline()<br>
&gt;<br>
&gt;<br>
&gt; Errors:<br>
&gt;<br>
&gt; getting appended<br>
&gt; vtkReductionFilter : [ ...........]<br>
&gt; Traceback (most recent call last):<br>
&gt;   File &quot;convert.py&quot;, line 88, in &lt;module&gt;<br>
&gt;<br>
&gt; writer=sm.writers.XMLUnstructuredGridWriter(DataMode=2,FileName=OUTPUTFILE,Input=obj)<br>
&gt;   File<br>
&gt; &quot;/home/kitware/ParaView-3-8/ParaView-3.8/ParaView3Bin/Utilities/VTKPythonWrapping/paraview/servermanager.py&quot;,<br>
&gt; line 186, in __init__<br>
&gt;   File<br>
&gt; &quot;/home/kitware/ParaView-3-8/ParaView-3.8/ParaView3Bin/Utilities/VTKPythonWrapping/paraview/servermanager.py&quot;,<br>
&gt; line 204, in __setattr__<br>
&gt;   File<br>
&gt; &quot;/home/kitware/ParaView-3-8/ParaView-3.8/ParaView3Bin/Utilities/VTKPythonWrapping/paraview/servermanager.py&quot;,<br>
&gt; line 2361, in setProperty<br>
&gt;   File<br>
&gt; &quot;/home/kitware/ParaView-3-8/ParaView-3.8/ParaView3Bin/Utilities/VTKPythonWrapping/paraview/servermanager.py&quot;,<br>
&gt; line 253, in SetPropertyWithName<br>
&gt;   File<br>
&gt; &quot;/home/kitware/ParaView-3-8/ParaView-3.8/ParaView3Bin/Utilities/VTKPythonWrapping/paraview/servermanager.py&quot;,<br>
&gt; line 1162, in SetData<br>
&gt; AttributeError: SMProxy<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; Any clues?<br>
&gt;<br>
&gt;<br>
&gt; On Sat, Apr 24, 2010 at 9:41 AM, Utkarsh Ayachit<br>
&gt; &lt;<a href="mailto:utkarsh.ayachit@kitware.com" target="_blank">utkarsh.ayachit@kitware.com</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; Here are my results from 3.7 (consequently 3.8 or git master should<br>
&gt;&gt; work as well).<br>
&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt; from paraview.simple import *<br>
&gt;&gt; paraview version 3.7.0, Date: 2010-03-27<br>
&gt;&gt; &gt;&gt;&gt; TrivialProducer()<br>
&gt;&gt; &lt;paraview.servermanager.TrivialProducer object at 0x121587e90&gt;<br>
&gt;&gt; &gt;&gt;&gt; servermanager.sources.TrivialProducer()<br>
&gt;&gt; &lt;paraview.servermanager.TrivialProducer object at 0x121587d50&gt;<br>
&gt;&gt;<br>
&gt;&gt; Utkarsh<br>
&gt;&gt;<br>
&gt;&gt; On Fri, Apr 23, 2010 at 5:44 PM, Utkarsh Ayachit<br>
&gt;&gt; &lt;<a href="mailto:utkarsh.ayachit@kitware.com" target="_blank">utkarsh.ayachit@kitware.com</a>&gt; wrote:<br>
&gt;&gt; &gt; You no longer need the initial part for loading the XML. You can<br>
&gt;&gt; &gt; directly use:<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;  tp = sm.sources.TrivialProducer()<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; and that should work.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Utkarsh<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; On Fri, Apr 23, 2010 at 5:09 PM,  &lt;<a href="mailto:wastrel@gmail.com" target="_blank">wastrel@gmail.com</a>&gt; wrote:<br>
&gt;&gt; &gt;&gt; I used the the following snippet to generate data on the client side<br>
&gt;&gt; &gt;&gt; but<br>
&gt;&gt; &gt;&gt; ended up with errors:<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Code:<br>
&gt;&gt; &gt;&gt; sm = servermanager<br>
&gt;&gt; &gt;&gt; f = open(&#39;trivialproducer.xml&#39;, &#39;r&#39;)<br>
&gt;&gt; &gt;&gt; parser = sm.vtkSMXMLParser()<br>
&gt;&gt; &gt;&gt; parser.Parse(f.read())<br>
&gt;&gt; &gt;&gt; parser.ProcessConfiguration(sm.vtkSMObject.GetProxyManager())<br>
&gt;&gt; &gt;&gt; # Update the modules<br>
&gt;&gt; &gt;&gt; sm._updateModules()<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; tp = sm.sources.TrivialProducer()<br>
&gt;&gt; &gt;&gt; obj = tp.GetClientSideObject()<br>
&gt;&gt; &gt;&gt; obj.SetOutput(pd)<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; # use tp as any other source proxy<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; trivialproducer.xml:<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &lt;ServerManagerConfiguration&gt;<br>
&gt;&gt; &gt;&gt; &lt;ProxyGroup name=&quot;sources&quot;&gt;<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &lt;SourceProxy name=&quot;TrivialProducer&quot;<br>
&gt;&gt; &gt;&gt; class=&quot;vtkPVTrivialProducer&quot;&gt;<br>
&gt;&gt; &gt;&gt; &lt;/SourceProxy&gt;<br>
&gt;&gt; &gt;&gt; &lt;/ProxyGroup&gt;<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Errors:<br>
&gt;&gt; &gt;&gt; ERROR: In<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; /home/berk/Work/ReleaseBuilds/ParaView3/Servers/Common/vtkProcessModule.cxx,<br>
&gt;&gt; &gt;&gt; line 1001<br>
&gt;&gt; &gt;&gt; vtkProcessModule (0x807b790): Cannot create object of type<br>
&gt;&gt; &gt;&gt; &quot;vtkPVTrivialProducer&quot;.<br>
&gt;&gt; &gt;&gt; while processing<br>
&gt;&gt; &gt;&gt; Message 0 = New<br>
&gt;&gt; &gt;&gt;   Argument 0 = string_value {vtkPVTrivialProducer}<br>
&gt;&gt; &gt;&gt;   Argument 1 = id_value {40}<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; ERROR: In<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; /home/berk/Work/ReleaseBuilds/ParaView3/Servers/Common/vtkProcessModule.cxx,<br>
&gt;&gt; &gt;&gt; line 1002<br>
&gt;&gt; &gt;&gt; vtkProcessModule (0x807b790): Aborting execution for debugging<br>
&gt;&gt; &gt;&gt; purposes.<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Abort<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; _______________________________________________<br>
&gt;&gt; &gt;&gt; Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Visit other Kitware open-source projects at<br>
&gt;&gt; &gt;&gt; <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Please keep messages on-topic and check the ParaView Wiki at:<br>
&gt;&gt; &gt;&gt; <a href="http://paraview.org/Wiki/ParaView" target="_blank">http://paraview.org/Wiki/ParaView</a><br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Follow this link to subscribe/unsubscribe:<br>
&gt;&gt; &gt;&gt; <a href="http://www.paraview.org/mailman/listinfo/paraview" target="_blank">http://www.paraview.org/mailman/listinfo/paraview</a><br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;<br>
&gt;<br>
&gt;<br>
</div></div></blockquote></div><br>
</div></div><br>_______________________________________________<br>
Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Please keep messages on-topic and check the ParaView Wiki at: <a href="http://paraview.org/Wiki/ParaView" target="_blank">http://paraview.org/Wiki/ParaView</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://www.paraview.org/mailman/listinfo/paraview" target="_blank">http://www.paraview.org/mailman/listinfo/paraview</a><br>
<br></blockquote></div><br>