乐筑天下

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

VBA能批量输出等高线坐标数据么??

[复制链接]

1

主题

8

帖子

1

银币

初来乍到

Rank: 1

铜币
12
发表于 2006-6-16 15:52:00 | 显示全部楼层 |阅读模式
想批量输出等高线数据,vba 能做到么??
数据输出到txt 或 excel  access....等,能做到么,
请各位大虾指教,
站内或email :  

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

1

主题

17

帖子

1

银币

初来乍到

Rank: 1

铜币
21
发表于 2006-6-16 20:06:00 | 显示全部楼层
可以的,只是三言两语讲不清楚
回复

使用道具 举报

1

主题

8

帖子

1

银币

初来乍到

Rank: 1

铜币
12
发表于 2006-6-18 09:29:00 | 显示全部楼层
我查过vba的属性说明,好像很难输出?
反正我没有太大的办法,还请大虾执教。。。。。
回复

使用道具 举报

2

主题

4

帖子

3

银币

初来乍到

Rank: 1

铜币
12
发表于 2006-6-18 10:05:00 | 显示全部楼层
当然可以

回复

使用道具 举报

1

主题

8

帖子

1

银币

初来乍到

Rank: 1

铜币
12
发表于 2006-6-18 16:10:00 | 显示全部楼层
还请各位大虾点拨一下。。。。
cad中有list功能, 能查到所有控制点的坐标, 但如何实现并输出。。。小生不会,,,请高手点点。。。
LW8399@126.COM   
回复

使用道具 举报

7

主题

51

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
79
发表于 2006-6-18 21:42:00 | 显示全部楼层
这么跟你说吧
新开一个CAD 在里面随便画一条多段线
再新建一个图层 名字叫"等高线" 把刚画的这条线 放到"等高线"图层中
然后 运行下面的代码
Sub OutputCoords()
    Dim Entry As AcadEntity
    Dim Coords As Variant
    Open "c:\test.txt" For Output As #1
    For Each Entry In ThisDrawing.ModelSpace
        If TypeName(Entry) = "IAcadLWPolyline" And Entry.Layer = "等高线" Then
            Coords = Entry.Coordinates
            For i = 0 To UBound(Coords) - 1 Step 2
                Print #1, "X="; Trim(Str(Coords(i))); ","; "Y="; Trim(Str(Coords(i + 1)))
            Next i
        End If
    Next Entry
    Close #1
   
End Sub

再打开 C:\test.txt 文件 里面就是坐标信息.
回复

使用道具 举报

1

主题

8

帖子

1

银币

初来乍到

Rank: 1

铜币
12
发表于 2006-6-21 11:31:00 | 显示全部楼层
谢谢。。。
不过,最终要实现在cad中输入一个命令,然后选取选定的等高线,回车,来完成等高线坐标点的输出,
大侠说的是, 等高线还得取出等高线上的高程坐标才行???还请游侠指教。。
坐标点能存在excel access 中么 ?
回复

使用道具 举报

7

主题

51

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
79
发表于 2006-6-22 16:34:00 | 显示全部楼层
貌似你完全没学过VB 或者 VBA
回复

使用道具 举报

1

主题

8

帖子

1

银币

初来乍到

Rank: 1

铜币
12
发表于 2006-6-29 17:36:00 | 显示全部楼层
呵呵,
新手,努力学习中,谢谢楼上的指点
z坐标值又怎么输出呢 ?还请游侠看看。。。
回复

使用道具 举报

7

主题

51

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
79
发表于 2006-7-1 10:37:00 | 显示全部楼层
Print #1, "X="; Trim(Str(Coords(i))); ","; "Y="; Trim(Str(Coords(i + 1)))
改成
Print #1, "X="; Trim(Str(Coords(i))); ","; "Y="; Trim(Str(Coords(i + 1)));","; "Z="; Trim(Str(Coords(i + 2)))
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-7-5 23:51 , Processed in 0.513634 second(s), 72 queries .

© 2020-2025 乐筑天下

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