diff --git a/.asciidoctor/diagram/generated/cmdprompt_dataexport.svg.cache b/.asciidoctor/diagram/generated/cmdprompt_dataexport.svg.cache new file mode 100644 index 000000000..bee531df3 --- /dev/null +++ b/.asciidoctor/diagram/generated/cmdprompt_dataexport.svg.cache @@ -0,0 +1 @@ +{"checksum":"graphviz-md5-e1524fc50eb980d4f61fc14c535f82c2","options":{"layout":null},"width":1408.47,"height":222.11} \ No newline at end of file diff --git a/.asciidoctor/diagram/generated/components_strucrure.svg.cache b/.asciidoctor/diagram/generated/components_strucrure.svg.cache new file mode 100644 index 000000000..844e5c79f --- /dev/null +++ b/.asciidoctor/diagram/generated/components_strucrure.svg.cache @@ -0,0 +1 @@ +{"checksum":"plantuml-md5-09f19c5e5fb3cb330284e6e2fef2070c","options":{"size_limit":"4096"},"width":741,"height":121} \ No newline at end of file diff --git a/.asciidoctor/diagram/generated/general_directory_strucrure.svg.cache b/.asciidoctor/diagram/generated/general_directory_strucrure.svg.cache new file mode 100644 index 000000000..1942d77e0 --- /dev/null +++ b/.asciidoctor/diagram/generated/general_directory_strucrure.svg.cache @@ -0,0 +1 @@ +{"checksum":"plantuml-md5-fd5ef1990579ebdef9d7fea54b9b7316","options":{"size_limit":"4096"},"width":653,"height":631} \ No newline at end of file diff --git a/.asciidoctor/diagram/generated/object_inspector_structure.svg.cache b/.asciidoctor/diagram/generated/object_inspector_structure.svg.cache new file mode 100644 index 000000000..c4978d75f --- /dev/null +++ b/.asciidoctor/diagram/generated/object_inspector_structure.svg.cache @@ -0,0 +1 @@ +{"checksum":"plantuml-md5-b3ae56859dc73a51796f988cfeb486a2","options":{"size_limit":"4096"},"width":381,"height":365} \ No newline at end of file diff --git a/Makefile b/Makefile new file mode 100644 index 000000000..1cc31b483 --- /dev/null +++ b/Makefile @@ -0,0 +1,120 @@ +.PHONY: pdf html all example getpdftheme +default: all + +PATHDELIM:=/ +ifeq ($(OS),Windows_NT) + PATHDELIM:=\\ +endif +PATHDELIM:=$(strip $(PATHDELIM)) + +ASCIIDOCTOR_PDF_DIR:=$(shell gem contents asciidoctor-pdf --show-install-dir) +RULASTCOMMIT:=$(shell git log --pretty=tformat:\"%H\" -n1 locale/ru) +RUVERSION:=$(shell git describe --tags $(RULASTCOMMIT)) + +version: + @echo RULASTCOMMIT: $(RULASTCOMMIT) + @echo RUVERSION: $(RUVERSION) + @echo :gitversion: v$(RUVERSION) > locale/ru/gitversion.adoc + +all: clean pdf html + +styles/default-theme.yml: + cp $(ASCIIDOCTOR_PDF_DIR)/data/themes/default-theme.yml styles/default-theme.yml + +clean: + rm -rf userguide.ru.html + rm -rf userguide.ru.pdf + rm -rf formats_examples.pdf + rm -rf formats_examples.html +cad: + mkdir cad +../images: + mkdir $(subst /,$(PATHDELIM),../images) + +copyimages: ../images + cp -r ../../../environment/runtimefiles/common/data/images/* ../images + +pdf: getpdftheme version copyimages + asciidoctor-pdf -a pdf-themesdir=styles -a pdf-theme=zcadd -r asciidoctor-diagram userguide.ru.adoc + +html: version copyimages + asciidoctor -a stylesheet=styles/stylesheet.css -r asciidoctor-multipage -b multipage_html5 -r asciidoctor-diagram userguide.ru.adoc + +example: version styles/default-theme.yml + asciidoctor-pdf -a pdf-themesdir=styles -a pdf-theme=zcadd -r asciidoctor-diagram formats_examples.adoc + asciidoctor -a stylesheet=styles/stylesheet.css -r asciidoctor-diagram formats_examples.adoc + +ruspell: + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC userguide.ru.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\attributes.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\customization.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\for_developers.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\general_information.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\getting_started.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\working_with_program.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\_elements\commandsummary.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\customization\command_line_swith.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\customization\directory_structure.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\customization\options.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\for_developers\building_from_sources.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\for_developers\documentation.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\for_developers\localization.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\general_information\disclaimer.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\general_information\license.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\getting_started\instalation.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\getting_started\launch.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\getting_started\system_requirements.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\working_with_program\commands\3dpoly.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\working_with_program\commands\about.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\working_with_program\commands\arc.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\working_with_program\commands\bedit.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\working_with_program\commands\cam_reset.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\working_with_program\commands\cancel.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\working_with_program\commands\circle.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\working_with_program\commands\commandsummaryfree.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\working_with_program\commands\copy.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\working_with_program\commands\copybase.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\working_with_program\commands\copyclip.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\working_with_program\commands\cutclip.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\working_with_program\commands\dataexport.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\working_with_program\commands\dataimport.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\working_with_program\commands\devdefsync.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\working_with_program\commands\dockingoptions.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\working_with_program\commands\dwgclose.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\working_with_program\commands\dwgnew.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\working_with_program\commands\dwgnext.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\working_with_program\commands\dwgprev.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\working_with_program\commands\erase.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\working_with_program\commands\extdradd.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\working_with_program\commands\extdralllist.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\working_with_program\commands\extdrentslist.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\working_with_program\commands\extdrremove.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\working_with_program\commands\layer.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\working_with_program\commands\load.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\working_with_program\commands\loadactions.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\working_with_program\commands\loadlayout.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\working_with_program\commands\loadmenus.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\working_with_program\commands\loadpalettes.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\working_with_program\commands\loadtoolbars.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\working_with_program\commands\matchprop.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\working_with_program\commands\merge.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\working_with_program\commands\mergeblocks.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\working_with_program\commands\mirror.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\working_with_program\commands\move.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\working_with_program\commands\rotate.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\working_with_program\commands\saveas.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\working_with_program\commands\savelayout.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\working_with_program\commands\saveoptions.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\working_with_program\commands\updatepo.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\working_with_program\commands\varsed.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\working_with_program\commands\varsedbd.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\working_with_program\commands\varsedsel.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\working_with_program\commands\varslink.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\working_with_program\entities\device.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\working_with_program\entities_extensions\extdrlayercontrol.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\working_with_program\entities_extensions\extdrsmarttextent.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\working_with_program\entities_extensions\extdrvariables.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\working_with_program\commands.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\working_with_program\entities.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\working_with_program\entities_extensions.adoc + hunspell -l -d ru_RU,en_US,zc_ZC,ad_OC locale\ru\working_with_program\user_interface.adoc diff --git "a/_\320\261\321\213\321\201\321\202\321\200\321\213\320\271_\321\201\321\202\320\260\321\200\321\202.html" "b/_\320\261\321\213\321\201\321\202\321\200\321\213\320\271_\321\201\321\202\320\260\321\200\321\202.html" new file mode 100644 index 000000000..ed82d2155 --- /dev/null +++ "b/_\320\261\321\213\321\201\321\202\321\200\321\213\320\271_\321\201\321\202\320\260\321\200\321\202.html" @@ -0,0 +1,94 @@ + + + + + + + + +ZCAD Руководство пользователя + + + + + + +
+
+

2. Быстрый старт

+
+
+

2.1. Системные требования

+
+

Программа работает под управлением операционных системам Windows и Linux, на 32 разрядных и 64 разрядных процессорах. для работы программы требуется 4GB оперативной памяти

+
+
+
+

2.2. Установка

+
+

ZCAD не требует какой то процедуры устанавки на компьютер. Вы можете скачать дистрибутив программы с страницы https://github.com/zamtmn/zcad/releases, для использования достаточно разархивировать полученный архив

+
+
+
+

2.3. Запуск

+
+

Исполняемый файл находится в подпапке соответствующей Вашей платформе в папке дистрибутива bin. Достаточно просто его запустить

+
+
+
+
+
+ +
+ + + \ No newline at end of file diff --git "a/_\320\264\320\273\321\217_\321\200\320\260\320\267\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\260.html" "b/_\320\264\320\273\321\217_\321\200\320\260\320\267\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\260.html" new file mode 100644 index 000000000..572077a81 --- /dev/null +++ "b/_\320\264\320\273\321\217_\321\200\320\260\320\267\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\260.html" @@ -0,0 +1,415 @@ + + + + + + + + +ZCAD Руководство пользователя + + + + + + +
+
+

5. Для разработчика

+
+
+

5.1. Cборка программы из исходников

+
+

Программа имеет 2 режима сборки ZCAD и ZCADELECTROTECH, в первом только базовые CAD функции, во втором плюсом чуток электрической специфики. +Советую пробовать собрать ZCADELECTROTECH, т.к. я его сам всегда использую, соответственно он более стабилен.

+
+
+

Простая компиляция исходников даст вам только файл zcad.exe, но для для работы нужны некоторые другие файлы, без которых программа не работает +(не говоря о allgeneratedfiles.inc, zcadversion.inc и buildmode.inc без которых даже не скомпилируется)

+
+
+

Для автоматизации процесса сборки был написан скрипт на основе системы сборки make. +Опишу его использование применительно к тридцати двух битным Lazarus2.2 и fpc3.2.2 под управлением ОС Windows

+
+
+

Итак:

+
+
+

5.1.1. Установка Lazarus

+
+

Устанавливаем последний релизный Lazarus (2.2 на момент написания текста). Гарантированно ZCAD компилится в транковом Lazarus транковом fpc, +с релизами бывают нюансы, но они решаемы.

+
+
+

Запускаем, проверяем работоспособность Lazarus - собираем тестовый пустой проект. тут проблем быть не должно.

+
+
+

Ищем идущую в комплекте fpc утилиту make, она скорее всего лежит тут lazarus\fpc\3.2.2\bin\i386-win32\make.exe но, мало ли. +В дальнейшем я считаю что Lazarus установлен на диск C, и путь для запуска make соответственно C:\lazarus\fpc\3.2.2\bin\i386-win32\make.exe +если что - уточнить по месту)).

+
+
+

Также еще понадобятся такие пути:

+
+
+
    +
  • +

    путь к Lazarus C:\lazarus

    +
  • +
  • +

    путь к первичному файлу настроек Lazarus, по умолчанию он C:\Users\<ИМЯПОЛЬЗОВАТЕЛЯ>\AppData\Local\lazarus

    +
  • +
+
+
+

Если имя пользователя у вас на кириллице, примите мои поздравления! Требуются дополнительные действия, пользователи с нормальными именами спокойно переходят к пункту 2.

+
+
+

Кириллица в путях не поддерживается утилитой make, или я с этим не разобрался. Придется "перенастроить" Lazarus чтоб настройки хранились по 'нормальным' путям. +Для этого в папке C:\lazarus создаем файл runlazarus.bat следующего содержания:

+
+
+

startlazarus.exe --pcp=C:\lazarus\mylazcfg

+
+
+

и далее всегда используем его для запуска Lazarus IDE, все что написано ниже вам следует отредактировать из расчета что путь к настройкам Lazarus будет C:\lazarus\mylazcfg

+
+
+
+

5.1.2. Получение ZCAD

+
+

Клонируем исходники зкада (или скачиваем архивом, но это плохо, лучше клонировать git ом). Некоторые части исходников оформлены +субмодулями git , поэтому:

+
+
+ + + + + +
+ + +субмодули git используемые ZCAD нужно инициализировать и обновить. +
+
+
+

По описанным выше причинам путь до папки zcad не +должен содержать не латинские символы +Тут будет много файлов\папок, но основные:

+
+
+
    +
  • +

    zcad\cad_source - папка с исходниками зкад

    +
  • +
  • +

    zcad\environment - папка с файлами окружения программы и исходник небольшой программы typeexporter настраивающей исходники зкад для компиляции

    +
  • +
  • +

    zcad\Makefile - файл с скриптами установки

    +
  • +
  • +

    zcad\cad - данной папки изначально нет, будет создана в пункте 4 и содержит скомпилированный дистрибутив zcad со всеми нужными файлами

    +
  • +
+
+
+
+

5.1.3. Установка пакетов от которых зависит ZCAD

+
+

Для облегчения я приложил пакеты от которых зависит ZCAD в дистрибутив исходников (за исключением идущих в составе Lazarus). Открываем командную строку в папке zcad, +там где лежит файл Makefile

+
+
+

Нужно установить в Lazarus пакеты требуемые для компиляции ZCAD, данный пункт выполняется только один раз, для свеже установленного Lazarus, если пакеты установлены, +пропускаем данный пункт (но если что, то повторное выполнение ничего страшного не несет). +Выполняем:

+
+
+

C:\lazarus\fpc\3.2.2\bin\i386-win32\make installpkgstolaz LP=C:\lazarus PCP=C:\Users\<ИМЯПОЛЬЗОВАТЕЛЯ>\AppData\Local\lazarus

+
+
+

installpkgstolaz это пропишет в конфигах Lazarus требуемые пакеты из zcad\cad_source\other и zcad\cad_source\components и пересобирет Lazarus. +По неясным причинам пересборка в данном пункте иногда завершается ошибкой, но ничего страшного, просто идем дальше, Lazarus докомпилирует все нужное в 4.

+
+
+
+

5.1.4. Компиляция ZCAD

+
+

Собственно запускаем компиляцию зкад, запустив следующее:

+
+
+

[.shell]C:\lazarus\fpc\3.2.2\bin\i386-win32\make cleanzcadelectrotech LP=C:\lazarus PCP=C:\Users\<ИМЯПОЛЬЗОВАТЕЛЯ>\AppData\Local\lazarus#

+
+
+

cleanzcadelectrotech - данная цель выполнит сборку программы в режиме ZCADELECTROTECH, замените на cleanzcad - если желаете режим ZCAD

+
+
+

Скрипт выполнит следующее:

+
+
+
    +
  • +

    СОТРЕТ папки zcad\cad и zcad\cad_source\autogenerated если они присутствует СО ВСЕМ ИХ СОДЕРЖИМЫМ ничего не спрашивая

    +
  • +
  • +

    создаст папки zcad\cad и zcad\cad_source\autogenerated

    +
  • +
  • +

    скопирует нужные для работы файлы из zcad\environment\runtimefiles в zcad\cad

    +
  • +
  • +

    создаст файл zcad\cad_source\zcadversion.inc

    +
  • +
  • +

    создаст файл zcad\cad_source\autogenerated\buildmode.inc

    +
  • +
  • +

    скомпилирует zcad\cad_source\cad_source\utils\typeexporter.lpi и запустит его с нужными параметрами, typeexporter в свою очередь наполнит zcad\cad_source\autogenerated в том числе создаст zcad\cad_source\autogenerated\allgeneratedfiles.inc (только после этого шага зкад может быть собран)

    +
  • +
  • +

    скомпилирует ZCAD

    +
  • +
+
+
+

Если все прошло нормально, имеем наполненную как надо папку zcad\cad, в том числе свежесозданный запускаемый бинарник zcad\cad\bin\i386-win32\zcad.exe +В дальнейшем можно просто открыть в Lazarus файл zcad\cad_source\zcad.lpi и смотреть-собирать исходники как обычно в IDE

+
+
+ + + + + +
+ + +Lazarus, FPC и ZCAD развивающиеся проекты, информация устаревает и бывают нюансы. В частности на данный момент из-за бага FPC +https://gitlab.com/freepascal.org/fpc/source/-/issues/39387 в IDE работает только полная пересборка зкада, т.е. в Lazarus если просто нажать +F9 зкад не соберется с вылетом компилятора, при любых изменениях надо всегда выполнять полную пересборку shift-F9 +
+
+
+
+
+

5.2. Локализация программы

+
+

Для локализации ZCAD используется система интернационализации на основе Gettext и *.po + файлов встроенная в Lazarus. Локализации подлежат как тексты прописанные в исходниках программы, так и +заданные в файлах загружаемых во время работы программы - например файл zcad\menu\menuscontent.xml +содержит наполнение палитр программы, его содержимое неизвестно в момент компиляции программы, он будет прочитан +только при запуске. Обычный подход предполагает разные копии загружаемых в рантайм файлов для каждой локализации. +Но в ZCAD принят несколько другой подход - перевод содержимого данных файлов в момент их загрузки.

+
+
+

Прежде всего стоит заметить, как описано в (Структура директорий) файлы локализаций используемые программой +лежат в папке cad/languages, данная папка создается в процессе (Cборка программы из исходников) в нее +копируются файлы из соответствующих мест environment. Поэтому работа с локализацией осуществляется +в cad/languages, но для коммита файлы нужно скопировать в папку environment.

+
+
+

Тексты прописанные в исходниках программы и оформленные как resourcestring при компиляции программы +автоматически собираются в файле zcad.po и разносятся по файлам локализаций zcad.XX.po +где XX - идентификатор языка. Файлы zcad.XX.po можно непосредственно переводить используя +предназначенные для этого программы например Poedit и подобные. На данный момент ZCAD имеет только +русскую локализацию zcad.ru.po. добавить локализацию можно просто создав соответствующий файл, +например zcad.de.po для немецкой.

+
+
+

Также в cad/languages лежат файлы перевода пакетов используемых в ZCAD:

+
+
+
    +
  • +

    anchordockstr.XX.po перевод пакета докинга окон AnchorDocking

    +
  • +
  • +

    lclstrconsts.XX.po перевод LCL

    +
  • +
+
+
+

Тексты получаемые из рантайм файлов собираются в файле rtzcad.po, переводы находятся в zcad.XX.po +также как и описано выше новую локализацию можно получить созданием соответствующего файла. Актуализация +rtzcad.po и zcad.XX.po не производится автоматически, для этого нужно выполнить +описанные ниже действия.

+
+
+

Запускаем программу с ключом командной строки (Переключатели командной строки) updatepo. При этом локализация программы +не будет выполняться, будет работать оригинальный английский интерфейс. Создаем новый чертеж и вводим команду +UpdatePO (UpdatePO) будет показано окно с информацией сколько обнаружено неактуальных строк +и сколько добавлено новых. При нажатии Ok будет перезаписан файл rtzcad.po, неактуальные +строки будут удалены, новые добавлены.

+
+
+

Далее из rtzcad.po строки нужно обновить в файлах локализаций rtzcad.XX.po, это можно +сделать с помощью команды

+
+
+

C:\lazarus\fpc\3.2.2\bin\i386-win32\make updatelocalizedpofiles LP=C:\lazarus PCP=C:\Users\<ИМЯПОЛЬЗОВАТЕЛЯ>\AppData\Local\lazarus

+
+
+

Образование путей смотри (Cборка программы из исходников), сценарий updatelocalizedpofiles выполняет обновление +файлов локализации.

+
+
+

После этого файлы rtzcad.XX.po можно переводить в специализированной программе

+
+
+
+

5.3. Написание документации ZCAD

+
+

Документация программы разрабатывается в формате AsciiDoc. Исходники +данного руководства лежат в папке cad_source/docs/userguide/. +AsciiDoc - простой текстовый формат, но для генерации pdf и html из него +потребуются дополнительные манипуляций

+
+
+

5.3.1. Установка AsciiDoctor для Windows

+
+

Т.к. AsciiDoc написан на языке Ruby, придется установить средства разработки +этого языка:

+
+
+

Идем на сайт https://rubyinstaller.org/downloads/ Скачиваем и устанавливаем +последний Ruby+Devkit (на момент написания это 3.2.2-1) В процессе установки +нужно будет указать какой вариант MSYS использовать, выбираем базовый 1, +затем для завершения установки просто жмем enter

+
+
+

После установки Ruby в командной строке можно будет использовать gem - +пакетный менеджер Ruby, с помощью его собственно устанавливает +AsciiDoctor и требуемые расширения. Открываем командную строку и вводим эти +три команды последовательно:

+
+
+

gem install asciidoctor

+
+
+

gem install asciidoctor-pdf

+
+
+

gem install asciidoctor-diagram

+
+
+

Дополнительно для работы asciidoctor-diagram требуется наличие в системе +Java версии не ниже 11, если необходимо идем и устанавливаем по ссылке +https://www.oracle.com/java/technologies/downloads/#jdk21-windows

+
+
+
+

5.3.2. Установка GraphViz

+
+

Также понадобятся средства визуализации графов из состава Graphviz. +Идем на https://graphviz.org/download/ и качаем установщик для Windows +на момент написания это graphviz-9.0.0 (64-bit) EXE installer при установке +выбираем вариант Add Graphviz to the system PATH for all users +чтоб графвиз был доступен из командной строки.

+
+
+
+

5.3.3. Генерация руководства пользователя

+
+ + + + + +
+ + +Описанное выше нужно произвести один раз, это установит на +компьютер необходимые программы и их зависимости +
+
+
+

После всех установок запускаем новую командную строку (рекомендую Far) +чтобы все изменения системной переменной PATH вступили в силу. Идем +в корневую директорию zcad (там где лежит makefile) и вводим

+
+
+

make documentation

+
+
+

Ждем выполнения скриптов, по завершению в папке +zcad\cad_source\docs\userguide\ находим сгенерированные файлы +userguide.ru.pdf и userguide.ru.html

+
+
+
+
+
+ +
+ + + \ No newline at end of file diff --git "a/_\320\275\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260_\320\277\321\200\320\276\320\263\321\200\320\260\320\274\320\274\321\213.html" "b/_\320\275\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260_\320\277\321\200\320\276\320\263\321\200\320\260\320\274\320\274\321\213.html" new file mode 100644 index 000000000..854e83f42 --- /dev/null +++ "b/_\320\275\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260_\320\277\321\200\320\276\320\263\321\200\320\260\320\274\320\274\321\213.html" @@ -0,0 +1,625 @@ + + + + + + + + +ZCAD Руководство пользователя + + + + + + +
+
+

4. Настройка программы

+
+
+

4.1. Параметры работы

+
+

ZCAD пока не имеет отдельного окна настроек, настройки постоянно доступны в инспекторе объектов (см. раздел 2. Инспектор объектов) +когда на чертеже не выбрано никаких примитивов.

+
+
+
+zcad oi options +
+
Рисунок 18. Настройки программы
+
+
+

Настройки сгруппированы следующим образом

+
+
+
    +
  • +

    Пути - настройка путей программы

    +
  • +
  • +

    Графика - настройка путей программы

    +
  • +
  • +

    Отображение - настройка путей программы

    +
  • +
  • +

    Система - настройка путей программы

    +
  • +
  • +

    Черчение - настройка путей программы

    +
  • +
  • +

    Проектирование - настройка путей программы

    +
  • +
  • +

    Интерфейс - настройка путей программы

    +
  • +
+
+
+

4.1.1. Пути

+
+

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

+
+
+
    +
  • +

    Файлы поддержки - пути поиска различных файлов программы

    +
  • +
  • +

    Шрифты - пути поиска шрифтов

    +
  • +
  • +

    Файл альтернативного шрифта - файл шрифта используемый для замены отсутствующих шрифтов

    +
  • +
  • +

    Шаблоны - путь для поиска файлов шаблонов чертежей

    +
  • +
  • +

    Шаблон по умолчанию - файл шаблона используемый программой при создании нового чертежа

    +
  • +
  • +

    Текущая раскладка окон - файл раскладки окон загружаемый при запуске программы

    +
  • +
  • +

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

    +
  • +
  • +

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

    +
  • +
  • +

    База описаний устройств - путь к "базе данных" оборудования программы

    +
  • +
+
+
+

В качестве разделителя для путей используется ";", разделитель путей "/", также доступны следующие макросы:

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + +
Таблица 3. Макросы сокращений путей

$(ZCADPath)

Путь к бинарному файлу

$(LastAutoSaveFile)

Путь к последнему файлу автосохранения

$(TEMP)

Путь к папке временных файлов

$(SystemFontsPath)

Путь к папке шрифтов ОС (пока только win, возвращает SHGetSpecialFolderPath(CSIDL_FONTS))

$(UserFontsPath)

Путь к папке шрифтов пользователя (пока только win, возвращает SHGetSpecialFolderPath(CSIDL_LOCAL_APPDATA)\Microsoft\Windows\Fonts)

+
+
+

4.1.2. Графика

+
+

На данной вкладке сгруппированы настройки графической подсистемы зкад

+
+
+
    +
  • +

    Устройство отображения - графическая библиотека используемая для рендера чертежа. Доступны варианты: +OpenGL - предпочтительный вариант (требует наличия драйвера производителя видеокарты), GDI - +вариант для случая когда первый вариант не работает, LCLCanvas - данный вариант не предназначен для +работы с чертежом, но если не работают на OpenGL, ни GDI можно попробовать его. Настройка работает +только для вновь открытых/созданных чертежей, уже открытые чертежи по прежнему будут использовать устройство +отображения выбранное на момент их создания

    +
  • +
  • +

    Параметры текущего устройства отображения - здесь собраны некоторые настройки и отладочная информация +устройства отображения используемого текущим чертежом

    +
  • +
  • +

    Версия GLU - версия библиотеки GLU используемая программой (используется для триангуляции и построения +сплайнов, ZCAD не может работать с реализацией GLU от Microsoft, в комплекте поставляется MESA GLU) (доступен только для чтения)

    +
  • +
  • +

    Расширения GLU - список расширений предоставляемый GLU (доступен только для чтения)

    +
  • +
  • +

    Время рендера - время в миллисекундах затраченное на последнее полное отображение чертежа (доступен только для чтения)

    +
  • +
  • +

    Время обновления - время в миллисекундах затраченное на последнее последнее обновление чертежа. Для +экономии ресурсов ZCAD старается по возможности не перечерчивать весь чертеж, а только обновлять его +измененные фрагменты (доступен только для чтения)

    +
  • +
  • +

    Максимальное время одного прохода рендера - время в миллисекундах доступное на рендер чертежа, в случае +его превышения ретдер будет остановлен и продолжен в следующем цикле обработки событий. 0 - возможность не +используется (доступен только для чтения)

    +
  • +
  • +

    Ухудшение изображения - параметры управления детализацией отрисовки чертежа. При включении и превышении +порога времени рендера, детализация чертежа будет уменьшаться для уменьшения времени отрисовки

    +
  • +
  • +

    Деградация при перетаскивании - При включении понижает детализацию чертежа при выполнении операций +зумирования и паранамирования, для повышения отзывчивости. при завершении данных операций чертеж отрисовывается с +нормальной детализацией

    +
  • +
  • +

    Максимально шаблонов типа в линии - Максимально доступное количество штрихов\точек\символов в примитивах, +при превышении примитив будет отрисован сплошной линией

    +
  • +
+
+
+
+

4.1.3. Отображение

+
+
    +
  • +

    Системная геометрия - отображение некоторой вспомогательной информации, например габаритов примитивов

    +
  • +
  • +

    Цвет вспомогательной геометрии - цвет для вывода информации из предыдущего пункта

    +
  • +
  • +

    Масштаб колеса мыши - коэффициент масштабирования чертежа при вращении колеса

    +
  • +
  • +

    Размер апертуры привязки - размер в пикселях зоны "притягивания" курсора к точкам привязки

    +
  • +
  • +

    Размер прицела - размер в процентах от размера видимой области графического курсора ZCAD

    +
  • +
  • +

    Убирать системный курсор в области отрисовки - опция отключает системный курсор при черчении, оставляя +только курсор ZCAD

    +
  • +
  • +

    Размер ручек - размер "ручек" редактирования примитивов

    +
  • +
  • +

    Цвет фона - RGB цвет фона чертежа

    +
  • +
  • +

    Цвет не выбранных ручек - индексный цвет "ручек" примитивов

    +
  • +
  • +

    Цвет выбранных ручек - индексный цвет выбранных "ручек" примитивов

    +
  • +
  • +

    Цвет горячих ручек - индексный цвет "ручек" находящихся под курсором

    +
  • +
  • +

    Масштаб отображения толщин линий - число от 2 до 20 характеризующее толщину отображения веса линий на чертеже, +больше - жирнее

    +
  • +
  • +

    Толщина линий по умолчанию - толщина линий принятая для отображения веса линий Default

    +
  • +
+
+
+
+

4.1.4. Система

+
+
    +
  • +

    Версия программы - версия сборки в формате git describe --tags (доступен только для чтения)

    +
  • +
  • +

    Информация о сборке - разная информация: целевая платформа, версия компилятора и т.п. (доступен только для чтения)

    +
  • +
  • +

    Время работы - длительность текущей сессии (доступен только для чтения)

    +
  • +
  • +

    Один экземпляр - контроль повторного запуска программы. При установке данного параметра возможен запуск только одной +сессии программы, попытки запустить следующую сессию только активируют уже запущенную

    +
  • +
  • +

    Не показывать заставку - отключение сплэш скрина при запуске программы

    +
  • +
  • +

    Не загружать раскладку окон - не загружает файл раскладки окон программы при старте, программа запускается в +"не пристыкованном" режиме (доступен только для чтения, устанавливается ключем командной строки !!NEEDLINK!!)

    +
  • +
  • +

    Обновления PO файлов - режим контроля и обновления файлов локализации программы, используется совместно с +командой UpdatePO !!NEEDLINK!! (доступен только для чтения, устанавливается ключем командной строки !!NEEDLINK!!)

    +
  • +
+
+
+
+

4.1.5. Сохранение

+
+
    +
  • +

    Автосохранение - включает работу автосохранения

    +
  • +
  • +

    Время до автосохранения - время в секундах оставшееся до очередного автосохранения (доступен только для чтения)

    +
  • +
  • +

    Время между автосохранениями - настройка времени между сохранениями в секундах

    +
  • +
  • +

    Файл автосохранения - путь и имя файла автосохранения

    +
  • +
+
+
+
+

4.1.6. Черчение

+
+
    +
  • +

    Отображать вес линий - Включение отображения веса линий

    +
  • +
  • +

    Режим привязки - Битовая маска настроек привязок. в данном месте просто для информации, не используется

    +
  • +
  • +

    Режим полярной трассировки - Включение трассировки

    +
  • +
  • +

    Текущий слой - отображает и позволяет редактировать текущий слой

    +
  • +
  • +

    Текущий вес линии - отображает и позволяет редактировать текущий вес линии

    +
  • +
  • +

    Текущий вес цвет - отображает и позволяет редактировать текущий цвет

    +
  • +
  • +

    Масштаб типов линий чертежа - отображает и позволяет редактировать глобальный масштаб типов линий чертежа

    +
  • +
  • +

    Текущий масштаб типов линий примитивов - отображает и позволяет редактировать текущий масштаб типов линий

    +
  • +
  • +

    Стиль размеров - отображает и позволяет редактировать текущий стиль размеров

    +
  • +
  • +

    Поворачивать текст в описании линий - Поворачивает текстовые элементы в стилях линий для более удобного чтения

    +
  • +
  • +

    Стиль текста - отображает и позволяет редактировать текущий стиль текста

    +
  • +
  • +

    LUnits (формат линейных единиц) - аналог DXF переменной LUnits

    +
  • +
  • +

    LUPrec (точность линейных единиц) - аналог DXF переменной LUPrec

    +
  • +
  • +

    AUnits (формат угловых единиц) - аналог DXF переменной AUnits

    +
  • +
  • +

    AUPrec (точность угловых единиц) - аналог DXF переменной AUPrec

    +
  • +
  • +

    AngDir (направление положительного угла) - аналог DXF переменной AngDir

    +
  • +
  • +

    AngBase (базовый угол) - аналог DXF переменной AngBase

    +
  • +
  • +

    InsUnits (масштаб вставки блока) - аналог DXF переменной InsUnits

    +
  • +
  • +

    TextSize (размер вновь созданных текстовых примитивов) - аналог DXF переменной TextSize

    +
  • +
  • +

    Настройка шаговой привязки - настройки привязки к регулярной прямоугольной сетке

    +
  • +
  • +

    Шаг сетки - настройки отображения регулярной прямоугольной сетки

    +
  • +
  • +

    Показать сетку - включение отображения сетки

    +
  • +
  • +

    Шаг - включение шаговой привязки

    +
  • +
  • +

    Редактирование составных объектов - включение отдельного выделения примитивов являющихся частью сложных примитивов !!NEEDLINK!!

    +
  • +
  • +

    Вспомогательная геометрия - отображение вспомогательной геометрии

    +
  • +
  • +

    Отображать выбранный объект в инспекторе - показывать свойства выбранного примитива в инспекторе

    +
  • +
+
+
+
+
+

4.2. Структура директорий

+
+

Общая структура директорий программы имеет вид:

+
+
+
+general directory strucrure +
+
+
+

Дистрибутив разбит на 3 директории bin, cfg, data

+
+
+

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

+
+
+

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

+
+
+

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

+
+
+

Отдельно стоит рассмотреть содержимое директории data/preload:

+
+
+
+components strucrure +
+
+
+

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

+
+
+

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

+
+
+
+

4.3. Переключатели командной строки

+
+

При запуске ZCAD из командной строки можно задать опции командной строки корректирующие его поведение. Некоторые опции работают +как флаги, некоторые опции требуют указания аргументов

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Таблица 4. Переключатели командной строки

nosplash

Не показывать сплэшскрин

updatepo

Обновить файлы локализации (используется совместно с командой UpdatePO) ведет учет всех запросов на +локализацию, помечает не используемые и добавляет вновь встреченные строки. При использовании ключа фактически перевод строк не +производится, интерфейс остается английским

noloadlayout

Не загружать файл раскладки окон

debugui

Включить "отладочный" интерфейс - некоторые элементы интерфейса для разработчика

experimentalfeatures

Включить "экспериментральные" фичи - то что разрабатывается на данный момент не закончено и не нужно пользователю

notcheckuniqueinstance

Не проверять повторный запуск, с данным ключом может быть запущено несколько копий программы

logfile

Принудительно задать путь к лог файлу. Требует аргумент - путь и имя файла

leam

Принудительно разрешить все модули логирования

lem

Принудительно разрешить указанный модуль (модули) логирования. Требует аргумент(ы) - имя модуля(лей)

ldm

Принудительно запретить указанный модуль (модули) логирования. Требует аргумент(ы) - имя модуля(лей)

