乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 71|回复: 4

怎样用VBA读取Autocad图中线条端点的坐标

[复制链接]

1

主题

2

帖子

1

银币

初来乍到

Rank: 1

铜币
6
发表于 2008-6-2 20:31:00 | 显示全部楼层 |阅读模式
如题
回复

使用道具 举报

20

主题

105

帖子

6

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
185
发表于 2008-6-2 21:44:00 | 显示全部楼层
图中的线条对象你打算如何得到?
手动选择?
回复

使用道具 举报

2

主题

11

帖子

5

银币

初来乍到

Rank: 1

铜币
19
发表于 2008-6-3 01:12:00 | 显示全部楼层
’在AutoCAD中编程序,写到c盘根目录下的“123.xls”Excel表格中
’使用 VBA IDE 中的“工具” “引用”菜单选项,选择 Microsoft Excel 9.0 对象模型
’水平不高,有点罗嗦,楼主可以精简下
’欢迎以后交流,QQ 42123043
Public Sub 取坐标()
’把AutoCAD中某一图层“多段线层”中的所有多段线的坐标列出来
Dim PLSet As AcadSelectionSet
Dim pl As AcadLWPolyline

Dim ExcelApp As Excel.Application
Dim ExcelSheet As Object
Dim ExcelWorkbook As Object

Dim pts As Variant
Dim NN As Integer
Dim j As Integer
Dim pn As Integer
Dim px(0 To 10000) As Double
Dim py(0 To 10000) As Double
Dim pz(0 To 10000) As Double

Dim filtertype(10) As Integer
Dim filterdata(1) As Variant
filtertype(0) = 0 ’ 选择线型
filterdata(0) = "LWPOLYLINE"
filtertype(1) = 8 ’ 图层标识,可以根据具体情况改动
filterdata(1) = "多段线层"

Set PLSet = ThisDrawing.SelectionSets.Add("pl")
PLSet.SelectOnScreen filtertype, filterdata
NN = 0
j = 0
For Each pl In PLSet
pts = pl.Coordinates
pn = (UBound(pts) + 1) / 2
For i = 0 To pn - 1
px(i + pn * j) = pts(2 * i)
py(i + pn * j) = pts(2 * i + 1)
Next i
j = j + 1
NN = NN + pn
Next pl
PLSet.Delete

Set ExcelApp = New Excel.Application
Set ExcelWorkbook = ExcelApp.Workbooks.Add
Set ExcelSheet = ExcelApp.ActiveSheet
ExcelWorkbook.SaveAs "c:\123.xls"
ExcelSheet.Cells(1, 1) = "x"
ExcelSheet.Cells(1, 2) = "y"
For i = 0 To NN - 1
ExcelSheet.Cells(i + 2, 1) = px(i)
ExcelSheet.Cells(i + 2, 2) = py(i)
Next i
End Sub
回复

使用道具 举报

1

主题

2

帖子

1

银币

初来乍到

Rank: 1

铜币
6
发表于 2008-6-4 00:29:00 | 显示全部楼层
很好的一个思路,可惜速读很慢,感谢3楼。
回复

使用道具 举报

25

主题

219

帖子

6

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
319
发表于 2008-6-4 10:10:00 | 显示全部楼层
不要写EXCEL
写TXT,速度应还是可以的
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-7-4 17:46 , Processed in 0.621675 second(s), 63 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表