# C# - Punti di una curva

**URL:** <https://it.discourse.mcneel.com/t/c-punti-di-una-curva/4885>\
**Category:** Scripting e Programmazione\
**Created:** [22 Gennaio 2023, 9:30pm UTC](https://it.discourse.mcneel.com/t/c-punti-di-una-curva/4885 "2023-01-22T21:30:27Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![luca.filippone](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/luca.filippone/32/16173_2.png) [@luca.filippone](https://it.discourse.mcneel.com/u/luca.filippone)\
**Post date:** [22 Gennaio 2023, 9:30pm UTC](https://it.discourse.mcneel.com/t/c-punti-di-una-curva/4885/1 "2023-01-22T21:30:27Z")

</div>

Ho ricostruito una curva definendone il numero di punti.  
Adesso vorrei inserire questi punti in una lista: come posso fare? Quale metodo si usa?

---

<div class="post-metadata">

**Author:** ![Sergio\_Alessi](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/sergio_alessi/32/22676_2.png) [@Sergio\_Alessi](https://it.discourse.mcneel.com/u/Sergio_Alessi)\
**Post date:** [22 Gennaio 2023, 9:54pm UTC](https://it.discourse.mcneel.com/t/c-punti-di-una-curva/4885/2 "2023-01-22T21:54:45Z")

</div>

… da che tipo di dati parti? Gh oppure Rhinocommon?  
La domanda è troppo generica.

---

<div class="post-metadata">

**Author:** ![luca.filippone](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/luca.filippone/32/16173_2.png) [@luca.filippone](https://it.discourse.mcneel.com/u/luca.filippone)\
**Post date:** [22 Gennaio 2023, 9:57pm UTC](https://it.discourse.mcneel.com/t/c-punti-di-una-curva/4885/3 "2023-01-22T21:57:09Z")

</div>

![image](https://global.discourse-cdn.com/mcneel/uploads/mcneel_it/original/2X/1/17b3ca77ff6b80a6101b58f5cf9ae8164e435f83.png)

---

<div class="post-metadata">

**Author:** ![Sergio\_Alessi](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/sergio_alessi/32/22676_2.png) [@Sergio\_Alessi](https://it.discourse.mcneel.com/u/Sergio_Alessi)\
**Post date:** [22 Gennaio 2023, 10:55pm UTC](https://it.discourse.mcneel.com/t/c-punti-di-una-curva/4885/4 "2023-01-22T22:55:21Z")

</div>

Le list supportano i metodi insert oppure insertrange  
… mi sembra.  
Immagino che il tuo fine sia ridurre il numero di  
punti. Dovrai creare un ciclo che riducendo il numero di punti valuta di volta in volta la deviazione.

---

<div class="post-metadata">

**Author:** ![luca.filippone](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/luca.filippone/32/16173_2.png) [@luca.filippone](https://it.discourse.mcneel.com/u/luca.filippone)\
**Post date:** [22 Gennaio 2023, 11:00pm UTC](https://it.discourse.mcneel.com/t/c-punti-di-una-curva/4885/5 "2023-01-22T23:00:36Z")

</div>

> [@luca.filippone](#):
>
> vorrei inserire questi punti in una lista

Mi cito: mi interessa solo questo al momento Sergio, la deviazione massima non credo.

---

<div class="post-metadata">

**Author:** ![Sergio\_Alessi](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/sergio_alessi/32/22676_2.png) [@Sergio\_Alessi](https://it.discourse.mcneel.com/u/Sergio_Alessi)\
**Post date:** [22 Gennaio 2023, 11:06pm UTC](https://it.discourse.mcneel.com/t/c-punti-di-una-curva/4885/6 "2023-01-22T23:06:41Z")

</div>

Usi insert o aumenti il numero in rebuild

---

<div class="post-metadata">

**Author:** ![luca.filippone](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/luca.filippone/32/16173_2.png) [@luca.filippone](https://it.discourse.mcneel.com/u/luca.filippone)\
**Post date:** [22 Gennaio 2023, 11:11pm UTC](https://it.discourse.mcneel.com/t/c-punti-di-una-curva/4885/7 "2023-01-22T23:11:37Z")

</div>

> [@Sergio\_Alessi](#):
>
> aumenti il numero in rebuild

aumento il numero, come da immagine sopra.

---

<div class="post-metadata">

**Author:** ![Sergio\_Alessi](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/sergio_alessi/32/22676_2.png) [@Sergio\_Alessi](https://it.discourse.mcneel.com/u/Sergio_Alessi)\
**Post date:** [23 Gennaio 2023, 6:53am UTC](https://it.discourse.mcneel.com/t/c-punti-di-una-curva/4885/8 "2023-01-23T06:53:52Z")

</div>

La lista dei punti (editpoints) la ottieni con il metodo GrevillePoints.

---

<div class="post-metadata">

**Author:** ![RiccardoMajewski](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/riccardomajewski/32/22945_2.png) [@RiccardoMajewski](https://it.discourse.mcneel.com/u/RiccardoMajewski)\
**Post date:** [23 Gennaio 2023, 11:53am UTC](https://it.discourse.mcneel.com/t/c-punti-di-una-curva/4885/9 "2023-01-23T11:53:46Z")

</div>

Per i punti di controllo, puoi usare System.Linq e fare:

`Point3d[] pts = crv.ToNurbsCurve().Points.Select(controlPt => controlPt.Location);`

o

`List<Point3d> pts = crv.ToNurbsCurve().Points.Select(controlPt => controlPt.Location).ToList();`

---

<div class="post-metadata">

**Author:** ![luca.filippone](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/luca.filippone/32/16173_2.png) [@luca.filippone](https://it.discourse.mcneel.com/u/luca.filippone)\
**Post date:** [23 Gennaio 2023, 9:09pm UTC](https://it.discourse.mcneel.com/t/c-punti-di-una-curva/4885/11 "2023-01-23T21:09:03Z")

</div>

Così ottengo i punti di controllo, comunque molto interessante, grazie Ricc.

---

<div class="post-metadata">

**Author:** ![luca.filippone](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/luca.filippone/32/16173_2.png) [@luca.filippone](https://it.discourse.mcneel.com/u/luca.filippone)\
**Post date:** [25 Gennaio 2023, 12:23pm UTC](https://it.discourse.mcneel.com/t/c-punti-di-una-curva/4885/12 "2023-01-25T12:23:50Z")

</div>

Devo ancora provare, grazie anche a te Sergio
