Сообщество программистов Autodesk в СНГ

ADN Club => Revit API => Тема начата: RevitTormentor от 06-03-2018, 08:44:13

Название: Значение свойства
Отправлено: RevitTormentor от 06-03-2018, 08:44:13
Как узнать/задать значение например Марки у стены.
Марка в данном случае (не знаю как правильно) наверное категория называется?

(https://s14.postimg.org/gsdsl1iq5/111111.png) (https://postimg.org/image/gsdsl1iq5/)

Название: Re: Значение свойства
Отправлено: Александр Пекшев aka Modis от 06-03-2018, 09:49:34
Большинство свойств у элементов задаются через параметры. Некоторые свойства вынесены как свойства класса, но и их можно задать через параметры.
Для начала установите себе RevitLookup (https://github.com/jeremytammik/RevitLookup) - этот инструмент отличный помощник для разработчика. Через него вы сможете посмотреть какие параметры есть у элементов и, главное, узнать нужные данные этих параметров. В первую очередь - BuiltInParameter:

(https://s18.postimg.org/glhg7bc79/Screenshot_8.png) (https://postimg.org/image/glhg7bc79/)

Дальше, с помощью метода Element.get_Parameter(BuiltInParameter) (в справке не описан) вы можете получить этот параметр и задать ему новое значение. Естественно, все это внутри транзакции.

Параметры можно получать и менять различными способами - в гугле много примеров на эту тему. Например, вот (http://spiderinnet.typepad.com/blog/2011/04/parameter-of-revit-api-14-set-parameter-value.html), вот (http://thebuildingcoder.typepad.com/blog/2009/11/change-family-parameter-value.html) и даже вот видео есть (https://www.youtube.com/watch?v=rkYf5yUM-5E).
Название: Re: Значение свойства
Отправлено: RevitTormentor от 06-03-2018, 10:10:57
Ну хорошо что так. Я видимо не туда зашёл.
Думал что всё плохо.


(https://s14.postimg.org/v700f5265/111111.png) (https://postimg.org/image/v700f5265/)
Название: Re: Значение свойства
Отправлено: Александр Пекшев aka Modis от 06-03-2018, 10:11:56
Я видимо не туда зашёл.
мой скриншот внимательней посмотрите
Название: Re: Значение свойства
Отправлено: RevitTormentor от 06-03-2018, 10:14:04
Дак нашёл, конечно. Просто когда искал не туда зашёл - потому и вопрос изначальный возник.


А здесь
Element.get_Parameter(BuiltInParameter)

В 2018 версии будет
Код - C# [Выбрать]
  1. Element.GetParameter
?
Название: Re: Значение свойства
Отправлено: Александр Пекшев aka Modis от 06-03-2018, 10:16:47
Дак нашёл, конечно. Просто когда искал не туда зашёл - потому и вопрос изначальный возник.


А здесь
Element.get_Parameter(BuiltInParameter)

В 2018 версии будет
Код - C# [Выбрать]
  1. Element.GetParameter
?

Читайте внимательно! НЕТ такого метода! есть метод Element.GetParameters.
Название: Re: Значение свойства
Отправлено: RevitTormentor от 06-03-2018, 10:18:37
Писал на память. Мог ошибиться.

А эти "Parameters" это в автокаде как XData? Хотя нет скорее всего.
Название: Re: Значение свойства
Отправлено: Александр Пекшев aka Modis от 06-03-2018, 10:21:53
Писал на память. Мог ошибиться.

А эти "Parameters" это в автокаде как XData?
Нет. И не нужно сравнивать Ревит и Автокад - это совершенно разные программы с совершенно разной внутренней архитектурой и общего между ними нет ничего!
То, что в автокаде XData - в ревите подобное - DataStorage
Название: Re: Значение свойства
Отправлено: RevitTormentor от 06-03-2018, 10:31:22
Писал на память. Мог ошибиться.

А эти "Parameters" это в автокаде как XData?
Нет. И не нужно сравнивать Ревит и Автокад - это совершенно разные программы с совершенно разной внутренней архитектурой и общего между ними нет ничего!
То, что в автокаде XData - в ревите подобное - DataStorage

Лично моё мнение Ревит - расширенный автокад. То чего не хватало в Автокаде - решили в автокаде не доделывать/переделывать, а сделать с самого нуля исключив "огрехи" автокада (ну и по мелочи параметрические блоки назвали семействами и т.п.).
Т.к. общего много, всё работает только через команды, последовательно (асинхронности нет?). Сейчас смутно понимаю конечно, но скорее всего последовательность работы как в автокаде: Пройтись по базе, взять ObjectID (в Ревите называется по другому наверное) получить по ID доступ к Элементу (Entity) сделать Entity as Wall, as Level и пр. Ну и провести какие то манипуляции. Сохранить в базе. Ну и транзакции. Где то я их уже встречал :).



Название: Re: Значение свойства
Отправлено: Александр Пекшев aka Modis от 06-03-2018, 10:35:13
Лично моё мнение Ревит - расширенный автокад. То чего не хватало в Автокаде - решили в автокаде не доделывать/переделывать, а сделать с самого нуля исключив "огрехи" автокада (ну и по мелочи параметрические блоки назвали семействами и т.п.).
вот только вы не учитываете маленькую деталь - Ревит сделали не в Autodesk! Autodesk его просто купили. Так что ничего общего с автокадом там не может быть в принципе и ваше мнение ошибочно.
А то, что вы описали и пытаетесь приравнять к работе автокада/ревита - это обычные принципы работы с БД и принципы ООП
Название: Re: Значение свойства
Отправлено: RevitTormentor от 06-03-2018, 10:46:54
Может и другие начинали. Значит купили адаптировали - сделали расширенный автокад. :)
Пусть будет так.
Название: Re: Значение свойства
Отправлено: Александр Пекшев aka Modis от 06-03-2018, 10:58:52
Может и другие начинали. Значит купили адаптировали - сделали расширенный автокад. :)
Пусть будет так.
Вы можете конечно оставаться со своим мнением. Но если вы будете продолжать так думать, то у вас ни плагины получаться не будут, ни работать в Ревите не получится. ИМХО!
Название: Re: Значение свойства
Отправлено: RevitTormentor от 06-03-2018, 11:00:08
Ок
Название: Re: Значение свойства
Отправлено: Александр Ривилис от 06-03-2018, 12:48:35
Может и другие начинали. Значит купили адаптировали - сделали расширенный автокад. :)
Пусть будет так.
Бред. Поинтересуйтесь историей создания Revit.