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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Использование файлов *.htm в качестве панели инструментов к макросу.

Использование файлов *.htm в качестве панели инструментов к макросу.

Ответ
Поиск в этой теме
Непрочитано 11.02.2008, 16:15
Использование файлов *.htm в качестве панели инструментов к макросу.
Supermax
 
Руководитель фирмы
 
Москва
Регистрация: 28.03.2007
Сообщений: 1,831

Я слегка наловчился делать интернет-файлы *.htm и запускать кнопками от туда макросы в каде и даже чертить. Дизайн можно делать какой угодно, в отличии от DCL. Пытаюсь избавиться от шапки обозревателя. Может кто-нибудь что-нибудь может подсказать?

---------------------

Вот так все начиналось. А закончилось в посте №13 первым в мире вебмакросом к Автокаду.
Я очень горд данным фактом, вы поймите меня правильно.
Огромное спасибо всем. Kpblc-у, VVA и всем, кто меня поддерживал и мне помогал. Директору фирмы ИНФОСАНА огромная благодарность за сотрудничество в создании этого очень перспективного и полезного продукта.
Открыт новый источник финансирования создания прикладных программ и существенно раздвинуты границы возможностей этого направления.
Спасибо всем еще раз.

Последний раз редактировалось Supermax, 18.07.2008 в 09:31.
Просмотров: 31479
 
Непрочитано 11.04.2010, 18:22
#101
Pastor

это только кличка
 
Регистрация: 22.10.2006
Москва
Сообщений: 252


Понятнее стало только с объектами. Это оказывается просто dwg-файлы автокада. И что ваш флэш-шлюз с этими "элементами в формате .dwg" будет дальше делать?
На самом то деле мне всё изложенное непонятно прежде всего с точки зрения конечного пользователя. Вот я имею перед глазами открытый автокад. Вот я открываю до кучи браузер, набираю в стороке адреса URL вашей навороченной страницы? Зачем? Что я там на странице увижу, какие действия должен делать с увиденным, что в результате должен получить?
Идея тов. Supermaxа, изложенная в начале темы - это желание использовать Web-браузер в качестве универсального средства отображения диалогов. Т. е в автокаде имеется загруженное приложение у которого весь front-face находится на некотором web-сайте. В процессе работы с приложением вы вынужденно посещаете этот сайт, набивая ему рейтинг, а так же временами от скуки щелкаете по баннерам. Тем самым получаете в лице владельца сайта лучшего друга и спонсора, оплачивающего разработку приложений подобного рода. А приложения подобного рода могут быть нетривиальны и весьма полезны широкому кругу пользователей автокада. Так что идея не так и плоха.
Остается узнать что же предлагаете вы.
__________________
...в шее моей жилы железные, и лоб мой - медный...
Pastor вне форума  
 
Непрочитано 11.04.2010, 19:22
#102
AndrejX

Руководитель ИТ фирмы
 
Регистрация: 16.07.2008
Сообщений: 27
<phrase 1= Отправить сообщение для AndrejX с помощью Skype™


Цитата:
Сообщение от Pastor Посмотреть сообщение
На самом то деле мне всё изложенное непонятно прежде всего с точки зрения конечного пользователя.
С точки зрения конечного пользователя флеш-шлюз является расширением начальной идеи Supermax'a. Т.е. начальная идея была использовать простые HTML страницы с наличием каких-то функциональных элементов (кнопки, списки и пр.), при взаимодесйтвии пользователя с которыми (посредством Javascript или VBScript) выполнялись какие-то ЛИСП команды в Автокаде. При использовании флеш-шлюза - мы имеем практически то же самое, только с точки зрения написания/оформления веб панелей (макросов) гораздо мощнее функционал для написания красивого пользовательского интерфейса и поддержка всяких рекламных блоков/динамической рекламы и пр. Чем это лучше? Думаю понятно из сказанного. На флеше написано уйма всяких веб приложений и куча всяких вспомогательных библиотек для веба и есть переносимость как под Интернет Эксплорер, так и под Файерфокс.
AndrejX вне форума  
 
Непрочитано 11.04.2010, 21:52
#103
Pastor

это только кличка
 
Регистрация: 22.10.2006
Москва
Сообщений: 252


1. Правильно ли я понял, что ваш ActiveX флэш-шлюз занимает собой некоторую часть окна браузера (или всё окно) и именно с этой частью можно взаимодействовать из автокада с помощью метода callXML.
2. Если пользователь в окне компонента нажал некоторую кнопку выбора, как об этом узнает автокад? Т.е. из поста №87 непонятно куда прикручивать lisp-функции обработки событий.
3. Что стоит за переменной AcadBridgeObj и как это "что" взаимодействует с браузером и загруженным в него флэш-шлюзом (если не секрет).
__________________
...в шее моей жилы железные, и лоб мой - медный...
Pastor вне форума  
 
Непрочитано 11.04.2010, 23:25
#104
AndrejX

Руководитель ИТ фирмы
 
Регистрация: 16.07.2008
Сообщений: 27
<phrase 1= Отправить сообщение для AndrejX с помощью Skype™


