Zykl0 发表于 2022-7-6 14:28:02

口齿不清问题

你好,我是Lisp程序的verry noob,我有一个简单的问题。
 
我知道,在acad中调用lisp函数很容易,因为它们包含类似defun的内容:
但是当结构是这样的时候,我怎么调用函数呢
 
选项显式
 
公共Sub Main()
代码在这里代码在这里代码在这里
代码在这里代码在这里代码在这里
代码在这里代码在这里代码在这里
末端接头

Freerefill 发表于 2022-7-6 14:35:10

调用函数几乎是一样的,我真正遇到的唯一区别是它是命令还是函数。唯一的区别是它是否由c开头,就像这样:
 
我希望这能回答你的问题,如果没有,我可以再试一次

Zykl0 发表于 2022-7-6 14:47:18

我不知道如何在autoCAD中调用此代码。。。我需要在代码中添加函数吗?
 
Option Explicit

Public Sub Main()
   Dim objBlock As AcadBlockReference
   Dim objEnt As AcadEntity
   Dim colHyps As AcadHyperlinks
   Dim fso As FileSystemObject
   
   Set fso = New FileSystemObject
   
   For Each objEnt In ThisDrawing.ModelSpace
       If TypeOf objEnt Is AcadBlockReference Then
         Set objBlock = objEnt
         Set colHyps = objBlock.Hyperlinks
         On Error Resume Next ' In case we encounter any blocks that DON'T have hyperlinks
         fso.CopyFile colHyps.Item(0).URL, "E:\Temp\"' replace E:\Temp\ with your project directory
       End If
   Next objEnt
   
   Set fso = Nothing
End Sub

Commandobill 发表于 2022-7-6 14:51:59

 
他似乎在问的是如何在cad中调用vba例程。我对vba很陌生,我个人知道如何运行这些的唯一方法是通过“vbaide”或“vbarun”

Zykl0 发表于 2022-7-6 15:01:20

不工作我试过了
 
2和
 
 
还有其他想法吗?

Lee Mac 发表于 2022-7-6 15:01:58

你把LISP和VBA混为一谈了——这是两件完全不同的事情

Zykl0 发表于 2022-7-6 15:09:30

我如何调用此函数。。。
这只是我想知道的
 
拜托

Commandobill 发表于 2022-7-6 15:17:54

您应该将该文件保存为。dvb,所以你可以制作一个类似这样的lisp
 
(defun c:LoadMacro()(setvar“filedia”0)//避免VBALOAD对话框显示(命令“\u VBALOAD”c:\\temp\\macro.dvb”);

Lee Mac 发表于 2022-7-6 15:27:50

这也可能有助于:
 
http://www.cadtutor.net/forum/showthread.php?t=34207

Commandobill 发表于 2022-7-6 15:33:04

 
我应该假设有一个vl解决方案
页: [1]
查看完整版本: Lisp程序问题