Научите лиспу на примере (или как kpblc, VVA и компания пытаются обучить чайника лиспу) - Страница 239
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

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

Научите лиспу на примере (или как kpblc, VVA и компания пытаются обучить чайника лиспу)

Ответ
Поиск в этой теме
Непрочитано 20.07.2008, 20:12 1 |
Научите лиспу на примере (или как kpblc, VVA и компания пытаются обучить чайника лиспу)
Red Nova
 
ՃԱՐՏԱՐԱԳԵՏ, տ.գ.թ.
 
Торонто
Регистрация: 23.10.2007
Сообщений: 1,990

Со школы не ладится у меня с программированием. Все предметы щелкал, а на экзамене по информатике (Visual foxpro) программку типа суммирования столбцов списал у соседа (это уже в университете).
Не смотря на эте намерен научится писать программы для Автокада на лиспе, скачал книгу Хювенена, несколько примеров создания программ, но после получасового “смотрения” таких книг мое мышление явно притормаживает.
Решил пойти другим путем.
Нашел самый короткий лисп из моей коллекции, и прошу программистов с этого форума пошагово объяснить какой символ что означает. Надеюсь на вашу помощь.


Код:
[Выделить все]
(defun c:make-blocks-explodeable (/ adoc)
  (vl-load-com)
  (vla-startundomark
    (setq adoc (vla-get-activedocument (vlax-get-acad-object)))
    ) ;_ end of vla-startundomark
  (vlax-for blk_def (vla-get-blocks adoc)
    (if (and (equal (vla-get-isxref blk_def) :vlax-false)
             (equal (vla-get-islayout blk_def) :vlax-false)
             ) ;_ end of and
      (vl-catch-all-apply '(lambda () (vla-put-explodable blk_def :vlax-true)))
      ) ;_ end of if
    ) ;_ end of vlax-for
  (vla-endundomark adoc)
  (princ)
  ) ;_ end of defun
_____________________________________________________________________________________________________________

Прошло много лет и топик теперь представляет из себя площадку для обучения азов программирования для многих начинающих.
Так что начинающие лиспогрызы приветствуются .
__________________
Блог

Последний раз редактировалось Red Nova, 12.07.2017 в 05:43.
Просмотров: 2048797
 
Непрочитано 09.11.2024, 18:09
#4761
Ingpro


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


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
деформатирование исходного образца-мультитекста, в цикле по всем мультитекстам в чертеже деформатировать их содержимое и сравнивать "чистые" текстовые значения.
From the point of view of banal erudition, not every individual (teapot) is able to understand the trends of paradoxical explanations.

Последний раз редактировалось Ingpro, 09.11.2024 в 20:07.
Ingpro вне форума  
 
Непрочитано 09.11.2024, 20:03
#4762
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,499


Offtop:
Цитата:
Сообщение от Ingpro Посмотреть сообщение
From the point of view of banal erudition, not every individual (teapot) is able to understand the trends of paradoxical explanations.
вы когда правите текст - учитывайте, что на почту всем подписавшимся на тему приходит первичный вариант)

Мультитекст может содержать один и тот же текст, но с разными кодами форматирования. В Net это одна строчка для получения "чистого" текста, на лиспе люди тоже реализовывали - ищите.
Сергей812 вне форума  
 
Непрочитано 09.11.2024, 20:11
#4763
Ingpro


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


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
Мультитекст может содержать один и тот же текст, но с разными кодами форматирования. В Net это одна строчка для получения "чистого" текста, на лиспе люди тоже реализовывали - ищите.
Ув. профи, которые реализовали на лиспе, поделитесь, плз...
Ingpro вне форума  
 
Непрочитано 09.11.2024, 22:23
1 | #4764
koMon


 
Блог
 
Регистрация: 26.09.2017
Сообщений: 1,809


без реализации, штатная функция
Код:
[Выделить все]
 
