找回密码
 注册
Simdroid-非首页
查看: 193|回复: 10

[新手上路] 如何将excel表数据转到CAD 中

[复制链接]
发表于 2006-12-15 01:14:44 | 显示全部楼层 |阅读模式 来自 河北邯郸
哪位能帮忙提供一下将excel 表的数据(x,y,z)转到CAD 中并自动绘制出相应坐标的程序,本人将不胜感激,可以发在论坛或邮箱kylianwei@163.com,谢谢了.
发表于 2006-12-15 10:54:52 | 显示全部楼层 来自 广西桂林
Simdroid开发平台
好象以前有人讨论过该问题,不过我可以现编一个:
Sub Exc2Cad()
    Dim RngA As Range, RngRow As Range
    Dim X!, Y!, Z!
    Rem 获得单元选择集
    Set RngA = Selection
   
    Dim nfil As Integer, ComFile As String, ComPath As String
    Dim Str1 As String
    Rem 保存为与当前图形的同路径和文件名的LSP文件
    ComPath = ThisWorkbook.Path
    If Right(ComPath, 1) <> "\" Then ComPath = ComPath & "\"
    ComFile = Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - 4) & ".LSP"
    nfil = FreeFile
    Open ComPath & ComFile For Output As #nfil
    For Each RngRow In RngA.Rows
        Rem 获取每行数据
        X = RngRow.Cells(1, 1).Value
        Y = RngRow.Cells(1, 2).Value
        If RngA.Columns.Count > 2 Then
            Z = RngRow.Cells(1, 3).Value
        End If
        Rem 制作LISP表达式
        Str1 = "(LIST " & Format(X, "0.0####") & " " & Format(Y, "0.0####") & " " & Format(Z, "0.0####") & ")"
        Print #nfil, "(COMMAND " & Chr(34) & "POINT" & Chr(34) & " " & Str1 & ")"
    Next
    Close #nfil
End Sub
使用说明:
在excel中
菜单:\工具\宏\visual Basic编辑器   -> 进入VBA编辑器

在VBA编辑器中
菜单:\插入\模块    ->插入模块1

在模块1中把该代码粘贴上,保存并返回Excel环境中

选择要输出单元
菜单:\工具\宏\宏...
选择并运行Exc2Cad宏   ->成功保存与Excel工作簿同名的LSP文件

进入Acad环境,菜单:\工具\autoLiSP\加载...
找到Excel工作簿所在路径,选择刚保存的LSP文件并加载

一切搞定,在Acad中会以点(Point)的形式绘制各点的坐标

[[i] 本帖最后由 sdh142857 于 2006-12-15 11:03 编辑 [/i]]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×

评分

1

查看全部评分

发表于 2006-12-15 12:34:59 | 显示全部楼层 来自 重庆
实际上可以直接把Excel中的点(如楼上版主发的图片)复制,然后在CAD中的Command提示你指定点时,点右键粘贴就OK了!通过二次开发也是不错的方法!
发表于 2006-12-15 15:47:21 | 显示全部楼层 来自 广西桂林
能保存成命令行脚本(*.scr)也不错啊.
格式为:
point 1,3
point 2,5
point 3,7
point 4,9
point 5,11
point 6,13
point 7,15
point 8,17
point 9,19
point 10,21
point 11,23
point 12,25
point 13,27
point 14,29
point 15,31
point 16,33
point 17,35
point 18,37
point 19,39
point 20,41
point 21,43
point 22,45
point 23,47
就是空格的位置和数量要求比较严格,而空格通常又是不可见字符,比较容易出错!

在ACAD中,菜单:\工具\运行脚本...        ->选择并运行脚本文件即可.

[ 本帖最后由 sdh142857 于 2006-12-15 15:49 编辑 ]
 楼主| 发表于 2006-12-16 00:04:22 | 显示全部楼层 来自 河北邯郸
谢谢大家了,以后有问题还要麻烦大家的,可别闲我烦啊
 楼主| 发表于 2006-12-16 01:10:15 | 显示全部楼层 来自 河北邯郸
请问大家可否建立一个VB界面可以调用EXCEL和CAD,并将数据进行展点的CAD的当前坐标系下,展点同时要考虑回吐的比例尺,这个程序是不是很麻烦啊,也许对于我来说是
 楼主| 发表于 2006-12-16 13:39:17 | 显示全部楼层 来自 河北邯郸
请问3楼的如何保存成脚本文件啊,我弄不出来
发表于 2006-12-17 12:31:20 | 显示全部楼层 来自 广西桂林
原帖由 hdwilliam 于 2006-12-16 01:10 发表
请问大家可否建立一个VB界面可以调用EXCEL和CAD,并将数据进行展点的CAD的当前坐标系下,展点同时要考虑回吐的比例尺,这个程序是不是很麻烦啊,也许对于我来说是


什么是"展点","回吐",概念太专业了,我看不懂!
发表于 2006-12-17 12:39:03 | 显示全部楼层 来自 广西桂林
原帖由 hdwilliam 于 2006-12-16 13:39 发表
请问3楼的如何保存成脚本文件啊,我弄不出来

1.手工操作,在数据清单前面加一列,全不输入Point(可以用拖动复制),
2.然后保存为"CSV(逗号分隔)(*.csv)"格式文件,
3.用记事本打开,把"Point," 替换成"Point ",保存并修改文件后缀为"scr",
4,在Acad中找到菜单项"运行脚本..."运行之.
发表于 2007-2-1 22:24:42 | 显示全部楼层 来自 浙江杭州
原帖由 hdwilliam 于 2006-12-16 01:10 发表
请问大家可否建立一个VB界面可以调用EXCEL和CAD,并将数据进行展点的CAD的当前坐标系下,展点同时要考虑回吐的比例尺,这个程序是不是很麻烦啊,也许对于我来说是

该程序不麻烦,但是需要对AUTOCAD,以及EXCEL 与VB之间的接口有所了解,这个方面的书很多,可以参考VBA的部分书籍,如果图方便的话,象楼主所说的这种数据是非常常见的,可以用测量的专业软件CASS,可以直接展开的,非常方便。
发表于 2007-2-1 22:30:35 | 显示全部楼层 来自 浙江杭州
原帖由 hdwilliam 于 2006-12-15 01:14 发表
哪位能帮忙提供一下将excel 表的数据(x,y,z)转到CAD 中并自动绘制出相应坐标的程序,本人将不胜感激,可以发在论坛或邮箱kylianwei@163.com,谢谢了.

对了,还有一种方法,就是你将所有的数据都存放在.TXT文件中,
格式为:
X,Y,Z
.
.
.
.....
然后直接全部选中,复制
在AUTOCAD中,选住点,然后将坐标全部粘贴到命令栏,就可以了!
然后对点的样式进行修改,就可以搞定了!!

评分

1

查看全部评分

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

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-5-2 15:36 , Processed in 0.054416 second(s), 19 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表