|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
06.02.2023, 07:10 | #1 | |
Есть ли у кого лисп вычисления и замены чисел в автокаде?↓↓↓
Регистрация: 19.08.2022
Сообщений: 71
|
||
Просмотров: 744
|
|
||||
Вот лисп который работает с текстовыми цыфирями (не с Мтекстом) умеет делить складывать и вычетать у группы текстов
__________________
...переменная FILEDIA создана для привлечения пользователей к форумам. |
||||
|
||||
Регистрация: 19.08.2022
Сообщений: 71
|
Цитата:
----- добавлено через ~21 ч. ----- Если кому понадобится, то вот нашел на просторах двг: ↓↓↓ (defun C:DOTEXT ( / ent ss str do K lst) ;helper function. Unformat Mtext (defun mip_MTEXT_Unformat ( Mtext / text Str ) (setq Text "") (while (/= Mtext "") (cond ((wcmatch (strcase (setq Str (substr Mtext 1 2))) "\\[\\{}]") (setq Mtext (substr Mtext 3) Text (strcat Text Str))) ((wcmatch (substr Mtext 1 1) "[{}]")(setq Mtext (substr Mtext 2))) ((wcmatch (strcase (setq Str (substr Mtext 1 2))) "\\[LO`~]") (setq Mtext (substr Mtext 3))) ((wcmatch (strcase (substr Mtext 1 2)) "\\[ACFHQTW]") (setq Mtext (substr Mtext (+ 2 (vl-string-search ";" Mtext))))) ((wcmatch (strcase (substr Mtext 1 2)) "\\P") (if (or(= " " (substr Text (strlen Text))) (= " " (substr Mtext 3 1))) (setq Mtext (substr Mtext 3)) (setq Mtext (substr Mtext 3) Text (strcat Text " ")))) ((wcmatch (strcase (substr Mtext 1 2)) "\\S") (setq Str (substr Mtext 3 (- (vl-string-search ";" Mtext) 2)) Text (strcat Text (vl-string-translate "#^\\" "/^\\" Str)) Mtext (substr Mtext (+ 4 (strlen Str))))) (t (setq Text (strcat Text (substr Mtext 1 1)) Mtext (substr Mtext 2))) )) Text ) ;helper function (defun str-str-lst (str pat / i) (cond ((= str "") nil) ((setq i (vl-string-search pat str)) (cons (substr str 1 i) (str-str-lst (substr str (+ (strlen pat) 1 i)) pat) ) ;_ cons ) (t (list str)) ) ;_ cond ) ;_ defun ;;Действие с объектом ;;ent - vla or ename object of text ;;do - действие ;;K - коэффициент действия (do <значение текста> K) ;; (defun dotext ( ent do K / str res) (if (= (type ent) 'ENAME)(setq ent (vlax-ename->vla-object ent))) (if (not (numberp K))(if (or (equal do /)(equal do *))(setq K 1)(setq K 0))) (if (and (equal do /)(zerop K))(setq K 1)) (setq str (str-str-lst (vla-get-textstring ent) "\\P") str (mapcar '(lambda(x)(mip_mtext_unformat x)) str) str (mapcar '(lambda(x)(vl-string-translate "," "." (vl-string-trim "%UuoOcC \t" x))) str) res (mapcar 'atof str) res (mapcar '(lambda(nu)(do nu K)) res) res (apply 'strcat (mapcar '(lambda(x)(strcat (rtos x 2 2) "\\P")) res)) res (vl-string-right-trim "\\P" res) );_setq (vla-put-textstring ent res) ) (vl-load-com) (while (not(member (setq str (substr (getstring "\nУкажите действие (+ - * /): ") 1 1)) '("+" "*" "-" "/"))) (princ " * неверно* Нужно набрать + - * / ")) (cond ((= str "*")(setq do *)(initget 1)) ((= str "+")(setq do +)(initget 1)) ((= str "-")(setq do -)(initget 1)) ((= str "/")(setq do /)(initget 3)) (t (setq do nil))) (setq K (getreal "\nУкажите коэффициент: ")) (princ "\nВыберите текст < выход >") (if (and do (setq ss (ssget '((0 . "*TEXT"))))) (progn (setq lst (mapcar 'vlax-ename->vla-object (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss))))) (foreach obj lst (if (vlax-write-enabled-p obj) (vl-catch-all-apply 'dotext (list obj do K)) (princ "\nТекст на замороженном слое") ) ) ) ) (princ) ) (princ "\nНаберите DOTEXT в командной строке") Последний раз редактировалось Jek30, 07.02.2023 в 06:17. |
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Разработка ПОС, искусство проектирования | Tyhig | Технология и организация строительства | 117 | 25.11.2021 17:38 |
Какой язык перспективен для инженера-конструктора с условием | The_Mercy_Seat | Программирование | 705 | 17.03.2021 14:19 |
подскажите. где скачать книгу про Revit Mep ..... есть у кого... | 8914 | Поиск литературы, чертежей, моделей и прочих материалов | 3 | 07.03.2013 18:04 |
Сортамент сборных железобетонных конструкций у кого есть ? | bybs | Поиск литературы, чертежей, моделей и прочих материалов | 8 | 13.08.2012 13:48 |
Есть ли у кого шрифт "пишущая машинка"? | URKA | Разное | 14 | 26.07.2009 17:19 |