;;;批量写入横断线高度(佳木斯市__插件定制)
(defun c:tt (/ mspace objl ss)
	(setq ss (ssget '((0 . "INSERT") (8 . "0"))))
	(if ss 
		(progn 
			(setq mspace (vla-get-ModelSpace (vla-get-ActiveDocument (vlax-get-acad-object))) 
				objL (createSelectionOfObjList ss)
			)
			(foreach x (getDateL objL) 
				(writeDate mspace x)
			)
			(vlax-release-object mspace)
		)
		(prompt "未选取到对象!")
	)
	(princ)
)

;写入数据
(defun writeDate(mspace lst / pt str) 
	(setq str (car lst) pt (cadr lst))
	(vlax-put-property 
		(vlax-invoke-method mspace 'AddText str pt 250)
		'Color 1
	)
)

;获取数据列表(插入点,数据)
(defun getDateL(objL / attobjl lst pt return str strobj) 
	(foreach x objL 
		(setq pt (vlax-get-property x 'InsertionPoint) 
			attObjL (vlax-invoke-method x 'GetAttributes)
			strObj (car (vlax-safearray->list (vlax-variant-value attObjL)))
			str (vlax-get-property strObj 'TextString)
		)
		(setq lst (list str pt))
		(setq return (append return (list lst)))
	)
	return
)

;;创建框选范围的数据的对象表
;;(createSelectionOfDateList (ssget))
(defun createSelectionOfObjList(ss / i obj objl) 
	(setq i 0)
	(repeat (sslength ss) 
		(setq obj (list (vlax-ename->vla-object (ssname ss i))) 
			objL (append obj objL)
			i (1+ i)
		)
	)
	objL
)