不幸的是,正在删除文件、文件夹和程序。。。临时文件夹中的etc不是AutoCAD要处理的任务,也不是操作系统要处理的任务,因此需要用户的干预。 我在发布代码时被发现过几次,我将vl文件名mktemp更改为硬编码的文件名和目录,在此之前,我有大约150个文件放在那里,看着它不断增长,这里的一些其他人从未清理过他们的c:“temp”目录,其中一个有大约500个文件。 现在这是一个问题,我再也没有了,因为我工作的公司显然提出了一项新政策,每天早上我的电脑启动时都会擦去所有东西,因此每天我的工具栏都会从我的visual lisp编辑器中消失,我写入savefilepath文件夹的设置也会消失。我甚至怀疑有人在竞相屏蔽尽可能多的设置,所以windows 10中所有可以屏蔽的(个人)设置都被屏蔽了。。。
谢谢,我想这需要大量的写作/练习才能达到一个不错的水平。
你不需要道歉,Rlx-这只是你理解代码的方式。
你的工作给我留下了深刻的印象,这让我好奇,并激励我根据自己的理解重新编写代码。
对我来说,将相同的变量传递给不同的子函数,并将作为一个整体程序的相同子函数连接在一起,这非常令人困惑。
所以我试着遵循Michael Puckett的写作风格,在那里你首先声明了处理输入并返回一些东西所需的子函数。
然后你只需要运行整个程序。。即。:
(defun test ( / foo1 foo2 foo3 *error* r ) ; Localise our required subfunctions that help out with the overall performance
(defun foo1 ( input1 ) ; subfunction on-the-fly
... ; say if point is provided, prompt for a selection and return it, else nil
)
(defun foo2 ( input2 ) ; subfunction on-the-fly
... ; say if a SS is provided, prompt to be filtered by Layer, using dialog with listbox, return list of enames, else nil
)
(defun foo3 ( input3 ) ; subfunction on-the-fly
... ; say if a list of enames is provided, erase them - this is the last evaluation and I don't care what it returns
)
(defun *error* (m) ...) ; I use the *error* function as a separator between my on-the-fly subfuns and the main program
(and ; Main Program - nice and clean: only one variable is processed by 3 different subfunctions
(setq r (getpoint)) ; r = nil ? -> stop evaluating
(setq r (foo1 r)) ; r = nil ? -> stop evaluating
(setq r (foo2 r)) ; r = nil ? -> stop evaluating
(setq r (foo3 r)) ; r = nil ? -> doesn't matter, we're done
); and
); defun test
(defun foo4 ( input ) ; subfunction that is used more globally - i.e. its required in (foo2) and (foo3)
...
); defun foo4
此外,我还尝试使用一种合适的代码格式,这样每个计算都可以很容易地被同化,但这有时会花费太多的行
(只需检查并比较Marko_Ribar和Lee Mac之间的任何大/中代码——一个更喜欢长的一行,另一个写着12行相同的求值)。
我指的是格式风格,因为我不会像你那样编写1-2行的临时dcl代码——只是不是我的写作类型。
谢谢分享,有空的时候我会查的。 哦,老兄,这是一个丰富的经验!
是的,我也是-我做的一个结论是避免代码内部重复,这意味着要做很多列表操作。
我也是,但我最终得到了相同微小子功能的不同变体,只是因为我找不到其中的一个。lsp例程我已经用过了(所以我可以直接从那里复制)。
下次我会比以前更有条理。 我总是以一种有组织的方式开始,但当我完成的时候,我通常会得到很多补丁和肮脏的修复。
为了给大家留下编码风格改变的印象,或者至少是我的尝试,这就是我目前正在做的工作:
rpl。lsp
Rpl。dcl
RLX批次。lsp
页:
1
[2]