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

ADN Club => AutoCAD .NET API => Тема начата: Александр Пекшев aka Modis от 22-06-2015, 23:33:39

Название: Свойства примитива в блоке "По Блоку"
Отправлено: Александр Пекшев aka Modis от 22-06-2015, 23:33:39
Я программно создаю блок. Допустим с одной полилинией. По моей задумке примитивы в блоке должны наследовать установленные для блока свойства - для этого свойства примитива в блоке должны иметь значение "По блоку". С цветом и весом линии вроде понятно:
Код - C# [Выбрать]
  1. pline.Color = Color.FromColorIndex(ColorMethod.ByBlock, 0);
  2. pline.LineWeight = LineWeight.ByBlock;
Но я так и не понял как установить то-же самое для типа линий. Не думаю, что перебирать все типы линий и искать нужный - это подходящий вариант. Должно быть проще

И сопутствующий вопрос - есть ли подобное свойство для масштаба типа линий? Чтобы к примитивам в блоке применялся тот-же масштаб типа линий, что установлен для блока?
Название: Re: Свойства примитива в блоке "По Блоку"
Отправлено: Александр Пекшев aka Modis от 22-06-2015, 23:46:49
Сам спросил - сам ответил  ;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"];

По второму вопросу - видимо нет таких свойств, т.к. параметр "масштаб типа линий" у вхождения блока не меняется
Название: Re: Свойства примитива в блоке "По Блоку"
Отправлено: Александр Ривилис от 23-06-2015, 00:12:05
Для типа линии:
Код - C# [Выбрать]
  1. pline.LinetypeId = db.ByBlockLinetype;