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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > присвоение значения находящегося на листе переменной в прогр

присвоение значения находящегося на листе переменной в прогр

Ответ
Поиск в этой теме
Непрочитано 06.04.2007, 12:08 #1
присвоение значения находящегося на листе переменной в прогр
paradoxvaha
 
проектирование противооползневых сооружений
 
Yalta
Регистрация: 06.04.2007
Сообщений: 50

День добрый! Я только начинаю пытаться программировать на lisp но тут такой вопрос возник - как мне присвоить значение, находящееся на листе в модели, произвольной переменной в программе на lisp? Т.е. говоря проще, у меня имеется в модели (в автокаде) число (обязательно число, не текст) с конкретными координатами расположения, как мне это число присвоить переменной в lisp приложении? - т.е. оно будет у меня как входные данные для дальнейшей работы программы.
И еще вопрос (небольшой и неосновной ) - как мне определить точку пересечения двух линий - полилинии и простой линии и далее присвоить координаты этой точки пересечения переменным в программе (также как и выше в примере принять координаты как входные данные)?
Заранее спасибо!!!
Просмотров: 3365
 
Непрочитано 06.04.2007, 12:43
#2
Кулик Алексей aka kpblc
Moderator

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


Прочитав вопрос, я чуть тик не словил. Есть предложение разобраться во всем происходящем.
Цитата:
значение, находящееся на листе в модели
Я в глубоком ступоре. Это как:?:
Цитата:
имеется в модели (в автокаде) число (обязательно число, не текст) с конкретными координатами расположения
Так... "число" в Autocad'e не может быть. Есть текстовый примитив, внутри которого хранится какое-то значение. А то, что человек его распознает как число, ни о чем не говорит.
"Конкретные координаты расположения" это, конечно, неплохо, но почитай, к примеру, http://www.arcada.com.ua/forum/viewtopic.php?t=653 - поймешь, что не все там так просто.
После того, как выбран объект (а выбирать-то его можно несколькими способами), надо взять с него значение текстовой строки. И вот тут закавыка. В региональных настройках разделителем целой и дробной части может выступать запятая, а для обработки лиспом надо ее менять на точку. Из текста надо удалить все разделители тысяч (тоже встречается).
Цитата:
И еще вопрос (небольшой и неосновной Very Happy) - как мне определить точку пересечения двух линий - полилинии и простой линии и далее присвоить координаты этой точки пересечения переменным в программе (также как и выше в примере принять координаты как входные данные)?
Вот тут-то как раз проще. vla-intersectwith. По справке см. InstersectWith. Тут недавно как раз была тема по vla-функциям, посмотри - там все рассказано.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 06.04.2007, 13:11
#3
paradoxvaha

проектирование противооползневых сооружений
 
Регистрация: 06.04.2007
Yalta
Сообщений: 50
<phrase 1=


Хорошо, я пока не силен в терминологии autokada и lispa, но все же, есть текстовый примитив, внутри которого хранится какое-то значение, как его оттуда взять и присвоить некоторой переменной в программе?
Если есть по существу предложения - пожалуйста, прийму с благодарностью, а если нет предложений - то можно и не писать ничего, сам попробую найти (без обид). А за второой ответ спасибо, буду пробовать.
paradoxvaha вне форума  
 
Непрочитано 06.04.2007, 14:06
#4
Diman111

промышл проектант
 
Регистрация: 26.05.2005
Изовсехщелей
Сообщений: 323


(setq a (cdr (assoc 1 (entget (car (entsel "выбери текст\n" ))))))
попробуй так
в переменной а будет текст
Diman111 вне форума  
 
Автор темы   Непрочитано 06.04.2007, 16:49
#5
paradoxvaha

проектирование противооползневых сооружений
 
Регистрация: 06.04.2007
Yalta
Сообщений: 50
<phrase 1=


да, так вроде работает, но надо выделять текст вручную, а нельзя ли всё это сделать автоматически?
paradoxvaha вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > присвоение значения находящегося на листе переменной в прогр