Не работает F1 при наведении курсора мышки на ленту кнопок плагина в AutoCad

Автор Тема: Не работает F1 при наведении курсора мышки на ленту кнопок плагина в AutoCad  (Прочитано 16722 раз)

0 Пользователей и 2 Гостей просматривают эту тему.

Оффлайн stuffАвтор темы

  • ADN OPEN
  • Сообщений: 6
  • Карма: 0
Всем привет  :)

При наведении курсора мышки на ленту кнопок в AutoCad и нажатии F1 AutoCad не может открыть файл Help.html плагина.



Цитировать
PackageContents.xml:

<?xml version="1.0" encoding="utf-8"?>
<ApplicationPackage SchemaVersion="1.0" AutodeskProduct="AutoCAD" ProductType="Application" Name="MakeGrid" AppVersion="1.1.3" Description="The program creates a grid for fixtures." Author="Taras Zelenskyi" Icon="./Contents/Resources/icon.ico" AppNameSpace="appstore.exchange.autodesk.com" OnlineDocumentation="https://apps.autodesk.com/en/Publisher/PublisherHomepage?ID=SASBMTNVSSXG" HelpFile="./Contents/Help.html" UpgradeCode="{774D94E5-220F-4CAC-9901-169C712EDD3E}" FriendlyVersion="1.1.3" SupportedLocales="Enu" ProductCode="{8B7EE854-382A-43E1-89C9-43D7D9E33406}">
  <CompanyDetails Name="PC West" Phone=" " Url="https://apps.autodesk.com/en/Publisher/PublisherHomepage?ID=SASBMTNVSSXG" Email="taras.zelensky@gmail.com" />
  <RuntimeRequirements />
  <Components Description="2018-2021">
    <RuntimeRequirements OS="Win32|Win64" Platform="AutoCAD*" SeriesMin="R21.0" SeriesMax="R24.0" />
    <ComponentEntry AppName="MakeGrid" Version="1.1.3" ModuleName="./Contents/acad.lsp" AppDescription="MakeGrid" PerDocument="True" LoadOnAppearance="True" LoadOnAutoCADStartup="False" LoadOnCommandInvocation="True" LoadOnRequest="False">
      <RuntimeRequirements SupportPath="./Contents" OS="Win64" Platform="AutoCAD*" SeriesMin="R23.1" SeriesMax="R24.0" />
      <Commands>
        <Command Local="-vbarun ShowfrmMakeGrid" Global="-vbarun ShowfrmMakeGrid" />
      </Commands>
    </ComponentEntry>
    <ComponentEntry AppName="MakeGrid" Version="1.1.3" ModuleName="./Contents/MakeGrid.cuix" AppDescription="MakeGrid" LoadOnAutoCADStartup="True" />
  </Components>
</ApplicationPackage>

Структура каталогов плагина:



Что может быть не так?


Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Посмотри здесь: https://forums.autodesk.com/t5/net/helpfile-in-packagecontents-xml/m-p/3814013#M34226
Похоже у тебя в <Command> не хватает HelpTopic="..."
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн stuffАвтор темы

  • ADN OPEN
  • Сообщений: 6
  • Карма: 0
Цитировать
<?xml version="1.0" encoding="utf-8"?>
<ApplicationPackage SchemaVersion="1.0" AutodeskProduct="AutoCAD" ProductType="Application" Name="MakeGrid" AppVersion="1.1.3" Description="The program creates a grid for fixtures." Author="Taras Zelenskyi" Icon="./Contents/Resources/icon.ico" AppNameSpace="appstore.exchange.autodesk.com" OnlineDocumentation="https://apps.autodesk.com/en/Publisher/PublisherHomepage?ID=SASBMTNVSSXG" HelpFile="./Contents/Help.html" HelpTopic="./Contents/Help.html" UpgradeCode="{774D94E5-220F-4CAC-9901-169C712EDD3E}" FriendlyVersion="1.1.3" SupportedLocales="Enu" ProductCode="{8B7EE854-382A-43E1-89C9-43D7D9E33406}">
  <CompanyDetails Name="PC West" Phone=" " Url="https://apps.autodesk.com/en/Publisher/PublisherHomepage?ID=SASBMTNVSSXG" Email="taras.zelensky@gmail.com" />
  <RuntimeRequirements />
  <Components Description="2018-2021">
    <RuntimeRequirements OS="Win32|Win64" Platform="AutoCAD*" SeriesMin="R21.0" SeriesMax="R24.0" />
    <ComponentEntry AppName="MakeGrid" Version="1.1.3" ModuleName="./Contents/acad.lsp" AppDescription="MakeGrid" PerDocument="True" LoadOnAppearance="True" LoadOnAutoCADStartup="False" LoadOnCommandInvocation="True" LoadOnRequest="False">
      <RuntimeRequirements SupportPath="./Contents" OS="Win64" Platform="AutoCAD*" SeriesMin="R23.1" SeriesMax="R24.0" />
      <Commands>
        <Command Local="-vbarun ShowfrmMakeGrid" Global="-vbarun ShowfrmMakeGrid" />
        <Command HelpTopic="-vbarun Help" Global="-vbarun Help" />
        <Command Local="HELP" Global="HELP" />

      </Commands>
    </ComponentEntry>
    <ComponentEntry AppName="MakeGrid" Version="1.1.3" ModuleName="./Contents/MakeGrid.cuix" AppDescription="MakeGrid" LoadOnAutoCADStartup="True" />
  </Components>
