RealDWG: Получение информации о цвете граней твердых тел

Автор Тема: RealDWG: Получение информации о цвете граней твердых тел  (Прочитано 6138 раз)

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

Оффлайн Александр РивилисАвтор темы

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

Оффлайн avc

  • ADN Club
  • *****
  • Сообщений: 822
  • Карма: 166
    • Мои плагины к Автокаду
Просто прокомментирую:
1. Строка 40 - имелся ввиду var вместо List> ?
2. Строка 26 - требуется using т.к. создается новый объект, который надо непременно диспозить до уничтожения brep. Иначе Автокад вылетает с фаталом. Не сразу, после десятков вызовов, но гарантированно. По крайней мере старые версии Автокада.
3. Почему собственно RealDWG? Весь код рабочий для запуска под Автокадом.
4. Большинство команд моделирования сбивают раскраску солида. Поэтому присваивать цвета граням можно только в самом конце работы.
5. Во всех версиях Автокад есть баг: Если раскрасить грани солида, то Автокад не сможет нормально выбирать грани. кликаешь по одной, выбирается совсем другая. Спасает только переключение в визуальный стиль 2D-каркас. Тема обсуждалась на форумах, но воз и ныне там...
6. В Brep баг с идентификаторами граней (по мимо миллиона других багов). Требуется обязательно сохранить солид в БД и получить brep через полный путь. Клоны солидов и новые солиды пути не имеют. brep с ними не работает (не даст id грани). Но идентификаторы граней у них тоже есть, команды типа GetSubentityColor прекрасно работают. Обидно, однако...

Оффлайн Александр РивилисАвтор темы

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
1. Строка 40 - имелся ввиду var вместо List> ?
Спасибо. Не заметил эту ошибку у автора. Исправил на List<KeyValuePair<Color,SubentityId>> . Видимо в оригинале что-то "съело" угловые скобки.
2. Строка 26 - требуется using т.к. создается новый объект, который надо непременно диспозить до уничтожения brep.
Для RealDwg думаю это не актуально.
3. Почему собственно RealDWG? Весь код рабочий для запуска под Автокадом.
Это вопрос к автору статьи - наверняка был создан case, на который он и отвечал. А там было указано, что используется RealDWG. Хотя согласен, что многие коды, для RealDWG прекрасно работают и в самом AutoCAD.
4. Большинство команд моделирования сбивают раскраску солида. Поэтому присваивать цвета граням можно только в самом конце работы.
Программа не присваивает цвета, а считывает заданные.
5) и 6) не комментирую.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение