0 Пользователей и 1 Гость просматривают эту тему.

*

Оффлайн Max286

  • ***
  • 145
  • Репутация: +13/-0
  • Пол: Мужской
Если созданный библ элемент сохранить как Нередактируемые 3D данные,
то присвоить материалы  в ArchiCADe нельзя. Так?
Если сохранить его как редактируемый скрипт,то, соответственно, можно,
но тогда он при построении будет требовать, в качестве макросов,
те библы, которые я использовал при его создании.

Пытался сделать следующее: Например, светильник = плафон+корпус.

Делаю плафон , например, арчиформой, и корпус, например, из примитивов.
Хочу ,чтоб можно было задавать материалы в окне параметров светильника.
Создаю отдельно плафон,отдельно корпус и сохраняю их в виде нередактируемых 3D данных,
т.к. иначе новый элемент будет требовать наличие в загруженных библах
и примитивов и Арчиформы.
Составляю из этих частей новый светильник, сохраняю в виде РЕДАКТИРУЕМОГО скрипта.
Задаю новые переменные в окне параметров.
В полученном 3D скрипте светильника нахожу строки, связанные с материалами частей,
 но как их изменить, чтобы поменять материалы не пойму.

Я жду от ArchiCAD 8.1 невозможного, или что-то не так делаю?
Помогите разобраться.
Заранее спасибо.

*

Оффлайн snog

  • ****
  • 477
  • Репутация: +17/-1
  • Пол: Мужской
  • Не верь SnoGу - он обманул мою бабушку. Snog
Я делал так. Лепил объект из элементов, создавал новые материалы потом присваивал каждому элементу свой материал и сохранял как редактируемый 3D скрипт. В итоге можно было всё менять в изменениях параметров объекта. Помоему всё просто. Или я не догнал вопрос?

*

Оффлайн IgorK

  • *****
  • 669
  • Репутация: +32/-1
  • Пол: Мужской
В ответ на:Присвоение Материалов отдельнm
« Ответ #2 : Апреля 12, 2006, 15:26:05 »
Цитировать
Я жду от ArchiCAD 8.1 невозможного, или что-то не так делаю?
Помогите разобраться.
Заранее спасибо.

Давай мыло солью учебник, там подробно все расписано
« Последнее редактирование: Ноября 06, 2007, 21:35:00 от Valery W »

*

Оффлайн Monster

  • ****
  • 397
  • Репутация: +51/-2
  • Пол: Мужской
  • "Желаю, чтоб все..."
В ответ на:Присвоение Материалов отдельнm
« Ответ #3 : Апреля 12, 2006, 18:42:37 »
Не доганю чё за пробла то? Если делать библ Архиформой, то там всё просто.Если хочешь параметрический библ с возможностью изменения материалов в его настройках, без лазания в скрипты, то при создании каждой его деталюшки (составляющей) нужно в соответствующем поле (см. скрин ежели цепанётся) обязательно вбивать ИМЯ, к примеру "Mat 01" , "Mat 02" и т.д. И тогда в параметрах созданного библа появится список всех материалов, которые можно менять. А вообще в учебнике всё было. Дай мыло, Игорь скинет ;) 

« Последнее редактирование: Ноября 06, 2007, 21:34:16 от Valery W »

*

Оффлайн Monster

  • ****
  • 397
  • Репутация: +51/-2
  • Пол: Мужской
  • "Желаю, чтоб все..."
В ответ на:Присвоение Материалов отдельнm
« Ответ #4 : Апреля 12, 2006, 18:51:40 »
Хотя это АФорма 2,05 под 9ку. Чёт я не помню к 8-ке так же было?:whistle: 

« Последнее редактирование: Ноября 06, 2007, 21:33:45 от Valery W »

*

Оффлайн Valery W

  • *****
  • 5987
  • Репутация: +629/-14
  • Пол: Мужской
В ответ на:Присвоение Материалов отдельнm
« Ответ #5 : Апреля 12, 2006, 20:30:09 »
А я отвечу тем, кто не имеет Архиформу.

