[求助]VB与R14的问题
vb中怎么引用AUTOCAD R14的类库啊?在AUTOCAD 2005环境中开发出来的应用程序在R14中运行不了啊
我该怎么配制,转移环境啊?
再此请教啊!:) 后期绑定,不引用类型库,所有对象声明为Object 后期怎么绑定啊?还是不大明白。
就把所有对象声明为Object就可以了吗? 我还是想请教一下,用vb在R 14的环境下开发CAD和在2005的环境在一样吗?
现在在2005下开发的怎么转到R14下依然能用?急啊~~~
谢谢了!:) R14是单文档,2005是多文档,新建文件时会有不同,其他的应该差不多,
一定要不引用类型库,在GetObject或CreateObject时把版本号附上
比如2005是AutoCad.Application.16
R14是AutoCad.Application.14?(忘了,先试试吧) 谢谢斑竹。
连接R 14没有问题。连上了。但是打不开文件啊?
在2005中我是这样写的:
Dim acadapp As Object '建立Application对象<BR>Dim acaddocs As Object '建立Document对象<BR>On Error Resume Next
Set acadapp = GetObject(, "autocad.application.14") '若AutoCad已启动 , 则直接得到<BR>If Err Then<BR> Err.Clear<BR> Set acadapp = CreateObject("autocad.application.14") '若AutoCad未启动,则运行它<BR> If Err Then<BR> MsgBox Err.Description<BR> Exit Function<BR> End If<BR>End If<BR>MsgBox "Now running " + acadapp.Name + " version " + acadapp.Version<BR>Set acaddocs = acadapp.Documents '设acaddocs为当前图形文件
<BR>Dim dwgname As String<BR>dwgname = "C:\temp\temp.dwg"
If Dir(dwgname) <> "" Then<BR> acaddocs.Open (dwgname) '打开一个CAD文件<BR> MsgBox "有文件"<BR> acadapp.Visible = True <BR> Dim temp() As String<BR> Dim signer As String<BR> Dim time As String<BR> <BR> Dim insPoint(0 To 2) As Double '定义插入点<BR> Dim textHeight As Double '定义文本高度<BR> Dim textStr As String '定义文本字符<BR> Dim textObj As Object '定义文本对象<BR> <BR> insPoint(0) = -18990<BR> insPoint(1) = 3424<BR> insPoint(2) = 0<BR> textHeight = height<BR> textStr = "明经通道"<BR> <BR> Dim ts As Object '设置字体<BR> Set ts = acaddocs(0).TextStyles.Add("option")<BR> ts.SetFont "宋体", True, False, 0, 1<BR> acaddocs(0).ActiveTextStyle = ts<BR> <BR> '创建文本对象<BR> Set textObj = acaddocs(0).ModelSpace.AddText(textStr, insPoint, textHeight)<BR> textObj.Update<BR> textObj.StyleName = "option"<BR> <BR> acaddocs(0).SaveAs ("C:\temp\temp.dwg")<BR> Else<BR> MsgBox "没有此文件,请建文件,路径为:C:\temp\temp.dwg"<BR> Exit Function<BR>End If
cad可见后,什么都没有啊,里面不是temp.dwg文件啊?
我该怎么处理啊? 试试
acadapp.ActiveDocument.open 现在可以打开文件了,但是还是有一个问题啊,我修改后的代码如下:
Dim acadapp As Object '建立Application对象<BR>Dim acaddoc As Object '建立Document对象<BR>On Error Resume Next
Set acadapp = GetObject(, "autocad.application.14") '若AutoCad已启动 , 则直接得到<BR>If Err Then<BR> Err.Clear<BR> Set acadapp = CreateObject("autocad.application.14") '若AutoCad未启动,则运行它<BR> If Err Then<BR> MsgBox Err.Description<BR> Exit Function<BR> End If<BR>End If<BR>MsgBox "Now running " + acadapp.Name + " version " + acadapp.Version<BR>Set acaddoc = acadapp.ActiveDocument '设acaddocs为当前图形文件
<BR>Dim dwgname As String<BR>dwgname = "C:\temp\temp.dwg"
If Dir(dwgname) <> "" Then<BR> acaddoc.Open (dwgname) '打开一个CAD文件<BR> MsgBox "有文件"<BR> acadapp.Visible = True<BR> <BR> Dim temp() As String<BR> Dim signer As String<BR> Dim time As String<BR> <BR> Dim insPoint(0 To 2) As Double '定义插入点<BR> Dim textHeight As Double '定义文本高度<BR> Dim textStr As String '定义文本字符<BR> Dim textObj As Object '定义文本对象<BR> <BR> insPoint(0) = -18990<BR> insPoint(1) = 3424<BR> insPoint(2) = 0<BR> textHeight = height<BR> textStr = "明经通道"<BR> <BR> Dim ts As Object '设置字体<BR> Set ts = acaddoc.TextStyles.Add("option")<BR> ts.SetFont "宋体", True, False, 0, 1<BR> acaddoc.ActiveTextStyle = ts<BR> <BR> '创建文本对象<BR> Set textObj = acaddoc.ModelSpace.AddText(textStr, insPoint, textHeight)<BR> textObj.Update<BR> textObj.StyleName = "option"<BR> <BR> acaddoc.SaveAs ("C:\temp\temp.dwg")<BR> 'acadapp.Visible = True '使AutoCad可见<BR>Else<BR> MsgBox "没有此文件,请建文件,路径为:C:\temp.dwg"<BR> Exit Function<BR>End If
执行到打开文件后出现下面的情况:
出现一个对话框:Font not found: hztxt
我做的程序是在服务器上的,是不允许人工手动来选择对话框的。
我很疑惑,用vb在2005的环境下,打开文件可以后台执行这样一个过程,R14怎么不行啊?
我怎么解决啊? hztxt.shx在Font目录下么? HZFS<BR>hztxt<BR>gbcbig
都是字体库吗?
打开文件时,都说找不到。
我是刚开始接触开发CAD的程序,不是很懂。
我能在哪里找到啊?
页:
[1]
2