Sfera passante per punti o curva di raggio noto

Ciao a tutti è possibile realizzare uno script che crei una parte di sfera di raggio noto (variabile) passante per i bordi (punti) di una curva.
P.S Non avendo mai fatto script non ho idea se sia una passeggiata o invece un bagno di sangue :wink:
Grazie
Antonioprova.3dm (35,0 KB)

ciao antonio
nel tuo file c’è solo una curva chiusa “tipo cerchioide” non planare
quindi presumo che la sfera che intendi realizzare deve partire da quella forma?
SE:
SI) beh non saprei se solo con quella curva lo si possa fare, senza avere altri punti di riferimento
NO) potrebbe anche andre bene una sfera tagliata a metà che dovrebbe essere più semplice

Nella tua curva c’è un solo punto definito (dato che la curva è chiusa), il punto di giuntura della curva. Gli altri punti sono infiniti. Tu fissi il raggio poniamo 10 . Vuoi che la sfera sia tangente in quel Punto? Se si sono infinite.
Devi fissare altre condizioni oppure posta un esempio che dia almeno l’idea di quello che vuoi fare.
Ciao Vittorio

Ciao Antonio, fammi capire, vuoi costruire una sfera che si adatti perfettamente ad una curva chiusa data a priori?
Quando mi parli dei bordi di una curva ti seguo, quando parli dei punti un po’ meno, cosa intendi?
Fabio.

Ciao Antonio !

Non sembra che curva giaccia su una sfera …
Ho provato a estrarre 10 punti dalla curva con Divide
Poi con Sphere FitPoints Rhino ha disegnato una sfera.
Controllando con PointDeviation risulta una distanza media di circa 0.6 mm.
Ah, la sfera ha un diametro di circa 102.3 mm

Se il raggio che vuoi usare e’ diverso, temo che la distanza dei punti dalla sfera aumenti ancora.

Scusate l’assenza, vi ringrazio per le risposte; provo a riformulare il quesito.
Nel file ho una curva (sulla quale posso prendere tutti i riferimenti che voglio) voglio capire se per quella curva passa una parte di sfera con raggio da impostare (vedi superficie).
Oppure se ho quella curva, si puo’ modificare in automatico in modo che sui suoi bordi passi una parte di sfera di raggio d’assegnare.
Forse è più conprensibile :slight_smile:prova-1.3dm (61,9 KB)

Devi usare il comando Sfera per 4 punti . Con questo comando clicca su 4 punti qualsiasi della curva e la sfera costruita deve adagiarsi su tutta la curva. Per verificare ripeti il comando su altri 4 punti e le due sfere devono risultare coincidenti. Stesso raggio e stesso centro.
Ciao Vittorio

Ciao Vittorio.
E disegnare una sola sfera per 4 punti e verificare che l’intersezione con la curva sia la curva stessa o addirittura che sia semplicemente una curva chiusa?
Come la vedi?

Fabio.

Ragazzi … forse ho capito male …
A me sembra che Antonio voglia poter decidere il valore del raggio …
E modificare la curva di conseguenza … ( anche se non saprei come fare )

EDIT

… forse, se e’ questo il caso, si potrebbe cercare di interpolare un cerchio dai punti, e poi tenere costante il cerchio cambiando il raggio della sfera, e alla fine proiettare sulla sfera … mah …

Giusto Emilio

  1. scegliere il valore del raggio
    2)verificare che il bordo della parte di sfera coincida con la curva
    3)modificare la curva in modo che per i suoi bordi passi una parte di sfera di raggio dato
    :rofl:
    un casinoooooooo

Qui c’e’ un tentativo: definizione GH

In input colleghi la curva e il raggio della sfera da testare

In output ti da’ la sfera e la curva proiettata
( veramente LE curve, ce n’e’ anche una dall’altra parte )
Piu’ la massima distanza della curva originale dalla sfera

Ho usato uno script perche’ sono molto piu’ allenato cosi’
Penso che chi conosce GH lo possa fare facilmente con i componenti standard

AM-1B.gh (8,1 KB)

Enjoy ! … spero :smile:

Grazie Emilio; devo capire come farlo funzionare in grassopher (sono un neofita) appena riesco ti mando un commento

Chiedi a Giuseppe, che ti spiega tutto! :grinning:

… scusa Antonio, adesso non ho tempo di spiegare … cose che conosco a malapena … :wink:

Hai fatto fin troppo; mi documento
Grazie

Ma figurati !

E’ solo che adesso sono in ufficio …
Quando sono poi a casa, se c’e’ bisogno vediamo la cosa con calma … :slight_smile:

A dopo.

Eccoci …

Suppongo che tu abbia gia’ scaricato e installato GH
Adesso che hanno demolito la comunita’ GH su Ning, non so nemmeno dove si scarica …

Apri Rhino, carichi il file che avevi postato, poi …

  1. Lanci Grasshopper

  2. Dal nemu’ ‘File’ -> Open Document … e selezioni il file con la definizione ( AM-1B.gh )

  3. Dovresti trovari piu’ o meno cosi’:

  1. Tasto destro sul componente ‘Crv’, quello a sinistra, verde:

am1

Clicchi su ‘Set one Curve’ e, spostandoti sulla vista Rhino, selezioni la tua curva.

  1. Ora, trascinando il cursore sullo slider (qui sotto in verde), puoi variare il raggio della sfera da testare

  1. I pulsanti con i cilindretti a destra servono per impostare la preview sulla vista Rhino

Il ‘Panel’ sotto il componente ‘Srf’ (cioe’ la finestrella gialla), dovrebbe darti la distanza massima della curva originale dalla sfera .

Il componente Python disegna una sfera con il raggio dato dallo slider e proietta la curva originale sulla sfera.
Il risultato della proiezione va a finire nel componente ‘Crv’, a destra
La sfera va nel componente ‘Srf’

  1. Quando vuoi ‘salvare su Rhino’ la curva ottenuta dalla proiezione, vai sul componente ‘Crv’ a destra (verde)

Poi, tasto destro sul componente:

E clicchi ‘Bake’

Fatto, GH ti ha disegnato la curva nel documento Rhino.

Stessa cosa per la sfera, cliccando sul componente ‘Srf’

OK … non so se si capisce qualcosa, gia’ ci capisco poco io di GH … :smile:,
eventualmente fai un fischio :slight_smile:

Comunque, ho usato GH perche’ e’ comodo provare con diversi raggi sfera, vedendo in fretta il risultato …

1 Mi Piace

Grazieeee sei un MITOOOOOOOOOOOOOOO, , mi mancava il bake .
Ma la finestrella gialla collegata a OUT che dà sempre ok a che serve?

E’ solo per vedere eventuali messaggi di errore dello script … :slight_smile: