李有什么不同吗
今天升级到verson 2010,我的lisp例程有问题。2010 lisp和2009 lisp之间有什么区别?
非常感谢。 发布lisp(如果可以的话)或至少发布lisp的功能可能会有所帮助,以了解使用了什么以及它现在可能是什么 如果它使用了(命令“function”,那么它可能会有问题。我知道一些函数得到了一些新的选项,从而改变了语法。
张贴,我们会给他们看一看。
默认例程在很大程度上是相同的,除了一些我从未听说过的旧例程。但是,如果您有自己的lisp例程,根据编写方式的不同,您可能需要重新编写其中的一部分才能使用2010。例如,我自己的例程在2010年运行良好,但当我第一次切换时,我的公司例程目录必须进行修订,以适应2010年。现在效果很好tho。 从2004年起,我将LISP升级到2010年没有问题,但我的LISP中很少使用“(命令…”所以他们不会受到(太多)影响。
您可以使用以下方法解决提示问题:
(initcommandversion )
要遵循的最佳实践(当被迫使用命令时)是把一切都说清楚。
代替:(命令“_.fillet”“\u r”)
try:(命令“_.fillet”“\u radius”) 出于某种原因,2010年不会加载此例程,2009年将加载它。
;调用帮助菜单并
;ED的文本对话框。
(defun showart(/dcl\u id)
(setq dcl\U id(加载对话框“hello.dcl”))
(if(not(new\u dialog“hello”dcl\u id))
(退出)
(action_tile)
“接受”
“(完成对话框0)”
(start_对话框)
(unload\u对话框dcl\u id)
)
(defun c:showtext(/dcl\u id)
(showtext)
)
(defun showtext(/dcl\u id)
;(setq scpt(列表0 0));在屏幕点上工作
(setq dcl\U id(加载对话框“acad.dcl”))
;(setq dcl_loc(列表2 380));将箱子放在左下位置
;(如果(不是(新建对话框“acad\U txtedit”dcl\U id))
;(如果(不是edredia)(加载“edredia”);对话定位1999年5月5日,看这里
(setq dcl\u loc nil)
;***
;读取到输出到文件
(setq路径文件“c:/PGCAD/EDDIALOG.txt”);文件读取名称表单
(setq flistack nil)
(如果(/=pathfile nil)
;(setq b nil fabsnt nil)
(setq b(打开路径文件“r”))
;(如果(=b nil)(setq fabsnt“true”))
)
;***
(如果(/=b nil)(edredia))
(如果(=b nil)
(setq dcl_loc(列表2 100));将箱子放在左下位置
(setq dcl_loc(list xpostion ypostion));将箱子放在左下位置
);如果结束
;(setq fabsnt nil)
(如果(/=b nil)
(程序
(关闭b)
(setq b nil)
))
;(setq dcl_loc(列表2 450));将箱子放在左下位置
(如果(不是(新建对话框“acad\u txtedit”dcl\u id“”dcl\u loc))
(退出)
;(setq文本“kelly”)
(set\u tile“text\u edit”text)
;(m3)
(action_tile)
“text\u edit”“(setq text$value)”)
(start_对话框)
(unload\u对话框dcl\u id)
;(setq txt text)(setq text nil)
)
;(defun set\u action\u标题()
; (action_title“true”“(setq text$value)”)
;(操作标题“接受”“(完成对话框)”)
; (action\u title“cancel”“(done\u dialog)”)
(定义c:段落(/dcl\U id)
(setq dcl\U id(加载对话框“paragh.dcl”))
(如果(不是(新建对话框“段落”dcl\U id))
(退出)
;(setq文本“kelly”)
(set\u tile“text\u edit”text)
;(m3)
(action_tile)
“text\u part”“(setq text$value)”)
(start_对话框)
(unload\u对话框dcl\u id)
;(setq txt text)(setq text nil)
)
;菲利里德。lsp 01/98
;读取文件并将行打印为字符串
;必须键入带路径的完整文件名。
;命令Filired
;为其他程序制作flistack
;****
;菲利里德。lsp 01/98
;读取文件并将行打印为字符串
;必须键入带路径的完整文件名。
;命令Filired
;为其他程序制作flistack
(DEFUN C:edMedia()
;(setq pathfile(getstring“键入文件名,包括路径,例如c:/file.txt等:”))
(eMedia)
;(setq pathfile nil)
)
(DEFUN edmedia()
(setq lineinfo(读取b行))
(setq flistack(append flistack(list lineinfo)))
;(打印行)
;查找第一个空格字符“”的位置
;结果是charpost变量。
;变量txtstrg是测试变量。
;1999年4月,drh发布
;***
(setq txtst_g lineinfo)
(setq totalchr(strlen txtst_g))
(setq charpos 1)
(setq t\u f“true”)
(当t\u f
(if(=charpos totalchr)(setq t\u f nil))
(setq ch\U r(substr txtst\U g charpos 1))
(如果(=Chu r“,”)
(程序
(setq charpost charpos)
(setq t\u f nil)
))
(setq charpos(+charpos 1))
);结束时
;***
;(关闭b)
(打印行信息)
(打印字符)
(setq Xposition nil Yposition nil)
(setq xposition(substr lineinfo 1(-charpost 1)))
(setq ypostion(substr lineinfo(+charpost 1)))
(打印位置)
(打印位置)
(setq Xposition(atoi Xposition))
(setq位置(atoi位置))
);结束
;**** 我不得不收回AutoCAD 2010将加载该例程,但我的dcl文本框
不会出现在我的日常生活中。如果您在上述代码中看到任何可能
如果有问题,请告诉我。我的Lisp程序了。
非常感谢。 在命令行中尝试以下操作:
(findfile "paragh.dcl")
如果返回nil,请确保支持路径中有该文件,然后重试LISP。 有一天我会试试的。我知道lisp例程在单机版上运行良好
但它在2010年的网络版本上有问题。网络verson有很多
它上面的垃圾使它变慢。你知道,像缎带之类的东西。
我会给出完整的例程,但我记不起哪些文件是同时出现的
完成例行程序。我只是做了一个支持访问目录来涵盖所有
我的日常生活。我认为上述例行程序是一个问题,因为dcl不来了
向上的它在单机版上工作让我感到困惑。
页:
[1]
2