lemm

Принудительно разрешить модули логирования чьи имена соответствуют маске(кам). Требует аргумент(ы) - маску(ки) имени модуля(лей)

ldmm

Принудительно запретить модули логирования чьи имена соответствуют маске(кам). Требует аргумент(ы) - маску(ки) имени модуля(лей)

lcl

Установить уровень логирования. Требует аргумент - уровень логирования

maxstackframecount

Установить максимальную глубину размотки стека при обработке ошибок

runscript

Запустить скрипт(ы) после запуска программы. Требует аргумент(ы) - Имя файла(ов) скрипта(ов)

memprofiling

Запуск профилировщика памяти на этапе инициализации программы. см. команду dbgMemProfiler !!NEEDLINK!!

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Таблица 5. Уровни логирования

LM_Trace

Вывод всего подряд. Максимально подробный и перегруженный лог.

LM_Debug

Журналирование моментов вызова «крупных» операций

LM_Info

Разовые операции, которые повторяются крайне редко, но не регулярно. (загрузка конфига, плагина, запуск бэкапа)

LM_Warning

Неожиданные параметры вызова и т.п. Вообще все, что может свидетельствовать о не штатном использовании.

LM_Error

Вывод сообщений об ошибках.

LM_Fatal

Вывод сообщений об критических ошибках, имхо стоит убрать.

LM_Necessarily

Вывод в любом случае.

+
+

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

+
+
+

Список доступных модулей логирования пока не определен, его можно посмотреть в конце лога при штатном запуске

+
+
+

Пример запуска программы:

+
+
+

zcad nosplash logfile d:\zcad.log lem translator,shx ldm default lcl lm_trace

+
+
+

Не показывать сплэшскрин,переназначить вывод лога в d:\zcad.log, разрешить вывод сообщений в лог от системы (модуля) +перевода и парсера shx шрифтов, запретить сообщения модуля по умолчанию, установить уровень логирования LM_Trace

+
+
+
+
+
+ +
+ + + \ No newline at end of file diff --git "a/_\320\276\320\261\321\211\320\260\321\217_\320\270\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\321\217.html" "b/_\320\276\320\261\321\211\320\260\321\217_\320\270\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\321\217.html" new file mode 100644 index 000000000..16ab55ea3 --- /dev/null +++ "b/_\320\276\320\261\321\211\320\260\321\217_\320\270\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\321\217.html" @@ -0,0 +1,139 @@ + + + + + + + + +ZCAD Руководство пользователя + + + + + + +
+
+

1. Общая информация

+
+
+

ZCAD - программа (далее по тексту - программа) с открытым исходным кодом, разрабатывается на языке Pascal с использованием IDE Lazarus +и компилятора Free Pascal.

+
+
+

Автор - Андрей Зубарев (далее по тексту - автор) адрес электронной почты zamtmn@yandex.ru

+
+
+

Участник - Владимир Бобров

+
+
+

Участник - Владимир Абрамов адрес электронной почты vl-sx@yandex.ru

+
+
+

Есть два варианта сборки программы:

+
+
+

ZCAD - базовый набор CAD инструментов; ZCADElectroTech - расширенный набор инструментов для электротехнического проектирования

+
+
+

1.1. Лицензия

+
+

ZCAD - это программное обеспечение с открытым исходным кодом. Вы можете получить исходный код, а также разрешается копировать, перераспределять и изменять его в соответствии с условиями лицензии LGPL2 с исключениями. Для получения дополнительной информации, в том числе о доступности исходного кода, посетите страницу программы https://github.com/zamtmn/zcad или обратитесь к автору.

+
+
+
+

1.2. Отказ от ответственности

+
+

В соответствии с действующим законодательством, автор отказывается от каких-либо заверений и гарантий, предоставление которых может иным образом подразумеваться, и отказывается от ответственности в отношении программы, поставляемой вместе с программой информации и их использования.

+
+
+
    +
  1. +

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

    +
  2. +
  3. +

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

    +
  4. +
  5. +

    Автор прикладывает все усилия, чтобы обеспечить пользователей точной и достоверной информацией, но в то же время не исключает возможности возникновения ошибок.

    +
  6. +
  7. +

    ZCAD — это программа, работающая по принципу «как есть», без заключения каких-либо договорённостей или договоров между пользователями программы и автором, либо кем-то ещё, любым образом связанными с этим или родственными ему проектами, которые (договора и договоренности) могут стать предметом прямых претензий.

    +
  8. +
  9. +

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

    +
  10. +
  11. +

    В соответствии с действующим законодательством, Автор отказывается от каких-либо заверений и гарантий, предоставление которых может иным образом подразумеваться, и ответственности в отношении программы. Ни при каких обстоятельствах автор не будет нести ответственности ни перед какой стороной за какой-либо прямой, непрямой, особый или иной косвенный ущерб в результате любого использования программа, даже если автор будет явно поставлен в известность о возможности такого ущерба.

    +
  12. +
  13. +

    Автор оставляет за собой право вносить изменения без уведомления о них пользователей.

    +
  14. +
  15. +

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

    +
  16. +
+
+
+

Используя ZCAD и информацию поставляемую вместе с программой, вы выражаете свое согласие с «Отказом от ответственности» и установленными Правилами и принимаете всю ответственность, которая может быть на вас возложена.

+
+
+

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

+
+
+
+
+
+ +
+ + + \ No newline at end of file diff --git "a/_\321\200\320\260\320\261\320\276\321\202\320\260_\321\201_\320\277\321\200\320\276\320\263\321\200\320\260\320\274\320\274\320\276\320\271.html" "b/_\321\200\320\260\320\261\320\276\321\202\320\260_\321\201_\320\277\321\200\320\276\320\263\321\200\320\260\320\274\320\274\320\276\320\271.html" new file mode 100644 index 000000000..88628533e --- /dev/null +++ "b/_\321\200\320\260\320\261\320\276\321\202\320\260_\321\201_\320\277\321\200\320\276\320\263\321\200\320\260\320\274\320\274\320\276\320\271.html" @@ -0,0 +1,4182 @@ + + + + + + + + +ZCAD Руководство пользователя + + + + + + +
+
+

3. Работа с программой

+
+
+

3.1. Интерфейс пользователя

+
+

3.1.1. Общий обзор

+
+

Интерфейс программы по умолчанию представлен на скриншоте:

+
+
+
+zcad ui +
+
Рисунок 1. Внешний вид окна программы
+
+
+

Можно выделить следующие основные элементы:

+
+
+
1. Окно отображения
+

Тут производится отображение и редактирование графической информации.

+
+
+

Навигация по чертежу осуществляется мышкой. Масштабировать чертеж можно вращая колесо мыши, если при этом нажать и удерживать клавишу Shift коэффициент масштабирования будет меньше и точки временных привязок не будут сброшены. Панарамировать чертеж можно двигая мышь с нажатой средней кнопкой. Если при панарамировании удерживать клавишу Ctrl, будет осуществляться вращение камеры. Также для навигации доступны некоторые сочетания клавиш !!NEEDLINK!!

+
+
+

Редактирование чертежа также производится курсором мыши, при этом его форма зависит от ожидаемого действия: перекрестие - указание точки на чертеже, прямоугольник - выбор графического примитива. Комбинация прямоугольника и перекрестия - можно как выбрать примитив, так и указать точку на чертеже.

+
+
+

Программа позволяет выбирать примитивы несколькими способами:

+
+
+
    +
  1. +

    кликнув прямоугольником по примитиву - примитив будет добавлен к текущему набору выбора

    +
  2. +
  3. +

    рамкой выбора - при клике по пустой области чертежа начинает чертиться прямоугольная рамка выбора, при следующем клике построение рамки будет закончено. Рамка начерченная слева на прово называется прямой и рисуется сплошными линиями с синей заливкой, справа на лево - называется обратной и рисуется пунктирными линиями с зеленой заливкой. По завершению процедуры будут выбраны все примитивы полностью попавшие в прямую рамку или хотя бы частично попавшие в обратную рамку. При черчении рамки чертеж можно масштабировать и панарамировать, если начальная точка при этом выйдет за границы экрана, рамка будет подрезана по экрану. Данное поведение можно изменить нажав и удерживая клавишу control перед указанием второй точки рамки. О наличии и отсутствии подрезки можно судить по диагональным линиям рисуемой рамки.

    +
  4. +
+
+
+
+zcad ui selectframes +
+
Рисунок 2. Варианты рамок выбора
+
+
+
2. Инспектор объектов
+

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

+
+
+

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

+
+
+
+zcad ui objectinspector +
+
Рисунок 3. Свойства выделенных примитивов
+
+
+

Имена свойств доступных только для чтения отображаются серым цветом. Если выделенные примитивы имеют различные значения одноименных свойств, данные значения отображаются как "Разный". Если данные значения фактически отличаются, но из за настроек отображения !!NEEDLINK!! (округления) выглядят одинаково, данные значения помечаются знаком "≈".

+
+
+

При клике на значение свойства откроется строка редактирования и можно будет изменить значение свойства. Для некоторых свойств доступны специализированные редакторы, открывающиеся в отдельном окне по нажатию кнопки […​]

+
+
+

Свойства примитивов структурированы следующим образом:

+
+
+
+object inspector structure +
+
+
+
    +
  1. +

    Обрабатывать примитивы - тут можно выбрать тип примитивов свойства которых отображаются в инспекторе, а нажатием кнопок [*] или [-] оставить только примитивы данного типа в текущем выборе или исключить их из текущего выбора

    +
  2. +
  3. +

    Обработка переменных - Управляет способом оотображения набора переменных примитива (см. extdrVariables и Централизация) . Выбранный примитив - только переменные выбранных примитивов; Связанные примитивы - только переменные связанных примитивов; Все примитивы - обрабатываются переменные и примитивов из текущего выбора и связанных с ними примитивов, все переменные отображаются на одной вкладке; Все примитивы раздельно - обрабатываются переменные и примитивов из текущего выбора и связанных с ними примитивов, переменные отображаются на разных вкладках;

    +
  4. +
  5. +

    Связанные переменные - на этом уровне структуры будут отображены переменные связанных примитивов, при с значением Process Обработка_переменных=Все примитивы раздельно

    +
  6. +
  7. +

    Переменные - на этом уровне структуры будут отображены все доступные в соответствии с значением Process variables переменные. При отображении переменных свзанных примитивов возможна цветовая раскраска значений !!NEEDLINK!!

    +
  8. +
  9. +

    Общие - тут перечислены общие свойства примитивов: слой, цвет, вес и т.п.

    +
  10. +
  11. +

    Расширения - если к выделенным примитивам добавлены расширения, их свойства отображаются здесь.

    +
  12. +
  13. +

    Геометрия - различные геометрические свойства: точки вставки, координаты, длины и т.п.

    +
  14. +
  15. +

    Суммарно - некоторые свойства допускающие суммирование, например при выборе нескольких отрезков тут будет их суммарная длина. Здесь же в ветке FILTER будут некоторые свойства допускающие фильтрацию, например можно кнопкой [*] оставить в текущем выборе только примитивы лежащие на определенном слое.

    +
  16. +
+
+
+
3. Окно сообщений
+

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

+
+
+
4. Командная строка
+

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

+
+
+

Поле ввода имеет подсказку меняющуюся по текущей ситуации. Когда программа ожидает ввода команды подсказка имеет вид Команда> и > когда ожидается координата. Также некоторые команды имеют контекстную подсказку, в которой можно выбрать мышью опции команды

+
+
+

Перечень доступных команд приведен в Команды команда может быть введена как просто по имени, так с операндом. Операнд указывается в скобках после имени команды. Например ввод Load вызовет диалог открытия файла чертежа и последующую его загрузку. Ввод Load(D:\file.dxf) сразу вызовет загрузку файла D:\file.dxf. Парсинг операндов выполняется силами команды, поэтому синтаксис в разных командах отличается.

+
+
+

Координаты можно вводить как 2D, так и 3D, при этом 2D будут переведены в 3D подстановкой 0 в качестве координаты Z. Также можно вводить как абсолютные, так и относительные (относительно последней указанной точки) значения. Относительные координаты задаются указанием знака @ перед координатой X. Если включен режим трассировки !!NEEDLINK!! и имеется привязка к оси трассировки, можно указать точку введя расстояние от точки трассировки, отложенное по оси трассировки.

+
+
+

Например если в открытом чертеже на запрос Команда> ввести Line, затем 10,30, затем @1,2 будет построена линия с координатами (10,30)-(11,32)

+
+
+

Командная строка может быть отключена. !!NEEDLINK!! В режиме с выключенной командной строкой становятся доступны буквенные сочетания клавиш - с включенной нажатия букв обрабатываются командной строкой

+
+
+
5. Статусная строка.
+

Здесь отображаются координаты курсора и прогрессбары долгих процессов. Также есть быстрый доступ к кнопкам переключения различных режимов работы программы !!NEEDLINK!!

+
+
+
6. Панели инструментов
+

Здесь сгруппированы иконки различных команд для их быстрого запуска. !!NEEDLINK!!

+
+
+
7. Палитры
+

Могут отображаться в древовидном виде и в виде списка иконок. К каждому листу дерева или иконке списка может быть привязана произвольная команда, запускаемая при клике по элементу. Как правило это команды вставки устройств или блоков. Древовидные палитры дополнительно оснащены полем фильтра для быстрого нахождения элементов !!NEEDLINK!!

+
+
+
8. Навигаторы
+

Навигаторы служат для быстрой навигации по чертежу, нахождению на нем тех или иных элементов. Представляют из себя настраиваимую древовидную структуру отображения данных. На данный момент в программе доступны навигаторы устройств, кабелей, стояков и примитивов !!NEEDLINK!!

+
+
+
+

3.1.2. AnchorDocking

+
+

ZCAD в своей работе использует библиотеку AnchorDocking !!NEEDLINK!! данная библиотека позволяет склеить (пристыковывать) различные окна в одно. На Внешний вид окна программы 1,2,3,7,8 являются отдельными окнами склеенными в одно окно. Пустое окно программы выглядит следующим образом:

+
+
+
+zcad empty ui +
+
Рисунок 4. Пустое окно программы
+
+
+

По периметру окна расположены области для пристыковки панелей инструментов, в центре область пристыковки окон.

+
+
+
Панели инструментов
+
+

Включить панель инструментов можно командой ShowToolBar передав ей в качестве операнда имя панели инструментов (или в меню Вид/Показать окно/Панели инструментов). Например включаем панель View, по умолчанию она отображается в непристыкованном состоянии:

+
+
+
+zcad empty ui with toolbar +
+
Рисунок 5. Панель инструментов
+
+
+

Для пристыковки панели начинаем ее перетаскивать за свободное место (не за заголовок!), при этом будет подсвечиваться предпологаемое новое место расположения панели. При подведении мышки к краю окна будет подсвечена область вдоль края, при отпускании кнопки мыши панель инструментов будет пристыкована +.Стыковка панели инструментов

+
+ +++++ + + + + + + + + + + + + + + +
ДействиеПроцессРезультат

Стыковка панели инструментов

+
+zcad empty ui drag toolbar +
+
+
+
    +
+
+
+
+zcad empty ui docked toolbar +
+
+
+
    +
+
+
+
+

В пристыкованном состоянии панели инструментов имеют заголовок в виде двух полосок в начале панели, за этот заголовок панель можно передвигать вдоль края пристыковки и отствковывать, двойной клик по заголовку панели приведет к ее полному раскрытию. Закрыть панель инструментов можно только в отстыкованном состоянии

+
+
+
+
Окна
+
+

Включить окно программы можно командой Show передав ей в качестве операнда имя окна (или в меню Вид/Показать окно). Например включаем окно ObjectInspector, по умолчанию окно отображается в неприствкованном состоянии:

+
+
+
+zcad empty ui with objectinspector +
+
Рисунок 6. Не пристыкованное окно инспектора объектов
+
+
+

Не пристыкованные окна программы имеют два заголовка - стандартный и нестандартный. За стандартный окна можно только перемещать, за нестандартный - перемещать и пристыковывать. Стыковка окон осуществляется перетаскиванием окна на желаемое место стыковки, при этом область стыковки будет подсвечена.

+
+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + +
Таблица 1. Варианты стыковки окон программы
ДействиеПроцессРезультат

Стыковка первого окна

+
+zcad empty ui try dock oi +
+
+
+
    +
+
+
+
+zcad empty ui dock oi +
+
+
+
    +
+
+

Стыковка следующего окна справа от первого

+
+zcad empty ui try dock second +
+
+
+
    +
+
+
+
+zcad empty ui dock second +
+
+
+
    +
+
+

Стыковка следующего окна поверх второго

+
+zcad empty ui try dock third +
+
+
+
    +
+
+
+
+zcad empty ui dock third +
+
+
+
    +
+
+
+
+

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

+
+
+

В заголовке пристыкованных окон появляется дополнительная кнопка минимизации, которая позволяет свернуть окно в тонкий заголовок и разворачивать его при наведении мыши

+
+
+

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

+
+
+

Сохранить раскладку окон и тулбаров можно командой SaveLayout или в меню настройка\Сохранить разбивку окон по умолчанию

+
+
+
+
+

3.1.3. Навигаторы

+
+

Отдельно стоит рассмотреть элемент интерфейса - навигаторы. Навигатор представляет из себя полностью настраиваемую +древовидную структуру отображающую определенные свойства определенных примитивов чертежа. Каждая строка в +структуре навигатора - отдельный примитив. На данный момент доступны навигаторы устройств, кабелей и стояков

+
+
+
+zcad ui navigator +
+
Рисунок 7. Навигатор устройств
+
+
+

Настройка навигатора производится следующим образом:

+
+
+
+zcad ui navigator prepare +
+
Рисунок 8. Органы управления навигатора
+
+
+
1. Кнопка настройки ветвлений древовидной структуры
+

Вызывает редактор описания ветвлений древовидной структуры навигатора, либо открывает меню действий с навигатором при нажатии +на стрелку

+
+
+
2. Кнопка главной функции
+

Включает-выключает использование в навигаторе "Главной функции" (Централизация)

+
+
+
3. Кнопка редактора фильтра примитивов по типу
+

Вызывает редактор скрипта фильтрации по типу примитивов см.Формат фильтра по типам примитивов

+
+
+
4. Кнопка редактора фильтра примитивов по свойствам
+

Вызывает редактор скрипта фильтрации по свойствам примитивов см.Формат фильтра по свойствам примитивов

+
+
+
5. Кнопка редактора скрипта настройки отображения дерева
+

Вызывает редактор скрипта настройки отображения дерева. Ветвление дерева зависит от (1. Кнопка настройки ветвлений древовидной структуры), +в данном скрипте настраивается например количество столбцов и их заполнение. Данный скрипт выполняется +при создании навигатора, при изменении скрипта выполняется пересоздание навигатора для применения изменений +В общем случае скрипт выглядит так:

+
+
+
+
Оператор(Операнд[,Операнд,Операнд ...])
+
+
+
+

Доступные типы операндов:

+
+ ++++ + + + + + + + + + + +
+
+
'Строка'
+
+
+
+
    +
+
+

Строковой параметр - любой текст заключенный в апострофы

+
+
Целое положительное число
+
+
+
+
    +
+
+
+
+

Операторы могут разделяться точкой с запятой, запятой, пробелом, переводом строки. Доступны следующие +операторы:

+
+ ++++ + + + + + + + + + + +
+
+
SetColumnsCount(Операнд1,Операнд2)
+
+
+
+
    +
+
+

Задает количество столбцов в навигаторе, должна присутствовать 1 раз в начале скрипта
+Операнд1 - Целое положительное число. Количество столбцов в навигаторе
+Операнд2 - Целое положительное число. Номер столбца чья ширина будет рассчитываться автоматически (нумерация с 0)

+
+
SetColumnParams(Операнд1,Операнд2,Операнд3,Операнд4,Операнд5)
+
+
+
+
    +
+
+

Задает параметры столбцов, должна присутствовать для каждого столбца
+Операнд1 - Целое положительное число. Номер столбца для которого задатются параметры (нумерация с 0)
+Операнд2 - Строка. Название столбца
+Операнд3 - Строка. Содержимое столбца
+Операнд4 - Строка. Имя переменной в которой сохраняется ширина столбца (в файле rtl\savedvar.pas) между сессиями работы. Если +переменной пока нет нет, она будет создана с начальным значением 50
+Операнд5 - Целое положительное число. Пока не используется

+
+

Примеры скриптов экспорта:
+Два столбца Tree и Comment, содержимое переменной NMO_Name примитива в первом и статичная надпись 'Тут что то тоже надо сделать' во втором

+
+
+
+
SetColumnsCount(2,0);
+SetColumnParams(0,'Tree','@@[NMO_Name]','tmpGUIParamSave_NavDev_C0',1);
+SetColumnParams(1,'Comment','Тут что то тоже надо сделать','tmpGUIParamSave_NavDev_C1',1)
+
+
+
+

Три столбца Tree Elevation и Text, с содержимым переменных RiserName, Elevation и Text примитивов

+
+
+
+
SetColumnsCount(3,0);
+SetColumnParams(0,'Tree','@@[RiserName]','tmpGUIParamSave_NavRis_C0',1);
+SetColumnParams(1,'Elevation','@@[Elevation]','tmpGUIParamSave_NavRis_C1',1);
+SetColumnParams(2,'Text','@@[Text]','tmpGUIParamSave_NavRis_C2',1)
+
+
+
+
6. Кнопка обновления
+

Вызывает перестроение дерева в навигаторе. Обычно при изменениях на чертеже навигаторы обновляются +автоматически, но могут быть ситуации когда требуется в ручную вызвать обновление навигатора

+
+
+
7. Кнопки управления ветвлением
+

Количество и название кнопок зависит от (1. Кнопка настройки ветвлений древовидной структуры) нажатое или отжатое состояние показывает +включен или нет данный узел в текущий момент. Узлы можно включать\выключать.

+
+
+
8. Сохранение текущих настроек навигатора в файл
+

Открывает окно выбора файла

+
+
+
9. Загрузка настроек навигатора из файл
+

Открывает окно выбора файла

+
+
+
10. Подменю выбора вариантов настроек навигатора
+

Подменю выбора заранее подготовленных вариантов настроек навигатора. Для того чтобы вариант появился в данном подменю +настройку необходимо сохранить в папку $(ZCADPath)/configs

+
+
+
11. Быстрый фильтр содержимого навигатора
+

Поле ввода для быстрой фильтрации содержимого инспектора по тексту. 5Допускает применение символов ? и *

+
+
+
+
+

3.2. Примитивы

+
+

Основной формат файла хранения графических данных программы – DXF версии 2000, со следующими ограничениями:

+
+
+
    +
  • +

    Не поддерживается THICKNESS

    +
  • +
  • +

    Не поддерживаются листы, только МОДЕЛЬ

    +
  • +
+
+
+

Перечень доступных примитивов:

+
+ + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Таблица 2. Примитивы DXF поддерживаемые программой
ПримитивZCAD имяDXF имяПредоставляющая версияОграничения

Точка

Point

POINT

ZCAD

Линия

Line

LINE

ZCAD

3D Полилиния

3DPolyLine

POLYLINE

ZCAD

Дуговые сегменты, тип линии

Полилиния

LWPolyline

LWPOLYLINE

ZCAD

Сглаживание

Сплайн

Spline

SPLINE

ZCAD

Экспериментально

3D Фэйс

3DFace

3DFACE

ZCAD

Солид

Solid

SOLID

ZCAD

Штриховка

Hatch

HATCH

ZCAD

Дуговые сегменты, сплайны, ассоциативность

Дуга

Arc

ARC

ZCAD

Окружность

Circle

CIRCLE

ZCAD

Элипс

Ellipse

ELLIPSE

ZCAD

Текст

Text

TEXT

ZCAD

МТекст

MText

MTEXT

ZCAD

Коды форматирования

Вставка блока

BlockInsert

INSERT

ZCAD

Устройство

Device

ZCAD

Выровненный размер

AlignedDimension

DIMENSION

ZCAD

Экспериментально

Повернутый размер

RotatedDimension

DIMENSION

ZCAD

Экспериментально

Диаметральный размер

DiametricDimension

DIMENSION

ZCAD

Экспериментально

Радиальный размер

RadialDimension

DIMENSION

ZCAD

Экспериментально

Кабель

Cable

ZCADElectroTech

Электрическая выноска

Leader

ZCADElectroTech

Трасса

Net

ZCADElectroTech

Суперлиния

SuperLine

ZCADElectroTech

Экспериментально

+
+

Данный список будет расширен, но не до полного охвата примитивов DXF.

+
+
+ + + + + +
+ + +Файлы, обработанные ZCAD, можно редактировать в AutoCAD (и других CAD программах) не применяя команды, +очищающие расширенные данные примитивов. Если расширенные данные примитива будут разрушены, при последующей +обработке файла ZCAD, он будет воспринят как стандартный примитив DXF, т.е. кабель станет просто полилинией, +а устройство обычным блоком +
+
+
+

3.2.1. Device

+
+

Условное графическое обозначение (далее УГО) оборудования на чертеже - это примитив DEVICE (устройство) +в терминах ZCAD. В отличие от стандартного примитива DXF – INSERT (вставка блока) содержит в себе как жестко +определенные в описании блока примитивы, так и динамические, которые можно двигать относительно точки вставки. +Динамические примитивы уникальны для каждой вставки устройства, их количество и конфигурация могут отличаться и +настраиваться +Все имена описаний устройств начинаются с приставки DEVICE_, при вставке блока с названием, начинающимся с +DEVICE_, он автоматически будет конвертирован в примитив DEVICE

+
+
+

Например, чтобы вставить на план дымовой пожарный извещатель как устройство, нужно вставить блок DEVICE_PS_DAT_SMOKE. +Если вставить просто блок PS_DAT_SMOKE, он не будет конвертирован в примитив DEVICE и останется примитивом +DXF – INSERT (вставка блока), не приобретая свойств устройства.

+
+
+

Устройство DEVICE_PS_DAT_SMOKE состоит из 2х блоков:

+
+
+
    +
  • +

    DEVICE_PS_DAT_SMOKE – динамическая часть устройства

    +
  • +
  • +

    PS_DAT_SMOKE постоянная часть устройства

    +
  • +
+
+
+

Постоянная часть устройства содержит в себе собственно УГО:

+
+
+
+ents device const part +
+
Рисунок 9. Постоянная часть устройства
+
+
+
+ents device var part +
+
Рисунок 10. Динамическая часть устройства
+
+
+

Динамическая часть устройства содержит дополнительные примитивы например в данном случае:

+
+
+
    +
  • +

    Обозначение имени устройства

    +
  • +
  • +

    контур подрезки присоединенных кабелей

    +
  • +
  • +

    коннектор для присоединения кабелей (коннекторов может быть несколько, это самостоятельное устройство).

    +
  • +
+
+
+

Как создать новое устройство показанно на данном видео:

+
+
+
+ +
+
+
+
+
+

3.3. Расширения примитивов

+
+

Для расширения функционала примитивов ZCAD предусматривает механизм расширений. К любому примитиву может быть +привязано расширение добавляющее некоторую функциональность. Также расширения могут быть привязаны к типу примитивов, +например к примитиву DEVICE привязано расширение extdrVariables Для работы с расширениями предусмотрены +следующие команды:

+
+
+
    +
  • +

    extdrAdd - привязать расширение к примитиву/примитивам

    +
  • +
  • +

    extdrRemove - отвязать расширение от примитив/примитивов

    +
  • +
  • +

    extdrAllList - вывести список всех доступных расширений

    +
  • +
  • +

    extdrEntsList - вывести список расширений привязанных к примитиву/примитивам

    +
  • +
+
+
+

3.3.1. extdrLayerControl

+
+

Управление слоем применяется для управления видимостью примитивов в динамической части устройств. +У примитива с данным расширением появляются дополнительные параметры

+
+
+
+extdr params extdrlayercontrol +
+
Рисунок 11. Параметры расширения extdrLayerControl
+
+
+
    +
  • +

    True слой - Имя слоя при True результате выражения

    +
  • +
  • +

    False слой - Имя слоя при False результате выражения

    +
  • +
  • +

    Выражение - Выражение имеющее Boolean резудльтат

    +
  • +
+
+
+

Выражение может состоять из простых математических функция и включать имена переменных. При вычислении переменные +ищутся в расширении extdrVariables данного примитива, при отсутствии запрашиваются у централи +(см. раздел Централизация) и далее у владельца примитива по иерархии.

+
+
+

При ошибке в выражении или отсутствии требуемого слоя в чертеже текущий слой примитива не меняется.

+
+
+
+

3.3.2. extdrSmartTextEnt

+
+

Управление текстовыми примитивами для управления параметрами текстов в динамической части устройств. +У примитива с данным расширением появляются дополнительные параметры

+
+
+
+extdr params extdrsmarttextent +
+
Рисунок 12. Параметры расширения extdrSmartTextEnt
+
+
+
    +
  • +

    Дистанция начала отображения выноски - После удаления текста от точки вставки устройства на данную дистанцию +к тексту начинает пририсовываться выноска

    +
  • +
  • +

    Выносная линия - Отображение выноссной линии

    +
  • +
  • +

    Сдвиг начала выносной линии - Сдвиг начала выносной линии от точки вставки устройства. Положительное значение - +радиус круга, отрицательное - половина стороны квадрата

    +
  • +
  • +

    Базовая линия - Отображение базовой линии

    +
  • +
  • +

    Смещение X базовой линии - Смещение X координаты начала базовой линии от точки вставки текста. Положительное +значение - абсолютное смещение, отрицательное - относительное смещение, домножается на высоту текста

    +
  • +
  • +

    Смещение Y базовой линии - Смещение Y координаты начала базовой линии от точки вставки текста. Положительное +значение - абсолютное смещение, отрицательное - относительное смещение, домножается на высоту текста

    +
  • +
  • +

    Переопределение высоты - Если не нулевое значение, высота текста всегда будет равна этой величине, независимо +от масштаба устройства

    +
  • +
  • +

    Переопределение горизонтального выравнивания - Разрешение переопределения горизонтальной +составляющей выравнивания текста в зависимости от точки вставки текста относительно устройства

    +
  • +
  • +

    Переопределение вертикального выравнивания - Разрешение переопределения вертикальной +составляющей выравнивания текста в зависимости от точки вставки текста относительно устройства

    +
  • +
  • +

    Переопределение угла поворота - Разрешение переопределения угла поворота текста

    +
  • +
  • +

    Значение угла поворота - Абсолютное значение угла поворота

    +
  • +
+
+
+
+

3.3.3. extdrVariables

+
+

Представляет собой хранилище дополнительных типизированных данных (Переменных) привязанных к примитиву. +Каждая переменная имеет имя, тип и "пользователькое" имя. + * Имя - идентификатор состоящий из латинских букв и цифр, начинается с буквы. По имени программа обращается +к переменным и различает их. Имя регистронезависимо + * Тип - определяет содержимое переменной, может быть как простым (Перечень простых типов данных), так и сложным. сложные типы являются +комбинацией простых и определены в файле rtl\system.pas на паскалеподобном скриптовом языке + * Пользователькое имя - имя переменной для пользователя, пользователь видтит его например в инспекторе +объектов, может быть любым

+
+
+
Перечень простых типов данных
+ ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Double

Число двойной точности

Single

Число одинарной точности

UnicodeString

Строка UTF16

String

Платформозависимо. UTF8/16 На данный момент строка UTF8, возможно станет UTF16

AnsiString

Строка UTF8

Boolean

False/True

Byte

8 бит, без знака

ShortInt

8 бит, c знаком

SmallInt

16 бит, c знаком

LongInt

32 бит, c знаком

Int64

64 бит, c знаком

Cardinal

Алиас к LongWord

Integer

Платформозависимо. 64/32/16 бит, c знаком

PtrInt

Размерность указателя, c знаком

Word

16 бит, без знака

LongWord

32 бит, без знака

QWord

64 бит, без знака

DWord

Алиас к LongWord

Uint64

Алиас к QWord

Pointer

Платформозависимо. Указатель 64/32/16 бит, c знаком

+
+

Набор и значения переменных у примитивов можно редактировать командами VarsEd и VarsEdSel +Значения переменных доступны для изменения в инспекторе объектов (см. раздел 2. Инспектор объектов) при выделении примитивов. +Значения переменных можно экспортировать-импортировать командами DataExport и DataImport

+
+
+

Примитивы в черетеже имеют древовидную структуру, так все примитивы являются дочерними объектами чертежа, +примитивы в динамической части устройства это дочерние объекты этого устройства и т.д. При поиске у примитива какойлибо +переменной и не нахождении ее зкад обращается к родительскому примитиву и ищет ее там, так пока не дойддет до +вершины дерева - чертежа !!NEEDLINK!!

+
+
+
+
Централизация
+
+

Дополнительно к древовидной иерархии примитивов расширения переменных у разных примитивов могут ссылаться друг на друга. +Этот механизм называется централизация

+
+
+

Например при выполнении схемы автоматизации и плана расположения оборудования можно примитивы DEVICE обозначающие +один датчик на схеме и на плане связать между собой. Это позволит хранить характеризующий этот датчик набор переменных +в одном примитиве, но иметь к ним доступ из другого.

+
+
+

При таком объединении один примитив в связке выбирается главным (централь), другие сылаются на него +(представители) В идеальном случае все переменные связки хранятся в централи, у представителей нет своих переменных, +они лишь предоставляют доступ к централи, при такой организации у пользователя не возникает путаницы с +фактическим местом нахождения переменной. Но также возможно хранить переменные и в представителях.

+
+
+

Создать централизованные примитивы можно командой VarsLink

+
+
+
+
+
+

3.4. Команды

+
+

3.4.1. 3DPoly

+ ++++ + + + + + + + + + + + + + + +

Команда:

+

3DPoly

+
+
+
    +
+
+

Иконка:

pline

Меню:

+

Черчение > 3D Полилиния

+
+
+
    +
+
+
+
+

Черчение примитива 3DPolyLine. После запуска команды последовательно указать мышью вершины полилинии. +Завершение черчения - ESC или запуск другой команды

+
+
+
+

3.4.2. About

+ ++++ + + + + + + + + + + + + + + +

Команда:

+

About

+
+
+
    +
+
+

Иконка:

about

Меню:

+

Справка > О программе

+
+
+
    +
+
+
+
+

Показ окна "О программе"

+
+
+

