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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Работа с Hyperlink

Работа с Hyperlink

Ответ
Поиск в этой теме
Непрочитано 20.12.2007, 19:22 #1
Работа с Hyperlink
Supermax
 
Руководитель фирмы
 
Москва
Регистрация: 28.03.2007
Сообщений: 1,831

1. Можно ли убрать во всплывающем сообщении строчку "CTRL + click to follow link"?
2. Как прописать автоматически во все внешние ссылки имя внешней ссылки в Hyperlink?
3. Как очистить все Hyperlink-и внених ссылок или блоков?

Может макрос у кого-нибудь есть?
Просмотров: 10128
 
Непрочитано 21.12.2007, 09:49
#2
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,991
<phrase 1= Отправить сообщение для VVA с помощью Skype™


1. _HYPERLINKOPTIONS (ГИПЕРСВОЙСТВА)
2. ?
3.
Код:
[Выделить все]
; Ф-ция mip-put-hyperlink
; Возвращает nil.
; Arguments [Type]:
;   Ename = Object [ENAME]
;  URLDescription = Строка [STR]
(DEFUN mip-put-hyperlink ( ENAME URLDescription )
 (if (eq (type ENAME) 'ENAME)(setq ENAME (vlax-ename->vla-object ENAME)))
  (vlax-for hyp (vla-get-hyperlinks ENAME)(vla-delete hyp))
  (vla-add (vla-get-hyperlinks ENAME) "about:blank" URLDescription))
;;;Функция удаляет гиперссылки у объекта
;;; Аргумент
;;;ENAME - ename or vla object
(defun mip-del-hyperlink (ENAME)
  (if (eq (type ENAME) 'ENAME)
    (setq ENAME (vlax-ename->vla-object ENAME))
  ) ;_ end of if
  (vlax-for hyp (vla-get-hyperlinks ENAME) (vla-delete hyp))
) ;_ end of DEFUN
;|=============== Команда HYPD ======================
Удаляет гиперссылки у всех выбранных примитивах
Включенеи/отключение показа гиперссылок см. команды
_HYPERLINKOPTIONS (ГИПЕРСВОЙСТВА)
====================================================|;
(defun C:HYPD ( / sset i)(vl-load-com)(setq i 0)  
(if (setq sset (ssget "_:L"))
 (foreach item (mapcar 'vlax-ename->vla-object (vl-remove-if 'listp (mapcar 'cadr (ssnamex sset)))) 
   (mip-del-hyperlink item)(setq i (1+ i))))
(princ "\nОбработано ")(princ i)(princ " объектов")(princ))
;|=============== Команда HYP ================================================
Заносит введенное описание объекта всем выбранным примитивам как гиперссылку
Включенеи/отключение показа гиперссылок см. команды
_HYPERLINKOPTIONS (ГИПЕРСВОЙСТВА)|;
(defun C:HYP ( / sset hyptxt)(vl-load-com)  
(setq hyptxt (getstring t "\nОписание объекта <выход>: "))
(setq hyptxt (VL-STRING-TRIM " " hyptxt))
(if (and (/= hyptxt "")(setq sset (ssget "_:L")))
 (foreach item (mapcar 'vlax-ename->vla-object (vl-remove-if 'listp (mapcar 'cadr (ssnamex sset)))) 
   (mip-put-hyperlink item hyptxt)))(princ))
Для внешних ссылок и блоков команда может быть такой
Код:
[Выделить все]
(defun C:HYPD_BLK ( / sset i)(vl-load-com)(setq i 0)  
(if (setq sset (ssget "_:L" '((0 . "INSERT"))))
 (foreach item (mapcar 'vlax-ename->vla-object (vl-remove-if 'listp (mapcar 'cadr (ssnamex sset)))) 
   (mip-del-hyperlink item)(setq i (1+ i))))
(princ "\nОбработано ")(princ i)(princ " блоков и вн. ссылок")(princ))
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 21.12.2007, 21:04
#3
Vova

Engineer
 
Регистрация: 05.09.2003
New-York
Сообщений: 10,288


Команда Hyperlinkoptions может вообще убрать показ Hyperlink, а речь идет только о второй строке, то есть подсказке, на что надо нажать, чтобы ссылка открылась. Этой строки в старых автокадах не было
Vova вне форума  
 
Автор темы   Непрочитано 21.12.2007, 21:15
#4
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Спасибо VVA за попытку мне помочь, но то, что ты дал не решает то, о чем я писал.
Стирает - да, записывает то, что ты набъеш в строке - да, а вот имя, присвоенное внешней ссылке, точнее не имя, а имя самого файла внешней ссылки не прописывает. И эту ерунду, с Ctrl тоже не сносит.
Supermax вне форума  
 
Непрочитано 22.12.2007, 10:39
#5
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,991
<phrase 1= Отправить сообщение для VVA с помощью Skype™


Цитата:
И эту ерунду, с Ctrl тоже не сносит
Как это снести я тоже не знаю
Цитата:
да, а вот имя, присвоенное внешней ссылке, точнее не имя, а имя самого файла внешней ссылки не прописывает.
Короче так:
Код ниже записывает в гиперссылку в имя - имя вн. ссылки, в путь - путь к вн. ссылки. По "ерунде с Ctrl" можно открыть этот файл.
Код:
[Выделить все]
;;;Обрабатывает внешние ссылки, расположенные на незаблокированных слоях
;;;Прописывает в Hyperlink выбранных внешних ссылок в поле пояснение - имя внешней ссылки
;;;                                                 в поле путь - путь к файлу внешней ссылки
;;;                                                (можно открыть по Ctrl)
(defun C:HYPXREF ( / sset i)(vl-load-com)(setq i 0)  
(if (setq sset (ssget "_:L" '((0 . "INSERT"))))
 (foreach item (mapcar 'vlax-ename->vla-object (vl-remove-if 'listp (mapcar 'cadr (ssnamex sset))))
   (if (vlax-property-available-p item "Path")
     (progn
       ;;;Удаляем гиперссылки
       (vlax-for hyp (vla-get-hyperlinks item)(vla-delete hyp))
       ;;;Прописываем Hyperlink             Путь вн ссылки     Имя вн ссылки
       (vla-add (vla-get-hyperlinks item) (vla-get-Path item)(vla-get-Name item))
       (setq i (1+ i))
       )
     )
   )
  )
(princ "\nОбработано ")(princ i)
(princ " вн. ссылок")(princ)
)
Если надо, чтобы в имя ссылки писался полный путь к файлу и работал Ctrl, то строчку
(vla-add (vla-get-hyperlinks item) (vla-get-Path item)(vla-get-Name item))
заменить на
*** Изменено (vla-add (vla-get-hyperlinks item) (vla-get-Path item)(vla-get-Path item))
Если надо, чтобы в имя ссылки писался полный путь к файлу, и не работал Ctrl, то строчку
(vla-add (vla-get-hyperlinks item) (vla-get-Path item)(vla-get-Name item))
заменить на
*** Изменено (vla-add (vla-get-hyperlinks item) "about:blank" (vla-get-Path item))
__________________
Как использовать код на Лиспе читаем здесь

Последний раз редактировалось VVA, 22.12.2007 в 15:09. Причина: Перепутал vla-get-Name с vla-get-path
VVA вне форума  
 
Автор темы   Непрочитано 22.12.2007, 13:50
#6
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


VVA акбар!

Проверю, обязательно сейчас проверю.
Supermax вне форума  
 
Непрочитано 22.12.2007, 15:14
#7
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,991
<phrase 1= Отправить сообщение для VVA с помощью Skype™


Я там перепутал vla-get-Path и vla-get-Name
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 22.12.2007, 16:03
#8
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Все работает! СПАСИБО!
Supermax вне форума  
 
Автор темы   Непрочитано 22.12.2007, 16:06
#9
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


А можно ли сделать тоже самое, только всем ссылкам, без выделения объектов, включая и те, что Unload числятся? Ведь в модели они уже прописаны.
Supermax вне форума  
 
Непрочитано 22.12.2007, 16:18
#10
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,991
<phrase 1= Отправить сообщение для VVA с помощью Skype™


Код:
[Выделить все]
;;;Обрабатывает внешние ссылки, расположенные на незаблокированных слоях
;;;Прописывает в Hyperlink выбранных внешних ссылок в поле пояснение - имя внешней ссылки
;;;                                                 в поле путь - путь к файлу внешней ссылки
;;;                                                (можно открыть по Ctrl)
(defun C:HYPXREF1 ( / sset i)(vl-load-com)(setq i 0)
(vl-load-com)  
(if (setq sset (ssget "_X" '((0 . "INSERT"))))
 (foreach item (mapcar 'vlax-ename->vla-object (vl-remove-if 'listp (mapcar 'cadr (ssnamex sset))))
   (if (and (vlax-write-enabled-p item)
           (vlax-property-available-p item "Path")
            )
     (progn
       ;;;Удаляем гиперссылки
       (vlax-for hyp (vla-get-hyperlinks item)(vla-delete hyp))
       ;;;Прописываем Hyperlink             Путь вн ссылки     Имя вн ссылки
       (vla-add (vla-get-hyperlinks item) (vla-get-Path item)(vla-get-Name item))
       (setq i (1+ i))
       )
     )
   )
  )
(princ "\nОбработано ")(princ i)
  )
С учетом пояснений #5
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 22.12.2007, 21:00
#11
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Сработало, только в конце выдало:
Command: (C:HYPXREF1)
Обработано 235235
Command:
Dimension disassociated.
HYPERLINK
Select objects:

Я естественно просто ентер надавил и ничего выделять не стал. а 235235 - это не я написал, а столько у меня в модели блоков и числится (пока).
Supermax вне форума  
 
Непрочитано 26.11.2008, 09:00
#12
Holon

CNC
 
Регистрация: 07.07.2007
Israel
Сообщений: 302


Нужна функция которая считывает данные с гиперссылки, всем заранее благодарен.
Holon вне форума  
 
Непрочитано 26.11.2008, 12:11
#13
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,991
<phrase 1= Отправить сообщение для VVA с помощью Skype™


Holon,
Код:
[Выделить все]
;;; Функция возвращает значение гиперссылки у объекта ввиде списка
;;; (Url URLDescription URLNamedLocation)
;;; Аргумент
;;;ENAME - ename or vla object
(defun mip-get-hyperlink (ENAME / ret)
  (if (eq (type ENAME) 'ENAME)
    (setq ENAME (vlax-ename->vla-object ENAME))
  ) ;_ end of if
  (vlax-for hyp (vla-get-hyperlinks ENAME)
    (setq ret (cons (list
                      (vla-get-url hyp)
                      (vla-get-URLDescription hyp)
                      (vla-get-URLNamedLocation hyp)
                      )
                    ret
                    )
          )
    )
  (car(reverse ret))
) ;_ end of DEFUN
Пример
Код:
[Выделить все]
(defun C:TEST ( / e1)
  (terpri)
  (if (setq e1 (car(entsel)))
    (princ (mip-get-hyperlink e1))
    )
  (princ)
  )
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 05.12.2008, 17:14
#14
alextv


 
Регистрация: 01.06.2008
Сообщений: 48


Подскажите, а возможно ли считать только часть гиперссылки?
alextv вне форума  
 
Автор темы   Непрочитано 05.12.2008, 17:57
#15
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Это как? Сделать гиперссылку только на несколько элементов в другом файле?
Supermax вне форума  
 
Непрочитано 05.12.2008, 18:39
#16
alextv


 
Регистрация: 01.06.2008
Сообщений: 48


Нет,может я что-то недопонял в #13 , однако я имею ввиду след.:
есть блок с гиперссылкой-кратким описанием блока.
Мне надо записать только часть гиперссылки, предположим, в Excel.
alextv вне форума  
 
Непрочитано 05.12.2008, 20:38
#17
Sleekka

-
 
Регистрация: 24.07.2005
Москва
Сообщений: 1,335


Нет нельзя - можно считать все а потом обрезать.
Sleekka вне форума  
 
Автор темы   Непрочитано 05.12.2008, 22:05
#18
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Sleekka, alextv надо часть ссылки записать в Эксель, а как - какое имеет значение? Резать, не резать - главное записать часть.
alextv, все можно.
Supermax вне форума  
 
Непрочитано 05.12.2008, 22:17
#19
alextv


 
Регистрация: 01.06.2008
Сообщений: 48


Supermax,
Подскажи как, очень уж надо!!!
alextv вне форума  
 
Автор темы   Непрочитано 05.12.2008, 23:29
#20
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Что как? Ты сказал что ты хочешь обрезать? - Нет. И что я тебе должен подсказать? Я даже все за тебя сделать не могу, поскольку не знаю ЧТО делать. Ты обрисуй подробно ситуацию, мы поиздеваемся чуток, а потом сжалимся и поможем.
Supermax вне форума  
 
Непрочитано 06.12.2008, 12:52
#21
alextv


 
Регистрация: 01.06.2008
Сообщений: 48


Я в #16 все описал!
Существует блок с Hyperlink, состоящий из 10-ти слов,
Мне надо записать только часть гиперссылки, скажем 5 первых слов в Excel.

Добавлю:
или,если это проще, сразу записать строкой эту часть гиперссылки рядом с блоком.
Второе может даже интереснее, чем первое!
Имеется ввиду: Autocad предпочтительней, чем Excel!

Последний раз редактировалось alextv, 06.12.2008 в 16:50.
alextv вне форума  
 
Автор темы   Непрочитано 06.12.2008, 14:50
#22
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Сделаю, жди.
Supermax вне форума  
 
Непрочитано 06.12.2008, 15:01
#23
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,839


alextv, и тебя направляю в сторону кнопки [Правка]...
Неужели каждого надо ткнуть?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 06.12.2008, 16:48
#24
alextv


 
Регистрация: 01.06.2008
Сообщений: 48


Кулик Алексей aka kpblc,
Да ладно, не надо меня тыкать, знал-бы, сделал бы правку сразу, сейчас буду знать, спасибо!
Только-что даже орф. ошибку исправил при помощи правки.
alextv вне форума  
 
Непрочитано 06.12.2008, 22:35
#25
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,839


alextv, вот и ладушки Мир?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 06.12.2008, 22:48
#26
alextv


 
Регистрация: 01.06.2008
Сообщений: 48


Идет чукча по Москве, увидел плакат "МИР,ТРУД, МАЙ", дописал:" ИЮНЬ, ИЮЛЬ, АВГУСТ".
А я и не обижался, ты был прав!
alextv вне форума  
 
Непрочитано 12.12.2008, 19:23
#27
alextv


 
Регистрация: 01.06.2008
Сообщений: 48


Supermax, ты про меня забыл, или это действительно не возможно, и Sleekka в #17 был прав!?
alextv вне форума  
 
Непрочитано 12.12.2008, 23:06
#28
Holon

CNC
 
Регистрация: 07.07.2007
Israel
Сообщений: 302


Цитата:
Сообщение от alextv Посмотреть сообщение
Supermax, ты про меня забыл, или это действительно не возможно, и Sleekka в #17 был прав!?
Надо описать задачу более подробно,
невозможно выполнить какой либо алготитм
до конца непредставляя его работу, скажем
дело не в гиперссылке, а в стринге который
возвращает функция

Цитата:
Существует блок с Hyperlink, состоящий из 10-ти слов,
Мне надо записать только часть гиперссылки, скажем 5 первых слов в Excel.
Возможно обрезать стринг по кол-ву символов в строке,
по какому-нибудь ключу в этой строке, ещё по чему-нибудь,
а потом уже полученный результат вставляй куда хочешь,
хоть в эксель или текст или блок с атрибутами да хоть
через SQL в базы данных, но для этого надо знать, что резать в
этой строке, самый простой вариант это представить пример
строки, и что от нее надо оставить, при такой постановке вопроса ответ появится практически моментально.
Holon вне форума  
 
Непрочитано 13.12.2008, 14:08
#29
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,991
<phrase 1= Отправить сообщение для VVA с помощью Skype™


alextv,
+ Holon, В гиперссылке 3 свойства :
url
URLDescription
URLNamedLocation

Тебе какую часть из этих трех нужно записать в Excell?
Самый простой пример выложить блок и написать какие слова нужны в Excell'e
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 14.12.2008, 00:12
#30
Holon

CNC
 
Регистрация: 07.07.2007
Israel
Сообщений: 302


Вот здесь в 5-ом посту есть функция от Кулик Алексея
test2 , alextv запусти эту функцию у себя и укажи на блок
то, что функция вернет пришли сюда на форум, и укажи, что из
присланного ты хочешь записать в эксель, я думаю это все прояснит.
Holon вне форума  
 
Непрочитано 22.05.2013, 17:21
#31
Павлов Андрей

Инженер-строитель
 
Регистрация: 27.05.2004
Республика Беларусь
Сообщений: 67


Здравствуйте . А можно ли содержание Hyperlink объекта Autocad вывести в текст или на выноску ? Например , если объект в видовом экране , а выноску проставить в листе ? (Autocad 2013(en)) Спасибо .
__________________
Andrey
Павлов Андрей вне форума  
 
Непрочитано 22.05.2013, 22:10
#32
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,840


Да - это возможно.
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 23.05.2013, 09:35
#33
Павлов Андрей

Инженер-строитель
 
Регистрация: 27.05.2004
Республика Беларусь
Сообщений: 67


Цитата:
Сообщение от Дима_ Посмотреть сообщение
Да - это возможно.
Осмелюсь спросить - а как ? Не могли бы помочь ? Спасибо .
__________________
Andrey
Павлов Андрей вне форума  
 
Непрочитано 23.05.2013, 10:04
#34
hwd

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


@Павлов Андрей,

Во первых, ты не указал язык программирования, на котором пишешь.

Во вторых, ты чётко не сформулировал свой вопрос. Из текущей постановки не ясно, желаешь ли ты просто программно выполнить обозначенное тобою действие, а проверку актуальности текущего состояния выполнять, принудительно вызывая команду проверки. Либо же ты хочешь, чтобы в случае модификации содержимого ссылки, информация в тексте\выноске, считываемая с этой ссылки, обновлялась автоматически.

В третьих, ты не показал свой код, в котором пытаешься решить поставленную задачу, дабы получить по нему конструктивные замечания\предложения.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 23.05.2013, 10:35
#35
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,840


+ к hwd - Павлов Андрей Вы просите помочь - а чем? У вас проблемма с получением текста гиперссылки или с установкой его в выноску, или проблема с программированием вообще, или эта такая замаскированная просьба - типа а сделайте мне пожалуйста так. Ответы на все эти вопросы Вы без труда найдете в поиске. Для просьб есть соответствующая ветка (не готовы платить за заказ - так и укажите - может кто и напишет), только Вы уж потрудитесь для решения Вашей проблеммы хотя-бы толково расписать, что нужно и чего Вам не хватает для реализации этой задачи.
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 23.05.2013, 14:19
#36
Павлов Андрей

Инженер-строитель
 
Регистрация: 27.05.2004
Республика Беларусь
Сообщений: 67


Я пытаюсь решить проблему подсчета спецификации КЖ в excel 2003 . Подставляю вручную значения в шаблон спецификации Excel . Отдельные стержни вычерчены отрезками в 3D , к ним присоединена информация вида <Фо-Е-110 КП-1 $10 S500> в виде гиперссылки . При подстановке данных по арматурным элементам в спецификацию хотелось бы контролировать правильность ввода данных . Т.е. т.к. вся арматура в модели в натуральную величину , то хотелось бы в листе видеть параметры арматуры и т.д... т.е вставить их на выносках или в текст в листе . Получить значение в командную строку я нашел как , а вот как копировать программно в буфер пока не понял . код использую такой :

Код:
[Выделить все]
 ;;; Функция возвращает значение гиперссылки у объекта ввиде списка
;;; (Url URLDescription URLNamedLocation)
;;; Аргумент
;;;ENAME - ename or vla object
(defun mip-get-hyperlink (ENAME / ret)
  (if (eq (type ENAME) 'ENAME)
    (setq ENAME (vlax-ename->vla-object ENAME))
  ) ;_ end of if
  (vlax-for hyp (vla-get-hyperlinks ENAME)
    (setq ret (cons (list
                      (vla-get-URLDescription hyp)
                                          )
                    ret
                    )
          )
    )
  (car(reverse ret))
) ;_ end of DEFUN
(defun C:hyp_pokaji ( / e1)
  (terpri)
  (if (setq e1 (car(entsel)))
    (princ (mip-get-hyperlink e1))
    )
  (princ)
  )
__________________
Andrey
Павлов Андрей вне форума  
 
Непрочитано 23.05.2013, 14:22
#37
hwd

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


Цитата:
Сообщение от Павлов Андрей Посмотреть сообщение
код использую такой
Совет: используй тэги форматирования (в редакторе сообщений), а так же отступы в коде, дабы читабельно было.

P.S. вижу, исправлено, пока я печатал
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 23.05.2013, 14:45
#38
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,840


Код:
[Выделить все]
 (defun c:test()
(command "_.MSPACE")
((lambda (ents)
    (command "_mleader" (cadr ents) pause (car (mip-get-hyperlink (car ents))))
    (command "_chspace" (entlast) ""))
 (entsel)))
Держи - на большее я не готов - перед использованием установи в стиле мультивыноски масштаб по листу.
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 23.05.2013, 15:42
#39
Павлов Андрей

Инженер-строитель
 
Регистрация: 27.05.2004
Республика Беларусь
Сообщений: 67


Спасибо , Дима_ , но пока не хочет считывать , просит ввести объект , вторую точку , потом просит ввести текст ....
__________________
Andrey
Павлов Андрей вне форума  
 
Непрочитано 23.05.2013, 15:48
#40
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,840


из "твоего" лиспа mip-get-hyperlink - установлен?? - лог командной строки в студию (можно с "куском" файла) - это такой привет от командных методов...
__________________
Когда в руках молоток все вокруг кажется гвоздями.

Последний раз редактировалось Дима_, 23.05.2013 в 15:56.
Дима_ вне форума  
 
Непрочитано 23.05.2013, 17:02
#41
Павлов Андрей

Инженер-строитель
 
Регистрация: 27.05.2004
Республика Беларусь
Сообщений: 67


Полностью код , который я использовал - ниже
Код:
[Выделить все]
;;; Функция возвращает значение гиперссылки у объекта ввиде списка
;;; (Url URLDescription URLNamedLocation)
;;; Аргумент
;;;ENAME - ename or vla object
(defun mip-get-hyperlink (ENAME / ret)
  (if (eq (type ENAME) 'ENAME)
    (setq ENAME (vlax-ename->vla-object ENAME))
  ) ;_ end of if
  (vlax-for hyp (vla-get-hyperlinks ENAME)
    (setq ret (cons (list
                      (vla-get-URLDescription hyp)
                                            )
                    ret
                    )
          )
    )
  (car(reverse ret))
) ;_ end of DEFUN
(defun c:hyp_read()
(command "_.MSPACE")
((lambda (ents)
    (command "_mleader" (cadr ents) pause (car (mip-get-hyperlink (car ents))))
    (command "_chspace" (entlast) ""))
 (entsel)))
Autocad в командной строке пишет :


hyp_read
_.MSPACE
Command:
Select object: _mleader
Specify leader arrowhead location or [leader Landing first/Content first/Options] <Options>:
Specify next point:
Specify next point: K-102 C-2 $10 S500
Invalid Input.
Specify next point: _chspace
Invalid Input.
Specify next point:
Invalid Input.
Specify next point:
Enter text: nil

Enter text:

Command:
__________________
Andrey
Павлов Андрей вне форума  
 
Непрочитано 23.05.2013, 17:15
#42
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,840


Либо в третий строчке снизу замените "pause" на "pause pause", либо в настройках мультивыноски задайте фиксированную величину полки.
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 23.05.2013, 17:26
#43
Павлов Андрей

Инженер-строитель
 
Регистрация: 27.05.2004
Республика Беларусь
Сообщений: 67


Спасибо . С двумя паузами работает . Еще раз спасибо за потраченное время .
__________________
Andrey
Павлов Андрей вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Работа с Hyperlink

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Акад2008. Странная работа окна "Свойства". kkiak AutoCAD 11 12.11.2007 17:06
Работа в испании ASLYS Профессии и трудовые отношения 12 21.10.2007 17:04
Сколько может стоить геодезическая работа в РБ bobis Разное 1 09.09.2007 16:22
Работа профнастила MegaPascal Прочее. Архитектура и строительство 8 12.07.2007 18:43