公文素材库 首页

CAD垃圾清理使用心得

时间:2019-05-29 05:05:31 网站:公文素材库

CAD垃圾清理使用心得

CAD垃圾清理使用心得

在我们使用AUTOCAD绘图的过程中,经常会出现这种情况:图中内容很少,但图文件所占的空间很大,图形生成的速度也很慢。这是为什么呢?其实原因很简单:图中的垃圾很多。

图文件中产生垃圾的原因很多,其中一个重要的原因就是使用了一些应用软件。应用软件为了方便用户使用,在启动图文件时增加了许多设置。增加的设置是为了适应所有可能出现的情况,因此十分全面。实际上在绘图的过程中,由于绘图内容差异,不同的图中总有一些设置不用。另一方面,在使用应用软件的过程中,许多附加过程会引入一些过渡性的信息,这些信息在没用的时候有的可能会被清除,而有些信息仍然会被保存在文件中,这些未被清除的信息就成为垃圾。比如当我们插入一个图块,如果图块未被打开,有关此图块的记录就是有用信息,当图块被打开以后有关图元已不再是一个整体,但图块的有关信息仍保存在文件中,这些信息就成为无用信息即垃圾。如果一个存在垃圾的图文件又被另一个图文件引用,那么这些文件中的垃圾也就可能被转入新的文件中,造成垃圾积累。为了提高工作效率,在绘图的过程中应当经常清除垃圾。由于图中垃圾来源不同,所以清除垃圾的方法也就不同。方法一:

一般来说,一张CAD图中最常出现的垃圾有以下几种:未引用过的图层设置、线型设置;未被引用的图块(已被打开的图块)、标准字样(STYLE)、外形等等,这些信息可以通过PURGE命令清除。清除过程如下:

①COMMAND:PURGE↓(这个下箭头是接下来的意思)

PurgeunusedBlocks/Dimstyle/LAyers/Ltypes/SHapes/Styles/AllBlocks:无用图块;

Dimstyle:未被使用的尺寸标注格式;LAyers:未被使用的层设置;LTypes:未被引用的线型设置;SHapes:无用的外形;

Styles:未被使用过的字样设置;All:以上所有各项内容。

用户可以根据需要按系统提示删除不同内容。每一项被删除的内容系统都会要求用户予以确认。

注意:此命令的使用必须是打开一个文件后第一条命令。【使用说明:效果不错,属于积累性的。后来成了我最常使用的一个命令】方法二:

对于上面提到的几项内容,也可以通过WBLOCK命令来完成。其过程如下:COMMAND:WBLOCK↓Filesname:(files)↓Blockname:↓

此方法与采用PURGE命令清除垃圾的方法相比,其功能更强大。它清除的内容范围除了上述这些可以用PURGE清除的内容之外,还包括更多的内容,比如非当前使用的用户坐标系。与使用PURGE命令不同,使用此命令时系统并不给出单项提示,而是直接全部清除,因此该命令的使用应谨慎,【试用说明:就是把能选中的东西用块的形式重新完美组合放在新建的DWG文件中】。空字串

有时图文件可能还会出现空文字串。空文字串与空图块一样,无法在图面上直接观察到,因此也就不能直接用ERASE命令删除。对于空字串,可以首先通过QTBXT参数发现它,然后再将其删除。删除过程如下:①Command:Qtext

On/OFF(OFF)ON↓将QTEXT参数值设为ON。↓②Command:Regen按新参数值重新生成图形。

这时图中文字变成矩形方框,方框的宽度与文字的高度相等,其长度与文字串的长度相等。使用此参数后空字串和文字都会变成一个个方框,这样就可以发现空字串了。有时表示空字串的方框和正常文字难以区分,这时可以使用LIST合作进行证实,(以文档形式观看文字内容予以鉴别)。在做完以上工作后,输入Qtext,再点选off,再选择“视图”,消隐。重启下DWG文件就能改掉那些删除不掉的垃圾了。经过这样一些处理后图文件中的垃圾基本上被清除干净,图文件的容量可以降到最低,文件的运行速度也可以大大加快。【试用说明:此方法可以删除你看不到,

选不中的,妨碍你正常视图的不利因素的空字串大坏蛋】

上面方法我只试用了其中3个,(本人使用的是07版本的CAD,07版本中绝对的管用),此方法也是我网上找到的,我将它更加简明的叙述给大家,希望大家能更好的理解这些方法!。。。

扩展阅读:CAD清理垃圾源代码

(vl-load-com)

(prompt"\\nütt.\\n°°ú.");;;ò

(defunc:tt(/catchit)

(setqcatchit(VL-CATCH-ALL-APPLY"dcl_load))(if(vl-catch-all-error-pcatchit)(progn

(princ"\\nòí:")

(princ(vl-catch-all-error-messagecatchit)))

(princ"\\nòá!"))

(princ);)

;;;°òí

(defunDCL_load(/dcl_idDialog_Returnkeykeyskey1Dcl_FileFSSHCOUNTFLST)

(setqdcl_id(load_dialog(setqDcl_File(Write_Dcl))));°ò

(vl-file-deleteDcl_File);óDCL(setqDialog_Return2)

(setqsh(vlax-create-object"Shell.Application"));Shell.applicationó

(setqfs(vlax-create-object"Scripting.FileSystemObject"));FSOó

(setqfLstnil)

(while(>Dialog_Return1);-°òá(new_dialog"DCL"dcl_id);¨°;;-->-->-°ò->-->--

(setqkeys"("ERR""AC$""TMP""DWL""LOG""PLT""SV$""BAK""USR""UED""ZERO""SF""TF""LF""PF""UF""PATH""SUB""accept""cancel"));±í

(foreachkeykeys;(if(eval(read(strcatkey"_bak")))

(set_tilekey(eval(read(strcatkey"_bak")))));

(action_tilekey"(Action_DCL_Keys$key$value)");÷×÷)

(setqkey1"("ERR""AC$""TMP""DWL""LOG""PLT""SV$""BAK""ZERO""USR"))

(action_tile"ALL""(all_selectkey1)");à

(action_tile"CLR""(all_Clear(cons\\"ALL\\"key1))");à

(action_tile"SEL""(SelectFolderfssh))");ר(action_tile"SHOW""(ShowFilefssh)");(action_tile"SA""(SelectAll)");±íò(action_tile"DA""(DeselectAll)");±íò

(action_tile"help""(helpMsg)");°ú;;--(progn

;;(princ(strcat"\\n"(vlax-getfile"name)))(if(vl-catch-all-error-p(vl-catch-all-apply"vlax-invoke(listpFile"delete1)))(setqerr(1+err))(setqcnt(1+cnt))))

;;(princ(strcat"\\n"(vlax-getfile"path))))

(setqels(cdrels))))

(setqi(1+i)))

(princ(strcat"\\n"(itoacnt)))(princ(strcat"\\n °"(itoaerr)))(princ))

(princ"\\n×÷!")))

(princ"\\n!"))

(done_dialog1);°ò÷Dialog_Return1)

((=key"cancel");{°}(princ"\\n×÷!")

(done_dialog0);°ò÷Dialog_Return0)))

;;;ר

(defunSelectFolder(fssh/pap)

(setqpa(vlax-invokesh"BrowseForFolder0""17));ò°òó(ifpa(progn

(setqp(vlax-get(vlax-getpa"self)"path))(if(/=(vlax-invokefs"FolderExistsp)0)(progn

(and(>(strlenp)3)(setqp(strcatp"\\\\")))

(set_tile"PATH"P)(set_tile"UF""1")))))

(ifpa(vlax-release-objectpa))(princ))

;;;

;;;(bug,í)(defunSelectAll(/stri)(setqSTR"")(setqi0)

(repeat(lengthflst)

(setqstr(strcatstr(itoai)""))(setqi(1+i)))

(set_tile"LST"str)(set_tile"SA""0")(set_tile"DA""0"))

;;;

(defunDeselectAll()(set_tile"LST""")(set_tile"SA""0")(set_tile"DA""0"))

;;;

(defunShowFile(fssh/FILTFOLDLSTSIZESTR)(setqlst(Get_DCL_Data))(setqlst(GetFilterlst))(setqsize(carlst))(setqfilt(cadrlst))(setqfold(caddrlst))(if(or(carsize)filt)(progn

(andfilt(removeDupfilt))(setqfold(removeDupfold))(setqfLstnil)(start_list"LST")(foreachpfold

(if(/=(vlax-invokefs"FolderExistsp)0)(Searchfspsizefilt)))

(end_list)

(setqfLst(reverseFlst))(SelectAll))))

;;;

(defunRemoveDup(lst/tmpLn)(setqtmp(mapcar"strcaselst))(setqtmp(acad_strlsorttmp))(whiletmp

(setqn(cartmp))(setqL(consnL))(while(and(cadrtmp)

(=(cartmp)(cadrtmp)))

(setqtmp(cdrtmp)))

(setqtmp(cdrtmp)))

(reverseL))

;;;

(defunCheckFile(fsfilesizefilLst/nameidxsufres1res2)(and(carsize)(setqres1(=(vlax-getfile"size)0)))(cond

((member"*.*"filLst)(setqres2T))

((setqname(vlax-getfile"name))

(setqidx(vl-string-position(ascii".")name0T))(ifidx

(setqsuf(strcase(substrname(+2idx)))res2(membersuffilLst)))))

(orres1res2))

;;;÷

(defunSearch(fsFoldersizefilLst/rfdfilesfilefdsfdIsShow)(if(/=(vlax-invokefs"FolderExistsFolder)0);íó(×)(progn

(setqrfd(vlax-invokefs"GetFolderFolder));

(setqfiles(vlax-getrfd"files));

(vlax-forfilefiles

(if(checkFilefsfilesizefilLst);ì(progn

(add_list(vlax-getfile"name));ò°ò±í

(setqfLst(consfilefLst));°×±í(setqIsShowT))))

(ifIsShow(progn

(add_listFolder)

(setqfLst(consrfdfLst))));°±í(if(=(cdrsize)"1");é °ü¨×(progn

(setqfds(vlax-getrfd"SubFolders));×(vlax-forfdfds

(Searchfs(vlax-getFd"path)sizefilLst);é)))

;;(vlax-release-objectfiles);;(vlax-release-objectrfd))))

;;;

(defunGetFilter(kLst/KEYLSTPATHSIZESUFUSSIDXSUB)(setqlstkLst)(repeat8

(setqkey(carLst))(if(=(cdrkey)"1")

(setqsuf(cons(carkey)suf));ó×)

(setqlst(cdrlst)))

(setqkey(carLst))(if(=(cdrkey)"1");רó×(progn

(setquss(cdadrLst));í¨×(cond

((or(=uss"*.*")(=uss".*")(=uss"*"))(setqsuf(cons"*.*"suf));ù)

((setqidx(vl-string-position(ascii".")uss0T))(setqsuf(cons(substruss(+2idx))suf));רó×())

((/=uss"")

(setqsuf(consusssuf));רó×))))

(setqlst(cddrlst))

(setqkey(carLst))(if(=(cdrkey)"1")(setqsize0);×)

(setqlst(cdrlst))

(if(=(cdr(assoc"TF"lst))"1")(setqpath(cons(getvar"TEMPPREFIX")path));±)

(if(=(cdr(assoc"SF"lst))"1")(setqpath(cons(getvar"SAVEFILEPATH")path));×±)

(if(=(cdr(assoc"LF"lst))"1")

(setqpath(cons(strcat(GetSpecialPath2)"\\\\")path));±)

(if(=(cdr(assoc"PF"lst))"1")

(setqpath(cons(getvar"DWGPREFIX")path));¤×÷)

(if(=(cdr(assoc"UF"lst))"1")

(setqpath(cons(cdr(assoc"PATH"lst))path));¨)

(setqsize(conssize(get_tile"SUB")));°ü×(andsuf(setqsuf(mapcar"strcasesuf)))(listsizesufpath))

;;;ó×

(defunALL_Select(keys)

(if(=(get_tile"ALL")"1")(progn

(foreachnkeys(set_tilen"1"))

(set_tile"CLR""0"))))

;;;

(defunALL_Clear(keys)

(if(=(get_tile"CLR")"1")(foreachn(cons"CLR"keys)(set_tilen"0"))))

;;;°ú

(defunhelpMsg()

(alert"ê÷:\\n

\\nò±òó×

\\n×÷-××÷\\nòìüSòOAD°ü×I;

\\nרó×è.*.dwgdwgù*\\nòòvlispóò;\\ní

\\ná\\n-¨é\\n

\\nHighflybird201*.1."))

;;;±

(defunGet_DCL_Data(/keylstvalue)(foreachkeykeys

(setqvalue(get_tilekey))

(setqlst(cons(conskeyvalue)lst))

(set(read(strcatkey"_bak"))value))

(reverse(cddrlst)))

;;;¤×÷

(defunGetSpecialPath(n/fsopath)

(setqfso(vlax-create-object"Scripting.FileSystemObject"))

(setqpath(vlax-get(vlax-invokefso"GetSpecialFoldern)"path))(vlax-release-objectfso)path)

;;;±úDcl

(defunWrite_Dcl(/Dcl_Filefilestr)(setqDcl_File(vl-filename-mktempnilnil".Dcl"))(setqfile(openDcl_File"w"))(foreachstr(list"//°ò""DCL:dialog""{"

"label=\\"CAD¤\\";"":row""{"

":column""{"

":boxed_column""{"

"label=\\"ó×\\";"":toggle""{"

"key=\\"ERR\\";"

"label=\\"(.err)±¨í\\";""}"

":toggle""{"

"key=\\"AC$\\";"

"label=\\"(.ac$)±\\";""}"":toggle""{"

"key=\\"TMP\\";"

"label=\\"(.tmp)±\\";""}"

":toggle""{"

"key=\\"DWL\\";"

"label=\\"(.dwl,dwl2)±\\";""}"

":toggle""{"

"key=\\"LOG\\";"

"label=\\"(.log)\\";""}"

":toggle""{"

"key=\\"PLT\\";"

"label=\\"(.plt)ò\\";""}"

":toggle""{"

"key=\\"SV$\\";"

"label=\\"(.sv$)×\\";""}"

":toggle""{"

"key=\\"BAK\\";"

"label=\\"(.bak)±\\";""}"

":toggle""{"

"key=\\"ZERO\\";"

"label=\\"0×\\";""}"":row""{"

":toggle""{"

"key=\\"USR\\";"

"label=\\"רó×\\";""}"

":edit_box""{""key=\\"UED\\";""fixed_width=true;""width=16;""}""}"

":toggle""{"

"key=\\"ALL\\";"

"label=\\"ù\\";""}"

":toggle""{"

"key=\\"CLR\\";"

"label=\\"\\";""}""}"

":boxed_column""{"

"label=\\"\\";"":toggle""{"

"key=\\"SF\\";"

"label=\\"×±\\";""}"

":toggle""{"

"key=\\"TF\\";"

"label=\\"±\\";""}"

":toggle""{"

"key=\\"LF\\";"

"label=\\"±\\";""}"

":toggle""{"

"key=\\"PF\\";"

"label=\\"±°¤×÷\\";""}"":row""{"

":toggle""{"

"key=\\"UF\\";""label=\\"¨\\";""}"

":button""{"

"key=\\"SEL\\";"

"label=\\"ò(&O)\\";""}""}"

":text""{"

"key=\\"PATH\\";""label=\\"\\";""}""}""}"

":boxed_column""{"

"label=\\"±í\\";""fixed_width=true;""width=60;"":list_box""{"

"key=\\"LST\\";"

"multiple_select=true;""}""}""}"":row""{"

"spacer;"

"ok_cancel_help;""spacer_1;""spacer_1;""spacer_1;"":button""{"

"key=\\"SHOW\\";""label=\\"(&S)\\";""fixed_width=true;""width=12;""}"

":toggle""{"

"key=\\"SUB\\";""label=\\"°ü¨×(&I)\\";""value=\\"1\\";""}"

":toggle""{"

"key=\\"SA\\";"

"label=\\"(&A)\\";""}"

":toggle""{"

"key=\\"DA\\";"

"label=\\"(&D)\\";""}""spacer;""}""}")

(write-linestrfile))

(closefile)Dcl_File)

友情提示:本文中关于《CAD垃圾清理使用心得》给出的范例仅供您参考拓展思维使用,CAD垃圾清理使用心得:该篇文章建议您自主创作。

  来源:网络整理 免责声明:本文仅限学习分享,如产生版权问题,请联系我们及时删除。


CAD垃圾清理使用心得
由互联网用户整理提供,转载分享请保留原作者信息,谢谢!
http://m.bsmz.net/gongwen/661865.html
相关阅读
最近更新
推荐专题