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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Примитивы в блоках

Примитивы в блоках

Ответ
Поиск в этой теме
Непрочитано 08.12.2004, 12:34 #1
Примитивы в блоках
CooL
 
Сообщений: n/a

Подскажите как получить имена примитивов находящихся в блоке.
Спасибо.
Просмотров: 3010
 
Непрочитано 08.12.2004, 12:54 дополнение
#2
CooL


 
Сообщений: n/a


(entget (cdr (assoc -2 (entget (tblobjname "block" "text_in")))))
паказывает свойства первого примитива в блоке "text_in", а как получить остольные не доганяю.
 
 
Непрочитано 08.12.2004, 14:59
#3
Эдуард

строительство
 
Регистрация: 16.01.2004
Петербург
Сообщений: 165
<phrase 1=


Можно так:
аргумент name-имя блока-строка
Код:
[Выделить все]
(vl-load-com)
(defun nameprim-block (name / nameprim)
  (if (not (equal (type name) 'STR))
    (setq name (VL-PRINC-TO-STRING name))
  ) ;_ end of if проверочка что аргумент является 
;строкой-можно опустить
  (if
    (tblsearch "block" name);если такого блока в базе нет , ругаемся
;алерткой и завешаем программу.
     (progn
       (vlax-for item
		      (vla-item
			(vla-get-blocks
			  (vla-get-ActiveDocument
			    (vlax-get-acad-object)
			  ) ;_ end of vla-get-ActiveDocument
			) ;_ end of vla-get-blocks
			name
		      ) ;_ end of vla-item
	 (setq nameprim (cons item nameprim))
       ) ;_ end of vlax-for
       (mapcar 'vlax-vla-object->ename nameprim);если вас не устраивают вла-объекты переводим их в имена примитивов-тоже
;можно опустить.
     ) ;_ end of progn
     (alert "Block not found")
  ) ;_ end of if

) ;_ end of defun
В итоге получаем список с именами примитива блока.
Эдуард вне форума  
 
Непрочитано 08.12.2004, 15:17
#4
CooL


 
Сообщений: n/a


Thank you very much!
 
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Примитивы в блоках

Опции темы Поиск в этой теме
Поиск в этой теме:

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