Mike55 发表于 2022-7-5 23:33:58

口齿不清。fas公司

我有30个lisp例程,我一直在使用,所以我把它全部放在一个大例程中,它运行得很好。现在我想把它从。lsp到。我使用vlide来更改它,但30个中有6个不允许我更改为。我得到的只是这个;错误:参数太多:(WHILE(=PICK“3”)(命令)。插入“ttv\u 3”0,0…)(命令“.zoom”“0,0”“50,50”)…);编译中止:发现致命错误。
 
 
然后我试着在vlide中调试它,我得到的只是回调项?我能做什么?
 
 
谢谢你,迈克

ymg3 发表于 2022-7-5 23:38:49

麦克风55,
 
张贴冒犯性的例行公事。一定是出了什么问题。
 
ymg公司

prodromosm 发表于 2022-7-5 23:43:32

我使用此lisp将lisp转换为fas
 

;;LSP2FAS.lsp                                    ; Scot Harris11-29-2012
;;   Minimizes the sequence needed to create FAS files.
;;   Help facility added.
;;   Streamlined from original program provided by aqdam1978.

(defun c:LSP2FAS-Help (/)
(alert (strcat
"\tLisp (LSP) to Fast and Secure (FAS) Help"
"\n "
"\nFile dialog begins in the current directory.   "
"\nIt is suggested to place and open a drawing (DWG)   "
"\ninside the input folder you wish to batch process.   "
"\n "
"\nOutput file will be in the same folder as the file selected.   "
"\n "
"\nThere is no provisional check for an existing FAS file of the same name.   "
))
);end LSP2FAS-Help

(defun c:LSP2FAS ( / a )
(vl-load-com)
(prompt " Lisp to Fast and Secure (FAS). LSP2FAS-Help available. ")
(if (wcmatch (strcase (setq a (getfiled "Convert LSP File to FAS" (getvar "DWGPREFIX") "" 16))) "*.LSP")
(progn
(c:vlide)(vlisp-compile 'st a)
(princ (strcat "\n File " (vl-string-subst ".fas" ".lsp" a) " created. "))
);progn
(alert "File extension must be \".LSP\"   ")
);if
(princ)
);end LSP2FAS

SLW210 发表于 2022-7-5 23:49:19

请阅读代码发布指南并编辑您的帖子,将代码包含在代码标签中。

Mike55 发表于 2022-7-5 23:51:18

当出现“\n选择一个数字1-35并点击回车”)时,输入3
当出现“\n输入T尺寸4-3/8英寸及以上{A}:”)时,输入6或>
 
这是令人讨厌的例行公事。如果你能把这个放到一个。fas让我知道你是如何一步一步地到达那里的,这样我就可以修复其他5个?
谢谢你,迈克

Mike55 发表于 2022-7-5 23:57:39

我从我的代码中复制了文本并粘贴进去,高亮显示代码并单击“代码”按钮,它看起来还是一样吗?先键入代码?
 
当出现“\n选择一个数字1-35并点击回车”)时,输入3
当出现“\n输入T尺寸4-3/8英寸及以上{A}:”)时,输入6或>
 
 
 
 
 
 
 
这是令人讨厌的例行公事。如果你能把这个放到一个。fas让我知道你是如何一步一步地到达那里的,这样我就可以修复其他5个?
谢谢你,迈克
两天。图纸
ttv_3。图纸

ymg3 发表于 2022-7-6 00:01:36

麦克风55,
 
如果您不能遵守张贴指南并包含代码标签,
我不明白我们为什么要花时间帮助你。
 
看看你贴的那些笑脸!,我们不能用这些废话。
 
也许上传Lisp程序。
 
ymg公司

rkmcswain 发表于 2022-7-6 00:04:11

 
我把你的代码粘贴到VLIDE中,运行“工具>在编辑器中检查文本”,得到了这个
 


.....
; error: too many arguments: (WHILE (= PICK "3") (COMMAND ".insert" "ttv_3" "0,0" ... ) (COMMAND ".zoom" "0,0" "50,50") ... )
; Check done.

 
如果将右括号上移几行,则其结果为ok。
我想知道你是否在(while)支持的论点数量上遇到了一些限制。
许多年前,这里讨论过这个问题,至少是因为它与列表的长度有关。
http://forums.autodesk.com/t5/AutoCAD-2000-2000i-2002-DWG/AutoLISP-List-Limits/td-p/229820
 
我只是尝试了这样一个简单的函数,当参数数达到255时,它就失败了。
 

(while (= 3 3)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1)
(setq a 1))

ymg3 发表于 2022-7-6 00:08:23

麦克风55,
 
R、 K关于错误的看法是正确的:参数太多:
 
如果用以下语法替换代码中的多个setq:
 

(setq a "abc"
   b "def"
   c "ghi"
      etc....
)

 
你的while循环现在适合了。
 
我在附件中做了一些,现在错误消失了。
456.LSP

ymg3 发表于 2022-7-6 00:16:26

麦克风55,
 
 
总而言之!
 
很高兴我们能提供帮助,但优点在于R.K.McSwain
 
ymg公司
页: [1] 2
查看完整版本: Lisp程序。fas公司