# Avoid merging duplicated points

**URL:** https://discourse.paraview.org/t/avoid-merging-duplicated-points/12905
**Category:** ParaView Support
**Created:** [September 21, 2023, 4:20pm UTC](https://discourse.paraview.org/t/avoid-merging-duplicated-points/12905 "2023-09-21T16:20:26Z")
**Posts on this page:** 12
**Page:** 1

<div class="post-metadata">

### Author: ![sebasgut1](https://discourse.paraview.org/user_avatar/discourse.paraview.org/sebasgut1/32/11526_2.png) [@sebasgut1](https://discourse.paraview.org/u/sebasgut1)
#### Post date: [September 21, 2023, 4:20pm UTC](https://discourse.paraview.org/t/avoid-merging-duplicated-points/12905/1 "2023-09-21T16:20:26Z")

</div>

Hello,  
I am trying to upload a STL file that has plenty of points and most of them are duplicated. I noticed that it takes too long to upload it, but if I try to visualize it in Microsoft 3D Viewer, it takes only a few seconds. Maybe it takes that long because of the merging. Is there a way to upload a STL file without merging the duplicated points?

Thank you

---

<div class="post-metadata">

### Author: ![danlipsa](https://discourse.paraview.org/user_avatar/discourse.paraview.org/danlipsa/32/1563_2.png) [@danlipsa](https://discourse.paraview.org/u/danlipsa)
#### Post date: [September 21, 2023, 7:56pm UTC](https://discourse.paraview.org/t/avoid-merging-duplicated-points/12905/2 "2023-09-21T19:56:02Z")

</div>

Is setting  
DuplicatePointsForFaceTexture  
to False making a difference?

---

<div class="post-metadata">

### Author: ![mwestphal](https://discourse.paraview.org/user_avatar/discourse.paraview.org/mwestphal/32/17_2.png) [@mwestphal](https://discourse.paraview.org/u/mwestphal)
#### Post date: [September 22, 2023, 7:02am UTC](https://discourse.paraview.org/t/avoid-merging-duplicated-points/12905/3 "2023-09-22T07:02:46Z")

</div>

@sebasgut1 please share your dataset.

---

<div class="post-metadata">

### Author: ![sebasgut1](https://discourse.paraview.org/user_avatar/discourse.paraview.org/sebasgut1/32/11526_2.png) [@sebasgut1](https://discourse.paraview.org/u/sebasgut1)
#### Post date: [September 22, 2023, 1:15pm UTC](https://discourse.paraview.org/t/avoid-merging-duplicated-points/12905/4 "2023-09-22T13:15:12Z")

</div>

STLReader does not have that setting

---

<div class="post-metadata">

### Author: ![sebasgut1](https://discourse.paraview.org/user_avatar/discourse.paraview.org/sebasgut1/32/11526_2.png) [@sebasgut1](https://discourse.paraview.org/u/sebasgut1)
#### Post date: [September 22, 2023, 1:19pm UTC](https://discourse.paraview.org/t/avoid-merging-duplicated-points/12905/5 "2023-09-22T13:19:46Z")

</div>

I was not able to upload through this uploader, so here a link to the [stl file](https://we.tl/t-qIN6Gs1Z3c)

---

<div class="post-metadata">

### Author: ![jourdain](https://discourse.paraview.org/user_avatar/discourse.paraview.org/jourdain/32/11_2.png) [@jourdain](https://discourse.paraview.org/u/jourdain)
#### Post date: [September 22, 2023, 1:40pm UTC](https://discourse.paraview.org/t/avoid-merging-duplicated-points/12905/6 "2023-09-22T13:40:41Z")

</div>

The reader itself has the [flag](https://vtk.org/doc/nightly/html/classvtkSTLReader.html#a37bb358f1a0be79218f9162cd8fea529).

You just need an XML plugin to expose it I guess.

---

<div class="post-metadata">

### Author: ![sebasgut1](https://discourse.paraview.org/user_avatar/discourse.paraview.org/sebasgut1/32/11526_2.png) [@sebasgut1](https://discourse.paraview.org/u/sebasgut1)
#### Post date: [September 22, 2023, 2:59pm UTC](https://discourse.paraview.org/t/avoid-merging-duplicated-points/12905/7 "2023-09-22T14:59:08Z")

</div>

Is there a way to do it in pvpython with paraview?  
I was trying to do it with STLReader from Paraview, but does not work. With vtkSTLReader works but then the reader cannot be shown in paraview.simple.Show()

---

<div class="post-metadata">

### Author: ![danlipsa](https://discourse.paraview.org/user_avatar/discourse.paraview.org/danlipsa/32/1563_2.png) [@danlipsa](https://discourse.paraview.org/u/danlipsa)
#### Post date: [September 22, 2023, 4:22pm UTC](https://discourse.paraview.org/t/avoid-merging-duplicated-points/12905/8 "2023-09-22T16:22:49Z")

</div>

Indeed, that is for PLY, Sorry for the confusion.

---

<div class="post-metadata">

### Author: ![jourdain](https://discourse.paraview.org/user_avatar/discourse.paraview.org/jourdain/32/11_2.png) [@jourdain](https://discourse.paraview.org/u/jourdain)
#### Post date: [September 22, 2023, 5:04pm UTC](https://discourse.paraview.org/t/avoid-merging-duplicated-points/12905/9 "2023-09-22T17:04:00Z")

</div>

Yes, create a plugin (1 xml file) like [here](https://github.com/Kitware/ParaView/blob/master/Examples/Plugins/ReaderXMLOnly/Plugin/ReaderXMLOnly.xml) where you expose that extra property and then load that file as plugin.

---

<div class="post-metadata">

### Author: ![sebasgut1](https://discourse.paraview.org/user_avatar/discourse.paraview.org/sebasgut1/32/11526_2.png) [@sebasgut1](https://discourse.paraview.org/u/sebasgut1)
#### Post date: [September 25, 2023, 3:18pm UTC](https://discourse.paraview.org/t/avoid-merging-duplicated-points/12905/10 "2023-09-25T15:18:45Z")

</div>

[stlreader.xml](https://discourse.paraview.org/uploads/short-url/gTYcIv9f0ZyVOvaBkcY85cebIm4.xml) (948 Bytes)  
Like this?  
But is this only for GUI? Because I have a script. Since importing vtk in pvtyhon and using vtkSTLReader.MergingOff() works, is there a way to transform the polydata in way that paraview.simple.Show() understands? Because the other option is to change the whole script that has paraview.simple to vtk, but I prefer not to.

---

<div class="post-metadata">

### Author: ![jourdain](https://discourse.paraview.org/user_avatar/discourse.paraview.org/jourdain/32/11_2.png) [@jourdain](https://discourse.paraview.org/u/jourdain)
#### Post date: [September 25, 2023, 11:24pm UTC](https://discourse.paraview.org/t/avoid-merging-duplicated-points/12905/11 "2023-09-25T23:24:06Z")

</div>

More like

```xml
<ParaViewPlugin>
  <ServerManagerConfiguration>
    <ProxyGroup name="sources">
      <SourceProxy
        name="vtkSTLReader"
        class="vtkSTLReader"
        label="MySTLReader"
      >
        <IntVectorProperty 
          name="Merging"
          command="SetMerging"
          number_of_elements="1"
          default_values="0"
        >
          <BooleanDomain name="bool"/>
        </IntVectorProperty>

        <StringVectorProperty
          name="FileName"
          animateable="0"
          command="SetFileName"
          number_of_elements="1"
          panel_visibility="never"
        >
         <FileListDomain name="files"/>
        </StringVectorProperty>

        <Hints>
          <ReaderFactory extensions="stl" file_description="My stl Files" />
        </Hints>
      </SourceProxy>
    </ProxyGroup>
  </ServerManagerConfiguration>
</ParaViewPlugin>

```

And then do the following in a script

```python
import time
from pathlib import Path
from paraview import simple

t0 = time.time()

plugin_path = str(Path( __file__ ).with_name("plugin.xml").absolute())
file_path = str(Path( __file__ ).with_name("heatsink.stl").absolute())

simple.LoadPlugin(plugin_path, ns=globals())

reader = MySTLReader(FileName=file_path)
simple.Show(reader)
simple.Render()

t1 = time.time()

print(f"Load + render time {t1 - t0}s")

```

---

<div class="post-metadata">

### Author: ![sebasgut1](https://discourse.paraview.org/user_avatar/discourse.paraview.org/sebasgut1/32/11526_2.png) [@sebasgut1](https://discourse.paraview.org/u/sebasgut1)
#### Post date: [September 26, 2023, 8:13am UTC](https://discourse.paraview.org/t/avoid-merging-duplicated-points/12905/12 "2023-09-26T08:13:41Z")

</div>

It is faster now, thank you!!!
