broncos15 发表于 2022-7-5 18:36:46

使用从调用Lisp例程

我有一个关于从我正在创建的另一个lisp中调用lisp例程的问题。通过搜索论坛,我知道我可以使用(c:lisproutinename)或者通过查看Lee Mac的lisp例程,使用defun LM。我的困难是让我的lisp例程运行另一个lisp例程,并填写用户通常需要填写的内容。我正在尝试创建一个更干净的命令,其中一部分会将所有块内部组件设置为第0层。使用之前制作的lisp例程将块内部组件设置为层0,我创建了以下内容,但它工作不正常,我知道这与我调用lisp的方式有关:
(setq sel5 (ssget "X" '((0 . "BLOCK"))))
(c:blockchangeentitiestolayer0 sel5 "")

satishrajdev 发表于 2022-7-5 18:40:18

在这里发布你想要使用的例程。。。所以可以检查它的变量。

试试这个
(command "blockchangeentitiestolayer0" sel5 "")

broncos15 发表于 2022-7-5 18:43:50

使用命令函数的问题是,它不适用于lisp例程。如果我在启动新的lisp例程之前,将块更改为第0层的代码作为例程包含在内,那么命令功能可以工作吗?

Tharwat 发表于 2022-7-5 18:46:52

当您的程序带有前缀C:时,这意味着该程序将在没有任何参数的情况下运行,并且它是独立程序。但是,当需要提供任何参数时,应该不使用前面提到的前缀C来调用它:就像这样(blockchangeentitiestolayer0 sel5“”)。

satishrajdev 发表于 2022-7-5 18:52:01

 
我真的没有意识到。。。
 
thankx Tharwat公司

Tharwat 发表于 2022-7-5 18:54:40

 
不客气,萨蒂什。

broncos15 发表于 2022-7-5 18:57:45

这真的很有用。谢谢你提供的信息!

Tharwat 发表于 2022-7-5 19:00:39

不客气。
 
你到底有没有按常规工作?

broncos15 发表于 2022-7-5 19:04:22

 
 
所以我实际上把它添加到了我的代码中,我得到了一个错误:没有函数定义:BLOCKCHANGEENTITIESTOLAYER0。我检查了我加载的其他几个lisp例程,它们在按您所说的方式调用时都有这个错误。顺便说一句,非常感谢你的帮助!

Tharwat 发表于 2022-7-5 19:07:38

你能发布代码或者至少是代码的第一部分吗?
页: [1] 2
查看完整版本: 使用从调用Lisp例程