mstg007 发表于 2015-6-19 09:06:15

重建3件爆炸的领导者?

我注意到很多细节让领导者爆炸了。箭头是实心的,然后带有线和铅线。有没有一个例行程序可以重建或让它回到一个领导者或容易的事情?
**** Hidden Message *****

Rob... 发表于 2015-6-19 09:39:44

你也是吗?我们也有同样的问题。如果发生了这种情况,您甚至可能会发现箭头大小的差异以及其他不一致之处
我一直在手动重新创建领导者。

mstg007 发表于 2015-6-19 09:42:21

我会这样说,我见过lisp例程,它可以采取一个领导者(没有爆炸),然后将其转换为默认的mleader风格。这效果很好。但是,嘿,问没有错...

Rob... 发表于 2015-6-19 09:45:35

这并不难做到,如果你能找到一种方法从你所拥有的东西中重建它们,你就可以利用这一点。

mstg007 发表于 2015-6-19 09:49:33

这是我的想法……但如果这能奏效的话,你能想象一下在飞行中清理细节吗?见鬼,如果你能同时做几件,那就太棒了。进入详图源dwg,选择所有断开的分解文本和断开的引线,然后神奇地将它们转换回mleader?

mjfarrell 发表于 2015-6-19 09:54:13

最酷的例行公事是让程序找到炸毁所有领导者的傻瓜,并向他们释放一群愤怒的黄蜂。

ronjonp 发表于 2015-6-19 10:47:58

你有样图吗?看起来这并不难完成。

mstg007 发表于 2015-6-19 11:45:31

罗恩,我已经给你发了一封电子邮件,里面有一些细节。

Bethrine 发表于 2015-6-19 23:09:52

那些烦人的事情让我每画一幅画都慢下来。这是我的哀悼。我最终把它们放在自己的图层上,然后基本上在它们上面粘贴MLeader。然后我从隔离层中删除了它(defun c:foo (/ _dxf lp lp2 lpe ml ss txt x)
(defun _dxf (code ename)
    (if ename
      (cdr (assoc code (entget ename)))
    )
)
;; Single pick cleanup
;; Requires all of the following items          -->
(cond ((null (and (setq ss (ssget ":L" (list '(0 . "text,line,solid"))))
                  (setq ss (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss))))
               )
         )
         (print "Bye...")
      )
      ((not (setq
                lp (_dxf 12 (setq lpe (car (vl-remove-if-not '(lambda (x) (= "SOLID" (_dxf 0 x))) ss))))
            )
         )
         (print "Leader point not found...")
      )
      ((not (setq lp2
                     (car (vl-sort (apply 'append
                                          (mapcar '(lambda (x) (list (_dxf 10 x) (_dxf 11 x)))
                                                (vl-remove-if-not '(lambda (x) (= "LINE" (_dxf 0 x))) ss)
                                          )
                                 )
                                 '(lambda (a b) (> (distance a lp) (distance b lp)))
                        )
                     )
            )
         )
         (print "Lines not selected...")
      )
      ((not (setq txt (vl-sort (vl-remove-if-not '(lambda (x) (= "TEXT" (_dxf 0 x))) ss)
                                 '(lambda (a b) (> (cadr (_dxf 10 a)) (cadr (_dxf 10 b))))
                        )
            )
         )
         (print "Text not selected...")
      )
      (t
         (command "._mleader" lp lp2 "")
         (setq ml (vlax-ename->vla-object (entlast)))
         (vla-put-textstring
         ml
         (vl-string-right-trim
             "\\P"
             (apply 'strcat (mapcar '(lambda (x) (strcat (_dxf 1 x) "\\P")) txt))
         )
         )
         (vla-put-layer ml (_dxf 8 (car txt)))
         ;; Suggest using an mleader style rather than these hardcoded values below :)
         ;; may Sh!+ the bed depending on the CMLEADERSTYLE
         (vla-put-textstylename ml (_dxf 7 (car txt)))
         (vla-put-textheight ml (_dxf 40 (car txt)))
         (vla-put-arrowheadsize ml (distance lp (_dxf 10 lpe)))
         (mapcar 'entdel ss)
      )
)
(princ)
)

ronjonp 发表于 2015-6-22 10:16:08

这是一些相当疯狂的东西。你躺在那里真是疯了。哈哈。除了“选择一切”之外,一切都是按需要进行的,它做到了。但正如你所说,大部分工作都完成了。如果有一个qleader,它是否也可以使用它?或者在日常生活中,它可以接受它并将其分解,然后将其转换过来?又甜了!
页: [1] 2
查看完整版本: 重建3件爆炸的领导者?