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

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

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

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

Со школы не ладится у меня с программированием. Все предметы щелкал, а на экзамене по информатике (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.
Просмотров: 1973864
 
Непрочитано 08.05.2015, 12:52
#2621
Vladimir_Sergeevich

рисую дороги, в перерывах курю Lisp
 
Регистрация: 20.04.2011
Пермь
Сообщений: 475
<phrase 1= Отправить сообщение для Vladimir_Sergeevich с помощью Skype™


Кулик Алексей aka kpblc, судя по описанию переменной, её надо будет менять во всех кроме того, куда вставлена подоснова, потому что мы её обнуляем уже в настройках текущего чертежа, Тот что дают изыскатели остается неизменным и обновляется ими же. Таким образом "главной таблицей" будет план с подосновой, или же в в других чертежах при VISRETAIN 0 "главной таблицей" останется изыскательская?
(это делается что бы все линии топоосновы были с весом 0, а топографы в своем отчете кромку асфальта делаю 0,3 и еще всякие мелочи бывают)
__________________
Не труд сделал из обезьяны человека, а лень и жажда халявы...
Vladimir_Sergeevich вне форума  
 
Непрочитано 08.05.2015, 13:25
#2622
Кулик Алексей aka kpblc
Moderator

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


Vladimir_Sergeevich, добро пожаловать в тему "Подготовка подосновы".
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 12.05.2015, 16:02
#2623
trushev


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


Добрый день! Встретил (ssget "X" ((-4 . "<OR") (0 . "TEXT") (0 . "MTEXT") (-4 . "OR>"))). Подскажите где найти подробную информацию на русском по (-4 . "<OR")?
trushev вне форума  
 
Непрочитано 12.05.2015, 20:20
1 | #2624
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,840


dxf reference - но насчет русского не уверен. Кстати данный пример можно заменить на (0 . "*TEXT")
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 12.05.2015, 20:36
#2625
Сергей812


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


Да чего вы так английского боитесь-вам же на нем не разговаривать, а просто понимать с листа)
ssget
Цитата:
You can also use the OR logical filter, but to do this you must inform AutoLisp first. To do this you use a special type of associative code, the -4.
(setq sel1 (ssget '((-4 . "<OR")(8 . "STEEL")(8 . "PIPE")(-4 . "OR>"))))
т.е. чтобы в фильтр добавить несколько значений с одним dxf кодом - надо заключить в группы "-4".
Сергей812 вне форума  
 
Непрочитано 12.05.2015, 22:52
#2626
Кулик Алексей aka kpblc
Moderator

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


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
чтобы в фильтр добавить несколько значений с одним dxf кодом
Кто сказал, что обязательно с одним? ))
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 12.05.2015, 23:04
#2627
Сергей812


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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Кто сказал, что обязательно с одним? ))
Это был вольный перевод к приведенному примеру)

Есть, например, замечательные справочники типа "AutoLisp и VisualLisp", где выделена отдельная глава про фильтры со сложными условиями. На русском языке
Сергей812 вне форума  
 
Непрочитано 13.05.2015, 08:44
#2628
trushev


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


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
чтобы в фильтр добавить несколько значений с одним dxf кодом - надо заключить в группы "-4".
Спасибо, хоть какое-то понимание.
Цитата:
Сообщение от Сергей812 Посмотреть сообщение
Есть, например, замечательные справочники типа "AutoLisp и VisualLisp", где выделена отдельная глава на русском языке
У Полещука не нашел. Если не сложно дать информацию где найти.
trushev вне форума  
 
Непрочитано 13.05.2015, 09:48
1 | #2629
Сергей812


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


Цитата:
Сообщение от trushev Посмотреть сообщение
У Полещука не нашел. Если не сложно дать информацию где найти.
в издании 2006 года ищите функцию ssget.. и в этой же главе будет тема про фильтры со сложными условиями на пару страниц. Номер не скажу - книга дома осталась)
Сергей812 вне форума  
 
Непрочитано 13.05.2015, 12:33
#2630
Vladimir_Sergeevich

рисую дороги, в перерывах курю Lisp
 
Регистрация: 20.04.2011
Пермь
Сообщений: 475
<phrase 1= Отправить сообщение для Vladimir_Sergeevich с помощью Skype™


1.12.14.1 фильтры со сложными условиями ... стр 124
__________________
Не труд сделал из обезьяны человека, а лень и жажда халявы...
Vladimir_Sergeevich вне форума  
 
Непрочитано 13.05.2015, 13:42
#2631
trushev


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


