ibach 发表于 2022-7-6 07:05:39

帮助陷入了最困难的联合国

无法使用大型DWG(大型建筑建筑项目)插入和复制,因为名称为$$等的错误块,与少数标注样式相同,在尺寸样式中使用的块,名称中带有$$符号的线型。
 
我需要全部更改(即使在嵌套块中)
 
1) 从$$$BLA dimstyle name到我需要的dim style的尺寸
2) 所有对象的线型,例如使用我需要的$$$BLA到lintype(不需要BLA,但这也会有帮助。)
3) 将所有名为的块(例如$$$和BLA)替换为名为BLA的块
 
请帮忙!!

resullins 发表于 2022-7-6 07:17:16

我要做的是进入图形,使用QSelect命令,并使用dimstyle$$$选择所有尺寸。将其更改为适当的暗样式。对接下来的两项做同样的事情。。。
 
然后运行PURGE命令。很多!这将是你最喜欢的命令。我知道你可能无法发布文件。。。但是你能发布一个截图来展示你在说什么吗?

ReMark 发表于 2022-7-6 07:30:31

运行命令行版本的Purge命令。如下所示:-先清除然后清除Regapps,然后执行清除>全部。最后,进行审计,然后保存。

ibach 发表于 2022-7-6 07:45:02

我做了所有这些,但这一个是subborn,块中有大量块,qselect不搜索递归块。有
一个例程,它会告诉我哪些块是放置的错误对象,这会有所帮助。

ibach 发表于 2022-7-6 07:54:16

对于dim styles,Lee Mac做了以下lisp。这对他们大多数人都有效。我能够合并大多数dim样式,但并非所有样式(例如ISO-25_2)都无法与ISO-25合并,我相信是这样的,因为它用于某些动态块中进行值导出。我来测试一下。
 
谢谢李。。。或Mac
 
(defun c:MergeDims ( / d1 d2 ss ) (vl-load-com)
;; Example by Lee Mac 2010 - www.lee-mac.com

(if
   (and
   (vl-every
       (function
         (lambda ( sym str )
         (while
             (not
               (or
               (eq ""
                   (set sym
                     (getstring t str)
                   )
               )
               (tblsearch "DIMSTYLE" (eval sym))
               )
             )
             (princ "\n** DimStyle not Found **")
         )
         (not (eq "" (eval sym)))
         )
       )
       (list 'd1 'd2)
       (list "\nSpecify DimStyle to Merge <Exit> : " "\nSpecify DimStyle to Use <Exit> : ")
   )
   (ssget "_X" (list (cons 0 "*DIMENSION") (cons 3 d1)))
   )
   (progn
   (vlax-for dim
       (setq ss
         (vla-get-ActiveSelectionSet
         (vla-get-ActiveDocument (vlax-get-acad-object))
         )
       )
       (vla-put-StyleName dim d2)
   )
   (vla-delete ss)
   )
)
(princ)
)

SLW210 发表于 2022-7-6 07:58:31

ibach,
 
请阅读代码发布指南,并将上述代码放置在代码标签中。

ibach 发表于 2022-7-6 08:06:44

没问题,谢谢你的提示。
 
我还发现了用于合并文本样式的lisp
 
很好的论坛!!!
 
一半的工作完成了。。。。
还有一件事要做。我需要找到那些有$$$名称嵌套在其他块中的讨厌的块,最好不要手动打开每个可怕的架构,我认为它看起来很好,B将是动态块,如果它们的动态有任何意义的话。。。。
页: [1]
查看完整版本: 帮助陷入了最困难的联合国