@Roy_043使用的块是带有可视性的单线动态块。
我知道,如果我用多行文字创建宽度,那么减少宽度会更容易,但这样一来,输入的方便性也会被消除。块内的文本宽度为标准0.8,最好减少到0.65,但仅限于超出框限制的属性。
@Grrr似乎什么也没做。
附件。dwg文件显示了我们使用的一些块以及我希望发生的事情。
我试图整合另一个lisp的一部分(用于不同的原因),以识别图形中的某些块。
但遗憾的是,这并不奏效:
- (Defun c:IDEC-FERRULE ( / ss i e v f)
- (if (setq ss (ssget "_X" '((0 . "INSERT")(66 . 1)
- (2 . "TAG_TOP-LEFT,TAG_DOWN-RIGHT,TAG_BOT_FUSE,TAG_TOP_FUSE,TAG_BOTSIDE_FUSE,TAG_TOPSIDE_FUSE `*U*"))))
- (repeat (setq i (sslength ss))
- (setq e (vlax-ename->vla-object (ssname ss (setq i (1- i)))))
- (if (and
- (member (strcase (vla-get-EffectiveName e)) '("TAG_TOP-LEFT" "TAG_DOWN-RIGHT" "TAG_BOT_FUSE" "TAG_TOP_FUSE" "TAG_BOTSIDE_FUSE" "TAG_TOPSIDE_FUSE"))
- (vlax-write-enabled-p e)
- )
- (progn
- (setq v (mapcar '(lambda (x)
- (if (eq (vla-get-textstring x) "") 0 1))
- (vlax-invoke e 'Getattributes)))
-
- (cond
- ( (Setq f (cadr
- (assoc v '(((1 0 0) "Off" )
- ((1 1 0) "DEST_1_ONLY" )
- ((1 1 1) "DEST_2_ON" ))))
- ;; Other Visibility States and conditions ;:
- )
- (vla-put-value (vl-some '(lambda (z)(if (vla-get-propertyname z) "Visibility1") z)
- (vlax-invoke e 'GetDynamicBlockProperties))
- f )
- )
-
- ( (equal v '(0 0 0)) (vla-delete e) )
-
- ;( or Other condtions here );
- ;( or Other condtions here );
- )
- )
- )
- )
- )
- (princ)
- )
图纸2.dwg |