| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > в помощь проектировщикам ОПС

в помощь проектировщикам ОПС

Ответ
Поиск в этой теме
Непрочитано 20.10.2006, 13:04
в помощь проектировщикам ОПС
water
 
инженер-проектировщик слаботочных систем
 
Регистрация: 01.07.2006
Сообщений: 16

Возможно действительно стоит создать отдельную тему. Ну, вот и собралась.
Задачи :
1- расстановка пожарных извещателей в помещении: руководствоваться следует нормами пожарной безопасности НПБ 88
http://0-1.ru/law/showdoc.asp?dp=npb8801&chp=12 (табл.5- 8)
Было бы удобно сделать так: тиснем пимпочку с изображением необходимого пожарного извещателя, вводим высоту помещения, далее выделяем линии, дуги и др. (то что ограничивает помещение), пимкаем на интер и и извещатели равномерно и в нужном количестве стоят внутри выделенного помещения. Рамкой выделять помещение не удобно, т.к. не учитываются скругления стен (если они есть).
Было бы интересно сделать так, что б если помещение прямоугольное , выделять его рамкой, если имеются дуги, то по элементам.
Для начала хватит, фантазия у меня буйная, проектировать приходится много, и идей по автоматизации процесса много.
Могу скинуть на почту имеющийся вариант решения и указать его недостатки.
Просмотров: 104424
 
Непрочитано 28.08.2013, 14:13
#161
zamtmn

КИПиА
 
Регистрация: 21.03.2005
Tyumen
Сообщений: 1,352
<phrase 1=


