Spinxy 发表于 2022-7-7 00:51:00

半自动Rev云使用

你好
我有我的自动Rev Cloud,带有Rev Triangle和一个retang框,现在我正在使用多段线制作一个。但是,我不确定如何处理用户定义的输入,因为用户输入的数量未知。
 
^C ^ Ctilemode;0;(setq a(getvar“clayer”)-层M修订PL\\\\\\\C;revcloud;弧10;10;ob;l、 -插入“Rev_Tri.dwg”\1.1.0;(setvar“clayer”a)
 
到目前为止,我有PL\\\\\\\C;
 
然而,这是在第7次单击后关闭pl,在那里它可能迟早需要关闭,但我不确定如何在宏中写入此变量。
 
有人有什么想法吗?

BIGAL 发表于 2022-7-7 01:13:14

也许绘制pline首先完成命令任何层,然后将其层更改为revision并使其成为revcloud。将“L”更改为最后一个
 
代码变得很长,也许是时候将其更改为^c^c(加载“plinerev”)?你已经在使用lisp了!
 
pline中的任意点数。
 
为什么不只是一个例程,然后执行P、B或X?你可以通过菜单、工具栏或速记来实现。你可以把P或B传递给程序,这样它就不会发出请求。(setq ans“B”)如果ans“”要求p或B

Spinxy 发表于 2022-7-7 01:23:09

嘿Bigal,
 
为回应干杯,
我很高兴学习lisp,但是我只想慢慢地学习正确的程序。
我认为lisp文件将被命名为plinerev。lsp
我必须在我的支持路径中指定它存储的文件夹吗?还是应该将这些文件添加到autocad支持目录?
我每次都要加载lisp吗?或者将其添加到我的创业套件中?或者有其他加载方式吗?
如果您或任何人能将我的宏放入lisp文件(列出应如何编写lisp文件)中,我将不胜感激,以便我可以将其作为起点。
 
你的P或B或X评论让我有点不知所措,如果你能向我解释一下,那就太好了。
很抱歉,我对写lisp不太熟悉,但很想学习。
 
谢谢

BIGAL 发表于 2022-7-7 01:29:11

对于要转换的内容,可以选择P B X多段线框或其他内容。
 
代码作为开始
 

(defun C:plrev ()
(load "plrev")
)


 
把它保存在阿卡多克。lsp然后保存plrev。lsp在您的搜索路径中的一个目录中,我们在服务器上的\autocad\lisps中有我们的LISP。
第二步,plrev的一些代码未经测试,但已启动。
 

(setvar "tilemode" 0)
(setq clay (getvar "clayer"))
(princ "\nselect polyline")
(command "-layer" "M" "Revision" "" "" )
(command "revcloud" "arc" 10 10 ob)
(command "-Insert" "Rev_Tri.dwg" 1 1 0)
(setvar "clayer" clay)

 
键入plrev启动,明天将对其进行测试

Spinxy 发表于 2022-7-7 01:41:18

干杯太好了,
我在哪里可以找到阿卡多克。lsp文件?
我正在运行2008年和2010年的文件,我找到的是acad2008doc。lsp和acad2010doc。lsp
我应该把文本放在那个文件的什么地方?这有关系吗?
干杯

BIGAL 发表于 2022-7-7 01:59:33

有多个文件可用于我们使用autoload的autostart ups。lsp工作正常,更新不会影响它,它只是通过“配置”中的“支持文件”路径设置定位。也是acad。mnl acad。lsp?
 
没有完成需要找些时间
;(setvar "tilemode" 0)
(command "-layer" "M" "Revision" "" )
(initget 1 "P p R r e E ")   ; 1 is must answer
(setq ans(getkword "Please enter option Polyline Rectang Existing <P R E>"))
(setq clay (getvar "clayer"))
(cond
   ((= ans "p") (princ "p")
   ; draw pline
   ;(setq obj (entlast))
   )
( (= ans "b")
(setq pt1 (getpoint "\1st corner pt of box"))
(setq pt2 (getpoint pt1 "\2nd corner pt of box")); pt1 draws a temporary line
(command "rectang" pt1 pt2); draw box
(setq obj (entlast))
)
((= ans "e")
(setq obj (entsel "\nselect object"))
)
) ;end cond
; existing object
(setvar "clayer" "Revision")
(command "revcloud" "arc" 10 10 ob obj "n")
(command "-Insert" "Rev_Tri.dwg" 1 1 0)
(setvar "clayer" clay)
页: [1]
查看完整版本: 半自动Rev云使用