Forum użytkowników programu Rhinoceros 3D

RHINOCEROS => RhinoScript i RhinoPython => Wątek zaczęty przez: satrab w 15 Czerwiec 2008, godz.02:09

Tytuł: Polecam skrypt...
Wiadomość wysłana przez: satrab w 15 Czerwiec 2008, godz.02:09
Tak sobie pomyślałem, żeby rozruszać ten dział. Co prawda niewiele osób umie pisać skrypty, ale nie o to chodzi w tym topiku, ideą ma być publikowanie skryptów, których używacie i uważacie, że warto je polecić.

Co wy na to?
Tytuł: Odp: Polecam skrypt...
Wiadomość wysłana przez: satrab w 15 Czerwiec 2008, godz.02:17
Tak by to mogło by wyglądać. Krótki opis, następnie wklejmy kod lub dołączamy plik jeśli jest to coś bardziej skomplikowanego, możemy dodać screen i na koniec autora.

Scatter script / skrypt rozrzucający obiekty

(http://content.screencast.com/media/6df86687-fdd3-42d4-a309-80cb803d820d_e0118080-f128-4644-a082-d33f570610dc_static_0_0_2008-06-15_1152.png)

(http://content.screencast.com/media/29c3ae69-73aa-4d71-81b4-674792e78a9f_e0118080-f128-4644-a082-d33f570610dc_static_0_0_2008-06-15_1153.png)

Option Explicit
Sub Scatter
 Dim theGroup, bbGroup, theObject, bbObject, dist, distGroup, xg, yg, zg, xo, yo, zo, cg(2), co(2)
 theGroup = Rhino.GetObjects("Select objects")
 If Not IsArray(theGroup) Then Exit Sub
 bbGroup = Rhino.BoundingBox(theGroup)
 xg = Rhino.Distance(bbGroup(0), bbGroup(1))
 yg = Rhino.Distance(bbGroup(0), bbGroup(3))
 zg = Rhino.Distance(bbGroup(0), bbGroup(4))
 distGroup = Sqr(xg*xg+yg*yg+zg*zg)

 
 cg(0) = bbGroup(0)(0)+0.5*xg
 cg(1) = bbGroup(0)(1)+0.5*yg
 cg(2) = bbGroup(0)(2)+0.5*zg
 Rhino.EnableRedraw (vbFalse)
 For Each theObject In theGroup
    bbObject = Rhino.BoundingBox(theObject)
    xo = Rhino.Distance(bbObject(0), bbObject(1))
    yo = Rhino.Distance(bbObject(0), bbObject(3))
    zo = Rhino.Distance(bbObject(0), bbObject(4))
    co(0) = bbObject(0)(0)+0.5*xo
    co(1) = bbObject(0)(1)+0.5*yo
    co(2) = bbObject(0)(2)+0.5*zo

    Rhino.MoveObject theObject, cg, co
 Next
 Rhino.EnableRedraw (vbTrue)
End Sub

Autor:Mon, Alexander_77
Tytuł: Odp: Polecam skrypt...
Wiadomość wysłana przez: HAV w 15 Czerwiec 2008, godz.10:44
satrab - tak z ciekawości, da się tu ustawić stopień rozrzutu elementów (czyt. gęstość) i czy jest to proces odwracalny?
Tytuł: Odp: Polecam skrypt...
Wiadomość wysłana przez: satrab w 15 Czerwiec 2008, godz.11:50
Pomijając manualne zmiany w kodzie skryptu to nie ma takiej opcji, to samo tyczy się odwracalności. Gdzieś miałem taki bardziej rozbudowany skrypt, w którym min. było wiele ustawień dotyczących rozrzucania obiektów, może później go wrzucę jak najdę.
Tytuł: Odp: Polecam skrypt...
Wiadomość wysłana przez: adnan7 w 14 Styczeń 2015, godz.10:30
Ciesze sie, ze poza mna komus wydaje sie to przydatne ;P
Poczatkowo bylo to pisane tylko jako array-scale, ale tak naprawde dla mnie Loft po profilach w Array okazal sie znacznie bardziej przydatny -
mam jeszcze pare pomyslow co tam mozna dodac, ale nie wiem kiedy czas pozwoli.
atrab - tak, autor bloga to autor skryptu. Sam blog w zasadzie "premiere" mial dzis, ale traktuje go glownie jako strone, gdzie bede umieszczac skrypty albo definicje Grasshoppera, ktore uznam, ze moga sie komus przydac ( i sa tak napisane, ze nie bedzie Error wyskakiwal co minute ).
Tytuł: Odp: Polecam skrypt...
Wiadomość wysłana przez: menc w 25 Październik 2016, godz.21:09
Jest bardzo mile, aby znaleźć ludzi, którzy mają tę samą pasję. Pozdrawiam Cię:)