VB和AutoCAD14的问题

上官云峰 2003-11-10 07:37:43
是关于怎么样使用VB调用一个大的AutoCAD14图片,并能把一个已经知道的小图快插入大图中去,和AutoCAD14中INSERT/BLOCK(插入快)功能一样。希望有人能帮忙解决一下,或者告诉一个简单的方法。
邮箱cuilei197979@eyou.com
不管帮不帮忙我都非常感谢!!!!!!
CmdStartCAD是运行大的图片
Cmdexit是退出
insertblock是一个自定义插入函数
cmdinsertblock是插入一个小图片
txtlinkCAD是要插入的大图片
Text2是要插入的小图片
Public acadapp As Object
Private Sub CmdStartCAD_click()
Set acadapp = CreateObject("autocad.application")
Set acaddoc = acadapp.ActiveDocument
Set mospace = acaddoc.ModelSpace
Set paspace = acaddoc.PaperSpace
acadapp.Visible = True
txtlinkCAD.LinkTimeout = 1000
txtlinkCAD.LinkTopic = "autocad.r14.dde|system"
txtlinkCAD.LinkMode = 2
MDIForm1.Hide
End Sub

Private Sub Cmdexit_Click()
txtlinkCAD.LinkMode = 0
End Sub
Public blockpath As String
Private Sub cmdinsertblock_click()
Dim blockname As String

blockname = Text2.Text

Form1.txtlinkCAD.LinkExecute "insert" + " " + blockpath + blockname + Chr(13) + Chr(27)
Call insertblock(blockname)
End Sub

Private Sub Form_load()
Text2.Text = ""
blockpath = "d:\"
End Sub

Private Sub insertblock(bname As String)
Set acadapp = CreateObject("autocad.application")
Set acaddoc = acadapp.ActiveDocument
Set mospace = acaddoc.ModelSpace
Set paspace = acaddoc.PaperSpace
acadapp.Visible = True
Dim xscale As Double
Dim yscale As Double
Dim found As Boolean
Dim insertpoint As Variant
Dim insertpnt(0 To 2) As Double
Dim rotangle As Double
Dim entry As Object
insertpoint = acaddoc.Utility.GetPoint(insertpnt, "请输入插入点的坐标:")
insertpnt(0) = insertpoint(0)
insertpnt(1) = insertpoint(1)
insertpnt(2) = insertpoint(2)
xscale = 1
yscale = 1
rotangle = acaddoc.Utility.GetAngle(insertpnt, "旋转角:")
For Each entry In acaddoc.Blocks
If UCase(entry.Name) = UCase(bname) Then
found = True
Exit For
End If
Next
If found Then
mospace.insertblock insertpnt, bname, xscale, yscale, rotangle
paspace.insertblock insertpnt, bname, xscale, yscale, rotangle
End If
End Sub



...全文
69 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
上官云峰 2003-11-11
  • 打赏
  • 举报
回复
有没有高手啊。
doglu 2003-11-10
  • 打赏
  • 举报
回复

Insert(插入) 把指定的块或者DWG 格式的图形文件按指定的比例与旋转角度插入到当前图形中的指定位置上。

1,453

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