# Differenze tra linee

**URL:** <https://it.discourse.mcneel.com/t/differenze-tra-linee/2823>\
**Category:** Rhino Windows\
**Created:** [28 Dicembre 2019, 4:49pm UTC](https://it.discourse.mcneel.com/t/differenze-tra-linee/2823 "2019-12-28T16:49:34Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![0904](https://avatars.discourse-cdn.com/v4/letter/0/b3f665/32.png) [@0904](https://it.discourse.mcneel.com/u/0904)\
**Post date:** [28 Dicembre 2019, 4:49pm UTC](https://it.discourse.mcneel.com/t/differenze-tra-linee/2823/1 "2019-12-28T16:49:35Z")

</div>

che differenza tra una “polilinea chiusa” e una “policurva chiusa” e “Curva NURBS chiusa”?

---

<div class="post-metadata">

**Author:** ![giuseppe](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/giuseppe/32/16416_2.png) [@giuseppe](https://it.discourse.mcneel.com/u/giuseppe)\
**Post date:** [28 Dicembre 2019, 5:01pm UTC](https://it.discourse.mcneel.com/t/differenze-tra-linee/2823/2 "2019-12-28T17:01:49Z")

</div>

POlilinea: insieme di curve deg1 connesse.  
Policurva: insime generico di curve connesse. Se gradi diversi la curva composta prende il grado della più alta delle componenti.  
Curva NURBS chiusa… una curva unica chiusa.

---

<div class="post-metadata">

**Author:** ![0904](https://avatars.discourse-cdn.com/v4/letter/0/b3f665/32.png) [@0904](https://it.discourse.mcneel.com/u/0904)\
**Post date:** [28 Dicembre 2019, 5:18pm UTC](https://it.discourse.mcneel.com/t/differenze-tra-linee/2823/3 "2019-12-28T17:18:21Z")

</div>

ciao Giuseppe 👍

---

<div class="post-metadata">

**Author:** ![0904](https://avatars.discourse-cdn.com/v4/letter/0/b3f665/32.png) [@0904](https://it.discourse.mcneel.com/u/0904)\
**Post date:** [28 Dicembre 2019, 5:27pm UTC](https://it.discourse.mcneel.com/t/differenze-tra-linee/2823/4 "2019-12-28T17:27:20Z")

</div>

è possibile tramite script sapere se una geometria chiusa è una curva Nurbs ?

---

<div class="post-metadata">

**Author:** ![giuseppe](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/giuseppe/32/16416_2.png) [@giuseppe](https://it.discourse.mcneel.com/u/giuseppe)\
**Post date:** [28 Dicembre 2019, 5:58pm UTC](https://it.discourse.mcneel.com/t/differenze-tra-linee/2823/5 "2019-12-28T17:58:13Z")

</div>

```auto
import rhinoscriptsyntax as rs
      obj = rs.GetObject("Select a polycurve")
      if rs.IsPolyCurve(obj):
          print "The object is a polycurve."
      else:
          print "The object is not a polycurve."

```

Copiato e incollato dall’help… ci aggiungi IsCurveClosed…

---

<div class="post-metadata">

**Author:** ![0904](https://avatars.discourse-cdn.com/v4/letter/0/b3f665/32.png) [@0904](https://it.discourse.mcneel.com/u/0904)\
**Post date:** [28 Dicembre 2019, 6:12pm UTC](https://it.discourse.mcneel.com/t/differenze-tra-linee/2823/6 "2019-12-28T18:12:19Z")

</div>

```
Dim crv: crv = Rhino.GetObject
If Rhino.IsPolyCurve(crv) Then
	If Rhino.IsCurveClosed(crv) Then Rhino.Print "Curva NURBS Chiusa"
End If

```

l’esempio è con RScript non cambia ma purtroppo non va il codice  
ho provato anche solo con Rhino.IsPolyCurve ma forse non è il parametro per “Curva NURBS”

---

<div class="post-metadata">

**Author:** ![giuseppe](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/giuseppe/32/16416_2.png) [@giuseppe](https://it.discourse.mcneel.com/u/giuseppe)\
**Post date:** [28 Dicembre 2019, 6:25pm UTC](https://it.discourse.mcneel.com/t/differenze-tra-linee/2823/7 "2019-12-28T18:25:18Z")

</div>

Come diciamo dalle mie parti…  
Io nun te so che dì… qui funziona

 ![polycurve](https://global.discourse-cdn.com/mcneel/uploads/mcneel_it/original/2X/d/d932a34284522b0a5b9c67663705345ee9701508.jpeg)

---

<div class="post-metadata">

**Author:** ![emilio](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/emilio/32/16095_2.png) [@emilio](https://it.discourse.mcneel.com/u/emilio)\
**Post date:** [28 Dicembre 2019, 7:16pm UTC](https://it.discourse.mcneel.com/t/differenze-tra-linee/2823/8 "2019-12-28T19:16:58Z")

</div>

Ciao Salvio

> [@0904](#):
>
> If Rhino.IsPolyCurve(crv) Then  
> If Rhino.IsCurveClosed(crv) Then Rhino.Print “Curva NURBS Chiusa”

Questo ti trova una policurva chiusa.  
Se vuoi escludere le policurve, io scriverei

```auto
If Not Rhino.IsPolyCurve(crv) Then 
    If Rhino.IsCurveClosed(crv) Then Rhino.Print "Curva NURBS Chiusa"

```

… Oppure non ho capito cosa vuoi fare … come sempre 😄

---

<div class="post-metadata">

**Author:** ![0904](https://avatars.discourse-cdn.com/v4/letter/0/b3f665/32.png) [@0904](https://it.discourse.mcneel.com/u/0904)\
**Post date:** [28 Dicembre 2019, 9:01pm UTC](https://it.discourse.mcneel.com/t/differenze-tra-linee/2823/9 "2019-12-28T21:01:56Z")

</div>

ciao Emilio,

> [@0904](#):
>
> ho provato anche solo con Rhino.IsPolyCurve

```
If Rhino.IsPolyCurve(crv) Then
	Rhino.Print "Curva NURBS"
End If

```

ho anche provato solo come esempio sopra ma non torna il print

Giuseppe, dalla foto postata lo script rimanda la conferma di una Polycurve  
mentre io avevo bisogno che lo script verificasse una “Curva Nurbs”  
è possibile?

---

<div class="post-metadata">

**Author:** ![giuseppe](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/giuseppe/32/16416_2.png) [@giuseppe](https://it.discourse.mcneel.com/u/giuseppe)\
**Post date:** [28 Dicembre 2019, 9:10pm UTC](https://it.discourse.mcneel.com/t/differenze-tra-linee/2823/10 "2019-12-28T21:10:47Z")

</div>

Salvio dimmi che scherzi… 🤣 se non è una curva composita… è una curva singola…una curva nurbs singola

---

<div class="post-metadata">

**Author:** ![0904](https://avatars.discourse-cdn.com/v4/letter/0/b3f665/32.png) [@0904](https://it.discourse.mcneel.com/u/0904)\
**Post date:** [28 Dicembre 2019, 9:22pm UTC](https://it.discourse.mcneel.com/t/differenze-tra-linee/2823/11 "2019-12-28T21:22:28Z")

</div>

```
curva  
  ID: 7b347c2a-969d-4c66-9aad-07b94196d95a (3222)
  Nome del livello: Predefinito
  Materiale di rendering: 
    sorgente = da livello
    indice = -1
  Geometria:
    Curva valida.
    Curva NURBS chiusa
      inizio = (-100,-300,0)
      fine = (-100,-300,0)
      grado = 3
      punti di controllo: non-razionali, numero=23(1 duplicato)
      nodi: non-uniformi, dominio = da 0 a 260
      fissato all'inizio ed alla fine
      La curva non è smussata. Se la si esplode, si otterranno due o più curve.
```

---

<div class="post-metadata">

**Author:** ![giuseppe](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/giuseppe/32/16416_2.png) [@giuseppe](https://it.discourse.mcneel.com/u/giuseppe)\
**Post date:** [28 Dicembre 2019, 9:28pm UTC](https://it.discourse.mcneel.com/t/differenze-tra-linee/2823/12 "2019-12-28T21:28:05Z")

</div>

La ultima riga ti dice tutto: è una policurva.

---

<div class="post-metadata">

**Author:** ![0904](https://avatars.discourse-cdn.com/v4/letter/0/b3f665/32.png) [@0904](https://it.discourse.mcneel.com/u/0904)\
**Post date:** [28 Dicembre 2019, 9:33pm UTC](https://it.discourse.mcneel.com/t/differenze-tra-linee/2823/13 "2019-12-28T21:33:15Z")

</div>

bisogna esploderla prima e poi unificarla di nuovo quindi  
e una curva chiusa uscita dopo aver usato il comando “piega”  
fa questo giochetto dice che è una curva nurbs ma se esplosa diventa una poly

---

<div class="post-metadata">

**Author:** ![0904](https://avatars.discourse-cdn.com/v4/letter/0/b3f665/32.png) [@0904](https://it.discourse.mcneel.com/u/0904)\
**Post date:** [28 Dicembre 2019, 9:37pm UTC](https://it.discourse.mcneel.com/t/differenze-tra-linee/2823/14 "2019-12-28T21:37:10Z")

</div>

ps non so se esiste già ma sarebbe utile che ci fosse nella guida una lista di tutti i comandi con il quale dopo aver usato i comandi elencati, fosse descritto anche come poterli lavorare al meglio (mia opinione)

ps grazie comunque come sempre 👍

---

<div class="post-metadata">

**Author:** ![giuseppe](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/giuseppe/32/16416_2.png) [@giuseppe](https://it.discourse.mcneel.com/u/giuseppe)\
**Post date:** [28 Dicembre 2019, 9:39pm UTC](https://it.discourse.mcneel.com/t/differenze-tra-linee/2823/15 "2019-12-28T21:39:22Z")

</div>

Salvio spiegami esattamente che devi fare. Ripartiamo dall’inizio. Non mi dire cosa ti serve ma solo quello che devi fare.

---

<div class="post-metadata">

**Author:** ![0904](https://avatars.discourse-cdn.com/v4/letter/0/b3f665/32.png) [@0904](https://it.discourse.mcneel.com/u/0904)\
**Post date:** [28 Dicembre 2019, 9:58pm UTC](https://it.discourse.mcneel.com/t/differenze-tra-linee/2823/16 "2019-12-28T21:58:11Z")

</div>

o varie curve che dopo averle selezionate uso il comando booleana curve

dopo la booleana ho provato con il comando piega per deformarla  
e mi sono ritrovato con una “curva nurbs” come postato in precedenza

ora essendo che dovevo verificare di quando si era modificato un segmento  
sia dell’originaria “booleana” che della derivata “copia di piega” mi sono scritto uno script

per semplificare dopo vari tentativi che non mi soddisfacevano stavo provando inserendo “EstraiSubCrv”  
solo che “EstraiSubCrv” non accetta la copia del comando “piega” mentre l’originale della booleana si

usando il comando “converti in archi” sulla copia di piega ho costatato che mi ritrovavo con una policurva chiusa cosi come la curva dopo la booleana e quindi l’intenzione era di modificare lo script in modo che:  
quando selezionavo la curva e nella verifica risultasse una “curva nurbs” lo script mi convertiva in archi e quindi passare direttamente al comando “EstraiSubCrv” per poter fare il confronto con la booleana.

---

<div class="post-metadata">

**Author:** ![emilio](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/emilio/32/16095_2.png) [@emilio](https://it.discourse.mcneel.com/u/emilio)\
**Post date:** [28 Dicembre 2019, 10:06pm UTC](https://it.discourse.mcneel.com/t/differenze-tra-linee/2823/17 "2019-12-28T22:06:56Z")

</div>

> [@0904](#):
>
> “EstraiSubCrv” non accetta la copia del comando “piega”

Scusa Salvio, hai provato a eseguirci SimplifyCurve, per vedere se dopo ti estrae la subcurve ?  
E’ solo un tentativo …

… Anche se non capisco come intendi usare poi la subcurve per fare il confronto con l’altra curva … 😕

---

<div class="post-metadata">

**Author:** ![0904](https://avatars.discourse-cdn.com/v4/letter/0/b3f665/32.png) [@0904](https://it.discourse.mcneel.com/u/0904)\
**Post date:** [28 Dicembre 2019, 10:23pm UTC](https://it.discourse.mcneel.com/t/differenze-tra-linee/2823/18 "2019-12-28T22:23:14Z")

</div>

appena provato Emilio ma nessuna curva semplificata  
comunque il problema rimaneva lo stesso essendo che o “SimplifyCurve” o “converti in archi” doveva partire in automatico dopo la verifica se avessi selezionata una “curva nurbs” essendo che in questo caso mi serve

> [@emilio](#):
>
> confronto con l’altra curva

mi serve la lunghezza di un lato di questa curva chiusa, quindi ho provato prima usando Rhino.CurveLength con il subdomain funziona bene anche se avevo dovuto risolvere il problema di inserire prima il dominio minore è poi quello maggiore ma avevo risolto subito.  
fino a quando mi ritrovo con una curva chiusa e capita una cosa strana, che anche se seleziono punti ravvicinati mi ritorna la lunghezza no del dominio selezionato ma del dominio “restante”

quindi rimboccandomi le mani avevo pensato di creare una subcurva misurarla e poi cancellarla  
anche qui andava quasi bene solo che a volte capita delle intersezioni ravvicinate che fanno prendere una misura non precisa e quindi avevo pensato di aggiungere a questo script la possibilità di misurare la lunghezza dell’intero segmento tramite ausilio di “EstraiSubCrv” estraendo i segmenti per compararli

---

<div class="post-metadata">

**Author:** ![emilio](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/emilio/32/16095_2.png) [@emilio](https://it.discourse.mcneel.com/u/emilio)\
**Post date:** [28 Dicembre 2019, 10:55pm UTC](https://it.discourse.mcneel.com/t/differenze-tra-linee/2823/19 "2019-12-28T22:55:00Z")

</div>

> [@0904](#):
>
> mi serve la lunghezza di un lato di questa curva chiusa

Hmmm … bel problema (se parliamo di uno script).  
Ti serve un modo per individuare questo ‘lato’ … e non ho idea quanto sia complicato in questo caso …

> [@0904](#):
>
> mi ritorna la lunghezza no del dominio selezionato ma del dominio “restante”

Suppongo che il seam della curva sia esterno al dominio da misurare …

(Scusa, non ho Rhino qui e non posso far delle prove)

---

<div class="post-metadata">

**Author:** ![0904](https://avatars.discourse-cdn.com/v4/letter/0/b3f665/32.png) [@0904](https://it.discourse.mcneel.com/u/0904)\
**Post date:** [28 Dicembre 2019, 11:04pm UTC](https://it.discourse.mcneel.com/t/differenze-tra-linee/2823/20 "2019-12-28T23:04:25Z")

</div>

> [@emilio](#):
>
> Hmmm … bel problema (se parliamo di uno script).

appunto stavo usando “EstraiSubCrv” ma come già detto dopo aver usato il comando piega non funziona

per questo domandavo se non c’era già una lista di comandi dove dopo il loro funzionamento spiegava come riportare le curve ad uno stato normale per poterle continuare a lavorarci tranquillamente . . . .

> [@emilio](#):
>
> (Scusa, non ho Rhino qui e non posso far delle prove)

figurati non è una questione impellente anzi grazie a te e Giueseppe disponibili anche di sabato sera 👍

[Pagina seguente](https://it.discourse.mcneel.com/t/differenze-tra-linee/2823.md?page=2)
