CAD БИБЛИОТЕКА
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > CUI Как пропимсать относительные пути доступа к файлам пиктограмм кнопок.

CUI Как пропимсать относительные пути доступа к файлам пиктограмм кнопок.

Ответ
Поиск в этой теме
Непрочитано 03.08.2013, 00:50 #1
CUI Как пропимсать относительные пути доступа к файлам пиктограмм кнопок.
Kirill_Ja
 
Мурманск
Регистрация: 28.07.2008
Сообщений: 208

Есть файл частичной адаптации. В нем есть команды, которым назначены пиктограммы.
При редактировании CUI пути к пиктограммам прописываются абсолютные.
Когда перенес на другую машину пиктограммы потерялись (отображается нечто со знаком вопроса)
А можно как-то прописать относительный путь к пиктограммам? Например в корне папки с файлом с адаптацией? => если грузится адаптация к ней грузятся картинки вне зависимости от того где находится папка с адаптацией и картинками?
То же самое относится к лисп файлам, привязанным к файлу адаптации. Внезапно, проще привяззать файлы к адаптации, чем добавлять их в перечень в acaddoc (ИМХО)
__________________
Мне не нужно сделать за меня. Если я что-то ищу, то пути решения.
Просмотров: 3339
 
Непрочитано 03.08.2013, 10:43
#2
hwd

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


В данном вопросе всё упирается в реализацию, которая компанией Autodesk благополучно выполнена через ж@пу (к сожалению). Если бы архитекторы приложения, решая данную задачу, думали головой, а не пятой точкой, то предоставили бы возможность указания путей не только в абсолютной, но и в относительной форме (то же относится и к дополнительным каталогам поиска). При этом следовало бы разрешить использование как системных переменных операционной системы (%AppData%, %ProgramFiles% и т.д.), так и предоставить пользователю создавать свои переменные, которые он бы мог использовать при указании путей. Например, чтобы юзер мог создать переменную %PluginsLocation%, указывающую на некоторый каталог и использовать его в файлах меню, в каталогах поиска, в программном коде и т.п. Обозначенный функционал весьма востребован, достаточно прост в реализации и даже напрашивается сам собой. Однако архитекторы Autodesk видимо живут в др. измерении, поэтому "за неимением кухарки, имеем дворника"(с). Писать на эту тему письма в Autodesk, предлагая расширить функционал - в большинстве случаев не имеет смысла, ибо это будут письма в ведро (хотя изредка бывают и исключения из правил).

Если ты юзаешь версию AutoCAD, которая способна работать с файлами CUIX, то используй этот формат - тогда все иконки сможешь упаковывать (с помощью MS VS) в DLL файл, задавая ему имя, аналогичное твоему CUIX файлу.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:

Последний раз редактировалось hwd, 03.08.2013 в 11:12.
hwd вне форума  
 
Непрочитано 03.08.2013, 11:13
#3
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,697
Отправить сообщение для Do$ с помощью Skype™


Да и необязательно использовать VS. Если версия AutoCAD использует CUIX, то все иконки, добавленные к кнопкам с помощью стандартного инструмента редактирования пользовательского интерфейса, упаковываются внутрь него. То есть, передавая CUIX, можно не таскать за ним оригиналы картинок в BMP, они уже есть внутри файла.
Do$ вне форума  
 
Непрочитано 03.08.2013, 12:57
#4
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,309
Отправить сообщение для Александр Ривилис с помощью Skype™


Цитата:
Сообщение от hwd Посмотреть сообщение
Если ты юзаешь версию AutoCAD, которая способна работать с файлами CUIX, то используй этот формат - тогда все иконки сможешь упаковывать (с помощью MS VS) в DLL файл, задавая ему имя, аналогичное твоему CUIX файлу.
А причем здесь CUIX? Поместить все иконки в dll-файл можно было еще в те времена, когда были только MNU-файлы и слов CUI/CUIX никто не знал....
Александр Ривилис вне форума  
 
Непрочитано 03.08.2013, 13:02
#5
hwd

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