AddToOwner

+
+
+
+

3.4.3. Arc

+ ++++ + + + + + + + + + + + + + + +

Команда:

+

Arc

+
+
+
    +
+
+

Иконка:

arc

Меню:

+

Черчение > Дуга

+
+
+
    +
+
+
+
+

Черчение примитива Arc (дуга) по 3м точкам. После запуска команды последовательно указать 3 точки +дуги

+
+
+
+

3.4.4. BEdit

+ ++++ + + + + + + + + + + + + + + + + + + +

Команда:

+

BEdit

+
+
+
    +
+
+

Иконка:

bedit

Меню:

+

Изменить > Блок/Устройство > Редактор блоков

+
+
+
    +
+
+

Предвыбор примитивов:

Не требуется, но можно заранее выделить вставку редактируемого блока или устройства

+
+

Редактирование определения блока из чертежа. В случае если до запуска команды выбрана вставка блока, редактор переходит +в режим редактирования определения этого блока. Если выделение отсутствует, команда позволяет выбрать редактируемое +определение в инспекторе объектов.

+
+
+
+cmd params bedit +
+
Рисунок 13. Опции команды BEdit
+
+
+

Текущий блок тут показан текущий редактируемый блок или Модель если редактирование блока не осуществляется, +в окне чертежа отображено пространство модели. В поле Выбор блока можно выбрать блок для редактирования. При этом в +окне чертежа откроется определение выбранного блока, а название вкладки чертежа поменяется на BEdit(ИмяЧертежа:ИмяБлока) +После завершения редактирования повторный запуск BEdit вернет редактор в модель. Все внесенные изменения будут сохранены +в определении блока без запроса на сохранение. Для обновления вставок блока на чертеже требуется выполнить регенерацию чертежа +Regen Если редактировалась динамическая часть определения устройств, обновить ее для уже вставленных устройств +возможно только повторной вставкой BlockReplace (заменить вставленные устройства на самих себя)

+
+
+ + + + + +
+ + +При переключении из пространства модели в пространство определения блока и обратно положение камеры не меняется, +возможна ситуация когда после переключения в окне чертежа ничего не видно. Исправить ситуацию можно командой Zoom +с опцией All - Zoom(All) +
+
+
+

BlockPreViewExport +BlockReplace +BlockRotate +BlockScale +BlocksInBasePreViewExport

+
+
+
+

3.4.5. Cam_reset

+ ++++ + + + + + + + + + + +

Команда:

+

Cam_reset

+
+
+
    +
+
+

Меню:

+

Вид > Камера в начало

+
+
+
    +
+
+
+
+

Сброс текущих настроек видового окна чертежа (положения камеры), после выполнения команды в центре видового окна отображается +начало координат, напраление взгляда совпадает с осью Z

+
+
+
+

3.4.6. Cancel

+ ++++ + + + + + + +

Команда:

+

Cancel

+
+
+
    +
+
+
+
+

Прерывает текущую выполняемую команду

+
+
+

ChangeProjType

+
+
+
+

3.4.7. Circle

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +

Команда:

+

Circle

+
+
+
    +
+
+

Иконка:

circle

Меню:

+

Черчение > Окружность >

+
+
+
    +
+
+

Операнды:

CR, CD, 2P, 3P. Не обязательный (CR используется в случае не указания)

Пример использования:

+

Circle

+
+
+
    +
+
+

Пример использования 2:

+

Circle(3P)

+
+
+
    +
+
+
+
+

Черчение примитива Circle. После запуска команды последовательно задать точки на окружности, +в зависимости от операнда команды.

+
+
+
    +
  • +

    CR - указывается центр и радиус окружности

    +
  • +
  • +

    CD - указывается центр и диаметр окружности

    +
  • +
  • +

    2P - указывается центр 2 точки на окружности (лежащие на концах диаметра)

    +
  • +
  • +

    3P - указывается центр 3 точки на окружности

    +
  • +
+
+
+

Circle2 +ClearFileHistory +Colors

+
+
+

Connection2Dot

+
+
+
+

3.4.8. Copy

+ ++++ + + + + + + + + + + + + + + + + + + +

Команда:

+

Copy

+
+
+
    +
+
+

Иконка:

copy

Сочетания клавиш:

Ctrl+ALT+C; C

Предвыбор примитивов:

Требуется

+
+

Копирование выбранных примитивов. Исходные примитивы нужно выбрать до запуска команды. +После запуска требуется базовую точку для копирования и базовые точки для вставки. +Завершение копирования - ESC или запуск другой команды

+
+
+
+

3.4.9. CopyBase

+ ++++ + + + + + + + + + + + + + + + + + + + + + + +

Команда:

+

CopyBase

+
+
+
    +
+
+

Иконка:

copyclipbase

Сочетания клавиш:

Ctrl+Shift+C

Меню:

+

Правка > Копировать в буфер обмена с базовой точкой

+
+
+
    +
+
+

Предвыбор примитивов:

Требуется

+
+

Копирует выбранные примитивы в буфер обмена, перед копированием нужно указать базовую точку

+
+
+
+

3.4.10. CopyClip

+ ++++ + + + + + + + + + + + + + + + + + + + + + + +

Команда:

+

CopyClip

+
+
+
    +
+
+

Иконка:

copyclip

Сочетания клавиш:

Ctrl+C; Ctrl+INS

Меню:

+

Правка > Копировать в буфер обмена

+
+
+
    +
+
+

Предвыбор примитивов:

Требуется

+
+

Копирует выбранные примитивы в буфер обмена

+
+
+

CopyFromOwner

+
+
+
+

3.4.11. CutClip

+ ++++ + + + + + + + + + + + + + + + + + + + + + + +

Команда:

+

CutClip

+
+
+
    +
+
+

Иконка:

cutclip

Сочетания клавиш:

Ctrl+X

Меню:

+

Правка > Вырезать в буфер обмена

+
+
+
    +
+
+

Предвыбор примитивов:

Требуется

+
+

Копирует выбранные примитивы в буфер обмена и стирает их из чертежа

+
+
+

DBaseAdd +DBaseLink +DBaseRename

+
+
+
+

3.4.12. DataExport

+ ++++ + + + + + + +

Команда:

+

DataExport

+
+
+
    +
+
+
+
+

Команда экспорта параметров графических примитивов в внешний файл CSV. Команда применяет к всем примитивам +текущего чертежа фильтр типа примитивов, передавая на дальнейшую обработку только примитивы определенного +типа. Далее применяется фильтр свойств примитивов, оставляя только примитивы имеющие требуемве свойства. +Над прошедшими фильтрацию примитивами выполняется скрипт экспорта записывая требуемые параметры во внешний +файл
+При запуске подсказка командной строки принимает вид:

+
+
+
+cmdprompt dataexport +
+
+
+

Что позволяет выполнить в командной строке следующие действия:

+
+
+
1. Задать имя файла с экспортируемыми значениями
+

Ожидание ввода имени файла или пустой строки. Можно ввести имя файла, введенное значение будет использовано +в дальнейшем как файл по умолчанию. Пустой ввод не изменяет текущее значение файла по умолчанию. После ввода +значения экспорт будет выполнен и команда завершится

+
+
+
2. Задать фильтр примитивов
+

Ожидание ввода значения фильтра примитивов по типу. см. Формат фильтра по типам примитивов

+
+
+
3. Задать фильтр свойств примитивов
+

Ожидание ввода значения фильтра примитивов по параметрам. см. Формат фильтра по свойствам примитивов

+
+
+
4. Задать скрипт экспорта
+

Ожидание ввода скрипта выполняющего экспорт. см. Формат скрипта экспорта

+
+
+
5. Задать имя файла в диалоговом режиме
+

Откроет диалог выбора файла, можно выбрать любой файл csv. Выбор файла сделает его файлом +по умолчанию и также как (1) выполнит экспорт и завершит команду

+
+
+

Также все это можно сделать с помощью инспектора объектов, который при выполнении команды имеет вид:

+
+
+
+cmd params dataexport +
+
Рисунок 14. Опции команды DataExport
+
+
+
Формат фильтра по типам примитивов
+
+

Данный фильтр позволяет включить в набор или исключить из набора для экспорта определенные типы примитивов и +содержащие определенные расширения. +Включать/исключать типы примитивов/расширения можно как по имени, так и по маске. Изначально в набор для +обработки не включены никакие примитивы. Для добавления тип примитива/расширение должен быть добавлен и не +должен быть исключен. Причем для примитивов с несколькими расширениями достаточно попадания в разрешенный +список хотябы одного расширения. Если не задано не одного условия для расширений, включение\выключение в +список происходит только по типу примитива. Фильтр задается в текстовом виде и в общем случае выглядит так:

+
+
+
+
Оператор(Операнд)[;Оператор(Операнд)]
+
+
+
+

Операторы могут разделяться точкой с запятой, запятой, пробелом, переводом строки. Доступны следующие +операторы:

+
+ ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
IncludeEntityMask('Mask*')
+
+
+
+
    +
+
+

Включить типы примитивов по маске

+
+
IncludeEntityName('Name')
+
+
+
+
    +
+
+

Включить тип примитивов по имени

+
+
ExcludeEntityMask('Mask*')
+
+
+
+
    +
+
+

Исключить типы примитивов по маске

+
+
ExcludeEntityName('Name')
+
+
+
+
    +
+
+

Исключить тип примитивов по имени

+
+
IncludeExtenderMask('Mask*')
+
+
+
+
    +
+
+

Включить примитив c расширением по маске

+
+
IncludeExtenderName('Name')
+
+
+
+
    +
+
+

Включить примитив c расширением по имени

+
+
ExcludeExtenderMask('Mask*')
+
+
+
+
    +
+
+

Исключить примитив c расширением по маске

+
+
ExcludeExtenderName('Name')
+
+
+
+
    +
+
+

Исключить примитив c расширением по имени

+
+

Все операторы в качестве операнда принимают строковой параметр заключенный в апострофы.
+ Примеры фильтров примитивов:
+Включить в экспорт примитивы Cable и Device:

+
+
+
+
IncludeEntityName('Cable');
+IncludeEntityName('Device')
+
+
+
+

Включить в экспорт все типы примитивов:

+
+
+
+
IncludeEntityMask('*')
+
+
+
+

Включить в экспорт примитивы PolyLine и Line:

+
+
+
+
IncludeEntityName('*Line') ExcludeEntityName('3DPolyLine')
+
+
+
+
+
Формат фильтра по свойствам примитивов
+
+

Данный фильтр применяется последовательно к каждому примитиву прошедшему фильтрацию по типу. Фильтр +задается в текстовом виде и в общем случае выглядит так:

+
+
+
+
Оператор(Операнд[,Операнд])[;Оператор(Операнд[,Операнд])]
+
+
+
+

Операторы могут разделяться точкой с запятой, запятой, пробелом, переводом строки. Доступны следующие +операторы:

+
+ ++++ + + + + + + + + + + +
+
+
IncludeIfMask(Операнд,'Маска*')
+
+
+
+
    +
+
+

Включить примитив в результат если операнд соответствует маске

+
+
IncludeIfSame(Условие)
+
+
+
+
    +
+
+

Включить примитив в результат в случае выполнения условия

+
+

Условный операторы пока доступен только один:

+
+ ++++ + + + + + + + + + + +
+
+
SameMask(Операнд1,'Маска')
+
+
+
+
    +
+
+

Условие считается выполненным если текстовое значение операнда1 соответствует маске

+
+
Or(Условие1,Условие2)
+
+
+
+
    +
+
+

Объединение условий 1 и 2 по закону ИЛИ

+
+

Доступные типы операндов:

+
+ ++++ + + + + + + + + + + +
+
+
'Строка'
+
+
+
+
    +
+
+

Строковой параметр - любой текст заключенный в апострофы

+
+
%%('ИмяПараметра')
+
+
+
+
    +
+
+

Возвращает значение параметра текущего примитива в виде строки

+
+

Имена параметров для разных примитивов могут отличатся, в общем случае это параметры +доступные в инспекторе объектов для данного типа примитивов, в случае отсутствия у примитива данного параметра +возвращается пустая строка. Примерный перечень доступных параметров смотри в +https://github.com/zamtmn/zcad/blob/master/cad_source/zcad/gui/odjectinspector/uzcoiregistermultiproperties.pas
+ Примеры фильтров по свойствам примитивов:
+Включить в результат только примитивы типа кабель, или примитивы с параметром 'Name' удовлетворяющим маске +'CABLE_*' (это блоки\устройства, т.к. только у них есть имя)

+
+
+
+
IncludeIfSame(
+              Or(SameMask(%%('Name'),'CABLE_*'),
+              SameMask(%%('EntityName'),'Cable'))
+             )
+
+
+
+

Включить в результат только примитивы с параметром 'Name' удовлетворяющим маске 'EL_CABLE_*' (это +блоки\устройства, т.к. только у них есть имя)

+
+
+
+
IncludeIfMask(%%('Name'),'EL_CABLE_*')
+
+
+
+
+
Формат скрипта экспорта
+
+

Данный скрипт применяется последовательно к каждому примитиву прошедшему фильтрацию предыдущими двумя. Скрипт +задается в текстовом виде и в общем случае выглядит так:

+
+
+
+
Оператор(Операнд[,Операнд])[;Оператор(Операнд[,Операнд])]
+
+
+
+

Операторы могут разделяться точкой с запятой, запятой, пробелом, переводом строки. Доступны следующие +операторы:

+
+ ++++ + + + + + + + + + + +
+
+
Export(Операнд1[,Операнд2, ...])
+
+
+
+
    +
+
+

записать строку операндов c разделителями в новую строку файла csv

+
+
DoIf(Условие,Оператор)
+
+
+
+
    +
+
+

Выполнить оператор в случае выполнения условия

+
+

Условный операторы пока доступен только один:

+
+ ++++ + + + + + + +
+
+
SameMask(Операнд1,'Маска')
+
+
+
+
    +
+
+

Условие считается выполненным если текстовое значение операнда1 соответствует маске

+
+

Доступные типы операндов:

+
+ ++++ + + + + + + + + + + + + + + +
+
+
'Строка'
+
+
+
+
    +
+
+

Строковой параметр - любой текст заключенный в апострофы

+
+
%%('ИмяПараметра')
+
+
+
+
    +
+
+

Возвращает значение параметра текущего примитива в виде строки

+
+
@@('ИмяПеременной')
+
+
+
+
    +
+
+

Возвращает значение переменной текущего примитива в виде строки

+
+

Имена переменных могут быть любыми, в случае отсутствия у примитива данной переменной возвращается значение +'!!ERR(ИмяПеременной)!!'. Имена параметров для разных примитивов могут отличатся, в общем случае это параметры +доступные в инспекторе объектов для данного типа примитивов, в случае отсутствия у примитива данного параметра +возвращается пустая строка. Примерный перечень доступных параметров смотри в +https://github.com/zamtmn/zcad/blob/master/cad_source/zcad/gui/odjectinspector/uzcoiregistermultiproperties.pas

+
+
+
Примеры скриптов экспорта:
+
+

Если текущий примитив устройство, записываем в csv строку 'Device','NMO_Name',Значение переменной NMO_Name,'Position',Значение переменной Position

+
+
+
+
DoIf(
+     SameMask(%%('EntityName'),'Device'),
+     Export(%%('EntityName'),'NMO_Name',@@('NMO_Name'),'Position',@@('Position'))
+     )
+
+
+
+

Если текущий примитив устройство, записываем в csv строку 'Device','NMO_Name',Значение переменной NMO_Name,'Power',Значение переменной Power

+
+
+
+
DoIf(
+     SameMask(%%('EntityName'),'Device'),
+     Export(%%('EntityName'),'NMO_Name',@@('NMO_Name'),'Power',@@('Power'))
+     )
+
+
+
+

Если текущий примитив кабель, записываем в csv строку 'Cable','NMO_Name',Значение переменной NMO_Name,'AmountD',Значение переменной AmountD

+
+
+
+
DoIf(
+     SameMask(%%('EntityName'),'Cable'),
+     Export(%%('EntityName'),'NMO_Name',@@('NMO_Name'),'AmountD',@@('AmountD'))
+     )
+
+
+
+

Если текущий примитив кабель, записываем в csv строку 'Cable','NMO_Name',Значение переменной NMO_Name,'CABLE_Segment',Значение переменной CABLE_Segment

+
+
+
+
DoIf(SameMask(%%('EntityName'),'Cable'),
+     Export(%%('EntityName'),
+            'NMO_Name',@@('NMO_Name'),
+            'CABLE_Segment',@@('CABLE_Segment'))
+     )
+
+
+
+
+
+
+

3.4.13. DataImport

+ ++++ + + + + + + + + + + + + + + + + + + +

Команда:

+

DataImport

+
+
+
    +
+
+

Операнды:

Не обязательный. Путь и имя файла CSV

Пример использования:

+

DataImport

+
+
+
    +
+
+

Пример использования 2:

+

DataImport(E:\myfile.csv)

+
+
+
    +
+
+
+
+

Импорт данных примитивов из внешнего файла CSV. При вызове без параметров будет открыто окно выбора файла, +после выбора данные будут импортированы из соответствующего файла. Имя файла можно передать параметром, тогда +данные из файла будет импортированы сразу, без окна выбора. В составе строки параметра могут использоваться +макросы !!NEEDLINK!!.
+Разделителем в CSV файле должна быть точка с запятой, файл должен состоять из строк следующей структуры:

+
+ +++++++++ + + + + + + + + + + + +

ИмяПримитива

Переменная1

Значение1

…​

…​

ПеременнаяN

ЗначениеN

+
+

Где ИмяПримитива - внутреннее имя примитива ZCAD, например DEVICE, CABLE и т.д.
+Далее попарно идут Переменная - имя переменной, Значение - значение данной переменной. Причем все +переменные кроме последней являются идентифицирующими, последняя переменная - собственно импортируемое +значение
+Например при импорте следующей строки:

+
+ +++++++++ + + + + + + + + + + + +

DEVICE

NMO_Name

M1

Position

10

Power

1.5

+
+

Произойдет следующее: с текущего чертежа будут выбраны все устройства (примитивы DEVICE) среди них будут +отобраны имеющие имя M1 (переменная NMO_Name='M1') и позицию 10 (переменная Position=10) при наличии у +отобранных устройств переменной Power ей будет присвоено значение 1.5 Если переменной Power у устройства +нет с ним никаких действий произведено не будет.

+
+
+

dbgAppExplorer +dbgBlocksList +dbgClipboard +dbgCmdList +dbgGetAV +dbgMemSummary +dbgPlaceAllBlocks +DeSelectAll

+
+
+
+

3.4.14. DevDefSync

+ ++++ + + + + + + + + + + +

Команда:

+

DevDefSync

+
+
+
    +
+
+

Предвыбор примитивов:

Требуется

+
+

Синхронизация динамической части выбранных на чертеже устройств с определением устройства. Устройство +на чертеже может быть изменено. Добавлены\убраны примитивы в динамическую часть, к примитивам в +динамической части привязаны различные расширения. Для того чтобы данные изменения были доступны для +вновь вставленных устройств необходимо перенести изменения из вставки устройства в определение +устройства

+
+
+

DimAligned +DimDiameter +DimLinear +DimRadius +DimStyles +Dist

+
+
+
+

3.4.15. DockingOptions

+ ++++ + + + + + + +

Команда:

+

DockingOptions

+
+
+
    +
+
+
+
+

Показ модального окна настройки параметров стыковки. Также окно настройки можно вызвать в контекстном меню сплитеров +и заголовков окон докинга

+
+
+
+zcad ui dockingoptions +
+
Рисунок 15. Окно настройки параметров стыковки
+
+
+

!!NEEDDETAILS!!

+
+
+
+

3.4.16. DWGClose

+ ++++ + + + + + + + + + + + + + + + + + + +

Команда:

+

DWGClose

+
+
+
    +
+
+

Иконка:

close

Сочетания клавиш:

Ctrl+F4

Меню:

+

Файл > Закрыть

+
+
+
    +
+
+
+
+

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

+
+
+
+

3.4.17. DWGNew

+ ++++ + + + + + + + + + + + + + + + + + + +

Команда:

+

DWGNew

+
+
+
    +
+
+

Иконка:

new

Сочетания клавиш:

Ctrl+N

Меню:

+

Файл > Новый чертеж

+
+
+
    +
+
+
+
+

Создать новый чертеж. !!NEEDDETAILS!!

+
+
+
+

3.4.18. DWGNext

+ ++++ + + + + + + + + + + + + + + +

Команда:

+

DWGNext

+
+
+
    +
+
+

Сочетания клавиш:

Ctrl+Tab

Меню:

+

Окно > Следующее окно

+
+
+
    +
+
+
+
+

Если в программе открыто несколько чертежей текущим становится следующий открытый чертеж

+
+
+
+

3.4.19. DWGPrev

+ ++++ + + + + + + + + + + + + + + +

Команда:

+

DWGPrev

+
+
+
    +
+
+

Сочетания клавиш:

Ctrl+Shift+Tab

Меню:

+

Окно > Предидущее окно

+
+
+
    +
+
+
+
+

Если в программе открыто несколько чертежей текущим становится предыдущий открытый чертеж

+
+
+

EL_AutoGen_Cable_Remove +EL_Cable +EM_SEPBUILD +EM_SRBUILD +El_CableMan +El_Cable_Invert +El_Cable_Join +El_Cable_Legend +El_Cable_RenN_0N +El_Cable_Select +El_ExternalKZ +El_Find +El_Leader +El_Material_Legend +El_Wire +El_Wire

+
+
+
+

3.4.20. Erase

+ ++++ + + + + + + + + + + + + + + + + + + + + + + +

Команда:

+

Erase

+
+
+
    +
+
+

Иконка:

erase

Сочетания клавиш:

Del

Меню:

+

Правка > Стереть

+
+
+
    +
+
+

Предвыбор примитивов:

Требуется

+
+

Стирает выбранные примитивы на чертеже

+
+
+

ExampleCreateLayer +ExampleInsertDevice +ExecuteFile +ExportDevWithAxis +ExportTextToCSV

+
+
+
+

3.4.21. extdrRemove

+ ++++ + + + + + + + + + + + + + + + + + + +

Команда:

+

extdrRemove

+
+
+
    +
+
+

Предвыбор примитивов:

Требуется

Операнды:

Обязательный. Имя расширения

Пример использования:

+

extdrRemove(extdrVariables)

+
+
+
    +
+
+
+
+

Отвязка указанного расширения (см. Расширения примитивов) от выбранных примитивов. В случае к выбраному примитиву не привязано данное расширение, +он будет проигнорирован

+
+
+
+

3.4.22. extdrAllList

+ ++++ + + + + + + +

Команда:

+

extdrAllList

+
+
+
    +
+
+
+
+

Команда выводит список доступных для привязки расширений (см. Расширения примитивов)

+
+
+
+

3.4.23. extdrEntsList

+ ++++ + + + + + + + + + + +

Команда:

+

extdrEntsList

+
+
+
    +
+
+

Предвыбор примитивов:

Требуется

+
+

Команда выводит список привязанных к выбранным примитивам расширений (см. Расширения примитивов)

+
+
+
+

3.4.24. extdrAdd

+ ++++ + + + + + + + + + + + + + + + + + + +

Команда:

+

extdrAdd

+
+
+
    +
+
+

Предвыбор примитивов:

Требуется

Операнды:

Обязательный. Имя расширения

Пример использования:

+

extdrAdd(extdrVariables)

+
+
+
    +
+
+
+
+

Привязка указанного расширения (см. Расширения примитивов) к выбраным примитивам. В случае к выбраному примитиву уже привязано данное расширение, +он будет проигнорирован

+
+
+

FindAllIntersections +Get3DPoint +Get3DPoint_DrawRect +GetLength +GetPoint +GetRect +GetVertexX +GetVertexY +GetVertexZ +Help +Import +Insert +Insert2 +InsertLayersFromBase +InsertTestTable +InverseSelected +KIP_CDBuild +KIP_Cable_Mark +KIP_LugTableBuild

+
+
+
+

3.4.25. Layer

+ ++++ + + + + + + + + + + + + + + +

Команда:

+

Layer

+
+
+
    +
+
+

Иконка:

layers

Меню:

+

Format > Слои …​

+
+
+
    +
+
+
+
+

Показ модального окна управления слоями

+
+
+
+zcad ui layersform prepare +
+
Рисунок 16. Окно управления слоями
+
+
+

!!NEEDDETAILS!!

+
+
+

LayerOff +LayerOn +LayOff +Line +LineOld +LineTypes

+
+
+
+

3.4.26. Load

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Команда:

+

Load

+
+
+
    +
+
+

Иконка:

open

Сочетания клавиш:

Ctrl+O

Меню:

+

Файл > Открыть

+
+
+
    +
+
+

Операнды:

Не обязательный. Путь и имя файла dxf

Пример использования:

+

Load

+
+
+
    +
+
+

Пример использования 2:

+

Load(E:\myfile.dxf)

+
+
+
    +
+
+
+
+

Загрузка файла DXF. При вызове без параметров будет открыто окно выбора файла, после выбора будет открыт данный файл. +Имя файла можно передать параметром, тогда файл будет открыт сразу, без окна выбора. В составе строки параметра +могут использоваться Макросы сокращений путей, например команда Load($(LastAutoSaveFile)) приведет к загрузке +последнего файла автосохранения

+
+
+
+

3.4.27. LoadActions

+ ++++ + + + + + + + + + + + + + + +

Команда:

+

LoadActions

+
+
+
    +
+
+

Операнды:

Обязательный. Путь и имя файла с описанием экшенов

Пример использования:

+

LoadActions(E:\actionscontent.xml)

+
+
+
    +
+
+
+
+

Загрузка файла описаний экшенов !!NEEDLINK!!. Загрузка обычно происходит на ранней стадии запуска программы, +поэтому команда обычно используется в скрипте $(ZCADPath)/preload/stage0.cmd0 !!NEEDLINK!!.

+
+
+
+

3.4.28. LoadLayout

+ ++++ + + + + + + + + + + + + + + + + + + +

Команда:

+

LoadLayout

+
+
+
    +
+
+

Операнды:

Не обязательный. Имя файла раскладки окон и тулбаров

Пример использования:

+

LoadLayout

+
+
+
    +
+
+

Пример использования 2:

+

LoadLayout(defaultlayout.xml)

+
+
+
    +
+
+
+
+

Загрузка и применение файла раскладки окон !!NEEDLINK!!. При отсутствии операнда будет произведена загрузка файла раскладки поумолчанию !!NEEDLINK!!. +При отсутствии файла раскладки указанного поумолчанию будет загружен файл defaultlayout.xml +Файлы раскладки ищутся в папке $(ZCADPath)/components

+
+
+
+

3.4.29. LoadMenus

+ ++++ + + + + + + + + + + + + + + +

Команда:

+

LoadMenus

+
+
+
    +
+
+

Операнды:

Обязательный. Путь и имя файла с описанием меню

Пример использования:

+

LoadMenus(E:\menuscontent.xml)

+
+
+
    +
+
+
+
+

Загрузка файла описаний меню !!NEEDLINK!!. Загрузка обычно происходит на ранней стадии запуска программы, +поэтому команда обычно используется в скрипте $(ZCADPath)/preload/stage0.cmd0 !!NEEDLINK!!.

+
+
+
+

3.4.30. LoadPalettes

+ ++++ + + + + + + + + + + + + + + +

Команда:

+

LoadPalettes

+
+
+
    +
+
+

Операнды:

Обязательный. Путь и имя файла с описанием палитр

Пример использования:

+

LoadPalettes(E:\palettescontent.xml)

+
+
+
    +
+
+
+
+

Загрузка файла описаний палитр !!NEEDLINK!!. Загрузка обычно происходит на ранней стадии запуска программы, +поэтому команда обычно используется в скрипте $(ZCADPath)/preload/stage0.cmd0 !!NEEDLINK!!.

+
+
+
+

3.4.31. LoadToolbars

+ ++++ + + + + + + + + + + + + + + +

Команда:

+

LoadToolbars

+
+
+
    +
+
+

Операнды:

Обязательный. Путь и имя файла с описанием тулбаров

Пример использования:

+

LoadMenus(E:\toolbarscontent.xml)

+
+
+
    +
+
+
+
+

Загрузка файла описаний тулбаров !!NEEDLINK!!. Загрузка обычно происходит на ранней стадии запуска программы, +поэтому команда обычно используется в скрипте $(ZCADPath)/preload/stage0.cmd0 !!NEEDLINK!!.

+
+
+
+

3.4.32. MatchProp

+ ++++ + + + + + + + + + + + + + + +

Команда:

+

MatchProp

+
+
+
    +
+
+

Иконка:

matchprop

Пример использования:

+

MatchProp

+
+
+
    +
+
+
+
+

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

+
+
+
+cmd params matchprop +
+
Рисунок 17. Опции команды MatchProp
+
+
+

Далее предлагается выбрать целевые примитивы, свойства исходного примитива отмеченые в опциях будут присвоены целевым +примитивам.

+
+
+
+

3.4.33. Merge

+ ++++ + + + + + + + + + + + + + + +

Команда:

+

Merge

+
+
+
    +
+
+

Операнды:

Обязательный. Путь и имя файла dxf

Пример использования:

+

Merge(E:\myfile.dxf)

+
+
+
    +
+
+
+
+

Подгружает файл DXF в текущий чертеж. Повторные определения блоков игнорируются

+
+
+
+

3.4.34. MergeBlocks

+ ++++ + + + + + + + + + + + + + + +

Команда:

+

MergeBlocks

+
+
+
    +
+
+

Операнды:

Обязательный. Путь и имя DXF файла

Пример использования:

+

MergeBlocks (E:\actionscontent.xml)

+
+
+
    +
+
+
+
+

Подгружает файл DXF в библиотеку блоков !!NEEDLINK!!. Повторные определения блоков игнорируются !!NEEDLINK!!. +Загрузка обычно происходит на стадии запуска программы, поэтому команда обычно используется в скрипте +$(ZCADPath)/preload/autorun.cmd !!NEEDLINK!!.

+
+
+
+

3.4.35. Mirror

+ ++++ + + + + + + + + + + + + + + +

Команда:

+

Mirror

+
+
+
    +
+
+

Иконка:

mirror

Предвыбор примитивов:

Требуется

+
+

Зеркальное отражение выбранных примитивов относительно прямой. Исходные примитивы нужно выбрать до запуска команды. +После запуска требуется указать 2 точки лежащие на прямой относительно которой будет произветено отражение. +Во время указания прямой в инспекторе объектов можно указать действие над исходными примитивами - удалить или отавить +в чертеже

+
+
+
+

3.4.36. Move

+ ++++ + + + + + + + + + + + + + + + + + + +

Команда:

+

Move

+
+
+
    +
+
+

Иконка:

move

Сочетания клавиш:

Ctrl+ALT+M; M

Предвыбор примитивов:

Требуется

+
+

Перенос выбранных примитивов. Исходные примитивы нужно выбрать до запуска команды. +После запуска требуется указать 2 точки вектора на который будет произветен перенос.

+
+
+

MultiSelect2ObjIbsp +NavSelectSubNodes +NumDevices +OPS_SPBuild +OPS_Sensor_Mark +ObjInspCopyToClip +OnDrawingEd +Options +OrtoDevPlace +Pan +PasteClip +PlaceSmokeDetectorOrto +PolyDiv +PolyEd +PolyTest +Polygon +Print +ProfileBuild +ProjectTree +QSave +Quit +ReadBlockLibrary +RebuildTree +Rectangle +Redo +Regen +RegenZEnts

+
+
+
+

3.4.37. Rotate

+ ++++ + + + + + + + + + + + + + + + + + + +

Команда:

+

Rotate

+
+
+
    +
+
+

Иконка:

rotate

Сочетания клавиш:

Ctrl+ALT+R; R

Предвыбор примитивов:

Требуется

+
+

Поворот выбранных примитивов. Исходные примитивы нужно выбрать до запуска команды. +После запуска требуется указать точку определяющую угол поворота.

+
+
+

RotateEnts

+
+
+
+

3.4.38. SaveAs

+ ++++ + + + + + + + + + + + + + + + + + + +

Команда:

+

SaveAs

+
+
+
    +
+
+

Иконка:

saveas

Сочетания клавиш:

Shift+Ctrl+S

Меню:

+

Файл > Сохранить как …​

+
+
+
    +
+
+
+
+

Сохранить текущий чертеж под новым именем. Будет открыто окно выбора файла, после чего произойдет сохранение. Имя чертежа +будет изменено, дальнейшие команды QSave будут сохранять файл под новым именем

+
+
+
+

3.4.39. SaveLayout

+ ++++ + + + + + + + + + + +

Команда:

+

SaveLayout

+
+
+
    +
+
+

Меню:

+

Настройки > Сохранить разбивку окон по умолчанию

+
+
+
    +
+
+
+
+

Соxранить текущую разбивку окон как разбивку по умолчанию в файл $(ZCADPath)/components/defaultlayout.xml

+
+
+
+

3.4.40. SaveOptions

+ ++++ + + + + + + + + + + +

Команда:

+

SaveOptions

+
+
+
    +
+
+

Меню:

+

Настройки > Сохранить параметры

+
+
+
    +
+
+
+
+

Соxранить текущие настройки программы в файлы $(ZCADPath)/rtl/sysvar.pas !!NEEDLINK!! и +$(ZCADPath)/rtl/config.xml !!NEEDLINK!!

+
+
+

Scale +SelMat +SelObjChangeColorToCurrent +SelObjChangeDimStyleToCurrent +SelObjChangeLTypeToCurrent +SelObjChangeLWToCurrent +SelObjChangeLayerToCurrent +SelObjChangeTStyleToCurrent +SelSim +SelectAll +SelectFrame +SelectObjectByAddres +SelectOnMouseObjects +SetObjInsp +Show +ShowPage +ShowToolBar +SnapProperties +StoreFrustum +Stretch +Text +TextStyles +TreeStat +Undo +Units +UnitsMan

+
+
+
+

3.4.41. UpdatePO

+ ++++ + + + + + + +

Команда:

+

UpdatePO

+
+
+
    +
+
+
+
+