</ApplicationPackage>

HelpTopic не помог. Не может открыть AutoCad Help.html файл...

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

Такой вид файла мне дала служба приемки плагинов Autodesk:

Цитировать
<?xml version="1.0" encoding="utf-8"?>
<ApplicationPackage SchemaVersion="1.0" AutodeskProduct="AutoCAD" ProductType="Application" Name="MakeGrid" AppVersion="1.1.5" Description="The program creates a grid for fixtures." Author="Taras Zelenskyi" Icon="./Contents/Resources/icon.ico" AppNameSpace="appstore.exchange.autodesk.com" OnlineDocumentation="https://apps.autodesk.com/en/Publisher/PublisherHomepage?ID=SASBMTNVSSXG" HelpFile="./Contents/help.html" UpgradeCode="{8A2E3BF7-3411-4CAD-BA33-128AF127E8D7}" FriendlyVersion="1.1.5" SupportedLocales="Enu" ProductCode="{0B3D574E-81D2-412A-9141-0429A858DE44}">
  <CompanyDetails Name="PC West" Phone=" " Url="https://apps.autodesk.com/en/Publisher/PublisherHomepage?ID=SASBMTNVSSXG" Email="taras.zelensky@gmail.com" />
  <RuntimeRequirements />
  <Components Description="2018-2021">
    <RuntimeRequirements OS="Win32|Win64" Platform="AutoCAD*" SeriesMin="R21.0" SeriesMax="R24.0" />
    <ComponentEntry AppName="MakeGrid" Version="1.1.5" ModuleName="./Contents/acad.lsp" AppDescription="MakeGrid" PerDocument="True" LoadOnAppearance="True" LoadOnAutoCADStartup="False" LoadOnCommandInvocation="True" LoadOnRequest="False">
      <RuntimeRequirements SupportPath="./Contents" OS="Win64" Platform="AutoCAD*" SeriesMin="R23.1" SeriesMax="R24.0" />
      <Commands>
        <Command Local="-vbarun ShowfrmMakeGrid" Global="-vbarun ShowfrmMakeGrid" />
      </Commands>
    </ComponentEntry>
    <ComponentEntry AppName="MakeGrid" Version="1.1.5" ModuleName="./Contents/MakeGrid.cuix" AppDescription="MakeGrid" LoadOnAutoCADStartup="True" />
  </Components>
</ApplicationPackage>

И сама же предьявила претензию по поводу не работы F1:

Цитировать
Also I noticed that F1 help for the app is not working.
 
When I press F1 in the ribbon panel hovering over the app button for help, then the app is not displaying the help file.
We strongly encourage publishers to implement the F1 help in the ribbon panel for the unified app experience across the store.
I would suggest you to kindly take a look at this forum link for more information http://forums.autodesk.com/t5/net/autodesk-autocad-ribbon/td-p/4653889.

You can also include  a help ribbon button which when launched opens the help information regarding the app.

Here is video recording that explains the steps involved in creating a partial CUIX and supporting adding panel to the “Plugin” tab in AutoCAD. http://download.autodesk.com/media/adn/DevTV_Creating_a_Partial_CUI/DevTV_Creating_a_Partial_CUI.html

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
stuff,
У меня есть еще подозрение на команду, которая запускается.
        <Command HelpTopic="-vbarun Help" Global="-vbarun Help" />
        <Command Local="HELP" Global="HELP" />
Это откуда??? И ты еще команду HELP решил переопределить???
Должно быть что-то типа:
Код - XML [Выбрать]
  1. <Command Local="-vbarun ShowfrmMakeGrid" Global="-vbarun ShowfrmMakeGrid" HelpTopic="#Help"/>
Только вот с таким запуском VBA это скорее всего не прокатит. Там должно быть полноценное имя команды.
Смотри здесь:
https://adn-cis.org/avtozagruzchik-(autoloader)-integracziya-klavishi-pomoshhi-f1.html
здесь:
https://adn-cis.org/forum/index.php?topic=1921
и здесь:
https://adn-cis.org/forum/index.php?topic=1693

P.S.: Очень рекомендую забыть про VBA в AutoCAD.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн stuffАвтор темы

  • ADN OPEN
  • Сообщений: 6
  • Карма: 0
Попробывал так:

Цитировать
<Command Local="-vbarun ShowfrmMakeGrid" Global="-vbarun ShowfrmMakeGrid" HelpTopic="#Help"/>

потом так:

Цитировать
        <Command Local="-vbarun ShowfrmMakeGrid" Global="-vbarun ShowfrmMakeGrid HelpTopic="./Contents/Help.html" />
        <Command HelpTopic="-vbarun Help" Global="-vbarun Help" HelpTopic="./Contents/Help.html" />
        <Command Local="HELP" Global="HELP" HelpTopic="./Contents/Help.html" />

