Как через лисп произвести быcтрый выбор объектов Project studio? - Страница 2
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Как через лисп произвести быcтрый выбор объектов Project studio?

Как через лисп произвести быcтрый выбор объектов Project studio?

Ответ
Поиск в этой теме
Непрочитано 20.10.2014, 19:36 1 |
Как через лисп произвести быcтрый выбор объектов Project studio?
kurstep
 
Регистрация: 27.01.2012
Сообщений: 242

Подскажите кто сталкивался.... Необходимо во многих чертежах удалить определенное армирование сделанное объектами Проджект студио. Через меню быстрого выбора возможно выбрать определенную арматуру нужной длины... Но как можно ускорить этот процесс... То есть осуществить процесс быстрого выбора програмно через лисп?
Просмотров: 5017
 
Автор темы   Непрочитано 25.10.2014, 11:04
#21
kurstep


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


А что за переменная names? ,почему она нигде не задается но вызыватся функцией foreach? И является головой списка "без имени"...

----- добавлено через ~11 мин. -----
То есть каким образом она стала вдруг списком нужных объектов ?)
kurstep вне форума  
 
Непрочитано 25.10.2014, 13:17
#22
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,413
Отправить сообщение для Александр Ривилис с помощью Skype™


Исправил. И на старуху бывает проруха.
Александр Ривилис вне форума  
 
Автор темы   Непрочитано 27.10.2014, 12:34
#23
kurstep


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


Спасибо, все получилось)
Код:
[Выделить все]
  (vl-load-com)
(defun st (/ model names)
(setq model (vla-get-ModelSpace
            (vla-get-ActiveDocument (vlax-get-acad-object))))
     (vlax-for i model
      (if  (and (= "ArpsReinf" (vlax-get-property i "ObjectName"))
		 (or (= 980 (vlax-get-property i "Length"))
                     (= 700 (vlax-get-property i "Length"))
                     (= 960 (vlax-get-property i "Length"))
		     ))	
		
 		 (setq names (cons (vlax-vla-object->ename i) names))))
     (foreach i names (entdel i)));;;;;;;;Óäàëåíèå ñòåðæíåé


(defun pt (/ model names)
(setq model (vla-get-ModelSpace
            (vla-get-ActiveDocument (vlax-get-acad-object))))

  (vlax-for i model
      (if  (and (= "AcDbPolyline" (vlax-get-property i "ObjectName"))
		 (or (= 300 (vlax-get-property i "Length"))
                     (= 240 (vlax-get-property i "Length"))
                     (= 340 (vlax-get-property i "Length"))
		     ))	
		
 		 (setq names (cons (vlax-vla-object->ename i) names))))
     (foreach i names (entdel i))
 )

(defun izm (/ model names)
(setq model (vla-get-ModelSpace
            (vla-get-ActiveDocument (vlax-get-acad-object))))
     (vlax-for i model
      (if  (and (or(= "ArpsRBar" (vlax-get-property i "ObjectName"))
                   (= "ArpsRSec" (vlax-get-property i "ObjectName")))

		(= 12 (vlax-get-property i "PsClassReinf")))
         	(vlax-put-property i "PsClassReinf" 16))))
----- добавлено через ~2 мин. -----
Код удаляет или изменяет необходимые примитивы
kurstep вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Как через лисп произвести быcтрый выбор объектов Project studio?



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разработка ПОС, искусство проектирования Tyhig Технология и организация строительства 117 25.11.2021 17:38
Аттестация в Минрегионе по негосударственной экспертизе Людмила Охр Прочее. Архитектура и строительство 350 14.02.2015 17:50