3ds Max to Revit: Создание семейства из геометрии 3ds Max. Автоматизация работы с MaxScript

preview_player
Показать описание

В данном уроке я покажу как перенести геометрию из 3ds Max в семейство Revit с разведением по материалам.

Во второй части видео мы создадим скрипт автоматизирующий данный процесс.
Рекомендации по теме
Комментарии
Автор

Очень круто! Спасибо тебе добрый человек! нужно создать больше сотни семейств из максовских файлов, очень поможет скрипт ))

АлександрЦ-нк
Автор

прекрасно! Скрипт работает. Но мне хотелось разобраться в последовательности руками. Спасибо большое!!!!

ОльгаСамцова
Автор

Спасибо большое! Прям супер полезно!!@

iWiLDfox
Автор

Добрый день. Подскажите пожалуйста как именно добавить этот скрипт в тулбар во вьюпорте?

bnbogdan
Автор

Здравствуйте!
возникла ошибка в 23 строчки.
что делать?
пишет:
(-Runtime error: EPoly operation on non-Editable Poly: undefined
File name: C:\Users|SUPER GAMER \Desktop\Мебель\Скрип\
Тест_ЗД Макс.ms
-Line number: 23)

tatyana
Автор

В 21 максе работает скрипт, его же вроде просо в папку скрипты нужно закинуть.

MrBondarrr
Автор

Добрый день, Алексей!
Посмотрел ваш урок. Я перегоняю максовские модели в Ревит немного иначе, но похожим способом.
Правда, без скриптов.)

Но у меня остались два нерешенных вопроса:

1 - проблема с текстурированием в Ревите. В 17м Ревите еще удавалось растянуть текстуру (ткань, дерево и пр.) по плоской поверхности, сложные объекты приходилось разбивать на несколько плоскостей. В 19м Ревите текстура назначается на каждый полигон по отдельности.

2 - Сглаживание. В Максе есть группы сглаживания, в Ревите все получается граненым.
Возможно, вы умеете с этим справляться. Подскажите, плиз!

КириллМакарычев-эу
Автор

Добрый день! Есть возможность найти этот скрипт ?

olegpristavka
Автор

Добрый день. Спасибо за урок, все хорошо, только у меня почему-то в файле Revit не удалены ребра, хотя в скрипте прописано удаление. Подскажите, что не так? :
macroscript my3dmaxtoRev
category: "myOwnScript"
(

rollout unnamedRollout "my3dmaxToRevit" width:162 height:198
(
button 'btn1' "Export" pos:[26, 37] width:114 height:59 align:#left
edittext 'edt2' "" pos:[21, 127] width:118 height:51 align:#left
label 'lbl2' "Family Name:" pos:[26, 103] width:95 height:19 align:#left
label 'lbl3' "Export to Revit:" pos:[25, 7] width:115 height:31 align:#left
global ObjName

on btn1 pressed do
( print ObjName
convertTo $ Editable_poly
undo off
(
while selection.count > 1 do
(
selcount = selection.count
for i = selcount to 2 by -2 do
(
polyop.attach selection[i] selection[i-1]
)
)
update selection[1]
)

obj = $
convertTo obj Editable_mesh
numFace = getNumFaces obj as float
print numFace

if numFace > 32000 do
(
koff = 32000 / numFace * 100 as float
local mod1 = MultiRes vertexPercent:koff

max modify mode
addmodifier obj mod1
mod1.reqGenerate = not mod1.reqGenerate


)


convertTo obj Editable_mesh
obj = selection[1]
for face = 1 to obj.numFaces do for edge = 1 to 3 do setedgeVis obj face edge false
update obj
ExportArray = #()
for sel in obj do
(
maxID = amax(for i=1 to getNumFaces obj.mesh collect getFaceMatID obj.mesh i)
x = 0
for i=1 to maxID do
(
o = i as string
NL = LayerManager.getLayerFromName ( "element" + o )

if NL == undefined then (
NL = LayerManager.newLayerFromName ( "element" + o )
NL.wirecolor = color x x x
)
temp_arr = for j=1 to getNumFaces obj.mesh where (getFaceMatID obj.mesh j) == i collect j
x += 20
if temp_arr.count != 0 do
(

aMesh = meshop.detachFaces obj.mesh temp_arr delete:true asMesh:true
eMesh = editable_mesh()
eMesh.transform = obj.transform
eMesh.mesh = aMesh
update eMesh
eMesh.name = obj.name + "_ID_" + (formattedPrint i format:"03d")
NL.addNode eMesh
eMesh.colorByLayer = on

join ExportArray eMesh
select ExportArray
)

savePath = maxfilepath
pathNam = savePath + ObjName + ".dxf"
exportFile pathNam #noPrompt selectedonly: true using: DWG_Export



)
)


)
on edt2 entered text do
(
ObjName = text as string
)
)
Createdialog unnamedRollout
)

АлександрМальцев-юв
Автор

Нужна помощь( в 31 строке у тебя edge зелёным подсвечивает, а у меня почему-то нет и скрипт подвешивает макс(((( Макс 2020 может что-то в языке Я профан если что) Вроде всё сверил но никак)

morozicq
Автор

ты создал семейство в ревит. если у тебя показывает adsk то у нас нет. как сделать чтобы показывал?

MsMatamune