很多时候图纸大了,用户想快速聚焦某一个图元,而且还要醒目,之前我给客户做了一个简易的动图,现在有个别客户提出希望动图能有一点科技感,个人美术细胞有限,随便设计了一个,还没给客户看之前,先发个帖子用于记录实现方法,以下是具体lisp代码
- ;lisp科技动画
- (setq ent (car (entsel)))
- (setq Pros (vl-catch-all-apply
- 'vlax-invoke
- (list (vlax-ename->vla-object ent)
- 'GetDynamicBlockProperties
- )
- )
- )
- (setq
- obj (vl-some
- (function
- (lambda (a)
- (if
- (= (vl-catch-all-apply 'vla-get-PropertyName (list a))
- "参数集";动态块的动作名字叫做参数集
- )
- a
- )
- )
- )
- Pros
- )
- )
- (setq go t)
- (SETQ i 0)
- (while go
- (setq gr (grread t 15))
- (vl-catch-all-apply
- 'vla-put-Value
- (list obj (vlax-make-variant i vlax-vbString))
- )
- (if (> i 18);动态块中设置了多少个动作
- (setq i 1)
- )
- (cond
- ((=(car gr)3)(setq go nil))
- )
- (SETQ i (1+ i))
- )
|