Render.ru

Зубчатые колеса и их производство с помощью скрипт

#1
Может кто-нибудь объяснит мне что я делаю не так когда с помощью вот этого скрипта :

-- начало скрипта

qq = $ -- выделена по началу круглая заготовка
select $'Line.01' -- выделяю прямобочную зубчатую рейку
q = $

for i=1 to 8 do -- делаю "пару" раз одни действия
(
rotate $Cylinder* (angleaxis 10 [0,0,1]) -- поворачиваю заготовку
move q [-1.8849556,0,0] -- двигаю рейку
qq = copy qq -- делаю копию заготовки
BoolObj.createBooleanObject qq q 1 1 -- вычитаю из заготовки рейку
BoolObj.SetBoolOp qq 3
collapseStack qq -- разрушаю стек, чтобы операция не мешала следующим
)

hide $Cylinder* -- прячу все промежуточные заготовки (они нужны) для быстроты прорисовки в конце операции

-- конец скрипта

пытаюсь нарезать на круглой заготовке зубчатой рейкой зубчатое колесо (надеюсь Вы знакомы с методом обката. Нет? Пишите, постараюсь объяснить).

Проблема в том, что после булевских операций вдруг начинают исчезать fase-ы на моей заготовке. Причем начинается это не сразу.


За объяснения буду очень благодарен. Ваш, DrGobbo.
 
#2
Попробуй сначало вычитать, а потом двигать или булен чуть измени
mesh = <A>.mesh - <B>.mesh или просто
qqq = qq - q
 
#3
> оНОПНАСИ ЯМЮВЮКН БШВХРЮРЭ, Ю ОНРНЛ ДБХЦЮРЭ ХКХ АСКЕМ ВСРЭ ХГЛЕМХ
> mesh = .mesh - .mesh ХКХ ОПНЯРН
> qqq = qq - q

Попробовал сделать по Вашему. Не-а, не получается, таже история. Вообще
посылаю исходники,
покопайтесь на досуге, если интересно.

С уважением, DrGobbo.
 
#4
глюк в значениях параметров Cap Segments и Sides объекта Cylinder01

qq = $Cylinder01
qq.sides = 32
qq.capsegs = 32
q = $'Line.01'

for i=1 to 38 do (
rotate qq (angleaxis 10 [0,0,1])
move q [-1.8849556,0,0]
BoolObj.createBooleanObject qq q 1 1
BoolObj.SetOptimize qq true
BoolObj.SetBoolOp qq 3
)

остается добавить "промежуточные заготовки (они нужны) для быстроты прорисовки в конце операции"

успехов ;)
 
Сверху