Цитата:
Сообщение от Александр Ривилис Посмотреть сообщение
А причем здесь CUIX? Поместить все иконки в dll-файл можно было еще в те времена, когда были только MNU-файлы и слов CUI/CUIX никто не знал....
Поместить-то можно, вот только будет ли AutoCAD искать в них ресурсы для MNU файлов? Насколько я помню, когда-то пробовал это сделать для MNU файлов в AutoCAD 2009 - не сработало. В то же время в AutoCAD 2013 получилось.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Автор темы   Непрочитано 03.08.2013, 13:04
#6
Kirill_Ja


 
Регистрация: 28.07.2008
Мурманск
Сообщений: 208
<phrase 1=


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

Хотя, в dll несомненно изящнее и дает все приемущества, которые мы получаем, объединяя много маленьких файликов в 1.
__________________
Мне не нужно сделать за меня. Если я что-то ищу, то пути решения.
Kirill_Ja вне форума  
 
Непрочитано 03.08.2013, 18:02
#7
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,309
Отправить сообщение для Александр Ривилис с помощью Skype™


Цитата:
Сообщение от hwd Посмотреть сообщение
Поместить-то можно, вот только будет ли AutoCAD искать в них ресурсы для MNU файлов? Насколько я помню, когда-то пробовал это сделать для MNU файлов в AutoCAD 2009 - не сработало. В то же время в AutoCAD 2013 получилось.
Будет. Эта технология работает начиная с AutoCAD R14. DLL должна быть слинкована с опцией NOENTRY (само собой, что для этой цели компилятор .NET не годится).
Александр Ривилис вне форума  
 
Автор темы   Непрочитано 03.08.2013, 19:35
#8
Kirill_Ja


 
Регистрация: 28.07.2008
Мурманск
Сообщений: 208
<phrase 1=


И еще один вопрос: а библиотеку надо как-то грузить или инициировать.
Как AutoCad понимает, что в этой dll находятся пиктограммы?
__________________
Мне не нужно сделать за меня. Если я что-то ищу, то пути решения.
Kirill_Ja вне форума  
 
Непрочитано 03.08.2013, 22:31
#9
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,697
Отправить сообщение для Do$ с помощью Skype™


Цитата:
Сообщение от Kirill_Ja Посмотреть сообщение
Как AutoCad понимает, что в этой dll находятся пиктограммы?
Все сказано:
Цитата:
Сообщение от hwd Посмотреть сообщение
задавая ему имя, аналогичное твоему CUIX файлу.
Do$ вне форума  
 
Непрочитано 03.08.2013, 23:29
#10
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,309
Отправить сообщение для Александр Ривилис с помощью Skype™


http://forum.dwg.ru/showthread.php?t=31134
http://www.caduser.ru/forum/index.ph...ID=7&TID=48356
Александр Ривилис вне форума  
 
Автор темы   Непрочитано 04.08.2013, 00:18
#11
Kirill_Ja


 
Регистрация: 28.07.2008
Мурманск
Сообщений: 208
<phrase 1=


Спасибо. Много нового для себя узнал.
Возможно, буду применять.
__________________
Мне не нужно сделать за меня. Если я что-то ищу, то пути решения.
Kirill_Ja вне форума  
 
Непрочитано 15.08.2013, 14:30
#12
hwd

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


Цитата:
Сообщение от Kirill_Ja Посмотреть сообщение
Спасибо. Много нового для себя узнал.
Возможно, буду применять.
Диафильм по теме.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 15.08.2013, 16:25
#13
gomer

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


Цитата:
Сообщение от hwd Посмотреть сообщение
Диафильм по теме.
Это похоже на пуляние нейтронной бомбой по колонии инфузорий-туфелек. Во-первых, это актуально только для устаревших версий акада и для недокадов разных мастей. Во-вторых, какая разница каким компилятором делать пустую библиотеку? Только в размере хлама, который он в нее впихивает. В-третьих, можно взять готовую библиотеку и напихать туда иконок с помощью какого-нибудь хакера ресурсов...
Впрочем, я повторяюсь... Была бы идеальной в таком случае программа, которая компилирует/редактирует библиотеку ресурсов, будучи заточенной под акад, но я такой не находил, а самому писать лень...
gomer вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > CUI Как пропимсать относительные пути доступа к файлам пиктограмм кнопок.

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
relative path - как работает? Angel_and AutoCAD 20 10.08.2016 14:43
Инсталлятор. Надо прописать пути доступа к файлам и забросить панельку из cui Kirill_Ja Программирование 3 10.05.2013 13:43