Цитировать
Если созданный библ элемент сохранить как Нередактируемые 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_элемента" - название параметра материала в этом библ. элементе.

Вот итог (цифры заменены на многоточия):
Вариант 1
3D-скрипт корпуса
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

Вариант 2
3D-скрипт корпуса
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. Вроде-бы, ты поставил себе задачу избавится от макросов? Но в конце то, ты все-равно оставил два макроса. Непонятно.
« Последнее редактирование: Ноября 06, 2007, 21:31:59 от Valery W »

*

Оффлайн Max286

  • ***
  • 145
  • Репутация: +13/-0
  • Пол: Мужской
В ответ на:Присвоение Материалов отдельнm
« Ответ #6 : Апреля 13, 2006, 07:35:48 »
snog,          В твоем случае новая модель будет требовать наличие в загруженных библах  элементов, используемых при создании  модели.                   А если я захочу поделиться с общественностью моим объектом, то мне придется включить в состав макросов и эти элементы...

IgorK,         Буду признателен очень:  [email protected]

Monster,    Тогда при открытии модели в отсутствии ArchiFormы (или при наличии другой версии), она будет ругаться. Или нет? Да и не ArchiFormoй единой...
Дополняю через полчаса:  Не ругается-проверил.
                         А гле бы взять AF 2.05, а   то у меня 1.9 :)


Valery W,  Сейчас попробую...     а что дает BINARY 1, 1, и что меняют цифры 1 и 1?
Я хочу, чтобы моя модель использовала МОИ макросы и не обращалась к другим ( типа стандартных примитивов или AF и т.п.)
« Последнее редактирование: Ноября 06, 2007, 21:32:13 от Valery W »

*

Оффлайн Max286

  • ***
  • 145
  • Репутация: +13/-0
  • Пол: Мужской
В ответ на:Присвоение Материалов отдельнm
« Ответ #7 : Апреля 13, 2006, 08:21:54 »
Valery W,  Попробовал ... И не нашел в 3D скрипте строки

SET MATERIAL 0
BINARY 1, 1


Если созданный библ элемент сохранить как Нередактируемые 3D данные,то  его 3D скрипт имеет вид
MULX   ...
MULY   ...
MULZ   ...
ADDX    ...
ADDY    ...
ROTZ    ...
BINARY 1,1
Пробовал добавить SET MATERIAL ... и BINARY 0, 1, никакой реакции.

Что не так делаю?

Добавляю: Второй вариант, похоже, работает. А можно пояснения по оператору BINARY?

           Большое спасибо!!!
« Последнее редактирование: Ноября 06, 2007, 21:32:29 от Valery W »

*

Оффлайн Monster

  • ****
  • 397
  • Репутация: +51/-2
  • Пол: Мужской
  • "Желаю, чтоб все..."
АФорма 2.05 и прочее от Циграфа - здесь в дуне.;)

*

Valery W

В ответ на:Присвоение Материалов отдельнm
« Ответ #9 : Апреля 13, 2006, 13:59:04 »
Цитировать
Попробовал ... И не нашел в 3D скрипте строки SET MATERIAL
В АС8 и АС9 действительно не пишется SET MATERIAL.

Цитировать
Пробовал добавить SET MATERIAL ... и BINARY 0, 1, никакой реакции.
Проверь правильно ли пишешь название параметра материала макроса в запросе конечного элемента.

Цитировать
А можно пояснения по оператору BINARY?
Смотри главу "5.6 Using the Binary 3D Data" в "GDL Reference Manual.pdf"
или "GDL Reference Guide > 3D Shapes > Binary 3D" в "ArchiCAD Help.htm".
Не смогу здесь привести весь перевод, да и переводчик из меня не выйдет. Вот только этот фрагмент:

BINARY mode [, section]

