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

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

*

Оффлайн KindBuggg

  • *
  • 5
  • Репутация: +0/-0

Test

Друзья, подскажите!

Хочу довести до ума одну свою библиотеку. Вопрос у меня возник такой.  Можно ли сделать так чтобы параметры в объекте создавались не вручном режиме, а "втягивались" из другого (наверное примерно также как  работает CALL)
Не знаю насколько понятно задал вопрос, поэтому поясню на примере.
Есть у меня объект "дверь", в скрипте он открывает объект "ручка". Объектов "ручка" много разных, но параметры у них одинаковые. Могу я написать како-то отдельностоящий скрипт, который вызывается объектом "ручка" и тем самым у него будут прописываться нужные мне параметры.

Заранее спасибо

*

Оффлайн Valery_R

  • *****
  • 1007
  • Репутация: +285/-0
  • Пол: Мужской
Re: Дублирование параметров в разных объектах
« Ответ #1 : Апреля 04, 2014, 12:49:57 »
...также как  работает CALL
Вы сами ответили на свой вопрос.
 CALL macro_name_string [,] PARAMETERS [ ALL][name1=value1, ..., namen=valuen]
Если в макровызове отсутствует необходимый параметр, то ему будет присвоено исходное значение по умолчанию, как оно определено в библиотечном элементе, вызванном как макрос.

*

Оффлайн Kuvbur

  • ^_^
  • ****
  • 370
  • Репутация: +69/-0
  • Пол: Мужской
Re: Дублирование параметров в разных объектах
« Ответ #2 : Апреля 04, 2014, 15:53:08 »
Вам нужны подтипы. Детали-Подтип объекта - Выбор подтипа. Создайте пустой библиотечный элемент с общими параметрами, назовите их как надо. И сохраните с поставленной птицей в пункте "Использовать как подтип". Потом в новом сошлитесь на этот новый подтип и у вас появятся те параметры. Редактировать их можно только открыв подтип. Если удаляете параметры из подтипа - в Дочерних объектах параметр удаляется не всегда.

*

Оффлайн KindBuggg

  • *
  • 5
  • Репутация: +0/-0
Re: Дублирование параметров в разных объектах
« Ответ #3 : Апреля 06, 2014, 20:52:51 »
Спасибо за ответы.
Сначала подумал. что все понятно и будет просто, но вот сейчас пробую...есть вопросы.
Valery_R,  если я вызываю из макроса А макрос Б, передавая все параметры (ALL) , то если в макросе А нет параметров, которые есть в Б, то выдает ошибку  "...является недопустимым именем парамера". В общем то так оно и должно быть)

Daimoon, яу меня не получилось с подтипами, т.к. в Деталях их нет, зато есть отдельная кнопка "Выбрать подтип" (у меня AC14). В этом списке мне предлагают выбрать из кучи подтипов..Опять же где искать галку "Использовать под тип" не знаю.
А что значит  "сошлитесь на этот новый подтип"? Речь идет о вызове CALLом или как-то еще?

Спасибо

*

Оффлайн Valery_R

  • *****
  • 1007
  • Репутация: +285/-0
  • Пол: Мужской
Re: Дублирование параметров в разных объектах
« Ответ #4 : Апреля 06, 2014, 22:32:57 »
...если я вызываю из макроса А макрос Б, передавая все параметры (ALL) , то если в макросе А нет параметров, которые есть в Б, то выдает ошибку...
Скорее всего команду ALL применять не надо.
 "...Если в макровызове отсутствует необходимый параметр, то ему будет присвоено исходное значение по умолчанию, как оно определено в библиотечном элементе, вызванном как макрос."
Пробуйте или опубликуйте пример вашего кода и поясните конкретно, что вы хотите получить в итоге
« Последнее редактирование: Апреля 07, 2014, 00:27:04 от Valery_R »

*

Оффлайн Alex34

  • *
  • 5
  • Репутация: +0/-0
Re: Дублирование параметров в разных объектах
« Ответ #5 : Апреля 07, 2014, 16:21:32 »
Подскажите, пожалуйста, с помощью какой команды в скрипте создать зависимость от текущих значений параметров другого объекта, размещенного в проекте (чтобы потом увидеть эти значения в тексте 2м-скрипта)...

*

Оффлайн KindBuggg

  • *
  • 5
  • Репутация: +0/-0
Re: Дублирование параметров в разных объектах
« Ответ #6 : Апреля 08, 2014, 22:08:37 »
Пробуйте или опубликуйте пример вашего кода и поясните конкретно, что вы хотите получить в итоге
Ну вот если простой пример.

Создаю новый объект B.gdl и создаю в нем параметр Typ, а в скрипте параметром прописываю VALUES "Typ" "обычный","необычный"

Создаю новый объект А.gdl  и ничего в нем не меняю. Что и где мне прописать в нем, чтобы, не создавая в нем параметра Typ, он все же появлялся в нем при вызове B.gdl?

*

Оффлайн Alex34

  • *
  • 5
  • Репутация: +0/-0
Re: Дублирование параметров в разных объектах
« Ответ #7 : Апреля 09, 2014, 17:16:33 »
Я хотел сделать, к примеру, объект GDL "Арматурный стержень", указав на вкладке параметров переменные: длину стержня(Lst) и диаметр стержня (Dst). Разместить несколько объектов на плане и задать их параметры в свойствах. Второй объект - таблица со значениями этих объектов, выведенных через текст 2м-скрипта. Грамотнее это наверное делать через базу данных, но пока хотел сделать это в таком виде, т.к. еще плохо разбираюсь во всем этом....) 

*

Оффлайн Kuvbur

  • ^_^
  • ****
  • 370
  • Репутация: +69/-0
  • Пол: Мужской
Re: Дублирование параметров в разных объектах
« Ответ #8 : Апреля 10, 2014, 01:02:24 »
В вашем виде сделать это не получится - объект не может взять текущие значения параметров из другого объекта (исключение - выносная надпись). Как варианты решения - запивать в файл данные каждым объектом, затем считывать это файл другим объектом (спецификацией), либо через интерактивные каталоги. Каталоги тоже можно сохранить в csv и распарсить потом объектом. Последний вариант - быстрее, но содержит слабое человеческое звено). В приложении - примеры реализации обоих типов.
P.S. Вложение вставить не могу, вот ссылка, на гдиск - https://drive.google.com/folderview?id=0Bz2O7fDkbvFKdjE4UEY0TVN4bG8&usp=sharing

*

Оффлайн Alex34

  • *
  • 5
  • Репутация: +0/-0
Re: Дублирование параметров в разных объектах
« Ответ #9 : Апреля 13, 2014, 17:20:58 »
Спасибо большое), буду разбираться...

 

Похожие темы

  Тема / Автор