Помогите нарезать модель на шпангоуты
может я туплю, но это имя файла? перебрал кучу вариантов, скрипт дает ошибку:
#(3D_StudioExporterPlugin, Adobe_Illustrator, DWG_ExportExporterPlugin, DWG_Export, Wavefront_MaterialExporterPlugin, Lightscape_Layers, STL_Export, Lightscape_Material, Lightscape_Preparation, IGES_Export, Lightscape_Parameter, Lightscape_Blocks, SW3D_Exp, Wavefront_ObjectExporterPlugin, Lightscape_View, ExportHTR, JSR184Exporter, AsciiExp, VRBL_Export, DWF_Exporter)
– Error occurred in anonymous codeblock; filename: C:\CNC\3dsmax 2008\!for 3dsmax\script-porezka_new_X.ms; position: 103
– Unknown property: “max” in undefined
– Error occurred in anonymous codeblock; filename: C:\CNC\3dsmax 2008\!for 3dsmax\script-porezka_new_X.ms; position: 161
– Unknown property: “min” in undefined
– Error occurred in anonymous codeblock; filename: C:\CNC\3dsmax 2008\!for 3dsmax\script-porezka_new_X.ms; position: 188
– Unknown property: “max” in undefined
150
– Error occurred in anonymous codeblock; filename: C:\CNC\3dsmax 2008\!for 3dsmax\script-porezka_new_X.ms; position: 253
– Frame:
– No “”-“” function for undefined
– Error occurred in anonymous codeblock; filename: C:\CNC\3dsmax 2008\!for 3dsmax\script-porezka_new_X.ms; position: 0
– Unable to convert: undefined to type: Float
сам скрипт выглядит так:
theClasses = exporterPlugin.classes
meshSelected = susections.max ( ) – object to create contours of
minX = meshSelected.min.x – get min and max X positions
maxX = meshSelected.max.X
numLevels = 150 – the number of contours
delta = (maxX - minX) / (numLevels + 1) – the number of steps
for currentX = minX to maxX by delta do – start loop…
(
s = section pos:[0, 0, currentX] – create Section
max views redraw – this line is needed to get around the problem
convertToSplineShape s – convert Section to SplineShape
select s
exportFile (GetDir #scene +“/exportTest”+(currentX as string)+“.dxf”) #noPrompt selectedOnly:true using:theClasses[4] --export to dxf
s.renderable = true – set to renderable
)
нет, это имя объекта в максе:
сори за беспокойство, но здесь мы сидим чтобы хоть что-то понять, чему-то научиться.
у меня там пустое поле, клики не помогают, как задать имя объекту?
сейчас кликнул по проекции, имя Section71, их там у меня 150, как в скрипте указать, что импортить нужно все 150?
вот что получается, у меня модель уже разбита на проекции, см. картинку, запускаю скрипт экспорта и начинаются ошибки
(вживую увидеть можно здесь www.golodranci.ru/1.gif)
так если модель уже попилена, все еще проще:
theClasses = exporterPlugin.classes
for i = 1 to objects.count do
(
select objects[i]
exportFile (GetDir #scene +"/exportTest"+(i as string)+".dxf") #noPrompt selectedOnly:true using:theClasses[4] --export to dxf
)
сохраняет каждый объект в “.dxf”
да, у меня тоже не выходит. Писал название модели ( копировал вернее) даёт ошибку.
действительно, так будет работать только для максовых примитивов, можно попробовать так:
meshSelected = selected[1]
и при запуске скрипта, не забыть выделить свой объект для попила;)
так если модель уже попилена, все еще проще:
theClasses = exporterPlugin.classes for i = 1 to objects.count do ( select objects[i] exportFile (GetDir #scene +"/exportTest"+(i as string)+".dxf") #noPrompt selectedOnly:true using:theClasses[4] --export to dxf )
сохраняет каждый объект в “.dxf”
Ну чтож, так тоже работает 😃
действительно, так будет работать только для максовых примитивов, можно попробовать так:
meshSelected = selected[1]
и при запуске скрипта, не забыть выделить свой объект для попила;)
Ага, попробуем
нет, так не работает. Ругается.
работает порезка 😃 спасибо
гм, так работает али нет? 😉
у меня заработал вот этот скрипт.
theClasses = exporterPlugin.classes
for i = 1 to objects.count do
(
select objects[i]
exportFile (GetDir #scene +“/exportTest”+(i as string)+“.dxf”) #noPrompt selectedOnly:true using:theClasses[4] --export to dxf
)
перед этим мадель была уже попилена. мегаДжону-мегареспект 😃
понятно, слив работает, надо значит автоматический попил починить…
понятно, слив работает, надо значит автоматический попил починить…
в скрипте автопопила, указывается направление ZX и т.д. каждый раз когда нужно сменить напрвление попила, правишь в ручную, можно ли это в скрипте как-то обойти? т.е. выделил один вид (правый, левый, не суть) и запустил скрипт?
пардон, в скрипте автопопила нужно писать selection[1], а не selected[1] 😵
по поводу смены направления, полюбому можно, можно даже гуй красивый к скрипту нарисовать, со всякими кнопачками и параметрами😒
да только я максскрипта не знаю нифига, приходица F1 читать…но тут я думаю Вы и сами его можете почитать😝
Да, работает. А как выбрать другую ось?😒
ну совсем читать не хотите😈
в этой строке
s = section pos:[0, 0, currentZ]
то, что в квадратных скобках, есть координаты Х,У и Z по каким нада, туда и подставляете currentZ
попробовал. Переставлял этот параметр. Что-то режет, создаёт файлы… Но во-первых не видно что он режет, а во-вторых файлы пустые. И только в вашей редакции ( когда корентZ в оси Z стоит), программа режет модель исправно. Просто не в той плоскости. Мне например надо порезать в оси X. Ставлю так
и не получается ничего. ( на счёт читать… могу перевести со словарём, но в скриптах я всё равно не силён, уж потерпите 😃)) )
s = section pos:[currentZ, 0, 0]
надо тут еще подставлять нужную координату:
minZ = meshSelected.min.z
maxZ = meshSelected.max.z
Мега-Джон, мастер, не откажи! Начал въезжать в постпроцессы и прочее для станка, как-бы скрипт переделать, чтобы сохранял не по слою, а два соседних слоя в 3д… понятно спросил?
т.е. на выходе файлы:
1 файл состоит из 1 и 2 проекции
2 файл состоит из 2 и 3 проекции
и т.д.
сложно такое сделать в махе?
А у меня так и не получилось заставить резать по оси Х 😦(((((((((((((((( И получается, что режется сверху вниз, а не в доль…
ну прям захвалили:)
резка по оси Х
theClasses = exporterPlugin.classes
meshSelected = sphere() -- object to create contours of
minX = meshSelected.min.x -- get min and max X positions
maxX = meshSelected.max.X
numLevels = 5 -- the number of contours
delta = (maxX - minX) / (numLevels + 1) -- the number of steps
for currentX = minX to maxX by delta do -- start loop...
(
s = section rotation:(eulerangles 0 90 0) position:[currentX,0,0]
max views redraw -- this line is needed to get around the problem
convertToSplineShape s -- convert Section to SplineShape
select s
exportFile (GetDir #scene +"/exportTest"+(currentX as string)+".dxf") #noPrompt selectedOnly:true using:theClasses[4] --export to dxf
s.renderable = true -- set to renderable
)
сливание в файл по два:
theClasses = exporterPlugin.classes
for i = 1 to objects.count-1 do
(
select objects[i]
selectMore objects[i+1]
exportFile (GetDir #scene +"/exportTest"+(i as string)+".dxf") #noPrompt selectedOnly:true using:theClasses[4] --export to dxf
)
ухты класс!!! Режет, да как быстро! И не подвисает, как в случае с “ручной резкой”.
Вот это настоящая автоматизация!!!
Спасибо!😆