(getpropertyvalue (car (entsel "\nМТекст: ")) "text")
__________________
K Lisp
koMon вне форума  
 
Непрочитано 10.11.2024, 00:23
#4765
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,499


и аутодеск до сих пор игнорирует разметку верхних и нижних индексов при получении деформатированного значения)
Сергей812 вне форума  
 
Непрочитано 10.11.2024, 08:45
#4766
Ingpro


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


Цитата:
Сообщение от koMon Посмотреть сообщение
1
(getpropertyvalue (car (entsel "\nМТекст: ")) "text")
Команда: (getpropertyvalue (car (entsel "\nМТекст: ")) "text")
выдает:
МТекст: "Строка текста 1.\r\nСтрока текста 2."
Как с помощью этой строки можно выделить все мтексты с таким содержанием?
Просто для сравнения, если вызвать ком. ПОЛЕ, потом - объект-мтекст, то в окне содержимое выглядит по-другому (как в свойствах мтекста).
или
Команда: _LIST
Выберите объекты: найдено: 1
MTEXT
..............................
..............................
Содержание: Строка текста 1.\PСтрока текста 2.
Миниатюры
Нажмите на изображение для увеличения
Название: Поле-объект-содержим.png
Просмотров: 10
Размер:	23.0 Кб
ID:	265430  

Последний раз редактировалось Ingpro, 10.11.2024 в 08:57.
Ingpro вне форума  
 
Непрочитано 10.11.2024, 09:01
#4767
koMon


 
Блог
 
Регистрация: 26.09.2017
Сообщений: 1,809


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
и аутодеск до сих пор игнорирует разметку верхних и нижних индексов при получении деформатированного значения)
для поиска идентичных текстов это не должно мешать.

Цитата:
Сообщение от Сергей812 Посмотреть сообщение
В Net это одна строчка для получения "чистого" текста
там тоже с индексами аналогично?

----- добавлено через ~4 мин. -----
Цитата:
Сообщение от Ingpro Посмотреть сообщение
Как с помощью этой строки можно выделить все мтексты с таким содержанием?
выбрать мтексты (все или выборочно) и проверять содержимое со [под]строкой поиска, например.
__________________
K Lisp

Последний раз редактировалось koMon, 10.11.2024 в 09:07.
koMon вне форума  
 
Непрочитано 10.11.2024, 09:26
#4768
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,499


Цитата:
Сообщение от koMon Посмотреть сообщение
там тоже с индексами аналогично?
да, тоже добавляет лишние слеши в текст. Можно собрать чистый текст вообще без форматирования (т.е. разбивка на строки и т.п. тоже уберется) через разбивку на фрагменты мультитекста с последующей сборкой выходной строки (десяток строк кода).
Сергей812 вне форума  
 
Непрочитано 10.11.2024, 09:55
#4769
Ingpro


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


Цитата:
Сообщение от koMon Посмотреть сообщение
выбрать мтексты (все или выборочно) и проверять содержимое со [под]строкой поиска, например.
А как это записать на лисп? Мне просто нужно выбрать все мтексты с одинаковым содержанием, а потом я применю лисп Replace, например, или удалю выбранные мтексты...
Ingpro вне форума  
 
Непрочитано 10.11.2024, 10:45
#4770
koMon


 
Блог
 
Регистрация: 26.09.2017
Сообщений: 1,809


можно напр. так
Код:
[Выделить все]
 
