sunqun0811 发表于 2006-8-31 22:48:00

跪求了!!!!!!!!!!!

急求cad下面的展点连线程序,源码!!!!! 谢谢,小弟真的跪求了!

中世纪骑士 发表于 2006-9-2 20:27:00

你是要读取数据库中的坐标,然后再展点连线么??

中世纪骑士 发表于 2006-9-2 20:39:00

Dim cn As ADODB.Connection
'创建ADO连接并打开
Sub CreateConnection()
    Dim ConStr As String    '连接字符串
    Set cn = New ADODB.Connection
   
    cn.CursorLocation = adUseClient
    cn.Provider = "Microsoft.Jet.OLEDB.4.0;"
    ConStr = "Data Source=你的数据库文件;"
    cn.Open ConStr
End Sub

' 从数据库中读取数据
Public Sub ReadFromDB()
    ' 创建数据库连接
    Call CreateConnection
   
    ' 在line表中查询所有的记录
    Set rst = New ADODB.Recordset
    rst.CursorLocation = adUseClient
    rst.Open "SELECT DISTINCT * FROM line", cn, adOpenForwardOnly, _
            adLockBatchOptimistic, adCmdText
    rst.MoveFirst
   
    Dim i As Integer
    Dim pt1(0 To 2) As Double, pt2(0 To 2) As Double
   
    ' 使用查询得到的数据创建直线
    For i = 0 To rst.RecordCount - 1
      pt1(0) = rst.Fields("x1")
      pt1(1) = rst.Fields("y1")
      pt1(2) = 0
      pt2(0) = rst.Fields("x2")
      pt2(1) = rst.Fields("y2")
      pt2(2) = 0
      
      ThisDrawing.ModelSpace.AddLine pt1, pt2
      rst.MoveNext
    Next i
   
    'rst.Close       ' 关闭记录集,准备下一次使用
   
    ' 在line表中查询
   
    Set rst = New ADODB.Recordset
    rst.CursorLocation = adUseClient
    rst.Open "SELECT x1,y1 FROM line", cn, adOpenForwardOnly, _
            adLockBatchOptimistic, adCmdText
    rst.MoveFirst
   
    ' 使用表中的数据绘制圆
       For i = 0 To rst.RecordCount - 1
      pt1(0) = rst.Fields("x1")
      pt1(1) = rst.Fields("y1")
      pt1(2) = 0
      ThisDrawing.ModelSpace.Addpoint
      rst.MoveNext
   
    Next i
    'rst.Close
   
    ThisDrawing.Application.Update
End Sub
这个代码应该符合你的要求
页: [1]
查看完整版本: 跪求了!!!!!!!!!!!