DRBJR45 发表于 2022-7-5 22:12:00

从pgp文件运行宏

夏威夷群岛
 
有没有办法使用键盘快捷键(acad.pgp)运行宏?如果可能的话,我想在PGP文件中添加以下内容。
 
我在DIMLINEAR命令按钮中添加了以下内容,它可以正常工作:
^C层;设置尺寸^C^C\U dimlinear\\\^C^C层;设置0;;^C^C
 
 
我发现这个比我为dimlinear按钮制作的更好:
^C^C_setenv;电流层$M=$(getvar,CLAYER);粘土工;Dim_dimlinear\\\
粘土工$M=“(getenv,CURRENTLAYER)”;
 
 
 
谢谢
DRBJR45

BIGAL 发表于 2022-7-5 22:18:27

它更容易使许多小lisp defuns和自动加载他们或把他们放在菜单或工具栏上。
 
; example appload this then type ddd
;^C^C-layer;Set;DIMENSIONS;;^C^C_dimlinear\\\\ ^C^C-layer;Set;0;;^C^C
(defun C:ddd ()
(setq oldlay(getvar "clayer"))
(setvar "clayer" "dimensions")
(command "_dimlinear" (getpoint) (getpoint)(getstring)(getpoint)) ;not tested
(setvar "clayer" oldlay)
)

DRBJR45 发表于 2022-7-5 22:23:19

谢谢
从来没有对lisp感兴趣,猜猜它的时间。由于某种原因,您的示例不起作用。启动dimlinear命令并更改图层,但仅此而已。我将以此为起点学习一些Lisp程序。。。。。。
 
再次感谢!
 
 
 
 
 

BIGAL 发表于 2022-7-5 22:30:52

这是带有提示的修订版
 
; example appload this then type ddd
;^C^C-layer;Set;DIMENSIONS;;^C^C_dimlinear\\\\ ^C^C-layer;Set;0;;^C^C
(defun C:ddd ( / pt1 pt2 pt3 ans)
(setq oldlay(getvar "clayer"))
(setvar "clayer" "dimensions")
(setq pt1 (getpoint "\npick 1st point"))
(setq pt2 (getpoint "\nPick 2nd point"))
(setq ans(getstring "\nEnter H V or A")) ; use initget here
(setq pt3 (getpoint "\nPick entension pt"))
(command "_dimlinear" pt pt2 ans pt3 ) ;not tested
(setvar "clayer" oldlay)
)

DRBJR45 发表于 2022-7-5 22:36:45

比加尔
 
我真的很感谢你的帮助。很抱歉让你知道我遇到了这个错误:
 
命令:appload DDD。LSP已成功加载。
DDD。LSP被添加到启动套件中。
DDD。LSP已成功加载。
 
 
命令:;错误:输入列表格式不正确
 
命令:
命令:;错误:输入列表格式不正确
 
命令:
命令:ddd未知命令“ddd”。按F1键获取帮助。
 
再次感谢
DRBJR45

hmsilva 发表于 2022-7-5 22:41:04

附加括号

(setq ans(getstring ("\nEnter H V or A"))

 
 
编辑:我建议这样做

(defun c:ddd (/ clay)
(setq clay (getvar 'CLAYER))
(setvar 'CLAYER "DIMENSIONS")
(command "_.dimlinear")
(while (> (getvar 'cmdactive) 0)
   (command "\\")
)
(setvar 'CLAYER clay)
(princ)
)

 
亨里克

DRBJR45 发表于 2022-7-5 22:45:00

亨里克,
 
工作完美!
我很兴奋能学习更多关于lisp的知识,这应该能帮助我开始学习。保重,谢谢。
 

hmsilva 发表于 2022-7-5 22:49:16

不客气,唐。
很高兴我能帮忙。
 
 
编辑:另一种将图层尺寸设置为当前的方法是使用命令“layer”,该命令允许我们将图层设置为当前,即使图层不存在,或者如果存在并被锁定、冻结或关闭,

如果层不存在,将提示“未找到匹配的层名称”但命令继续执行,并使图层“维度”成为当前图层。
 
亨里克

DRBJR45 发表于 2022-7-5 22:56:33

亨里克,
 
谢谢你的提示。。。。我发现了一些LISP初学者的网站。一些基础看起来很简单(著名的遗言!)

hmsilva 发表于 2022-7-5 22:58:20

 
大学教师,
你不必看得太远,试试这里@CADTutor
 
亨里克
页: [1] 2
查看完整版本: 从pgp文件运行宏