Перейти к публикации

Как собрать файлы с разными расширениями и форматами в один файл, как в Star CCM и Ansys?


Рекомендованные сообщения

Здравствуйте. Помогите, пожалуйста, разобраться в вопросе.
У меня есть приложение (.exe), которое при запуске создает несколько файлов с разными расширениями и разными форматами данных. (.dll,. yaml  .mesh и т. д.)
Подскажите пожалуйста, как сделать так, чтобы все файлы содержались в ОДНОМ файле? В продуктах Star CCM + и Ansysв всё содержится в одном файле. Я хочу сделать также. Можете предложить варианты?

Ссылка на сообщение
Поделиться на других сайтах


UnPinned posts
1 минуту назад, Борман сказал:

В zip архив затолкай.

А что делать, если все эти файлы будут весить более 30 гб?
Скорость и время для очень важны. Он долго будет архивировать

Ссылка на сообщение
Поделиться на других сайтах
1 час назад, nikita_paul3 сказал:

и Ansysв

Обычно проект в ансисе, в воркбенче, это целая отдельная папка с ворохом подпапок и с запутанной структурой.

Ссылка на сообщение
Поделиться на других сайтах
21 минуту назад, Борман сказал:

В zip архив без сжатия значит.

Я пробовал, всё равно архивирует долго

16 минут назад, karachun сказал:

Обычно проект в ансисе, в воркбенче, это целая отдельная папка с ворохом подпапок и с запутанной структурой.

А если в ССМ? Как сделать как у них? Или хотя бы наподобие?

Ссылка на сообщение
Поделиться на других сайтах
14 минут назад, nikita_paul3 сказал:

Я пробовал, всё равно архивирует долго

Ну а какой еще есть выбор? Если нужно собрать несколько файлов в один то нужен архив. Вон, в играх все ресурсы запаковывают от любопытных глаз и ничего. Звуки, текстуры и модели (которые в современных играх уже перевалили за сотню гигабайт суммарного веса) грузятся мгновенно, так что пользователь не испытывает дискомфорта.

 

13 минут назад, nikita_paul3 сказал:

А если в ССМ? Как сделать как у них? Или хотя бы наподобие?

А кто же вам расскажет. Здесь разработчиков стара нет и вряд-ли кто-то подробно копался в его файлах.

 

Вообще, может вам на форум программистов обратится? Может там вам подскажут.

Мы же работаем в CAE а не создаем CAE. Вот если бы вам балку какую посчитать или течение жидкости в трубе то другое дело, а так...

 

Хотя может @ДОБРЯК что-то подскажет.

@nikita_paul3 Вон, в Линухе же есть команда tar которая сцепляет файлы в один архив без сжатия.

Тот же Ansys Fluent раньше работал с архивами .gz и особых тормозов не наблюдалось. А сейчас они завели собственный архивный формат и его тоже можно использовать как опцию по умолчанию и не испытывать проблем со скоростью.

Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, nikita_paul3 сказал:

Подскажите пожалуйста, как сделать так, чтобы все файлы содержались в ОДНОМ файле?

Нужно всю информацию писать в один файл.

Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, nikita_paul3 сказал:

Я пробовал, всё равно архивирует долго

Тотал командер выбирай архивы или типа архивов там моря плагинов архиваторных... в том числе tar,img  всякие без сжатия

НО я скажу что я измерял передачу на носитель и зип выигрывал при сжатии так как запись на носитель дольше чем сжатие.. размер меньше и по этому быстрей пишется..

Ссылка на сообщение
Поделиться на других сайтах
5 часов назад, karachun сказал:
сов назад, ДОБРЯК сказал:

Нужно всю информацию писать в один файл.

Проблема такая.

Цитата

long lseek(int handle, long offset, int origin)

Прототип: 
Описание: 

Функция lseek() является частью UNIX-подобной системы ввода/вывода и не определена в стан­дарте ANSI С.

Функция lseek() устанавливает указатель положения в файле, указанном дескриптором handle, в положение, указанное аргументами offset и origin.

Действия lseek() зависят от значений аргументов origin и offset. Аргумент origin может прини­мать значения 0, 1 или 2. В следующей таблице показано, как интерпретируется смещение offset для каждого значения origin:

Origin Результат обращения к lseek()
0 Смещение отсчитывается от начала файла
1 Смещение отсчитывается от текущей позиции
2 Смещение отсчитывается от конца файла

Если смещение от начала файла задать 100 Мб и записать всего 1 Б то размер файла будет = 100 Мб. Такая файловая система в Виндах. Это наследие ДОСа.

В UNIX это занимает ссылку + 1 б.

Нужно программисту самому провязывать файл.

Поэтому и режут один файл на много-много маленьких, потом собирают в один.:biggrin:

 

Изменено пользователем ДОБРЯК
Ссылка на сообщение
Поделиться на других сайтах
13.01.2021 в 23:39, karachun сказал:

Ну а какой еще есть выбор? Если нужно собрать несколько файлов в один то нужен архив. Вон, в играх все ресурсы запаковывают от любопытных глаз и ничего. Звуки, текстуры и модели (которые в современных играх уже перевалили за сотню гигабайт суммарного веса) грузятся мгновенно, так что пользователь не испытывает дискомфорта.

 

А кто же вам расскажет. Здесь разработчиков стара нет и вряд-ли кто-то подробно копался в его файлах.

 

Вообще, может вам на форум программистов обратится? Может там вам подскажут.

Мы же работаем в CAE а не создаем CAE. Вот если бы вам балку какую посчитать или течение жидкости в трубе то другое дело, а так...

 

Хотя может @ДОБРЯК что-то подскажет.

@nikita_paul3 Вон, в Линухе же есть команда tar которая сцепляет файлы в один архив без сжатия.

Тот же Ansys Fluent раньше работал с архивами .gz и особых тормозов не наблюдалось. А сейчас они завели собственный архивный формат и его тоже можно использовать как опцию по умолчанию и не испытывать проблем со скоростью.


Хорошо, буду пробовать, а, может, подскажите популярные форумы?
а то, мне кажется я на всех уже спрашивал

Ссылка на сообщение
Поделиться на других сайтах
13.01.2021 в 23:39, karachun сказал:

Тот же Ansys Fluent раньше работал с архивами .gz и особых тормозов не наблюдалось.

Этот форум самый топовый :) 

А чем тебе gz не нравится архив ?

GZ arh_0001.jpg

Ссылка на сообщение
Поделиться на других сайтах
29 минут назад, Maik812 сказал:

Этот форум самый топовый :) 

А чем тебе gz не нравится архив ?

GZ arh_0001.jpg


Д не, можно. Я вот пытаюсь что-то сделать.
У меня просто проект написан на С++ и мне нужно, чтобы сама программа заархивировала эти файлы.
И еще желательно со своим расширением, например project.123

 

Ссылка на сообщение
Поделиться на других сайтах
15.01.2021 в 21:08, nikita_paul3 сказал:

У меня просто проект написан на С++ и мне нужно, чтобы сама программа заархивировала эти файлы.

Если вам нужно собрать все файлы в один файл, то эта функция пишется максимум за 1 час. С помощью функций read и write.

Если нужно архивировать, то найдите в Интернете исходные коды zip архиватора.

Но для 30 Гб это будет долго.

 

Ссылка на сообщение
Поделиться на других сайтах
12 минут назад, ДОБРЯК сказал:

Если вам нужно собрать все файлы в один файл, то эта функция пишется максимум за 1 час. С помощью функций read и write.

Если нужно архивировать, то найдите в Интернете исходные коды zip архиватора.

Но для 30 Гб это будет долго.

 

А что вы посоветуете, если мне надо заархивировать и потом работать с информацией в этих файлах?
тоесть я хочу потом не разархивировать обратно, а как-нибудь открыть для чтения и работать с файлами.

По поводу записи в один файл-понял, попробую.

Ссылка на сообщение
Поделиться на других сайтах
5 часов назад, nikita_paul3 сказал:

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

