乐筑天下

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

[综合讨论] 使用Excel更改中的文本

[复制链接]

1

主题

3

帖子

2

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-7 17:01:01 | 显示全部楼层 |阅读模式
嘿伙计们,
 
我的问题基本上是这样的,假设我有一个excel单元格,我想用它的值作为我使用文本覆盖的维度的文本,我该怎么做?
 
举个例子,我有一条线,它现在被标注了尺寸。标注调用使用文字替代功能,当前标记为“Fs=4in”。在我的excel电子表格中,单元格A1的值为8,如何使autocad中的文本现在显示“Fs=8in”?
 
提前谢谢你帮我解决问题
 
期待着向大家提问,并了解更多有关autocad的信息。
 
-皮特
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-7 17:04:47 | 显示全部楼层
正确的方法是以参数化方式定义图形对象,如果在excel中更改值,则对象将更改以反映真实长度并显示真实尺寸。
 
四处询问,但他们的是一个名为“SHAFT”的旧示例,关于autocad R12版本更改excel值图形更改。
 
仅仅更改文本值不是一个好主意。绘图对象应该始终是某个事物外观的真实指示。更好的方法是根据excel输入绘制对象。在说什么的时候,你在这里画粘贴图片等等。
 
使用其他软件,使用用户输入法进行数据处理,然后为您绘制数据,这是一个不错的选择。一个例子是“struc plus”结构化软件,它用有限的块来绘制所有的东西,你无法与它匹敌。
回复

使用道具 举报

1

主题

3

帖子

2

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-7 17:11:30 | 显示全部楼层
感谢bigal,
 
我试着寻找你在帖子中发布的演示,但一直找不到,也许你可以提供一个链接或更多关于演示的信息。
 
autocad图形的主要用途是显示作用在构件上的力的位置、标签和大小。第二个问题是正确缩放图形。
 
感谢您的帮助,希望有人知道如何做到这一点。
 
-皮特
回复

使用道具 举报

22

主题

80

帖子

58

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
110
发表于 2022-7-7 17:13:08 | 显示全部楼层
 
AutoCad的主要用途是按比格尔所述的比例绘制。我不认为AutoCad是实现预期目的的好选择。如果我是你,我会为此使用MicroSoft Visio。
 
顺便问一下,“文本覆盖”是什么意思。是否要更改尺寸线中文字/数字的值?
回复

使用道具 举报

1

主题

3

帖子

2

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-7 17:17:17 | 显示全部楼层
这是我工作中最适用的程序。它也往往在每个工程办公室可用。Visio没有相同的市场渗透率。
 
那么我该怎么做呢?
 
一如既往,感谢大家的帮助,
 
-皮特
回复

使用道具 举报

10

主题

895

帖子

887

银币

初来乍到

Rank: 1

铜币
49
发表于 2022-7-7 17:21:54 | 显示全部楼层
也许这会有所帮助。
http://lynn.blogs.com/lynn_allens_blog/2010/07/an-autocad-video-tip-on-linking-excel-with-autocad-tables.html
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-7 17:23:26 | 显示全部楼层
您可以使用包含值的excel,并更新图形中的块属性值
 
您只需要一个列引用=属性的名称
 
长宽高
3         4      5
 
 
在dwg中,一个或多个块的属性为长度、高度和宽度。
 
我不使用这个,但在这里搜索“excel”有很多,他们确实有如何使用excel更新块的示例和代码。幸运的是,索蒙会读到这篇文章并给你发帖。
回复

使用道具 举报

0

主题

19

帖子

20

银币

限制会员

铜币
-1
发表于 2022-7-7 17:26:13 | 显示全部楼层
本例只需在Excel activeworkbook sheet1中检查单元格A1中的值,并将该值加载到可以传递到AutoCAD图形的变量中。我一时想不起来如何更改或设置被覆盖的值,但您可能已经做到了,所以您只需将该变量从Excel函数传递给AutoCAD即可。
“Fs=”&newVal&“in”
 
