乐筑天下

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

Excel 和 AutoCad 之间的双向链接

[复制链接]

1

主题

4

帖子

1

银币

初来乍到

Rank: 1

铜币
8
发表于 2012-1-24 06:07:50 | 显示全部楼层 |阅读模式
大家好。
我是这里的新成员,我试图找到我问题的答案。我是一名学生,我现在正在写我的论文。我在这里有一个问题。我如何在Excel和AutoCad之间建立双向链接。我的意思是,如果我在AutoCad绘图中移动一个块,如果Excel可以将新坐标更新到Excel工作表,那就太好了。反之亦然,如果我在Excel中更改块坐标,它将在AutoCad绘图中移动块。我有红色,这可以通过VBA完成,但我不知道如何? 你能帮我这个吗?谢谢大家。(我道歉可能的拼写错误)
最好的问候
薇莉

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

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

使用道具 举报

3

主题

33

帖子

1

银币

初来乍到

Rank: 1

铜币
45
发表于 2012-1-24 13:20:05 | 显示全部楼层
您需要2个VBA应用程序:
1.从AutoCAD打开并更新Excel或直接更新csv文件。
2.从Excel打开并更新Autocad或使用Open Design软件。
如果只是块引用,如果块名称是唯一的或您将对象句柄保存在excel中,这应该相当容易。警告:如果必须恢复绘图,句柄可能会更改或块名称可能会更改!!
这就是为什么我的块有一个记录号属性,对于每个块插入都是唯一的。
希望这有助于您开始。
回复

使用道具 举报

1

主题

4

帖子

1

银币

初来乍到

Rank: 1

铜币
8
发表于 2012-1-25 07:20:11 | 显示全部楼层
好的,谢谢你的信息,但是“句柄”不是只有在你将块信息导出到某个地方时才会显示吗?如果你再次发送该信息,即使是同一个块,AutoCad也会显示一个新句柄?一个示例应用程序会非常好,谢谢。
回复

使用道具 举报

86

主题

744

帖子

6

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1092
发表于 2012-1-25 09:40:32 | 显示全部楼层
如果您恢复一个dwg,我注意到有时它会重新创建一个块ref并给它一个不同的句柄
从我的第一篇文章开始。
至于两个VBA应用程序:
假设我在不打开AutoCAD的情况下打开excel电子表格
对插入点进行更改保存并关闭,然后我
将dwg作为附件发送给某人。
如果VBA应用程序仅在dwg中,是否在excel中进行更改会在dwg中进行更改??
如果我打开dwg,请使用移动命令或抓住手柄并移动块保存并关闭。
如果我在excel中只有一个VBA应用程序,并且我通过电子邮件发送Excel文件而没有打开它,则它没有更改。
回复

使用道具 举报

1

主题

4

帖子

1

银币

初来乍到

Rank: 1

铜币
8
发表于 2012-1-25 10:00:05 | 显示全部楼层
好的,我得仔细看看你写的东西。我自己并不熟悉VBA,但我可以在这方面得到帮助。非常感谢你的帮助。
回复

使用道具 举报

3

主题

33

帖子

1

银币

初来乍到

Rank: 1

铜币
45
发表于 2012-1-25 17:01:06 | 显示全部楼层
非常棒的查克·哈丁。我的意图不仅仅是拿一个代码,并获得它的荣誉,然后离开这个论坛。我的意图是从哪里开始建立某种基础。我是一个有荣誉感的人,我把荣誉赋予它所属的地方。就像我说的,我是一名学生,我正在写论文。我试图为一家公司解决自动化AutoCad(和其他规划程序)的不同可能性。我有一个问题,就是AutoCad和Excel之间的双向链接。就像在Excel中的单元格中有一个X和Y坐标,如果你在Excel中改变这些坐标,它会改变AutoCad中一个块的位置,等等。我对编码没有经验,但是我的老师可以帮助我。但是如果你们能帮助我,那就太好了。周围从来没有太多的帮助。但是我的回答可能需要时间,因为我不使用英语作为我的母语,有时我不得不解决你写给我的东西。我正在使用多台计算机,所以我可能在不同的计算机上有不同版本的AutoCad和Exel。但是我想我通常使用AutoCad 2011和Excel 2010。真正理解代码也会很棒。我会在我的论文参考书目中陈述这个论坛,如果你愿意,我也可以陈述帮助过我的人的姓名(或名称标记)。
回复

使用道具 举报

3

主题

33

帖子

1

银币

初来乍到

Rank: 1

铜币
45
发表于 2012-1-25 17:08:15 | 显示全部楼层
首先让我们简单地写出您需要做的事情:
应用程序的AutoCAD端(用于编辑绘图。)
对于添加或编辑的每个块
获取句柄
获取插入点
获取块名称
获取属性
打开excel传播表
将值保存到适当的列
下一个块
保存传播表
关闭它并excel
我们应该什么时候这样做?
选项是:
添加对象后
1。如果有属性值的提示,这可能会中断。
2。这将打开excel并在每次添加块时添加一行=每次
对象修改
1后都会减慢运算符。这不会处理从绘图中擦除块
2。这将打开excel并遍历行以查找每次我们修改块时要更新的行=每次
保存绘图
1后都会减慢运算符。我们最好从传播表中删除所有块并添加所有值
2。这将处理被擦除的块
3。这将处理在退出
4之前没有保存绘图的人。这也将另存为并重新创建一个与新绘图文件同名的新电子表格。
5.在操作员完成编辑绘图后打开excel 1次并运行所有块=减慢保存命令
回复

使用道具 举报

3

主题

33

帖子

1

银币

初来乍到

Rank: 1

铜币
45
发表于 2012-1-25 18:30:37 | 显示全部楼层
好吧,我必须仔细看看,但有一点我必须问。查克写了“获取手柄”,但我在哪里可以看到一个街区的手柄?
回复

使用道具 举报

1

主题

4

帖子

1

银币

初来乍到

Rank: 1

铜币
8
发表于 2012-1-26 01:42:50 | 显示全部楼层
如果在AutoCAD中列出任何对象(使用标准列表命令),您将看到一个句柄条目。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-6-30 11:00 , Processed in 1.646827 second(s), 72 queries .

© 2020-2025 乐筑天下

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