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

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

Чтобы результат работы команды (текст) был подчеркнутый...

Ответ
Поиск в этой теме
Непрочитано 29.11.2022, 13:44 #1
Чтобы результат работы команды (текст) был подчеркнутый...
antistatic1984
 
инженер-конструктор
 
СПб
Регистрация: 29.11.2022
Сообщений: 2

Доброе время суток, господа и дамы.

Я в лиспе -> 0.

Прошу помощи гуру!!!
Если есть возможность, подскажите, что добавить в готовый код (выполнение команды подсчета площади полилинии) -> там после выбора самой линии, выбираешь точку вставки числа (площадь) - вот надо сделать, чтобы текст был подчеркнутый.
Каждый раз выбирать текст и добавлять к нему %%U или нажимать Ctrl+U - очень накладно!

100% есть какие-то команды типа tx+ или tx- (я читал, но не понял, как их прописать, пытался - не работает).

Помогите, пожалуйта!

Благодарю ...

Код:
[Выделить все]
 ;;;ВЫЧИСЛЕНИЕ ПЛОЩАДИ ПО ПРИМИТИВУ
(defun C:ARE ()
(setq sblip (getvar "blipmode")
      scmde (getvar "cmdecho")
      slayr (getvar "clayer")     )
(setvar "blipmode" 0 )
(setvar "cmdecho" 0)
(princ "\n Select border polyline:")
(command "AREA" "e" pause)
(setq sp (getpoint "\nEnter start point:"))
(command "LAYER" "make" "A-AREA" "c" 51 "A-AREA" "")
(command "TEXT" sp (* (getvar "dimtxt") (getvar "dimscale")) ""
                (rtos (/ (getvar "area") 1000000.) 2 2))
(setvar "blipmode" sblip)
(setvar "cmdecho" scmde)
(setvar "clayer" slayr)
);def
Просмотров: 4434
 
Непрочитано 29.11.2022, 14:02
1 | 1 #2
Кулик Алексей aka kpblc
Moderator

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


13-ю строку замени на
Код:
[Выделить все]
(strcat "%%u" (rtos (/ (getvar "area") 1000000.) 2 2)))
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 29.11.2022, 14:16
#3
Ingpro


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


А как можно сделать подчеркнутым любой текст, Мтекст (без площади), просто выбрал тексты и они подчеркнулись...
Ingpro вне форума  
 
Автор темы   Непрочитано 29.11.2022, 14:44
#4
antistatic1984

инженер-конструктор
 
Регистрация: 29.11.2022
СПб
Сообщений: 2


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
13-ю строку замени на
Код:
[Выделить все]
(strcat "%%u" (rtos (/ (getvar "area") 1000000.) 2 2)))
Ай спасибо тебе большое, о великий kpbIc!

Работает как часики...

Сердечно благодарю!
antistatic1984 вне форума  
 
Непрочитано 29.11.2022, 14:56
#5
Кулик Алексей aka kpblc
Moderator

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


Цитата:
Сообщение от Ingpro Посмотреть сообщение
А как можно сделать подчеркнутым любой текст, Мтекст (без площади), просто выбрал тексты и они подчеркнулись...
Теоретически можно - но для многострочных текстов придется использовать принудительное форматирование. В общем случае задача не самая тривиальная ИМХО
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 29.11.2022, 15:24
#6
Ingpro


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


Алексей, а можно маленький лисп только чтобы подчеркивал текст? Спасибо!
А то, чтобы подчеркнуть текст, надо его сначала перевести в Мтекст, потом зайти в редактор текста и выбрать
подчёркнутый...
А, может, получится для МТекста копировать свойства подчеркнутого для неподчеркнутого?..

Последний раз редактировалось Ingpro, 29.11.2022 в 15:32.
Ingpro вне форума  
 
Непрочитано 29.11.2022, 15:50
#7
Кулик Алексей aka kpblc
Moderator

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


