добрый день, помогите идеями, как узнать объем объекта автокада? в байтах или процентах, без разницы в чем. но мне нужно узнать какой объем занимает объект при хранении в файле DWG.бррр.......объем линии автокада 0,001% может объем в литрах лучше? ;-)
поэтому я хочу видеть какие объекты сколько занимают.по идее получаешь объект
не получится - sizeof даст размер для типа, а не для объекта.тогда попробуй
какой объем занимает объект при хранении в файле DWG.Ну так поступи таким образом:
добрый день, помогите идеями, как узнать объем объекта автокада? в байтах или процентах, без разницы в чем. но мне нужно узнать какой объем занимает объект при хранении в файле DWG.Какова практическая польза сего действа?
Это можно сделать средствами ObjectARX/C++ но и это явно не то, что тебя интересует.Кроме того, совершенно не факт, что структура и размер объекта в памяти соответствует структуре и размеру того, в каком виде эта информация сохраняется в DWG, т.к. вовсе не исключено (хотя и не обязательно), что в этом случае может присутствовать некоторая оптимизация.
Считаю задачу совершенно бессмысленной пока меня не убедят в обратном.Аналогично.
как узнать объем в objectARX?В ObjectARX: sizeof(<имя класса объекта>). Хотя это тоже всё неправильно. Допустим это растровый объект. Размер класса один и тотже, а в памяти будет занимать разный объем в зависимости от размера растра. Единственный более-менее корректный способ - это:
Какова практическая польза сего действа?Андрей не дочитал! в 3 сообщении Алексей написал для какой цели. Хотя скорее всего сам размер в том виде и не нужен.
можно отключить прохи-графику _proxygrphics=0, это помогает, но не сильно.По части уменьшения размера файла...
как выяснилось, даже если из этих файлов удалить все, что видно, файлы остаются в своем преждем объеме минус 1-2мб. объекты полнящие файл не визуальны, это огромное количество библиотек, таблиц, х-данных и всякой фигни, как позже выяснилось, не нужной для работы файла.
я уже вычистил, все, что могу идентифицировать, как лишнее, это позволяет легко уменьшать файлы до их почти реальных размеров, но все же, что-то остается.
_.WBLOCKнасколько помню
насколько помнюЯ всё же предлагаю попробовать.
практическая ценность очевидна:Я спрашивал не о практичности более компактного представления документа, а о практичности того пути, который ты выбрал для решения этой задачи.
1. файл в 2мб в 5 разь меньше места занимает на диске, чем файл в 10мб, а место на диске это деньги - куда уж практичнее?!
я делал уже разные варианты чистилки, одна из них расчленяла все блокиЯ не спрашивал о "твоих вариантах чистилок". Я спрашивал о том, пробовал ли ты взрывать и уничтожать прокси любым из обозначенных мною выше инструментов. Эти инструменты выполняют работу не штатными средствами [т.е. командами] акада.
потом я обнаружил, что в база много dictionary, которые имеют хозяевами блоки или слои. что может слой хранить в таком виде? я их удаляю.Полегче с этим! Это часть стандартных механизмов автокада. К примеру аннотативность и динамические блоки создают такие словари.
в вот всякие ПО под автокад забиваютА что за ПО то? это тоже может помочь. Файл-пример то выложишь?
Полегче с этим! Это часть стандартных механизмов автокада. К примеру аннотативность и динамические блоки создают такие словари.За это плюсанул три раза. И еще. Разбивать до примитивов блоки можно только если с ними никто больше работать не будет. Кстати, 1000 одинаковых блоков, содержащих десяток-другой примитивов будут работать значительно быстрее и занимать меньше места, чем те же самые расчленённые блоки. Так что бездумное расчленение ни к чему хорошему не приведёт.
Разбивать до примитивов блоки можно только если с ними никто больше работать не будет. Кстати, 1000 одинаковых блоков, содержащих десяток-другой примитивов будут работать значительно быстрее и занимать меньше места, чем те же самые расчленённые блоки. Так что бездумное расчленение ни к чему хорошему не приведёт.Да блоки штука хитрая.
файлы примеры выложить не могу - они коммерческие.не обязательно выкладывать целый файл. Можно удалить всю графическую информацию с модели/листов. И вызвать Purge. И если он действительно большой, тогда можно поковыряться в остатках что в них не так ;-)