dwg.ru forum rss xml
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму |

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

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

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

Red Nova вне форума Вставить имя

Со школы не ладится у меня с программированием. Все предметы щелкал, а на экзамене по информатике (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.
Просмотров: 1466281
 
Автор темы   Непрочитано 03.08.2018, 21:10
#3661
Red Nova

ՃԱՐՏԱՐԱԳԵՏ, Տ.Գ.Թ.
 
Регистрация: 23.10.2007
Торонто
Сообщений: 1,970
Отправить сообщение для Red Nova с помощью Skype™


Maksim7enov
getkword и разрешить ввод точки с экрана? Это как?

koMon
getdist то что нужно Спасибо.
Код:
[Выделить все]
 (setq pt2 (getdist pt1 "\nThe Radius Point (or Enter Diameter in inches):"))
__________________
Блог
Red Nova вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 03.08.2018, 23:23
#3662
Maksim7enov


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


Цитата:
Сообщение от Red Nova Посмотреть сообщение
getkword и разрешить ввод точки с экрана? Это как?
Думал задать вопрос для выбора нужного дуйствия с помощью getkword с указанием точки или ввода радиуса и сделать значение по умолчанию например точку.
Не особо понял задачу видимо.
Maksim7enov вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 20.09.2018, 09:11
#3663
Titli-pytli


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


Скажите пожалуйста, почему вот это -
Код:
[Выделить все]
   (vlax-for x (vla-get-blocks
		 (vla-get-activedocument (vlax-get-acad-object))
	       )
    (VL-CATCH-ALL-APPLY 'vla-delete (list x))
  )
удаляет ни только не использующиеся блоки, но и листы (вкладки листов)? Вроде бы "vla-get-blocks" только блоки должна брать? Нет? И как это поправить.
Titli-pytli вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 20.09.2018, 10:58
1 | #3664
Кулик Алексей aka kpblc
Moderator

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


У листов есть свои блоки. Которые прямого вхождения не имеют, грубо говоря. Поэтому проверяй у описания блока, не является ли он листом:
Код:
[Выделить все]
 (vlax-for x (vla-get-blocks (vla-get-activedocument (vlax-get-acad-object)))
  (if (equal (vla-get-islayout x) :vlax-false)
    (vl-catch-all-apply 'vla-delete (list x))
    ) ;_ end of if
  ) ;_ end of vlax-for
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 24.09.2018, 13:46
#3665
Vladimir_Sergeevich

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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
У листов есть свои блоки. Которые прямого вхождения не имеют, грубо говоря.
Я это понял так, что любое рабочее пространство в акаде - это пространство блока, и отличаются они в первую очередь флагом IsLayout. Список свойств для модели/листа/блока одинаков.
__________________
Не труд сделал из обезьяны человека, а лень и жажда халявы...
Vladimir_Sergeevich вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 24.09.2018, 13:55
#3666
Сергей812


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


ну это логично.. если уже есть базовый отлаженный механизм работы с блоком, то те вещи - которые можно свести к вставке блока, и реализуются соответствующе..
Сергей812 на форуме вставить имя Обратить внимание модератора на это сообщение  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Научите лиспу на примере (или как kpblc, VVA и компания пытаются обучить чайника лиспу)

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

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

Быстрый переход

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

|| Главная || Каталог САПР || Тендеры || Публикации || Объявления || Биржа труда || Download || Галерея ||
|| Библиотека || Кунсткамера || Каталог предприятий || Контакты || Файлообменник || Блоги ||