georgi9909 发表于 2022-7-5 20:10:27

LISP用于快速处理图层

大家好,
很长一段时间以来,我一直在寻找提高Autocad工作速度的方法。我使用的所有功能,如直线、圆、修剪、延伸等,都带有组合键。我想做的事情还有:
1、用键组合加载公司层
2、使用组合键快速切换到另一层
3、使用组合键快速更改选定对象的图层
4.快速切换到其他文字、标注和多重引线样式
 
你能帮我做这些事吗。
 
提前谢谢!
 
乔治

ReMark 发表于 2022-7-5 20:16:10

公司层不应该已经包含在模板文件中吗?
 
回复:按键组合。为什么必须使用lisp完成这些操作?为什么不使用键盘快捷键?

georgi9909 发表于 2022-7-5 20:23:50

我有公司图层的模板文件,但当我收到投资者或其他部门的图纸时,我必须添加我们的图层。

ReMark 发表于 2022-7-5 20:28:46

通过设计中心拖放。

georgi9909 发表于 2022-7-5 20:30:00

我知道这一点,但使用快捷键和自动加载所有层会更快。

ReMark 发表于 2022-7-5 20:36:55

我敢肯定,如果你仔细看,你会发现有人已经写了一个Lisp程序,完成了任务。您只需为特定层修改它。节省下来的时间你会怎么做?
 
有很多网站都有自定义lisp例程可用。沼泽、Cadalyst杂志、Lee Mac、DoftSoft、ManuSoft和AfraLISP等等。

georgi9909 发表于 2022-7-5 20:42:01

谢谢我找到lisp加载图层,但我不知道如何用键盘更改图层和样式。很抱歉有新手问题。

georgi9909 发表于 2022-7-5 20:45:10

是否可以在键入时制作一些lisp:
设置-选择要更改图层/暗显样式/文字样式/多重引线样式的选项/
层内为公司层
在昏暗的风格将是你的风格等。

BIGAL 发表于 2022-7-5 20:49:53

看一看脚本,你所需要做的就是写下你在做什么,手动制作新图层,改变文字样式等等,非常简单,只需在记事本中完成即可。
 

-layer n layer1 c layer1 45
n layer211 c layer211 30 Lt dashed

textstyle standard

 
另一个要查看的是一个自定义菜单或工具栏,其中包含您公司的内容,单击按钮文本样式集,图层集。

georgi9909 发表于 2022-7-5 20:52:50

这是我用来创建层的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
查看完整版本: LISP用于快速处理图层