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

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

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

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

Со школы не ладится у меня с программированием. Все предметы щелкал, а на экзамене по информатике (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.
Просмотров: 1568257
 
Непрочитано 09.09.2019, 12:10
#3801
Кулик Алексей aka kpblc
Moderator

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


Задай вручную и посмотри форматирование аннотации - если это многострочный текст, конечно.
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 09.09.2019, 22:16
#3802
Сет


 
Регистрация: 19.11.2014
Сообщений: 1,506


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Задай вручную и посмотри форматирование аннотации - если это многострочный текст, конечно.
Да, что-то я сразу не подумал. Во вложении (первая картинка) слева выноска с текстом 2.5/2.5, а справа 3.5/2.5. Как видно к числителю добавился множитель 1.4 - это понятно. А вот непонятно почему поменялись "pxa" и "pa".

Другой вопрос родился по мультивыноске. Можно ли программно удлинить полку выноски за текст выноски? Вот как во вложении (картинка 2). Там слева оригинальная мультивыноска и мне не нравится, что единица на самом краю полки. Хотелось бы, чтобы текст был посередине полки, как в варианте справа (это уже не мультивыноска, а просто набор примитивов)..
Миниатюры
Нажмите на изображение для увеличения
Название: Безымянный.png
Просмотров: 14
Размер:	12.0 Кб
ID:	217644  Нажмите на изображение для увеличения
Название: Безымянный2.png
Просмотров: 17
Размер:	3.6 Кб
ID:	217645  
Сет вне форума  
 
Непрочитано 09.09.2019, 22:35
#3803
Кулик Алексей aka kpblc
Moderator

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


Повторюсь: 90% вопросов снимается после ручной настройки элемента и его дампа.
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 09.09.2019, 22:59
#3804
Сет


 
Регистрация: 19.11.2014
Сообщений: 1,506


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Повторюсь: 90% вопросов снимается после ручной настройки элемента и его дампа.
С шрифтом разной высоты еще ладно, я могу вручную изменить и посмотреть "Содержание" в свойствах. А вот как вручную добиться внешнего вида мультивыноски как у меня во 2 вложении (правое изображение) - пока не придумал.
Сет вне форума  
 
Непрочитано 10.09.2019, 08:01
#3805
Кулик Алексей aka kpblc
Moderator

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


Я бы смотрел в сторону настроек стилей мультивыноски и размеров аннотации. Поскольку подобной задачи никогда не стояло, навскидку ничего больше сказать не могу.
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 10.09.2019, 10:13
#3806
Сет


 
Регистрация: 19.11.2014
Сообщений: 1,506


А где можно посмотреть что означают подчеркнутые элементы в структуре, формирующей мультитекст?
Миниатюры
Нажмите на изображение для увеличения
Название: Безымянный.png
Просмотров: 25
Размер:	6.8 Кб
ID:	217663  
Сет вне форума  
 
Непрочитано 10.09.2019, 10:17
#3807
Кулик Алексей aka kpblc
Moderator

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


https://www.google.com/search?client...rmatting+codes
https://adndevblog.typepad.com/autoc...mat-codes.html
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 10.09.2019, 11:43
#3808
koMon


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


Цитата:
Сообщение от Сет Посмотреть сообщение
Можно ли программно удлинить полку выноски за текст выноски?
в реализации полки для мультивыноски в автокаде используется фактическое подчёркивание самой длинной строки мтекста мультивыноски и едва ли можно будет её продлить за пределы текста состоящего из одной строки. если только вставлять в конец строки непечатный символ(ы), которые будут строку невидимо удлинять.
koMon вне форума  
 
Непрочитано 10.09.2019, 20:52
#3809
Кондратий Тихонович


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


Цитата:
Сообщение от SetQ Посмотреть сообщение
В одно бумажной книге по Лиспу видел коротенькую программу-психотерапевта, это всё что получилось.
Т.е. оказалось, что ЛИСП не годиться для проектирования систем искусственного разума?
Кондратий Тихонович вне форума  
 
Непрочитано 10.09.2019, 21:06
#3810
Кулик Алексей aka kpblc
Moderator

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


Изучай, пиши, публикуй. Никто не сказал, что это невозможно: theswamp.org, и поиск по слову genetic. Вперед, учиться никто не запрещает.

----- добавлено через ~2 мин. -----
http://www.theswamp.org/index.php?topic=30434.0
http://www.theswamp.org/index.php?topic=9042.0
Ну и далее по тексту
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 10.09.2019, 21:19
#3811
SetQ

конструктор
 
Регистрация: 21.07.2007
Петрозаводск
Сообщений: 1,583


Цитата:
Сообщение от Кондратий Тихонович Посмотреть сообщение
Т.е. оказалось, что ЛИСП не годиться для проектирования систем искусственного разума?
Годится не более, чем другие языки.
SetQ вне форума  
 
Непрочитано 10.09.2019, 22:02
#3812
superkot007


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


Добрый вечер!
Каким образом формируется набор рамкой по двум точкам?
Определил pt1, pt2, далее (ssget "_W" pt1 pt2) - безрезультатно...
superkot007 вне форума  
 
Непрочитано 10.09.2019, 22:23
#3813
Кондратий Тихонович


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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Изучай, пиши, публикуй. Никто не сказал, что это невозможно: theswamp.org, и поиск по слову genetic. Вперед, учиться никто не запрещает.
Учиться тоже надо с умом. А то можно только зря время потерять пытаясь головой пробить кирпичную стену.
Если за 60 лет, что существует ЛИСП, он так и не стал мейнстримным ЯВУ для разработки систем искусственного разума и используется в основном для написания простеньких скриптов в автокаде (и даже в автокаде его теснят VBA и C#), то значит учить его смысла нет
Кондратий Тихонович вне форума  
 
Непрочитано 10.09.2019, 22:38
#3814
skkkk

AutoCAD_2008->2011
 
Регистрация: 20.03.2008
Московская область
Сообщений: 2,289


superkot007,
Код:
[Выделить все]
 (setq ss (ssget "_W" pt1 pt2))
(sssetfirst nil ss)
skkkk на форуме  
 
Непрочитано 11.09.2019, 07:31
#3815
Кулик Алексей aka kpblc
Moderator

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


superkot007, обе точки должны быть на экране в момент выбора. По-моему, только в последних версиях что-то на эту тему поправили.
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 11.09.2019, 21:38
#3816
Boxa

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


Цитата:
Сообщение от Кондратий Тихонович Посмотреть сообщение
В интернете пишуть, что ЛИСП предназначен (и создавался) ИСКЛЮЧИТЕЛЬНО для разработки систем искусственного разума.
Тогда почему на нём пишут только простенькие скриптики в автокаде и больше нигде не используют?
Буквально 2 предложения и столько... неточностей.
1.
Кондратий Тихонович, Вы бы хоть Wiki почитали... https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%81%D0%BF

Вот определение из вики:
Цитата:
Лисп (LISP, от англ. LISt Processing language — «язык обработки списков»; современное написание: Lisp) — семейство языков программирования, программы и данные в которых представляются системами линейных списков символов. Лисп был создан Джоном Маккарти для работ по искусственному интеллекту и до сих пор остаётся одним из основных инструментальных средств в данной области. Применяется он и как средство обычного промышленного программирования, от встроенных скриптов до веб-приложений массового использования, хотя популярным его назвать нельзя.
Пометил жирным важное и собственно где здесь про ИСКЛЮЧИТЕЛЬНО для ИИ? Это риторический вопрос, отвечать на него не нужно.

2.
Я пометил и слово семейство в определение, т.е. это не один язык, а масса диалектов. Удивлен, что за 30 лет программирования на С и С++, Вы не осознали разницу в диалектах компилятора.

3.
Пишут простенькие скрипты для автокада именно потому, что диалекты AutoLISP и Visual LISP предназначены для написания простых скриптов под автокад. С Уважением Ваш Капитан очевидность.

4.
Вы видимо не умеете пользоваться поисковиками, иначе Вы бы обнаружили, что лисп используестя и очень активно, например Clojure , один из диалектов лисп под платформы JVM и CLR или Ruby- один из популярных языков для Web разработки.
К примеру вот в этой статье https://techrocks.ru/2018/04/27/prog...s-rating-2018/ можно увидеть, что Во всем мире программисты, которые используют F#, Ocaml, Clojure и Groovy получают самые высокие зарплаты, медианное значение — выше $70 000 в год.
Да и если бы Вы крутились в прогерской тусовке (за 30 лет то), то не могли бы на заметить рост популярности функциональных языков программирования, таких как Common Lisp, F#, Clojure, Haskell, Erlang, Scheme, Ruby.

ЗЫ.
Пока писал все вспоминалась сцена из Основания А.Азимова, где принц регент разговаривает с Леопольдом и ту самую фразу (по памяти): "Так вот, Ты Дурак, Ваше величество!" Обидеть никого не хочу, но вот вспомнилось что то....
__________________
_бложиг
Boxa вне форума  
 
Непрочитано 12.09.2019, 17:21
#3817
Сет


 
Регистрация: 19.11.2014
Сообщений: 1,506


Цитата:
Сообщение от koMon Посмотреть сообщение
в реализации полки для мультивыноски в автокаде используется фактическое подчёркивание самой длинной строки мтекста мультивыноски и едва ли можно будет её продлить за пределы текста состоящего из одной строки. если только вставлять в конец строки непечатный символ(ы), которые будут строку невидимо удлинять.
С непечатными символами выноска смотрится нормально. Но если несколько ее отдалить, то этот непечатный символ визуализируется. Причем почему-то только справа от текста выноски, хотя эти непечатные символы есть и справа, и слева. Можно ли убрать как-то эту визуализацию? А то немного раздражает)
Миниатюры
Нажмите на изображение для увеличения
Название: Безымянный.png
Просмотров: 10
Размер:	1.2 Кб
ID:	217796  
Сет вне форума  
 
Непрочитано 12.09.2019, 21:46
#3818
superkot007


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


Добрый вечер!
Есть ли более адекватная конструкция по подсчету количества символов "-" в строке, чем такая:
Код:
[Выделить все]
 (- (length (vl-string->list NABOR)) (length (vl-remove 45 (vl-string->list NABOR))))
superkot007 вне форума  
 
Непрочитано 12.09.2019, 21:54
#3819
Кулик Алексей aka kpblc
Moderator

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


_$ (setq str "строка-с-б-о-л-ь-ш-и-м-к-о-л-и-чс-е-с-и-т-в-р-м")
"строка-с-б-о-л-ь-ш-и-м-к-о-л-и-чс-е-с-и-т-в-р-м"
_$ (LENGTH (vl-remove-if-not (function (LAMBDA(x)(= x 45))) (VL-STRING->LIST str)))
20
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 13.09.2019, 09:09
#3820
koMon


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


Цитата:
Сообщение от Сет Посмотреть сообщение
Можно ли убрать как-то эту визуализацию?
я предложил такое решение чисто теоретически) не думая о практической реализации...
но, думаю 2 должно быть в самый раз)
Код:
[Выделить все]
 (setq mleader_object (vlax-ename->vla-object (car (entsel))))
	new_text_string (strcat (chr 2) "2" (chr 2))
)
(vla-put-textstring mleader_object new_text_string)   
koMon вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Научите лиспу на примере (или как kpblc, VVA и компания пытаются обучить чайника лиспу)

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

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


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