Autolisp: как получить последний ввод (команду, координаты точек)? - Страница 2
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Autolisp: как получить последний ввод (команду, координаты точек)?

Autolisp: как получить последний ввод (команду, координаты точек)?

Ответ
Поиск в этой теме
Непрочитано 04.12.2012, 13:45
Autolisp: как получить последний ввод (команду, координаты точек)?
studentarh
 
Регистрация: 22.07.2012
Сообщений: 14

В Автокаде сохраняется ввод (последняя введенная команда, координаты нескольких последних точек, указанных на чертеже). Как получить этот ввод средствами autolisp (для использования в программе)?
Просмотров: 13649
 
Автор темы   Непрочитано 05.12.2012, 15:50
#21
studentarh


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


Да, это я наконец понял (что решения нет на лиспе). Ну, значит, другими средствами надо попробовать решить. Я просто думал, что мне здесь помогут.
Насчет файла с чертежом: ну я ведь не про определенный чертеж писал, только старался приводить конкретные примеры, как в случае с окном.
studentarh вне форума  
 
Непрочитано 05.12.2012, 15:55
#22
john644


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


Цитата:
Сообщение от studentarh Посмотреть сообщение
что именно не понятно в том, что я уже писал.
Что именно Вас не устраивает в выборе точек?
john644 вне форума  
 
Автор темы   Непрочитано 05.12.2012, 16:26
#23
studentarh


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


Какой выбор точек? Если это про функцию (getpoints), так я же говорю, она предлагает указать точки на экране, а надо получить уже указанные при черчении.
Предполагается так:
1) черчу (при этом указываю точки)
2) замечаю, что начертил не то, отменяю (при этом подсчитывается количество отмен)
3) перенастраиваю инструмент
4) автоматически указываю те же точки, что в пункте 1), количество точек определяется по количеству отмен из пункта 2), а координаты точек должны сохраняться при черчении в пункте 1).
Так вот, я думал, раз точки сохраняются автоматически в последнем вводе, их можно просто оттуда взять. Но раз нельзя, значит надо их при черчении сохранить, то есть программа должна это выполнять. Но если использовать (getpoints) еще при черчении, то вместо черчения я буду указывать точки для этой функции. И даже если функция будет передавать точки автокаду (чтобы в автокаде все-таки создавались объекты при указании точек), все равно не подходит, так как при выполнении такой функции у меня простой курсор на экране и отсутствует изображение будущего объекта (которое есть при обычном черчении) - получается черчение вслепую, что очень плохо.
studentarh вне форума  
 
Непрочитано 05.12.2012, 16:37
#24
john644


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


Я говорил о выборе точек( функция ssget), а не задании точек ( функция getpoint) Теперь выясняется, что Вы не чертите точки, Вы чертите различные примитивы ( линии, трехмерные фигуры и т.д.) Это соверiенно разные вещи. Выбор последнего введенного примитивы (enget (entlast)), а из него уже извлекаете точки.
john644 вне форума  
 
Непрочитано 05.12.2012, 16:42
#25
Александр Ривилис

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


Цитата:
Сообщение от studentarh Посмотреть сообщение
1) черчу (при этом указываю точки)
Допустим.
Цитата:
Сообщение от studentarh Посмотреть сообщение
2) замечаю, что начертил не то, отменяю (при этом подсчитывается количество отмен)
Допустим. Только некоторые команды имеют внутренние средства отмены, а некоторые нет.
Цитата:
Сообщение от studentarh Посмотреть сообщение
3) перенастраиваю инструмент
Чего-чего?
Цитата:
Сообщение от studentarh Посмотреть сообщение
4) автоматически указываю те же точки, что в пункте 1)
Это как ты себе представляешь? Если это делаешь ты сам, то каким образом? Если это делает программа, то как она должна знать какую команду и с какими опциями запустить?

Резюме: Незнание возможностей AutoCAD и средств программирования под него приводит к таким вот темам на форуме.
Александр Ривилис вне форума  
 
Автор темы   Непрочитано 05.12.2012, 17:26
#26
studentarh


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


Извлечение точек из созданного примитива не всегда поможет, так как точки, указанные при его создании, могут не совпадать ни с одной точкой самого примитива. Если я что-то неправильно понял насчет этого, объясните пожалуйста подробнее.

Цитата:
Сообщение от mamuk Посмотреть сообщение
Что имеете ввиду под настройками инструмента?
- Этот вопрос (насчет перенастройки) уже был, я пытался объяснить подробно на примере с созданием окна в архитектурном автокаде.

Автоматически указывает точки программа (запускаемая вручную когда нужно), при этом программа не должна запускать команду с опциями, так как команда эта (команда черчения) уже запущена в самом первом пункте (точнее перед первым пунктом, до начала самого черчения) и продолжает работать без завершения, а ее опции задаются (точнее меняются на те, которые нужны) как раз при "перенастройке инструмента" (вручную). То есть программа должна именно указать точки и все.

Последний раз редактировалось studentarh, 05.12.2012 в 17:36.
studentarh вне форума  
 
Непрочитано 05.12.2012, 17:34
#27
john644


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


Цитата:
Сообщение от studentarh Посмотреть сообщение
так как точки, указанные при его создании, могут не совпадать ни с одной точкой самого примитива.
Это как? Что Вы имеете ввиду? Если имеете ввиду, что существует формула перевода от заданной точки к точки примитива, так что Вас смущает. Что человек сделал, то человек завсегда и разломать может (С)
john644 вне форума  
 
