《标注时自动切换到DIM图层》由会员分享,可在线阅读,更多相关《标注时自动切换到DIM图层(4页珍藏版)》请在金锄头文库上搜索。
1、标注时自动切换到DIM图层(defunxlr-autolayer();(setvar,lcmdechoH0);(if(null(tblsearchlayertext);(set_layerjisttext3,continuous););(if(null(tblsearchlayerdim);(setjayerjist3continuous11);)(vl-load-com);图层初始化列表内容:commandslayerscolorlinetypeplottable(setq*doc(vla-get-activedocument(vlax-get-acad-object)(setq*lays(
2、vla-get-layers*doc)(setq*laylst(list(list,DIMANGULAR,1“DIIVT3continuous11T)(list,DIMALIGNED,DIM3“continuous”T)(list,DIMBASEUNEUDIM3“continuous”T)(list,DIMCENTERHDIM113continuousT)(list,DIMCONTINUE,DIM3“continuous”T)(listHDIMDIAMETERHDIM113continuousT)(list,DIMLINEAR,DIM3continuousT)(list“DIMORDINATE
3、”DIM”3”continuous”T)(list,DIMRADIUSH,DIMH3“continuous”T)(list,QDIMn”DIM”3continuousT)(list“QLEADER”DIM113continuousT)(listDTEXTTEXT3continuousT)(list“MTEXT”,TEXTH3Continuous1T)(listTEXTTEXT3continuousT);(listBHATCH”填充9continuousT);(listHATCH“填充”9continuousT);(listPOINT点”4continuousT);(listXLINE”辅助线”
4、8continuousT);(list,LINEnONILcontinuousT);(listXREF”“引用“7continuousT);(listpline”多义线,2center*T)(setqOldLayernil)(setq*cmdlst(mapcartrcase(mapcarcar*laylst)(mapcarlambda(x)(vlr-command-reactornilx)(list(:vlrcommandWillStartxlr-start)(ivIr-commandEndedxlr-end)(ivIr-commandCancelledxlr-cancel)(vlr-edit
5、or-reactornil*(:vlr-commandwillstart.xlr-edit)/9tf(defunxlr-edit(CALLCALLBACK/)(foreachN*laylst(if(=(strcase(carCALLBACK)(strcase(carN);命令反应器返回信息如果与设置的命令相同.(progn;建立图层(applyxsetlays(cdrN);(setvarCLAYER(cadrN);设为当前层.)/9tf(defunxlr-start(calling-reactorxlr-startlnfo/)(foreachN*laylst(if(=(strcase(carx
6、lr-startlnfo)(strcase(carN);命令反应器返回信息如果与设置的命令相同.(progn;建立图层(applyxsetlays(cdrN);(setvarCLAYER(cadrN);设为当前层.)/9tf(defunxlr-end(callingreactorxlr-endlnfo/cmd)(setqcmd(carxlr-endlnfo)(if(membercmd*cmdlst)(if(/=oldlayernil)(progn(setvarCLAYER11OldLayer)(setqOldLayernil)/(defunxlr-cancel(callingreactorxl
7、r-cancellnfo/cmd)(setqcmd(carxlr-cancellnfo)(if(membercmd*cmdlst)(if(/=oldlayernil)(progn(setvarCLAYER11OldLayer)(setqOldLayernil)(defunxsetlays(LAY-NAMCOLORLTYPEplotk/LAYOBJLTYPESOBJ)(if(tblobjname,layerHLAY-NAM)(progn(if(/=(strcase(getvarCLAYER)(strcaseLAY-NAM)(setqOldLayer(getvarFLAYER11)(progn(i
8、f(=oldlayernil)(setqOldLayerLAY-NAM)(setvar,CLAYER,lay-nam)(progn;添加图层.(vl-catch-all-error-p(vl-catch-all-applyvla-add(list*laysLAY-NAM)(setqLAYOBJ(vla-item*laysLAY-NAM)(if(not(tblobjnameItypeLTYPE);添加线型.(progn(setqLTYPESOBJ(vla-get-linetypes*doc)(vla-loadLTYPESOBJLTYPE(findfileHacad.linn);要加强,在多个*.
9、lin寻找(vlax-release-objectLTYPESOBJ);解冻(如冻结),解锁,设图层为当前,设图层颜色,可打印特性.(vla-put-layeronlayobj:vlax-true)(vla-put-locklayobj:vlax-false)(if(=(strcase(getvarCLAYER)(strcaselay-nam);解冻.(vla-put-freezelayobj:vlax-false)(vla-put-colorlayobjcolor)(vla-put-linetypelayobjLTYPE)(vla-put-plottablelayobj(ifplotk:vlax-true:vlax-false)(xlr-autolayer);加载启动!(princHn一命令图层反应器已加载一)