Так это уже модификация примитивов. Совершенно другая задача. А так, без проверок (тьма работы, расписывать все подряд не буду. В коде используются функции из библиотеки, ссылка в описании):
Код:
[Выделить все]
 (defun t1 (/ selset)
  (if (setq selset (_kpblc-conv-selset-to-vla
                     (_kpblc-selset-msg
                       "Select single- or multiline texts"
                       (function (lambda ()
                                   (ssget "_:L" '((0 . "*TEXT")))
                                 ) ;_ end of lambda
                       ) ;_ end of function
                     ) ;_ end of _kpblc-selset-msg
                   ) ;_ end of _kpblc-conv-selset-to-vla
      ) ;_ end of setq
    (foreach ent selset
      (cond
        ((= (vla-get-objectname ent) "AcDbText")
         (vla-put-textstring ent (strcat "%%u" (vla-get-textstring ent)))
        )
        ((= (vla-get-objectname ent) "AcDbMText")
         (vla-put-textstring ent (strcat "{\\L" (vla-get-textstring ent) "}"))
        )
      ) ;_ end of cond
    ) ;_ end of FOREACH
  ) ;_ end of if
) ;_ end of defun
Но за результат не отвечаю.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 29.11.2022, 15:56
#8
Ingpro


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


Почему-то пишет в КС
; ошибка: no function definition: _KPBLC-SELSET-MSG
Ingpro вне форума  
 
Непрочитано 29.11.2022, 16:05
#9
Кулик Алексей aka kpblc
Moderator

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


Потому что надо загружать всю библиотеку.
Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
В коде используются функции из библиотеки, ссылка в описании
Для кого писал?

----- добавлено через 40 сек. -----
Описание = подпись. Сейчас просто занимаюсь видеоподгонкой, вот по запарке и очепятался
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 29.11.2022, 16:23
#10
Ingpro


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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
В коде используются функции из библиотеки, ссылка в описании
Непонятно, где описание и как загружать всю библиотеку... Совсем не в теме...
Ingpro вне форума  
 
Непрочитано 29.11.2022, 22:33
#11
skkkk


 
Регистрация: 20.03.2008
Сообщений: 2,634


Ingpro, это вот тут https://github.com/kpblc2000/KpblcLi...ree/master/lsp
В папках conv (_kpblc-conv-selset-to-vla) и selset (_kpblc-selset-msg) лежат эти функции. Надо обеспечить их загрузку в КАД (любым образом) перед запуском лиспа.
skkkk на форуме  
 
Непрочитано 29.11.2022, 22:36
#12
Кулик Алексей aka kpblc
Moderator

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


Только сейчас добрался до компа...
Offtop: Если что, в readme все описано. Аж на двух языках Английский - сорри, как смог

----- добавлено через ~1 мин. -----
Offtop: Добавлю - лучше загружать вообще все, там полно вызовов других функций.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 30.11.2022, 09:21
#13
Ingpro


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


Цитата:
Сообщение от skkkk Посмотреть сообщение
В папках conv (_kpblc-conv-selset-to-vla) и selset (_kpblc-selset-msg) лежат эти функции. Надо обеспечить их загрузку в КАД (любым образом) перед запуском лиспа.
Спасибо, skkkk. Эту загрузку можно сделать через ЗАГПРИЛ, как лисп? Или есть другой способ, подскажите, пожалуйста.
_kpblc-selset-msg вот так отображается, с некорректными символами:

(defun _kpblc-selset-msg (msg fun-ssget / sysvar res)
;|
* Çàïðîñ îáúåêòîâ ñ ïîëüçîâàòåëüñêèì ïðèãëàøåíèåì
* Ïàðàìåòðû âûçîâà:
msg âûâîäèìîå ïðèãëàøåíèå
Миниатюры
Нажмите на изображение для увеличения
Название: Кодировки.png
Просмотров: 18
Размер:	64.4 Кб
ID:	251606  Нажмите на изображение для увеличения
Название: _kpblc-selset-msg_сайт.png
Просмотров: 18
Размер:	29.1 Кб
ID:	251607  

Последний раз редактировалось Ingpro, 02.12.2022 в 09:39.
Ingpro вне форума  
 
Непрочитано 30.11.2022, 16:13
#14
skkkk


 
Регистрация: 20.03.2008
Сообщений: 2,634


Цитата:
Сообщение от Ingpro Посмотреть сообщение
Эту загрузку можно сделать через ЗАГПРИЛ, как лисп?
Можно, но лучше, наверное, в автозагрузку добавить, если потребность не разовая.
Вот тут подробнее: Как использовать лисп, опубликованный на форуме.
Загрузить сначала эти две библиотечные функции, а если внутри них окажутся еще какие-то (об этом в командной строке ошибка выскочит), то надо будет найти и их.


Цитата:
Сообщение от Ingpro Посмотреть сообщение
_kpblc-selset-msg вот так отображается, с некорректными символами
У меня тоже в Гитхабе код и показывается, и копируется с кракозябрами, изменение кодировки в Notepad++ не помогает, но вроде как все эти кракозбры - это просто комментарии, то есть не исполняемые строчки кода, а просто пояснения.
Цитата:
Сообщение от Ingpro Посмотреть сообщение
(_kpblc-selset-сообщение "ОКРУЖНОСТЬ") (функция (лямбда() (ssget "_+.:S: E" '((0 . "КРУГ"))))))
|;
А вот это похоже на результат работы переводчика страницы. Его следует отключить.
skkkk на форуме  
 
Непрочитано 30.11.2022, 16:30
#15
Кулик Алексей aka kpblc
Moderator

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


Offtop: Да хосспидя, склонируйте себе репозиторий - и все будет на месте.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 30.11.2022, 21:38
#16
Ingpro


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


Если установить эти библиотечные функции (_kpblc-conv-selset-to-vla) и (_kpblc-selset-msg) /с кракозябрами/ и вызвать лисп (t1), выскакивает ошибка:
; ошибка: no function definition: _KPBLC-ERROR-SYSVAR-SAVE-BY-LIST
Что делать с этой ошибкой?
Цитата:
Сообщение от skkkk Посмотреть сообщение
результат переводчика страницы. Его следует отключить.
Отключить, это значит удалить строку из функции?
Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
склонируйте себе репозиторий - и все будет на месте.
Где и как можно склонировать репозиторий, поясните, пожалуйста...

Последний раз редактировалось Ingpro, 30.11.2022 в 21:45.
Ingpro вне форума  
 
Непрочитано 30.11.2022, 22:24
#17
skkkk


 
Регистрация: 20.03.2008
Сообщений: 2,634


Цитата:
Сообщение от Ingpro Посмотреть сообщение
_KPBLC-ERROR-SYSVAR-SAVE-BY-LIST
эту функцию тоже надо найти там же.
Цитата:
Сообщение от Ingpro Посмотреть сообщение
Отключить, это значит удалить строку из функции?
Нет. Хром при открытии страницы на английском сразу ее переводит, о чем сообщает во вспывающем окне (вроде бы) - там же в этом окне можно отменить. Ну да не стоит об этом уже, см. ниже - кодировка всё равно слетает, это было надо, если бы скопировать код прямо с сайта.
Цитата:
Сообщение от Ingpro Посмотреть сообщение
Где и как можно склонировать репозиторий, поясните, пожалуйста...
Вот ссыль, а на картинке - куда надо нажать. В сохраненном архиве будут все эти лиспы, причем уже без кракозябр. Вот там и найти все нужные. Ругается на "функшн дефинишн" в комтроке - искать эту функцию в архиве и тоже обеспечивать загрузку.
https://github.com/kpblc2000/KpblcLispLib
Миниатюры
Нажмите на изображение для увеличения
Название: 2022-11-30 at 22-21-09.jpg
Просмотров: 16
Размер:	110.3 Кб
ID:	251626  

Последний раз редактировалось skkkk, 30.11.2022 в 22:29.
skkkk на форуме  
 
Непрочитано 30.11.2022, 22:34
#18
Ingpro


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


skkkk, спасибо за подробные ответы, буду пробовать...
Ingpro вне форума  
 
Непрочитано 30.11.2022, 22:45
#19
Кулик Алексей aka kpblc
Moderator

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


Offtop: Кусок описания под спойлером: https://autolisp.ru/2022/10/31/custo...ions-autolisp/
Поскольку не знаю, каким клиентом кто пользуется - пока ограничусь этим.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 30.11.2022, 22:48
#20
Ingpro


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


Цитата:
Сообщение от skkkk Посмотреть сообщение
Ругается на "функшн дефинишн" в комтроке - искать эту функцию в архиве и тоже обеспечивать загрузку.
https://github.com/kpblc2000/KpblcLispLib
Да ругается ; ошибка: no function definition: T1
Не получилось найти в архиве функцию с таким названием... или название другое?

Последний раз редактировалось Ingpro, 30.11.2022 в 23:04.
Ingpro вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Чтобы результат работы команды (текст) был подчеркнутый...

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Экспорт координат выбранных точек в *.txt slan.ru Программирование 182 25.07.2020 19:28
Как на LISP подобрать коэффициент сжатия Mтекста в ячейке таблицы, чтобы текст был в одну строчку, без переноса Danil55 LISP 3 16.07.2020 10:57
Как сделать чтобы текст менялся автоматом между листами? dmitry77 AutoCAD 10 08.07.2014 11:11
Как программно на VBA узнать текст последней команды autocada maximiliam Программирование 5 14.01.2010 11:15
Поиск работы Perezz!! Разное 46 21.03.2008 12:50