本帖最后由 819534890 于 2015-1-6 11:48 编辑
用炸开的方式提取。
做了一个简单的。
 - ;提取标注中的文字
- (defun C:t1(/ ss ss1 ss2 pt )
- (while (setq ss (entsel "请选择标注:\n"))
- (setq ss1 (car ss)
- pt (cadr ss)
- )
- (if (= (cdr (assoc 0 (entget ss1)) ) "DIMENSION")
- (progn
- (setq ss (ssadd ss1))
- (command ".EXPLODE" ss)
- (setq ss1 (ssget "P" '((0 . "*text"))))
- (setq ss2 (entget (ssname ss1 0)))
- (command "undo" "")
- (entmake ss2)
- (setq ss1 (entlast))
- (command "_move" ss1 "" pt pause)
- )
- )
- )
- )
|