citykunan 发表于 2005-2-5 11:07:00

老问题遇到苦难:如何载r14中运行vlisp

如何载r14中运行vlisp,我加载VLARTS.ARX和VLRTS.ARX这两个文件后,还是不能运行vlisp程序,谁能指点一下,到底是运行什么arx文件,谢谢。






Ea 发表于 2005-2-5 12:41:00

加载后要进行初始化

citykunan 发表于 2005-2-5 13:31:00

如何初始化啊?谢谢。

Ea 发表于 2005-2-5 17:06:00

好像是 (vlarts-init) 和 (vlrts-init)<br>

citykunan 发表于 2005-2-6 09:19:00

好像还是不行吗,我加载着两个arx文件,再运行(vlarts-init) (vlrts-init),然后再执行(vl-load-com) 出现error: null function,是不是要初始化其他的命令?谢谢

Ea 发表于 2005-2-6 12:15:00

vl-load-com 是2000以上的函数,14 下没有。<br>
<br>
vlarts-init + vlrts-init = vl-load-com<br>
<br>
前者好像是 vla 类的初始化,后者好像是 vlr 类的初始化<br>

citykunan 发表于 2005-2-6 14:13:00

好像初始化后连运行vl-的程序都不行,是不是有很多vl-函数r14就算用了VLARTS.ARX和VLRTS.ARX也不能用啊?下面的程序就不能用


<P class=MsoNormal style="LINE-HEIGHT: 150%">(defun Example_Area()


<P class=MsoNormal style="LINE-HEIGHT: 150%">                (setq AcadObject(vlax-get-acad-object)


<P class=MsoNormal style="LINE-HEIGHT: 150%">                                                       AcadDocument(vla-get-ActiveDocument Acadobject)


<P class=MsoNormal style="LINE-HEIGHT: 150%">                                                       mSpace(vla-get-ModelSpace Acaddocument)


<P class=MsoNormal style="LINE-HEIGHT: 150%">       )


<P class=MsoNormal style="LINE-HEIGHT: 150%">;;; 定义圆


<P class=MsoNormal style="LINE-HEIGHT: 150%">       (setq centerPnt(vlax-make-safearray vlax-vbDouble '(0 . 2)))


<P class=MsoNormal style="LINE-HEIGHT: 150%">       (vlax-safearray-fill centerPnt '(0 0 0))


<P class=MsoNormal style="LINE-HEIGHT: 150%">       (setq radius 50)


<P class=MsoNormal style="LINE-HEIGHT: 150%">;;; <FONT size=3>在模型空间建立</FONT>圆


<P class=MsoNormal style="LINE-HEIGHT: 150%">       (setq circleObj(vla-AddCircle mSpace centerPnt radius))       


<P class=MsoNormal style="LINE-HEIGHT: 150%">       (vla-ZoomExtents AcadObject)


<P class=MsoNormal style="LINE-HEIGHT: 150%">;;; <FONT size=3>取得多段线的面积</FONT>


<P class=MsoNormal style="LINE-HEIGHT: 150%">       (setq currArea(vla-get-Area circleObj))


<P class=MsoNormal style="LINE-HEIGHT: 150%">       (princ "新的圆的面积当前是:")(princ currArea)(princ "       Area范例\n")


<P class=MsoNormal style="LINE-HEIGHT: 150%">       (PROMPT "&lt;Enter&gt;进行:")(VL-CMDF pause)


<P class=MsoNormal style="LINE-HEIGHT: 150%">;;;将圆的面积修改为100


<P class=MsoNormal style="LINE-HEIGHT: 150%">       (vla-put-Area circleObj 500)


<P class=MsoNormal style="LINE-HEIGHT: 150%">       (setq newArea(vla-get-Area circleObj))


<P class=MsoNormal style="LINE-HEIGHT: 150%">       (princ "新的圆的面积现在是:")(princ newArea)(princ "       Area范例")


<P class=MsoNormal style="LINE-HEIGHT: 150%">       (princ)


<P class=MsoNormal style="LINE-HEIGHT: 150%">)

Ea 发表于 2005-2-6 20:14:00

既然使用R14还是安装For14 的 Vlisp
编辑器吧,14和2000+以上比Vla-函数很多是不同的,不是简单几句能说清的。你的程序在14下的 vlisp
编辑器中很容易就可以看到那些是不支持的函数,另外 array 是2000+以上才引入的,14 下没有。<br>

citykunan 发表于 2005-2-10 14:40:00

好的,谢谢。祝明经的各位网友新年快乐,明经越办越好。

gashai 发表于 2005-3-11 16:57:00

ea:哪有For14 的 Vlisp啊?跪求!


email:gashai@163.com
页: [1] 2
查看完整版本: 老问题遇到苦难:如何载r14中运行vlisp