Bladezy 发表于 2022-7-6 22:20:18

通过VBA按钮插入块

嗨,论坛,
 
我对Visual Basic编程完全陌生,我只有几个问题;
 
VBA是否通过LISP命令启动?或者其他方式?
 
我试着在我的画作中插入6个我经常使用的方块。我希望能够检查我想要的块,然后单击“确定”,块插入到0,0,0。我目前在一个主文件中有我的所有块。
 
作为VBA新手,我不知道从哪里开始。有没有人能和我一起工作?
 
我附上了我的菜单。
 
干杯,伙计们,我感谢你们的帮助。

dbroada 发表于 2022-7-6 22:26:12

如果你是个新手,我建议你看看VB。Net而不是VBA。正如您应该已经发现的那样,您需要下载VBA启用程序,以使其与较新版本的AutoCAD一起工作。你可以从微软网站免费下载Visual Basic Express,这样你就可以用VB编写代码了。网完成后,您仍需要下载一些文件才能访问AutoCAD bits。编写例程后,您将其编译到可以加载到AutoCAD的dll中。
 
运行VBA例程的一种方法是发出VBASTMT命令,然后调用例程。我的例程保存在ACAD中。dvb文件(以便自动加载),然后有一个按钮(类似于)^C^Cvbastmt;云运行“云”例程。
 
说过你应该学习VB。Net而不是VBA我发现VBA更容易-虽然必须承认,我才刚刚开始处理VB。今年我们要认真对待。我的老板给我买了杰瑞·温特斯的书作为圣诞节礼物(不是真的),这本书对我的起步有很大帮助。我很快厌倦了它的介绍和内容,但如果没有它,我就无法开始。

dbroada 发表于 2022-7-6 22:32:06

意识到我实际上并没有回答您的问题,下面是我的一个VBA例程的摘录,其中插入了一个块。为此,块(TRI)必须位于路径文件夹中,而不是包含在另一个文件中。我不知道如何使用VBA从另一个文件中获取块,但我知道可以在VB中完成。Net和LISP。
 
这将从我的表单(模型空间或图纸空间)上的选项按钮、我想要的图层以及表单上文本框中的图形比例中读取值。然后,它要求您选择块的位置,最后输入一个(两个)属性。
 
代码很旧,所以可能不是我现在做的方式。我很快就会知道我现在将如何编写它,因为这是下一个转换为VB的例程。网

BIGAL 发表于 2022-7-6 22:37:42

您可以在dcl中显示图像,当然也可以在VBA中显示。如果你遇到这么多麻烦,我会把它作为最终结果。
 
我已经为2x2 3x2 4x4等窗格使用了各种lisp,并且只使用了传递图像列表所需的版本,该列表是在lisp和dcl中完成的。
 
幻灯片采用老式方式,但用户可定义版本也采用类似方式。
 

BIGAL 发表于 2022-7-6 22:43:24

只是想了另一种方法,一些几乎不再讨论的东西,你可以做弹出式菜单,这些菜单可以有你的绘图名称,像下拉菜单,拾取线块插入,额外的线是插入所有最后一行是关闭侧菜单。这是一种很好的方法,可以选择预定义的值,而不是键入。如果你使用notedpad,那么你可以做一个侧菜单。
 
将很快添加图像。

dbroada 发表于 2022-7-6 22:52:37

继BigAl之后,解决方案实际上取决于您正在尝试什么。如果您的主要目的是将块放入图形中,那么将它们放到调色板上非常简单。如果你的主要目的是学习如何编程,那就去VB吧。Net或LISP。

Bladezy 发表于 2022-7-6 22:55:52

大家好,
谢谢你的快速回复。
 
我决定使用vba,只是因为它的功能,我喜欢在一天结束时能够设计我的表单。
 
我很可能会使用这个“块插入”功能,而不仅仅是我使用的标准东西。
 
dbroada,我试着使用您之前提供的代码,但它不起作用,由于某种原因,我有编译错误。
 
您是否可以修改代码以合并6个按钮和6个块插入,然后重新发布?我想我会更有能力修改它。
 
你有什么推荐我可以参考的网站或链接吗?
 
干杯伙计们,
 
我真的很感谢你的帮助。

dbroada 发表于 2022-7-6 23:03:45

这应该有效:
1
显然,你必须绘制表格并确保Block1可用。我已经删除了所有图层信息,因为这可能会导致您的问题。

BlackBox 发表于 2022-7-6 23:06:22

*咳嗽*
 
... 为什么不使用工具选项板呢?

dbroada 发表于 2022-7-6 23:10:49

你的意思是像我之前建议的那样? 
当然,这是做他想做的事情的最简单方法,尤其是当块已经包含在一个图形中时——而不是使用VBA的繁琐任务。
页: [1] 2
查看完整版本: 通过VBA按钮插入块