马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 newer 于 2017-8-9 21:14 编辑
 - ;解锁块属性位置固定
- ;其中e为块参照图元名
- ;unLock=T时解锁 用dxf修改的方式有问题
- ;|
- (defun BY:unLockAttrib ( e unLock / el tf ent elist old_dxf70 )
- (while
- (and
- (setq e (entnext e))
- (/= (cdr (assoc 0 (setq elist (entget e)))) "SEQEND")
- )
- (setq old_dxf70 (cdr (assoc 70 elist)))
- (if unLock
- ;解锁,and old_dxf70 (1+4+8)
- ;1=属性不可见 2=固定属性 4=输入属性时要求进行验证 8=属性为预置(插入时无提示)
- (progn
- (setq elist (subst (cons 70 (boole 1 13 old_dxf70)) (assoc 70 elist) elist))
- (setq elist (subst (cons 280 0) (assoc 280 elist) elist))
- )
- ;else 锁定
- (progn
- (setq elist (subst (cons 70 (boole 7 2 old_dxf70)) (assoc 70 elist) elist))
- (setq elist (subst (cons 280 1) (assoc 280 elist) elist))
- )
- )
- (entmod elist)
- )
- (princ)
- )|;
- ;解锁块属性位置固定
- ;其中e为块参照图元名
- ;unLock=T时解锁
- (defun BY:unLockAttrib ( e unLock / blkref x )
- (setq blkref (vlax-Ename->vla-Object e))
- (foreach x (vlax-safearray->list (vlax-variant-value (vla-GetAttributes blkref)))
- (if unLock
- ;解锁
- (vla-put-lockposition x :vlax-false)
- ;else 锁定
- (vla-put-lockposition x :vlax-true)
- )
- )
- (princ)
- )
|