乐筑天下

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

[编程交流] 创建文件并运行代码

[复制链接]

30

主题

81

帖子

59

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
146
发表于 2022-7-6 21:48:32 | 显示全部楼层 |阅读模式
谁能给我演示一下如何创建vb文件和运行代码
  1. Private Sub CommandButtonSmooth_Click()
  2. Dim sset As AcadSelectionSet
  3. Dim v(0) As Variant
  4. Dim lifiltertype(0) As Integer
  5. Dim plineObj As AcadLWPolyline
  6. Dim oLWP As AcadLWPolyline
  7. Dim i As Long
  8. Dim var As Variant
  9. Dim oSS() As AcadEntity
  10. Dim oGr As AcadGroup
  11. Set oGr = ThisDrawing.Groups.Add("QWERT")
  12. Set sset = Nothing
  13. For i = 0 To ThisDrawing.SelectionSets.Count - 1
  14. Set sset = ThisDrawing.SelectionSets.Item(i)
  15. If sset.Name = "ss1" Then
  16. sset.Clear
  17. Exit For
  18. Else
  19. Set sset = Nothing
  20. End If
  21. Next i
  22. If sset Is Nothing Then
  23. Set sset = ThisDrawing.SelectionSets.Add("ss1")
  24. End If
  25. 'create a selection set of all the entities on a given layer
  26. 'here they are all lw polylines
  27. lifiltertype(0) = 8
  28. v(0) = "jhl_9.25_begin"
  29. sset.Select acSelectionSetAll, , , lifiltertype, v
  30. ReDim Preserve oSS(0 To sset.Count - 1) As AcadEntity
  31. For i = 0 To sset.Count - 1
  32. Set oSS(i) = sset.Item(i)
  33. Next i
  34. 'add plines to group
  35. oGr.AppendItems oSS
  36. Dim GRname As String
  37. GRname = oGr.Name
  38. ' using SendCommand method with Group
  39. ThisDrawing.SendCommand "_PEDIT" & vbCr & "M" & vbCr & "G" & vbCr & GRname & vbCr & vbCr & "J" & vbCr & "0.0" & vbCr & vbCr
  40. ' deleting group and clearing selection set
  41. oGr.Delete
  42. sset.Clear
  43. 'start to pedit spline or fit here
  44. Dim oGroup As AcadGroup
  45. Set oGroup = ThisDrawing.Groups.Add("ZERO")
  46. GRname = oGroup.Name
  47. 'select all the joined plines
  48. sset.Select acSelectionSetAll, , , lifiltertype, v
  49. ReDim Preserve oSS(0) As AcadEntity
  50. For i = 0 To sset.Count - 1
  51. Set oLWP = sset.Item(i)
  52. Set oSS(0) = sset.Item(i)
  53. 'create group with one item
  54. oGroup.AppendItems oSS
  55. If oLWP.Closed Then
  56. 'Spline
  57. ThisDrawing.SendCommand "_PEDIT" & vbCr & "M" & vbCr & "G" & vbCr & GRname & vbCr & vbCr & "S" & vbCr & vbCr
  58. Else
  59. 'Fit
  60. ThisDrawing.SendCommand "_PEDIT" & vbCr & "M" & vbCr & "G" & vbCr & GRname & vbCr & vbCr & "F" & vbCr & vbCr
  61. End If
  62. 'remove the pline from the group
  63. oGroup.RemoveItems oSS
  64. Next i
  65. sset.Delete
  66. oGroup.Delete
  67. End Sub

 
批准的用于连接LWpolyline的VB代码
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 22:18:46 | 显示全部楼层
只需键入VBAMAN,NEW,选择ACADproject,“Visual basic editor”,“This drawing”,然后将代码粘贴到“code”“Run”中
回复

使用道具 举报

30

主题

81

帖子

59

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
146
发表于 2022-7-6 22:43:35 | 显示全部楼层
这是ask宏名称

                               
登录/注册后可看大图

 
谢谢
湿婆
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 23:04:57 | 显示全部楼层
你需要了解VBA代码是如何运行的“CommandButtonSmooth_Click(),我很肯定是用鼠标启动它的。我不是VBA专家。一旦你获得了代码,你可以保存它,你可以随时从命令行加载它。举个例子,我会键入这个(vl vbaload“P:/AutoDESK/VBA/myvbatestcode.dvb”)(vl vbarun“Test”)它会运行你的代码。
 
  1. Private Sub CommandButtonSmooth_Click()
  2. now
  3. Private Sub test()
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-4 14:01 , Processed in 0.752501 second(s), 71 queries .

© 2020-2025 乐筑天下

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