Свойства примитива в блоке "По Блоку"

Автор Тема: Свойства примитива в блоке "По Блоку"  (Прочитано 4983 раз)

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

Оффлайн Александр Пекшев aka ModisАвтор темы

  • ADN Club
  • *****
  • Сообщений: 1658
  • Карма: 366
  • Отец modplus.org
    • ModPlus
Я программно создаю блок. Допустим с одной полилинией. По моей задумке примитивы в блоке должны наследовать установленные для блока свойства - для этого свойства примитива в блоке должны иметь значение "По блоку". С цветом и весом линии вроде понятно:
Код - C# [Выбрать]
  1. pline.Color = Color.FromColorIndex(ColorMethod.ByBlock, 0);
  2. pline.LineWeight = LineWeight.ByBlock;
Но я так и не понял как установить то-же самое для типа линий. Не думаю, что перебирать все типы линий и искать нужный - это подходящий вариант. Должно быть проще

И сопутствующий вопрос - есть ли подобное свойство для масштаба типа линий? Чтобы к примитивам в блоке применялся тот-же масштаб типа линий, что установлен для блока?

Оффлайн Александр Пекшев aka ModisАвтор темы

  • ADN Club
  • *****
  • Сообщений: 1658
  • Карма: 366
  • Отец modplus.org
    • ModPlus
Сам спросил - сам ответил  ;D
Самый короткий вариант, что нашел:
Код - C# [Выбрать]
  1. var linTbl = tr.GetObject(db.LinetypeTableId, OpenMode.ForRead) as LinetypeTable;
  2. pline.Color = Color.FromColorIndex(ColorMethod.ByBlock, 0);
  3. pline.LineWeight = LineWeight.ByBlock;
  4. if (linTbl != null) pline.LinetypeId = linTbl["ByBlock"];

По второму вопросу - видимо нет таких свойств, т.к. параметр "масштаб типа линий" у вхождения блока не меняется

Отмечено как Решение Александр Пекшев aka Modis 23-06-2015, 00:14:13

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Для типа линии:
Код - C# [Выбрать]
  1. pline.LinetypeId = db.ByBlockLinetype;
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение