Создание нового чертежа программным способом.

Автор Тема: Создание нового чертежа программным способом.  (Прочитано 16179 раз)

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

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

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

Оффлайн Дмитрий ЗагорулькинАвтор темы

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 735
А еще можешь попробовать 4-ый метод:
Все, проверил, прекрасно работает! Хочу заметить, что в методе Database.ReadDwgFile нужно указывать полный путь к шаблону, файл в путях поддержки сам не ищется. Хотя, возможно, что это нормально для NET.
Другие способы, про которые вы писали в этой теме, гораздо более трудоемки и не факт, что дадут нужный результат. С шаблоном же всегда можно оперативнее подстроиться под желания пользователей.
Еще раз спасибо за советы!

Оффлайн Андрей Бушман

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Тут проблем быть не должно. Но! Таким образом ты удалишь все примитивы внутри блоков. Т.е блоки окажутся пустыми.
А, ну да... :) Нужно выполнять итерацию по модели и листам.

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

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Все, проверил, прекрасно работает!
Отлично!
Хочу заметить, что в методе Database.ReadDwgFile нужно указывать полный путь к шаблону, файл в путях поддержки сам не ищется. Хотя, возможно, что это нормально для NET.
Это вообще нормально. :)
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Андрей Бушман

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78

Оффлайн Дмитрий ЗагорулькинАвтор темы

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 735
Ничего. Создается пустая база с настройка по-умолчанию для базы (никак не связанная ни с какими шаблонами).
Похоже, что метод Database.Wblock точно так же новый чертеж создает. Вытаскиваю объекты из чертежа этим методом. В результате, в новом чертеже совершенно другие единицы. В исходном метры, в получаемом - футы. Можно как-то эти настройки по умолчанию переопределять?

Update:
А, я там новую базу данных так же создаю: new Database(true, false). Понятно, почему "все по умолчанию".

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

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
А, я там новую базу данных так же создаю: new Database(true, false). Понятно, почему "все по умолчанию".
Разобрался? Теперь всё нормально?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Дмитрий ЗагорулькинАвтор темы

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 735
Да, я разобрался, почему так происходит. А вот как с этим бороться - пока неясно. Наверное, тоже придется указывать конкретный шаблон для создания нового чертежа.

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

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Database.Wblock (если использовать метод без параметров) создаёт новую базу с теми же параметрами, что и у базы, для которой этот метод выполняется. Так что единицы измерения должны быть одинаковы. Во всяком случае в чистом AutoCAD - Civil3D возможно обрабатывает единицы посвоему.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Дмитрий ЗагорулькинАвтор темы

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 735
Да, этот вариант работает! Но, в новую БД копируются все объекты исходной БД, примитивы в том числе. По сути, создается полная копия исходного чертежа. Мне такое не подходит.
В общем, сделал тоже с использованием шаблона - хорошо работает, все устраивает.

Оффлайн Дмитрий ЗагорулькинАвтор темы

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 735
Хорошо работало и устраивало...
Возникли проблемы с аннотативными объектами. В исходном чертеже их видно, в получаемом - нет. Манипуляции с переменными не спасают.
Видимо, нужно еще дополнительно перетаскивать какие-то настройки чертежа, касающиеся аннотативности.

Оффлайн Андрей Бушман

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
имеешь в виду, что у объектов, полученных с помощью wblock, слетает список их аннотативных масштабов?

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

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
На всякий случай напоминаю, что масштабы аннотаций содержаться в словаре ACAD_SCALELIST:


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

Оффлайн Дмитрий ЗагорулькинАвтор темы

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 735
Подумав, решил создавать полную копию чертежа и вычищать примитивы. Мало ли что потом еще вылезет...

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

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Подумав, решил создавать полную копию чертежа и вычищать примитивы. Мало ли что потом еще вылезет...
:D А ведь я советовал именно это сделать сразу!
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение