Официальный форум российского программного комплекса T-FLEX PLM


Поиск  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
Объем файла сборки
 
Вопрос, наверное, к разработчикам:
Каким образом формируется объем, занимаемый файлом сборки, на жестком диске?

При редактировании геометрии деталей из существующей сборки ее объем в большинстве случаев после обновления значительно увеличивается (для некоторых сборок в разы). Объем самих деталей после редактирования либо не изменяется либо вообще уменьшается. Причем при сборке по измененным деталям с "нуля" объем меньше, чем в обновленной, хотя структура везде одинакова. Почему так?
Вызывает вопросы и значительный объем файлов сборки. Ведь при использовании внешних фрагментов данные о геометрии деталей расположены в соответствующих файлах деталей. Неужели информация о ссылках на файлы, о их привязках и взаимном расположении занимает много места?
Существует ли возможность "оптимизации" сборок для минимизации объема файлов, по аналогии с операциями "Упрощение" или "Удалить лишнее" но применительно к структуре самой сборки и связям деталей?
 
Позволю себе наглость ответить.
Могу конечно ошибаться, в программировании пока еще опыта немного. И на мой взгляд получается следующая картина: если фрагмент вставляется в сборку со значениями внешних переменных по умолчанию, то сборка просто ссылается на геометрию сохраненную в файле (или "начитывает" геометрию из файла), если же при помощи изменения значений внешних переменных геометрия фрагмента в сборке стала отличатся от геометрии фрагмента в файле, то новая геометрия сохраняется уже в сборке (геометрия "прописывается" в файле сборки), хотя ссылка на фрагмент все же остается. А что есть геометрия - описание координат треугольников граней тел. Отсюда можно сделать вывод, что увеличение размера сборки зависит от того были ли изменены значения внешних переменных, входящих в сборку фрагментов. Если же измененную геометрию хранить не в сборке и не в файле фрагмента, а например, в памяти, то опять же на больших сборках оперативки может просто не хватить, если рассматривать ОС до Висты. Опять же повторюсь, это лишь мое умозаключение, которое может не соответствовать действительности.
Изменено: Сергей Максимов - 21.06.2009 00:07:56
 
Цитата
Сергей Максимов пишет:

ли изменены значения внешних переменных, входящих в сборку фрагментов.

Спасибо за ответ.
Но дело в том, что увеличение объема происходит и для сборок без использования переменных вообще (даже в деталях).
 
Цитата
Сергей Максимов пишет:

И на мой взгляд получается следующая картина...
Вы правы. Файл 3D-сборки хранит внутри себя геометрию входищих в неё деталей, но только в том случае, если у деталей есть переменные и они не совпадают со значениями переменных в файлах фрагментов. Это сделано, чтобы ускорить открытие файлов-сборок (ведь тогда при открытии сборки будет происходить регенерация всех параметрических фрагментов). В других случаях геометрия хранится в файле детали.

И не забывайте, что в файле также хранится сетка для отображения в 3D окне. Это, опять же, сделано для ускорения открытия файла.

Отключить этот механиз мельзя.
Если у Вас есть пример, показывающий, что размер файла неоправданно растет - отправляйте его нам. Наши программисты будут разбираться.
 
Есть и у меня вопрос. Предположим в сборке используется два или более 3D фрагметров со ссылкой на один и тот же файл (например, винт из стандартной библиотеки), причем значения переменных у всех этих 3D фрагментов (винтов) идентичны, но отличны от значений "по умолчанию". Вопрос: внутри файла сборки все эти винты представляются разным набором данных о геометрии или все-таки единым набором данных? Другими словами, в сборке для каждого из винтов хранится своя геометрия или же используется геометрия одного из винтов для всех остальных винтов?
Изменено: Brom25 - 23.06.2009 00:10:22
Кто ищет - тот всегда найдет!
 
Цитата
Brom25 пишет:

Вопрос: внутри файла сборки все эти винты представляются разным набором данных о геометрии или все-таки единым набором данных? Другими словами, в сборке для каждого из винтов хранится своя геометрия или же используется геометрия одного из винтов для всех остальных винтов?
Опять наберусь наглости ответить.
Если рассуждать логически, то для каждого фрагмента - своя геометрия. Смотрите мы знаем, что копии и массив - всегда легче, чем ежели вставленные отдельно фрагменты. Другими словами вставленные 10 болтов тяжелее случая, когда вставлен один болт и на основании его создан массив из 9 членов или же просто создано 9 копий. Во всяком случае так обстояли дела еще в 10-ке. В 11-й выполнил только один проект. Последний год отошел от проектирования, поэтому утверждать по 11-й не могу.
Изменено: Сергей Максимов - 23.06.2009 07:42:37
 
На форуме:
http://www.boim.by/post517.html?sid=35cf20ba937501cb4d0584e37e9c9615#p517
недавно приводили пример со съемником, собранным с помощью сопряжений.
Там же можно скачать файл New.rar с исходным архивом сборки и соответствующих деталей. Так вот, при редактировании детали 00.004-2_Гайка (уменьшен диаметр цилиндрической части для сбега наружной резьбы), объем файла детали после сохранения не изменился, а вот размер файла сборки после обновления вырос почти в два раза (с 2,2 Мб до 4 Мб). Остальные файлы сборки не изменялись. Некоторые детали содержат набор переменных, но они не используются при сборке.
Сравнительную картинку прилагаю, сами файлы с изменением представить пока не могу, проблемы с трафиком (но исходный набор файлов, без изменения детали 00.004-2_Гайка, можно скачать на форуме, представленном ссылкой выше).
съемник.jpg (106.54 КБ)
 
Цитата
Сергей Максимов пишет:

Опять наберусь наглости ответить.
И снова Вы правы :)
Если файл у двух фрагментов одинаковый и значения переменных одинаковы, то геометрия хранится в единственном экземпляре.
 
Цитата
Сергей Максимов пишет:

Если рассуждать логически, то для каждого фрагмента - своя геометрия.

Цитата
Osiris2000 пишет:

Если файл у двух фрагментов одинаковый и значения переменных одинаковы, то геометрия хранится в единственном экземпляре.

Не понял. ~~:-
Кто ищет - тот всегда найдет!
 
Цитата
Александр Спиглазов пишет:
На форуме:

Уже в исходном архиве файл сборки занимает 4 Мб, а не 2.2 Мб, как на приложенной картинке.
 
Цитата
Brom25 пишет:

Не понял.
:) Короче:
если Вы вставили в сборку 2 одинаковых болта, то система будет хранить в файле только один экземпляр геометрии.
 
Цитата
Osiris2000 пишет:

Уже в исходном архиве файл сборки занимает 4 Мб, а не 2.2 Мб, как на приложенной картинке.

Странно. Только что заново скачал из источника по ссылке и проверил - у меня файл Съёмник_n.grb занимает 2.2 Мб (файловая система NTFS размер кластера 4096 байт). Так как сборку на том форуме выкладывал я, то исходники у меня сохранились. Привожу здесь:
- сборка до изменений:
http://narod.ru/disk/10175432000/New.rar.html
- сборка после изменений:
http://narod.ru/disk/10175499000/New_2.zip.html
- еще раз скриншот:
skr.jpg (211.68 КБ)
 
Цитата
Osiris2000 пишет:

если Вы вставили в сборку 2 одинаковых болта, то система будет хранить в файле только один экземпляр геометрии.

Чем же объясняется некоторое замедление работы при вставке стандартных элементов одного типоразмера с увеличением их количества. Чем больше вставок тем медленней обработка самой вставки. У меня начинает ощущаться при количестве вставок 50 и выше (грешу на видеокарту, но и объем сборки при этом тоже увеличивается).
 
2 Osiris2000.

Так понятнее. Спасибо.
Кто ищет - тот всегда найдет!
Страницы: 1