============裸Excel单元格值到AutoCAD-VB连接
  1. Private Sub CommandXL1_Click()
  2. Dim AutoCAD As acadapplication
  3. Dim Thisdrawing As AcadDocument 'as Object
  4. Dim activedocument As Object
  5. Dim SSET2 As Object
  6. Dim ent As AcadEntity 'as Object
  7. Dim Excel As Object
  8. Dim excelSheet As Object
  9. Dim application As Object
  10. Dim newVal As String
  11. Dim newValtoAcad As String
  12. 'On Error Resume Next
  13. Set Excel = GetObject(, "Excel.Application")
  14. If Err <> 0 Then
  15. Err.Clear
  16. Set Excel = CreateObject("Excel.Application")
  17. If Err <> 0 Then
  18. MsgBox "Could not load Excel.", vbExclamation
  19. End
  20. End If
  21. End If
  22. Set excelSheet = Excel.ActiveWorkbook.Sheets("Sheet1")
  23. Set acadapp = GetObject(, "autocad.application")
  24. Set Thisdrawing = acadapp.activedocument
  25. Set SSET2 = Thisdrawing.SelectionSets.Add(str(Timer))
  26. SSET2.SelectOnScreen
  27. R = 1
  28. 'YOU'LL HAVE TO EXPERIMENT HERE
  29. For Each ent In SSET2
  30. newVal = excelSheet.Cells(R, 1).Value
  31. newValtoAcad = "Fs = " & newVal & "in"
  32. Next ent
  33. End Sub

=============================
 
另一种有一些真正破解可能性的替代方法是将Excel命名范围与AutoCAD组名相关联,然后您可以仔细阅读Excel名称并获取其值,并通过使用AutoCAD中的命名选择集(即“组名”)从逻辑上选择相同的“名称”。
==========例如提取
  1. For x = 1 To Excel.application.Names.count 'see in context below
  2. excname = Excel.application.Names(x).Name
  3. strgroup = Trim(UCase(excname))
  4. Set SSET2 = Thisdrawing.Groups.Item(strgroup)
  5. Set objGroups = Thisdrawing.Groups
  6. If UCase(objGroup.Name) = strgroup Then
  7. DoEvents
  8. Thisdrawing.Groups.Item(strgroup).Item(0).TextString = Excel.application.Range(excname).Value
  9. Thisdrawing.Groups.Item(strgroup).Item(0).Highlight True
  10. End If
  11. Next

在具有Excel命名范围和AutoCAD组名的例程中
  1. Private Sub CommandXL2_Click()
  2. On Error Resume Next
  3. Dim AutoCAD As acadapplication
  4. Dim Thisdrawing As AcadDocument
  5. Dim activedocument As Object
  6. Dim SSET2 As Object
  7. Dim Excel As Object
  8. Dim excelSheet As Object
  9. Dim application As Object
  10. Dim strgroup As String
  11. Set Excel = GetObject(, "Excel.Application") 'connect to open excel session
  12. If Err <> 0 Then
  13. Err.Clear
  14. Set Excel = CreateObject("Excel.Application") 'open an excel application session (if you know it's going to be available, delete this)
  15. If Err <> 0 Then
  16. MsgBox "Could not load Excel.", vbExclamation
  17. End
  18. End If
  19. End If
  20. ''On Error Resume Next
  21. Set acadapp = GetObject(, "autocad.application") 'connect to AutoCAD app
  22. Set Thisdrawing = acadapp.activedocument
  23. DoEvents
  24. For x = 1 To Excel.application.Names.count 'cycle through names in Excel
  25. excname = Excel.application.Names(x).Name 'Set excel name to a var
  26. strgroup = Trim(UCase(excname)) 'set var to correlate to acad group name, set to upper case for a consistent pattern, all upper, no case sensitivity
  27. Set SSET2 = Thisdrawing.Groups.Item(strgroup) 'relate the excname, to it's correlated acad group name, and select by that name
  28. Set objGroups = Thisdrawing.Groups 'set acad groups obj
  29. If UCase(objGroup.Name) = strgroup Then
  30. DoEvents
  31. Excel.application.Range(excname).Value = UCase(Thisdrawing.Groups.Item(excname).Item(0).TextString) 'set excel value from acad
  32. 'the below flips the data transfer
  33. UCase(Thisdrawing.Groups.Item(excname).Item(0).TextString) = Excel.application.Range(excname).Value 'set acad value from excel
  34. End If
  35. Next
  36. End Sub
回复

使用道具 举报

1

主题

6

帖子

5

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-7 17:31:00 | 显示全部楼层
如何通过Excel控制尺寸?
请告诉我我不擅长AutoCAD。
回复

使用道具 举报

10

主题

8258

帖子

8335

银币

初来乍到

Rank: 1

铜币
31
发表于 2022-7-7 17:35:48 | 显示全部楼层
Asad:
 
欢迎来到CADTutor论坛。
 
也许您需要的是Jeffery P.Sanders lisp程序,称为XL-Excel to AutoCAD v3.1,它以这种方式描述。。。。
 
XL-此程序允许您将保存在Excel中的信息发送到AutoCAD绘图。您可以让程序绘制图表、替换文本值或替换属性值
 
该程序以及更详细的解释和屏幕截图也可以在这里找到:
 
http://www.jefferypsanders.com/autolisp_XL.html
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-6 12:04 , Processed in 0.642153 second(s), 72 queries .

© 2020-2025 乐筑天下

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