Пожалуйста, не блокируйте рекламу!

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

*

Vaskrol

Test

Объект состоит из 1 объекта "3D текст" и нескольких перекрытий. Все было сохранено как редактируемый скрипт и вставлено в другой проект. После этого, в скрипте объекта, в свойствах, я создал 6 переменных типа покрытие. В 3D скрипте объекта я просто заменил названия покрытий на названия переменных, т.е., допустим, "Красный" -> Color1. Когда я поменял в вышеуказанном куске кода Color1 на "Красный", то все стало замечательно. При этом мне уже, в принципе, понятно возмущение компилятора. Он ожидал увидеть string и найти эту string в списке материалов.

... Хотя, походу, я не додумался до того, что функция mat1 = ind(material, "Color1") возвращает материал из списка по его названию, а мне следовало просто указать mat1 = Color1, так?...

P.S. IND писал изначально не я.

*

Оффлайн Int

  • *****
  • 3812
  • Репутация: +378/-5
  • Пол: Мужской
Re: Присвоение Материалов отдельным частям &#
« Ответ #46 : Ноября 17, 2011, 17:54:10 »
А как тогда менять цвет?
Можно указывать в кавычках точное наименование по каталогу покрытий.

Пример: Material_name=ind(material, "material_name")
Это конечно без переменных :)

В общем, mat1 = Color1 должно работать. Только не забудьте создать покрытие Color1

---

В параметрах вызываемого макроса имеются функции IND

Это ArchiCAD так делает когда сохраняется gsm-объект, состоящий из отдельных oбъектов.
« Последнее редактирование: Ноября 17, 2011, 18:56:46 от Int »

*

Оффлайн Valery W

  • *****
  • 5987
  • Репутация: +634/-14
  • Пол: Мужской
Цитата: Vaskrol
... Хотя, походу, я не додумался до того, что функция mat1 = ind(material, "Color1") возвращает материал из списка по его названию, а мне следовало просто указать mat1 = Color1, так?...
ind возвращает indекс реквизита!
1, 2, 3, .... 100500
Они есть числа.

В общем, я не буду докапываться, кто что создал и есть ли такие реквизиты в текущем файле.

Вы создали параметры покрытий? Вот один из них и надо было написать в mat1 = .... (тоже самое надо было сделать и для штриховки gs_fill_type = ...)
После этого не будет ни каких проблем с этим объектом при его использовании в любом проекте и в любой версии ArchiCAD (не ниже в котором он создавался).

*

Оффлайн Max286

  • ***
  • 160
  • Репутация: +13/-0
  • Пол: Мужской
Присвоение Материалов отдельным частям объекта
« Ответ #48 : Февраля 06, 2020, 14:55:38 »
А вот теперь обратный вопрос: как в АС21 сохранить модель как НЕРЕДАКТИРУЕМЫЙ gdl скрипт? Чтобы он содержал в себе мой настроенный материал, а не подцеплял из каталога.

*

Оффлайн bImaginaire

  • **
  • 36
  • Репутация: +5/-1
  • Пол: Мужской
Дело в том, что Графисофт в какой-то там из 20-ых версий (или около того) убрал сохранение в бинарном формате. А потом после требований восстановить - восстановил. Но когда сохраняется элемент из плана (или 3Д окна), Архикад не дает опции бинарного формата. Сначала он сохраняет во встроенную библиотеку (то есть непосредственно в рабочий файл). Но если потом открыть этот объект и пересохранить на диск - тогда в меню появляется опция сохранить в бинарном формате.

 

Похожие темы

  Тема / Автор