Интересный пример с пользовательскими объектами для изучения

Автор Тема: Интересный пример с пользовательскими объектами для изучения  (Прочитано 39004 раз)

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

Тема содержит сообщение с Решением. Нажмите здесь чтобы посмотреть его.

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

  • ADN OPEN
  • **
  • Сообщений: 87
  • Карма: 0
Предлагаю на рассмотрение интересный пример с пользовательскими графическими объектами.
« Последнее редактирование: 28-09-2014, 15:18:00 от Александр Ривилис »

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Я очистил архив от мусора - 25М-ый ncb-файл совершенно не нужен.
« Последнее редактирование: 28-09-2014, 15:18:10 от Александр Ривилис »
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN OPEN
  • **
  • Сообщений: 87
  • Карма: 0
Будет открываться? Спасибо!
« Последнее редактирование: 28-09-2014, 15:18:24 от Александр Ривилис »

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

  • ADN OPEN
  • **
  • Сообщений: 87
  • Карма: 0
интересный пример
« Ответ #3 : 28-09-2014, 15:10:13 »
Это пример из статьи некоего инженера-программиста Фернандо из Бразилии. Вот его статья по этому примеру (к сожалению на английском).

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

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

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

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

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

  • ADN OPEN
  • **
  • Сообщений: 87
  • Карма: 0
Пример меня заинтересовал своей наглядностью и яркостью. В папке Samle (ObjectArx) примеров мало. В примере продемонстрировано создание "сложного" объекта из нескольких графических примитивов (что к стати в папке Sample я не нашел), создание новой "ручки" со своими свойствами. Класс MyHatch в данном случае можно было не создавать, это сделано для примера, чтобы показать некоторые виртуальные функции.

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Первый недостаток, на который я обратил внимание - проект никак не хочет линковаться в конфигурации x64. Что-то в настройках проектов серьезно было перепутано. Исправил. Что касается путей доступа, то я постарался исправить. Если установлена переменная среды окружения ARX2012, которая указывает на каталог ObjectARX SDK 2012 (обычно это C:\ObjectARX 2012), то всё должно нормально компилироваться и линковаться во всех конфигурациях.
« Последнее редактирование: 28-09-2014, 17:25:26 от Александр Ривилис »
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN OPEN
  • **
  • Сообщений: 87
  • Карма: 0
Вопрос:
когда в автокаде выделяю штриховку, то выделяется также полилиния, и наоборот.
Как это объяснить?

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Похоже ты не понял сути этого примера. У тебя уже нет отдельной штриховки и отдельной полилинии. Это единый примитив класса AuPolyline. Аналогичное поведение у вставки блока (INSERT - класс AcDbBlockReference) и атрибутов блока (ATTRIB - класс AcDbAttribute). Если выбираешь атрибут - выбирается весь блок.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN OPEN
  • **
  • Сообщений: 87
  • Карма: 0
Я понимаю, что это объект 1 класса, в котором есть вложенный объект другого класса, а если вложить динамический массив объектов (например контейнер) когда программист заранее не знает количества вложенных объектов, будут ли соблюдаться те же свойства совместной работы?

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

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

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

  • ADN OPEN
  • **
  • Сообщений: 87
  • Карма: 0

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

  • ADN OPEN
  • **
  • Сообщений: 87
  • Карма: 0
Здорово было бы посмотреть пример кода аналогичный блоку.

А если массив указателей на другие объекты создать, будет ли это все работать как блок?

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

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