|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Могут ли загруженные приложения lsp отображаться в виде значка?
Инженер
Санкт-Петербург
Регистрация: 19.07.2013
Сообщений: 211
|
||
Просмотров: 7415
|
|
||||
YngIngKllr Регистрация: 29.03.2005
СПб
Сообщений: 12,968
|
Я тут как раз подобной проблемой занимаюсь.
Идея следующая, программно создавать туллпалитс, на основе xml файла. Файл xml так же создается программно, на основе, lsp файлов. Грубо говоря читаются файлы lsp, и автоматически создаются кнопки. Думаю в ближайшее время выложу результаты.
__________________
Работаю за еду. Working for food. Für Essen arbeiten. العمل من أجل الغذاء Працую за їжу. |
|||
![]() |
|
||||
Регистрация: 10.02.2007
Сообщений: 1,077
|
Пользуюсь LISP-кнопками давно. Весьма удобно.
1. Имеем исполнительный LISP-файл в формате *.lsp на жестком диске вашего компьютера (у меня есть спец папка в каталогах Автокада под название LISP, где хранятся все подобные файлы). 2. В Автокаде (у меня русская версия) идём: Сервис => Адаптация => Интерфейс 3. Далее создаём Новую команду (кнопка "Звёздочка со звёздочкой" справа выше списка команд). 4. Далее пишем имя команды соответствующее её назначению. 5. Указываем путь к Макросу команды на своём компьютере в формате: ^C^C(load "c:/Program Files/Autodesk/AutoCAD 2012 - Russian/LISP/sumMt.lsp");summt , где выделенное жирным - путь к команде на вашем компьютере. Обратите внимание на наклон слэша. 6. Указываем путь к изображениям твоей кнопки. Их можно нарисовать самому из уже имеющихся (Выбрать подходящую иконку сверху и дорисовать, что необходимо. Потом сохранить и затем загрузить для своей команды. Картинки должны иметь размер как у остальных кнопок и формат bmp. 7. Нажимаем "Применить". В списке команд слева появится ваша команда с иконкой. Необходимо схватить её мышкой и перетащить на свободное место (скраю) в одной из панелей инструментов. Нажать "ОК". В принципе всё. Иконка должна появится на панели инструментов. Дальше, чтоб пользоваться её просто достаточно нажать на кнопку. Не нужно ничего дополнительно загружать и т.д. |
|||
![]() |
|
||||
YngIngKllr Регистрация: 29.03.2005
СПб
Сообщений: 12,968
|
Все почти как описано выше в посте №7
Но при этом довольно, быстро делается но с палитрой как то по удобнее работать, но это субъективное мнение. В ближайшее время выложу свое решение... Последовательность показана в картинках.... 1. Создается новая палитра. 2. Создается пользовательская команда... 3. Новую команду перетащить на палитру... Все делается за несколько щечков....
__________________
Работаю за еду. Working for food. Für Essen arbeiten. العمل من أجل الغذاء Працую за їжу. |
|||
![]() |
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,611
|
Добавлю к посту DEMа
Так удобно делать если создаете первую команду на палитре. В остальных случаях если потащить строку с командой зажав ctrl, то строка команды будет скопирована, затем зайти в ее свойства и прописать новую команду |
|||
![]() |
|
||||
YngIngKllr Регистрация: 29.03.2005
СПб
Сообщений: 12,968
|
НУ вот выкладываю прототип программы с исходниками...
Может кто заинтересуется идей и пособит... Программа делает следующее, при загрузке создается Palette... При нажатии на кнопку Редакт. Программа ищет в той папке где она расположена файлы lsp. В них она ищет defun c: и заносит команду в 1-й стоблец таблицы. Если потом нажать на ячейку, то эта команда соответственно будет отправленна в командную строку. Может у кого есть какие идеи по этому поводу, прога Tool_pal.dll скомпилена для Автокада 2013. Предполагается, в дальнейшем сделать проверку на то загружен ли файл lsp. Если он не загружен то будет загружаться в автокад. В последующем колонку описание предполагается заполнять так же значениями из файла lsp. Так же предполагается, что можно будет создавать xml файл и из него заполнять палитру, а не каждый раз проверять какие файлы лежат в данной папке... Так же в файл xml можно будет добавлять дополнительные команду и скрипты. Ps. Может кто из профи подскажет что делать если файл расположен на сетевом диске. Автокад ругается и не хочет считывать файлы. Блог лысого чувака читал, так и не понял чего он там шаманит.
__________________
Работаю за еду. Working for food. Für Essen arbeiten. العمل من أجل الغذاء Працую за їжу. Последний раз редактировалось DEM, 11.09.2013 в 17:44. |
|||
![]() |
|
||||
это только кличка Регистрация: 22.10.2006
Москва
Сообщений: 252
|
Цитата:
Если предположить, что в некоторой папке лежат .lsp, .fas, .vlx, .dll, .arx и какие-то еще файлы, представляющие собой единое логическое целое - прикладное расширение к автокаду, то я бы положил в эту папку файл-манифест (.xml). Как минимум, в этом файле должна содержаться информация о порядке загрузки приложения и предлагаться меню (можно и иерархическое). Останется написать локомотив - менеджер умеющий читать эти манифесты и загружать подобные приложения в автокад. Ну и визуализировать меню, разумеется. Идея-то далеко не нова. Autodesk® Exchange Apps на похожих принципах реализован. Но это не значит что нельзя сделать лучше.
__________________
...в шее моей жилы железные, и лоб мой - медный... |
|||
![]() |
|
||||
YngIngKllr Регистрация: 29.03.2005
СПб
Сообщений: 12,968
|
Pastor
Дык в принципе так и собираюсь сделать, сперва будут парсится файлы, и создаваться xml. Потом в палитру будут загружаться команды из xml. Причем можно будет сделать еще один дополнительный xml, в котором можно будет хранить скрипты для Vova Фактически это попытка повторить ваше WebMenu
__________________
Работаю за еду. Working for food. Für Essen arbeiten. العمل من أجل الغذاء Працую за їжу. Последний раз редактировалось DEM, 11.09.2013 в 18:37. |
|||
![]() |
|
||||
строю, ломаю Регистрация: 03.04.2008
Украина
Сообщений: 5,515
|
Как говорил один мой знакомый клоун (настоящий): "С клоуном поведешься, от клоуна и забеременеешь". Я уже почти 10 лет пользуюсь обыкновенным меню. Чтобы добавить команду в приложение, нужно добавить всего три строчки в меню. Хотя нет, вру,
![]() |
|||
![]() |
|
||||
YngIngKllr Регистрация: 29.03.2005
СПб
Сообщений: 12,968
|
gomer
Ну дык а тут вообще ничего писать не надо будет, ну максимум одну строчку. К тому же эта штука будет для быстрой загрузке программ. Кинул в папку и забыл. Пересел за другой комп скопировал папку, поставил на автозагрузку и все дела. Причем можно эту папку добавить в синхронизацию по дропбокс или гуглдиск
__________________
Работаю за еду. Working for food. Für Essen arbeiten. العمل من أجل الغذاء Працую за їжу. |
|||
![]() |
|
||||
строю, ломаю Регистрация: 03.04.2008
Украина
Сообщений: 5,515
|
Первое см. у Vova ака Владимир Свет, второе у ShaggyDoc ака Сергей Зуев, третье у Н.Н.Полещук ака Н.Н.Полещук. Но читать одним глазом, вторым думать...
DEM, Зачем мне приложение в автокаде, которое после загрузки того, что мне надо, ничего не будет делать, просто сидеть в памяти, когда я могу тоже самое сделать штатными средствами автокада? к тому же вы не сможете отпарсить компилированные лиспы, ваша идея, как и идея hwd напоминает мне яблочный презерватив. Ну и автостол туда же. Разработка стоящего приложения с нуля длится года три не больше, это самый сок, потом это так сказать приложение обрастает хламом. Последний раз редактировалось gomer, 11.09.2013 в 21:14. |
|||
![]() |
|
||||
YngIngKllr Регистрация: 29.03.2005
СПб
Сообщений: 12,968
|
Ну и чем же данная палитра противоречит этим книгам?
Думаю и Вова оценит данную прогу. Наоборот даже ее можно сделать более интуитивную.
__________________
Работаю за еду. Working for food. Für Essen arbeiten. العمل من أجل الغذاء Працую за їжу. |
|||
![]() |
|
||||
строю, ломаю Регистрация: 03.04.2008
Украина
Сообщений: 5,515
|
Vova рисует в автокаде для бедных, даже если это давно не так. это раз
Палитра инструментов импортируется один раз при установке так же просто, как загружается меню, при этом команды загружаются автоматически при правильной организации, либо прописанные в mnl, либо в самом cui, но мне лично это не нравится. С другой стороны чем больше приложений загружено тем вероятнее фатал эррор. |
|||
![]() |
|
||||
YngIngKllr Регистрация: 29.03.2005
СПб
Сообщений: 12,968
|
Так ты не ответил чем прога противоречит....
Даже если это не lt авТоГад А еще по части гуглдиска синхронизации, тоже промолчал.
__________________
Работаю за еду. Working for food. Für Essen arbeiten. العمل من أجل الغذاء Працую за їжу. |
|||
![]() |
|
||||
строю, ломаю Регистрация: 03.04.2008
Украина
Сообщений: 5,515
|
Есть вещи, которые нельзя доверять машинам, например управление миром. Автодеск уже сделал нормальный механизм загрузки программ из сети, ну у них свои алчные интересы. Но они же и намекнули, что все эти ваши доморощенные поделки - это призрак коммунизма и от части они правы, так как периодически тут возникают темы типа ой у меня все 10 лет работало и вдруг...
Вопрос же лишь в том, с какой стороны палки дуть, чтоб засвистело. ну вот я допилил прокат (ну почти). Все работает как надо, устанавливается без фейспалмов в несколько кликов. Очень простой механизм, сколько я на него потратил время, ну, пол часа от силы. А лиспы пилил гораздо дольше, так и с любым приложением, где много букаф. Я могу таких прокатов наделать хоть с два ведра и все будет как часы работать, НО, только в части загрузки, да и то не факт, а протянутая рука из зимбабве можно стать причиной обширного батхерта в любой момент. Все это новые реалии, о которых не шло речи в ТЕХ книгах. А противоречие в подходе, одно дело делать комплекс, другое дело натыкивать с миру по нитке. |
|||
![]() |
|
||||
это только кличка Регистрация: 22.10.2006
Москва
Сообщений: 252
|
Цитата:
![]()
__________________
...в шее моей жилы железные, и лоб мой - медный... Последний раз редактировалось Pastor, 12.09.2013 в 00:23. |
|||
![]() |
|
||||
YngIngKllr Регистрация: 29.03.2005
СПб
Сообщений: 12,968
|
Pastor
Пособите пока со следующим.... 1. У меня сейчас не получается работать с данной программой по сети, т.е. если файл на локальном диске, то все ОК, если перемещаю на сетевой диск, то автокад начинает ругаться. Как это можно обойти? Блог лысого чувака читал, но он на англлийском, поэтому не разобрался о чем он талдычит(гугл перевод не предлагать уже пробовал) 2. Как привязать пользовательскую форму к краям палитры, чтобы при растягивании палитры увеличивалась и форма. 3. Как сохранять положение палитры на экране между сеансами работы. PS. Принимаются предложения по интерфейсу палитры, какие столбцы и т.п. стоит применять, может лучше сделать по аналогии с webmenu форму на html и разместить её на палитре? Offtop: gomer каждый дт как он хочет, мы приняли твою точку зрения....
__________________
Работаю за еду. Working for food. Für Essen arbeiten. العمل من أجل الغذاء Працую за їжу. |
|||
![]() |
|
||||
это только кличка Регистрация: 22.10.2006
Москва
Сообщений: 252
|
Я бы файлы с сетевого диска (а в перспективе с удаленного сервера) копировал (загружал) в специально организованный кэш на локальном компьютере, а в автокад грузил уже из кэша. В этом случае все заморочки с загрузкой из сети исключаются и сетевой трафик не тратится до момента обновления файлов на сервере и, как следствие, возникшей необходимости обновить (синхронизировать) кэш.
Размещать в тулпалетте браузер имеет смысл в случае, когда в результате сканирования некоторого каталога создается xml-файл, содержащий всю информацию о доступных командах. А далее, с помощью XSL преобразования на его основе генерируется HTML-файл, который и отображается браузером. Такой подход позволяет просто изменив XSLT-файл, на основании всё того же XML, получить совершенно другой вид пользовательского интерфейса. Но всё вместе - это много сложнее, чем размещать на тулпалетте свой UserControl, содержащий таблицу из двух колонок: в первой - иконки, во второй - название команды, и сразу же заполнять её. Я бы начал со второго варианта, ибо толковая книга по XSLT - 960 страниц, толковые книги по HTML+CSS вместе около 1000 страниц, толковая книга по JavaScript - 992 страницы. ![]()
__________________
...в шее моей жилы железные, и лоб мой - медный... |
|||
![]() |
|
||||
YngIngKllr Регистрация: 29.03.2005
СПб
Сообщений: 12,968
|
Pastor
Та ладно не пугай так, я пока проще поступлю. Пока команды будут отображаться в колонках, будет 3-4 вкладки на палитре. Будет окно настройки, на какой вкладке какие кнопки будут. БУдет вкладка с настройками и форма с отображением HELP
__________________
Работаю за еду. Working for food. Für Essen arbeiten. العمل من أجل الغذاء Працую за їжу. |
|||
![]() |
|
||||
- Регистрация: 24.07.2005
Москва
Сообщений: 1,335
|
2 DEM
Цитата:
не занимайтесь секасом с тулпалетами, потому что автодеск все поменяет завтра будете программу переписывать лучше посмотрите мое видео https://docs.google.com/a/kep2010.ru...1CaGhPRWM/edit |
|||
![]() |
|
||||
YngIngKllr Регистрация: 29.03.2005
СПб
Сообщений: 12,968
|
Sleekka
Если честно, не понял в чем суть твоего видео... Мне на самом деле вообще пофигу по части тулплетов и т.п., я могу спокойно создать немодальное окно, которое будет вести себя аналогично Туллпалетс.... Если надо будет перепишу... А по части того что на локальный диск прогу перенести, дык просто все Лиспы в нашей организации в сетевой папке лежат, туда соответственно хотелось бы положить и эту программу, а потом добавить её в автозагрузку.
__________________
Работаю за еду. Working for food. Für Essen arbeiten. العمل من أجل الغذاء Працую за їжу. |
|||
![]() |
|
||||
YngIngKllr Регистрация: 29.03.2005
СПб
Сообщений: 12,968
|
Чей то как то тихо по теме, и автор свалил....
Может новую начать тему болеее развернутую, по созданию программы которая сможет скачивать лиспы с dwg.ru и помечать уже скаченные программы.... Некий аналог Autodesk.App но для программ с данного сайта, при этом сделать подкорректировать коды, чтобы можно было автоматически добавлять команды в палитру... Вот немного доделал прототип программы, теперь можно вызвать краткий Help. Если кликнуть по 2-му столбцу...
__________________
Работаю за еду. Working for food. Für Essen arbeiten. العمل من أجل الغذاء Працую за їжу. |
|||
![]() |
|
||||
строю, ломаю Регистрация: 03.04.2008
Украина
Сообщений: 5,515
|
Великие художники, чтобы стать великими, много бумаги замарали своими эскизами. Теперь эти эскизы продаются за бешеные деньги... А если серьезно, сломал я вашу программу буквально за 5 мин, причем 3 из них я просто втыкал на это чудо. Надеюсь сами разберетесь, где накосячили
|
|||
![]() |
|
||||
YngIngKllr Регистрация: 29.03.2005
СПб
Сообщений: 12,968
|
gomer
Дык я только прототип сделал. Меня больше интересует, стоит ли вообще заморачиваться с попыткой создания прогу аля App.Store Так то я доделаю немного по другому работу программы, она не каждый раз будет парить lsp файлы. Самый главный + то что файлы лисп можно просто в папку кидать и использовать, не добавляя всякие кнопки.
__________________
Работаю за еду. Working for food. Für Essen arbeiten. العمل من أجل الغذاء Працую за їжу. Последний раз редактировалось DEM, 16.09.2013 в 20:08. |
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Разработка ПОС, искусство проектирования | Tyhig | Технология и организация строительства | 117 | 25.11.2021 17:38 |
Какой язык перспективен для инженера-конструктора с условием | The_Mercy_Seat | Программирование | 705 | 17.03.2021 14:19 |
Сейсмозащита и сейсмоизоляция существующих, построенных зд. | IANationalInformAgentstvo | Прочее. Архитектура и строительство | 216 | 20.01.2015 16:51 |
запуск программы из AutoCADа | kminas | Программирование | 19 | 15.06.2012 13:42 |