buongiorno e buon anno , visto che scrivo per la prima volta nel 2016.
devo proiettare alcune curve su una superficie sviluppabile e poi sviluppare il tutto in piano:
dopo aver fatto la proiezione di ogni singola curva e creato le nuove curve proiettate
da tastiera e’ semplice fare lo sviluppo :
-premi il tasto “unroll”
-seleziona la superficie
-seleziona le curve
-enter
e va tutto a posto
Allora ho fatto uno script in python.Nella prima parte seleziono le curve da proiettare e la superficie, e le proietto una alla volta mettendo i nuovi Guid in un lista.
Nella seconda parte tento di sviluppare in piano la superficie e le nuove curve su di essa proiettate .
ecco lo script:
################################
import rhinoscriptsyntax as rs
import scriptcontext
import math
import Rhino
import Rhino.Geometry as rg
import System
import time
n=0
listac=[]
curvids = rs.GetObjects(“seleziona le curve” , 4)
surfid = rs.GetObject(“seleziona una superficie”,8)
########## qui sotto proietto ogni curva sulla superficie
for c in curvids:
cmd1 = "_Pull " + "_Selid " + str© + "L=No D=No O=Current " + “_Enter” + " _Selid " + str(surfid) + " _Enter"
rs.Command(cmd1)
listac.append(rs.FirstObject())
rs.UnselectAllObjects()
rs.ClearCommandHistory()
n=n+1
print "proiettata “+ str(n) +” di " + str(len(curvids))
##### qui sotto sviluppo la superficie e le curve proiettate i cui guid sono elencati in “listac”
cmd2="~_UnrollSrf “+”_Selid " + str(surfid) + " _Selid" + str(listac) + " _Enter"
rs.Command(cmd2)
############ fine
Risultato : riesco ad eseguire solo la prima parte del "cmd2 " ( penultima ed ultima riga), cioe’ sviluppo in piano la superficie, ma non ho notizia delle curve . Tutte le variazioni sul tema non hanno dato frutti.
Si tratta di scoprire come scrivere la frase cmd2 affiche vengano prese in considerazione le curve della “listac”.
Avete qualche idea su come uscirne ?
un fiducioso saluto
franco