>>осталось со структурой в инспекторе разобраться
Логично, но пока я небуду этого делать. На данный момент то что в инспекторе показывается по умолчанию - просто перечень системных переменных зкада. Добавил переменную в коде - она появилась в инспекторе автоматом, никакой "лишней" оформительской работы. Структурирование подразумевает либо появление "лишнего" кода, который нужно в дальнейшем поддерживать в актуальном состоянии, либо повышение сложности типов переменных (появление record`ов с большой вложенностью) - тоже нехотелось бы, т.к. я надеюсь когданибудь всетаки появится более-менее полноценный внутренний скриптовый язык, вместо самодельного огрызка который есть сейчас - чем проще переменная, тем ее легче туда будет экспортировать.
В дальнейшем планирую оставить в "умолчательном" инспекторе самый минимум, а для всего остального стелать "обертки" по типу как сейчас с привязками сделано.
zamtmn вне форума  
 
Непрочитано 28.08.2013, 14:49
#162
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


ну, тогда хоть сделайте кнопки F7 и F9 на вкл/выкл сетки и шп
gomer вне форума  
 
Непрочитано 31.08.2013, 03:10
#163
zamtmn

КИПиА
 
Регистрация: 21.03.2005
Tyumen
Сообщений: 1,352
<phrase 1=


Добавил возможность привязки шорткатов к "быстрым" кнопкам, раньше привязка была только к командам. Соответственно в 631 ревизии заработали F3, F7, F9, F10
Теперь можно сказать что интерфейс в зкаде полностью настраиваемый, ну и собственно пара слов о его настройке:

Докинг окон программы базируется на лазаревском пакете anchordocking, этот пакет еще сыроватый, но заниимением лучшего приходится использовать.
Окошки стыкуются при таскании за дополнительный "заголовок". Опции стыковки вызываются правым щелчком на допзаголовках или сплитерерах. Можно натроить вид как душе угодно и сохранить его в меню настройка\сохранить разбивку окон по умолчанию. Разбивка сохраняется в файл components\defaultlayout.xml. Все присутствующие в папке components иксмл файлы являются разными вариантами настроек стыковки, в дальнейшем переключение между вариантами будет осуществляться налету (комбобокс в правом-верхнем углу главного окна) но пока изза упомянутой сырости эта возможность глючит.

Привязка шорткатов к командам программы сделана через так называемые "action" в файле menu\actions.acn, файл состоит из строк вида
action ACN_ИМЯ,команда,иконка.bmp,название для меню,хинт,шорткат
например
Код:
[Выделить все]
,,,,тут немного порезано лишнего'''''
action ACN_SAVEAS,SaveAs,saveas.bmp,Save as ...,Save drawing as,CTRL+SHIFT+S
action ACN_SAVEQS,QSave(QS),#QS,Save (Autosave),Autosave,
,,,,тут немного порезано лишнего'''''
тут к команде SaveAs привязано сочетание CTRL+SHIFT+S, а к QSave(QS) ниче не привязано. Бмпшки иконок должны лежать в папке menu\BMP

Структура меню и панели определены в файле menu\mainmenu.mn
Панели определяются ключевым словом Panel, именем панели и перечнем экшенов (из actions.acn) расположенных на этой панели. Примерно так:
Код:
[Выделить все]
Panel OIButtons;
  {
    action ACN_SNAPRUNTIME
    Separator
    action ACN_El_FIND
    Separator
    action ACN_OBJVARMAN
    action ACN_MULTIOBJVARMAN
  }
Это определение панельки расположенной над инспектором объектов.
Вместо экшенов на панель можно ставить кнопки для быстрого доступа к переменным, например:
Код:
[Выделить все]
Panel Status;
  {
    Separator
    variable DWG_SnapGrid,snaptogrid.bmp,Snap,F9
    variable DWG_DrawGrid,1.bmp,Display grid,F7
    ,,,,тут немного порезано лишнего'''''  
  }
В формате
variable имяпеременной,иконка.bmp,хинт,шорткат

Элемент меню программы задается ключевым словом MainMenuItem, именем и перечнем экшенов:
Код:
[Выделить все]
MainMenuItem Settings;
  {
    action ACN_OPTIONS
    action ACN_SAVEOPTIONS
    Separator
    action ACN_DOCKOPT
    action ACN_SAVELAYOUT
  }
В единое меню всё собирается строчкой
Код:
[Выделить все]
CreateMenu MainMenu File,Edit,View,Format,Draw,Modify,Schematic,Plan,Info,Model,Settings,Window,Help,Debug,DB;
т.е. создается меню с названием MainMenu из элементов определенных выше в файле.

Один и тотже экшен может фигурировать в разных меню и панелях много раз.

Заставить зкад включить новую панель инструментов определенную в mainmenu.mn можно командой
Код:
[Выделить все]
show(имяпанели)
после сохранения разбивки эта панель будет открываться при старте программы
zamtmn вне форума  
 
Непрочитано 03.09.2013, 12:53
#164
zamtmn

КИПиА
 
Регистрация: 21.03.2005
Tyumen
Сообщений: 1,352
<phrase 1=


Выложил zcad_v0.9_svn631.7z где учел замечание gomer по поводу диалога закрытия несохраненного чертежа.
+В инспекторе появилась удобная функция переключения буленовских параметров чекбоксом за один клик (старый комбобокс тоже сохранен)
Offtop: з.ы. как обычно "списочек" выполняется с конца))
zamtmn вне форума  
 
Непрочитано 09.09.2013, 01:09
#165
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


zamtmn, можно сделать прорисовку линии от последней точки полилинии до курсора, как при рисовании отрезков? Кстати почему при включенной системной графике часть объектов становятся серыми?
зы насчет меню все это интересно конечно, но имхо лучше ориентироваться на акадовский формат cui
зызы я так понимаю, шрифты, которые используются в блоках, вы не включаете в дистрибутив + это непонятное мне слияние блоков, отчего в текстовом окне настоящий кавардак. Кстати почему разные шрифты использовали в сходных по назначению блоках?
gomer вне форума  
 
Непрочитано 09.09.2013, 13:18
#166
zamtmn

КИПиА
 
Регистрация: 21.03.2005
Tyumen
Сообщений: 1,352
<phrase 1=


Цитата:
сделать прорисовку линии от последней точки полилинии до курсора, как при рисовании отрезков?
можно. сделаю.

Цитата:
Кстати почему при включенной системной графике часть объектов становятся серыми?
Гдето забыл восстановить цвет примитивов. Но это нужно только при ловле багов, чтоб визуально оценить качество пространственной разбивки чертежа и правильность определенья габаритов примитивов

Цитата:
зы насчет меню все это интересно конечно, но имхо лучше ориентироваться на акадовский формат cui
Переодически в почту\аську приходят подобные вопросы, буду давать ссылку на форум. cui - не, спасибо)) то что есть пока полностью перекрывает мои потребности

Цитата:
зызы я так понимаю, шрифты, которые используются в блоках, вы не включаете в дистрибутив + это непонятное мне слияние блоков, отчего в текстовом окне настоящий кавардак. Кстати почему разные шрифты использовали в сходных по назначению блоках?
Блоки надерганы у пользователей без причесывания - поэтому кавардак с шрифтами)). Кавардак в окне истории потому что оно одно на все чертежи
Слияние блоков это про DEVICE_имяблока? я так эмулирую атрибуты + добавляю некоторую долю "динамичности" блокам. Это всегда вызывает вопросы, хотя имхо очень простой и гибкий механизм вписывающийся в рамки древнего dxf2000

выложил ревизию 657 - мелкие исправления\добавления в интерфейсе
zamtmn вне форума  
 
Непрочитано 09.09.2013, 20:59
#167
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Цитата:
Сообщение от zamtmn Посмотреть сообщение
Гдето забыл восстановить цвет примитивов.
Возможно это от того, что системная графика прорисовывается поверх примитивов...
У меня на работе монитор девятнашка, сколько зкад ни запускал, командная строка где-то прячется, дома 20ка широкоэкранная и ком строка на месте... и еще зкад не запоминает состояние главного окна, приходится разворачивать постоянно...
gomer вне форума  
 
Непрочитано 09.09.2013, 21:27
#168
zamtmn

КИПиА
 
Регистрация: 21.03.2005
Tyumen
Сообщений: 1,352
<phrase 1=


Цитата:
Возможно это от того, что системная графика прорисовывается поверх примитивов...
Да, там где рисуется поверх - затирает. поправлю на досуге
Цитата:
У меня на работе монитор девятнашка, сколько зкад ни запускал, командная строка где-то прячется, дома 20ка широкоэкранная и ком строка на месте... и еще зкад не запоминает состояние главного окна, приходится разворачивать постоянно...
Странно, на 19шке должно быть всё видно, наверно разрешение неахти.
В этом случае нужно запустить зкад с ключем комстроки nll (No Load Layout) например zcad nll - разбивка окон по умолчанию загружена не будет, сформировать нужную конфигурацию и размер окна руками и выполнить команду SaveLayout (или пункт меню настройка\сохранить разбивку окон по умолчанию). При последующих запусках будет использована созданная конфигурация
>>и еще зкад не запоминает состояние главного окна, приходится разворачивать постоянно...
запоминает, только нужно не забывать делать SaveLayout как в абзаце выше.
zamtmn вне форума  
 
Непрочитано 12.09.2013, 11:31
#169
zamtmn

КИПиА
 
Регистрация: 21.03.2005
Tyumen
Сообщений: 1,352
<phrase 1=


666 ревизия
Добавил в первом приблтжении создание-удаление слоев.
Вскрылся целый пласт проблем системы undo-redo - многое в нее не завернуто по разным причинам - такчто при отмене создания слоя пока на нем могут остаться примитивы((
zamtmn вне форума  
 
Непрочитано 22.09.2013, 02:43
#170
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Цитата:
Сообщение от zamtmn Посмотреть сообщение
Странно, на 19шке должно быть всё видно, наверно разрешение неахти.
Разрешение 1152х864 - стандартное для 19''. Какое значение Position у вас в формах?
gomer вне форума  
 
Непрочитано 22.09.2013, 12:24
#171
zamtmn

КИПиА
 
Регистрация: 21.03.2005
Tyumen
Сообщений: 1,352
<phrase 1=


Фрагмент defaultlayout.xml
Код:
[Выделить все]
        <Bounds Top="61" Left="231" Width="1236" Height="864">
          <WorkArea>
            <Rect Right="1920" Bottom="1080"/>
          </WorkArea>
        </Bounds>
Соответственно низ окна подразумевается на y=925. Погляжу можно ли смасштабировать layout при необходимости, пока только рецепт из #168
zamtmn вне форума  
 
Непрочитано 22.09.2013, 15:36
#172
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Цитата:
Сообщение от zamtmn Посмотреть сообщение
Погляжу можно ли смасштабировать layout при необходимости, пока только рецепт из #168
Не нужно ничего масштабировать, нужно показывать главное окно по центру рабочего стола Position := poDesktopCenter, а дочерние окна посередине главного окна - Position := poMainFormCenter. Таким образом можно запоминать только величину окна.
И еще хотелось бы режим орто...
зы со слоями уже намного веселее
gomer вне форума  
 
Непрочитано 22.09.2013, 16:38
#173
zamtmn

КИПиА
 
Регистрация: 21.03.2005
Tyumen
Сообщений: 1,352
<phrase 1=


>>Таким образом можно запоминать только величину окна.
С докингом всё несколько сложнее. Без него примерно так и есть.
Насчет орто хз. Я вообще планировал только трассировки и привязки, но с миру по нитке и набралось уже и сетка и шаг)) Словлю вдохновление - зделаю, сейчас это уже несложно будет - чтото вроде упрощенной трассировки.
zamtmn вне форума  
 
Непрочитано 22.09.2013, 17:09
#174
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Цитата:
Сообщение от zamtmn Посмотреть сообщение
С докингом всё несколько сложнее. Без него примерно так и есть.
Согласен, а можно убрать из меню вид пункт вид, а его содержимое добавить в меню вид (сори за каламбур), т.е. уменьшить вложенность меню?
И еще добавить на главную панель инструментов меню масштабирование, хотя нет, для этого нужно реализовать команду Zoom с опцией Window. Ой, zoom вообще не работает с командной строки...
Кстати, насчет кс. Можно сделать так, чтоб при нажатии пробела вызывалась последняя команда, а не просто добавлялся пробел?..
gomer вне форума  
 
Непрочитано 22.09.2013, 17:45
#175
zamtmn

КИПиА
 
Регистрация: 21.03.2005
Tyumen
Сообщений: 1,352
<phrase 1=


>>Согласен, а можно убрать из меню вид пункт вид, а его содержимое добавить в меню вид (сори за каламбур), т.е. уменьшить вложенность меню?
Можно, но т.к. на всех не угодишь, я с чистой совестью приделал механизм из #163 - каждый сам делает как ему надо. (с оглядкой что парсер всего этого дела пока толком не тестировался, нужно быть аккуратнее)
Кстати по командам камеры еще замечание - они все забиндены на хоткеи (типа home, up, pgup), но изза "бага" http://bugs.freepascal.org/view.php?id=23082 этот биндинг работает только в английской версии. Разрабы лазаря вроде баг приняли, но никаких рекомендаций или исправлений пока небыло
>> для этого нужно реализовать команду Zoom с опцией Window.
ок.
>>Ой, zoom вообще не работает с командной строки...
работает в виде zoom(in) zoom(out) pan(left) и т.д.
>>Кстати, насчет кс. Можно сделать так, чтоб при нажатии пробела вызывалась последняя команда, а не просто добавлялся пробел?..
Погляжу. пока повтор есть по ентеру

Последний раз редактировалось zamtmn, 22.09.2013 в 18:08.
zamtmn вне форума  
 
Непрочитано 22.09.2013, 18:50
#176
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Цитата:
Сообщение от zamtmn Посмотреть сообщение
Разрабы лазаря вроде баг приняли, но никаких рекомендаций или исправлений пока небыло
А какая версия у вас? В инспекторе пишет fpc 2.7.1. Хотя самая новая - 2.6.2. Или у них там внутренняя нумерация еще?

Кстати насчет инспектора, текущий listbox при перетягивании разделителя название/значение не растягивается, только постфактум... Да и вообще нужен ли он, если есть тогл...
gomer вне форума  
 
Непрочитано 22.09.2013, 19:25
#177
zamtmn

КИПиА
 
Регистрация: 21.03.2005
Tyumen
Сообщений: 1,352
<phrase 1=


У меня версии из репозиториев разработчиков, fpc я обновляю довольно редко - только когда есть серъезные изменения, а lazarus почти каждый день, т.к. последнее время часто шлю багрепорты и они вроде активно исправляются (это в основном касается linux qt версии). Как в большинстве опенсурсных проектов в лазаре и фпц стабильные версии четные, нестабильные нечетные. Соответственно последние стабильные версии фпц - 2.6.2, лазарус 1.0.10 (или 1.0.12 - не слежу за этим) а в репозиториях 2.7.1 и 1.1
В стабильных версиях всё компилируется и работает, но могут быть небольшие различия - последнее что помню в фпц 2.6.х нужно руками скомпилировать пакет fpc-stl. Такчто если есть желание покопаться в потрохах - лучше поставить версии из репозиториев.
>>Кстати насчет инспектора, текущий listbox при перетягивании разделителя название/значение не растягивается, только постфактум...
да, там требуется хирургия)) Починил
>>Да и вообще нужен ли он, если есть тогл...
Выпиливать фичи - нетрудно, пусть пока так и останется до лучших времен

update:
>> для этого нужно реализовать команду Zoom с опцией Window.
Приделал, но в виде отдельной команды - ZoomWindow . Заодно приделал Zoom(sel) - смасштабироваться до текущего выбора
выложил rev. 692

update:
Появилась панелька "быстрой" настройки привязок налету

Последний раз редактировалось zamtmn, 27.09.2013 в 08:59.
zamtmn вне форума  
 
Непрочитано 01.10.2013, 14:27
#178
zamtmn

КИПиА
 
Регистрация: 21.03.2005
Tyumen
Сообщений: 1,352
<phrase 1=


710 ревизия.
+Повтор по пробелу если командная строка пустая
+история команд
+аналог pickadd
+много всякой мелочи по интерфейсу
zamtmn вне форума  
 
Непрочитано 09.10.2013, 13:37
#179
zamtmn

КИПиА
 
Регистрация: 21.03.2005
Tyumen
Сообщений: 1,352
<phrase 1=


+наконец осилил типы линий для криволинейных объектов, т.е. для окружностей, дуг и сплайнов.
-никак не догоню как работает параметр "генерация типов линий" для замкнутых полилиний (окружности и замкнутые сплайны сюда тоже подпадают). Чтоб ровно вписать паттерн типа лини в замкнутый объект его нужно смасштабировать. Автокад не масштабирует и вписывает... чудеса((
zamtmn вне форума  
 
Непрочитано 09.10.2013, 15:15
#180
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,095


Цитата:
Сообщение от zamtmn Посмотреть сообщение
Автокад не масштабирует и вписывает
Почему не масштабирует? Просто следит, чтобы масштабирование было в разумных пределах, после выхода за которые надо добавлять/исключать один повтор паттерна. Попробуйте нарисовать несколько концентрических окружностей с малым шагом и назначить им какой-нибудь крупный штрих-пунктир.
kp+ вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > в помощь проектировщикам ОПС

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск