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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Макрос построения точки с нулевым значением функции

Макрос построения точки с нулевым значением функции

Ответ
Поиск в этой теме
Непрочитано 24.07.2013, 09:33 #1
Макрос построения точки с нулевым значением функции
sam_n
 
Регистрация: 04.06.2013
Сообщений: 34

Есть результаты расчеты какой-нибудь плитной конструкции в ING+ в dxf файле. Соответственно в узлах конечноэлементной сетки проставлены величины армирования. Суть в том, чтобы между узлами со значениями, к примеру "2.0" и "-5.4" построить точку, соответствующую значению "0".
После долгих мучений удалось родить только такой макрос:

^C^C(setq c (getpoint));\(setq a \(setq d (getpoint));\(setq b \точка;'_cal;(Plt(c,d,abs(a)/(a+b)));

Сначала выбирается первая точка, с клавиатуры вводится первая величина в формате "2.0)", потом вторая точка и вторая величина. Суть проблемы очевидна, что не хочется вводить значение с клавиатуры.
Пытался приспособить функцию

(setq a (cdr (assoc 1 (entget (car (entsel "выбери текст"))))))

Сам в программировании не силен, но, как понял, дело в том, что а присваивается тип string.
Как можно присвоить переменной значение текста, чтобы она обработалась через _cal?
Просмотров: 2933
 
Непрочитано 24.07.2013, 09:51
1 | #2
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Код:
[Выделить все]
(setq num (atof(cdr(assoc 1(entget(car(entsel"\nВыбери текст: ")))))))
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 24.07.2013, 09:53
#3
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,611


удалил все. не туда.

Последний раз редактировалось Boxa, 24.07.2013 в 09:56. Причина: удалил все.
Boxa вне форума  
 
Автор темы   Непрочитано 24.07.2013, 11:49
#4
sam_n


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


VVA, отлично) то что надо

аппетит просыпается во время еды)
(setq a (atof(cdr(assoc 1(entget(car(entsel"Выбери текст:")))))));\(setq с (atof(cdr(assoc 11(entget(car(entsel"Выбери текст:")))))));\
можно ли при присваивании переменной С сослаться на предыдущий объект? попробывал через набор, но, видимо, руки не из того места растут.
чтобы точка тоже считывалась с текста (все тексты серединами привязаны к конечноэлементной сетке) и в итоге заменить 4 клика мышки на 2.
sam_n вне форума  
 
Непрочитано 24.07.2013, 13:16
#5
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Цитата:
Сообщение от sam_n Посмотреть сообщение
можно ли при присваивании переменной С сослаться на предыдущий объект?
Не понятно что под этим подразумевается. И приложи файлик с примером.
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 24.07.2013, 13:25
#6
sam_n


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


VVA, Файл приложил, но не знаю, будет ли от него толку)
Если запустить макрос

(setq a (atof(cdr(assoc 1(entget(car(entsel"Выбери текст:")))))));\(setq с (atof(cdr(assoc 11(entget(car(entsel"Выбери текст:")))))));\

то оба раза придется тыкать в один и тот же текст. Первый раз чтоб взять с него значение, второй, чтобы узнать привязку центра. Нельзя ли, чтобы второй раз тыкать не приходилось, а уже в самой команде сослаться на объект. Как писал выше, кажется что это можно сделать через наборы, но не пойму как.
Вложения
Тип файла: dwg
DWG 2007
Армирование.dwg (431.7 Кб, 605 просмотров)

Последний раз редактировалось sam_n, 24.07.2013 в 14:33.
sam_n вне форума  
 
Непрочитано 24.07.2013, 16:02
#7
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Код:
[Выделить все]
(setq a(atof(cdr(assoc 1(setq ed(entget(car(entsel"Выбери текст:"))))))) c (cdr(assoc 11 ed)))
В переменной a - число, c - точка (привязка центра), ed - список текста для assoc (если понадобится далее)
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 24.07.2013, 16:12
#8
sam_n


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


VVA, спасибо) то что доктор прописал)
sam_n вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Макрос построения точки с нулевым значением функции



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как задать отметки точкам с нулевым значением Z? Rustam-tam Вертикальные решения на базе AutoCAD 5 05.05.2013 16:40
Макрос для построения поперечного профиля дороги MakFly Автомобильные и железные дороги, мосты, тоннели и организация движения 4 20.06.2010 12:39
Тригонометрические функции и векторная алгебра Supermax Программирование 149 08.12.2009 22:22