Спасибо всем! Книгу вычислил:
Название: AutoLISP и Visual LISP в среде AutoCAD
Автор: Николай Полещук, Петр Лоскутов
Издательство: БХВ-Петербург
Год: 2006
ISBN: 5-94157-738-9
Вечером дома скачаю.
trushev вне форума  
 
Непрочитано 13.05.2015, 20:49
#2632
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,840


Имей в виду - оба автора участники этого форума.
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 13.05.2015, 22:20
#2633
Кулик Алексей aka kpblc
Moderator

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


И не только этого )))
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 14.05.2015, 08:41
#2634
trushev


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


Халяву предпочитаю не использовать.
Нашел другой вариант: Э.Т. Романычева, Т.М. Сидорова, С. Ю. Сидоров AutoCad Практическое руководство Версии 12, 13, 14 "ДМК" Москва 1997
Правда от стиля авторов закипаю.
trushev вне форума  
 
Непрочитано 14.05.2015, 10:02
#2635
Сергей812


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


Offtop: Книжка "AutoLISP и Visual LISP в среде AutoCAD" 2006г. стоит на том же озоне меньше 500р, по объему и организации информации - 100% окупается просто за счет сокращения времени на первоначальное обучение, имхо.
Сергей812 вне форума  
 
Непрочитано 14.05.2015, 12:16
#2636
Inferi


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


Добрый день! Подскажите как решить следующую задачу: вставляю блок тройника, но не знаю как проверить ориентацию (верный угол поворота блока), как лучше удлинить мультилинию до точки пересечения pp?


Код:
[Выделить все]
(vl-load-com)
(setq obj1 (car (entsel "\nВыбери магистраль"))
      V1 (VLax-ename->vla-object obj1)
      lst_ml1 (entget obj1)
      coor1 (mapcar 'cdr (vl-remove-if-not '(lambda (x) (= (car x) 11)) lst_ml1))
      pm11 (nth 0 coor1)
      pm12 (nth 1 coor1)
      alf1 (angle pm11 pm12)
      alf1g (/ (* alf1 180) pi)
      RazP1 (vlax-ldata-get V1 "Razmer"))
      
(setq obj2 (car (entsel "\nВыбери ответвление"))
      V2 (VLax-ename->vla-object obj2)
      lst_ml2 (entget obj2)
      coor2 (mapcar 'cdr (vl-remove-if-not '(lambda (x) (= (car x) 11)) lst_ml2))
      pm21 (nth 0 coor2)
      pm22 (nth 1 coor2)
      alf2 (angle pm21 pm22)
      alf2g (/ (* alf2 180) pi)
      RazP2 (vlax-ldata-get V2 "Razmer"))

(setq pp (inters pm11 pm12 pm21 pm22 nil))
(setq path (strcat "C:/MyLisp/КругТройник/" RazP1 "/" "Тройник " RazP1 "-" RazP2))
(command "_-insert" path "_non" pp 1 1 alf2g)

Последний раз редактировалось Кулик Алексей aka kpblc, 14.05.2015 в 13:32.
Inferi вне форума  
 
Непрочитано 14.05.2015, 12:33
#2637
skkkk


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


Offtop:
Цитата:
Сообщение от trushev Посмотреть сообщение
Халяву предпочитаю не использовать.
А в чем принципиальная разница этого и предыдущего указанного изданий? В том, что авторы второго не заходят на этот сайт? Не факт ведь, что не заходят. "Другой вариант", стало быть - тоже "халява", раз скачан бесплатно?
skkkk вне форума  
 
Непрочитано 14.05.2015, 12:49
#2638
trushev


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


Offtop:
Цитата:
Сообщение от Сергей812 Посмотреть сообщение
стоит на том же озоне меньше 500р
485р
Цитата:
Сообщение от skkkk Посмотреть сообщение
"Другой вариант", стало быть - тоже "халява", раз скачан бесплатно
Приобретен еще в прошлом веке. Если не изменяет память на книжной ярмарке в Олимпийском.
trushev вне форума  
 
Непрочитано 14.05.2015, 13:33
#2639
Кулик Алексей aka kpblc
Moderator

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


Inferi, картинок не видно. Тебе что мешает их в пост прикрепять?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 14.05.2015, 14:04
#2640
Inferi


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


Спасибо за внимание!
Миниатюры
Нажмите на изображение для увеличения
Название: 1.jpg
Просмотров: 19
Размер:	28.7 Кб
ID:	149811  Нажмите на изображение для увеличения
Название: 2.jpg
Просмотров: 16
Размер:	28.7 Кб
ID:	149812  
Inferi вне форума  
Ответ
Вернуться   Форум 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