Zobacz pełną wersję : turbosmooth toggle



Tesaurus
12-05-05, 17:23
Staram sie zrobic okienko ktore bedzie sprawdzalo czy obiekt w selekcji ma turbo smoooth. W zaleznosci od statusu checkbox bedzie zaznaczony lub odznaczony. Fajnie byloby aby dzialal na kilku obiektach i uzywal tristate. Zaznaczanie checkboxa powinno rowniez wylaczac i wlaczac modyfikator. W zalaczniku moje wypociny. Niby dziala ale ugrzazlem i nie wiem co dalej. Prosze o pomoc :)

Pozdrawiam

VGT
12-05-05, 18:01
Z tym skryptem raczej nie pomogę, zbyt dawno w scriptcie nie dłubałem i już mało pamiętam, ale jeśli celem jest to aby szybko i wygodnie włączać/wyłączać turbosmooth, to coś takiego jak Meshsmooth toggle sobie kiedyś zrobiłem. Poniżej źródło - może w jakiś sposób się przyda.



--#################################################
--dodaje / usuwa modyfikacje meshsmooth i edit mesh do zaznaczonego obiektu
macroscript meshsmooth_editmesh category:"VGT" tooltip:"Modyfikacje meshsmooth i edit mesh" icon:#("Standard_Modifiers",21)
(
zaznaczone = getcurrentselection()
for i = 1 to zaznaczone.count do
(
obiekt = zaznaczone[i]
if obiekt.modifiers.count == 0 then
(
if validmodifier obiekt (MeshSmooth()) then
(
addmodifier obiekt (Meshsmooth iterations:2)
addmodifier obiekt (Edit_Mesh())
)
)
else
(
if obiekt.modifiers.count == 2 then if (obiekt.modifiers[2].name == "MeshSmooth") and (obiekt.modifiers[1].name == "Edit Mesh") then
(
deletemodifier obiekt 1
deletemodifier obiekt 1
)
)
)
completeredraw()
)

Jest to macroscript, więc można podpiąć pod dowolny klawisz.

lechoo
13-05-05, 17:57
Mozna by to napisac ladniej np. zapamietywac numer modyfikatora turbosmooth zeby nie szukac go za kazdym razem. Napisalem to tak zebys mogl latwo przerobic wszystko na wiecej obiektow w selekcji.


rollout test "test"

(
checkbox Figure_Mode "Trubosmooth status" enabled:true

on test open do
(
for i in 1 to selection[1].modifiers.count do
(
if (classOf selection[1].modifiers[i] == TurboSmooth) then
(
if (selection[1].modifiers[i].enabled == true) then Figure_Mode.checked = true
else Figure_Mode.checked = false
)
)
)

on Figure_Mode changed theState do
(
for i in 1 to selection[1].modifiers.count do
(
if (classOf selection[1].modifiers[i] == TurboSmooth) then
(
print (classOf selection[1].modifiers[i])
if (Figure_Mode.checked) == true then selection[1].modifiers[i].enabled = true
else selection[1].modifiers[i].enabled = false
)
)
)

)

createdialog test


Jeszcze oczywiscie przydaloby sie sprawdzanie czy wogole jest turbosmooth :)