mode: определяет использование атрибутов перьев и материалов
0: действуют текущие параметры настройки на все материалы и перья
1: текущие параметры настройки PEN и MATERIAL не действуют. Библиотечная часть будет показана с сохраненными цветами и материалами. Вид поверхности является постоянным.
2: используются сохраненные параметры настройки PEN и MATERIAL. Неопределенные материалы заменены текущими параметрами настройки.
3: используются сохраненные параметры настройки PEN и MATERIAL,
    неопределенные материалы заменены сохраненными заданными по умолчанию атрибутами.

section: индекс бинарной части, от 1 до 16
Используя 0 для индекса раздела, Вы можете обратиться одновременно ко всем существующим частям набора. Только разделы с индексным значением 1 могут быть сохранены внутри GDL, команды BINARY без параметра раздела также обратятся к этому. Другие индексы раздела могут использоваться третьими инструментальными средствами.

Неопределенные материалы - это материал "GENERAL"(№0).
Разницу между mode=1 и mode=3, я не нашел.
Если section > 1, то это не для 3D-окна. А для чего? Graphisoft умалчивает.
Присоединяю пример, чтобы ты быстро разобрался, как меняются материалы и перья в зависимости от mode. Три элемента (куб, конус и цилиндр) были сохранены с разными материалами и перьями. Один из них (цилиндр) сохранен с материалом "GENERAL"(№0).

http://cadstudio.ru/uploaded/files/11111.gsm
« Последнее редактирование: Ноября 06, 2007, 21:33:26 от Valery W »

*

Оффлайн Max286

  • ***
  • 145
  • Репутация: +13/-0
  • Пол: Мужской
ВСЕМ ОГРОМНОЕ СПАСИбО!!!
ВО МНОГОМ РАЗОБРАЛСЯ
SOFTMACHINE FOREVER!!!

*

Оффлайн gogiyar

  • *****
  • 1306
  • Репутация: +27/-0
  • Пол: Мужской
Наверно после моего вопроса многие дадут ссылки на разные книжки для их изучения, но времени мало :(. По возможности подскажите, как присвоить несколько параметров к индивидуально созданному БЭ чтобы можно было изменять его покрытие Данную тему прочитал, скачал и пробежался по книжке "Введение в создание объектoв", но пока не успеваю разобраться. Может кто сможет разжевать  более подробно и описать всю цепочку: как присвоить индивид. созданному БЭ дополнительные параметры покрытия :( ??? БУДУ ПРИЗНАТЕЛЕН ЗА ЛЮБОЙ СОВЕТ!!! ^-^

*

Оффлайн Arsh

  • Век живи, ...
  • *****
  • 2579
  • Репутация: +217/-18
  • Пол: Мужской
  • Столько не живут...
как присвоить индивид. созданному БЭ дополнительные параметры покрытия
Создайте к примеру плитой кирпичик, с разными типами материалов верха, низа, боков. сохраните как объект а потом откройте для редактирования. Внимательно посмотрите все скрипты. Если у вас есть минимальное представление о GDL программировании, то все станет ясно. Останется только ввести дополнительные параметры для изменения матов.

*

Оффлайн gogiyar

  • *****
  • 1306
  • Репутация: +27/-0
  • Пол: Мужской
СПАСИБО Arsh и за это.  :-*

*

Оффлайн lsr

  • *****
  • 1082
  • Репутация: +207/-5
  • Пол: Мужской
  • http://sl-gdl.com
Расшифрую что сказал Arsh
Сохраняете объект (никогда не сохраняйте в бинарный файл)
Открываете, создаете параметр материала напр. MP
 заходите в 3D скрипт, находите примерно так

Cprism_ "кирпич","краска","золото", 0.22, и тд (В зависимости от того,как вы это сотворили может быть и не призма)

Копируете в буфер "золото"
Команда найти и заменить в редакт/edit, открывается окно, вставляете "золото"
В нижнем поле-тексте для замены пишете MP (обязательно без кавычек)
Команда заменить все, и так с каждым материалом.
В итоге получиться объект с изменяемыми материалами.
В бинарном файле, так не получиться, можно матер. поменять только весь целиком, поэтому еще раз НИКОГДА не сохраняйте в двоичном формате.

 

Похожие темы

  Тема / Автор