(setq pattern (getpropertyvalue (car (entsel "\nОбразец МТекста для фильтрации: ")) "text")
      mtext_filtered_sset (ssadd)
)
(if (setq mtext_sset (ssget '((0 . "mtext"))))
  (sssetfirst nil
	  (foreach mtext  
		  (vl-remove-if-not '(lambda (mtext) (vl-string-search pattern (getpropertyvalue mtext "text")))
		    		     (vl-remove-if 'listp (mapcar 'cadr (ssnamex mtext_sset)))
		  )
	    	  (ssadd mtext mtext_filtered_sset)
	  )
  )
)
__________________
K Lisp
koMon вне форума  
 
Непрочитано 10.11.2024, 10:56
#4771
Ingpro


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


Цитата:
Сообщение от koMon Посмотреть сообщение
можно напр. так
koMon, спасибо! это отлично работает!!!
Ingpro вне форума  
 
Непрочитано 11.11.2024, 08:27
#4772
===AAA===


 
Регистрация: 15.08.2005
г. Норильск
Сообщений: 616


Всем привет!

Кто знает, для nanoCAD'а 23.1 семейство функций (dumpallproperties ...) вообще не реализовано?
Может быть, просто их синтаксис изменили... А вдруг? :-)
__________________
Счастливо, Алексей!
===AAA=== вне форума  
 
Непрочитано 11.11.2024, 08:42
#4773
Кулик Алексей aka kpblc
Moderator

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


А чем тебе не нравится vlac-dump-object?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 11.11.2024, 08:58
#4774
===AAA===


 
Регистрация: 15.08.2005
г. Норильск
Сообщений: 616


Дело в том, что в функции (dumpallproperties ...) Аутодеск напихал больше
свойств, чем они доступны по (vlax-dump-object).

Скажем, тот же самый "text" для MTEXT - отсутствует.
__________________
Счастливо, Алексей!
===AAA=== вне форума  
 
Непрочитано 11.11.2024, 09:13
#4775
Кулик Алексей aka kpblc
Moderator

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


Т.е. тебе TextString уже не канает? )
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 11.11.2024, 09:27
#4776
===AAA===


 
Регистрация: 15.08.2005
г. Норильск
Сообщений: 616


Формально - нет, конечно. :-)

TextString - с кодами форматирования
Text - "чистое" содержание текста

Пока не слишком актуально, но вдруг захочется применить какое-нибудь
свойство, которое доступно по (dumpallproperties ...), но недоступно
по (vlax-dump-object) ... и под наником. Уже - увы - только под ним.
__________________
Счастливо, Алексей!
===AAA=== вне форума  
 
Непрочитано 11.11.2024, 09:46
#4777
Кулик Алексей aka kpblc
Moderator

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


Offtop: Бросай лисп, на NET все это доступно из коробки
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 11.11.2024, 09:48
#4778
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,499


Цитата:
Сообщение от ===AAA=== Посмотреть сообщение
Пока не слишком актуально, но вдруг захочется применить какое-нибудь
свойство, которое доступно по (dumpallproperties ...), но недоступно
по (vlax-dump-object) ... и под наником. Уже - увы - только под ним.
ну тогда придется перейти на тот же Net - если возможностей нанолиспа будет уже не хватать)
Сергей812 вне форума  
 
Непрочитано 11.11.2024, 10:13
#4779
===AAA===


 
Регистрация: 15.08.2005
г. Норильск
Сообщений: 616


Offtop: Вот сейчас с Винды на Астра-Линукс перейдём, точно придётся бросить...
__________________
Счастливо, Алексей!
===AAA=== вне форума  
 
Непрочитано 11.11.2024, 11:51
#4780
koMon


 
Блог
 
Регистрация: 26.09.2017
Сообщений: 1,809


а что нк есть/будет под астра-линукс?
__________________
K Lisp
koMon вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Научите лиспу на примере (или как kpblc, VVA и компания пытаются обучить чайника лиспу)

Опции темы Поиск в этой теме
Поиск в этой теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
LISP. Вставка в таблицу поля, соотвествующего площади примитива Profan Готовые программы 272 06.06.2021 23:12
Сейсмозащита и сейсмоизоляция существующих, построенных зд. IANationalInformAgentstvo Прочее. Архитектура и строительство 216 20.01.2015 16:51
Мониторы LCD CRT Разное 94 17.06.2008 10:51
ЮМОР 2006 =) Perezz!! Разное 1122 04.01.2007 00:46