Сообщество программистов Autodesk в СНГ

Разное => Разное => Тема начата: Максим Маркевич от 28-10-2016, 19:05:27

Название: Как влияют динамические блоки на "неповоротливость" чертежа?
Отправлено: Максим Маркевич от 28-10-2016, 19:05:27
Всем привет. Многие вопросы при проектировании в AutoCAD решаются при помощи динамических блоков. Конкретно, в моем нынешнем рабочем файле их (вхождений блоков) насчитывается около 5000, файл становится очень неповортливым (имеется в виду, в случае работы с конкретным блоком), работать крайне неудобно. Хотелось бы понять механизм таких потерь производительности. Скажем так, какие параметры меньше загружают память, какие больше? Может, есть какие-то "фишки", упрощающие жизнь? В общем, проблема работы с подобным файлом актуально, буду признателен любой информации.
Название: Re: Как влияют динамические блоки на "неповоротливость" чертежа?
Отправлено: Александр Ривилис от 29-10-2016, 02:17:23
Главная "фишка", упрощающая жизнь - не использовать динамические блоки. Это конечно шутка, но то что ты спрашиваешь скорее могут подсказать не программисты, коих на этом форуме большинство, а реальные проектировщики. Я, например, никогда не работаю с  чертежами, в которых тысячи блоков. Отладка производится на значительно меньшем массиве элементов. Оценить какие параметры динамических блоков быстрее обрабатываются AutoCAD'ом, а какие медленнее - не возьмусь. Тем более, что это может зависеть от версии AutoCAD.
Название: Re: Как влияют динамические блоки на "неповоротливость" чертежа?
Отправлено: Максим Маркевич от 29-10-2016, 02:51:04
Главная "фишка", упрощающая жизнь - не использовать динамические блоки.
А кастомные объекты научите создавать? ;)
Это конечно шутка, но то что ты спрашиваешь скорее могут подсказать не программисты, коих на этом форуме большинство, а реальные проектировщики
Я, как представитель данного класса, не знаю. :) Точнее, знаю только примерные границы числа динблоков, когда файл становится "неповоротливым".
Не, я думаю, что я больше по адресу, чем Вы думаете. ;)
Ладно, буду разбираться, если что-то нарою, отпишусь.
Название: Re: Как влияют динамические блоки на "неповоротливость" чертежа?
Отправлено: Александр Ривилис от 29-10-2016, 03:32:57
А кастомные объекты научите создавать?
А надо? Тогда учи C++.
Название: Re: Как влияют динамические блоки на "неповоротливость" чертежа?
Отправлено: Максим Маркевич от 29-10-2016, 10:32:10
А надо? Тогда учи C++.
Конечно надо! А почему C++? У C# не хватает возможностей или все сложнее гораздо?
Название: Re: Как влияют динамические блоки на "неповоротливость" чертежа?
Отправлено: Владимир Шу от 29-10-2016, 16:04:35
Вот в этой книге http://adn-cis.org/forum/index.php?topic=1097.0 подробно рассмотрен вопрос создания кустомного объекта на С++,
Так же кустомные объекты можно создавать на C#, но при помощи дополнительных костылей MultiCAD , вот пример такого объекта
Извините, вам запрещён просмотр содержимого спойлеров.

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

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

ЗЫ.
MultiCAD крайне привлекательная штука, но количество багов. В итоге мне так и не удалось внедрить эти объекты в работу... =(
Название: Re: Как влияют динамические блоки на "неповоротливость" чертежа?
Отправлено: Максим Маркевич от 30-10-2016, 17:50:05
Вот в этой книге http://adn-cis.org/forum/index.php?topic=1097.0 подробно рассмотрен вопрос создания кустомного объекта на С++,
Да, я припоминаю там главу о DBX-приложениях, которую я пропустил, когда читал книгу, так как я уже знал, что буду C# учить.
Так же кустомные объекты можно создавать на C#, но при помощи дополнительных костылей MultiCAD , вот пример такого объекта
Меня очень заинтересовала эта тема.. Можешь подробнее рассказать о багах? Совсем все плохо?

Название: Re: Как влияют динамические блоки на "неповоротливость" чертежа?
Отправлено: Владимир Шу от 31-10-2016, 12:41:06
Можешь подробнее рассказать о багах? Совсем все плохо?
я так понял, что это не самая приоритетная вещь в работе и правят ее по остаточному принципу. Как правило разработка по мультикад выглядит так: есть идея, начинаешь ее воплощать, в какой то момент  утыкаешься либо в нереализованные функции с заглушками, либо в криво работающие, пишешь в поддержку, там пытаются помочь. Время реагирования тех. поддержки от недели, время решения- следующий релиз, хотя могут и промежуточной сборкой поделиться. Как то так.
Проблема именно в том, что рано или поздно упрёшься баг.
В последний раз, наступил на грабли с косяками при трансформации координат точки из местных в глобальные координаты, костылями решил этот затык взяв эти же методы трансформации из библиотек автокада, получил работающий код, но потерял в совместимости.
В объекте, зоны армирования, не работали засечки и стрелочки, просто заглушки были, т.е. методы и функции есть, но не работают и даже не информируют что не работают...

Как то так.


Название: Re: Как влияют динамические блоки на "неповоротливость" чертежа?
Отправлено: Дмитрий Загорулькин от 02-11-2016, 22:10:51
Скажем так, какие параметры меньше загружают память, какие больше?
Тут, скорее всего, дело не в типах параметров, а в их настройках. К примеру, есть один линейный параметр. Если задать ему фиксированные значения из списка, то дополнительных описаний блока, которые добавятся в чертеж, будет фиксированное значение. Но если значения этого параметра не ограничены списком, то на каждое его уникальное значение будет создаваться отдельное описание. А если таких параметров в блоке несколько, то тут уже комбинаторика подключается - на каждое сочетание значений динпараметров будет создаваться отдельное описание блока со всеми входящими в него объектами. Вот тут и начинаются тормоза, если блоков много. Совет такой: не пытайтесь "запихать" в один блок все возможные вариации, избегайте большого количества динпараметров в одном блоке (особенно, если в блоке много объектов). Разбейте, например, один "мегадинамический" блок на несколько "менее динамических" и поместите их на палитру.