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

Вернуться   Форум 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.
Просмотров: 2048053
 
Непрочитано 16.06.2025, 09:52
#5021
Moi Imena


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


Цитата:
Сообщение от ===AAA=== Посмотреть сообщение
Я не уверен (проверять лень), что "EXPLODE" умеет расчленять
элементы передаваемого ей набора.

Попробуй "скормить" ей отдельный элемент набора.

Если всё получится, просто организуй цикл для последовательного
расчленения всех элементов набора.
спасибо за совет, побробовал на элементе из набора и сработало, но вот когда начинается перебор элементов из набора то цикл выполняется непозволительно долго, буду искать другие варианты

----- добавлено через ~14 мин. -----
Цитата:
Сообщение от koMon Посмотреть сообщение
можно попробовать так
Код:
[Выделить все]
 (initcommandversion)
(vl-cmdf "_explode" (ssget "_x" '((0 . "region"))) "")
к сожалению на eng autocad не сработало, вот полученный ответ

Command: (vl-cmdf "EXPLODE" ss "")
EXPLODE
Select object:
Command: U
(Lisp Expression) GROUP
Command: T

для сравнение erase вместо explode

Command: (vl-cmdf "ERASE" SS "")
ERASE
Select objects: 70756 found
Select objects:
Command: T
Command: _u (Lisp Expression) GROUP
Moi Imena вне форума  
 
Непрочитано 16.06.2025, 17:50
#5022
koMon


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


Цитата:
Сообщение от Moi Imena Посмотреть сообщение
к сожалению на eng autocad не сработало, вот полученный ответ
можно так попробовать
Код:
[Выделить все]
 
(setq count 0)
(vlax-map-collection
	(vla-get-modelspace (vla-get-database (vla-get-activedocument (vlax-get-acad-object))))
   '(lambda (object)
		(and
			(= (vla-get-objectname object) "AcDbRegion")
			(vla-explode object)
			(princ (strcat "\r"(itoa (setq count (1+ count))) " regions exploded"))
			(vla-erase object)
		)
	)
)
(princ)
__________________
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