sajid 发表于 2022-7-5 23:37:59

自动正交需要lsp

对于类似auto ortho的revit软件,需要lsp。我不想每次都按F8键。如果有人知道这样的lsp请发我。萨吉德

Snownut 发表于 2022-7-5 23:48:03

不清楚您在寻找什么,因为没有REVIT。你能再解释一下吗。

ReMark 发表于 2022-7-5 23:57:12

我想象每次OP绘制直线或多段线时,他都希望AutoCAD自动假设它将在启用正交模式的情况下绘制。可以将其视为增强的直线和/或多段线命令。

marko_ribar 发表于 2022-7-6 00:12:09

将“orthomode”=1设置为acaddoc。lsp
 
M、 R。

Lee Mac 发表于 2022-7-6 00:14:57

将以下内容添加到您的acaddoc中。lsp:

(defun c:auto-ortho-on nil
   (if (= 'vlr-command-reactor (type auto-ortho:reactor))
       (if (not (vlr-added-p auto-ortho:reactor))
         (vlr-add auto-ortho:reactor)
       )
       (setq auto-ortho:reactor
         (vlr-command-reactor nil
            '(
                   (:vlr-commandwillstart . auto-ortho:callback)
                   (:vlr-commandended   . auto-ortho:restore)
                   (:vlr-commandcancelled . auto-ortho:restore)
                   (:vlr-commandfailed    . auto-ortho:restore)
               )
         )
       )
   )
   (princ "\nAuto-Ortho Reactor enabled.")
   (princ)
)
(defun c:auto-ortho-off nil
   (if (= 'vlr-command-reactor (type auto-ortho:reactor))
       (vlr-remove auto-ortho:reactor)
   )
   (setq auto-ortho:reactor nil)
   (princ "\nAuto-Ortho Reactor disabled.")
   (princ)
)
(defun auto-ortho:callback ( obj arg )
   (if (wcmatch (strcase (car arg) t) "line,pline")
       (progn
         (setq auto-ortho:ortho (getvar 'orthomode))
         (setvar 'orthomode 1)
       )
   )
   (princ)
)
(defun auto-ortho:restore ( obj arg )
   (if (= 'int (type auto-ortho:ortho))
       (setvar 'orthomode auto-ortho:ortho)
   )
   (setq auto-ortho:ortho nil)
   (princ)
)
(vl-load-com) (c:auto-ortho-on)反应堆默认启用;然后,您可以使用以下命令手动启用/禁用反应堆:auto ortho on&auto ortho off。
 
将为LINE和PLINE命令启用正交模式(触发反应堆的命令可根据需要定制)。
 

GP_ 发表于 2022-7-6 00:28:25

 
也许是“极地追踪”。
 
 
 
 
 
 
美好的

Lee Mac 发表于 2022-7-6 00:31:21

 
干杯Gian

tzframpton 发表于 2022-7-6 00:38:06

我认为自AutoCAD 2012以来,一旦启动命令(直线、复制、移动等)并拾取第一个点,请按住Shift键,一秒钟后,将临时启用正交,反之亦然。如果正交模式为1(启用),则将临时禁用正交。我在2013年和2014年进行了测试,这两种测试都有效。
页: [1]
查看完整版本: 自动正交需要lsp