Цитата:
1. Правильно ли я понял, что ваш ActiveX флэш-шлюз занимает собой некоторую часть окна браузера (или всё окно) и именно с этой частью можно взаимодействовать из автокада с помощью метода callXML.
Реально сам шлюз (ActiveX) - это просто как дополнительная функциональная библиотека, которая инсталлируется через браузер на компьютер пользователя. Затем шлюзом пользуется флеш компонент (можем писать мы, могут какие-то ваши веб-дизайнеры), который может занимать любую область окна браузера.
Цитата:
2. Если пользователь в окне компонента нажал некоторую кнопку выбора, как об этом узнает автокад? Т.е. из поста №87 непонятно куда прикручивать lisp-функции обработки событий.
Кнопка через шлюз посылает SendCommand с параметрами названия лисповской функции и параметрами.
Цитата:
3. Что стоит за переменной AcadBridgeObj и как это "что" взаимодействует с браузером и загруженным в него флэш-шлюзом (если не секрет).
[/quote]
За переменной AcadBridgeObj стоит ActiveX обьект со своим доступным интерфейсом FlashWrapper. Именно ActiveX вкрапляет эту специальную переменную в пространство имен Лиспа (добиться этого было крайне сложно, но удалось). Затем после команды
(setq FW1 (vlax-get-property AcadBridgeObj "FlashWrapper"))
через FW1 можно напрямую из лиспа высывать функцию callXML, на которую отреагирует уже флеш компонент внутри браузера.

Т.е. таким образом из флеш-компонента можем вызывать функцию внутри Автокада и обратно - из Автокада вызывать функцию внутри флеш-компонента.
AndrejX вне форума  
 
Непрочитано 12.04.2010, 11:48
#105
Pastor

это только кличка
 
Регистрация: 22.10.2006
Москва
Сообщений: 252


Цитата:
Затем шлюзом пользуется флеш компонент
Раз это обыкновенный ActiveX, то им по определению может воспользоваться любой скриптовый язык (например JavaScript)?

Цитата:
Кнопка через шлюз посылает SendCommand с параметрами названия лисповской функции и параметрами
Стало быть вы используете объектную модель автокада. Тогда что мешает через эту же SendCommand послать выражение типа
Код:
[Выделить все]
(setq AcadBridgeObj (vlax-invoke-method (vlax-get-acad-object) 'GetInterfaceObject "BridgeProgId"))
и не использовать "крайне сложных методов".

Цитата:
из лиспа вызывать функцию callXML, на которую отреагирует уже флеш компонент внутри браузера
Подозреваю, что речь идет о реакции на события того-самого ActiveX шлюза. Тогда значит и JavaScript функции могут реагировать?

Так (простите уж любопытного веб-дилетанта) причем здесь флэш?
__________________
...в шее моей жилы железные, и лоб мой - медный...
Pastor вне форума  
 
Непрочитано 12.04.2010, 12:13
#106
AndrejX

Руководитель ИТ фирмы
 
Регистрация: 16.07.2008
Сообщений: 27
<phrase 1= Отправить сообщение для AndrejX с помощью Skype™


Цитата:
Раз это обыкновенный ActiveX, то им по определению может воспользоваться любой скриптовый язык (например JavaScript)?
Да, может.

Цитата:
Стало быть вы используете объектную модель автокада.
Да, правильно

Цитата:
Тогда что мешает через эту же SendCommand послать выражение типа
Код:
[Выделить все]
(setq AcadBridgeObj (vlax-invoke-method (vlax-get-acad-object) 'GetInterfaceObject "BridgeProgId"))
и не использовать "крайне сложных методов".
Смысл был в том, чтобы уменьшить количество кода для достижения цели. Т.е. чтоб лисп стороне не надо было знать о каких-то ей "ненужных" BridgeProgId. Что тут имеется в виду под "крайне сложными методами" - не знаю. Именно в упрощении кода/вызовов и была задача.

Цитата:
Так (простите уж любопытного веб-дилетанта) причем здесь флэш?
Флеш тут как средство написания более гибкой и более многофункциональной веб панели управления Автокад-макросом. Если это не нужно - да, можно делать все на простом HTML и Javascript и достигать красоты дизайна такой панели в разных браузерах путем ломания головы над применением нужных стилей CSS (поверьте, кросс-браузерность это непростая штука), а не однозначного графического элемента флеш, который везде показывается одинаково.

Т.е. например мне как разработчику такого рода панелей в 10 (или около того) раз легче их делать на флеш, чем на обычном HTML.
AndrejX вне форума  
 
Непрочитано 30.04.2013, 10:16
#107
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,992


Подниму тему.
Практическая реализация pastor'a .NET приложение "WebMenu" (AutoCAD 2008, 2009, 2010, 2011) - прикладной интерфейс для взаимодействия с веб-страницами.
Практическая реализация Autodesk Implementing an AutoCAD palette using HTML5 and JavaScript
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 30.04.2013, 10:30
#108
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


@VVA, некропостер млин Те, кто пишет на .NET и читает блог Волмслея (помимо блогов ADN), давно уже ознакомились с обозначенной информацией.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Использование файлов *.htm в качестве панели инструментов к макросу.

Размещение рекламы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Help!!! Пропали все панели инструментов ??? Борисович AutoCAD 3 25.07.2006 10:35
Панели инструментов AutoCAD и ADT Airiz AutoCAD 6 20.04.2006 14:21
Как установить на Workspace необходимые панели инструментов? vn AutoCAD 4 09.03.2006 08:49
Прозрачность панели инструментов в АКАД 2004 Daymon AutoCAD 5 03.07.2004 12:57