LISP用于快速处理图层
大家好,很长一段时间以来,我一直在寻找提高Autocad工作速度的方法。我使用的所有功能,如直线、圆、修剪、延伸等,都带有组合键。我想做的事情还有:
1、用键组合加载公司层
2、使用组合键快速切换到另一层
3、使用组合键快速更改选定对象的图层
4.快速切换到其他文字、标注和多重引线样式
你能帮我做这些事吗。
提前谢谢!
乔治 公司层不应该已经包含在模板文件中吗?
回复:按键组合。为什么必须使用lisp完成这些操作?为什么不使用键盘快捷键? 我有公司图层的模板文件,但当我收到投资者或其他部门的图纸时,我必须添加我们的图层。 通过设计中心拖放。 我知道这一点,但使用快捷键和自动加载所有层会更快。 我敢肯定,如果你仔细看,你会发现有人已经写了一个Lisp程序,完成了任务。您只需为特定层修改它。节省下来的时间你会怎么做?
有很多网站都有自定义lisp例程可用。沼泽、Cadalyst杂志、Lee Mac、DoftSoft、ManuSoft和AfraLISP等等。 谢谢我找到lisp加载图层,但我不知道如何用键盘更改图层和样式。很抱歉有新手问题。 是否可以在键入时制作一些lisp:
设置-选择要更改图层/暗显样式/文字样式/多重引线样式的选项/
层内为公司层
在昏暗的风格将是你的风格等。 看一看脚本,你所需要做的就是写下你在做什么,手动制作新图层,改变文字样式等等,非常简单,只需在记事本中完成即可。
-layer n layer1 c layer1 45
n layer211 c layer211 30 Lt dashed
textstyle standard
另一个要查看的是一个自定义菜单或工具栏,其中包含您公司的内容,单击按钮文本样式集,图层集。 这是我用来创建层的lisp。
(defun MakeLayer ( name colour linetype lineweight willplot bitflag description )
;; © Lee Mac 2010
(or (tblsearch "LAYER" name)
(entmake
(append
(list
(cons 0 "LAYER")
(cons 100 "AcDbSymbolTableRecord")
(cons 100 "AcDbLayerTableRecord")
(cons 2name)
(cons 70 bitflag)
(cons 290 (if willplot 1 0))
(cons 6
(if (and linetype (tblsearch "LTYPE" linetype))
linetype "CONTINUOUS"
)
)
(cons 62 (if (and colour (< 0 (abs colour) 256)) colour 7))
(cons 370
(if (minusp lineweight) -3
(fix
(* 100
(if (and lineweight (<= 0.0 lineweight 2.11)) lineweight 0.0)
)
)
)
)
)
(if description
(list
(list -3
(list "AcAecLayerStandard" (cons 1000 "") (cons 1000 description))
)
)
)
)
)
)
)
(defun c:XT nil (vl-load-com)
;; © Lee Mac 2010
;; Specifications:
;; Description Data Type Remarks
;; -----------------------------------------------------------------
;; Layer Name STRING Only standard chars allowed
;; Layer Colour INTEGER may be nil, -ve for Layer Off, Colour < 256
;; Layer Linetype STRING may be nil, If not loaded, CONTINUOUS.
;; Layer Lineweight REAL may be nil, negative=Default, otherwise 0 <= x <= 2.11
;; Plot? BOOLEAN T = Plot Layer, nil otherwise
;; Bit Flag INTEGER 0=None, 1=Frozen, 2=Frozen in VP, 4=Locked
;; Description STRING may be nil for no description
;; Function will return list detailing whether layer creation is successful.
(
(lambda ( lst / lts ) (setq lts (vla-get-Linetypes (vla-get-ActiveDocument (vlax-get-acad-object))))
(mapcar 'cons (mapcar 'car lst)
(mapcar
(function
(lambda ( x )
(and (caddr x)
(or (tblsearch "LTYPE" (caddr x))
(vl-catch-all-apply 'vla-load (list lts (caddr x) "acad.lin"))
)
)
(apply 'MakeLayer x)
)
)
lst
)
)
)
'(
;Name Colour Linetype Lineweight Plot?Bitflag Description
( "Layer1" 5 "CONTINUOUS" 0.50 T 0 nil )
( "Layer2" 6 "ACAD_ISO04W100" 0.18 T 0 nil )
( "Layer3" 7 "CONTINUOUS" 0.35 T 0 nil )
( "Layer4" 40 "CONTINUOUS" 0.35 T 0 nil )
( "Layer5" 4 "DASHEDx2" 0.18 T 0 nil )
( "Layer6" 3 "CONTINUOUS" 0.15 T 0 nil )
( "Layer7" 11 "CONTINUOUS" 0.15 T 0 nil )
( "Layer8" 2 "CONTINUOUS" 0.35 T 0 nil )
( "Layer9" 1 "CONTINUOUS" 0.20 T 0 nil )
)
)
)
页:
[1]
2