Не получится.

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




  • Сообщения

    • Artas28
      Добрый день! Есть какие ни будь рекомендации, на какую длину  нужно зажимать хвостовик в  термопатроне? Есть фреза д6, L50. Могу ли я зажать её за 15мм, или это будет мало? Или нужно зажимать  как минимум за  3 диаметра?
    • Ветерок
      Не понял что это за процедура такая "перенос в 2D".   Наверное, скрывать объекты на том или ином виде надо на соответствующем виде чертежа, а не в сборке. Или создать в сборке соответствующую конфигурацию и отображать на чертеже её.
    • Viktor2004
    • Denis_12
      Доброго времени суток! Ребят, ни как не могу решить проблему авто-обновления чертежного вида 3D сборки, к примеру скрываешь все кроме основания каркаса сборки, переносишь это в 2D (чертежный вид) указываешь размеры и т.п. (ставишь галочки "исключить из авто-обновления") после чего начинаешь в 3D сборке показывать дополнительно стойки (для создания нового вида), и вот в ранее созданном виде даже с отключенным авто-обновлением они тоже начинают проявляться. Как решить эту проблему? Нужно зафиксировать вид, чтобы он не обновлялся без моего участия. SolidWorks 2022 года.
    • Зинаида
      Возможно Вы смотрите не в той перспективе. Проверьте в перспективе "Мой Teamcenter" стоя на ревизии объекта. Возможно Вы смотрите не в той перспективе. Проверьте в перспективе "Мой Teamcenter" стоя на ревизии объекта.
    • alek77
      Да, спасибо, я уже из интереса ее нашел. Еще раз повторю, чтобы не выхватить, сам я такими методами указния размеров не пользуюсь, это самая вредная практика из всех, что встречал. В свое время имел много проблем в автокаде, корректируя чужие чертежи. Но там и отртогональные линии под углом в 0,001 градуса были в норме, и миллион линий одна поверх другой, и незамкнутые отрезки и много всего, от чего волосы дыбом. В солиде, думал, не столкнусь с таким, наивный. Поэтому искал и нашел макрос который косяки размеров подсвечивает. Он вполне рабочий, но не стабильный. В чем причина не разбирался, так как со своей задачей он справляется. Причем отрабатывает и галочки, и замену текста в размере. Хорошо, что @malvi.dp нашел время и что-то корректирует, спасибо отдельное ему за это. Макрос достаточно полезный при работе с чужими документами. И если удастся сохранить все начальные функции этого макроса против изощренных методов вредительства - будет офигенно.
    • Kelny
      Если этой ссылки достаточно для отображения материала и материал уже есть в обозначенной модели, то возможно подойдёт TabBuilder: https://help.solidworks.com/2023/russian/SolidWorks/SWHelp_List.html?id=e68c1877b4fa431483f8c751bd9fcc78&_gl=1*lby1j3*_up*MQ..*_ga*NTEyNjA5NDQ3LjE3MTQxMTU3MzA.*_ga_XQJPQWHZHH*MTcxNDExNTcyOS4xLjEuMTcxNDExNTczNy4wLjAuMA..#Pg0   В старых версиях при написанни ссылок такого радо в некоторых случаях можно было не писать имя файла, а достаточно было вместо имени файла модели оставить ПРОБЕЛ.SLDPRT и имя после этого подставлялось само. Пробовать надо.   Так же можете глянуть макрос по изменению свойств файла (методы и функции там устаревшие, но возможно даже будет работать и можно поковыряться в коде): https://kelnyproject.ucoz.ru/load/6-1-0-8 по програмированию так же есть справка (версию в ссылке поменяйте на свою, что бы справка была актуальна для вашей версии): https://help.solidworks.com/SearchEx.aspx?query=get custom property&version=2010&lang=english,enu&prod=api
    • gudstartup
      только перед обновлением обязательно выполните  все что написано в руководстве и касается сохранения состояния станка и чпу. и обязательно сделайте образ диска и помните что слишком новые версии могут не заработать на вашем чпу относительно безопасно ставить только сервиспаки
    • NordCom
      Большое спасибо! Через это меню удалось зайти в меню. 95148->MOD
    • Danil89nur
      Доброе время суток. Столкнулся с проблемой на новой работе. Много деталей у который в свойствах отсутствует раздел "Материал" и приходится каждый раз вручную заходить туда, создавать раздел и выбирать там ""SW-Material@Name.SLDPRT". Возможно кто-то знает, либо сможет помочь с написанием простенького макроса, при нажатии на который в свойствах детали будет создаваться необходимый раздел и в нем сразу написан выбранный материал (желательно, чтоб там было указано сразу наименование материала, а не формула для его получения ""SW-Material@Name.SLDPRT"). Пытался самостоятельно через ChatGPT, но так как в програмировании я 0, то ничего не получилось)
×
×
  • Создать...