Вопросы начинающего изучать AutoCAD .NET API

Автор Тема: Вопросы начинающего изучать AutoCAD .NET API  (Прочитано 7455 раз)

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

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

  • ADN OPEN
  • ****
  • Сообщений: 411
  • Карма: 9
из этого у меня еще больше вопросов.
может подскажете литературу?

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

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

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

  • ADN OPEN
  • ****
  • Сообщений: 411
  • Карма: 9
просто допустим вот как в вба (надеюсь никого здесь не обижает такое сравнение): есть документ. в нем есть несколько space! в каждом есть items. и перебирая все items можно достучаться до каждой вставки в данном пространстве.
а тут? blocktable.. это таблица из всех objectid данного документа или как?
blocktablerecord... я думал это таблица всех objectid данного пространства или что то вроде того.. это так?

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
blocktable.. это таблица из всех objectid данного документа или как?
BlockTable содержит все ObjectId всех BlockTableRecord имеющихся в документе
BlockTableRecord содержит ObjectId всех примитивов содержащихся в этом блоке. В частности BlockTableRecord с именем "*Model_Space" - это пространство модели, а BlockTableRecord с именем "*Paper_Space" - это пространство листа.
Т.е. если найти все ObjectId в BlockTableRecord с именем "*Model_Space", то мы получим все примитивы в пространстве модели.

Вот из документации полезная табличка:





Короче, воспользуйся ARXDBG и MGDDBG и посмотри своими глазами. Ты всё сам поймёшь.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN OPEN
  • ****
  • Сообщений: 411
  • Карма: 9
значит я не то что бы сильно ошибался.
а objectid вставки блока, который внутри блока, находится в blocktablerecord данного пространства? или в другом

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

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

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

  • ADN OPEN
  • ****
  • Сообщений: 411
  • Карма: 9
дотстаточно понятно)
Спасибо большое. немного уопрядочил знания
попробую разобраться с вашими утилитами
пс: запятые поставил (корректнее сказать просто ставил, ибо их там вовсе нет)
Если бы ты еще и знаки препинания правильно ставил
пс2: а где же хранится таблица листов? точнее LayoutDictionary

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
пс2: а где же хранится таблица листов? точнее LayoutDictionary



А это из MGDDBG:





Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN OPEN
  • ****
  • Сообщений: 411
  • Карма: 9
и последний вопрос на сегодня: paperspace...
пространство листа... какого из всех? активного?

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
пространство листа... какого из всех? активного?
Есть "*Paper_Space", "*Paper_Space0", "*Paper_Space1",  "*Paper_Space2", и т.д. по количеству листов. У каждого листа (Layout) есть своя BlockTableRecord.



Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN OPEN
  • ****
  • Сообщений: 411
  • Карма: 9
ай как просто. просто везде фигурирует modelspace и paperspace
все теперь понятно
спасибо больше Вам Александр!

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

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

Оффлайн Владимир Шу

  • ADN Club
  • *****
  • Сообщений: 624
  • Карма: 158
    • ПГСу Бложик
из этого у меня еще больше вопросов.
может подскажете литературу?
http://adn-cis.org/forum/index.php?topic=1097.0 ... литература....