Форум пользователей ПО АСКОН

Профессиональные вопросы => Программирование приложений => Тема начата: lavgirb от 02.03.25, 11:09:54

Название: О создании гиперссылки на файл
Отправлено: lavgirb от 02.03.25, 11:09:54
Что надо подставить в метод CreateHyperLink вместо LinkObject, когда создаем гиперссылку на файл (тип ksHLFile)?
Спасибо.

hl.JPG
Название: Re: О создании гиперссылки на файл
Отправлено: UU от 02.03.25, 11:59:16
IDrawingObject
Название: Re: О создании гиперссылки на файл
Отправлено: lavgirb от 02.03.25, 12:38:56
Цитата: UU от 02.03.25, 11:59:16IDrawingObject
Известен только путь в виде строки. Как получить IDrawingObject?
Название: Re: О создании гиперссылки на файл
Отправлено: UU от 02.03.25, 12:52:52
Нужен пример, документ ссылкой на файл и сам файл, чтобы можно было с чем-то работать.
Вы создаёте ссылку и не знаете на, что ссылаетесь?
Название: Re: О создании гиперссылки на файл
Отправлено: Михаил88 от 03.03.25, 08:04:12
kompas_document_2d = kompas_api7_module.IKompasDocument2D(kompas_document)
kompas_document_2d1 = kompas_api7_module.IKompasDocument2D1(kompas_document_2d)
selection_manager = kompas_document_2d1.SelectionManager
selected_object = selection_manager.SelectedObjects
kompas_document_2d1.CreateHyperLink(selected_object, kompas6_constants.ksHLFile, r'C:\Users\root\Desktop\Деталь1.m3d',
                                    None, 0)

Выделяю в чертеже текст и запускаю. По итогу создается гиперссылка на C:\Users\root\Desktop\Деталь1.m3d.
Название: Re: О создании гиперссылки на файл
Отправлено: lavgirb от 03.03.25, 08:45:48
Цитата: Михаил88 от 03.03.25, 08:04:12Выделяю в чертеже текст и запускаю. По итогу создается гиперссылка на C:\Users\root\Desktop\Деталь1.m3d
Михаил88, понятно. Спасибо.
Быстро попробовать сейчас не получается, но думаю, должно у меня заработать.

Попутно ещё вопрос. Не совсем по теме, но близко.
Допустим на сложном (да и на простом) чертеже есть объект с гиперссылкой, путь которой известен.
Существует ли способ быстро найти этот объект, не перебирая абсолютно все объекты чертежа, на предмет наличия-отсутствия у них нужной гиперссылки?
Название: Re: О создании гиперссылки на файл
Отправлено: Михаил88 от 03.03.25, 09:30:04
obj = kompas_document_2d1.GetHyperLinkObjects(kompas6_constants.ksHLFile, None, 0, r'C:\Users\root\Desktop\Деталь1.m3d')
print(obj)
text = kompas_api7_module.IText(obj)
print(text.Str)


Название: Re: О создании гиперссылки на файл
Отправлено: lavgirb от 03.03.25, 09:38:58
Цитата: Михаил88 от 03.03.25, 09:30:04obj = kompas_document_2d1.GetHyperLinkObjects(kompas6_constants.ksHLFile, None, 0, r'C:\Users\root\Desktop\Деталь1.m3d')
print(obj)
text = kompas_api7_module.IText(obj)
print(text.Str)
Большое спасибо. Буду пробовать.
Название: Re: О создании гиперссылки на файл
Отправлено: lavgirb от 04.03.25, 04:09:13
Цитата: Михаил88 от 03.03.25, 08:04:12kompas_document_2d = kompas_api7_module.IKompasDocument2D(kompas_document)
kompas_document_2d1 = kompas_api7_module.IKompasDocument2D1(kompas_document_2d)
selection_manager = kompas_document_2d1.SelectionManager
selected_object = selection_manager.SelectedObjects
kompas_document_2d1.CreateHyperLink(selected_object, kompas6_constants.ksHLFile, r'C:\Users\root\Desktop\Деталь1.m3d',
                                    None, 0)

Цитата: Михаил88 от 03.03.25, 09:30:04obj = kompas_document_2d1.GetHyperLinkObjects(kompas6_constants.ksHLFile, None, 0, r'C:\Users\root\Desktop\Деталь1.m3d')
print(obj)
text = kompas_api7_module.IText(obj)
print(text.Str)

Михаил88, все получилось. Огромное спасибо!