试试这个:
- (defun c:FOO (/ eName blockObj tagString)
- (vl-load-com)
- (if (and (setq eName
- (car (entsel "\n >> Select an Attributed Block: ")))
- (= "INSERT" (cdr (assoc 0 (entget eName))))
- (setq blockObj (vlax-ename->vla-object eName))
- (vlax-method-applicable-p blockObj 'getattributes))
- (foreach x (vlax-invoke blockObj 'getattributes)
- (if (= "WEBSITE" (setq tagString (vla-get-tagstring x)))
- (prompt
- (strcat "\n <!> Attribute Value = "
- (vla-get-textstring x)
- " <!> ")))))
- (princ))
编辑:是的,这个代码看起来非常不同!哈哈,没关系,我选择用ActiveX来做这个,但这两种方法都可以。我只是觉得考虑到函数术语,这会更容易理解。
希望这有帮助! |