乐筑天下

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

[编程交流] 非常基本的VBA

[复制链接]

14

主题

185

帖子

180

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
73
发表于 2022-7-6 15:53:59 | 显示全部楼层
太棒了这就是我需要学习的两种编程语言!
哈哈,哦,没有知识就是浪费知识
回复

使用道具 举报

24

主题

109

帖子

85

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
120
发表于 2022-7-6 15:56:54 | 显示全部楼层
是的,我知道你的意思。我看了很多教程,有谁知道有一个网站会显示所有autocad命令的基本命令。IE:如何添加线性尺寸,如何添加线条,如何更改颜色,如何更改线型等。当然会有一种方法来找出如何做到这一切,我的意思是它只是一个基本代码,类似于“添加文本”等。但很明显,代码可能不是添加-它可能是插入,但我不知道这一点。
回复

使用道具 举报

24

主题

1265

帖子

1028

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
362
发表于 2022-7-6 16:02:07 | 显示全部楼层
 
都在对象模型中-你找到这个了吗。。。?
属性、方法和事件。。。
 
这里几乎有每个对象、属性、方法等的示例。
回复

使用道具 举报

24

主题

1265

帖子

1028

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
362
发表于 2022-7-6 16:02:32 | 显示全部楼层
 
这显然是几年前写的眨眼:
回复

使用道具 举报

24

主题

109

帖子

85

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
120
发表于 2022-7-6 16:06:56 | 显示全部楼层
不,我没有找到。。。。你能告诉我在哪里找到它吗?谢谢
回复

使用道具 举报

10

主题

973

帖子

909

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-6 16:08:45 | 显示全部楼层
它确实出现在Autodesk将重点从Lisp转移到VBA的时候;我猜是AutoCAD 2000前后的时代——发明家首次亮相。我基于发明人合并VBA而不是Lisp的假设。
 
然而,VBA弯曲是短暂的。据推测,Autodesk意识到Microsoft自己计划放弃VBA/VB6体系结构,转而支持。净额。因此,VBA的技术开发实际上已经停止。
 
虽然VBA移除的实际时间框架可能仍有疑问,但显然这是注定要发生的。如果同意通过进入AutoCAD自定义,则会出现不太清楚的情况。NET是令人畏惧的第一步。Lisp和VBA都更容易访问,但哪一种更容易访问。网络过渡更容易?
162105wpmispxmym7iziio.jpg
回复

使用道具 举报

24

主题

109

帖子

85

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
120
发表于 2022-7-6 16:14:30 | 显示全部楼层
非常感谢,我现在就看一遍。一件简单的事情——看看add line示例,它将一行添加到某个位置,我需要在代码中做什么更改,以便in不会将该行放置在某个位置,而是询问我将其放置在哪里?如果知道如何改变图层和颜色,我也会很高兴,然后我就可以完成所有的工作了。谢谢你的帮助
回复

使用道具 举报

10

主题

973

帖子

909

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-6 16:16:50 | 显示全部楼层
这是一个通用示例。
 
  1. Sub Example_AddLine()
  2.   [color="SeaGreen"] ' This example adds a line in model space[/color]
  3.    
  4.    Dim lineObj As AcadLine
  5.    Dim startPoint() As Double
  6.    Dim endPoint() As Double
  7.    Dim TransPoint() As Double
  8.    Dim TargetLayer As AcadLayer
  9.    
  10.   startPoint = ThisDrawing.Utility.GetPoint(, "Select Start Point: ")
  11. [color="SeaGreen"] 'point returned as WCS point. Needs temporary translation to UCS point[/color]
  12.   TransPoint = ThisDrawing.Utility.TranslateCoordinates(startPoint, acWorld, acUCS, 0)
  13.   [color="seagreen"]'That translated point can be used as reference for next point selection[/color]
  14.   endPoint = ThisDrawing.Utility.GetPoint(TransPoint, "Select End Point: ")
  15.    
  16.    [color="seagreen"]' Create the line in model space with the WCS points[/color]
  17.    Set lineObj = ThisDrawing.ModelSpace.AddLine(startPoint, endPoint)
  18.    
  19.    Set TargetLayer = ThisDrawing.Layers.Add("LineLayer")
  20.    [color="seagreen"]'Get reference to layer[/color]
  21.    TargetLayer.color = acRed
  22.    [color="seagreen"]'set line to that layer[/color]
  23.    lineObj.Layer = "LineLayer"
  24.    
  25. End Sub
回复

使用道具 举报

24

主题

109

帖子

85

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
120
发表于 2022-7-6 16:19:30 | 显示全部楼层
非常感谢,这正是我想要的。我猜测的东西,如尺寸,图案填充和文字,我可以使用相同的代码和替代文字,如尺寸线等?
回复

使用道具 举报

10

主题

973

帖子

909

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-6 16:23:30 | 显示全部楼层
一般来说,这是真的。然而,众所周知,AutoCAD的各种实体需要完全定义不同的特性。您可能会遇到AutoCAD在VBA例程中确认UCS的区域,但大多数情况下,它会将所有几何图形引用到WCS。
 
块参照和多段线等图元(以及其他一些图元)是通过“每个图元”坐标系(OCS)定义的。也可以使用此绘图完成此OCS的翻译。公用事业平移坐标法。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-4 19:33 , Processed in 0.423224 second(s), 72 queries .

© 2020-2025 乐筑天下

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