明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: mccad

VLAX类及曲线操作

  [复制链接]
发表于 2004-5-19 12:12:00 | 显示全部楼层
我搞了好几天了,错误老是出现在这里: Set ObjCurve.Entity = ent
Dim Dist As Double
Dist = ObjCurve.GetDistanceAtPoint(Pnt)
下面是错误的贴图 e:\1.bmp 请斑竹指教,谢谢了。
 楼主| 发表于 2004-5-22 22:09:00 | 显示全部楼层
把完整的代码贴出来。
另外你的贴图方法不对,你的图形在其它人的计算机中显示不出来。必须做上传才行。
发表于 2004-5-23 11:21:00 | 显示全部楼层
我用的是这个文件,详见附件


附上贴图

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2004-5-26 15:39:00 | 显示全部楼层
[求助]请教版主,在VBA中的“IDE”在哪呀,能不能具体的教教,如何用VLAX类?谢谢了
能不能具体的教教,如何用VLAX类?谢谢了
出现如下错误 :
“实时错误-2147220999 (800401f9)”选择调试后停在类库:
Private Sub Class_Initialize() Set VL = ThisDrawing.Application.GetInterfaceObject("VL.Application.16")
Set VLF = VL.ActiveDocument.Functions End Sub
的第一行。请问如何解决,麻烦了! Private Sub Class_Initialize() If Left(ThisDrawing.Application.Version, 2) = "15" Then
Set VL = ThisDrawing.Application.GetInterfaceObject("VL.Application.1")
ElseIf Left(ThisDrawing.Application.Version, 2) = "16" Then
Set VL = ThisDrawing.Application.GetInterfaceObject("VL.Application.16")
End If
Set VLF = VL.ActiveDocument.Functions End Sub 能不能帮我解释这段程序!!
发表于 2004-5-26 18:03:00 | 显示全部楼层
VL.Application.1是Vlisp在AutoCad2002的版本


VL.Application.16是Vlisp在AutoCad2004和AutoCad2005的版本
发表于 2004-5-26 22:32:00 | 显示全部楼层
哎,我看到论坛里面好多vlax的代码,就是一个都没有调试的出来,vlax简直无法逾越,不指导哪位高手有成功的代码,能不能发给我。nt_jie@hotmail.ocm
发表于 2004-5-26 22:37:00 | 显示全部楼层
我也觉的是.希望彼此讨论. 调试的时候为什么运行完Set VL = ThisDrawing.Application.GetInterfaceObject("VL.Application.16")出现加载应用程序错误--------------------我用的是AUTOCAD2004
发表于 2004-6-10 20:00:00 | 显示全部楼层
请教:我将此两类模块加入到我的工程中后在ACAD2005上运行正常,但将该工程直接放到ACAD2004上后却出现了"不可识别的对象(Curve)"错误,却是为何?(我是直接取名为"ACAD.DVB"拖入到ACAD2004的SUPPORT文件夹的--当然,我在建立该工程时也是将该工程存放在ACAD2005的SUPPORT文件夹)
发表于 2004-6-10 20:12:00 | 显示全部楼层
rscenter发表于2004-4-14 16:10:00也就是说:前面的代码不要了,包括:VERSION 1.0 CLASSBEGIN   MultiUse = -1   'TrueEndAttribute VB_Name = \"VLAX\"
  1. 我在ACAD2005上顺利通过,而放到ACAD2004上时以下这句
复制代码
  1. Set ObjCurve = New Curve
复制代码
  1. 却出现了错误,请指正!
复制代码
发表于 2004-6-10 20:25:00 | 显示全部楼层
楼主:这段代码第二行Dim定义掉了一个变量,估计是i Public Property Get EndPoint() As Variant Dim retval As Variant, pt(0 To 2) As Double
dim As Long

With objVLAX
.SetLispSymbol "handle", mvarEntity.Handle
.EvalLispExpression "(setq lst (vlax-curve-getEndPoint (handent handle)))"
retval = .GetLispList("lst")
.NullifySymbol "handle", "lst"
End With

For i = 0 To 2
pt(i) = retval(i)
Next

EndPoint = pt End Property
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-12-26 08:55 , Processed in 0.177063 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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