Получить LineWeight в миллиметрах или дюймах

Автор Тема: Получить LineWeight в миллиметрах или дюймах  (Прочитано 5500 раз)

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

Оффлайн avcАвтор темы

  • ADN Club
  • *****
  • Сообщений: 822
  • Карма: 166
    • Мои плагины к Автокаду
При оформлении Автокадовских таблиц столкнулся с тем что толщина (т.н."вес") линий это оказывается не double, а перечисление LineWeight. Значения вроде совпадают с сотыми долями миллиметров. Причем в дюймовых чертежах тоже.  Получилось такое преобразование в единицы чертежа:
Код - C# [Выбрать]
  1. if (border.LineWeight != null && (border.LineWeight.Value) > 0) // в моем случае border это CellBorder, но это не суть важно
  2.    margin = (double)border.LineWeight.Value / 100d / ((Int16)AcadApp.GetSystemVariable("INSUNITS") == 1 ? 25.4 : 1d);
Но это не вся проблема. Вес может быть дефолтным, по слою и по блоку. Значит надо еще кучу кода писать :(
Вопрос: нет ли более короткого пути для получения действующего веса линий объектов и преобразования его в единицы текущего чертежа.

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Вопрос: нет ли более короткого пути для получения действующего веса линий объектов и преобразования его в единицы текущего чертежа.
Нет. Кстати, что-то мне твоя формула сильно не нравится. INSUNITS можно легко поменять.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн avcАвтор темы

  • ADN Club
  • *****
  • Сообщений: 822
  • Карма: 166
    • Мои плагины к Автокаду
Жаль...
Спасибо

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Жаль...
Спасибо
А в чем смысл твоих вычислений? Чего ты добиваешься?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн avcАвтор темы

  • ADN Club
  • *****
  • Сообщений: 822
  • Карма: 166
    • Мои плагины к Автокаду
Вычисляю подходящую ширину ячеек таблицы. Толщина линий конечно не особо текст перекроет. Проще проигнорировать. Но мне подумалось, что вопрос с вычислением толщины линий может еще где-нибудь пригодится.

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Ну вообще-то вес линий проявлется при печати/публикации. Т.е. фактически идёт пересчет в единицы пространства листа. Поэтому если таблица в модели, то расчет будет совсем неправильный.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение