Skip to content

Commit

Permalink
*Описание файловой структуры zcad
Browse files Browse the repository at this point in the history
  • Loading branch information
zamtmn committed Jan 7, 2025
1 parent 5e40da8 commit 0bf68e0
Showing 1 changed file with 58 additions and 62 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -8,81 +8,77 @@
!include styles/filesystem-tree-style.iuml
legend
**cad**
|_ **autosave** //для файлов автосохранения//
|_ **bin** //бинарные файлы в подкаталогах по платформам//
|_ **i386_win32**
|_ **x86_64_win64**
|_ **blocks** //библиотека блоков//
|_ **el**
|_ **general**
|_ **ops**
|_ **components** //разлирчнве скрипты, конфигурационные файлы//
|_ **fonts** //шрифты shx и ttf//
|_ **images** //иконки//
|_ **actions**
|_ **draw**
|_ **dim**
|_ **snap**
|_ **valec**
|_ **zelectro**
|_ **palettes**
|_ **languages** //файлы локализаций//
|_ **log** //логи//
|_ **menu** //конфигурационные файлы элементов пользовательского интерфейса//
|_ **BMP** //устаревшее расположение иконок//
|_ **plugins** //для будущего применения//
|_ **preload** //папка для скриптов выполняемых при запуске программы//
|_ **programdb** //встроенная база оборудования//
|_ **rtl** //различные скрипты//
|_ **dwg**
|_ **objcalc**
|_ **objdefunits**
|_ **include**
|_ **styles**
|_ **velec**
|_ **sample** //примерв//
|_ **template** //шаблоны пустых чертежей//
|_ **i386-win32**
|_ **x86_64-linux**
|_ **x86_64-win64**
|_ **cfg** //конфигурационные файлы программы//
|_ **components** //разлирчные скрипты, конфигурационные файлы//
|_ **configs** //разлирчные конфигурационные файлы//
|_ **navigators** //пресеты навигаторов//
|_ **menu** //конфигурационные файлы элементов пользовательского интерфейса//
|_ **data** //файлы данных программы//
|_ **blocks** //библиотека блоков//
|_ **el**
|_ **ops**
|_ **dictionaries** //словари проверки орфографии//
|_ **examples** //примеры файлов dxf//
|_ **fonts** //шрифты shx и ttf//
|_ **images** //иконки//
|_ **actions**
|_ **draw**
|_ **snap**
|_ **valec**
|_ **zelectro**
|_ **palettes**
|_ **languages** //PO файлы локализаций//
|_ **preload** //папка для скриптов выполняемых при запуске программы//
|_ **programdb** //встроенная база оборудования//
|_ **rtl** //различные скрипты//
|_ **dwg**
|_ **objcalc**
|_ **objdefunits**
|_ **include**
|_ **styles**
|_ **velec**
|_ **templates** //шаблоны пустых чертежей//
end legend
----

Отдельно стоит рассмотреть содержимое директории [.filepath]#components#:
[plantuml, generated/components_strucrure, svg]
----
!include styles/filesystem-tree-style.iuml
legend
**components**
|_ **autorun.cmd** //командный скрипт выполняемый на последней стадии запуска программы//
|_ **blockpreviewexport.cmd** //командный скрипт генерации иконок встроенных устройств//
|_ **stage0.cmd0** //командный скрипт выполняемый на ранней стадии запуска программы//
|_ **_sys.dxf** //файл с определениями блоков размерных стрелок. Устарел.//
|_ **empty.dxf** //пустой файл используемый как шаблон для сохранения dxf//
|_ **zcad.lin** //встроенные описания типов линий//
|_ **logo.png** //сплашскрин. надо перекинуть в images//
|_ **oldpalette.rgb** //устаревшее определение цветов//
|_ **palette.rgb** //текущее автокад совместимое определение цветов//
|_ **main.sf** //используется командой получения спецификаций//
|_ **32inch_2560x1440.xml** //вариант раскладки окон//
|_ **defaultlayout.xml** //вариант раскладки окон//
|_ **defaultlayoutbackup.xml** //вариант раскладки окон//
|_ **myfulscreen.xml** //вариант раскладки окон//
|_ **suppressedshortcuts.xml** //файл подавления сочетаний клавиш//
|_ **testlayout.xml** //вариант раскладки окон//
end legend
----
Дистрибутив разбит на 3 директории [.filepath]#bin#, [.filepath]#cfg#, [.filepath]#data#

Директория [.filepath]#bin# содержит исполняемые файлы и может распологаться
в любом месте файловой системы

Директория [.filepath]#cfg# может распологаться либо лядом с [.filepath]#bin# либо
ее содержимое должно находиться в [.filepath]#C:\ProgramData\zcad\#
(на линуксе в [.filepath]#/etc/zcad/#)

Директория [.filepath]#data# может распологаться либо лядом с [.filepath]#bin# либо
местоположение ее содержимого должно быть указано в ключе #PreferredDistribPath#
в файле [.filepath]#cfg\configs\config.xml#

И директорию [.filepath]#preload#:
Отдельно стоит рассмотреть содержимое директории [.filepath]#data/preload#:
[plantuml, generated/components_strucrure, svg]
----
!include styles/filesystem-tree-style.iuml
legend
**preload**
|_ **Различные поддиректории**
|_ **autorun.cmd** //командный скрипт выполняемый на последней стадии запуска программы//
|_ **stage0.cmd0** //командный скрипт выполняемый на ранней стадии запуска программы//
end legend
----

Также после выполнения скрипта [.filepath]#stage0.cmd0# будут выполнены все скрипты[.filepath]#*.cmd0# лежащие
в данной директории и ниже по иерархии файловой системы, а после выполнения скрипта [.filepath]#autorun.cmd#
будут выполнены все скрипты[.filepath]#*.cmd# лежащие в данной директории и ниже
в данной директории и ниже
При запуске программы осуществляется сканирование [.filepath]#data/preload# и вложенных
директорий и выполнение найденных скриптов [.filepath]#cmd0# и [.filepath]#cmd#
скрипты с расширением [.filepath]#cmd0# выполняются на ранней стадии запуска программы
(до создания GUI) и содержат в себе команды загрузки описаний экшенов, меню и тулбаров.
Файлы с расширением [.filepath]#cmd# выполняются при завершении инициализации, после
создания GUI и содержат в себе команды загрузки файлов определений блоков и устройств.

При сканировании директорий первым будет выполнен скрипт [.filepath]#stage0.cmd0# далее
будут выполнены все фпйлы с расширением [.filepath]#cmd0# лежащие в данной директории и
ниже по иерархии файловой системы. Для каждой вложенной директории также первым выполняется
[.filepath]#autorun.cmd# и далее другие скрипты [.filepath]#\*.cmd# лежащие в данной
директории

0 comments on commit 0bf68e0

Please sign in to comment.