明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2254|回复: 7

有些程序,以前能用的,现在却不能用了,为什么啊

[复制链接]
发表于 2005-6-3 14:50:00 | 显示全部楼层 |阅读模式
下面这个等分并自动断开的程序,以前一直能用的,现在用却提示错误(我没换cad,一直用2002) 命令: df
选择多义线: ; 错误: no function definition: VLAX-ENAME->VLA-OBJECT
命令: (defun c:df(/ obj piece plen ptlst dis npt)
(setq obj (vlax-ename->vla-object (setq en (car (entsel "\n选择多义线: "))))
piece (getint "\n分段数: ")
plen
(vlax-curve-getdistatpoint obj (vlax-curve-getendpoint obj))
;;; ptlst
;;; (list (vlax-curve-getstartpoint obj))
dis
0
)
(repeat (1- piece)
(setq dis (+ dis (/ plen piece))
npt (vlax-curve-getpointatdist obj dis)
ptlst (cons npt ptlst)
)
)
;;; (setq ptlst (reverse (cons (vlax-curve-getendpoint obj) ptlst)))
(foreach pt ptlst
(vl-cmdf "break" (list en pt) pt)
)
;;; ptlst
(princ)
)
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2005-6-3 15:29:00 | 显示全部楼层
Don't forget (vl-load-com)
 楼主| 发表于 2005-6-3 18:40:00 | 显示全部楼层
vl-load-com 什么意思啊


是不是要编译成vlx才能用啊,我试了下,果然编译了可以,那能改成不编译也能用吗?
发表于 2005-6-4 16:50:00 | 显示全部楼层
把(vl-load-com)加在程序的第二行就可以用了,因为你程序中用到VLISP的扩展函数,所以要加载(vl-load-com),否则会提示出错:找不到函数.
发表于 2005-6-4 17:52:00 | 显示全部楼层
我也遇到了这种情况,也刚好是今天早上发的贴,秋枫同志帮忙也用同样的方法把Vlax系列函数解决了!可还有一个Acet系列的没有解决,要运行哪个?假如是acet-ui-progress(显示进度的函数) acet-layerp-mode acet-layerp-mark acet-laytrans acet-ms-to-ps acet-ps-to-ms等等的这些函数,在Vlisp代码编辑框中全部变黑了,应该是蓝色的啊,刚刚学 关于ActiveX函数,这些就不懂了!快帮忙呀!
 楼主| 发表于 2005-6-4 20:03:00 | 显示全部楼层
谢谢4楼,解决了我好几个lsp的问题,多谢拉


另外还有没有什么类似(vl-load-com)的语句不添加会出现这情况
发表于 2005-6-4 21:23:00 | 显示全部楼层
建议将(vl-load-com)添加到acad.lsp中,这样就不用在每个程序中加这句话了。
 楼主| 发表于 2005-6-5 13:00:00 | 显示全部楼层
xyp1964发表于2005-6-4 21:23:00建议将(vl-load-com)添加到acad.lsp中,这样就不用在每个程序中加这句话了。

这方法好,一劳永逸
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-17 15:41 , Processed in 0.196433 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表