А я отвечу тем, кто не имеет Архиформу.
Если созданный библ элемент сохранить как Нередактируемые 3D данные,
то присвоить материалы в ArchiCADe нельзя. Так?
Можно присвоить, но сразу всем составным элементам один материал.
Для этого в 3D-скрипте вместо:
SET MATERIAL 0
BINARY 1, 1пишем
SET MATERIAL mat_макроса
BINARY 0, 1Где "mat_макроса" изменяемый параметр.
Все составные элементы примут материал "mat_макроса". Поэтому не обязательно заранее присваивать всем составным элементам один материал.
Если созданный элемент будет использоваться только как макрос, то лучше убрать строку SET MATERIAL.
Если созданный элемент будет использоваться и как самостоятельный элемент и как макрос, то строку SET MATERIAL оставляем. А в элементе который использует этот макрос, в запросе добавим:
CALL "имя_макроса" PARAMETERS A=..., B=..., ZZYZX=..., mat_макроса= mat_элементаГде "mat_макроса" - название параметра материала какое оно имеет в макросе. "mat_элемента" - название параметра материала в этом библ. элементе.
Вот итог (цифры заменены на многоточия):Вариант 13D-скрипт корпусаMUL A/..., B/..., ZZYZX/...
ADDx ...
ADDy ...
SET MATERIAL mat_корпуса
BINARY 0, 1
3D-скрипт плафонаMUL A/..., B/..., ZZYZX/...
ADDx ...
ADDy ...
SET MATERIAL mat_плафона
BINARY 0, 1
3D-скрипт светильникаADD ..., ..., ...
CALL "корпус" PARAMETERS A=..., B=..., ZZYZX=..., mat_корпуса= mat1
DEL 1
ADD ..., ..., ...
ROTz ...
CALL "плафон" PARAMETERS A=..., B=..., ZZYZX=..., mat_плафона= mat2
DEL 2
Вариант 23D-скрипт корпусаMUL A/..., B/..., ZZYZX/...
ADDx ...
ADDy ...
BINARY 0, 1
3D-скрипт плафонаMUL A/..., B/..., ZZYZX/...
ADDx ...
ADDy ...
BINARY 0, 1
3D-скрипт светильникаSET MATERIAL mat1
ADD ..., ..., ...
CALL "корпус" PARAMETERS A=..., B=..., ZZYZX=...
DEL 1
SET MATERIAL mat2
ADD ..., ..., ...
ROTz ...
CALL "плафон" PARAMETERS A=..., B=..., ZZYZX=...
DEL 2
А теперь вопрос к
Max286. Вроде-бы, ты поставил себе задачу избавится от макросов? Но в конце то, ты все-равно оставил два макроса. Непонятно.