水吉空 发表于 2018-10-15 13:34:23

AUTOlisp开发CAD转战VBA开发CAD第一天

本帖最后由 水吉空 于 2018-10-16 17:17 编辑

本人使用AUTOlisp开发CAD已有一段时间,最近闲来无事,特来研究下vba开发CAD,包括lisp翻译vba等。愿与有兴趣的同行沟通学习。
addline方法

VBA创建直线代码:

Public Sub drawline() '宏
Dim pt1(2) As Double '定义变量类型,在vba中使用变量前一定要先定义
Dim pt2(2) As Double
pt1(0) = 0
pt1(1) = 0
pt1(2) = 0
pt2(0) = 100: pt2(1) = 100: pt3(2) = 100
ThisDrawing.ModelSpace.AddMLine pt1, pt2
End Sub
AUTOlisp翻译VBA创建直线代码:
(Vlax-Invoke-Method (Vlax-Get (Vlax-Get (Vlax-Get-Acad-Object) 'ActiveDocument) 'ModelSpace) 'AddLine (Vlax-3d-Point '(0 0 0)) (Vlax-3d-Point '(100 100 100))

==================水吉空出品==================================
微信公众号:通信工程与CAD

zzyong00 发表于 2018-10-16 12:39:14

lisp翻译vba,有难度,autocad对lisp的支持比较好,而对vba支持比较差,有一些东西,vba里是用不了的,如曲线操作函数等

zzyong00 发表于 2018-10-16 12:41:11

再比如,排序,在lisp中有排序函数vl-sort,而vba中,都得自己写

水吉空 发表于 2018-10-16 13:24:20

zzyong00 发表于 2018-10-16 12:41
再比如,排序,在lisp中有排序函数vl-sort,而vba中,都得自己写

研究vba对自己的lisp学习有帮助,例如API、凸度等。

yuanziyou 发表于 2018-10-16 14:14:18

建议转C#,别死磕vba了,vba的限制太多了,用起来憋屈。反正我就是vba转c#的

Kye 发表于 2018-10-16 16:45:50

学Lisp时间比楼主长,怎么还觉得踩在门槛上呢?:lol

水吉空 发表于 2018-10-16 17:17:54

yuanziyou 发表于 2018-10-16 14:14
建议转C#,别死磕vba了,vba的限制太多了,用起来憋屈。反正我就是vba转c#的

谢谢前辈指点。

水吉空 发表于 2018-10-16 17:18:25

Kye 发表于 2018-10-16 16:45
学Lisp时间比楼主长,怎么还觉得踩在门槛上呢?

前辈,别这样。
页: [1]
查看完整版本: AUTOlisp开发CAD转战VBA开发CAD第一天