Strony: [1]   Do dołu
  Drukuj  
Autor Wątek: Polecam skrypt...  (Przeczytany 1090 razy)
0 użytkowników i 1 Gość przegląda ten wątek.
satrab
Hero Member
*****

Reputacja na forum: +138/-0
Offline Offline

Wiadomości: 716



« : Czerwiec 15, 2008, 02:09:36 »

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?
Zapisane
satrab
Hero Member
*****

Reputacja na forum: +138/-0
Offline Offline

Wiadomości: 716



« Odpowiedz #1 : Czerwiec 15, 2008, 02:17:36 »

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





Kod:
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
« Ostatnia zmiana: Czerwiec 15, 2008, 01:56:22 wysłane przez satrab » Zapisane
HAV
Sr. Member
****

Reputacja na forum: +67/-0
Offline Offline

Wiadomości: 475


LAST CAT STANDING


« Odpowiedz #2 : Czerwiec 15, 2008, 10:44:24 »

satrab - tak z ciekawości, da się tu ustawić stopień rozrzutu elementów (czyt. gęstość) i czy jest to proces odwracalny?
Zapisane

satrab
Hero Member
*****

Reputacja na forum: +138/-0
Offline Offline

Wiadomości: 716



« Odpowiedz #3 : Czerwiec 15, 2008, 11:50:03 »

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ę.
Zapisane
Strony: [1]   Do góry
  Drukuj  
 
Skocz do:  

Strona wygenerowana w 0.074 sekund z 19 zapytaniami.