VELI555 发表于 2012-1-24 06:07:50

Excel 和 AutoCad 之间的双向链接

大家好。
我是这里的新成员,我试图找到我问题的答案。我是一名学生,我现在正在写我的论文。我在这里有一个问题。我如何在Excel和AutoCad之间建立双向链接。我的意思是,如果我在AutoCad绘图中移动一个块,如果Excel可以将新坐标更新到Excel工作表,那就太好了。反之亦然,如果我在Excel中更改块坐标,它将在AutoCad绘图中移动块。我有红色,这可以通过VBA完成,但我不知道如何? 你能帮我这个吗?谢谢大家。(我道歉可能的拼写错误)
最好的问候
薇莉
**** Hidden Message *****

ChuckHardin 发表于 2012-1-24 13:20:05

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

VELI555 发表于 2012-1-25 07:20:11

好的,谢谢你的信息,但是“句柄”不是只有在你将块信息导出到某个地方时才会显示吗?如果你再次发送该信息,即使是同一个块,AutoCad也会显示一个新句柄?一个示例应用程序会非常好,谢谢。

Matt__W 发表于 2012-1-25 09:40:32

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

VELI555 发表于 2012-1-25 10:00:05

好的,我得仔细看看你写的东西。我自己并不熟悉VBA,但我可以在这方面得到帮助。非常感谢你的帮助。

ChuckHardin 发表于 2012-1-25 17:01:06

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

ChuckHardin 发表于 2012-1-25 17:08:15

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

ChuckHardin 发表于 2012-1-25 18:30:37

好吧,我必须仔细看看,但有一点我必须问。查克写了“获取手柄”,但我在哪里可以看到一个街区的手柄?

VELI555 发表于 2012-1-26 01:42:50

如果在AutoCAD中列出任何对象(使用标准列表命令),您将看到一个句柄条目。
页: [1]
查看完整版本: Excel 和 AutoCad 之间的双向链接