乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 197|回复: 9

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

[复制链接]

8

主题

19

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
51
发表于 2003-7-22 13:49:00 | 显示全部楼层 |阅读模式
VLAX扩展函数提供了一些VBA对象和属性不能实现的功能,如何引用VLAX以加强VBA的功能?
回复

使用道具 举报

158

主题

2315

帖子

10

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2951
发表于 2003-7-22 23:41:00 | 显示全部楼层
用vlax类模块
回复

使用道具 举报

8

主题

19

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
51
发表于 2003-7-23 13:34:00 | 显示全部楼层
谢谢,我已下载了这个类模块,但还求斑竹给一个例程以加深理解。例如求
曲线某点到起点的长度。也求教于网上各位大虾!
回复

使用道具 举报

158

主题

2315

帖子

10

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2951
发表于 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]
回复

使用道具 举报

15

主题

28

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
88
发表于 2003-7-24 08:52:00 | 显示全部楼层
使用vlax类时遇到点麻烦,用vlax无发读出点坐标,可能是类型的问题吧?
如要取得line的起点和终点,用vba的属性比较简单。用vlax我用了下列语句÷
Dim line1 As AcadLine
dim point as  Variant
point1=GetDXFCodeValue(line1,10)
出错,请教何故?
回复

使用道具 举报

8

主题

19

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
51
发表于 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变量
回复

使用道具 举报

8

主题

19

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
51
发表于 2003-7-25 09:47:00 | 显示全部楼层
对不起,我的电脑有点问题,又重复发贴了。
回复

使用道具 举报

15

主题

28

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
88
发表于 2003-7-28 18:21:00 | 显示全部楼层
我仍然无法用vlax取得点的坐标
不知那里出错,此问题已困惑了我
很长时间,请斑竹赐教
回复

使用道具 举报

158

主题

2315

帖子

10

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2951
发表于 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) & "))))")
回复

使用道具 举报

15

主题

28

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
88
发表于 2003-7-29 18:42:00 | 显示全部楼层
谢谢斑竹
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-13 19:55 , Processed in 0.989138 second(s), 72 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表