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

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

Не могу извлечь координату точки вставки внешней ссылки (xref)

Ответ
Поиск в этой теме
Непрочитано 01.04.2016, 12:00 #1
Не могу извлечь координату точки вставки внешней ссылки (xref)
onix
 
Регистрация: 20.05.2011
Сообщений: 38

Здравствуйте, гуру!

есть код
Код:
[Выделить все]
 
;поиск во внешних ссылках
		(vlax-for Blk (vla-get-Blocks (vla-get-activedocument (vlax-get-acad-object)))
			(if (eq (vla-get-isxref Blk) :vlax-true) ;_внешняя ссылка
				(progn
				(setq name_xref	 (vla-get-name Blk ))
				(setq ins_coord (vla-get-insertionpoint Blk))
				(vlax-for Obj Blk
					(if (or (= (vla-get-ObjectName Obj) "AcDbMText") (= (vla-get-ObjectName Obj) "AcDbText"))
						(progn
							(setq b Obj) ;(vlax-dump-object b t)
							(setq sod_mtext (vlax-get-property Obj 'TextString))
							(setq coord (vlax-get Obj 'InsertionPoint))
							(setq h_mtext (vlax-get Obj 'Height))		
							(foreach element listsod 
								(progn
									(setq cvet_list (car element))				
									(setq list_number (cadr element))
									; поиск 
									(mapcar '(lambda (x)
												(if (= x sod_mtext) 
													(progn
														(entmake (list '(0 . "CIRCLE") '(8 . "MAGI_GARBAGE") (cons 62 cvet_list) (cons 370 100) (cons 10 coord) (cons 40 (* h_mtext 2)) ) )
													)
												)
											)							
									list_number)			
								)
							)		 
						)
					)
				)
				)	
			)
		)
не получается извлечь координату точки вставки внешней ссылки (setq ins_coord (vla-get-insertionpoint Blk)).
Пробовал и так (setq ins_coord(vlax-get Blk 'InsertionPoint)) , тоже беда.
Просмотров: 1118
 
Непрочитано 01.04.2016, 13:24
#2
P_S


 
Регистрация: 09.10.2006
Санкт-Петербург
Сообщений: 99


Дело в том, что командой vla-get-Blocks ты обращаешься к коллекции определений блоков в базе данных чертежа, а не к вставкам блока в чертеже. А у определения блока нет свойства точки вставки.
P_S вне форума  
 
Автор темы   Непрочитано 01.04.2016, 13:39
#3
onix


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


Цитата:
Сообщение от P_S Посмотреть сообщение
Дело в том, что командой vla-get-Blocks ты обращаешься к коллекции определений блоков в базе данных чертежа, а не к вставкам блока в чертеже. А у определения блока нет свойства точки вставки.
Спасибо за разъяснение) а как быть тогда?
onix вне форума  
 
Непрочитано 01.04.2016, 15:03
#4
P_S


 
Регистрация: 09.10.2006
Санкт-Петербург
Сообщений: 99


Начать как-то так:
Код:
[Выделить все]
 (foreach Blk(vl-remove-if 'listp(mapcar 'cadr(ssnamex (ssget "_X" '((0 . "INSERT"))))))
  (progn
    (setq Blk(vlax-ename->vla-object Blk))...
Далее - по тексту
P_S вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Не могу извлечь координату точки вставки внешней ссылки (xref)

Размещение рекламы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Линии электрических соединений Shoorup Программирование 23 07.02.2015 15:13
Запись параметров вставки внешней ссылки в саму внешнюю ссылку. Supermax Программирование 72 27.07.2009 16:30
acad2006 - 2005 - различные точки вставки Xref Diman111 AutoCAD 4 03.10.2008 10:19