Автор темы   Непрочитано 05.12.2012, 17:52
#28
studentarh


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


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

Последний раз редактировалось studentarh, 05.12.2012 в 18:19.
studentarh вне форума  
 
Непрочитано 05.12.2012, 17:55
#29
john644


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


Цитата:
Сообщение от studentarh Посмотреть сообщение
Чтобы учесть это автоматическое уточнение,
А зачем Вам нужно это уточнение? Вам шашечки или ехать?
john644 вне форума  
 
Автор темы   Непрочитано 05.12.2012, 18:19
#30
studentarh


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


Действительно, соседние объекты наверное не нужны и уточнение тоже, я как-то не подумал. Но все-таки при работе разных инструментов будут разные формулы расчета. То есть придется понять принцип построения каждого объекта отдельно, затем это описать в программе и еще включить в программу функцию определения того, какой объект в данном случае создан (чтобы она выбрала нужный способ построения в зависимости от объекта). Ну это тоже, мне кажется, довольно сложно, и, главное, есть вероятность, что не все будет учтено, и в программе будут ошибки, которые сложно найти и устранить.
studentarh вне форума  
 
Непрочитано 05.12.2012, 18:32
#31
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Про "настройку инструмента" - это да, это лихо. До этого даже Гаврила не додумался.
Profan вне форума  
 
Непрочитано 05.12.2012, 19:25
#32
Александр Ривилис

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


studentarh,
Александр Ривилис вне форума  
 
Непрочитано 05.12.2012, 19:32
#33
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


studentarh, хватит мурочку водить, скажи что конкретно тебе надо
gomer вне форума  
 
Непрочитано 06.12.2012, 08:28
#34
mamuk


 
Регистрация: 06.05.2010
Сургут
Сообщений: 248


Offtop: интерессно просто невозможно!!!!
mamuk вне форума  
 
Автор темы   Непрочитано 06.12.2012, 08:36
#35
studentarh


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


Да я говорил, что надо конкретно, в самом первом сообщении. Мне пояснили, что это невозможно (только почему-то не сразу). Затем предложили другой вариант, который сложный, так что польза от самой программы не стоит работы над ней. Понял, что лучше этим делом не заниматься. Все.

Последний раз редактировалось studentarh, 06.12.2012 в 08:44.
studentarh вне форума  
 
Непрочитано 06.12.2012, 09:22
#36
john644


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


Цитата:
Сообщение от studentarh Посмотреть сообщение
Да я говорил, что надо конкретно, в самом первом сообщении
Вы так особенно ничего и не сказали. Программирование конечно делается некоторое время. Но то что Вы хотите делается легко и при чем несколько вариантов. Для того чтобы решить Вашу задачу напишите программку для прилагаемого примера из набора линии 1 сделать 4 2 - это укоротить одну линию 3 красные перенести и 4 красные повернуть на угол 30 градусов Многие из здесь присутствующих сделают это за пару часов. Вам понадобиться несколько суток, но выбирать вариант Вам. А если хотите пришел на работу шелкнул пальцами и сказал Чертеж, то это на 3 круга ада а не на приличные форумыф.
Вложения
Тип файла: dwg
DWG 2000
Чертеж1.dwg (141.2 Кб, 1898 просмотров)
john644 вне форума  
 
Непрочитано 06.12.2012, 12:50
#37
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,701
Отправить сообщение для Do$ с помощью Skype™


Цитата:
Сообщение от Profan Посмотреть сообщение
Про "настройку инструмента" - это да, это лихо. До этого даже Гаврила не додумался.
Есть такая возможность в вертикальных решениях.
Миниатюры
Нажмите на изображение для увеличения
Название: Редактирование команд.jpg
Просмотров: 89
Размер:	372.4 Кб
ID:	91909  
Do$ вне форума  
 
Непрочитано 06.12.2012, 12:57
#38
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Есть, конечно. Да и в самом AutoCAD'е можно настроить инструмент, расположенный на палитре. Но здесь-то о каком инструменте идет речь? О таком, который еще надо выдумать?
Profan вне форума  
 
Непрочитано 13.12.2012, 09:11
#39
mamuk


 
Регистрация: 06.05.2010
Сургут
Сообщений: 248


А можно с помощью Lisp создать объект как на ARX!!? хотя бы чтоб объект работал пока сам lisp работает? Что то типа динамического блока?
mamuk вне форума  
 
Непрочитано 13.12.2012, 09:20
#40
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,701
Отправить сообщение для Do$ с помощью Skype™


Offtop: Вопрос очень в тему
Do$ вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Autolisp: как получить последний ввод (команду, координаты точек)?

Реклама i


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как получить координаты рамки text? mamuk Программирование 21 22.08.2010 13:26
Как получить экранные координаты курсора +Alex+ Программирование 12 07.07.2010 17:38
Как получить координаты точек отображенных на четеже в виде таблици?? nix-- AutoCAD 10 22.05.2009 13:41
Ввод третьей координаты Mazai Программирование 12 30.08.2008 20:50
координаты вершин выбранной полилинии на VB? как получить ssv22 Программирование 5 17.07.2008 00:01