потом так:

Цитировать
        <Command Local="-vbarun ShowfrmMakeGrid" Global="-vbarun ShowfrmMakeGrid HelpTopic="CommandTopic1" />
        <Command HelpTopic="-vbarun Help" Global="-vbarun Help" HelpTopic="CommandTopic1" />
        <Command Local="HELP" Global="HELP" HelpTopic="CommandTopic1" />

потом так:

Цитировать
        <Command Local="-vbarun ShowfrmMakeGrid" Global="-vbarun ShowfrmMakeGrid HelpTopic="#CommandTopic1" />
        <Command HelpTopic="-vbarun Help" Global="-vbarun Help" HelpTopic="#CommandTopic1" />
        <Command Local="HELP" Global="HELP" HelpTopic="#CommandTopic1" />

Не работает F1

Потом еще так попробывал:



То же не работает.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
stuff,
Я же предупредил, что если вместо нормального имени команды будет макрос, как у тебя, то ничего не получится.
Должно быть как-то так:
Код - XML [Выбрать]
  1. <Command Local="ShowfrmMakeGrid" Global="ShowfrmMakeGrid" HelpTopic="#ShowfrmMakeGrid" />
Ты соответственно в своём acad.lsp должен будешь определить команду ShowfrmMakeGrid, которая запускает твой vba-код, т.е. "-vbarun ShowfrmMakeGrid" или так, как это делается через lisp.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн stuffАвтор темы

  • ADN OPEN
  • Сообщений: 6
  • Карма: 0
Ты соответственно в своём acad.lsp должен будешь определить команду ShowfrmMakeGrid, которая запускает твой vba-код, т.е. "-vbarun ShowfrmMakeGrid" или так, как это делается через lisp.

У меня при старте AutoCad панелька с кнопками подгружается:

Код - Auto/Visual Lisp [Выбрать]
  1. (defun S::STARTUP()
  2.    (command "_VBALOAD" "MakeGrid.dvb")
  3.    (command "_VBARUN" "MakeGrid.dvb!ThisDrawing.CreateToolbar")
  4. )


И потом пользователь нажимает на кнопки на панели и открывает, то, что ему надо.
« Последнее редактирование: 09-04-2021, 14:03:27 от Александр Ривилис »

Оффлайн stuffАвтор темы

  • ADN OPEN
  • Сообщений: 6
  • Карма: 0

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
stuff,
Прочитай у меня в подписи как следует форматировать код у нас на форуме и соблюдай это правило.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Код - Auto/Visual Lisp [Выбрать]
  1. (defun S::STARTUP()
  2.        (vl-vbaload  "MakeGrid.dvb")
  3.        (vl-vbarun "MakeGrid.dvb!CreateToolbar")
  4.        (princ)
  5. )
  6. (defun C:ShowfrmMakeGrid ( / )
  7.   (vl-vbarun  "ShowfrmMakeGrid")
  8.   (princ)
  9. )
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн stuffАвтор темы

  • ADN OPEN
  • Сообщений: 6
  • Карма: 0
Если команда AuotoDesk по приемке плагинов для AutoCad сама формирует инсталлятор и в частности файл PackageContents.xml
Почему они изначально не могут создать корректный файл PackageContents.xml и не придераться к разработчику в плане корректности работы F1?

Непонятно, как происходит сама процедура приемки плагина в AutoDesk и где это расписано?
Что должен предоставить разработчики что со своей стороны и что делает AutoDesk?
« Последнее редактирование: 09-04-2021, 14:32:09 от Александр Ривилис »

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
stuff,
Это все вопросы не по адресу. Если бы ты сформировал свой файл PackageContents.xml, то вопросов скорее всего бы не было. Кроме того подозреваю, что это единственный плагин, который возможно будет опубликован на Autodesk App Store, который написан на VBA. Сотрудники Autodesk, которые публикуют плагины на Autodesk App Store, не являются профессиональными программистами и могут предоставить только заготовку PackageContents.xml, которую ты должен "допилить", чтобы она работала с твоим плагином.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Дмитрий Загорулькин

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 737
Почему они изначально не могут создать корректный файл PackageContents.xml и не придераться к разработчику в плане корректности работы F1?
Off-Topic: показать
Да вообще, ещё бы по коду прошлись и ошибки все пофиксили. Да чего мелочиться - написали бы сами приложение с нуля! Ты им идею только закидываешь, а они пишут и выкладывают. Авторство, разумеется, принадлежать будет автору идеи. Да, так было бы супер, согласен  8)

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Почему они изначально не могут создать корректный файл PackageContents.xml и не придераться к разработчику в плане корректности работы F1?
Off-Topic: показать
Да вообще, ещё бы по коду прошлись и ошибки все пофиксили. Да чего мелочиться - написали бы сами приложение с нуля! Ты им идею только закидываешь, а они пишут и выкладывают. Авторство, разумеется, принадлежать будет автору идеи. Да, так было бы супер, согласен  8)

:D :D :D
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение