zhangcan0515 发表于 2018-6-2 22:51:31

学习了 文件过大是不是误操作了 还是说有隐藏的图层和图块

BUBUBA918 发表于 2018-11-27 14:03:29

dunkel 发表于 2008-4-11 06:48
本帖最后由 dunkel 于 2015-4-2 09:10 编辑 这类情形, 就我自己接触到的, 也是在这里反应的情形来看, 有两 ...

如何清除字典的固定项,我发现经常是第4或5项,如何改下LSP,只清除指定项

dunkel 发表于 2018-11-27 15:48:59

不能固定了清除 第4 或 第5 项吧,可以固定地清除某个名的项,如单位里可能来自miscrostation 的困扰,或可以直接用这个命令 (dictremove(namedobjdict) "ACAD_DGNLINESTYLECOMP"),引号里的内容可以用你那些行里提示的名字替换。

xujinhua 发表于 2019-3-10 19:58:23

dunkel 发表于 2008-4-11 06:48
本帖最后由 dunkel 于 2015-4-2 09:10 编辑 这类情形, 就我自己接触到的, 也是在这里反应的情形来看, 有两 ...

谢谢你!!!!

BUBUBA918 发表于 2019-4-10 17:29:02

dunkel 发表于 2018-11-27 15:48
不能固定了清除 第4 或 第5 项吧,可以固定地清除某个名的项,如单位里可能来自miscrostation 的困扰,或可 ...

1."4C495745_D3"12
2."4C495745_D4"32
3."4C495745_DD"6
4."4C495745_DL"872
5."4C495745_DN"18
6."4C495745_DR"26
7."4C495745_DS"6
8."4C495745_DT"7

我经常遇到上述选项,如何做到批量处理开头是 4C495745 字典选项

物语心听 发表于 2019-4-18 20:07:29

BUBUBA918 发表于 2019-4-10 17:29
1."4C495745_D3"12
2."4C495745_D4"32
3."4C495745_DD"6


(defun c:uu (/ amode)
(setvar "cmdecho" 0)
(command "purge" "all" "" "n")
(command "-scalelistedit" "reset" "y" "e")
(princ "\n图层清理完毕O(∩_∩)O")
(initget "Y N")
(setq
    amode (getkword
          "\n是否清理CAD词典[是(Y)/否(N)]<否>:"
          )
)
(if (not amode)
    (setq amode "N")
)
(IF (= amode "Y")
    (PROGN
      (defun C:cduuxx
                      (/ xdoc xdicts xi xc xii xlst xnl xhl)
                                        ; 对当前图形里的常规词典进行列表
        (defun myGetCount (xd xn / xitem errobj)
          (setq        xitem(vla-item xd xn)
                errobj (vl-catch-all-apply 'vla-get-count (list xitem))
          )
          (if (vl-catch-all-error-p errobj)
          "#n/a"
          (itoa errobj)
          )
        )                                ; end of myerr()

        (vl-load-com)
        ;; (textscr)
        (command "Undo" "c" "n")
        (setq xdoc        (vla-get-ActiveDocument (vlax-get-Acad-Object))
              xdicts        (vla-get-dictionaries xdoc)
              xdictlist        (entget (namedobjdict))
              xi        0
              xc        (length xdictlist)
              xii        0
              xnl        nil
              xhl        nil
              aalstn        '()
        )
        (while (< xi xc)                ; for each element in xdictlist, the dictionary list
          (if (= (car (setq xlst (nth xi xdictlist))) 3)
          (progn
              (setq xii        (1+ xii)
                  xi        (1+ xi)
              )
              (setq uudd (strcat (itoa xii)
                               ". \""
                               (setq xname (cdr xlst))
                               "\""
                               (myGetCount xdicts xname)
                               "\n"
                       )
              )
              ;;
              (setq aa1 (cdr xlst))
              ;;统计名称
              (setq aa2 (myGetCount xdicts xname))
              ;;统计数量
              (setq aalst (list (atof aa2) aa1 xii))
              ;;组表
              (setq aalstn (cons aalst aalstn))
              (setq
                disptnull00
               (vl-sort aalstn
                          (function (lambda (e1 e2)
                                      (> (car e1)
                                       (car e2)
                                      )
                                  )
                          )
               )
              )
              ;;根据距离排序
              ;;
              (setq xnl        (cons xname xnl)
                  xhl        (cons (cdr (nth xi xdictlist)) xhl)
              )
          )                                ; end of progn(it's a dictionary item)
          )                                ; end of if(it's a dictionary item)
          (setq xi (1+ xi))
        )                                ; end of while(each element in dictionary list)
        ;|(princ (strcat "\n当前文档词典数量="
               (itoa (vla-get-count xdicts))
               "\n"
       )
)|;
        ;;(initget 6)                                ; no zero or negative value allowed
        (setq xnl (reverse xnl)
              xhl (reverse xhl)
              ;;xi(getint "\n键入需要清理的项 <退出>: ")
              xi(caddr (nth 0 disptnull00))
        )
        (if (and xi (<= xi xii))
          (entdel (nth (1- xi) xhl))
        )
        (command "Undo" "a")
        ;;(princ "\nCAD词典清理完毕!!!")
        (prin1)
      )
      (c:cduuxx)
      (princ "\nCAD词典清理完毕!!!")
    )
)
(prin1)
)

fengche1915@ 发表于 2020-1-9 15:38:16

FEICHANGXIEXIE

daixq021 发表于 2020-4-28 09:06:03


dicts这个清理插件使用后不稳定,好像还影响cad软件,恳请高手帮助检查和修改一下。
另外,建议增加多选输入对话,比如:输入1-4,一次性清理第1至第4项;2,5-7,一次性清理第2和第5至第7项,提高效率,谢谢!

daixq021 发表于 2020-4-28 09:08:35

dicts这个清理插件不稳定,好像还影响cad软件,恳请高手帮助检查修改。
另外,提一个修改建议,增加多参数选择或对话框选项,比如:输入1-4,清理第1至第4项;输入2,5-7,清理第2、第5、第6、第7项。谢谢!

15508629195 发表于 2020-11-21 11:56:46

461045462 发表于 2010-8-24 06:50
谢谢dunkel
收藏了,慢慢看学习学习.
我一般是采用&nbsp;WBlock 写块命令进行清除.比较快,方便

我想问一下,写块的话是选择“整个图形”还是“对象”,用布局出图也是可以吗?
页: 1 2 3 4 5 6 [7] 8
查看完整版本: 求助:文件太大