Обновление файлов локазизации (Локализация программы), выполнить команду можно только запустив программу с ключом командной +строки updatepo (Переключатели командной строки) Команда позволяет записать в файл languages\rtzcad.po +все новые строки требующиеперевода обнаруженные в файлах данных при этом запуске программы и стереть из данного +файла строки которые требовали перевода раньше, но при этом запуске обнаружены небыли. Команда выводит диалоговое окно +на подтверждение действий, в случае подтверждения, rtzcad.po перезаписывается

+
+
+

VarReport

+
+
+
+

3.4.42. VarsEd

+ ++++ + + + + + + + + + + + + + + + + + + +

Команда:

+

VarsEd

+
+
+
    +
+
+

Иконка:

varsed

Меню:

+

Изменить > Редактор переменных примитива

+
+
+
    +
+
+

Предвыбор примитивов:

Примитив, редактирование переменных которого будет осуществляться

+
+

!!NEEDDETAILS!!

+
+
+
+

3.4.43. VarsEdBD

+ ++++ + + + + + + + + + + + + + + +

Команда:

+

VarsEdBD

+
+
+
    +
+
+

Операнды:

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

Пример использования 2:

+

Load(DEVICE_PS_SMOKE)

+
+
+
    +
+
+
+
+

!!NEEDDETAILS!!

+
+
+
+

3.4.44. VarsEdSel

+ ++++ + + + + + + + + + + + + + + + + + + +

Команда:

+

VarsEdSel

+
+
+
    +
+
+

Иконка:

varsedsel

Меню:

+

Изменить > Редактор переменных нескольких примитивов

+
+
+
    +
+
+

Предвыбор примитивов:

Примитивы, редактирование переменных которых будет осуществляться

+
+

!!NEEDDETAILS!!

+
+
+
+ + ++++ + + + + + + +

Команда:

+

VarsLink

+
+
+
    +
+
+
+
+

Создание централизованной связки примитивов (см. Централизация) После запуска команды предлагается указать +главный примитив звязки (централь) затем его представителей. Указанные примитивы должны иметь +расширение extdrVariables и не участвовать в других связках

+
+
+

!!NEEDDETAILS!!

+
+
+

View +Zoom +ZoomWindow +ft +rt +test

