本帖最后由 ebigsong 于 2012-4-29 21:54 编辑
应该就是个读取属性块属性、修改属性块属性的东西吧,应该不是很复杂
 - ;|VxSetAtts - Sets?attribute values to block
- 函数名: VxSetAtts
- 功 能: 设置块中属性
- Copyright: ?000 MENZI ENGINEERING GmbH, Switzerland
- 参数 [类型]:
- Obj = Object [VLA-OBJECT]
- Lst = 点表 '(("Tag1" . "Val1")...) [LIST]
- 返回值[类型]: nil
- |;
- (defun VxSetAtts (Obj Lst / AttVal)
- (setq Obj (vlax-ename->vla-object Obj));将 AutoLISP 类型的对象名转换为 VLA 对象
- (mapcar
- '(lambda (Att)
- (if (setq AttVal (cdr (assoc (vla-get-TagString Att) Lst)))
- (vla-put-TextString Att AttVal)
- )
- )
- (vlax-invoke Obj "GetAttributes")
- )
- (vla-update Obj)
- (princ)
- )
 -
- ;输入属性块名称,得到属性列表
- (defun VxGetAtts (Obj)
- (setq Obj (vlax-ename->vla-object Obj))
- (mapcar
- '(lambda (Att)
- (cons (vla-get-TagString Att)
- (vla-get-TextString Att)
- )
- )
- (vlax-invoke Obj "GetAttributes")
- )
- )
|