Как обратиться к ручкам (grips) на LISP?
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Как обратиться к ручкам (grips) на LISP?

Как обратиться к ручкам (grips) на LISP?

Ответ
Поиск в этой теме
Непрочитано 30.03.2012, 09:30 #1
Как обратиться к ручкам (grips) на LISP?
WhiteShark
 
Регистрация: 30.03.2012
Сообщений: 101

Всем здравствовать!
Собственно общий вопрос в названии темы. Более конкретная задача проще: есть объект выноска (созданный, правда, сторонним приложением), при нажатии на который появляется всего одна "ручка" как раз в месте излома, и вот взявшись программно за эту самую "ручку" требуется ее переместить на x мм в одну сторону. Как это сделать, ткнув всего лишь в любое место выноски? Зачем это нужно: в результате такой операции выноски отзеркаливается, т.е. полка перепрыгивает слева направо и наоборот. Прошу помощи
Просмотров: 2298
 
Непрочитано 30.03.2012, 09:41
#2
Кулик Алексей aka kpblc
Moderator

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


Снимай дамп объекта и смотри, что за что отвечает. Ну или обращаться к разработчикам этого стороннего приложения за документацией. Другого способа лично я не знаю.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 30.03.2012, 09:50
#3
WhiteShark


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


Алексей, дамп это список свойств объекта, верно я понял? То есть в описании в формате .dxf ручки указываются? Если нет, то как снять дамп? Связаться с разработчиком - бесперспективный вариант.
WhiteShark вне форума  
 
Непрочитано 30.03.2012, 09:51
#4
Кулик Алексей aka kpblc
Moderator

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


Что я понимаю под дампом:
(entget (car (entsel)) '("*")) - и анализировать список.
(vlax-dump-object (vlax-ename->vla-object (car (entsel)))) - и тоже на просмотр.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 30.03.2012, 10:29
#5
WhiteShark


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


Спасибо за помощь, Алексей. Дампы снял, но зацепиться не за что. Только я не совсем понял, в принципе то ручки у родных акадовских объектов где то описываются\достижимы?
WhiteShark вне форума  
 
Непрочитано 30.03.2012, 10:36
#6
Кулик Алексей aka kpblc
Moderator

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


Ручки - это всего лишь отображение какой-то информации. Так, например, у отрезка показывается 3 ручки: начальная точка, середина и конечная точка. Но программно описываются лишь начало и конец - этого достаточно для обработки примитива.
Приложи dwg-файл с этим объектом, может, и удастся расковырять его (хотя наверняка ObjectEnabler'а под это приложение нет, и на быстрый и простой результат я бы не особо рассчитывал).
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 30.03.2012, 10:40
#7
WhiteShark


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


ObjectEnabler под это приложение есть. Само приложение тебе знакомо, думаю. MagiCad называется. Но неужели ты будешь ковырять код ObjectEnabler'а?
WhiteShark вне форума  
 
Непрочитано 30.03.2012, 10:45
#8
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,169


Когда-то ковырялся в dxf-внутренностях выноски (leader), в результате наковырял полуавтоматическое перемещение полки под первую строку (правда, сейчас есть нормальные мультивыноски mleader, старые неактуальны). Но ручками (grips) не пользовался, IMHO, программно проще переместить весь объект. Если будет пример чертежа, могу глянуть.
Но если это собственный объект Магикада, а не чуток подрихтованная стандартная выноска - тогда не знаю...
kp+ вне форума  
 
Непрочитано 30.03.2012, 10:46
#9
Кулик Алексей aka kpblc
Moderator

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


Код Enabler'а, конечно, я трогать не буду. Но наличие ObjectEnabler'а дает массу преимуществ
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 30.03.2012, 11:02
#10
WhiteShark


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


Ну что ж.. буду надеяться на вашу помощь.
WhiteShark вне форума  
 
Непрочитано 30.03.2012, 15:20
#11
Александр Ривилис

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


Цитата:
Сообщение от WhiteShark Посмотреть сообщение
Только я не совсем понял, в принципе то ручки у родных акадовских объектов где то описываются\достижимы?
Да. Но не средствами lisp. В ObjectARX/.NET есть методы (упрощаю название): getGripPoints/moveGripPointsAt
Александр Ривилис вне форума  
 
Автор темы   Непрочитано 30.03.2012, 15:27
#12
WhiteShark


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


Спасибо за внимание к теме и за подсказку, Александр! Lisp только начал изучать, поэтому такие вопросы задаю. По ObjectARX литературы по-моему еще меньше, чем по lisp. На arx'е не могли бы сделать такую программульку? (если, конечно, она элементарная и не требует много времени)
WhiteShark вне форума  
 
Непрочитано 30.03.2012, 15:39
#13
Александр Ривилис

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


Цитата:
Сообщение от WhiteShark Посмотреть сообщение
На arx'е не могли бы сделать такую программульку?
Теоретически могу, но не вижу смысла:
1. У меня нет MagiCAD, так что проверять будет не на чем.
2. arx-файл работает под линейкой максимум из 3-х версий AutoCAD
3. Может возникнуть еще куча нюансов, заниматься которыми у меня не будет ни времени ни желания.
Так что если считаете, что Вам это необходимо - займитесь изучением ObjectARX/.NET
Александр Ривилис вне форума  
 
Автор темы   Непрочитано 30.03.2012, 15:44
#14
WhiteShark


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


Ок! Все равно спасибо за подсказки
WhiteShark вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Как обратиться к ручкам (grips) на LISP?



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Научите лиспу на примере (или как kpblc, VVA и компания пытаются обучить чайника лиспу) Red Nova LISP 5020 сегодня 09:52
Умер разработчик языка программирования Lisp andr_g LISP 1 27.10.2011 08:36
{Конкурс} Lisp. Задачки для студентов gomer LISP 10 05.01.2011 16:33
Запуск Lisp команды в новом документе BlackHarp LISP 1 26.03.2009 23:06
загрузка DOS прог через LISP Gaa LISP 15 12.08.2005 19:19