如果有很多个坐标点,想简单的看一下彼此之间的相对位置关系,一个很简单的办法,就是展到AutoCAD中。在AutoCAD中逐点输入坐标数据肯定是不现实的,最简答的方法是在Excel中调用AutoCAD:

Global Sheet As Object, acadmtext As acadmtext, fontHight As Double
Global xlBook As Excel.Workbook
Global p0(2) As Double, p1(2) As Double, p2(2) As Double
Global acadApp As Object
Global acadDoc As Object
Global number As Integer, pt(2) As Double
Public Function GetAcad(dwt As String) As Boolean
 Dim Face As String
 Dim Bold As Boolean
 Dim Italic As Boolean
 Dim charSet As Long
 Dim PitchandFamily As Long
 On Error Resume Next
 Set acadApp = GetObject(, "AutoCAD.Application")
 If Err Then
Err.Clear
Set acadApp = CreateObject("AutoCAD.Application")
If Err Then
 MsgBox "请安装AutoCAD 2000以上版本", vbCritical, "autocad"
 Exit Function
 On Error GoTo 0
 GetAcad = False
 Exit Function
End If
 End If
 Set acadDoc = acadApp.ActiveDocument
 acadApp.Visible = True
 GetAcad = True
 acadDoc.ActiveTextStyle.GetFont Face, Bold, Italic, charSet, PitchandFamily
 acadDoc.ActiveTextStyle.SetFont "宋体", Bold, Italic, charSet, PitchandFamily
0:
End Function
Public Function Draw_Point(Point() As Double) As AcadPoint
 Set Draw_Point = acadDoc.ModelSpace.AddPoint(Point)
 Draw_Point.Update
End Function

但如果计算机中装了多个版本的CAD,在调用过程中存在混淆,经查阅资料原来还有ProgID这个东西:

AutoCAD产品名

版本号

ProgID

AutoCAD 2004

R16

AutoCAD.Application.16

AutoCAD 2005

R16.1

AutoCAD.Application.16.1

AutoCAD 2006

R16.2

AutoCAD.Application.16.2

AutoCAD 2007

R17

AutoCAD.Application.17

AutoCAD 2008

R17.1

AutoCAD.Application.17.1

AutoCAD 2009

R17.2

AutoCAD.Application.17.2

AutoCAD 2010

R18

AutoCAD.Application.18

AutoCAD 2011

R18.1

AutoCAD.Application.18.1

用法指导:

CreateObject ("AutoCAD.Application.17.1") '启动AutoCAD 2008.

如果不指定版本号,如CreateObject("AutoCAD.Application"),程序就会启动用户最后一次使用的AutoCAD的版本。

如果机器上装了很多AutoCAD的版本,往往需要指定启动哪个版本(比如R18.1,而不是R18)。

又:查到下面这个资料。基本意思就是说AutoCAD2012应该使用VS2010调用,那么VBA调用可能要出问题。事实上,我机子上同时装了AutoCAD2006和2012两个版本,AutoCAD2012调用就是不行。懒得管那么多了,我的本意就是想看看点之间的相对位置关系,不想再去穷究了。

Note Projects compiled with Microsoft Visual Studio 2008 with a target of Microsoft .NET Framework 3.5 should load into AutoCAD 2012 without a problem. Microsoft Visual Studio 2008 cannot be used to debug projects loaded in AutoCAD 2012; you must use Microsoft Visual Studio 2010 when debugging a project.
注意:由Microsoft Visual Studio 2008编译的目标为Microsoft .NET Framework 3.5的项目可以加载到AutoCAD2012运行没有问题。但Microsoft Visual Studio 2008不能用来调试AutoCAD 2012加载的项目,调试项目时必须使用Microsoft Visual Studio 2010。
If you are using AutoCAD 2010 or AutoCAD 2011, you should use:
如果使用的是AutoCAD 2010或AutoCAD 2011,则应选择:
·         Microsoft Visual Studio 2008 with Service Pack 1
·         Microsoft .NET Framework 3.5 with Service Pack 1
If you are using AutoCAD 2007 through AutoCAD 2009, you should use:
如果使用的是AutoCAD 2007到AutoCAD 2009,则应选择:
·         Microsoft Visual Studio 2005
·         Microsoft .NET Framework 2.0 or later (或2.0以上)

