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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > LISP: работа с буфером обмена с помощью VLisp

LISP: работа с буфером обмена с помощью VLisp

Ответ
Поиск в этой теме
Непрочитано 20.06.2005, 14:02 #1
LISP: работа с буфером обмена с помощью VLisp
Torino
 
Штаб
Регистрация: 21.08.2003
Сообщений: 943

Каким образом из Лиспа можно скопировать объекты (не только текст) в буфер обмена и вставить из него в чертеж?
Просмотров: 5598
 
Автор темы   Непрочитано 22.06.2005, 14:32
#2
Torino


 
Регистрация: 21.08.2003
Штаб
Сообщений: 943
<phrase 1=


Поднимаю тему, ибо еще актуально.
Может быть как-нибудь через VBA (с вызовом из LISPa)?
Torino вне форума  
 
Непрочитано 22.06.2005, 15:36
#3
Мансур

Инженер САПР
 
Регистрация: 12.11.2004
Тюмень
Сообщений: 36
<phrase 1=


Можно такой вариант:
Код:
[Выделить все]
(setq ss1 (ssget))
(setq newpt (getpoint))
(command "copyclip" "si" ss1)
(command "pasteclip" newpt)
В твоем случае наверно лучше "copybase", но суть остается та же
Удачи!
Мансур вне форума  
 
Непрочитано 22.06.2005, 16:03
#4
Alan

CAD
 
Регистрация: 28.08.2003
Киев
Сообщений: 1,835
<phrase 1=


А чем тебя не устраивает выбор объектов (ssget) и последующая вставка-копирование и т.д.? И где это храниться в наборе или в буфере обмена, не всё ли равно? Или я не правильно понял вопрос?
Alan вне форума  
 
Автор темы   Непрочитано 22.06.2005, 17:17
#5
Torino


 
Регистрация: 21.08.2003
Штаб
Сообщений: 943
<phrase 1=


Уточню вопрос:
Предположим я копирую из Civil 3D в буфер обмена какие-то объекты.
Далее переключаюсь в голый Автокад. Копирую из буфера обмена объекты и работаю с ними дальше.
Т.е. вопрос стоит так: как извлечь из буфера обмена объекты, помещенные туда другой сессией (документом) Автокада?
Torino вне форума  
 
Непрочитано 22.06.2005, 19:06
#6
MIP

инженер
 
Регистрация: 13.12.2004
Минск
Сообщений: 496


>>Torino
Цитата:
Уточню вопрос:
Предположим я копирую из Civil 3D в буфер обмена какие-то объекты.
Далее переключаюсь в голый Автокад. Копирую из буфера обмена объекты и работаю с ними дальше.
Т.е. вопрос стоит так: как извлечь из буфера обмена объекты, помещенные туда другой сессией (документом) Автокада?
эту задачу нужно решить именно програмным путем?
Так как все нормально работает и через обычное копирование через буфер!
MIP вне форума  
 
Автор темы   Непрочитано 22.06.2005, 19:12
#7
Torino


 
Регистрация: 21.08.2003
Штаб
Сообщений: 943
<phrase 1=


Именно програмным путем.
Torino вне форума  
 
Непрочитано 22.06.2005, 19:35
#8
Apelsinov

Проектировщик ВК. LISP-любитель.
 
Регистрация: 15.12.2003
Москва
Сообщений: 1,186
<phrase 1=


>Torino

а может, как нибудь альтернативно...

сохранить эти объекты во временном файле, затем вставить их оттуда блоком в следующий файл, а временный удалить?
Apelsinov вне форума  
 
Автор темы   Непрочитано 22.06.2005, 21:05
#9
Torino


 
Регистрация: 21.08.2003
Штаб
Сообщений: 943
<phrase 1=


Мне kos подсказал один метод.
Но этот метод тоже не прямой.
Просто удивляет отсутствие функций для работы с clipboard.
Torino вне форума  
 
Непрочитано 23.06.2005, 09:06
#10
Pilot

Проектировщик свиноводство
 
Регистрация: 21.08.2003
Сообщений: 2,260


А не ты пробовал
Код:
[Выделить все]
(command "_copyclip" ...
...
(command "_pasteclip" ...
?
Pilot вне форума  
 
Автор темы   Непрочитано 23.06.2005, 10:32
#11
Torino


 
Регистрация: 21.08.2003
Штаб
Сообщений: 943
<phrase 1=


Пробовал.
Но как после (command "_pasteclip" ... ) получить указатель на только что вставленные объекты?
Ни _L ни _P не работают.
Torino вне форума  
 
Непрочитано 23.06.2005, 11:15
#12
Apelsinov

Проектировщик ВК. LISP-любитель.
 
Регистрация: 15.12.2003
Москва
Сообщений: 1,186
<phrase 1=


>Torino
можно попробовать _pasteblock, и затем _L.
а уж с блоком то потом что хошь....
Apelsinov вне форума  
 
Автор темы   Непрочитано 23.06.2005, 11:28
#13
Torino


 
Регистрация: 21.08.2003
Штаб
Сообщений: 943
<phrase 1=


А это идея!
Спасибо, попробую!
Torino вне форума  
 
Непрочитано 23.06.2005, 12:17
#14
algol2

конструктор
 
Регистрация: 23.06.2005
Украмна
Сообщений: 9


Если до (command "_pasteclip" ... ) запомнить в переменной entl(setq entl (entlast)), то после (command "_pasteclip" ... ) указатель на только что вставленные объекты будет (entnext entl)
algol2 вне форума  
 
Автор темы   Непрочитано 23.06.2005, 13:16
#15
Torino


 
Регистрация: 21.08.2003
Штаб
Сообщений: 943
<phrase 1=


>>algol2
Спасибо за вариант!
Как раз это и предложил kos.
Torino вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > LISP: работа с буфером обмена с помощью VLisp

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

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