[求助]如何应用VB6.0直接将计算成果数据画成CAD图形
韦矢力
韦矢力 Lv.2
2004年04月01日 21:29:50
只看楼主

各位大侠、兄弟: 我常在VB6.0做一些水利计算,但需要将成果数据画成CAD图形,请教各位大侠、好兄弟,怎么样编1个VB程序直接将成果数据画成CAD图形并保存成DWG图形? 非常的、迫切的心情等待! 我给各位行礼了!

各位大侠、兄弟:
我常在VB6.0做一些水利计算,但需要将成果数据画成CAD图形,请教各位大侠、好兄弟,怎么样编1个VB程序直接将成果数据画成CAD图形并保存成DWG图形?
非常的、迫切的心情等待!
我给各位行礼了!
免费打赏
yfy2003
2004年04月01日 21:38:50
2楼
On Error Resume Next
Set acadApp = GetObject(, "AutoCAD.Application")
Set AcadDoc = acadApp.ActiveDocument
If Err Then
Err.Clear
Set acadApp = CreateObject("AutoCAD.Application")
Set AcadDoc = acadApp.ActiveDocument
If Err Then 如果未启动cad就启动
MsgBox "请先运行AutoCAD 2000"
End
End If
End If

Set TexTobj = MoSpace.AddCircle(daz, BL / 10000) 这是画圆。

很久没有用了!忘了!

回复
韦矢力
2004年04月01日 21:58:50
3楼
2楼的朋友:首先谢谢你!
我很笨,再一次的请教。
1、能不能解析你的程序?
2、另外我最常用的是将一些数据用多义线或直线联接起来。这些数据都有坐标。例如:我计算了一场洪水过过程,如何用线连起来,当然同时还得定义XY坐标的单位。
回复
朱少华
2004年04月02日 09:22:50
4楼
各位仁兄,在什么地方可找到相关火电站设计资料
回复
yeats
2004年04月02日 17:31:50
5楼
下面这是用vb调用Auto CAD 2000的程序:

将这些代码插入到模块中:

Public Const HKEY_CLASSES_ROOT = &H80000000
Public Const HKEY_CURRENT_USER = &H80000001
Public Const HKEY_LOCAL_MACHINE = &H80000002
Public Const HKEY_USERS = &H80000003
Public Const KEY_ALL_ACCESS = &H3F

Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias _
"RegOpenKeyExA" (ByVal hKey As Long, _
ByVal lpSubKey As String, ByVal ulOptions As Long, _
ByVal samDesired As Long, phkResult As Long) As Long

Declare Function RegQueryvalueEx Lib "advapi32" Alias "RegQueryvalueExA" _
(ByVal hKey As Long, ByVal lpvalueName As String, ByVal lpReserved As Long, _
ByRef lpType As Long, ByVal szData As String, ByRef lpcbData As Long) As Long

Public Function ConvertString(tmpVal As String, KeyValSize As Long) As String
If (Asc(Mid(tmpVal, KeyValSize, 1)) = 0) Then Win95 Adds Null Terminated
String...
ConvertString = Left(tmpVal, KeyValSize - 1) Null Found, Extract From
String
Else WinNT Does NOT Null Terminate String...
ConvertString = Left(tmpVal, KeyValSize) Null Not Found, Extract String
Only
End If
End Function
Insert the following in a commandbutton click event:
Private Sub Command1_Click()
Dim obj As Object
Dim apppath As String
Dim szBuffer As String, dataBuff As String, ldataBuffSize As Long, _
hKey As Long, phkResult As Long, RetVal As Long, _
value As String, RegEnumIndex As Long
Create Buffer
dataBuff = Space(255)
ldataBuffSize = Len(dataBuff)

szBuffer = "SOFTWARE\Autodesk\AutoCAD\R15.0\ACAD-1:409\"
hKey = HKEY_LOCAL_MACHINE
RegOpenKeyEx hKey, szBuffer, 0, KEY_ALL_ACCESS, phkResult

value = "ACADLOCATION"

RetVal = RegQueryvalueEx(phkResult, value, 0, 0, dataBuff, ldataBuffSize)
If RetVal = 0 Then
apppath = ConvertString(dataBuff, ldataBuffSize)
Shell (apppath & "\acad.exe")
On Error Resume Next
Set obj = GetObject(, "AutoCad.Application.15")
Do
Err.Clear
Resume
Loop While Err.Number = 429
obj.Visible = True
Else
MsgBox "Error in reading the Registry."
End If
End Sub
回复
zz@sl
2004年04月03日 18:36:50
6楼
我写过一个用VB直接生成DWG图形的函数库,不需要CAD环境,不需要vbA,发布在VC知识库上,可以去下一个。 http://www.vckbase.com/tools/listtools.asp?tclsid=111&page=3
回复
今天我休息
2004年04月03日 21:41:50
7楼
那到底是写程序容易呢,还是直接画图方便呢
回复
yeats
2004年04月04日 10:23:50
8楼
画图需要时间,编程更需要思想和方法!
我认为编程更难。
回复
changlei666
2004年04月04日 18:41:50
9楼
这个东西好用吗?还是用手工画吧!
回复
zz@sl
2004年04月04日 22:51:50
10楼
其实,编程并不难,试一试就知道了。
回复
yeats
2004年04月06日 12:59:50
11楼
以下是引用 zz2004-4-3 18:36:00 的发言:
我写过一个用VB直接生成DWG图形的函数库,不需要CAD环境,不需要vbA,发布在VC知识库上,可以去下一个。 http://www.vckbase.com/tools/listtools.asp?tclsid=111&page=3


你给的那网址打不开啊!请发到我的MAIL 里!!!
回复

相关推荐

APP内打开