关于使用VBA调用AutoCAD的学习相关推荐

  1. 通过Jacob调用AutoCAD绘图的Demo示例

    在一次项目开发中需要将Java生成的曲线导出图片和CAD,图片已经搞定,网上查了下Java调用AutoCAD绘图的资料和demo很少,于是自己根据官网提供的VBA调用AutoCAD绘图的文档,通过Ja ...

  2. excel vba 调用webbrowser_Python杀死Excel?我只会用Python来增强Excel!

    Excel既是一种祝福,也是一种诅咒.当涉及到足够小的数据和足够简单的操作时,Excel是王者.然而,一旦你发现数据非常多时,它就会变成一种痛苦.当然,你可以使用Excel VBA来解决这些问题,但是 ...

  3. cass二次开发vba和lisp_基于VBA的AutoCAD二次开发及应用实例

    1引言本文引用地址:http://www.eepw.com.cn/article/190993.htm AutOCAD2005是AutOdesk公司的系列产品,该软件从其使用和设计思路上都秉承了工程制 ...

  4. [翻译]Kean' Blog 在一个.NET应用程序中调用AutoCAD

    程序员通常要么整合功能到AutoCAD(利用其Plug-in结构,以增加命令,用户界面,对象等),或者调用它自动完成任务.显然,这两者之间的界限已经比较模糊,但是今天我们重点介绍第二类. 用于帮助理解 ...

  5. 使用VBA调用jar传递参数,并获取返回值

    目录 ■VBA代码 ■Java代码 ■运行效果 Excel Log效果 (通过VBA调用jar后,运行,生成的Log) ■课题 ■课题原因(直接原因) ●log4j的配置 ■课题验证 ■课题解决(其他 ...

  6. C#调用AutoCAD二次开发

    转载自百度文库https://wenku.baidu.com/view/51f742f8c8d376eeaeaa31c2.html 今天在c#中实现了对AutoCAD的调用,中间遇到了一些问题,现在记 ...

  7. 解决Com调用AutoCAD被呼叫方拒绝接收呼叫

    在用Com调用AutoCAD的代码试,一般第一次启动时会出现"被呼叫方拒绝接收呼叫,异常来自 HRESULT:0x80010001 (RPC_E_CALL_REJECTED)"的错 ...

  8. VBA调用bat,doc 命令行 窗口关闭之后,VBA代码 再继续执行

    VBA调用doc命令,doc窗口关闭之后,继续执行代码 Option Explicit'Docワィンドワ閉じるした後.後続けの処理実施 Public Declare Function WaitForS ...

  9. python调用c++深度学习模型生成的dll(传入图片,返回多个结果)

    这里主要通过python调用c++深度学习模型,传入图片,c++处理,并返回结果,python接收结果,这个过程的接口如何设计转换. python端代码接口 # 定义dll返回的结果类型,这里应该和c ...

  10. vba调用python代码_Python替代Excel Vba系列(终):vba中调用Python

    点击上方"数据大宇宙",设为星标,干货资料,第一时间送到! 系列文章 前言 有小伙伴向我反映到,本系列前面的章节主要还是在讲 pandas ,几乎与 xlwings 没有啥关系. ...

最新文章

  1. python协程异步原理_简单介绍Python的Tornado框架中的协程异步实现原理
  2. 位运算02 - 零基础入门学习C语言65(完)
  3. 前端学习(2850):简单秒杀系统学习之绝对定位
  4. 北京市教委将严查在线教育机构从教人员无证上岗
  5. SSH框架下的在线人数统计的一种解决途径
  6. python量化常用_简单介绍下量化分析的常用库TA-lib
  7. python装饰器带参数函数_python带参数装饰器的两种写法
  8. Centos 上面用Shell脚本一键安装LAMP环境
  9. LeetCode#20 有效的括号
  10. matlab2017安装完提示编译器,matlab2017a/b 编译器设置之无语神坑
  11. 微信小程序云开发入门详细教程
  12. Codeforces 4D. Mysterious Present
  13. Kaggle经典案例—信用卡诈骗检测的完整流程(学习笔记)
  14. 详解word2vec
  15. mysql 1033 frm_修复mysqldump Incorrect information in file frm (1033)
  16. 关于“运放“这些知识点
  17. 054 webshell介绍与文件上传漏洞
  18. metrics和graphite监控
  19. python基础知识整理一
  20. 才华战胜资本,原创受到尊重(抄袭事件后续)

热门文章

  1. ExtJs6学习(二)【环境介绍,构建程序】
  2. 【Java】随机姓名的生成
  3. (Cisco模拟)链路聚合 Eth-trunk
  4. Word怎么转PDF?看完这篇你就知道了
  5. python的ols_工具方法 | 6行代码教你用Python做OLS回归(内附CFPS实例)
  6. steamcom启动服务:443端口被占用,请关闭占用该端口的进程后再点击启动服务!
  7. 06-输出100以内的素数
  8. 离散数学编程实现真值表输出
  9. php公众号开发文档,微信公众平台的开发者文档
  10. EAS后台事物调度时间间隔所用的QuartZ Cron表达式解析。