明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2886|回复: 9

[求助]请问如何在VBA中引用VLISP的VLAX扩展函数?

[复制链接]
发表于 2003-7-22 13:49:00 | 显示全部楼层 |阅读模式
VLAX扩展函数提供了一些VBA对象和属性不能实现的功能,如何引用VLAX以加强VBA的功能?
发表于 2003-7-22 23:41:00 | 显示全部楼层
用vlax类模块
 楼主| 发表于 2003-7-23 13:34:00 | 显示全部楼层

谢谢,但还求一个例程以加深理解。

谢谢,我已下载了这个类模块,但还求斑竹给一个例程以加深理解。例如求
曲线某点到起点的长度。也求教于网上各位大虾!
发表于 2003-7-23 18:45:00 | 显示全部楼层
如以下函数:
[WEB]http://www.mjtd.com/function/list.asp?id=309&ordertype=byletter[/WEB]
[WEB]http://www.mjtd.com/function/list.asp?id=308&ordertype=byletter[/WEB]
发表于 2003-7-24 08:52:00 | 显示全部楼层
使用vlax类时遇到点麻烦,用vlax无发读出点坐标,可能是类型的问题吧?
如要取得line的起点和终点,用vba的属性比较简单。用vlax我用了下列语句÷
Dim line1 As AcadLine
dim point as  Variant
point1=GetDXFCodeValue(line1,10)
出错,请教何故?
 楼主| 发表于 2003-7-25 09:34:00 | 显示全部楼层

多谢斑竹,还有一些问题

多谢斑竹的热心指教,受益非浅。
尚有一些问题请斑竹百忙中看一下:
1、使用楼上的函数时,总是在SET OBJ=NEW VLAX处中断,提示“在装载应用程序时出现问题”,若是先在命令行运行(VL-LOAD-COM)则程序可调试通过。后来我在此句前加入一句Thisdrawing.Sendcommand("(VL-LOAD-COM)")。问题解决!
2、但以上方法只在R2002中通过,在R2004中问题依旧。奇怪的是,以前我用VLAX函数编的一些LISP程序在R2004中运行提很好。是不是“VL.Application.1"版本的问题?
3、我在本站下载的ACADX库,也是在R2002中可行而在R2004中不能用。
4、以下是我对楼上函数中某些代码的理解,是否适当请指教。
     .EvalLispExpression  执行字符串中的LISP代码
    .SetLISPSymbol       将VBA变量的值传递给LISP变量
     .getLISPSymbol       将LISP变量的值传递给VBA变量
     .NullifySymbol          释放LISP变量
 楼主| 发表于 2003-7-25 09:47:00 | 显示全部楼层
对不起,我的电脑有点问题,又重复发贴了。
发表于 2003-7-28 18:21:00 | 显示全部楼层
我仍然无法用vlax取得点的坐标
不知那里出错,此问题已困惑了我
很长时间,请斑竹赐教
发表于 2003-7-28 19:38:00 | 显示全部楼层
X坐标用:
    retVal = obj.EvalLispExpression("(cadr (assoc " & gCode & " (entget(handent " & _
                                     Chr(34) & ent.Handle & Chr(34) & "))))")
Y坐标用:
    retVal = obj.EvalLispExpression("(caddr (assoc " & gCode & " (entget(handent " & _
                                     Chr(34) & ent.Handle & Chr(34) & "))))")
Z坐标用:
    retVal = obj.EvalLispExpression("(cadddr (assoc " & gCode & " (entget(handent " & _
                                     Chr(34) & ent.Handle & Chr(34) & "))))")
发表于 2003-7-29 18:42:00 | 显示全部楼层
谢谢斑竹
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-9-29 06:36 , Processed in 0.149204 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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