Сообщество программистов Autodesk в СНГ

ADN Club => AutoLisp / VisualLISP и DCL => Тема начата: АлексЮстасу от 07-02-2022, 18:10:37

Название: регистр XData Appnames
Отправлено: АлексЮстасу от 07-02-2022, 18:10:37
Различает ли AutoCAD названия приложений XData в зависимости от регистра?
Приложения "XXXX", "xxxx", "Xxxx" и т.п. считаются ли в AutoCAD одноименными или нет?
Название: Re: регистр XData Appnames
Отправлено: Александр Ривилис от 07-02-2022, 18:17:53
Различает ли AutoCAD названия приложений XData в зависимости от регистра?
Нет. Но конкретное приложение, использующее XData, может различать. Т.е. может сравнивать имя приложения с учетом регистра.
Название: Re: регистр XData Appnames
Отправлено: АлексЮстасу от 07-02-2022, 18:38:54
Цитировать
Но конкретное приложение, использующее XData, может различать. Т.е. может сравнивать имя приложения с учетом регистра.
Пардон, не понял.
Название: Re: регистр XData Appnames
Отправлено: Александр Ривилис от 07-02-2022, 18:43:02
Цитировать
Но конкретное приложение, использующее XData, может различать. Т.е. может сравнивать имя приложения с учетом регистра.
Пардон, не понял.
Объясняю. Если есть уже зарегистрированное приложение "XXXX", то AutoCAD не даст создать зарегистрированное приложение "xxxx". Ты это можешь проверить сам.
Название: Re: регистр XData Appnames
Отправлено: Александр Ривилис от 07-02-2022, 18:56:12
Но программа может прочитать имя зарегистрированного приложения и начать сравнивать его с "xxxx" с учетом регистра и сравнение не пройдет. Хотя создать зарегистрированное приложение "xxxx" в случае если "XXXX" уже зарегистрировано не получится.
Название: Re: регистр XData Appnames
Отправлено: АлексЮстасу от 07-02-2022, 21:35:24
Но программа может прочитать имя зарегистрированного приложения и начать сравнивать его с "xxxx" с учетом регистра и сравнение не пройдет.
"Может" - в каких случаях, процессах?
Название: Re: регистр XData Appnames
Отправлено: Александр Ривилис от 07-02-2022, 21:45:34
Но программа может прочитать имя зарегистрированного приложения и начать сравнивать его с "xxxx" с учетом регистра и сравнение не пройдет.
"Может" - в каких случаях, процессах?

В любых. Нет определенного сценария (или сценариев). Это будет зависеть лишь от самого кода этого стороннего приложения, или самого AutoCAD, когда он будет работать с XData.
Название: Re: регистр XData Appnames
Отправлено: Александр Ривилис от 07-02-2022, 21:50:48
Вот простой пример - некое приложение считывает все расширенные данные примитива, в цикле проходит по всем именам приложения в нём и сравнивает его с "XXXX" с учетом регистра (например, в AutoLisp при помощи функции (equal)) и соответственно не находит его если имя приложения зарегистрировано в чертеже как "xxxx".
Название: Re: регистр XData Appnames
Отправлено: АлексЮстасу от 07-02-2022, 22:08:04
Это будет зависеть лишь от самого кода этого стороннего приложения, или самого AutoCAD
Вопрос был про сам AutoCAD. Это "или самого AutoCAD" - в каких-то случаях, собственных процессах AutoCAD может различать регистр Appnames?
Название: Re: регистр XData Appnames
Отправлено: Александр Ривилис от 07-02-2022, 22:14:47
АлексЮстасу,
В любых. AutoCAD внутри себя использует то же API, которое дает сторонним программистам.
Название: Re: регистр XData Appnames
Отправлено: АлексЮстасу от 07-02-2022, 22:33:16
В любых. AutoCAD внутри себя использует то же API, которое дает сторонним программистам.
Т.е. сам AutoCAD "внутри себя" с регистром Appnames XData не придерживается никаких правил?
Название: Re: регистр XData Appnames
Отправлено: Александр Ривилис от 07-02-2022, 22:49:33
В любых. AutoCAD внутри себя использует то же API, которое дает сторонним программистам.
Т.е. сам AutoCAD "внутри себя" с регистром Appnames XData не придерживается никаких правил?
Это зависит от кода самого AutoCAD. Так как у меня этого кода нет, то я не могу гарантировать, что весь код AutoCAD, работающий с Xdata будет корректно работать независимо от регистра Appname.
Название: Re: регистр XData Appnames
Отправлено: АлексЮстасу от 07-02-2022, 22:57:58
Так как у меня этого кода нет, то я не могу гарантировать, что весь код AutoCAD, работающий с Xdata будет корректно работать независимо от регистра Appname.
Про весь код и не нужно.
Пока был приведен один пример - AutoCAD регистр не учитывает при регистрации приложений. Есть ли примеры обратного?
Или только гипотеза, что сам AutoCAD может регистр Xdata учитывать?
Название: Re: регистр XData Appnames
Отправлено: Александр Ривилис от 07-02-2022, 23:04:20
Пока был приведен один пример - AutoCAD регистр не учитывает при регистрации приложений.
Не так. При регистрации приложения как раз регистр учитывается. Т.е. если регистрируют "XXXX" (и еще не были зарегистрирован "xxxx", "Xxxx", "xXxx" и т.д.) то в чертеже он будет хранится именно как "XXXX" - т.е. таблице Appnames хранится именно в том виде, как его регистрировали и это как раз и есть учет регистра.
Название: Re: регистр XData Appnames
Отправлено: АлексЮстасу от 07-02-2022, 23:24:11
Не так. При регистрации приложения как раз регистр учитывается.
При регистрации регистр все же не учитывается. Записывается с учетом регистра - да. Но "XXXX" и "xxxx" считается одним же.
В документации о регистре XData Appnames вроде бы ничего нет?

Для других приложений, не XData, есть правила?
Название: Re: регистр XData Appnames
Отправлено: Александр Ривилис от 07-02-2022, 23:35:23
Для других приложений, не XData, есть правила?
Что такое "другие приложения, не XData"? Если речь идёт про имена блоков, слоёв, и т.д. - то там аналогичная ситуация.
Насколько я помню в современной документации об этом ничего не сказано. Об этом было написано в документации лет 25 назад.