Как влияют динамические блоки на "неповоротливость" чертежа?

Автор Тема: Как влияют динамические блоки на "неповоротливость" чертежа?  (Прочитано 6882 раз)

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

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

  • ADN Club
  • ****
  • Сообщений: 254
  • Карма: 29
  • Skype: evthisrel
Всем привет. Многие вопросы при проектировании в AutoCAD решаются при помощи динамических блоков. Конкретно, в моем нынешнем рабочем файле их (вхождений блоков) насчитывается около 5000, файл становится очень неповортливым (имеется в виду, в случае работы с конкретным блоком), работать крайне неудобно. Хотелось бы понять механизм таких потерь производительности. Скажем так, какие параметры меньше загружают память, какие больше? Может, есть какие-то "фишки", упрощающие жизнь? В общем, проблема работы с подобным файлом актуально, буду признателен любой информации.

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

  • Administrator
  • *****
  • Сообщений: 13830
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Главная "фишка", упрощающая жизнь - не использовать динамические блоки. Это конечно шутка, но то что ты спрашиваешь скорее могут подсказать не программисты, коих на этом форуме большинство, а реальные проектировщики. Я, например, никогда не работаю с  чертежами, в которых тысячи блоков. Отладка производится на значительно меньшем массиве элементов. Оценить какие параметры динамических блоков быстрее обрабатываются AutoCAD'ом, а какие медленнее - не возьмусь. Тем более, что это может зависеть от версии AutoCAD.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN Club
  • ****
  • Сообщений: 254
  • Карма: 29
  • Skype: evthisrel
Главная "фишка", упрощающая жизнь - не использовать динамические блоки.
А кастомные объекты научите создавать? ;)
Это конечно шутка, но то что ты спрашиваешь скорее могут подсказать не программисты, коих на этом форуме большинство, а реальные проектировщики
Я, как представитель данного класса, не знаю. :) Точнее, знаю только примерные границы числа динблоков, когда файл становится "неповоротливым".
Не, я думаю, что я больше по адресу, чем Вы думаете. ;)
Ладно, буду разбираться, если что-то нарою, отпишусь.

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

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

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

  • ADN Club
  • ****
  • Сообщений: 254
  • Карма: 29
  • Skype: evthisrel
А надо? Тогда учи C++.
Конечно надо! А почему C++? У C# не хватает возможностей или все сложнее гораздо?

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

  • ADN Club
  • *****
  • Сообщений: 611
  • Карма: 155
    • ПГСу Бложик
Вот в этой книге http://adn-cis.org/forum/index.php?topic=1097.0 подробно рассмотрен вопрос создания кустомного объекта на С++,
Так же кустомные объекты можно создавать на C#, но при помощи дополнительных костылей MultiCAD , вот пример такого объекта
Извините, вам запрещён просмотр содержимого спойлеров.

и вот тут
Извините, вам запрещён просмотр содержимого спойлеров.

можно посмотреть как это работает при 10тыс. объектов.

ЗЫ.
MultiCAD крайне привлекательная штука, но количество багов. В итоге мне так и не удалось внедрить эти объекты в работу... =(

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

  • ADN Club
  • ****
  • Сообщений: 254
  • Карма: 29
  • Skype: evthisrel
Вот в этой книге http://adn-cis.org/forum/index.php?topic=1097.0 подробно рассмотрен вопрос создания кустомного объекта на С++,
Да, я припоминаю там главу о DBX-приложениях, которую я пропустил, когда читал книгу, так как я уже знал, что буду C# учить.
Так же кустомные объекты можно создавать на C#, но при помощи дополнительных костылей MultiCAD , вот пример такого объекта
Меня очень заинтересовала эта тема.. Можешь подробнее рассказать о багах? Совсем все плохо?


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

  • ADN Club
  • *****
  • Сообщений: 611
  • Карма: 155
    • ПГСу Бложик
Можешь подробнее рассказать о багах? Совсем все плохо?
я так понял, что это не самая приоритетная вещь в работе и правят ее по остаточному принципу. Как правило разработка по мультикад выглядит так: есть идея, начинаешь ее воплощать, в какой то момент  утыкаешься либо в нереализованные функции с заглушками, либо в криво работающие, пишешь в поддержку, там пытаются помочь. Время реагирования тех. поддержки от недели, время решения- следующий релиз, хотя могут и промежуточной сборкой поделиться. Как то так.
Проблема именно в том, что рано или поздно упрёшься баг.
В последний раз, наступил на грабли с косяками при трансформации координат точки из местных в глобальные координаты, костылями решил этот затык взяв эти же методы трансформации из библиотек автокада, получил работающий код, но потерял в совместимости.
В объекте, зоны армирования, не работали засечки и стрелочки, просто заглушки были, т.е. методы и функции есть, но не работают и даже не информируют что не работают...

Как то так.



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

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