Vsual lisp 程序设计
陈老师,为何你《Vsual lisp 程序设计--技巧和范例》书中的很多lisp程序没办法运行? 应该不会吧,我手上没有,不过这里很多人都有,都没人说过这个问题啊。你举个例子看看,或许我能给你解答一下原因。。。陈老师现在不一定来这里。。。 是的,我看了个也不能运行 有没有装入(vl-load-com)?
扩展函数要先装它才可以运行的。 也不知是什么原因?
(Defun C:T4915 ()
(SetQ listl '(("A" 10)("B" 20)("C" 30)("D" 40)("E" 50)("F" 60)
("G" 70)("H" 80)("I" 90)("J" 100)
)
)
(New_Dialog "T4915" (Load_Dialog "4915"))
(Start_List "listb")
(ForEach v listl (Add_List (Car v)))
(End_List)
(Action_Tile "listb"
(StrCat "(SetQ n $Value)"
"(If (= 4 $Reason) (Done_Dialog 1))"
)
)
(If (= 1 (Start_Dialog))
(CPrint (List "\n所选值是:" (Nth (Read n) listl)))
(PrinC "\nCancel")
)
(PrinC)
)
对话框程序如下:
T4915 : dialog
{ label = "Test 6-2";
: list_box { key = "listb"; height = 6; }
ok_cancel;
} 这里有一个cprint函数,我估计应该不是笔误,因为如果笔误,则为print,返回结果是:
("\n所选值是:" ("D" 40))
这种效果应该不是想要的。
所以我觉得这可能是他自定义的函数,你在书中找找看,有没有cprint函数的定义,有就必须加载它才可以的。。。 要是你有小心看書的話,書中有要求你程序運行前要加載tools.lsp & 使用某個mnu(書在家裡可能有誤)
;|
Tools.LSP 是一個與 AutoCAD 配套的工具集,
與之配套的支持文件有:Tools.DCL Tools.SLB Tools.DWG,
這個程序集是一個工具集、也是一個應用開發實例程序集,其中的程序設計方法可能比程
序本身的功能更有意思,給你介紹一些可能有用的應用開發技巧,才是作者的主要目的。
各個函數的功能見最後的 C:Tools 函數中的變量 FL 中的內容。
請注意:這個程序應當在AutoCAD 2000/2000i/2002 中,
要用 1024x768 256色或更高的顯示分辨率設置才能正常運行,否則會出現錯誤或顯示效果很差。
陳伯雄
|;
;; --------------------------------------------------------------------------- 呵呵,果然,看书不仔细! 谢谢,是我不好。 我公司的电脑只能跟帖,不能发帖真痛苦。我还有个问题:
有没有人有把属性块(很多个属性)的dxf的代码提取出来,并附值到一个变量上的程序?
也就是说让一个变量,记载某个属性块所有属性的dxf信息?应该有这样的工具,
能不能提供一个,谢谢。
页:
[1]
2