+
+
+
+
+
+
+ +
+ + + \ No newline at end of file diff --git a/ad_OC.dic b/ad_OC.dic new file mode 100644 index 000000000..9f1b6c778 --- /dev/null +++ b/ad_OC.dic @@ -0,0 +1,26 @@ +27 +manname +adoc +plantuml +strucrure +toc +toclevels +sectnums +docinfo +refsig +ifdef +endif +ifeval +lang +pdfwidth +iuml +filepath +cmdicon +cmdshortcuts +cmdmenu +hl +cmdline +cmdoperands +cmdexample +cmdcommand +kbd diff --git a/attributes.adoc b/attributes.adoc new file mode 100644 index 000000000..111d61ddd --- /dev/null +++ b/attributes.adoc @@ -0,0 +1,3 @@ +ifdef::lang[include::locale/{lang}/attributes.adoc[]] +:experimental: +:imagesdir: locale/{lang}/_images/ \ No newline at end of file diff --git a/formats_examples.adoc b/formats_examples.adoc new file mode 100644 index 000000000..f3f63cba5 --- /dev/null +++ b/formats_examples.adoc @@ -0,0 +1,39 @@ +include::attributes.adoc[] + +Shortcuts kbd:[Ctrl+O] - asciidoc ext + +Monospace text: `Monospace text` - asciidoc spec + +Highlight text: #Highlight text# - asciidoc spec + +Highlight text: [.hl]#Highlight text# - custom + +File or path: [.filepath]#File or path# - custom + +Command name: [.command]#Command name# - custom + +Menu path: [.menu]#Menu > Submenu# - custom + +Command line content: [.cmdline]#Command line content# - custom + +Shell command line content: [.shell]#Command line content# - custom + +Entity name: [.ent]#EntityName# - custom + +Tree: + +[plantuml, generated/ex1, svg] +---- +!include styles/defaulttree-style.iuml +legend +root +|_ level1.1 +|_ level1.2 +|_ level1.3 + |_ level2.1 +|_ level1.4 + |_ level2.2 + |_ level3.1 + |_ level2.3 +end legend +---- diff --git a/images_actions/actions/about.png b/images_actions/actions/about.png new file mode 100644 index 000000000..f684498b7 Binary files /dev/null and b/images_actions/actions/about.png differ diff --git a/images_actions/actions/addtoowner.png b/images_actions/actions/addtoowner.png new file mode 100644 index 000000000..8a9b9cdb6 Binary files /dev/null and b/images_actions/actions/addtoowner.png differ diff --git a/images_actions/actions/bedit.png b/images_actions/actions/bedit.png new file mode 100644 index 000000000..c98134134 Binary files /dev/null and b/images_actions/actions/bedit.png differ diff --git a/images_actions/actions/bottom.png b/images_actions/actions/bottom.png new file mode 100644 index 000000000..d036edf06 Binary files /dev/null and b/images_actions/actions/bottom.png differ diff --git a/images_actions/actions/close.png b/images_actions/actions/close.png new file mode 100644 index 000000000..67e1694b4 Binary files /dev/null and b/images_actions/actions/close.png differ diff --git a/images_actions/actions/colors.png b/images_actions/actions/colors.png new file mode 100644 index 000000000..0d13c42da Binary files /dev/null and b/images_actions/actions/colors.png differ diff --git a/images_actions/actions/copy.png b/images_actions/actions/copy.png new file mode 100644 index 000000000..45275bd6d Binary files /dev/null and b/images_actions/actions/copy.png differ diff --git a/images_actions/actions/copyclip.png b/images_actions/actions/copyclip.png new file mode 100644 index 000000000..6e10b4f8e Binary files /dev/null and b/images_actions/actions/copyclip.png differ diff --git a/images_actions/actions/copyclipbase.png b/images_actions/actions/copyclipbase.png new file mode 100644 index 000000000..4ce028e68 Binary files /dev/null and b/images_actions/actions/copyclipbase.png differ diff --git a/images_actions/actions/cutclip.png b/images_actions/actions/cutclip.png new file mode 100644 index 000000000..3070c830a Binary files /dev/null and b/images_actions/actions/cutclip.png differ diff --git a/images_actions/actions/dimstyles.png b/images_actions/actions/dimstyles.png new file mode 100644 index 000000000..302e2769e Binary files /dev/null and b/images_actions/actions/dimstyles.png differ diff --git a/images_actions/actions/dist.png b/images_actions/actions/dist.png new file mode 100644 index 000000000..43522f170 Binary files /dev/null and b/images_actions/actions/dist.png differ diff --git a/images_actions/actions/draw/arc.png b/images_actions/actions/draw/arc.png new file mode 100644 index 000000000..42e321abf Binary files /dev/null and b/images_actions/actions/draw/arc.png differ diff --git a/images_actions/actions/draw/circle.png b/images_actions/actions/draw/circle.png new file mode 100644 index 000000000..df87cb30d Binary files /dev/null and b/images_actions/actions/draw/circle.png differ diff --git a/images_actions/actions/draw/circle2p.png b/images_actions/actions/draw/circle2p.png new file mode 100644 index 000000000..e335c2f82 Binary files /dev/null and b/images_actions/actions/draw/circle2p.png differ diff --git a/images_actions/actions/draw/circle3p.png b/images_actions/actions/draw/circle3p.png new file mode 100644 index 000000000..44c8d7be4 Binary files /dev/null and b/images_actions/actions/draw/circle3p.png differ diff --git a/images_actions/actions/draw/circlecd.png b/images_actions/actions/draw/circlecd.png new file mode 100644 index 000000000..62cf14d35 Binary files /dev/null and b/images_actions/actions/draw/circlecd.png differ diff --git a/images_actions/actions/draw/dim/dimaligned.png b/images_actions/actions/draw/dim/dimaligned.png new file mode 100644 index 000000000..20a1fcd98 Binary files /dev/null and b/images_actions/actions/draw/dim/dimaligned.png differ diff --git a/images_actions/actions/draw/dim/dimdiametric.png b/images_actions/actions/draw/dim/dimdiametric.png new file mode 100644 index 000000000..1fe8cfd4e Binary files /dev/null and b/images_actions/actions/draw/dim/dimdiametric.png differ diff --git a/images_actions/actions/draw/dim/dimlinear.png b/images_actions/actions/draw/dim/dimlinear.png new file mode 100644 index 000000000..7b7c6374f Binary files /dev/null and b/images_actions/actions/draw/dim/dimlinear.png differ diff --git a/images_actions/actions/draw/dim/dimradial.png b/images_actions/actions/draw/dim/dimradial.png new file mode 100644 index 000000000..1107737e1 Binary files /dev/null and b/images_actions/actions/draw/dim/dimradial.png differ diff --git a/images_actions/actions/draw/insert.png b/images_actions/actions/draw/insert.png new file mode 100644 index 000000000..e9a8cc9bc Binary files /dev/null and b/images_actions/actions/draw/insert.png differ diff --git a/images_actions/actions/draw/line.png b/images_actions/actions/draw/line.png new file mode 100644 index 000000000..da06f9a64 Binary files /dev/null and b/images_actions/actions/draw/line.png differ diff --git a/images_actions/actions/draw/pline.png b/images_actions/actions/draw/pline.png new file mode 100644 index 000000000..702b3055d Binary files /dev/null and b/images_actions/actions/draw/pline.png differ diff --git a/images_actions/actions/draw/rectangle.png b/images_actions/actions/draw/rectangle.png new file mode 100644 index 000000000..755386ad3 Binary files /dev/null and b/images_actions/actions/draw/rectangle.png differ diff --git a/images_actions/actions/draw/text.png b/images_actions/actions/draw/text.png new file mode 100644 index 000000000..75b451734 Binary files /dev/null and b/images_actions/actions/draw/text.png differ diff --git a/images_actions/actions/erase.png b/images_actions/actions/erase.png new file mode 100644 index 000000000..4d44a636a Binary files /dev/null and b/images_actions/actions/erase.png differ diff --git a/images_actions/actions/exit.png b/images_actions/actions/exit.png new file mode 100644 index 000000000..9f5e48995 Binary files /dev/null and b/images_actions/actions/exit.png differ diff --git a/images_actions/actions/find.png b/images_actions/actions/find.png new file mode 100644 index 000000000..9e83855a9 Binary files /dev/null and b/images_actions/actions/find.png differ diff --git a/images_actions/actions/grid.png b/images_actions/actions/grid.png new file mode 100644 index 000000000..97e7d08b3 Binary files /dev/null and b/images_actions/actions/grid.png differ diff --git a/images_actions/actions/help.png b/images_actions/actions/help.png new file mode 100644 index 000000000..c2bc9947e Binary files /dev/null and b/images_actions/actions/help.png differ diff --git a/images_actions/actions/isone.png b/images_actions/actions/isone.png new file mode 100644 index 000000000..0c67bc955 Binary files /dev/null and b/images_actions/actions/isone.png differ diff --git a/images_actions/actions/isonw.png b/images_actions/actions/isonw.png new file mode 100644 index 000000000..31b984374 Binary files /dev/null and b/images_actions/actions/isonw.png differ diff --git a/images_actions/actions/isose.png b/images_actions/actions/isose.png new file mode 100644 index 000000000..c383f1853 Binary files /dev/null and b/images_actions/actions/isose.png differ diff --git a/images_actions/actions/isosw.png b/images_actions/actions/isosw.png new file mode 100644 index 000000000..1143b23f9 Binary files /dev/null and b/images_actions/actions/isosw.png differ diff --git a/images_actions/actions/layers.png b/images_actions/actions/layers.png new file mode 100644 index 000000000..1d272034d Binary files /dev/null and b/images_actions/actions/layers.png differ diff --git a/images_actions/actions/left.png b/images_actions/actions/left.png new file mode 100644 index 000000000..a5d3f710f Binary files /dev/null and b/images_actions/actions/left.png differ diff --git a/images_actions/actions/linetypes.png b/images_actions/actions/linetypes.png new file mode 100644 index 000000000..102c439d6 Binary files /dev/null and b/images_actions/actions/linetypes.png differ diff --git a/images_actions/actions/matchprop.png b/images_actions/actions/matchprop.png new file mode 100644 index 000000000..f914c710b Binary files /dev/null and b/images_actions/actions/matchprop.png differ diff --git a/images_actions/actions/mirror.png b/images_actions/actions/mirror.png new file mode 100644 index 000000000..d83453772 Binary files /dev/null and b/images_actions/actions/mirror.png differ diff --git a/images_actions/actions/move.png b/images_actions/actions/move.png new file mode 100644 index 000000000..041851e5d Binary files /dev/null and b/images_actions/actions/move.png differ diff --git a/images_actions/actions/new.png b/images_actions/actions/new.png new file mode 100644 index 000000000..db0cfd41b Binary files /dev/null and b/images_actions/actions/new.png differ diff --git a/images_actions/actions/open.png b/images_actions/actions/open.png new file mode 100644 index 000000000..f01379d87 Binary files /dev/null and b/images_actions/actions/open.png differ diff --git a/images_actions/actions/options.png b/images_actions/actions/options.png new file mode 100644 index 000000000..d709a7be7 Binary files /dev/null and b/images_actions/actions/options.png differ diff --git a/images_actions/actions/pandown.png b/images_actions/actions/pandown.png new file mode 100644 index 000000000..c25129c46 Binary files /dev/null and b/images_actions/actions/pandown.png differ diff --git a/images_actions/actions/panleft.png b/images_actions/actions/panleft.png new file mode 100644 index 000000000..5f2b48ae6 Binary files /dev/null and b/images_actions/actions/panleft.png differ diff --git a/images_actions/actions/panright.png b/images_actions/actions/panright.png new file mode 100644 index 000000000..b5f86aaf5 Binary files /dev/null and b/images_actions/actions/panright.png differ diff --git a/images_actions/actions/panup.png b/images_actions/actions/panup.png new file mode 100644 index 000000000..560e3c7b9 Binary files /dev/null and b/images_actions/actions/panup.png differ diff --git a/images_actions/actions/pasteclip.png b/images_actions/actions/pasteclip.png new file mode 100644 index 000000000..b99cf73ba Binary files /dev/null and b/images_actions/actions/pasteclip.png differ diff --git a/images_actions/actions/perspective.png b/images_actions/actions/perspective.png new file mode 100644 index 000000000..0a3e2cadf Binary files /dev/null and b/images_actions/actions/perspective.png differ diff --git a/images_actions/actions/polyed.png b/images_actions/actions/polyed.png new file mode 100644 index 000000000..3b8eb48b4 Binary files /dev/null and b/images_actions/actions/polyed.png differ diff --git a/images_actions/actions/print.png b/images_actions/actions/print.png new file mode 100644 index 000000000..0992150ad Binary files /dev/null and b/images_actions/actions/print.png differ diff --git a/images_actions/actions/projecttree.png b/images_actions/actions/projecttree.png new file mode 100644 index 000000000..3174ef7ed Binary files /dev/null and b/images_actions/actions/projecttree.png differ diff --git a/images_actions/actions/qload.png b/images_actions/actions/qload.png new file mode 100644 index 000000000..79aa2e834 Binary files /dev/null and b/images_actions/actions/qload.png differ diff --git a/images_actions/actions/qsave.png b/images_actions/actions/qsave.png new file mode 100644 index 000000000..7f51598bf Binary files /dev/null and b/images_actions/actions/qsave.png differ diff --git a/images_actions/actions/redo.png b/images_actions/actions/redo.png new file mode 100644 index 000000000..7b8e4e3c6 Binary files /dev/null and b/images_actions/actions/redo.png differ diff --git a/images_actions/actions/regen.png b/images_actions/actions/regen.png new file mode 100644 index 000000000..53db79d54 Binary files /dev/null and b/images_actions/actions/regen.png differ diff --git a/images_actions/actions/regenz.png b/images_actions/actions/regenz.png new file mode 100644 index 000000000..2ab7988de Binary files /dev/null and b/images_actions/actions/regenz.png differ diff --git a/images_actions/actions/right.png b/images_actions/actions/right.png new file mode 100644 index 000000000..f59c65a20 Binary files /dev/null and b/images_actions/actions/right.png differ diff --git a/images_actions/actions/rotate.png b/images_actions/actions/rotate.png new file mode 100644 index 000000000..6066152bc Binary files /dev/null and b/images_actions/actions/rotate.png differ diff --git a/images_actions/actions/rotatel.png b/images_actions/actions/rotatel.png new file mode 100644 index 000000000..bc2a2b425 Binary files /dev/null and b/images_actions/actions/rotatel.png differ diff --git a/images_actions/actions/rotater.png b/images_actions/actions/rotater.png new file mode 100644 index 000000000..17afee1f0 Binary files /dev/null and b/images_actions/actions/rotater.png differ diff --git a/images_actions/actions/save.png b/images_actions/actions/save.png new file mode 100644 index 000000000..3431b7322 Binary files /dev/null and b/images_actions/actions/save.png differ diff --git a/images_actions/actions/saveas.png b/images_actions/actions/saveas.png new file mode 100644 index 000000000..d947eb6bc Binary files /dev/null and b/images_actions/actions/saveas.png differ diff --git a/images_actions/actions/scale.png b/images_actions/actions/scale.png new file mode 100644 index 000000000..3db287f99 Binary files /dev/null and b/images_actions/actions/scale.png differ diff --git a/images_actions/actions/snap/snaptoapparentintersection.png b/images_actions/actions/snap/snaptoapparentintersection.png new file mode 100644 index 000000000..c4a07c833 Binary files /dev/null and b/images_actions/actions/snap/snaptoapparentintersection.png differ diff --git a/images_actions/actions/snap/snaptocenter.png b/images_actions/actions/snap/snaptocenter.png new file mode 100644 index 000000000..9a90411eb Binary files /dev/null and b/images_actions/actions/snap/snaptocenter.png differ diff --git a/images_actions/actions/snap/snaptoend.png b/images_actions/actions/snap/snaptoend.png new file mode 100644 index 000000000..f95c709c5 Binary files /dev/null and b/images_actions/actions/snap/snaptoend.png differ diff --git a/images_actions/actions/snap/snaptoinsert.png b/images_actions/actions/snap/snaptoinsert.png new file mode 100644 index 000000000..78f8f0b72 Binary files /dev/null and b/images_actions/actions/snap/snaptoinsert.png differ diff --git a/images_actions/actions/snap/snaptointersection.png b/images_actions/actions/snap/snaptointersection.png new file mode 100644 index 000000000..9b0d41a8c Binary files /dev/null and b/images_actions/actions/snap/snaptointersection.png differ diff --git a/images_actions/actions/snap/snaptomid.png b/images_actions/actions/snap/snaptomid.png new file mode 100644 index 000000000..af28c0770 Binary files /dev/null and b/images_actions/actions/snap/snaptomid.png differ diff --git a/images_actions/actions/snap/snaptonearest.png b/images_actions/actions/snap/snaptonearest.png new file mode 100644 index 000000000..ffe42cb8c Binary files /dev/null and b/images_actions/actions/snap/snaptonearest.png differ diff --git a/images_actions/actions/snap/snaptoparalel.png b/images_actions/actions/snap/snaptoparalel.png new file mode 100644 index 000000000..037f5808c Binary files /dev/null and b/images_actions/actions/snap/snaptoparalel.png differ diff --git a/images_actions/actions/snap/snaptoperpendicular.png b/images_actions/actions/snap/snaptoperpendicular.png new file mode 100644 index 000000000..35407aece Binary files /dev/null and b/images_actions/actions/snap/snaptoperpendicular.png differ diff --git a/images_actions/actions/snap/snaptoquadrant.png b/images_actions/actions/snap/snaptoquadrant.png new file mode 100644 index 000000000..fe3107175 Binary files /dev/null and b/images_actions/actions/snap/snaptoquadrant.png differ diff --git a/images_actions/actions/snap/snaptotangent.png b/images_actions/actions/snap/snaptotangent.png new file mode 100644 index 000000000..c55288b6c Binary files /dev/null and b/images_actions/actions/snap/snaptotangent.png differ diff --git a/images_actions/actions/stretch.png b/images_actions/actions/stretch.png new file mode 100644 index 000000000..29440603b Binary files /dev/null and b/images_actions/actions/stretch.png differ diff --git a/images_actions/actions/stripmtextall.png b/images_actions/actions/stripmtextall.png new file mode 100644 index 000000000..bcda56667 Binary files /dev/null and b/images_actions/actions/stripmtextall.png differ diff --git a/images_actions/actions/stripmtextsel.png b/images_actions/actions/stripmtextsel.png new file mode 100644 index 000000000..72afb07d3 Binary files /dev/null and b/images_actions/actions/stripmtextsel.png differ diff --git a/images_actions/actions/textstyles.png b/images_actions/actions/textstyles.png new file mode 100644 index 000000000..c4b1190c4 Binary files /dev/null and b/images_actions/actions/textstyles.png differ diff --git a/images_actions/actions/top.png b/images_actions/actions/top.png new file mode 100644 index 000000000..d19f07410 Binary files /dev/null and b/images_actions/actions/top.png differ diff --git a/images_actions/actions/undo.png b/images_actions/actions/undo.png new file mode 100644 index 000000000..51f67d0be Binary files /dev/null and b/images_actions/actions/undo.png differ diff --git a/images_actions/actions/varsed.png b/images_actions/actions/varsed.png new file mode 100644 index 000000000..58901b56f Binary files /dev/null and b/images_actions/actions/varsed.png differ diff --git a/images_actions/actions/varsedsel.png b/images_actions/actions/varsedsel.png new file mode 100644 index 000000000..7690e7235 Binary files /dev/null and b/images_actions/actions/varsedsel.png differ diff --git a/images_actions/actions/velec/superline.png b/images_actions/actions/velec/superline.png new file mode 100644 index 000000000..395e71ceb Binary files /dev/null and b/images_actions/actions/velec/superline.png differ diff --git a/images_actions/actions/zelectro/array.png b/images_actions/actions/zelectro/array.png new file mode 100644 index 000000000..26e85e584 Binary files /dev/null and b/images_actions/actions/zelectro/array.png differ diff --git a/images_actions/actions/zelectro/cable.png b/images_actions/actions/zelectro/cable.png new file mode 100644 index 000000000..8e4a2f56a Binary files /dev/null and b/images_actions/actions/zelectro/cable.png differ diff --git a/images_actions/actions/zelectro/cablesroute.png b/images_actions/actions/zelectro/cablesroute.png new file mode 100644 index 000000000..51439af11 Binary files /dev/null and b/images_actions/actions/zelectro/cablesroute.png differ diff --git a/images_actions/actions/zelectro/cabpluscab.png b/images_actions/actions/zelectro/cabpluscab.png new file mode 100644 index 000000000..3e3d42a52 Binary files /dev/null and b/images_actions/actions/zelectro/cabpluscab.png differ diff --git a/images_actions/actions/zelectro/csel.png b/images_actions/actions/zelectro/csel.png new file mode 100644 index 000000000..5bceb0e4e Binary files /dev/null and b/images_actions/actions/zelectro/csel.png differ diff --git a/images_actions/actions/zelectro/leader.png b/images_actions/actions/zelectro/leader.png new file mode 100644 index 000000000..b4de8f3f9 Binary files /dev/null and b/images_actions/actions/zelectro/leader.png differ diff --git a/images_actions/actions/zelectro/ps.png b/images_actions/actions/zelectro/ps.png new file mode 100644 index 000000000..4ab200057 Binary files /dev/null and b/images_actions/actions/zelectro/ps.png differ diff --git a/images_actions/actions/zelectro/removeautocables.png b/images_actions/actions/zelectro/removeautocables.png new file mode 100644 index 000000000..9884bb10f Binary files /dev/null and b/images_actions/actions/zelectro/removeautocables.png differ diff --git a/images_actions/actions/zelectro/smokefiresensor.png b/images_actions/actions/zelectro/smokefiresensor.png new file mode 100644 index 000000000..d7acb1b4e Binary files /dev/null and b/images_actions/actions/zelectro/smokefiresensor.png differ diff --git a/images_actions/actions/zelectro/wire.png b/images_actions/actions/zelectro/wire.png new file mode 100644 index 000000000..051a66afb Binary files /dev/null and b/images_actions/actions/zelectro/wire.png differ diff --git a/images_actions/actions/zoomall.png b/images_actions/actions/zoomall.png new file mode 100644 index 000000000..88e8b65fe Binary files /dev/null and b/images_actions/actions/zoomall.png differ diff --git a/images_actions/actions/zoomin.png b/images_actions/actions/zoomin.png new file mode 100644 index 000000000..8bcdb8005 Binary files /dev/null and b/images_actions/actions/zoomin.png differ diff --git a/images_actions/actions/zoomout.png b/images_actions/actions/zoomout.png new file mode 100644 index 000000000..56997da14 Binary files /dev/null and b/images_actions/actions/zoomout.png differ diff --git a/images_actions/actions/zoomwindow.png b/images_actions/actions/zoomwindow.png new file mode 100644 index 000000000..89b65f097 Binary files /dev/null and b/images_actions/actions/zoomwindow.png differ diff --git a/images_actions/basket.png b/images_actions/basket.png new file mode 100644 index 000000000..3164a18ad Binary files /dev/null and b/images_actions/basket.png differ diff --git a/images_actions/bug.png b/images_actions/bug.png new file mode 100644 index 000000000..48f1039e3 Binary files /dev/null and b/images_actions/bug.png differ diff --git a/images_actions/caddie.png b/images_actions/caddie.png new file mode 100644 index 000000000..247e2d232 Binary files /dev/null and b/images_actions/caddie.png differ diff --git a/images_actions/dxf.png b/images_actions/dxf.png new file mode 100644 index 000000000..341230e81 Binary files /dev/null and b/images_actions/dxf.png differ diff --git a/images_actions/freze.png b/images_actions/freze.png new file mode 100644 index 000000000..4ae9f6571 Binary files /dev/null and b/images_actions/freze.png differ diff --git a/images_actions/grid.png b/images_actions/grid.png new file mode 100644 index 000000000..97e7d08b3 Binary files /dev/null and b/images_actions/grid.png differ diff --git a/images_actions/inspectlistitem.png b/images_actions/inspectlistitem.png new file mode 100644 index 000000000..d5c87f6ce Binary files /dev/null and b/images_actions/inspectlistitem.png differ diff --git a/images_actions/lock.png b/images_actions/lock.png new file mode 100644 index 000000000..66bfb8f1c Binary files /dev/null and b/images_actions/lock.png differ diff --git a/images_actions/lwt.png b/images_actions/lwt.png new file mode 100644 index 000000000..364727689 Binary files /dev/null and b/images_actions/lwt.png differ diff --git a/images_actions/minus.png b/images_actions/minus.png new file mode 100644 index 000000000..9d0f08e63 Binary files /dev/null and b/images_actions/minus.png differ diff --git a/images_actions/navgroup.png b/images_actions/navgroup.png new file mode 100644 index 000000000..e2c4165ca Binary files /dev/null and b/images_actions/navgroup.png differ diff --git a/images_actions/navigator.ima b/images_actions/navigator.ima new file mode 100644 index 000000000..57272d18c --- /dev/null +++ b/images_actions/navigator.ima @@ -0,0 +1,23 @@ +; Icon aliases for navigator +; alias=filename + +;navautogroup - grouping by basename +navautogroup=navgroup + +;navmanualgroup - grouping devices with same name +navmanualgroup=navgroup + +; !!!NOIMAGE - "filename" for default "?" icon +; it is possible to omit +;OBJT_Unknown=!!!NOIMAGE +OBJT_Unknown=dxf + +OBJT_Devices_OnPlans=onplan.png +OBJT_Devices_OnDiagrams_PIDDiagram=ondiagram.png + +;functions (ENTID_Function variable) +Electrotechnics~Alarm~Fire~Detectors~Smoke~Spot=DEVICE_PS_DAT_SMOKE.png + +;functions (ENTID_Representation variable) +GraphSymbol~onPlan=onplan.png +GraphSymbol~onScheme~Connection=ondiagram.png \ No newline at end of file diff --git a/images_actions/off.png b/images_actions/off.png new file mode 100644 index 000000000..2816c2ce9 Binary files /dev/null and b/images_actions/off.png differ diff --git a/images_actions/ok.png b/images_actions/ok.png new file mode 100644 index 000000000..8e373a64c Binary files /dev/null and b/images_actions/ok.png differ diff --git a/images_actions/on.png b/images_actions/on.png new file mode 100644 index 000000000..e7739cd87 Binary files /dev/null and b/images_actions/on.png differ diff --git a/images_actions/ondiagram.png b/images_actions/ondiagram.png new file mode 100644 index 000000000..d29671b33 Binary files /dev/null and b/images_actions/ondiagram.png differ diff --git a/images_actions/onplan.png b/images_actions/onplan.png new file mode 100644 index 000000000..8ce3beb5c Binary files /dev/null and b/images_actions/onplan.png differ diff --git a/images_actions/osnap.png b/images_actions/osnap.png new file mode 100644 index 000000000..636ef2fcb Binary files /dev/null and b/images_actions/osnap.png differ diff --git a/images_actions/plus.png b/images_actions/plus.png new file mode 100644 index 000000000..a75a2f3ac Binary files /dev/null and b/images_actions/plus.png differ diff --git a/images_actions/polar.png b/images_actions/polar.png new file mode 100644 index 000000000..5bc56fb11 Binary files /dev/null and b/images_actions/polar.png differ diff --git a/images_actions/print.png b/images_actions/print.png new file mode 100644 index 000000000..b726dd1c5 Binary files /dev/null and b/images_actions/print.png differ diff --git a/images_actions/purge.png b/images_actions/purge.png new file mode 100644 index 000000000..b61e56684 Binary files /dev/null and b/images_actions/purge.png differ diff --git a/images_actions/refresh.png b/images_actions/refresh.png new file mode 100644 index 000000000..3fd71d6e5 Binary files /dev/null and b/images_actions/refresh.png differ diff --git a/images_actions/snap.png b/images_actions/snap.png new file mode 100644 index 000000000..42b05c20b Binary files /dev/null and b/images_actions/snap.png differ diff --git a/images_actions/snaptogrid.png b/images_actions/snaptogrid.png new file mode 100644 index 000000000..2d52cf6bd Binary files /dev/null and b/images_actions/snaptogrid.png differ diff --git a/images_actions/sub.png b/images_actions/sub.png new file mode 100644 index 000000000..ed58b6457 Binary files /dev/null and b/images_actions/sub.png differ diff --git a/images_actions/unfreze.png b/images_actions/unfreze.png new file mode 100644 index 000000000..4a702b713 Binary files /dev/null and b/images_actions/unfreze.png differ diff --git a/images_actions/unlock.png b/images_actions/unlock.png new file mode 100644 index 000000000..a455fbf50 Binary files /dev/null and b/images_actions/unlock.png differ diff --git a/images_actions/unprint.png b/images_actions/unprint.png new file mode 100644 index 000000000..2f1ee89e8 Binary files /dev/null and b/images_actions/unprint.png differ diff --git a/index.html b/index.html new file mode 100644 index 000000000..07165cc9f --- /dev/null +++ b/index.html @@ -0,0 +1,86 @@ + + + + + + + + +ZCAD Руководство пользователя + + + + + + +
+
+
+
+
+
+
+ +
+ +
+ + + \ No newline at end of file diff --git a/locale/ru/_elements/commandsummary.adoc b/locale/ru/_elements/commandsummary.adoc new file mode 100644 index 000000000..92b555210 --- /dev/null +++ b/locale/ru/_elements/commandsummary.adoc @@ -0,0 +1,27 @@ +[cols=">3,<6"] +|========================== +ifeval::["{cmdcommand}"!=""] + |*Команда*: a|[.command]#{cmdcommand}# +endif::[] +ifeval::["{cmdicon}"!=""] + |*Иконка*: |image:{cmdicon}[] +endif::[] +ifeval::["{cmdshortcuts}"!=""] + |*Сочетания клавиш*: |{cmdshortcuts} +endif::[] +ifeval::["{cmdmenu}"!=""] + |*Меню*: a|[.menu]#{cmdmenu}# +endif::[] +ifeval::["{predselect}"!=""] + |*Предвыбор примитивов*: |{predselect} +endif::[] +ifeval::["{cmdoperands}"!=""] +|*Операнды*: |{cmdoperands} +endif::[] +ifeval::["{cmdexample}"!=""] + |*Пример использования*: a|[.cmdline]#{cmdexample}# +endif::[] +ifeval::["{cmdexample2}"!=""] + |*Пример использования 2*: a|[.cmdline]#{cmdexample2}# +endif::[] +|========================== \ No newline at end of file diff --git a/locale/ru/_images/cmd_params_bedit.png b/locale/ru/_images/cmd_params_bedit.png new file mode 100644 index 000000000..a7289529a Binary files /dev/null and b/locale/ru/_images/cmd_params_bedit.png differ diff --git a/locale/ru/_images/cmd_params_dataexport.png b/locale/ru/_images/cmd_params_dataexport.png new file mode 100644 index 000000000..853e9284e Binary files /dev/null and b/locale/ru/_images/cmd_params_dataexport.png differ diff --git a/locale/ru/_images/cmd_params_matchprop.png b/locale/ru/_images/cmd_params_matchprop.png new file mode 100644 index 000000000..b8ad65a30 Binary files /dev/null and b/locale/ru/_images/cmd_params_matchprop.png differ diff --git a/locale/ru/_images/ents_device_const_part.png b/locale/ru/_images/ents_device_const_part.png new file mode 100644 index 000000000..56c3c3458 Binary files /dev/null and b/locale/ru/_images/ents_device_const_part.png differ diff --git a/locale/ru/_images/ents_device_var_part.png b/locale/ru/_images/ents_device_var_part.png new file mode 100644 index 000000000..4d829aabc Binary files /dev/null and b/locale/ru/_images/ents_device_var_part.png differ diff --git a/locale/ru/_images/extdr_params_extdrlayercontrol.png b/locale/ru/_images/extdr_params_extdrlayercontrol.png new file mode 100644 index 000000000..7e8638511 Binary files /dev/null and b/locale/ru/_images/extdr_params_extdrlayercontrol.png differ diff --git a/locale/ru/_images/extdr_params_extdrsmarttextent.png b/locale/ru/_images/extdr_params_extdrsmarttextent.png new file mode 100644 index 000000000..57d58fc17 Binary files /dev/null and b/locale/ru/_images/extdr_params_extdrsmarttextent.png differ diff --git a/locale/ru/_images/generated/cmdprompt_dataexport.svg b/locale/ru/_images/generated/cmdprompt_dataexport.svg new file mode 100644 index 000000000..f191e1397 --- /dev/null +++ b/locale/ru/_images/generated/cmdprompt_dataexport.svg @@ -0,0 +1,113 @@ + + + +g + + + +node0 + +Configure export + + +p +aram, + +run + + +f +ile dialog + + or enter file name (empty for default): > (1) + + + +node1 + + +<<< + +Set + + +e +ntities + +/ + + +p +roperties + +filter or export + + +s +cript + + + +node0:f0->node1 + + + + + +node5 + +File select dialog (5) + + + +node0:f1->node5:f0 + + + + + +node2 + + +<<< + +Enter new entities filter: > (2) + + + +node1:f1->node2:f1 + + + + + +node3 + + +<<< + +Enter new properties filter: > (3) + + + +node1:f2->node3:f1 + + + + + +node4 + + +<<< + +Enter new export script: > (4) + + + +node1:f3->node4:f1 + + + + + \ No newline at end of file diff --git a/locale/ru/_images/generated/components_strucrure.svg b/locale/ru/_images/generated/components_strucrure.svg new file mode 100644 index 000000000..7888b4631 --- /dev/null +++ b/locale/ru/_images/generated/components_strucrure.svg @@ -0,0 +1 @@ +preload Различные поддиректории autorun.cmd командный скрипт выполняемый на последней стадии запуска программы stage0.cmd0 командный скрипт выполняемый на ранней стадии запуска программы \ No newline at end of file diff --git a/locale/ru/_images/generated/general_directory_strucrure.svg b/locale/ru/_images/generated/general_directory_strucrure.svg new file mode 100644 index 000000000..27ef40413 --- /dev/null +++ b/locale/ru/_images/generated/general_directory_strucrure.svg @@ -0,0 +1 @@ +cad bin бинарные файлы в подкаталогах по платформам 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 шаблоны пустых чертежей \ No newline at end of file diff --git a/locale/ru/_images/generated/object_inspector_structure.svg b/locale/ru/_images/generated/object_inspector_structure.svg new file mode 100644 index 000000000..200eb19ef --- /dev/null +++ b/locale/ru/_images/generated/object_inspector_structure.svg @@ -0,0 +1 @@ +ИнспекторОбрабатывать_примитивыОбработка_переменныхСвязанные переменныеПеременные связанных примитивовПеременныеСвои переменныеРасширенияСвойства расширений примитивовОбщиеОсновные свойства примитивовГеометрияГеометрические свойства примитивовРазноеНе геометрические свойства примитивовСуммарноFILTERСвойства_для_фильтрацииПросуммированные свойства \ No newline at end of file diff --git a/locale/ru/_images/zcad_empty_ui.png b/locale/ru/_images/zcad_empty_ui.png new file mode 100644 index 000000000..6426fa807 Binary files /dev/null and b/locale/ru/_images/zcad_empty_ui.png differ diff --git a/locale/ru/_images/zcad_empty_ui_dock_oi.png b/locale/ru/_images/zcad_empty_ui_dock_oi.png new file mode 100644 index 000000000..527a8bd16 Binary files /dev/null and b/locale/ru/_images/zcad_empty_ui_dock_oi.png differ diff --git a/locale/ru/_images/zcad_empty_ui_dock_second.png b/locale/ru/_images/zcad_empty_ui_dock_second.png new file mode 100644 index 000000000..1cd7bc3a9 Binary files /dev/null and b/locale/ru/_images/zcad_empty_ui_dock_second.png differ diff --git a/locale/ru/_images/zcad_empty_ui_dock_third.png b/locale/ru/_images/zcad_empty_ui_dock_third.png new file mode 100644 index 000000000..59ffd2178 Binary files /dev/null and b/locale/ru/_images/zcad_empty_ui_dock_third.png differ diff --git a/locale/ru/_images/zcad_empty_ui_docked_toolbar.png b/locale/ru/_images/zcad_empty_ui_docked_toolbar.png new file mode 100644 index 000000000..b784a5bc0 Binary files /dev/null and b/locale/ru/_images/zcad_empty_ui_docked_toolbar.png differ diff --git a/locale/ru/_images/zcad_empty_ui_drag_toolbar.png b/locale/ru/_images/zcad_empty_ui_drag_toolbar.png new file mode 100644 index 000000000..4a712b1a8 Binary files /dev/null and b/locale/ru/_images/zcad_empty_ui_drag_toolbar.png differ diff --git a/locale/ru/_images/zcad_empty_ui_try_dock_oi.png b/locale/ru/_images/zcad_empty_ui_try_dock_oi.png new file mode 100644 index 000000000..9e0ff0688 Binary files /dev/null and b/locale/ru/_images/zcad_empty_ui_try_dock_oi.png differ diff --git a/locale/ru/_images/zcad_empty_ui_try_dock_second.png b/locale/ru/_images/zcad_empty_ui_try_dock_second.png new file mode 100644 index 000000000..b6e180397 Binary files /dev/null and b/locale/ru/_images/zcad_empty_ui_try_dock_second.png differ diff --git a/locale/ru/_images/zcad_empty_ui_try_dock_third.png b/locale/ru/_images/zcad_empty_ui_try_dock_third.png new file mode 100644 index 000000000..7a6360d53 Binary files /dev/null and b/locale/ru/_images/zcad_empty_ui_try_dock_third.png differ diff --git a/locale/ru/_images/zcad_empty_ui_with_objectinspector.png b/locale/ru/_images/zcad_empty_ui_with_objectinspector.png new file mode 100644 index 000000000..99025caa2 Binary files /dev/null and b/locale/ru/_images/zcad_empty_ui_with_objectinspector.png differ diff --git a/locale/ru/_images/zcad_empty_ui_with_toolbar.png b/locale/ru/_images/zcad_empty_ui_with_toolbar.png new file mode 100644 index 000000000..5c712c5f9 Binary files /dev/null and b/locale/ru/_images/zcad_empty_ui_with_toolbar.png differ diff --git a/locale/ru/_images/zcad_oi_options.png b/locale/ru/_images/zcad_oi_options.png new file mode 100644 index 000000000..5b88641cd Binary files /dev/null and b/locale/ru/_images/zcad_oi_options.png differ diff --git a/locale/ru/_images/zcad_ui.png b/locale/ru/_images/zcad_ui.png new file mode 100644 index 000000000..ae66d84c2 Binary files /dev/null and b/locale/ru/_images/zcad_ui.png differ diff --git a/locale/ru/_images/zcad_ui_dockingoptions.png b/locale/ru/_images/zcad_ui_dockingoptions.png new file mode 100644 index 000000000..a5f1fe845 Binary files /dev/null and b/locale/ru/_images/zcad_ui_dockingoptions.png differ diff --git a/locale/ru/_images/zcad_ui_layersform_prepare.png b/locale/ru/_images/zcad_ui_layersform_prepare.png new file mode 100644 index 000000000..4025cb47a Binary files /dev/null and b/locale/ru/_images/zcad_ui_layersform_prepare.png differ diff --git a/locale/ru/_images/zcad_ui_navigator.png b/locale/ru/_images/zcad_ui_navigator.png new file mode 100644 index 000000000..01421763f Binary files /dev/null and b/locale/ru/_images/zcad_ui_navigator.png differ diff --git a/locale/ru/_images/zcad_ui_navigator_prepare.png b/locale/ru/_images/zcad_ui_navigator_prepare.png new file mode 100644 index 000000000..ee9d04378 Binary files /dev/null and b/locale/ru/_images/zcad_ui_navigator_prepare.png differ diff --git a/locale/ru/_images/zcad_ui_objectinspector.png b/locale/ru/_images/zcad_ui_objectinspector.png new file mode 100644 index 000000000..ac7cfe997 Binary files /dev/null and b/locale/ru/_images/zcad_ui_objectinspector.png differ diff --git a/locale/ru/_images/zcad_ui_selectframes.png b/locale/ru/_images/zcad_ui_selectframes.png new file mode 100644 index 000000000..93ce1a0ee Binary files /dev/null and b/locale/ru/_images/zcad_ui_selectframes.png differ diff --git a/locale/ru/attributes.adoc b/locale/ru/attributes.adoc new file mode 100644 index 000000000..966a5cc7c --- /dev/null +++ b/locale/ru/attributes.adoc @@ -0,0 +1,23 @@ +:appendix-caption: Приложение +:appendix-refsig: {appendix-caption} +:caution-caption: Внимание +:chapter-label: Глава +:chapter-refsig: {chapter-label} +:example-caption: Пример +:figure-caption: Рисунок +:important-caption: Важно +:last-update-label: Последнее обновление +ifdef::listing-caption[:listing-caption: Листинг] +ifdef::manname-title[:manname-title: Название] +:note-caption: Примечание +:part-label: Часть +:part-refsig: {part-label} +ifdef::preface-title[:preface-title: Предисловие] +:section-refsig: Раздел +:table-caption: Таблица +:tip-caption: Подсказка +:toc-title: Содержание +:untitled-label: Без названия +:version-label: Версия +:warning-caption: Предупреждение +:icons: font diff --git a/locale/ru/customization.adoc b/locale/ru/customization.adoc new file mode 100644 index 000000000..7d8a8558a --- /dev/null +++ b/locale/ru/customization.adoc @@ -0,0 +1,6 @@ + +## Настройка программы + +include::customization/options.adoc[] +include::customization/directory_structure.adoc[] +include::customization/command_line_switch.adoc[] \ No newline at end of file diff --git a/locale/ru/customization/command_line_switch.adoc b/locale/ru/customization/command_line_switch.adoc new file mode 100644 index 000000000..1659ee981 --- /dev/null +++ b/locale/ru/customization/command_line_switch.adoc @@ -0,0 +1,54 @@ + + +### Переключатели командной строки + +При запуске ZCAD из командной строки можно задать опции командной строки корректирующие его поведение. Некоторые опции работают +как флаги, некоторые опции требуют указания аргументов + +[[command_line_switch]] +.Переключатели командной строки +[cols=">3,<6"] +|========================== +| [.filepath]#nosplash# | Не показывать сплэшскрин +| [.filepath]#updatepo# | Обновить файлы локализации (используется совместно с командой UpdatePO) ведет учет всех запросов на +локализацию, помечает не используемые и добавляет вновь встреченные строки. При использовании ключа фактически перевод строк не +производится, интерфейс остается английским +| [.filepath]#noloadlayout# | Не загружать файл раскладки окон +| [.filepath]#debugui# | Включить "отладочный" интерфейс - некоторые элементы интерфейса для разработчика +| [.filepath]#experimentalfeatures# | Включить "экспериментральные" фичи - то что разрабатывается на данный момент не закончено и не нужно пользователю +| [.filepath]#notcheckuniqueinstance# | Не проверять повторный запуск, с данным ключом может быть запущено несколько копий программы +| [.filepath]#logfile# | Принудительно задать путь к лог файлу. Требует аргумент - путь и имя файла +| [.filepath]#leam# | Принудительно разрешить все модули логирования +| [.filepath]#lem# | Принудительно разрешить указанный модуль (модули) логирования. Требует аргумент(ы) - имя модуля(лей) +| [.filepath]#ldm# | Принудительно запретить указанный модуль (модули) логирования. Требует аргумент(ы) - имя модуля(лей) +| [.filepath]#lemm# | Принудительно разрешить модули логирования чьи имена соответствуют маске(кам). Требует аргумент(ы) - маску(ки) имени модуля(лей) +| [.filepath]#ldmm# | Принудительно запретить модули логирования чьи имена соответствуют маске(кам). Требует аргумент(ы) - маску(ки) имени модуля(лей) +| [.filepath]#lcl# | Установить уровень логирования. Требует аргумент - уровень логирования +| [.filepath]#maxstackframecount# | Установить максимальную глубину размотки стека при обработке ошибок +| [.filepath]#runscript# | Запустить скрипт(ы) после запуска программы. Требует аргумент(ы) - Имя файла(ов) скрипта(ов) +| [.filepath]#memprofiling# | Запуск профилировщика памяти на этапе инициализации программы. см. команду dbgMemProfiler !!NEEDLINK!! +|========================== + +.Уровни логирования +[cols=">3,<6"] +|========================== +| [.filepath]#LM_Trace# | Вывод всего подряд. Максимально подробный и перегруженный лог. +| [.filepath]#LM_Debug# | Журналирование моментов вызова «крупных» операций +| [.filepath]#LM_Info# | Разовые операции, которые повторяются крайне редко, но не регулярно. (загрузка конфига, плагина, запуск бэкапа) +| [.filepath]#LM_Warning# | Неожиданные параметры вызова и т.п. Вообще все, что может свидетельствовать о не штатном использовании. +| [.filepath]#LM_Error# | Вывод сообщений об ошибках. +| [.filepath]#LM_Fatal# | Вывод сообщений об критических ошибках, имхо стоит убрать. +| [.filepath]#LM_Necessarily# | Вывод в любом случае. +|========================== + +При штатном запуске программы используется [.filepath]#LM_Info# как текущий уровень. В лог попадают сообщения текущего уровня +и уровней ниже по таблице, все что выше фильтруется + +Список доступных модулей логирования пока не определен, его можно посмотреть в конце лога при штатном запуске + +Пример запуска программы: + +[.filepath]#zcad nosplash logfile d:\zcad.log lem translator,shx ldm default lcl lm_trace# + +Не показывать сплэшскрин,переназначить вывод лога в [.filepath]#d:\zcad.log#, разрешить вывод сообщений в лог от системы (модуля) +перевода и парсера shx шрифтов, запретить сообщения модуля по умолчанию, установить уровень логирования LM_Trace diff --git a/locale/ru/customization/directory_structure.adoc b/locale/ru/customization/directory_structure.adoc new file mode 100644 index 000000000..e36b3a322 --- /dev/null +++ b/locale/ru/customization/directory_structure.adoc @@ -0,0 +1,84 @@ + +[[distrib_file_structure]] +### Структура директорий + +Общая структура директорий программы имеет вид: +[plantuml, generated/general_directory_strucrure, svg] +---- +!include styles/filesystem-tree-style.iuml +legend +**cad** +|_ **bin** //бинарные файлы в подкаталогах по платформам// + |_ **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 +---- + +Дистрибутив разбит на 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]#data/preload#: +[plantuml, generated/components_strucrure, svg] +---- +!include styles/filesystem-tree-style.iuml +legend +**preload** +|_ **Различные поддиректории** +|_ **autorun.cmd** //командный скрипт выполняемый на последней стадии запуска программы// +|_ **stage0.cmd0** //командный скрипт выполняемый на ранней стадии запуска программы// +end legend +---- + +При запуске программы осуществляется сканирование [.filepath]#data/preload# и вложенных +директорий и выполнение найденных скриптов [.filepath]#cmd0# и [.filepath]#cmd# +скрипты с расширением [.filepath]#cmd0# выполняются на ранней стадии запуска программы +(до создания GUI) и содержат в себе команды загрузки описаний экшенов, меню и тулбаров. +Файлы с расширением [.filepath]#cmd# выполняются при завершении инициализации, после +создания GUI и содержат в себе команды загрузки файлов определений блоков и устройств. + +При сканировании директорий первым будет выполнен скрипт [.filepath]#stage0.cmd0# далее +будут выполнены все фпйлы с расширением [.filepath]#cmd0# лежащие в данной директории и +ниже по иерархии файловой системы. Для каждой вложенной директории также первым выполняется +[.filepath]#autorun.cmd# и далее другие скрипты [.filepath]#\*.cmd# лежащие в данной +директории diff --git a/locale/ru/customization/options.adoc b/locale/ru/customization/options.adoc new file mode 100644 index 000000000..a8b1bd4bb --- /dev/null +++ b/locale/ru/customization/options.adoc @@ -0,0 +1,213 @@ + + +### Параметры работы + +ZCAD пока не имеет отдельного окна настроек, настройки постоянно доступны в инспекторе объектов (см. раздел <>) +когда на чертеже не выбрано никаких примитивов. + +[[zcad_options]] +.Настройки программы +image::zcad_oi_options.png[width=25%,pdfwidth=25%] +Настройки сгруппированы следующим образом + +* [.hl]#Пути# - настройка путей программы + +* [.hl]#Графика# - настройка путей программы + +* [.hl]#Отображение# - настройка путей программы + +* [.hl]#Система# - настройка путей программы + +* [.hl]#Черчение# - настройка путей программы + +* [.hl]#Проектирование# - настройка путей программы + +* [.hl]#Интерфейс# - настройка путей программы + +#### Пути +На данной вкладке сгруппированы пути используемые программой для поиска файлов. + +* [.hl]#Файлы поддержки# - пути поиска различных файлов программы + +* [.hl]#Шрифты# - пути поиска шрифтов + +* [.hl]#Файл альтернативного шрифта# - файл шрифта используемый для замены отсутствующих шрифтов + +* [.hl]#Шаблоны# - путь для поиска файлов шаблонов чертежей + +* [.hl]#Шаблон по умолчанию# - файл шаблона используемый программой при создании нового чертежа + +* [.hl]#Текущая раскладка окон# - файл раскладки окон загружаемый при запуске программы + +* [.hl]#Программа# - путь к бинарному файлу (вычисляется при запуске, доступен только для чтения) + +* [.hl]#Временные файлы# - путь к папке временных файлов (вычисляется при запуске, доступен только для чтения) + +* [.hl]#База описаний устройств# - путь к "базе данных" оборудования программы + +В качестве разделителя для путей используется [.hl]#";"#, разделитель путей [.hl]#"/"#, также доступны следующие макросы: + +[[path_macros]] +.Макросы сокращений путей +[cols=">3,<6"] +|========================== +| [.filepath]#$(ZCADPath)# | Путь к бинарному файлу +| [.filepath]#$(LastAutoSaveFile)# | Путь к последнему файлу автосохранения +| [.filepath]#$(TEMP)# | Путь к папке временных файлов +| [.filepath]#$(SystemFontsPath)# | Путь к папке шрифтов ОС (пока только win, возвращает [.filepath]#SHGetSpecialFolderPath(CSIDL_FONTS)#) +| [.filepath]#$(UserFontsPath)# | Путь к папке шрифтов пользователя (пока только win, возвращает [.filepath]#SHGetSpecialFolderPath(CSIDL_LOCAL_APPDATA)\Microsoft\Windows\Fonts#) +|========================== + + +#### Графика +На данной вкладке сгруппированы настройки графической подсистемы зкад + +* [.hl]#Устройство отображения# - графическая библиотека используемая для рендера чертежа. Доступны варианты: +[.hl2]#OpenGL# - предпочтительный вариант (требует наличия драйвера производителя видеокарты), [.hl2]#GDI# - +вариант для случая когда первый вариант не работает, [.hl2]#LCLCanvas# - данный вариант не предназначен для +работы с чертежом, но если не работают на [.hl]#OpenGL#, ни [.hl]#GDI# можно попробовать его. Настройка работает +только для вновь открытых/созданных чертежей, уже открытые чертежи по прежнему будут использовать устройство +отображения выбранное на момент их создания + +* [.hl]#Параметры текущего устройства отображения# - здесь собраны некоторые настройки и отладочная информация +устройства отображения используемого текущим чертежом + +* [.hl]#Версия GLU# - версия библиотеки GLU используемая программой (используется для триангуляции и построения +сплайнов, ZCAD не может работать с реализацией GLU от Microsoft, в комплекте поставляется MESA GLU) (доступен только для чтения) + +* [.hl]#Расширения GLU# - список расширений предоставляемый GLU (доступен только для чтения) + +* [.hl]#Время рендера# - время в миллисекундах затраченное на последнее полное отображение чертежа (доступен только для чтения) + +* [.hl]#Время обновления# - время в миллисекундах затраченное на последнее последнее обновление чертежа. Для +экономии ресурсов ZCAD старается по возможности не перечерчивать весь чертеж, а только обновлять его +измененные фрагменты (доступен только для чтения) + +* [.hl]#Максимальное время одного прохода рендера# - время в миллисекундах доступное на рендер чертежа, в случае +его превышения ретдер будет остановлен и продолжен в следующем цикле обработки событий. 0 - возможность не +используется (доступен только для чтения) + +* [.hl]#Ухудшение изображения# - параметры управления детализацией отрисовки чертежа. При включении и превышении +порога времени рендера, детализация чертежа будет уменьшаться для уменьшения времени отрисовки + +* [.hl]#Деградация при перетаскивании# - При включении понижает детализацию чертежа при выполнении операций +зумирования и паранамирования, для повышения отзывчивости. при завершении данных операций чертеж отрисовывается с +нормальной детализацией + +* [.hl]#Максимально шаблонов типа в линии# - Максимально доступное количество штрихов\точек\символов в примитивах, +при превышении примитив будет отрисован сплошной линией + +#### Отображение + +* [.hl]#Системная геометрия# - отображение некоторой вспомогательной информации, например габаритов примитивов + +* [.hl]#Цвет вспомогательной геометрии# - цвет для вывода информации из предыдущего пункта + +* [.hl]#Масштаб колеса мыши# - коэффициент масштабирования чертежа при вращении колеса + +* [.hl]#Размер апертуры привязки# - размер в пикселях зоны "притягивания" курсора к точкам привязки + +* [.hl]#Размер прицела# - размер в процентах от размера видимой области графического курсора ZCAD + +* [.hl]#Убирать системный курсор в области отрисовки# - опция отключает системный курсор при черчении, оставляя +только курсор ZCAD + +* [.hl]#Размер ручек# - размер "ручек" редактирования примитивов + +* [.hl]#Цвет фона# - RGB цвет фона чертежа + +* [.hl]#Цвет не выбранных ручек# - индексный цвет "ручек" примитивов + +* [.hl]#Цвет выбранных ручек# - индексный цвет выбранных "ручек" примитивов + +* [.hl]#Цвет горячих ручек# - индексный цвет "ручек" находящихся под курсором + +* [.hl]#Масштаб отображения толщин линий# - число от 2 до 20 характеризующее толщину отображения веса линий на чертеже, +больше - жирнее + +* [.hl]#Толщина линий по умолчанию# - толщина линий принятая для отображения веса линий Default + +#### Система + +* [.hl]#Версия программы# - версия сборки в формате [.shell]#git describe --tags# (доступен только для чтения) + +* [.hl]#Информация о сборке# - разная информация: целевая платформа, версия компилятора и т.п. (доступен только для чтения) + +* [.hl]#Время работы# - длительность текущей сессии (доступен только для чтения) + +* [.hl]#Один экземпляр# - контроль повторного запуска программы. При установке данного параметра возможен запуск только одной +сессии программы, попытки запустить следующую сессию только активируют уже запущенную + +* [.hl]#Не показывать заставку# - отключение сплэш скрина при запуске программы + +* [.hl]#Не загружать раскладку окон# - не загружает файл раскладки окон программы при старте, программа запускается в +"не пристыкованном" режиме (доступен только для чтения, устанавливается ключем командной строки !!NEEDLINK!!) + +* [.hl]#Обновления PO файлов# - режим контроля и обновления файлов локализации программы, используется совместно с +командой [.command]#UpdatePO# !!NEEDLINK!! (доступен только для чтения, устанавливается ключем командной строки !!NEEDLINK!!) + +#### Сохранение + +* [.hl]#Автосохранение# - включает работу автосохранения + +* [.hl]#Время до автосохранения# - время в секундах оставшееся до очередного автосохранения (доступен только для чтения) + +* [.hl]#Время между автосохранениями# - настройка времени между сохранениями в секундах + +* [.hl]#Файл автосохранения# - путь и имя файла автосохранения + +#### Черчение + +* [.hl]#Отображать вес линий# - Включение отображения веса линий + +* [.hl]#Режим привязки# - Битовая маска настроек привязок. в данном месте просто для информации, не используется + +* [.hl]#Режим полярной трассировки# - Включение трассировки + +* [.hl]#Текущий слой# - отображает и позволяет редактировать текущий слой + +* [.hl]#Текущий вес линии# - отображает и позволяет редактировать текущий вес линии + +* [.hl]#Текущий вес цвет# - отображает и позволяет редактировать текущий цвет + +* [.hl]#Масштаб типов линий чертежа# - отображает и позволяет редактировать глобальный масштаб типов линий чертежа + +* [.hl]#Текущий масштаб типов линий примитивов# - отображает и позволяет редактировать текущий масштаб типов линий + +* [.hl]#Стиль размеров# - отображает и позволяет редактировать текущий стиль размеров + +* [.hl]#Поворачивать текст в описании линий# - Поворачивает текстовые элементы в стилях линий для более удобного чтения + +* [.hl]#Стиль текста# - отображает и позволяет редактировать текущий стиль текста + +* [.hl]#LUnits (формат линейных единиц)# - аналог DXF переменной LUnits + +* [.hl]#LUPrec (точность линейных единиц)# - аналог DXF переменной LUPrec + +* [.hl]#AUnits (формат угловых единиц)# - аналог DXF переменной AUnits + +* [.hl]#AUPrec (точность угловых единиц)# - аналог DXF переменной AUPrec + +* [.hl]#AngDir (направление положительного угла)# - аналог DXF переменной AngDir + +* [.hl]#AngBase (базовый угол)# - аналог DXF переменной AngBase + +* [.hl]#InsUnits (масштаб вставки блока)# - аналог DXF переменной InsUnits + +* [.hl]#TextSize (размер вновь созданных текстовых примитивов)# - аналог DXF переменной TextSize + +* [.hl]#Настройка шаговой привязки# - настройки привязки к регулярной прямоугольной сетке + +* [.hl]#Шаг сетки# - настройки отображения регулярной прямоугольной сетки + +* [.hl]#Показать сетку# - включение отображения сетки + +* [.hl]#Шаг# - включение шаговой привязки + +* [.hl]#Редактирование составных объектов# - включение отдельного выделения примитивов являющихся частью сложных примитивов !!NEEDLINK!! + +* [.hl]#Вспомогательная геометрия# - отображение вспомогательной геометрии + +* [.hl]#Отображать выбранный объект в инспекторе# - показывать свойства выбранного примитива в инспекторе + + diff --git a/locale/ru/for_developers.adoc b/locale/ru/for_developers.adoc new file mode 100644 index 000000000..e8f5a29d7 --- /dev/null +++ b/locale/ru/for_developers.adoc @@ -0,0 +1,6 @@ + +## Для разработчика + +include::for_developers/building_from_sources.adoc[] +include::for_developers/localization.adoc[] +include::for_developers/documentation.adoc[] \ No newline at end of file diff --git a/locale/ru/for_developers/building_from_sources.adoc b/locale/ru/for_developers/building_from_sources.adoc new file mode 100644 index 000000000..9cd246caf --- /dev/null +++ b/locale/ru/for_developers/building_from_sources.adoc @@ -0,0 +1,94 @@ + +[[building_from_sources]] +### Cборка программы из исходников + +Программа имеет 2 режима сборки [.hl]#ZCAD# и [.hl]#ZCADELECTROTECH#, в первом только базовые CAD функции, во втором плюсом чуток электрической специфики. +Советую пробовать собрать [.hl]#ZCADELECTROTECH#, т.к. я его сам всегда использую, соответственно он более стабилен. + +Простая компиляция исходников даст вам только файл [.filepath]#zcad.exe#, но для для работы нужны некоторые другие файлы, без которых программа не работает +(не говоря о [.filepath]#allgeneratedfiles.inc#, [.filepath]#zcadversion.inc# и [.filepath]#buildmode.inc# без которых даже не скомпилируется) + +Для автоматизации процесса сборки был написан скрипт на основе системы сборки [.hl]#make#. +Опишу его использование применительно к тридцати двух битным [.hl]#Lazarus2.2# и [.hl]#fpc3.2.2# под управлением ОС [.hl]#Windows# + +Итак: + +#### Установка Lazarus +Устанавливаем последний релизный [.hl]#Lazarus# (2.2 на момент написания текста). Гарантированно [.hl]#ZCAD# компилится в транковом [.hl]#Lazarus# транковом [.hl]#fpc#, +с релизами бывают нюансы, но они решаемы. + +Запускаем, проверяем работоспособность [.hl]#Lazarus# - собираем тестовый пустой проект. тут проблем быть не должно. + +Ищем идущую в комплекте [.hl]#fpc# утилиту [.hl]#make#, она скорее всего лежит тут [.filepath]#lazarus\fpc\3.2.2\bin\i386-win32\make.exe# но, мало ли. +В дальнейшем я считаю что Lazarus установлен на диск [.filepath]#C#, и путь для запуска [.hl]#make# соответственно [.filepath]#C:\lazarus\fpc\3.2.2\bin\i386-win32\make.exe# +если что - уточнить по месту)). + +Также еще понадобятся такие пути: + +* путь к Lazarus [.filepath]#C:\lazarus# + +* путь к первичному файлу настроек Lazarus, по умолчанию он [.filepath]#C:\Users\<ИМЯПОЛЬЗОВАТЕЛЯ>\AppData\Local\lazarus# + +Если имя пользователя у вас на кириллице, примите мои поздравления! Требуются дополнительные действия, пользователи с нормальными именами спокойно переходят к пункту 2. + +Кириллица в путях не поддерживается утилитой [.hl]#make#, или я с этим не разобрался. Придется "перенастроить" Lazarus чтоб настройки хранились по 'нормальным' путям. +Для этого в папке [.filepath]#C:\lazarus# создаем файл [.filepath]#runlazarus.bat# следующего содержания: + +[.shell]#startlazarus.exe --pcp=C:\lazarus\mylazcfg# + +и далее всегда используем его для запуска Lazarus IDE, все что написано ниже вам следует отредактировать из расчета что путь к настройкам Lazarus будет [.filepath]#C:\lazarus\mylazcfg# + +#### Получение ZCAD +Клонируем исходники зкада (или скачиваем архивом, но это плохо, лучше клонировать [.shell]#git# ом). Некоторые части исходников оформлены +субмодулями [.hl]#git# , поэтому: + +WARNING: субмодули [.hl]#git# используемые [.hl]#ZCAD# нужно инициализировать и обновить. + +По описанным выше причинам путь до папки [.filepath]#zcad# не +должен содержать не латинские символы +Тут будет много файлов\папок, но основные: + +* [.filepath]#zcad\cad_source# - папка с исходниками зкад + +* [.filepath]#zcad\environment# - папка с файлами окружения программы и исходник небольшой программы [.hl]#typeexporter# настраивающей исходники зкад для компиляции + +* [.filepath]#zcad\Makefile# - файл с скриптами установки + +* [.filepath]#zcad\cad# - данной папки изначально нет, будет создана в пункте 4 и содержит скомпилированный дистрибутив zcad со всеми нужными файлами + +#### Установка пакетов от которых зависит ZCAD +Для облегчения я приложил пакеты от которых зависит [.hl]#ZCAD# в дистрибутив исходников (за исключением идущих в составе [.hl]#Lazarus#). Открываем командную строку в папке [.filepath]#zcad#, +там где лежит файл [.filepath]#Makefile# + +Нужно установить в [.hl]#Lazarus# пакеты требуемые для компиляции [.hl]#ZCAD#, данный пункт выполняется только один раз, для свеже установленного [.hl]#Lazarus#, если пакеты установлены, +пропускаем данный пункт (но если что, то повторное выполнение ничего страшного не несет). +Выполняем: + +[.shell]#C:\lazarus\fpc\3.2.2\bin\i386-win32\make installpkgstolaz LP=C:\lazarus PCP=C:\Users\<ИМЯПОЛЬЗОВАТЕЛЯ>\AppData\Local\lazarus# + +[.hl]#installpkgstolaz# это пропишет в конфигах [.hl]#Lazarus# требуемые пакеты из [.filepath]#zcad\cad_source\other# и [.filepath]#zcad\cad_source\components# и пересобирет [.hl]#Lazarus#. +По неясным причинам пересборка в данном пункте иногда завершается ошибкой, но ничего страшного, просто идем дальше, [.hl]#Lazarus# докомпилирует все нужное в 4. + +#### Компиляция ZCAD +Собственно запускаем компиляцию зкад, запустив следующее: + +[.shell]C:\lazarus\fpc\3.2.2\bin\i386-win32\make cleanzcadelectrotech LP=C:\lazarus PCP=C:\Users\<ИМЯПОЛЬЗОВАТЕЛЯ>\AppData\Local\lazarus# + +[.hl]#cleanzcadelectrotech# - данная цель выполнит сборку программы в режиме [.hl]#ZCADELECTROTECH#, замените на [.hl]#cleanzcad# - если желаете режим [.hl]#ZCAD# + +Скрипт выполнит следующее: + +* [.hl]#СОТРЕТ# папки [.filepath]#zcad\cad# и [.filepath]#zcad\cad_source\autogenerated# если они присутствует [.hl]#СО ВСЕМ ИХ СОДЕРЖИМЫМ# ничего не спрашивая +* создаст папки [.filepath]#zcad\cad# и [.filepath]#zcad\cad_source\autogenerated# +* скопирует нужные для работы файлы из [.filepath]#zcad\environment\runtimefiles# в [.filepath]#zcad\cad# +* создаст файл [.filepath]#zcad\cad_source\zcadversion.inc# +* создаст файл [.filepath]#zcad\cad_source\autogenerated\buildmode.inc# +* скомпилирует [.filepath]#zcad\cad_source\cad_source\utils\typeexporter.lpi# и запустит его с нужными параметрами, [.hl]#typeexporter# в свою очередь наполнит [.filepath]#zcad\cad_source\autogenerated# в том числе создаст [.filepath]#zcad\cad_source\autogenerated\allgeneratedfiles.inc# (только после этого шага зкад может быть собран) +* скомпилирует [.hl]#ZCAD# + +Если все прошло нормально, имеем наполненную как надо папку [.filepath]#zcad\cad#, в том числе свежесозданный запускаемый бинарник [.filepath]#zcad\cad\bin\i386-win32\zcad.exe# +В дальнейшем можно просто открыть в Lazarus файл [.filepath]#zcad\cad_source\zcad.lpi# и смотреть-собирать исходники как обычно в IDE + +NOTE: [.hl]#Lazarus#, [.hl]#FPC# и [.hl]#ZCAD# развивающиеся проекты, информация устаревает и бывают нюансы. В частности на данный момент из-за бага FPC +https://gitlab.com/freepascal.org/fpc/source/-/issues/39387 в IDE работает только полная пересборка зкада, т.е. в Lazarus если просто нажать +[.hl]#F9# зкад не соберется с вылетом компилятора, при любых изменениях надо всегда выполнять полную пересборку [.hl]#shift-F9# diff --git a/locale/ru/for_developers/documentation.adoc b/locale/ru/for_developers/documentation.adoc new file mode 100644 index 000000000..689efb182 --- /dev/null +++ b/locale/ru/for_developers/documentation.adoc @@ -0,0 +1,54 @@ + +[[make_documentation]] +### Написание документации ZCAD + +Документация программы разрабатывается в формате AsciiDoc. Исходники +данного руководства лежат в папке [.filepath]#cad_source/docs/userguide/#. +AsciiDoc - простой текстовый формат, но для генерации pdf и html из него +потребуются дополнительные манипуляций + +#### Установка AsciiDoctor для Windows +Т.к. AsciiDoc написан на языке Ruby, придется установить средства разработки +этого языка: + +Идем на сайт https://rubyinstaller.org/downloads/ Скачиваем и устанавливаем +последний Ruby+Devkit (на момент написания это 3.2.2-1) В процессе установки +нужно будет указать какой вариант MSYS использовать, выбираем базовый 1, +затем для завершения установки просто жмем enter + +После установки Ruby в командной строке можно будет использовать gem - +пакетный менеджер Ruby, с помощью его собственно устанавливает +AsciiDoctor и требуемые расширения. Открываем командную строку и вводим эти +три команды последовательно: + +[.shell]#gem install asciidoctor# + +[.shell]#gem install asciidoctor-pdf# + +[.shell]#gem install asciidoctor-diagram# + +Дополнительно для работы asciidoctor-diagram требуется наличие в системе +Java версии не ниже 11, если необходимо идем и устанавливаем по ссылке +https://www.oracle.com/java/technologies/downloads/#jdk21-windows + +#### Установка GraphViz +Также понадобятся средства визуализации графов из состава Graphviz. +Идем на https://graphviz.org/download/ и качаем установщик для Windows +на момент написания это graphviz-9.0.0 (64-bit) EXE installer при установке +выбираем вариант [.hl]#Add Graphviz to the system PATH for all users# +чтоб графвиз был доступен из командной строки. + +#### Генерация руководства пользователя + +NOTE: Описанное выше нужно произвести один раз, это установит на +компьютер необходимые программы и их зависимости + +После всех установок запускаем новую командную строку (рекомендую Far) +чтобы все изменения системной переменной PATH вступили в силу. Идем +в корневую директорию zcad (там где лежит makefile) и вводим + +[.shell]#make documentation# + +Ждем выполнения скриптов, по завершению в папке +[.path]#zcad\cad_source\docs\userguide\# находим сгенерированные файлы +[.path]#userguide.ru.pdf# и [.path]#userguide.ru.html# \ No newline at end of file diff --git a/locale/ru/for_developers/localization.adoc b/locale/ru/for_developers/localization.adoc new file mode 100644 index 000000000..ae33846f3 --- /dev/null +++ b/locale/ru/for_developers/localization.adoc @@ -0,0 +1,49 @@ + +[[localization]] +### Локализация программы + +Для локализации [.hl]#ZCAD# используется система интернационализации на основе [.hl]#Gettext# и [.filepath]#*.po# + файлов встроенная в [.hl]#Lazarus#. Локализации подлежат как тексты прописанные в исходниках программы, так и +заданные в файлах загружаемых во время работы программы - например файл [.filepath]#zcad\menu\menuscontent.xml# +содержит наполнение палитр программы, его содержимое неизвестно в момент компиляции программы, он будет прочитан +только при запуске. Обычный подход предполагает разные копии загружаемых в рантайм файлов для каждой локализации. +Но в [.hl]#ZCAD# принят несколько другой подход - перевод содержимого данных файлов в момент их загрузки. + +Прежде всего стоит заметить, как описано в (<>) файлы локализаций используемые программой +лежат в папке [.filepath]#cad/languages#, данная папка создается в процессе (<>) в нее +копируются файлы из соответствующих мест [.filepath]#environment#. Поэтому работа с локализацией осуществляется +в [.filepath]#cad/languages#, но для коммита файлы нужно скопировать в папку [.filepath]#environment#. + +Тексты прописанные в исходниках программы и оформленные как [.hl]#resourcestring# при компиляции программы +автоматически собираются в файле [.filepath]#zcad.po# и разносятся по файлам локализаций [.filepath]#zcad.XX.po# +где [.hl]#XX# - идентификатор языка. Файлы [.filepath]#zcad.XX.po# можно непосредственно переводить используя +предназначенные для этого программы например [.hl]#Poedit# и подобные. На данный момент [.hl]#ZCAD# имеет только +русскую локализацию [.filepath]#zcad.ru.po#. добавить локализацию можно просто создав соответствующий файл, +например [.filepath]#zcad.de.po# для немецкой. + +Также в [.filepath]#cad/languages# лежат файлы перевода пакетов используемых в [.hl]#ZCAD#: + +* [.filepath]#anchordockstr.XX.po# перевод пакета докинга окон <> + +* [.filepath]#lclstrconsts.XX.po# перевод LCL + +Тексты получаемые из рантайм файлов собираются в файле [.filepath]#rtzcad.po#, переводы находятся в [.filepath]#zcad.XX.po# +также как и описано выше новую локализацию можно получить созданием соответствующего файла. Актуализация +[.filepath]#rtzcad.po# и [.filepath]#zcad.XX.po# не производится автоматически, для этого нужно выполнить +описанные ниже действия. + +Запускаем программу с ключом командной строки (<>) [.hl]#updatepo#. При этом локализация программы +не будет выполняться, будет работать оригинальный английский интерфейс. Создаем новый чертеж и вводим команду +[.command]#UpdatePO# (<>) будет показано окно с информацией сколько обнаружено неактуальных строк +и сколько добавлено новых. При нажатии [.hl]#Ok# будет перезаписан файл [.filepath]#rtzcad.po#, неактуальные +строки будут удалены, новые добавлены. + +Далее из [.filepath]#rtzcad.po# строки нужно обновить в файлах локализаций [.filepath]#rtzcad.XX.po#, это можно +сделать с помощью команды + +[.shell]#C:\lazarus\fpc\3.2.2\bin\i386-win32\make updatelocalizedpofiles LP=C:\lazarus PCP=C:\Users\<ИМЯПОЛЬЗОВАТЕЛЯ>\AppData\Local\lazarus# + +Образование путей смотри (<>), сценарий [.hl]#updatelocalizedpofiles# выполняет обновление +файлов локализации. + +После этого файлы [.filepath]#rtzcad.XX.po# можно переводить в специализированной программе \ No newline at end of file diff --git a/locale/ru/general_information.adoc b/locale/ru/general_information.adoc new file mode 100644 index 000000000..3fe25362e --- /dev/null +++ b/locale/ru/general_information.adoc @@ -0,0 +1,18 @@ + +## Общая информация + +ZCAD - программа (далее по тексту - программа) с открытым исходным кодом, разрабатывается на языке Pascal с использованием IDE Lazarus +и компилятора Free Pascal. + +Автор - Андрей Зубарев (далее по тексту - автор) адрес электронной почты zamtmn@yandex.ru + +Участник - Владимир Бобров + +Участник - Владимир Абрамов адрес электронной почты vl-sx@yandex.ru + +Есть два варианта сборки программы: + +ZCAD - базовый набор CAD инструментов; ZCADElectroTech - расширенный набор инструментов для электротехнического проектирования + +include::general_information/license.adoc[] +include::general_information/disclaimer.adoc[] \ No newline at end of file diff --git a/locale/ru/general_information/disclaimer.adoc b/locale/ru/general_information/disclaimer.adoc new file mode 100644 index 000000000..96de4687d --- /dev/null +++ b/locale/ru/general_information/disclaimer.adoc @@ -0,0 +1,24 @@ + +### Отказ от ответственности + +В соответствии с действующим законодательством, автор отказывается от каких-либо заверений и гарантий, предоставление которых может иным образом подразумеваться, и отказывается от ответственности в отношении программы, поставляемой вместе с программой информации и их использования. + +. Поставляемой вместе с программой информации предназначена для свободного ознакомления пользователей с вопросами, которые могут представлять для них интерес. + +. Вся информация предоставляется в исходном виде, без гарантий полноты или своевременности, и без иных, явно выраженных или подразумеваемых гарантий. Использование программы и поставляемой вместе с программой информации осуществляется исключительно по вашему усмотрению и на ваш риск. + +. Автор прикладывает все усилия, чтобы обеспечить пользователей точной и достоверной информацией, но в то же время не исключает возможности возникновения ошибок. + +. ZCAD — это программа, работающая по принципу «как есть», без заключения каких-либо договорённостей или договоров между пользователями программы и автором, либо кем-то ещё, любым образом связанными с этим или родственными ему проектами, которые (договора и договоренности) могут стать предметом прямых претензий. + +. Автор не дает каких-либо заверений или гарантий в отношении программы, в том числе, без ограничения, в отношении своевременности, актуальности, точности, полноты, достоверности, доступности или соответствия для какой-либо конкретной цели, в отношении того, что: при использовании программы не возникнет ошибок, а также, что поставляемая вместе с программой информация не нарушает прав третьих лиц. + +. В соответствии с действующим законодательством, Автор отказывается от каких-либо заверений и гарантий, предоставление которых может иным образом подразумеваться, и ответственности в отношении программы. Ни при каких обстоятельствах автор не будет нести ответственности ни перед какой стороной за какой-либо прямой, непрямой, особый или иной косвенный ущерб в результате любого использования программа, даже если автор будет явно поставлен в известность о возможности такого ущерба. + +. Автор оставляет за собой право вносить изменения без уведомления о них пользователей. + +. Если в соответствии с действующими законами какие-либо условия будут признаны недействительными, остальные условия остаются в полной силе. + +Используя ZCAD и информацию поставляемую вместе с программой, вы выражаете свое согласие с «Отказом от ответственности» и установленными Правилами и принимаете всю ответственность, которая может быть на вас возложена. + +Автор в любое время вправе внести изменения в Правила, которые вступают в силу немедленно. Продолжение пользования программой после внесения изменений означает ваше автоматическое согласие на соблюдением новых правил. \ No newline at end of file diff --git a/locale/ru/general_information/license.adoc b/locale/ru/general_information/license.adoc new file mode 100644 index 000000000..4a5e69e8d --- /dev/null +++ b/locale/ru/general_information/license.adoc @@ -0,0 +1,4 @@ + +### Лицензия + +ZCAD - это программное обеспечение с открытым исходным кодом. Вы можете получить исходный код, а также разрешается копировать, перераспределять и изменять его в соответствии с условиями лицензии LGPL2 с исключениями. Для получения дополнительной информации, в том числе о доступности исходного кода, посетите страницу программы https://github.com/zamtmn/zcad или обратитесь к автору. \ No newline at end of file diff --git a/locale/ru/getting_started.adoc b/locale/ru/getting_started.adoc new file mode 100644 index 000000000..90ab2ce6c --- /dev/null +++ b/locale/ru/getting_started.adoc @@ -0,0 +1,6 @@ + +## Быстрый старт + +include::getting_started/system_requirements.adoc[] +include::getting_started/instalation.adoc[] +include::getting_started/launch.adoc[] \ No newline at end of file diff --git a/locale/ru/getting_started/instalation.adoc b/locale/ru/getting_started/instalation.adoc new file mode 100644 index 000000000..955cc44ed --- /dev/null +++ b/locale/ru/getting_started/instalation.adoc @@ -0,0 +1,4 @@ + +### Установка + +ZCAD не требует какой то процедуры устанавки на компьютер. Вы можете скачать дистрибутив программы с страницы https://github.com/zamtmn/zcad/releases, для использования достаточно разархивировать полученный архив \ No newline at end of file diff --git a/locale/ru/getting_started/launch.adoc b/locale/ru/getting_started/launch.adoc new file mode 100644 index 000000000..de541d7fb --- /dev/null +++ b/locale/ru/getting_started/launch.adoc @@ -0,0 +1,4 @@ + +### Запуск + +Исполняемый файл находится в подпапке соответствующей Вашей платформе в папке дистрибутива [.filepath]#bin#. Достаточно просто его запустить \ No newline at end of file diff --git a/locale/ru/getting_started/system_requirements.adoc b/locale/ru/getting_started/system_requirements.adoc new file mode 100644 index 000000000..4f37bd430 --- /dev/null +++ b/locale/ru/getting_started/system_requirements.adoc @@ -0,0 +1,4 @@ + +### Системные требования + +Программа работает под управлением операционных системам Windows и Linux, на 32 разрядных и 64 разрядных процессорах. для работы программы требуется 4GB оперативной памяти \ No newline at end of file diff --git a/locale/ru/gitversion.adoc b/locale/ru/gitversion.adoc new file mode 100644 index 000000000..86de1868b --- /dev/null +++ b/locale/ru/gitversion.adoc @@ -0,0 +1 @@ +:gitversion: v0.9.15.0-189-gf536d006b diff --git a/locale/ru/working_with_program.adoc b/locale/ru/working_with_program.adoc new file mode 100644 index 000000000..2109bad7d --- /dev/null +++ b/locale/ru/working_with_program.adoc @@ -0,0 +1,7 @@ + +## Работа с программой + +include::working_with_program/user_interface.adoc[] +include::working_with_program/entities.adoc[] +include::working_with_program/entities_extensions.adoc[] +include::working_with_program/commands.adoc[] \ No newline at end of file diff --git a/locale/ru/working_with_program/commands.adoc b/locale/ru/working_with_program/commands.adoc new file mode 100644 index 000000000..9190acdae --- /dev/null +++ b/locale/ru/working_with_program/commands.adoc @@ -0,0 +1,196 @@ + +[[command_list]] +### Команды +include::commands/3dpoly.adoc[] +include::commands/about.adoc[] + + +AddToOwner + + +include::commands/arc.adoc[] +include::commands/bedit.adoc[] + + +BlockPreViewExport +BlockReplace +BlockRotate +BlockScale +BlocksInBasePreViewExport +include::commands/cam_reset.adoc[] +include::commands/cancel.adoc[] +ChangeProjType +include::commands/circle.adoc[] +Circle2 +ClearFileHistory +Colors + +Connection2Dot +include::commands/copy.adoc[] +include::commands/copybase.adoc[] +include::commands/copyclip.adoc[] +CopyFromOwner +include::commands/cutclip.adoc[] +DBaseAdd +DBaseLink +DBaseRename +include::commands/dataexport.adoc[] +include::commands/dataimport.adoc[] + + +dbgAppExplorer +dbgBlocksList +dbgClipboard +dbgCmdList +dbgGetAV +dbgMemSummary +dbgPlaceAllBlocks +DeSelectAll +include::commands/devdefsync.adoc[] +DimAligned +DimDiameter +DimLinear +DimRadius +DimStyles +Dist +include::commands/dockingoptions.adoc[] +include::commands/dwgclose.adoc[] +include::commands/dwgnew.adoc[] +include::commands/dwgnext.adoc[] +include::commands/dwgprev.adoc[] + + +EL_AutoGen_Cable_Remove +EL_Cable +EM_SEPBUILD +EM_SRBUILD +El_CableMan +El_Cable_Invert +El_Cable_Join +El_Cable_Legend +El_Cable_RenN_0N +El_Cable_Select +El_ExternalKZ +El_Find +El_Leader +El_Material_Legend +El_Wire +El_Wire +include::commands/erase.adoc[] +ExampleCreateLayer +ExampleInsertDevice +ExecuteFile +ExportDevWithAxis +ExportTextToCSV +include::commands/extdradd.adoc[] +include::commands/extdralllist.adoc[] +include::commands/extdrentslist.adoc[] +include::commands/extdrremove.adoc[] +FindAllIntersections +Get3DPoint +Get3DPoint_DrawRect +GetLength +GetPoint +GetRect +GetVertexX +GetVertexY +GetVertexZ +Help +Import +Insert +Insert2 +InsertLayersFromBase +InsertTestTable +InverseSelected +KIP_CDBuild +KIP_Cable_Mark +KIP_LugTableBuild +include::commands/layer.adoc[] +LayerOff +LayerOn +LayOff +Line +LineOld +LineTypes +include::commands/load.adoc[] +include::commands/loadactions.adoc[] +include::commands/loadlayout.adoc[] +include::commands/loadmenus.adoc[] +include::commands/loadpalettes.adoc[] +include::commands/loadtoolbars.adoc[] +include::commands/matchprop.adoc[] +include::commands/merge.adoc[] +include::commands/mergeblocks.adoc[] +include::commands/mirror.adoc[] +include::commands/move.adoc[] + +MultiSelect2ObjIbsp +NavSelectSubNodes +NumDevices +OPS_SPBuild +OPS_Sensor_Mark +ObjInspCopyToClip +OnDrawingEd +Options +OrtoDevPlace +Pan +PasteClip +PlaceSmokeDetectorOrto +PolyDiv +PolyEd +PolyTest +Polygon +Print +ProfileBuild +ProjectTree +QSave +Quit +ReadBlockLibrary +RebuildTree +Rectangle +Redo +Regen +RegenZEnts +include::commands/rotate.adoc[] +RotateEnts +include::commands/saveas.adoc[] +include::commands/savelayout.adoc[] +include::commands/saveoptions.adoc[] +Scale +SelMat +SelObjChangeColorToCurrent +SelObjChangeDimStyleToCurrent +SelObjChangeLTypeToCurrent +SelObjChangeLWToCurrent +SelObjChangeLayerToCurrent +SelObjChangeTStyleToCurrent +SelSim +SelectAll +SelectFrame +SelectObjectByAddres +SelectOnMouseObjects +SetObjInsp +Show +ShowPage +ShowToolBar +SnapProperties +StoreFrustum +Stretch +Text +TextStyles +TreeStat +Undo +Units +UnitsMan +include::commands/updatepo.adoc[] +VarReport +include::commands/varsed.adoc[] +include::commands/varsedbd.adoc[] +include::commands/varsedsel.adoc[] +include::commands/varslink.adoc[] +View +Zoom +ZoomWindow +ft +rt +test \ No newline at end of file diff --git a/locale/ru/working_with_program/commands/3dpoly.adoc b/locale/ru/working_with_program/commands/3dpoly.adoc new file mode 100644 index 000000000..22b5fa860 --- /dev/null +++ b/locale/ru/working_with_program/commands/3dpoly.adoc @@ -0,0 +1,13 @@ + +#### 3DPoly + +:cmdcommand: 3DPoly +:cmdicon: ../../../../images/actions/draw/pline.png +:cmdmenu: Черчение > 3D Полилиния + +include::../../_elements/commandsummary.adoc[] + +Черчение примитива [.ent]#3DPolyLine#. После запуска команды последовательно указать мышью вершины полилинии. +Завершение черчения - ESC или запуск другой команды + +include::commandsummaryfree.adoc[] \ No newline at end of file diff --git a/locale/ru/working_with_program/commands/about.adoc b/locale/ru/working_with_program/commands/about.adoc new file mode 100644 index 000000000..2dbe99712 --- /dev/null +++ b/locale/ru/working_with_program/commands/about.adoc @@ -0,0 +1,12 @@ + +#### About + +:cmdcommand: About +:cmdicon: ../../../../images/actions/about.png +:cmdmenu: Справка > О программе + +include::../../_elements/commandsummary.adoc[] + +Показ окна "О программе" + +include::commandsummaryfree.adoc[] \ No newline at end of file diff --git a/locale/ru/working_with_program/commands/arc.adoc b/locale/ru/working_with_program/commands/arc.adoc new file mode 100644 index 000000000..195f2cdbf --- /dev/null +++ b/locale/ru/working_with_program/commands/arc.adoc @@ -0,0 +1,13 @@ + +#### Arc + +:cmdcommand: Arc +:cmdicon: ../../../../images/actions/draw/arc.png +:cmdmenu: Черчение > Дуга + +include::../../_elements/commandsummary.adoc[] + +Черчение примитива [.ent]#Arc# (дуга) по 3м точкам. После запуска команды последовательно указать 3 точки +дуги + +include::commandsummaryfree.adoc[] \ No newline at end of file diff --git a/locale/ru/working_with_program/commands/bedit.adoc b/locale/ru/working_with_program/commands/bedit.adoc new file mode 100644 index 000000000..a544b3dce --- /dev/null +++ b/locale/ru/working_with_program/commands/bedit.adoc @@ -0,0 +1,31 @@ + +#### BEdit + +:cmdcommand: BEdit +:cmdicon: ../../../../images/actions/bedit.png +:cmdmenu: Изменить > Блок/Устройство > Редактор блоков +:predselect: Не требуется, но можно заранее выделить вставку редактируемого блока или устройства + +include::../../_elements/commandsummary.adoc[] + +Редактирование определения блока из чертежа. В случае если до запуска команды выбрана вставка блока, редактор переходит +в режим редактирования определения этого блока. Если выделение отсутствует, команда позволяет выбрать редактируемое +определение в инспекторе объектов. + +.Опции команды BEdit +image::cmd_params_bedit.png[width=25%,pdfwidth=25%] + +[.hl]#Текущий блок# тут показан текущий редактируемый блок или [.hl]#Модель# если редактирование блока не осуществляется, +в окне чертежа отображено пространство модели. В поле [.hl]#Выбор блока# можно выбрать блок для редактирования. При этом в +окне чертежа откроется определение выбранного блока, а название вкладки чертежа поменяется на [.hl]#BEdit(ИмяЧертежа:ИмяБлока)# +После завершения редактирования повторный запуск [.command]#BEdit# вернет редактор в модель. Все внесенные изменения будут сохранены +в определении блока без запроса на сохранение. Для обновления вставок блока на чертеже требуется выполнить регенерацию чертежа +[.command]#Regen# Если редактировалась динамическая часть определения устройств, обновить ее для уже вставленных устройств +возможно только повторной вставкой [.command]#BlockReplace# (заменить вставленные устройства на самих себя) + +WARNING: При переключении из пространства модели в пространство определения блока и обратно положение камеры не меняется, +возможна ситуация когда после переключения в окне чертежа ничего не видно. Исправить ситуацию можно командой [.command]#Zoom# +с опцией [.hl]#All# - [.cmdline]#Zoom(All)# + + +include::commandsummaryfree.adoc[] \ No newline at end of file diff --git a/locale/ru/working_with_program/commands/cam_reset.adoc b/locale/ru/working_with_program/commands/cam_reset.adoc new file mode 100644 index 000000000..ecb78a1e0 --- /dev/null +++ b/locale/ru/working_with_program/commands/cam_reset.adoc @@ -0,0 +1,12 @@ + +#### Cam_reset + +:cmdcommand: Cam_reset +:cmdmenu: Вид > Камера в начало + +include::../../_elements/commandsummary.adoc[] + +Сброс текущих настроек видового окна чертежа (положения камеры), после выполнения команды в центре видового окна отображается +начало координат, напраление взгляда совпадает с осью [.hl]#Z# + +include::commandsummaryfree.adoc[] \ No newline at end of file diff --git a/locale/ru/working_with_program/commands/cancel.adoc b/locale/ru/working_with_program/commands/cancel.adoc new file mode 100644 index 000000000..ee010e254 --- /dev/null +++ b/locale/ru/working_with_program/commands/cancel.adoc @@ -0,0 +1,10 @@ + +#### Cancel + +:cmdcommand: Cancel + +include::../../_elements/commandsummary.adoc[] + +Прерывает текущую выполняемую команду + +include::commandsummaryfree.adoc[] \ No newline at end of file diff --git a/locale/ru/working_with_program/commands/circle.adoc b/locale/ru/working_with_program/commands/circle.adoc new file mode 100644 index 000000000..30f31c2d2 --- /dev/null +++ b/locale/ru/working_with_program/commands/circle.adoc @@ -0,0 +1,25 @@ + +#### Circle + +:cmdcommand: Circle +:cmdicon: ../../../../images/actions/draw/circle.png +:cmdmenu: Черчение > Окружность > +:cmdoperands: CR, CD, 2P, 3P. Не обязательный (CR используется в случае не указания) +:cmdexample: Circle +:cmdexample2: Circle(3P) + +include::../../_elements/commandsummary.adoc[] + +Черчение примитива [.ent]#Circle#. После запуска команды последовательно задать точки на окружности, +в зависимости от операнда команды. + + * [.hl]#CR# - указывается центр и радиус окружности + + * [.hl]#CD# - указывается центр и диаметр окружности + + * [.hl]#2P# - указывается центр 2 точки на окружности (лежащие на концах диаметра) + + * [.hl]#3P# - указывается центр 3 точки на окружности + + +include::commandsummaryfree.adoc[] \ No newline at end of file diff --git a/locale/ru/working_with_program/commands/commandsummaryfree.adoc b/locale/ru/working_with_program/commands/commandsummaryfree.adoc new file mode 100644 index 000000000..d62c111e3 --- /dev/null +++ b/locale/ru/working_with_program/commands/commandsummaryfree.adoc @@ -0,0 +1,8 @@ +:cmdcommand: +:cmdicon: +:cmdshortcuts: +:cmdmenu: +:cmdoperands: +:predselect: +:cmdexample: +:cmdexample2: \ No newline at end of file diff --git a/locale/ru/working_with_program/commands/copy.adoc b/locale/ru/working_with_program/commands/copy.adoc new file mode 100644 index 000000000..2deb2ad07 --- /dev/null +++ b/locale/ru/working_with_program/commands/copy.adoc @@ -0,0 +1,15 @@ + +#### Copy + +:cmdcommand: Copy +:cmdicon: ../../../../images/actions/copy.png +:cmdshortcuts: kbd:[Ctrl+ALT+C]; kbd:[C] +:predselect: Требуется + +include::../../_elements/commandsummary.adoc[] + +Копирование выбранных примитивов. Исходные примитивы нужно выбрать до запуска команды. +После запуска требуется базовую точку для копирования и базовые точки для вставки. +Завершение копирования - ESC или запуск другой команды + +include::commandsummaryfree.adoc[] \ No newline at end of file diff --git a/locale/ru/working_with_program/commands/copybase.adoc b/locale/ru/working_with_program/commands/copybase.adoc new file mode 100644 index 000000000..bd16355e0 --- /dev/null +++ b/locale/ru/working_with_program/commands/copybase.adoc @@ -0,0 +1,14 @@ + +#### CopyBase + +:cmdcommand: CopyBase +:cmdicon: ../../../../images/actions/copyclipbase.png +:cmdshortcuts: kbd:[Ctrl+Shift+C] +:cmdmenu: Правка > Копировать в буфер обмена с базовой точкой +:predselect: Требуется + +include::../../_elements/commandsummary.adoc[] + +Копирует выбранные примитивы в буфер обмена, перед копированием нужно указать базовую точку + +include::commandsummaryfree.adoc[] \ No newline at end of file diff --git a/locale/ru/working_with_program/commands/copyclip.adoc b/locale/ru/working_with_program/commands/copyclip.adoc new file mode 100644 index 000000000..0f0d113e8 --- /dev/null +++ b/locale/ru/working_with_program/commands/copyclip.adoc @@ -0,0 +1,14 @@ + +#### CopyClip + +:cmdcommand: CopyClip +:cmdicon: ../../../../images/actions/copyclip.png +:cmdshortcuts: kbd:[Ctrl+C]; kbd:[Ctrl+INS] +:cmdmenu: Правка > Копировать в буфер обмена +:predselect: Требуется + +include::../../_elements/commandsummary.adoc[] + +Копирует выбранные примитивы в буфер обмена + +include::commandsummaryfree.adoc[] \ No newline at end of file diff --git a/locale/ru/working_with_program/commands/cutclip.adoc b/locale/ru/working_with_program/commands/cutclip.adoc new file mode 100644 index 000000000..210ebef8e --- /dev/null +++ b/locale/ru/working_with_program/commands/cutclip.adoc @@ -0,0 +1,14 @@ + +#### CutClip + +:cmdcommand: CutClip +:cmdicon: ../../../../images/actions/cutclip.png +:cmdshortcuts: kbd:[Ctrl+X] +:cmdmenu: Правка > Вырезать в буфер обмена +:predselect: Требуется + +include::../../_elements/commandsummary.adoc[] + +Копирует выбранные примитивы в буфер обмена и стирает их из чертежа + +include::commandsummaryfree.adoc[] \ No newline at end of file diff --git a/locale/ru/working_with_program/commands/dataexport.adoc b/locale/ru/working_with_program/commands/dataexport.adoc new file mode 100644 index 000000000..2e99d5ce3 --- /dev/null +++ b/locale/ru/working_with_program/commands/dataexport.adoc @@ -0,0 +1,365 @@ + +[[DataExport_com]] +#### DataExport + +:cmdcommand: DataExport + +include::../../_elements/commandsummary.adoc[] + + +Команда экспорта параметров графических примитивов в внешний файл [.filepath]#CSV#. Команда применяет к всем примитивам +текущего чертежа фильтр типа примитивов, передавая на дальнейшую обработку только примитивы определенного +типа. Далее применяется фильтр свойств примитивов, оставляя только примитивы имеющие требуемве свойства. +Над прошедшими фильтрацию примитивами выполняется скрипт экспорта записывая требуемые параметры во внешний +файл + +При запуске подсказка командной строки принимает вид: +[graphviz, generated/cmdprompt_dataexport, svg] +---- +digraph g { +node [shape=plaintext,height=.1]; +node0 [label=< + + + + + + + + +
Configure export + + + + +
param,
+
run + + + + +
file dialog
+
or enter file name (empty for default): > (1)
>] +node1 [label=< + + + + + + + + + +
<<<Set + + + + +
entities
+
/ + + + + +
properties
+
filter or export + + + + +
script
+
>] +node2 [label=< + + + + +
<<<Enter new entities filter: > (2)
>] +node3 [label=< + + + + +
<<<Enter new properties filter: > (3)
>] +node4 [label=< + + + + +
<<<Enter new export script: > (4)
>] +node5 [label = "File select dialog (5)" shape=record]; +"node0":f0 -> "node1" +"node0":f1 -> "node5":f0 +"node1":f1 -> "node2":f1 +"node1":f2 -> "node3":f1 +"node1":f3 -> "node4":f1 +} +---- + +Что позволяет выполнить в командной строке следующие действия: + + +.1. Задать имя файла с экспортируемыми значениями +Ожидание ввода имени файла или пустой строки. Можно ввести имя файла, введенное значение будет использовано +в дальнейшем как файл по умолчанию. Пустой ввод не изменяет текущее значение файла по умолчанию. После ввода +значения экспорт будет выполнен и команда завершится + +.2. Задать фильтр примитивов +Ожидание ввода значения фильтра примитивов по типу. см. <> + +.3. Задать фильтр свойств примитивов +Ожидание ввода значения фильтра примитивов по параметрам. см. <> + +.4. Задать скрипт экспорта +Ожидание ввода скрипта выполняющего экспорт. см. <> + +.5. Задать имя файла в диалоговом режиме +Откроет диалог выбора файла, можно выбрать любой файл csv. Выбор файла сделает его файлом +по умолчанию и также как (1) выполнит экспорт и завершит команду + +Также все это можно сделать с помощью инспектора объектов, который при выполнении команды имеет вид: + +.Опции команды DataExport +image::cmd_params_dataexport.png[width=25%,pdfwidth=25%] + +[[enttypefilter_lng]] +##### Формат фильтра по типам примитивов +Данный фильтр позволяет включить в набор или исключить из набора для экспорта определенные типы примитивов и +содержащие определенные расширения. +Включать/исключать типы примитивов/расширения можно как по имени, так и по маске. Изначально в набор для +обработки не включены никакие примитивы. Для добавления тип примитива/расширение должен быть добавлен и не +должен быть исключен. Причем для примитивов с несколькими расширениями достаточно попадания в разрешенный +список хотябы одного расширения. Если не задано не одного условия для расширений, включение\выключение в +список происходит только по типу примитива. Фильтр задается в текстовом виде и в общем случае выглядит так: +[source] +---- +Оператор(Операнд)[;Оператор(Операнд)] +---- +Операторы могут разделяться точкой с запятой, запятой, пробелом, переводом строки. Доступны следующие +операторы: +[cols=">4a,<6"] +|====================================================== +| +[source] +---- +IncludeEntityMask('Mask*') +----|Включить типы примитивов по маске +| +[source] +---- +IncludeEntityName('Name') +----|Включить тип примитивов по имени +| +[source] +---- +ExcludeEntityMask('Mask*') +----|Исключить типы примитивов по маске +| +[source] +---- +ExcludeEntityName('Name') +----|Исключить тип примитивов по имени +| +[source] +---- +IncludeExtenderMask('Mask*') +----|Включить примитив c расширением по маске +| +[source] +---- +IncludeExtenderName('Name') +----|Включить примитив c расширением по имени +| +[source] +---- +ExcludeExtenderMask('Mask*') +----|Исключить примитив c расширением по маске +| +[source] +---- +ExcludeExtenderName('Name') +----|Исключить примитив c расширением по имени + +|====================================================== +Все операторы в качестве операнда принимают строковой параметр заключенный в апострофы. + +###### Примеры фильтров примитивов: + +Включить в экспорт примитивы [.ent]#Cable# и [.ent]#Device#: +[source] +---- +IncludeEntityName('Cable'); +IncludeEntityName('Device') +---- +Включить в экспорт все типы примитивов: +[source] +---- +IncludeEntityMask('*') +---- +Включить в экспорт примитивы [.ent]#PolyLine# и [.ent]#Line#: +[source] +---- +IncludeEntityName('*Line') ExcludeEntityName('3DPolyLine') +---- +[[entpropfilter_lng]] +##### Формат фильтра по свойствам примитивов +Данный фильтр применяется последовательно к каждому примитиву прошедшему фильтрацию по типу. Фильтр +задается в текстовом виде и в общем случае выглядит так: +[source] +---- +Оператор(Операнд[,Операнд])[;Оператор(Операнд[,Операнд])] +---- +Операторы могут разделяться точкой с запятой, запятой, пробелом, переводом строки. Доступны следующие +операторы: +[cols=">4a,<6"] +|====================================================== +| +[source] +---- +IncludeIfMask(Операнд,'Маска*') +----|Включить примитив в результат если операнд соответствует маске +| +[source] +---- +IncludeIfSame(Условие) +----| Включить примитив в результат в случае выполнения условия +|====================================================== +Условный операторы пока доступен только один: +[cols=">4a,<6"] +|====================================================== +| +[source] +---- +SameMask(Операнд1,'Маска') +----| Условие считается выполненным если текстовое значение операнда1 соответствует маске +| +[source] +---- +Or(Условие1,Условие2) +----| Объединение условий 1 и 2 по закону ИЛИ +|====================================================== +Доступные типы операндов: +[cols=">4a,<6"] +|====================================================== +| +[source] +---- +'Строка' +----| Строковой параметр - любой текст заключенный в апострофы +| +[source] +---- +%%('ИмяПараметра') +----| Возвращает значение параметра текущего примитива в виде строки +|====================================================== +Имена параметров для разных примитивов могут отличатся, в общем случае это параметры +доступные в инспекторе объектов для данного типа примитивов, в случае отсутствия у примитива данного параметра +возвращается пустая строка. Примерный перечень доступных параметров смотри в +https://github.com/zamtmn/zcad/blob/master/cad_source/zcad/gui/odjectinspector/uzcoiregistermultiproperties.pas + +###### Примеры фильтров по свойствам примитивов: + +Включить в результат только примитивы типа кабель, или примитивы с параметром 'Name' удовлетворяющим маске +'CABLE_*' (это блоки\устройства, т.к. только у них есть имя) +[source] +---- +IncludeIfSame( + Or(SameMask(%%('Name'),'CABLE_*'), + SameMask(%%('EntityName'),'Cable')) + ) +---- +Включить в результат только примитивы с параметром 'Name' удовлетворяющим маске 'EL_CABLE_*' (это +блоки\устройства, т.к. только у них есть имя) +[source] +---- +IncludeIfMask(%%('Name'),'EL_CABLE_*') +---- +[[exporter_lng]] +##### Формат скрипта экспорта +Данный скрипт применяется последовательно к каждому примитиву прошедшему фильтрацию предыдущими двумя. Скрипт +задается в текстовом виде и в общем случае выглядит так: +[source] +---- +Оператор(Операнд[,Операнд])[;Оператор(Операнд[,Операнд])] +---- +Операторы могут разделяться точкой с запятой, запятой, пробелом, переводом строки. Доступны следующие +операторы: +[cols=">4a,<6"] +|====================================================== +| +[source] +---- +Export(Операнд1[,Операнд2, ...]) +----| записать строку операндов c разделителями в новую строку файла csv +| +[source] +---- +DoIf(Условие,Оператор) +----|Выполнить оператор в случае выполнения условия +|====================================================== + +Условный операторы пока доступен только один: +[cols=">4a,<6"] +|====================================================== +| +[source] +---- +SameMask(Операнд1,'Маска') +----| Условие считается выполненным если текстовое значение операнда1 соответствует маске +|====================================================== + +Доступные типы операндов: +[cols=">4a,<6"] +|====================================================== +| +[source] +---- +'Строка' +----| Строковой параметр - любой текст заключенный в апострофы +| +[source] +---- +%%('ИмяПараметра') +----| Возвращает значение параметра текущего примитива в виде строки +| +[source] +---- +@@('ИмяПеременной') +----| Возвращает значение переменной текущего примитива в виде строки +|====================================================== +Имена переменных могут быть любыми, в случае отсутствия у примитива данной переменной возвращается значение +`'!!ERR(ИмяПеременной)!!'`. Имена параметров для разных примитивов могут отличатся, в общем случае это параметры +доступные в инспекторе объектов для данного типа примитивов, в случае отсутствия у примитива данного параметра +возвращается пустая строка. Примерный перечень доступных параметров смотри в +https://github.com/zamtmn/zcad/blob/master/cad_source/zcad/gui/odjectinspector/uzcoiregistermultiproperties.pas + +###### Примеры скриптов экспорта: + +Если текущий примитив устройство, записываем в csv строку 'Device','NMO_Name',Значение переменной NMO_Name,'Position',Значение переменной Position +[source] +---- +DoIf( + SameMask(%%('EntityName'),'Device'), + Export(%%('EntityName'),'NMO_Name',@@('NMO_Name'),'Position',@@('Position')) + ) +---- +Если текущий примитив устройство, записываем в csv строку 'Device','NMO_Name',Значение переменной NMO_Name,'Power',Значение переменной Power +[source] +---- +DoIf( + SameMask(%%('EntityName'),'Device'), + Export(%%('EntityName'),'NMO_Name',@@('NMO_Name'),'Power',@@('Power')) + ) +---- +Если текущий примитив кабель, записываем в csv строку 'Cable','NMO_Name',Значение переменной NMO_Name,'AmountD',Значение переменной AmountD +[source] +---- +DoIf( + SameMask(%%('EntityName'),'Cable'), + Export(%%('EntityName'),'NMO_Name',@@('NMO_Name'),'AmountD',@@('AmountD')) + ) +---- +Если текущий примитив кабель, записываем в csv строку 'Cable','NMO_Name',Значение переменной NMO_Name,'CABLE_Segment',Значение переменной CABLE_Segment +[source] +---- +DoIf(SameMask(%%('EntityName'),'Cable'), + Export(%%('EntityName'), + 'NMO_Name',@@('NMO_Name'), + 'CABLE_Segment',@@('CABLE_Segment')) + ) +---- +include::commandsummaryfree.adoc[] \ No newline at end of file diff --git a/locale/ru/working_with_program/commands/dataimport.adoc b/locale/ru/working_with_program/commands/dataimport.adoc new file mode 100644 index 000000000..bbd08f986 --- /dev/null +++ b/locale/ru/working_with_program/commands/dataimport.adoc @@ -0,0 +1,35 @@ + +[[DataImport_com]] +#### DataImport + +:cmdcommand: DataImport +:cmdoperands: Не обязательный. Путь и имя файла CSV +:cmdexample: DataImport +:cmdexample2: DataImport(E:\myfile.csv) + +include::../../_elements/commandsummary.adoc[] + +Импорт данных примитивов из внешнего файла CSV. При вызове без параметров будет открыто окно выбора файла, +после выбора данные будут импортированы из соответствующего файла. Имя файла можно передать параметром, тогда +данные из файла будет импортированы сразу, без окна выбора. В составе строки параметра могут использоваться +макросы !!NEEDLINK!!. + +Разделителем в CSV файле должна быть точка с запятой, файл должен состоять из строк следующей структуры: +[cols="2,2,2,1,1,2,2"] +|==== +|ИмяПримитива|Переменная1|Значение1|...|...|ПеременнаяN|ЗначениеN +|==== +Где `ИмяПримитива` - внутреннее имя примитива ZCAD, например [.ent]#DEVICE#, [.ent]#CABLE# и т.д. + +Далее попарно идут `Переменная` - имя переменной, `Значение` - значение данной переменной. Причем все +переменные кроме последней являются идентифицирующими, последняя переменная - собственно импортируемое +значение + +Например при импорте следующей строки: +[cols="1,1,1,1,1,1,1"] +|==== +|DEVICE|NMO_Name|M1|Position|10|Power|1.5 +|==== +Произойдет следующее: с текущего чертежа будут выбраны все устройства (примитивы [.ent]#DEVICE#) среди них будут +отобраны имеющие имя M1 (переменная `NMO_Name='M1'`) и позицию 10 (переменная `Position=10`) при наличии у +отобранных устройств переменной `Power` ей будет присвоено значение 1.5 Если переменной `Power` у устройства +нет с ним никаких действий произведено не будет. + +include::commandsummaryfree.adoc[] \ No newline at end of file diff --git a/locale/ru/working_with_program/commands/devdefsync.adoc b/locale/ru/working_with_program/commands/devdefsync.adoc new file mode 100644 index 000000000..78aac7211 --- /dev/null +++ b/locale/ru/working_with_program/commands/devdefsync.adoc @@ -0,0 +1,15 @@ + +#### DevDefSync + +:cmdcommand: DevDefSync +:predselect: Требуется + +include::../../_elements/commandsummary.adoc[] + +Синхронизация динамической части выбранных на чертеже устройств с определением устройства. Устройство +на чертеже может быть изменено. Добавлены\убраны примитивы в динамическую часть, к примитивам в +динамической части привязаны различные расширения. Для того чтобы данные изменения были доступны для +вновь вставленных устройств необходимо перенести изменения из вставки устройства в определение +устройства + +include::commandsummaryfree.adoc[] \ No newline at end of file diff --git a/locale/ru/working_with_program/commands/dockingoptions.adoc b/locale/ru/working_with_program/commands/dockingoptions.adoc new file mode 100644 index 000000000..0f3d9c1da --- /dev/null +++ b/locale/ru/working_with_program/commands/dockingoptions.adoc @@ -0,0 +1,16 @@ + +#### DockingOptions + +:cmdcommand: DockingOptions + +include::../../_elements/commandsummary.adoc[] + +Показ модального окна настройки параметров стыковки. Также окно настройки можно вызвать в контекстном меню сплитеров +и заголовков окон докинга + +.Окно настройки параметров стыковки +image::zcad_ui_dockingoptions.png[width=25%,pdfwidth=25%] + +!!NEEDDETAILS!! + +include::commandsummaryfree.adoc[] \ No newline at end of file diff --git a/locale/ru/working_with_program/commands/dwgclose.adoc b/locale/ru/working_with_program/commands/dwgclose.adoc new file mode 100644 index 000000000..9db2a7eba --- /dev/null +++ b/locale/ru/working_with_program/commands/dwgclose.adoc @@ -0,0 +1,14 @@ + +#### DWGClose + +:cmdcommand: DWGClose +:cmdicon: ../../../../images/actions/close.png +:cmdshortcuts: kbd:[Ctrl+F4] +:cmdmenu: Файл > Закрыть + +include::../../_elements/commandsummary.adoc[] + +Закрыть текущий чертеж. В случае присутствия изменений в чертеже, будет предложено сохранить +файл чертежа на диск + +include::commandsummaryfree.adoc[] \ No newline at end of file diff --git a/locale/ru/working_with_program/commands/dwgnew.adoc b/locale/ru/working_with_program/commands/dwgnew.adoc new file mode 100644 index 000000000..173b651e6 --- /dev/null +++ b/locale/ru/working_with_program/commands/dwgnew.adoc @@ -0,0 +1,13 @@ + +#### DWGNew + +:cmdcommand: DWGNew +:cmdshortcuts: kbd:[Ctrl+N] +:cmdicon: ../../../../images/actions/new.png +:cmdmenu: Файл > Новый чертеж + +include::../../_elements/commandsummary.adoc[] + +Создать новый чертеж. !!NEEDDETAILS!! + +include::commandsummaryfree.adoc[] \ No newline at end of file diff --git a/locale/ru/working_with_program/commands/dwgnext.adoc b/locale/ru/working_with_program/commands/dwgnext.adoc new file mode 100644 index 000000000..9da1bbdf7 --- /dev/null +++ b/locale/ru/working_with_program/commands/dwgnext.adoc @@ -0,0 +1,12 @@ + +#### DWGNext + +:cmdcommand: DWGNext +:cmdshortcuts: kbd:[Ctrl+Tab] +:cmdmenu: Окно > Следующее окно + +include::../../_elements/commandsummary.adoc[] + +Если в программе открыто несколько чертежей текущим становится следующий открытый чертеж + +include::commandsummaryfree.adoc[] \ No newline at end of file diff --git a/locale/ru/working_with_program/commands/dwgprev.adoc b/locale/ru/working_with_program/commands/dwgprev.adoc new file mode 100644 index 000000000..7bc5f70c0 --- /dev/null +++ b/locale/ru/working_with_program/commands/dwgprev.adoc @@ -0,0 +1,12 @@ + +#### DWGPrev + +:cmdcommand: DWGPrev +:cmdshortcuts: kbd:[Ctrl+Shift+Tab] +:cmdmenu: Окно > Предидущее окно + +include::../../_elements/commandsummary.adoc[] + +Если в программе открыто несколько чертежей текущим становится предыдущий открытый чертеж + +include::commandsummaryfree.adoc[] \ No newline at end of file diff --git a/locale/ru/working_with_program/commands/erase.adoc b/locale/ru/working_with_program/commands/erase.adoc new file mode 100644 index 000000000..517ef2eda --- /dev/null +++ b/locale/ru/working_with_program/commands/erase.adoc @@ -0,0 +1,14 @@ + +#### Erase + +:cmdcommand: Erase +:cmdshortcuts: kbd:[Del] +:cmdicon: ../../../../images/actions/erase.png +:predselect: Требуется +:cmdmenu: Правка > Стереть + +include::../../_elements/commandsummary.adoc[] + +Стирает выбранные примитивы на чертеже + +include::commandsummaryfree.adoc[] \ No newline at end of file diff --git a/locale/ru/working_with_program/commands/extdradd.adoc b/locale/ru/working_with_program/commands/extdradd.adoc new file mode 100644 index 000000000..b540ea99c --- /dev/null +++ b/locale/ru/working_with_program/commands/extdradd.adoc @@ -0,0 +1,15 @@ + +[[extdrRemove_com]] +#### extdrRemove + +:cmdcommand: extdrRemove +:cmdoperands: Обязательный. Имя расширения +:predselect: Требуется +:cmdexample: extdrRemove(extdrVariables) + +include::../../_elements/commandsummary.adoc[] + +Отвязка указанного расширения (см. <>) от выбранных примитивов. В случае к выбраному примитиву не привязано данное расширение, +он будет проигнорирован + +include::commandsummaryfree.adoc[] \ No newline at end of file diff --git a/locale/ru/working_with_program/commands/extdralllist.adoc b/locale/ru/working_with_program/commands/extdralllist.adoc new file mode 100644 index 000000000..4f65e40d9 --- /dev/null +++ b/locale/ru/working_with_program/commands/extdralllist.adoc @@ -0,0 +1,11 @@ + +[[extdrAllList_com]] +#### extdrAllList + +:cmdcommand: extdrAllList + +include::../../_elements/commandsummary.adoc[] + +Команда выводит список доступных для привязки расширений (см. <>) + +include::commandsummaryfree.adoc[] \ No newline at end of file diff --git a/locale/ru/working_with_program/commands/extdrentslist.adoc b/locale/ru/working_with_program/commands/extdrentslist.adoc new file mode 100644 index 000000000..1338d92e8 --- /dev/null +++ b/locale/ru/working_with_program/commands/extdrentslist.adoc @@ -0,0 +1,12 @@ + +[[extdrEntsList_com]] +#### extdrEntsList + +:cmdcommand: extdrEntsList +:predselect: Требуется + +include::../../_elements/commandsummary.adoc[] + +Команда выводит список привязанных к выбранным примитивам расширений (см. <>) + +include::commandsummaryfree.adoc[] \ No newline at end of file diff --git a/locale/ru/working_with_program/commands/extdrremove.adoc b/locale/ru/working_with_program/commands/extdrremove.adoc new file mode 100644 index 000000000..3cdbeba37 --- /dev/null +++ b/locale/ru/working_with_program/commands/extdrremove.adoc @@ -0,0 +1,15 @@ + +[[extdrAdd_com]] +#### extdrAdd + +:cmdcommand: extdrAdd +:cmdoperands: Обязательный. Имя расширения +:predselect: Требуется +:cmdexample: extdrAdd(extdrVariables) + +include::../../_elements/commandsummary.adoc[] + +Привязка указанного расширения (см. <>) к выбраным примитивам. В случае к выбраному примитиву уже привязано данное расширение, +он будет проигнорирован + +include::commandsummaryfree.adoc[] \ No newline at end of file diff --git a/locale/ru/working_with_program/commands/layer.adoc b/locale/ru/working_with_program/commands/layer.adoc new file mode 100644 index 000000000..32c69b77a --- /dev/null +++ b/locale/ru/working_with_program/commands/layer.adoc @@ -0,0 +1,17 @@ + +#### Layer + +:cmdcommand: Layer +:cmdicon: ../../../../images/actions/layers.png +:cmdmenu: Format > Слои ... + +include::../../_elements/commandsummary.adoc[] + +Показ модального окна управления слоями + +.Окно управления слоями +image::zcad_ui_layersform_prepare.png[width=75%,pdfwidth=75%] + +!!NEEDDETAILS!! + +include::commandsummaryfree.adoc[] \ No newline at end of file diff --git a/locale/ru/working_with_program/commands/load.adoc b/locale/ru/working_with_program/commands/load.adoc new file mode 100644 index 000000000..1476f8459 --- /dev/null +++ b/locale/ru/working_with_program/commands/load.adoc @@ -0,0 +1,19 @@ + +#### Load + +:cmdcommand: Load +:cmdicon: ../../../../images/actions/open.png +:cmdshortcuts: kbd:[Ctrl+O] +:cmdmenu: Файл > Открыть +:cmdoperands: Не обязательный. Путь и имя файла dxf +:cmdexample: Load +:cmdexample2: Load(E:\myfile.dxf) + +include::../../_elements/commandsummary.adoc[] + +Загрузка файла DXF. При вызове без параметров будет открыто окно выбора файла, после выбора будет открыт данный файл. +Имя файла можно передать параметром, тогда файл будет открыт сразу, без окна выбора. В составе строки параметра +могут использоваться <>, например команда [.cmdline]#Load($(LastAutoSaveFile))# приведет к загрузке +последнего файла автосохранения + +include::commandsummaryfree.adoc[] \ No newline at end of file diff --git a/locale/ru/working_with_program/commands/loadactions.adoc b/locale/ru/working_with_program/commands/loadactions.adoc new file mode 100644 index 000000000..7e64c71cd --- /dev/null +++ b/locale/ru/working_with_program/commands/loadactions.adoc @@ -0,0 +1,13 @@ + +#### LoadActions + +:cmdcommand: LoadActions +:cmdoperands: Обязательный. Путь и имя файла с описанием экшенов +:cmdexample: LoadActions(E:\actionscontent.xml) + +include::../../_elements/commandsummary.adoc[] + +Загрузка файла описаний экшенов !!NEEDLINK!!. Загрузка обычно происходит на ранней стадии запуска программы, +поэтому команда обычно используется в скрипте [.filepath]#$(ZCADPath)/preload/stage0.cmd0# !!NEEDLINK!!. + +include::commandsummaryfree.adoc[] \ No newline at end of file diff --git a/locale/ru/working_with_program/commands/loadlayout.adoc b/locale/ru/working_with_program/commands/loadlayout.adoc new file mode 100644 index 000000000..1360cee0f --- /dev/null +++ b/locale/ru/working_with_program/commands/loadlayout.adoc @@ -0,0 +1,15 @@ + +#### LoadLayout + +:cmdcommand: LoadLayout +:cmdoperands: Не обязательный. Имя файла раскладки окон и тулбаров +:cmdexample: LoadLayout +:cmdexample2: LoadLayout(defaultlayout.xml) + +include::../../_elements/commandsummary.adoc[] + +Загрузка и применение файла раскладки окон !!NEEDLINK!!. При отсутствии операнда будет произведена загрузка файла раскладки поумолчанию !!NEEDLINK!!. +При отсутствии файла раскладки указанного поумолчанию будет загружен файл [.filepath]#defaultlayout.xml# +Файлы раскладки ищутся в папке [.filepath]#$(ZCADPath)/components# + +include::commandsummaryfree.adoc[] \ No newline at end of file diff --git a/locale/ru/working_with_program/commands/loadmenus.adoc b/locale/ru/working_with_program/commands/loadmenus.adoc new file mode 100644 index 000000000..e1592ac1f --- /dev/null +++ b/locale/ru/working_with_program/commands/loadmenus.adoc @@ -0,0 +1,13 @@ + +#### LoadMenus + +:cmdcommand: LoadMenus +:cmdoperands: Обязательный. Путь и имя файла с описанием меню +:cmdexample: LoadMenus(E:\menuscontent.xml) + +include::../../_elements/commandsummary.adoc[] + +Загрузка файла описаний меню !!NEEDLINK!!. Загрузка обычно происходит на ранней стадии запуска программы, +поэтому команда обычно используется в скрипте [.filepath]#$(ZCADPath)/preload/stage0.cmd0# !!NEEDLINK!!. + +include::commandsummaryfree.adoc[] \ No newline at end of file diff --git a/locale/ru/working_with_program/commands/loadpalettes.adoc b/locale/ru/working_with_program/commands/loadpalettes.adoc new file mode 100644 index 000000000..cd1ff1497 --- /dev/null +++ b/locale/ru/working_with_program/commands/loadpalettes.adoc @@ -0,0 +1,13 @@ + +#### LoadPalettes + +:cmdcommand: LoadPalettes +:cmdoperands: Обязательный. Путь и имя файла с описанием палитр +:cmdexample: LoadPalettes(E:\palettescontent.xml) + +include::../../_elements/commandsummary.adoc[] + +Загрузка файла описаний палитр !!NEEDLINK!!. Загрузка обычно происходит на ранней стадии запуска программы, +поэтому команда обычно используется в скрипте [.filepath]#$(ZCADPath)/preload/stage0.cmd0# !!NEEDLINK!!. + +include::commandsummaryfree.adoc[] \ No newline at end of file diff --git a/locale/ru/working_with_program/commands/loadtoolbars.adoc b/locale/ru/working_with_program/commands/loadtoolbars.adoc new file mode 100644 index 000000000..af0660ce3 --- /dev/null +++ b/locale/ru/working_with_program/commands/loadtoolbars.adoc @@ -0,0 +1,13 @@ + +#### LoadToolbars + +:cmdcommand: LoadToolbars +:cmdoperands: Обязательный. Путь и имя файла с описанием тулбаров +:cmdexample: LoadMenus(E:\toolbarscontent.xml) + +include::../../_elements/commandsummary.adoc[] + +Загрузка файла описаний тулбаров !!NEEDLINK!!. Загрузка обычно происходит на ранней стадии запуска программы, +поэтому команда обычно используется в скрипте [.filepath]#$(ZCADPath)/preload/stage0.cmd0# !!NEEDLINK!!. + +include::commandsummaryfree.adoc[] \ No newline at end of file diff --git a/locale/ru/working_with_program/commands/matchprop.adoc b/locale/ru/working_with_program/commands/matchprop.adoc new file mode 100644 index 000000000..c3a3e7890 --- /dev/null +++ b/locale/ru/working_with_program/commands/matchprop.adoc @@ -0,0 +1,19 @@ + +#### MatchProp + +:cmdcommand: MatchProp +:cmdicon: ../../../../images/actions/matchprop.png +:cmdexample: MatchProp + +include::../../_elements/commandsummary.adoc[] + +Перенос свойств примитива на другие примитивы. После запуска предлагается выбрать исходный примитив, чьи свойства +будут взяты как исходные. После выбора в инспекторе объектов будут показаны опции команды + +.Опции команды MatchProp +image::cmd_params_matchprop.png[width=25%,pdfwidth=25%] + +Далее предлагается выбрать целевые примитивы, свойства исходного примитива отмеченые в опциях будут присвоены целевым +примитивам. + +include::commandsummaryfree.adoc[] \ No newline at end of file diff --git a/locale/ru/working_with_program/commands/merge.adoc b/locale/ru/working_with_program/commands/merge.adoc new file mode 100644 index 000000000..7fb2bff54 --- /dev/null +++ b/locale/ru/working_with_program/commands/merge.adoc @@ -0,0 +1,12 @@ + +#### Merge + +:cmdcommand: Merge +:cmdoperands: Обязательный. Путь и имя файла dxf +:cmdexample: Merge(E:\myfile.dxf) + +include::../../_elements/commandsummary.adoc[] + +Подгружает файл DXF в текущий чертеж. Повторные определения блоков игнорируются + +include::commandsummaryfree.adoc[] \ No newline at end of file diff --git a/locale/ru/working_with_program/commands/mergeblocks.adoc b/locale/ru/working_with_program/commands/mergeblocks.adoc new file mode 100644 index 000000000..bd830a6f1 --- /dev/null +++ b/locale/ru/working_with_program/commands/mergeblocks.adoc @@ -0,0 +1,14 @@ + +#### MergeBlocks + +:cmdcommand: MergeBlocks +:cmdoperands: Обязательный. Путь и имя DXF файла +:cmdexample: MergeBlocks (E:\actionscontent.xml) + +include::../../_elements/commandsummary.adoc[] + +Подгружает файл DXF в библиотеку блоков !!NEEDLINK!!. Повторные определения блоков игнорируются !!NEEDLINK!!. +Загрузка обычно происходит на стадии запуска программы, поэтому команда обычно используется в скрипте +[.filepath]#$(ZCADPath)/preload/autorun.cmd# !!NEEDLINK!!. + +include::commandsummaryfree.adoc[] \ No newline at end of file diff --git a/locale/ru/working_with_program/commands/mirror.adoc b/locale/ru/working_with_program/commands/mirror.adoc new file mode 100644 index 000000000..e3b7950c9 --- /dev/null +++ b/locale/ru/working_with_program/commands/mirror.adoc @@ -0,0 +1,15 @@ + +#### Mirror + +:cmdcommand: Mirror +:cmdicon: ../../../../images/actions/mirror.png +:predselect: Требуется + +include::../../_elements/commandsummary.adoc[] + +Зеркальное отражение выбранных примитивов относительно прямой. Исходные примитивы нужно выбрать до запуска команды. +После запуска требуется указать 2 точки лежащие на прямой относительно которой будет произветено отражение. +Во время указания прямой в инспекторе объектов можно указать действие над исходными примитивами - удалить или отавить +в чертеже + +include::commandsummaryfree.adoc[] \ No newline at end of file diff --git a/locale/ru/working_with_program/commands/move.adoc b/locale/ru/working_with_program/commands/move.adoc new file mode 100644 index 000000000..9dcb298ab --- /dev/null +++ b/locale/ru/working_with_program/commands/move.adoc @@ -0,0 +1,14 @@ + +#### Move + +:cmdcommand: Move +:cmdicon: ../../../../images/actions/move.png +:cmdshortcuts: kbd:[Ctrl+ALT+M]; kbd:[M] +:predselect: Требуется + +include::../../_elements/commandsummary.adoc[] + +Перенос выбранных примитивов. Исходные примитивы нужно выбрать до запуска команды. +После запуска требуется указать 2 точки вектора на который будет произветен перенос. + +include::commandsummaryfree.adoc[] \ No newline at end of file diff --git a/locale/ru/working_with_program/commands/rotate.adoc b/locale/ru/working_with_program/commands/rotate.adoc new file mode 100644 index 000000000..3ac4777fb --- /dev/null +++ b/locale/ru/working_with_program/commands/rotate.adoc @@ -0,0 +1,14 @@ + +#### Rotate + +:cmdcommand: Rotate +:cmdicon: ../../../../images/actions/rotate.png +:cmdshortcuts: kbd:[Ctrl+ALT+R]; kbd:[R] +:predselect: Требуется + +include::../../_elements/commandsummary.adoc[] + +Поворот выбранных примитивов. Исходные примитивы нужно выбрать до запуска команды. +После запуска требуется указать точку определяющую угол поворота. + +include::commandsummaryfree.adoc[] \ No newline at end of file diff --git a/locale/ru/working_with_program/commands/saveas.adoc b/locale/ru/working_with_program/commands/saveas.adoc new file mode 100644 index 000000000..019805d31 --- /dev/null +++ b/locale/ru/working_with_program/commands/saveas.adoc @@ -0,0 +1,14 @@ + +#### SaveAs + +:cmdcommand: SaveAs +:cmdicon: ../../../../images/actions/saveas.png +:cmdshortcuts: kbd:[Shift+Ctrl+S] +:cmdmenu: Файл > Сохранить как ... + +include::../../_elements/commandsummary.adoc[] + +Сохранить текущий чертеж под новым именем. Будет открыто окно выбора файла, после чего произойдет сохранение. Имя чертежа +будет изменено, дальнейшие команды [.command]#QSave# будут сохранять файл под новым именем + +include::commandsummaryfree.adoc[] \ No newline at end of file diff --git a/locale/ru/working_with_program/commands/savelayout.adoc b/locale/ru/working_with_program/commands/savelayout.adoc new file mode 100644 index 000000000..9f99d8a0c --- /dev/null +++ b/locale/ru/working_with_program/commands/savelayout.adoc @@ -0,0 +1,11 @@ + +#### SaveLayout + +:cmdcommand: SaveLayout +:cmdmenu: Настройки > Сохранить разбивку окон по умолчанию + +include::../../_elements/commandsummary.adoc[] + +Соxранить текущую разбивку окон как разбивку по умолчанию в файл [.filepath]#$(ZCADPath)/components/defaultlayout.xml# + +include::commandsummaryfree.adoc[] \ No newline at end of file diff --git a/locale/ru/working_with_program/commands/saveoptions.adoc b/locale/ru/working_with_program/commands/saveoptions.adoc new file mode 100644 index 000000000..06274b83b --- /dev/null +++ b/locale/ru/working_with_program/commands/saveoptions.adoc @@ -0,0 +1,12 @@ + +#### SaveOptions + +:cmdcommand: SaveOptions +:cmdmenu: Настройки > Сохранить параметры + +include::../../_elements/commandsummary.adoc[] + +Соxранить текущие настройки программы в файлы [.filepath]#$(ZCADPath)/rtl/sysvar.pas# !!NEEDLINK!! и +[.filepath]#$(ZCADPath)/rtl/config.xml# !!NEEDLINK!! + +include::commandsummaryfree.adoc[] \ No newline at end of file diff --git a/locale/ru/working_with_program/commands/updatepo.adoc b/locale/ru/working_with_program/commands/updatepo.adoc new file mode 100644 index 000000000..43374cbed --- /dev/null +++ b/locale/ru/working_with_program/commands/updatepo.adoc @@ -0,0 +1,15 @@ + +[[cmd_updatepo]] +#### UpdatePO + +:cmdcommand: UpdatePO + +include::../../_elements/commandsummary.adoc[] + +Обновление файлов локазизации (<>), выполнить команду можно только запустив программу с ключом командной +строки [.hl]#updatepo# (<>) Команда позволяет записать в файл [.filepath]#languages\rtzcad.po# +все новые строки требующиеперевода обнаруженные в файлах данных при этом запуске программы и стереть из данного +файла строки которые требовали перевода раньше, но при этом запуске обнаружены небыли. Команда выводит диалоговое окно +на подтверждение действий, в случае подтверждения, [.filepath]#rtzcad.po# перезаписывается + +include::commandsummaryfree.adoc[] \ No newline at end of file diff --git a/locale/ru/working_with_program/commands/varsed.adoc b/locale/ru/working_with_program/commands/varsed.adoc new file mode 100644 index 000000000..8a53c0608 --- /dev/null +++ b/locale/ru/working_with_program/commands/varsed.adoc @@ -0,0 +1,14 @@ + +[[VarsEd_com]] +#### VarsEd + +:cmdcommand: VarsEd +:cmdicon: ../../../../images/actions/varsed.png +:cmdmenu: Изменить > Редактор переменных примитива +:predselect: Примитив, редактирование переменных которого будет осуществляться + +include::../../_elements/commandsummary.adoc[] + +!!NEEDDETAILS!! + +include::commandsummaryfree.adoc[] \ No newline at end of file diff --git a/locale/ru/working_with_program/commands/varsedbd.adoc b/locale/ru/working_with_program/commands/varsedbd.adoc new file mode 100644 index 000000000..cf28876ca --- /dev/null +++ b/locale/ru/working_with_program/commands/varsedbd.adoc @@ -0,0 +1,12 @@ + +#### VarsEdBD + +:cmdcommand: VarsEdBD +:cmdoperands: Обязательный. Имя блока набор переменных которого будет редактироваться +:cmdexample2: Load(DEVICE_PS_SMOKE) + +include::../../_elements/commandsummary.adoc[] + +!!NEEDDETAILS!! + +include::commandsummaryfree.adoc[] \ No newline at end of file diff --git a/locale/ru/working_with_program/commands/varsedsel.adoc b/locale/ru/working_with_program/commands/varsedsel.adoc new file mode 100644 index 000000000..5d7c95ab4 --- /dev/null +++ b/locale/ru/working_with_program/commands/varsedsel.adoc @@ -0,0 +1,14 @@ + +[[VarsEdSel_com]] +#### VarsEdSel + +:cmdcommand: VarsEdSel +:cmdicon: ../../../../images/actions/varsedsel.png +:cmdmenu: Изменить > Редактор переменных нескольких примитивов +:predselect: Примитивы, редактирование переменных которых будет осуществляться + +include::../../_elements/commandsummary.adoc[] + +!!NEEDDETAILS!! + +include::commandsummaryfree.adoc[] \ No newline at end of file diff --git a/locale/ru/working_with_program/commands/varslink.adoc b/locale/ru/working_with_program/commands/varslink.adoc new file mode 100644 index 000000000..75a538105 --- /dev/null +++ b/locale/ru/working_with_program/commands/varslink.adoc @@ -0,0 +1,15 @@ + +[[VarsLink]] +#### VarsLink + +:cmdcommand: VarsLink + +include::../../_elements/commandsummary.adoc[] + +Создание централизованной связки примитивов (см. <>) После запуска команды предлагается указать +главный примитив звязки ([.hl]#централь#) затем его [.hl]#представителей#. Указанные примитивы должны иметь +расширение <> и не участвовать в других связках + +!!NEEDDETAILS!! + +include::commandsummaryfree.adoc[] \ No newline at end of file diff --git a/locale/ru/working_with_program/entities.adoc b/locale/ru/working_with_program/entities.adoc new file mode 100644 index 000000000..79a60b603 --- /dev/null +++ b/locale/ru/working_with_program/entities.adoc @@ -0,0 +1,52 @@ + +### Примитивы + +Основной формат файла хранения графических данных программы – DXF версии 2000, со следующими ограничениями: + +* Не поддерживается THICKNESS +* Не поддерживаются листы, только МОДЕЛЬ + +Перечень доступных примитивов: + +.Примитивы DXF поддерживаемые программой +[cols="2,1,1,1,3", hrows=1] +|==== +|Примитив |ZCAD имя |DXF имя |Предоставляющая версия|Ограничения + +|Точка |Point |POINT |ZCAD | +|Линия |Line |LINE |ZCAD | +|3D Полилиния |3DPolyLine |POLYLINE |ZCAD |Дуговые сегменты, тип линии +|Полилиния |LWPolyline |LWPOLYLINE|ZCAD |Сглаживание +|Сплайн |Spline |SPLINE |ZCAD |Экспериментально +|3D Фэйс |3DFace |3DFACE |ZCAD | +|Солид |Solid |SOLID |ZCAD | +|Штриховка |Hatch |HATCH |ZCAD |Дуговые сегменты, сплайны, ассоциативность + +|Дуга |Arc |ARC |ZCAD | +|Окружность |Circle |CIRCLE |ZCAD | +|Элипс |Ellipse |ELLIPSE |ZCAD | +|Текст |Text |TEXT |ZCAD | +|МТекст |MText |MTEXT |ZCAD |Коды форматирования + +|Вставка блока |BlockInsert |INSERT |ZCAD | +|Устройство |Device | |ZCAD | + +|Выровненный размер |AlignedDimension |DIMENSION |ZCAD |Экспериментально +|Повернутый размер |RotatedDimension |DIMENSION |ZCAD |Экспериментально +|Диаметральный размер |DiametricDimension|DIMENSION |ZCAD |Экспериментально +|Радиальный размер |RadialDimension |DIMENSION |ZCAD |Экспериментально + +|Кабель |Cable | |ZCADElectroTech | +|Электрическая выноска|Leader | |ZCADElectroTech | +|Трасса |Net | |ZCADElectroTech | +|Суперлиния |SuperLine | |ZCADElectroTech |Экспериментально +|==== +Данный список будет расширен, но не до полного охвата примитивов DXF. + + +WARNING: Файлы, обработанные ZCAD, можно редактировать в AutoCAD (и других CAD программах) не применяя команды, +очищающие расширенные данные примитивов. Если расширенные данные примитива будут разрушены, при последующей +обработке файла ZCAD, он будет воспринят как стандартный примитив DXF, т.е. кабель станет просто полилинией, +а устройство обычным блоком + +include::entities/device.adoc[] \ No newline at end of file diff --git a/locale/ru/working_with_program/entities/device.adoc b/locale/ru/working_with_program/entities/device.adoc new file mode 100644 index 000000000..1093c4f82 --- /dev/null +++ b/locale/ru/working_with_program/entities/device.adoc @@ -0,0 +1,46 @@ + +#### Device + +Условное графическое обозначение (далее УГО) оборудования на чертеже - это примитив [.ent]#DEVICE# (устройство) +в терминах ZCAD. В отличие от стандартного примитива DXF – [.ent]#INSERT# (вставка блока) содержит в себе как жестко +определенные в описании блока примитивы, так и динамические, которые можно двигать относительно точки вставки. +Динамические примитивы уникальны для каждой вставки устройства, их количество и конфигурация могут отличаться и +настраиваться +Все имена описаний устройств начинаются с приставки [.hl]#DEVICE_#, при вставке блока с названием, начинающимся с +[.hl]#DEVICE_#, он автоматически будет конвертирован в примитив [.ent]#DEVICE# + +Например, чтобы вставить на план дымовой пожарный извещатель как устройство, нужно вставить блок [.hl]#DEVICE_PS_DAT_SMOKE#. +Если вставить просто блок [.hl]#PS_DAT_SMOKE#, он не будет конвертирован в примитив [.ent]#DEVICE# и останется примитивом +DXF – [.ent]#INSERT# (вставка блока), не приобретая свойств устройства. + +Устройство [.hl]#DEVICE_PS_DAT_SMOKE# состоит из 2х блоков: + +* [.hl]#DEVICE_PS_DAT_SMOKE# – динамическая часть устройства + +* [.hl]#PS_DAT_SMOKE# постоянная часть устройства + +Постоянная часть устройства содержит в себе собственно УГО: + +.Постоянная часть устройства +image::ents_device_const_part.png[width=50%,pdfwidth=50%] + +.Динамическая часть устройства +image::ents_device_var_part.png[width=50%,pdfwidth=50%] + +Динамическая часть устройства содержит дополнительные примитивы например в данном случае: + +* Обозначение имени устройства + +* контур подрезки присоединенных кабелей + +* коннектор для присоединения кабелей (коннекторов может быть несколько, это самостоятельное устройство). + +Как создать новое устройство показанно на данном видео: + +ifdef::env-github[] +image:https://img.youtube.com/vi/zUKcJVM55fQ/maxresdefault.jpg[link=https://youtu.be/zUKcJVM55fQ] +endif::[] + +ifndef::env-github[] +video::zUKcJVM55fQ[youtube, width=640, height=480] +endif::[] \ No newline at end of file diff --git a/locale/ru/working_with_program/entities_extensions.adoc b/locale/ru/working_with_program/entities_extensions.adoc new file mode 100644 index 000000000..ca5c6320e --- /dev/null +++ b/locale/ru/working_with_program/entities_extensions.adoc @@ -0,0 +1,17 @@ + +[[ent_extenders]] +### Расширения примитивов + +Для расширения функционала примитивов ZCAD предусматривает механизм расширений. К любому примитиву может быть +привязано расширение добавляющее некоторую функциональность. Также расширения могут быть привязаны к типу примитивов, +например к примитиву [.ent]#DEVICE# привязано расширение [.hl]#extdrVariables# Для работы с расширениями предусмотрены +следующие команды: + +* <> - привязать расширение к примитиву/примитивам +* <> - отвязать расширение от примитив/примитивов +* <> - вывести список всех доступных расширений +* <> - вывести список расширений привязанных к примитиву/примитивам + +include::entities_extensions/extdrlayercontrol.adoc[] +include::entities_extensions/extdrsmarttextent.adoc[] +include::entities_extensions/extdrvariables.adoc[] \ No newline at end of file diff --git a/locale/ru/working_with_program/entities_extensions/extdrlayercontrol.adoc b/locale/ru/working_with_program/entities_extensions/extdrlayercontrol.adoc new file mode 100644 index 000000000..2064bb6e6 --- /dev/null +++ b/locale/ru/working_with_program/entities_extensions/extdrlayercontrol.adoc @@ -0,0 +1,18 @@ + +#### extdrLayerControl + +Управление слоем применяется для управления видимостью примитивов в динамической части устройств. +У примитива с данным расширением появляются дополнительные параметры + +.Параметры расширения extdrLayerControl +image::extdr_params_extdrlayercontrol.png[width=25%,pdfwidth=25%] + + * [.hl]#True слой# - Имя слоя при [.hl]#True# результате выражения + * [.hl]#False слой# - Имя слоя при [.hl]#False# результате выражения + * [.hl]#Выражение# - Выражение имеющее Boolean резудльтат + +Выражение может состоять из простых математических функция и включать имена переменных. При вычислении переменные +ищутся в расширении <> данного примитива, при отсутствии запрашиваются у [.hl]#централи# +(см. раздел <>) и далее у владельца примитива по иерархии. + +При ошибке в выражении или отсутствии требуемого слоя в чертеже текущий слой примитива не меняется. \ No newline at end of file diff --git a/locale/ru/working_with_program/entities_extensions/extdrsmarttextent.adoc b/locale/ru/working_with_program/entities_extensions/extdrsmarttextent.adoc new file mode 100644 index 000000000..6de7c85c0 --- /dev/null +++ b/locale/ru/working_with_program/entities_extensions/extdrsmarttextent.adoc @@ -0,0 +1,27 @@ + +#### extdrSmartTextEnt + +Управление текстовыми примитивами для управления параметрами текстов в динамической части устройств. +У примитива с данным расширением появляются дополнительные параметры + +.Параметры расширения extdrSmartTextEnt +image::extdr_params_extdrsmarttextent.png[width=25%,pdfwidth=25%] + + * [.hl]#Дистанция начала отображения выноски# - После удаления текста от точки вставки устройства на данную дистанцию +к тексту начинает пририсовываться выноска + * [.hl]#Выносная линия# - Отображение выноссной линии + * [.hl]#Сдвиг начала выносной линии# - Сдвиг начала выносной линии от точки вставки устройства. Положительное значение - +радиус круга, отрицательное - половина стороны квадрата + * [.hl]#Базовая линия# - Отображение базовой линии + * [.hl]#Смещение X базовой линии# - Смещение X координаты начала базовой линии от точки вставки текста. Положительное +значение - абсолютное смещение, отрицательное - относительное смещение, домножается на высоту текста + * [.hl]#Смещение Y базовой линии# - Смещение Y координаты начала базовой линии от точки вставки текста. Положительное +значение - абсолютное смещение, отрицательное - относительное смещение, домножается на высоту текста + * [.hl]#Переопределение высоты# - Если не нулевое значение, высота текста всегда будет равна этой величине, независимо +от масштаба устройства + * [.hl]#Переопределение горизонтального выравнивания# - Разрешение переопределения горизонтальной +составляющей выравнивания текста в зависимости от точки вставки текста относительно устройства + * [.hl]#Переопределение вертикального выравнивания# - Разрешение переопределения вертикальной +составляющей выравнивания текста в зависимости от точки вставки текста относительно устройства + * [.hl]#Переопределение угла поворота# - Разрешение переопределения угла поворота текста + * [.hl]#Значение угла поворота# - Абсолютное значение угла поворота \ No newline at end of file diff --git a/locale/ru/working_with_program/entities_extensions/extdrvariables.adoc b/locale/ru/working_with_program/entities_extensions/extdrvariables.adoc new file mode 100644 index 000000000..8379d7266 --- /dev/null +++ b/locale/ru/working_with_program/entities_extensions/extdrvariables.adoc @@ -0,0 +1,64 @@ + +[[extdrVariables]] +#### extdrVariables + +Представляет собой хранилище дополнительных типизированных данных ([.hl]#Переменных#) привязанных к примитиву. +Каждая переменная имеет имя, тип и "пользователькое" имя. + * [.hl]#Имя# - идентификатор состоящий из латинских букв и цифр, начинается с буквы. По имени программа обращается +к переменным и различает их. Имя регистронезависимо + * [.hl]#Тип# - определяет содержимое переменной, может быть как простым (<>), так и сложным. сложные типы являются +комбинацией простых и определены в файле [.filepath]#rtl\system.pas# на паскалеподобном скриптовом языке + * [.hl]#Пользователькое имя# - имя переменной для пользователя, пользователь видтит его например в инспекторе +объектов, может быть любым + +[[zcadsimplytypes]] +##### Перечень простых типов данных +[cols=">4,<6"] +|====================================================== +|Double|Число двойной точности +|Single|Число одинарной точности +|UnicodeString|Строка UTF16 +|String|Платформозависимо. UTF8/16 На данный момент строка UTF8, возможно станет UTF16 +|AnsiString|Строка UTF8 +|Boolean|False/True +|Byte|8 бит, без знака +|ShortInt|8 бит, c знаком +|SmallInt|16 бит, c знаком +|LongInt|32 бит, c знаком +|Int64|64 бит, c знаком +|Cardinal|Алиас к LongWord +|Integer|Платформозависимо. 64/32/16 бит, c знаком +|PtrInt|Размерность указателя, c знаком +|Word|16 бит, без знака +|LongWord|32 бит, без знака +|QWord|64 бит, без знака +|DWord|Алиас к LongWord +|Uint64|Алиас к QWord +|Pointer|Платформозависимо. Указатель 64/32/16 бит, c знаком +|====================================================== + +Набор и значения переменных у примитивов можно редактировать командами <> и <> +Значения переменных доступны для изменения в инспекторе объектов (см. раздел <>) при выделении примитивов. +Значения переменных можно экспортировать-импортировать командами <> и <> + +Примитивы в черетеже имеют древовидную структуру, так все примитивы являются дочерними объектами чертежа, +примитивы в динамической части устройства это дочерние объекты этого устройства и т.д. При поиске у примитива какойлибо +переменной и не нахождении ее зкад обращается к родительскому примитиву и ищет ее там, так пока не дойддет до +вершины дерева - чертежа !!NEEDLINK!! + +[[centralization]] +##### Централизация + +Дополнительно к древовидной иерархии примитивов расширения переменных у разных примитивов могут ссылаться друг на друга. +Этот механизм называется [.hl]#централизация# + +Например при выполнении схемы автоматизации и плана расположения оборудования можно примитивы [.ent]#DEVICE# обозначающие +один датчик на схеме и на плане связать между собой. Это позволит хранить характеризующий этот датчик набор переменных +в одном примитиве, но иметь к ним доступ из другого. + +При таком объединении один примитив в связке выбирается главным ([.hl]#централь#), другие сылаются на него +([.hl]#представители#) В идеальном случае все переменные связки хранятся в централи, у представителей нет своих переменных, +они лишь предоставляют доступ к централи, при такой организации у пользователя не возникает путаницы с +фактическим местом нахождения переменной. Но также возможно хранить переменные и в представителях. + +Создать централизованные примитивы можно командой <> diff --git a/locale/ru/working_with_program/user_interface.adoc b/locale/ru/working_with_program/user_interface.adoc new file mode 100644 index 000000000..dbc1330eb --- /dev/null +++ b/locale/ru/working_with_program/user_interface.adoc @@ -0,0 +1,283 @@ + +### Интерфейс пользователя +#### Общий обзор + +Интерфейс программы по умолчанию представлен на скриншоте: + +[[zcad_ui]] +.Внешний вид окна программы +image::zcad_ui.png[width=50%,pdfwidth=50%] + +Можно выделить следующие основные элементы: + + +.1. Окно отображения +Тут производится отображение и редактирование графической информации. + +Навигация по чертежу осуществляется мышкой. Масштабировать чертеж можно вращая колесо мыши, если при этом нажать и удерживать клавишу kbd:[Shift] коэффициент масштабирования будет меньше и точки временных привязок не будут сброшены. Панарамировать чертеж можно двигая мышь с нажатой средней кнопкой. Если при панарамировании удерживать клавишу kbd:[Ctrl], будет осуществляться вращение камеры. Также для навигации доступны некоторые сочетания клавиш !!NEEDLINK!! + +Редактирование чертежа также производится курсором мыши, при этом его форма зависит от ожидаемого действия: `перекрестие` - указание точки на чертеже, `прямоугольник` - выбор графического примитива. Комбинация прямоугольника и перекрестия - можно как выбрать примитив, так и указать точку на чертеже. + +Программа позволяет выбирать примитивы несколькими способами: + +.. кликнув прямоугольником по примитиву - примитив будет добавлен к текущему набору выбора + +.. рамкой выбора - при клике по пустой области чертежа начинает чертиться прямоугольная рамка выбора, при следующем клике построение рамки будет закончено. Рамка начерченная слева на прово называется `прямой` и рисуется сплошными линиями с синей заливкой, справа на лево - называется `обратной` и рисуется пунктирными линиями с зеленой заливкой. По завершению процедуры будут выбраны все примитивы полностью попавшие в прямую рамку или хотя бы частично попавшие в обратную рамку. При черчении рамки чертеж можно масштабировать и панарамировать, если начальная точка при этом выйдет за границы экрана, рамка будет подрезана по экрану. Данное поведение можно изменить нажав и удерживая клавишу `control` перед указанием второй точки рамки. О наличии и отсутствии подрезки можно судить по диагональным линиям рисуемой рамки. + +.Варианты рамок выбора +image::zcad_ui_selectframes.png[width=75%,pdfwidth=75%] + +[[objectinspector]] +.2. Инспектор объектов +Тут отображаются и редактируются свойства различных сущностей. По умолчанию в нем отображаются настройки программы, но в зависимости от ситуации могут отображаться например свойства выделенных примитивов или параметры запущенной команды. + +На рис. <> в инспекторе отображаются настройки программы. Если в области отображения выделить несколько примитивов, инспектор примет примерно следующий вид: + +.Свойства выделенных примитивов +image::zcad_ui_objectinspector.png[width=25%,pdfwidth=25%] + +Имена свойств доступных только для чтения отображаются серым цветом. Если выделенные примитивы имеют различные значения одноименных свойств, данные значения отображаются как "Разный". Если данные значения фактически отличаются, но из за настроек отображения !!NEEDLINK!! (округления) выглядят одинаково, данные значения помечаются знаком "≈". + +При клике на значение свойства откроется строка редактирования и можно будет изменить значение свойства. Для некоторых свойств доступны специализированные редакторы, открывающиеся в отдельном окне по нажатию кнопки [...] + +Свойства примитивов структурированы следующим образом: + +[plantuml, generated/object_inspector_structure, svg] +---- +!include styles/defaulttree-style.iuml +legend +Инспектор +|_ Обрабатывать_примитивы +|_ Обработка_переменных +|_ Связанные переменные + |_ Переменные связанных примитивов +|_ Переменные + |_ Свои переменные +|_ Расширения + |_ Свойства расширений примитивов +|_ Общие + |_ Основные свойства примитивов +|_ Геометрия + |_ Геометрические свойства примитивов +|_ Разное + |_ Не геометрические свойства примитивов +|_ Суммарно + |_ FILTER + |_ Свойства_для_фильтрации + |_ Просуммированные свойства +end legend +---- + +.. `Обрабатывать примитивы` - тут можно выбрать тип примитивов свойства которых отображаются в инспекторе, а нажатием кнопок `[*]` или `[-]` оставить только примитивы данного типа в текущем выборе или исключить их из текущего выбора + +.. `Обработка переменных` - Управляет способом оотображения набора переменных примитива (см. <> и <>) . `Выбранный примитив` - только переменные выбранных примитивов; `Связанные примитивы` - только переменные связанных примитивов; `Все примитивы` - обрабатываются переменные и примитивов из текущего выбора и связанных с ними примитивов, все переменные отображаются на одной вкладке; `Все примитивы раздельно` - обрабатываются переменные и примитивов из текущего выбора и связанных с ними примитивов, переменные отображаются на разных вкладках; + +.. `Связанные переменные` - на этом уровне структуры будут отображены переменные связанных примитивов, при с значением Process Обработка_переменных=`Все примитивы раздельно` + +.. `Переменные` - на этом уровне структуры будут отображены все доступные в соответствии с значением Process variables переменные. При отображении переменных свзанных примитивов возможна цветовая раскраска значений !!NEEDLINK!! + +.. `Общие` - тут перечислены общие свойства примитивов: слой, цвет, вес и т.п. + +.. `Расширения` - если к выделенным примитивам добавлены расширения, их свойства отображаются здесь. + +.. `Геометрия` - различные геометрические свойства: точки вставки, координаты, длины и т.п. + +.. `Суммарно` - некоторые свойства допускающие суммирование, например при выборе нескольких отрезков тут будет их суммарная длина. Здесь же в ветке `FILTER` будут некоторые свойства допускающие фильтрацию, например можно кнопкой `[*]` оставить в текущем выборе только примитивы лежащие на определенном слое. + + +.3. Окно сообщений +Тут отображается различные сообщения по ходу работы программы. Информация о процессах, сообщения о ошибках, предупреждения, подсказки для пользователя и т.п. + +.4. Командная строка +Тут можно ввести имя команды, тем самым запустив ее, либо ввести координату точки на запрос уже выполняемой команды. + +Поле ввода имеет подсказку меняющуюся по текущей ситуации. Когда программа ожидает ввода команды подсказка имеет вид `Команда>` и `>` когда ожидается координата. Также некоторые команды имеют контекстную подсказку, в которой можно выбрать мышью опции команды + +Перечень доступных команд приведен в <> команда может быть введена как просто по имени, так с операндом. Операнд указывается в скобках после имени команды. Например ввод `Load` вызовет диалог открытия файла чертежа и последующую его загрузку. Ввод `Load(D:\file.dxf)` сразу вызовет загрузку файла `D:\file.dxf`. Парсинг операндов выполняется силами команды, поэтому синтаксис в разных командах отличается. + +Координаты можно вводить как 2D, так и 3D, при этом 2D будут переведены в 3D подстановкой 0 в качестве координаты Z. Также можно вводить как абсолютные, так и относительные (относительно последней указанной точки) значения. Относительные координаты задаются указанием знака `@` перед координатой X. Если включен режим трассировки !!NEEDLINK!! и имеется привязка к оси трассировки, можно указать точку введя расстояние от точки трассировки, отложенное по оси трассировки. + + +Например если в открытом чертеже на запрос `Команда>` ввести `Line`, затем `10,30`, затем `@1,2` будет построена линия с координатами (10,30)-(11,32) + +Командная строка может быть отключена. !!NEEDLINK!! В режиме с выключенной командной строкой становятся доступны буквенные сочетания клавиш - с включенной нажатия букв обрабатываются командной строкой + + +.5. Статусная строка. +Здесь отображаются координаты курсора и прогрессбары долгих процессов. Также есть быстрый доступ к кнопкам переключения различных режимов работы программы !!NEEDLINK!! + +.6. Панели инструментов +Здесь сгруппированы иконки различных команд для их быстрого запуска. !!NEEDLINK!! + +.7. Палитры +Могут отображаться в древовидном виде и в виде списка иконок. К каждому листу дерева или иконке списка может быть привязана произвольная команда, запускаемая при клике по элементу. Как правило это команды вставки устройств или блоков. Древовидные палитры дополнительно оснащены полем фильтра для быстрого нахождения элементов !!NEEDLINK!! + +.8. Навигаторы +Навигаторы служат для быстрой навигации по чертежу, нахождению на нем тех или иных элементов. Представляют из себя настраиваимую древовидную структуру отображения данных. На данный момент в программе доступны навигаторы устройств, кабелей, стояков и примитивов !!NEEDLINK!! + +[[anchordocking]] +#### AnchorDocking +ZCAD в своей работе использует библиотеку `AnchorDocking` !!NEEDLINK!! данная библиотека позволяет склеить (пристыковывать) различные окна в одно. На <> 1,2,3,7,8 являются отдельными окнами склеенными в одно окно. Пустое окно программы выглядит следующим образом: + +.Пустое окно программы +image::zcad_empty_ui.png[width=50%,pdfwidth=50%] + +По периметру окна расположены области для пристыковки панелей инструментов, в центре область пристыковки окон. + +##### Панели инструментов + +Включить панель инструментов можно командой `ShowToolBar` передав ей в качестве операнда имя панели инструментов (или в меню `Вид/Показать окно/Панели инструментов`). Например включаем панель `View`, по умолчанию она отображается в непристыкованном состоянии: + +.Панель инструментов +image::zcad_empty_ui_with_toolbar.png[width=25%,pdfwidth=25%] + +Для пристыковки панели начинаем ее перетаскивать за свободное место (не за заголовок!), при этом будет подсвечиваться предпологаемое новое место расположения панели. При подведении мышки к краю окна будет подсвечена область вдоль края, при отпускании кнопки мыши панель инструментов будет пристыкована +.Стыковка панели инструментов +[cols="1,a,a", hrows=1] +|==== +|Действие |Процесс |Результат + +|Стыковка панели инструментов|image::zcad_empty_ui_drag_toolbar.png[]|image::zcad_empty_ui_docked_toolbar.png[] +|==== + + +В пристыкованном состоянии панели инструментов имеют заголовок в виде двух полосок в начале панели, за этот заголовок панель можно передвигать вдоль края пристыковки и отствковывать, двойной клик по заголовку панели приведет к ее полному раскрытию. Закрыть панель инструментов можно только в отстыкованном состоянии + +##### Окна + +Включить окно программы можно командой `Show` передав ей в качестве операнда имя окна (или в меню `Вид/Показать окно`). Например включаем окно `ObjectInspector`, по умолчанию окно отображается в неприствкованном состоянии: + +.Не пристыкованное окно инспектора объектов +image::zcad_empty_ui_with_objectinspector.png[width=25%,pdfwidth=25%] + +Не пристыкованные окна программы имеют два заголовка - стандартный и нестандартный. За стандартный окна можно только перемещать, за нестандартный - перемещать и пристыковывать. Стыковка окон осуществляется перетаскиванием окна на желаемое место стыковки, при этом область стыковки будет подсвечена. + +.Варианты стыковки окон программы +[cols="1,a,a", hrows=1] +|==== +|Действие |Процесс |Результат + +|Стыковка первого окна|image::zcad_empty_ui_try_dock_oi.png[]|image::zcad_empty_ui_dock_oi.png[] +|Стыковка следующего окна справа от первого|image::zcad_empty_ui_try_dock_second.png[]|image::zcad_empty_ui_dock_second.png[] +|Стыковка следующего окна поверх второго|image::zcad_empty_ui_try_dock_third.png[]|image::zcad_empty_ui_dock_third.png[] +|==== + +В таблице приведены возможные варианты стыковки окон. Первое окно может быть пристыковано только в центр главного окна. Последующие окна могут быть пристыкованы с любой стороны от уже имеющихся, либо поверх них, при этом будет окна будут переключаться вкладками, как показано в третьей строке таблицы. При стыковке окон слева\справа\сверху\снизу между ними появляется разделительный сплитер которым можно регулировать размер окон. + +В заголовке пристыкованных окон появляется дополнительная кнопка минимизации, которая позволяет свернуть окно в тонкий заголовок и разворачивать его при наведении мыши + +При щелчке правой кнопкой мыши по любому разделительному сплитеру можно вызвать контекстное меню стыковки для настройки ее параметров. + +Сохранить раскладку окон и тулбаров можно командой `SaveLayout` или в меню `настройка\Сохранить разбивку окон по умолчанию` + +#### Навигаторы + +Отдельно стоит рассмотреть элемент интерфейса - навигаторы. Навигатор представляет из себя полностью настраиваемую +древовидную структуру отображающую определенные свойства определенных примитивов чертежа. Каждая строка в +структуре навигатора - отдельный примитив. На данный момент доступны навигаторы устройств, кабелей и стояков + +.Навигатор устройств +image::zcad_ui_navigator.png[width=25%,pdfwidth=25%] + +Настройка навигатора производится следующим образом: + +.Органы управления навигатора +image::zcad_ui_navigator_prepare.png[width=25%,pdfwidth=25%] + +[[treeprop_lng]] +.1. Кнопка настройки ветвлений древовидной структуры +Вызывает редактор описания ветвлений древовидной структуры навигатора, либо открывает меню действий с навигатором при нажатии +на стрелку + +.2. Кнопка главной функции +Включает-выключает использование в навигаторе "Главной функции" (Централизация) + +.3. Кнопка редактора фильтра примитивов по типу +Вызывает редактор скрипта фильтрации по типу примитивов см.<> + +.4. Кнопка редактора фильтра примитивов по свойствам +Вызывает редактор скрипта фильтрации по свойствам примитивов см.<> + +.5. Кнопка редактора скрипта настройки отображения дерева +Вызывает редактор скрипта настройки отображения дерева. Ветвление дерева зависит от (<>), +в данном скрипте настраивается например количество столбцов и их заполнение. Данный скрипт выполняется +при создании навигатора, при изменении скрипта выполняется пересоздание навигатора для применения изменений +В общем случае скрипт выглядит так: +[source] +---- +Оператор(Операнд[,Операнд,Операнд ...]) +---- +Доступные типы операндов: +[cols=">4a,<6"] +|====================================================== +| +[source] +---- +'Строка' +----|Строковой параметр - любой текст заключенный в апострофы +| +[source] +---- +Целое положительное число +----| +|====================================================== +Операторы могут разделяться точкой с запятой, запятой, пробелом, переводом строки. Доступны следующие +операторы: +[cols=">4a,<6"] +|====================================================== +| +[source] +---- +SetColumnsCount(Операнд1,Операнд2) +----|Задает количество столбцов в навигаторе, должна присутствовать 1 раз в начале скрипта + +`Операнд1` - Целое положительное число. Количество столбцов в навигаторе + +`Операнд2` - Целое положительное число. Номер столбца чья ширина будет рассчитываться автоматически (нумерация с 0) + +| +[source] +---- +SetColumnParams(Операнд1,Операнд2,Операнд3,Операнд4,Операнд5) +----|Задает параметры столбцов, должна присутствовать для каждого столбца + +`Операнд1` - Целое положительное число. Номер столбца для которого задатются параметры (нумерация с 0) + +`Операнд2` - Строка. Название столбца + +`Операнд3` - Строка. Содержимое столбца + +`Операнд4` - Строка. Имя переменной в которой сохраняется ширина столбца (в файле `rtl\savedvar.pas`) между сессиями работы. Если +переменной пока нет нет, она будет создана с начальным значением 50 + +`Операнд5` - Целое положительное число. Пока не используется +|====================================================== +Примеры скриптов экспорта: + +Два столбца Tree и Comment, содержимое переменной NMO_Name примитива в первом и статичная надпись 'Тут что то тоже надо сделать' во втором + +[source] +---- +SetColumnsCount(2,0); +SetColumnParams(0,'Tree','@@[NMO_Name]','tmpGUIParamSave_NavDev_C0',1); +SetColumnParams(1,'Comment','Тут что то тоже надо сделать','tmpGUIParamSave_NavDev_C1',1) +---- +Три столбца Tree Elevation и Text, с содержимым переменных RiserName, Elevation и Text примитивов + +[source] +---- +SetColumnsCount(3,0); +SetColumnParams(0,'Tree','@@[RiserName]','tmpGUIParamSave_NavRis_C0',1); +SetColumnParams(1,'Elevation','@@[Elevation]','tmpGUIParamSave_NavRis_C1',1); +SetColumnParams(2,'Text','@@[Text]','tmpGUIParamSave_NavRis_C2',1) +---- + +.6. Кнопка обновления +Вызывает перестроение дерева в навигаторе. Обычно при изменениях на чертеже навигаторы обновляются +автоматически, но могут быть ситуации когда требуется в ручную вызвать обновление навигатора + +.7. Кнопки управления ветвлением +Количество и название кнопок зависит от (<>) нажатое или отжатое состояние показывает +включен или нет данный узел в текущий момент. Узлы можно включать\выключать. + +.8. Сохранение текущих настроек навигатора в файл +Открывает окно выбора файла + +.9. Загрузка настроек навигатора из файл +Открывает окно выбора файла + +.10. Подменю выбора вариантов настроек навигатора +Подменю выбора заранее подготовленных вариантов настроек навигатора. Для того чтобы вариант появился в данном подменю +настройку необходимо сохранить в папку $(ZCADPath)/configs + +.11. Быстрый фильтр содержимого навигатора +Поле ввода для быстрой фильтрации содержимого инспектора по тексту. 5Допускает применение символов ? и * diff --git a/styles/defaulttree-style.iuml b/styles/defaulttree-style.iuml new file mode 100644 index 000000000..6ccb03232 --- /dev/null +++ b/styles/defaulttree-style.iuml @@ -0,0 +1,5 @@ +skinparam Legend { + BackgroundColor transparent + BorderColor transparent + FontName "Noto Serif", "DejaVu Serif", serif +} \ No newline at end of file diff --git a/styles/filesystem-tree-style.iuml b/styles/filesystem-tree-style.iuml new file mode 100644 index 000000000..6ccb03232 --- /dev/null +++ b/styles/filesystem-tree-style.iuml @@ -0,0 +1,5 @@ +skinparam Legend { + BackgroundColor transparent + BorderColor transparent + FontName "Noto Serif", "DejaVu Serif", serif +} \ No newline at end of file diff --git a/styles/stylesheet.css b/styles/stylesheet.css new file mode 100644 index 000000000..67a21d76b --- /dev/null +++ b/styles/stylesheet.css @@ -0,0 +1,9 @@ +@import "https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700"; +@import "https://cdn.jsdelivr.net/gh/asciidoctor/asciidoctor@2.0/data/stylesheets/asciidoctor-default.css"; + +.filepath { + font-family: monospace; + font-size: 1.1em; + line-height: calc(1 / 1.1); + color: #ff0000; +} \ No newline at end of file diff --git a/styles/zcadd-theme.yml b/styles/zcadd-theme.yml new file mode 100644 index 000000000..b25761122 --- /dev/null +++ b/styles/zcadd-theme.yml @@ -0,0 +1,21 @@ +extends: default +role: + filepath: + font-family: M+ 1mn + font-style: bold + font-color: #101010 + command: + font-style: bold_italic + font-color: #0000ff + cmdline: + font-family: M+ 1mn + font-style: bold + font-color: #0000ff + ent: + font-style: bold_italic + font-color: #0000ff + hl: + font-style: bold + menu: + font-style: bold_italic + font-color: #0000ff \ No newline at end of file diff --git a/userguide.ru.adoc b/userguide.ru.adoc new file mode 100644 index 000000000..7258afd51 --- /dev/null +++ b/userguide.ru.adoc @@ -0,0 +1,25 @@ +:lang: ru +include::attributes.adoc[] +include::locale/{lang}/gitversion.adoc[] += ZCAD Руководство пользователя + +Андрей Зубарев +{gitversion} +:toc: left +:toclevels: 4 +:sectnums: +:docinfo1: + +<<< +include::locale/{lang}/general_information.adoc[] + +<<< +include::locale/{lang}/getting_started.adoc[] + +<<< +include::locale/{lang}/working_with_program.adoc[] + +<<< +include::locale/{lang}/customization.adoc[] + +<<< +include::locale/{lang}/for_developers.adoc[] \ No newline at end of file diff --git a/userguide.ru.html b/userguide.ru.html new file mode 100644 index 000000000..07165cc9f --- /dev/null +++ b/userguide.ru.html @@ -0,0 +1,86 @@ + + + + + + + + +ZCAD Руководство пользователя + + + + + + + + + + \ No newline at end of file diff --git a/userguide.ru.pdf b/userguide.ru.pdf new file mode 100644 index 000000000..a0522ff13 Binary files /dev/null and b/userguide.ru.pdf differ diff --git a/zc_ZC.dic b/zc_ZC.dic new file mode 100644 index 000000000..c82d19582 --- /dev/null +++ b/zc_ZC.dic @@ -0,0 +1,66 @@ +67 +svg +png +rgb +distrib +dxf +dwg +shx +ttf +bmp +sys +ZCAD +ZCADElectroTech +ZCADELECTROTECH +lin +cmd +xml +filesystem +autosave +preload +autorun +el +valec +zelectro +programdb +rtl +objcalc +objdefunits +velec +blockpreviewexport +oldpalette +defaultlayout +defaultlayoutbackup +myfulscreen +suppressedshortcuts +testlayout +objectinspector +ZCADPath +LastAutoSaveFile +SystemFontsPath +SHGetSpecialFolderPath +CSIDL +UserFontsPath +SHGetSpecialFolderPath +CSIDL +APPDATA +GLU +OpenGL +GDI +LCLCanvas +UpdatePO +NEEDLINK +LUnits +LUnits +LUPrec +AUnits +AUPrec +AngDir +AngBase +InsUnits +TextSize +ru +gitversion +AnchorDocking +ui +nosplash