Java基于VB通过Jacob调用AutoCAD接口
来源:互联网 发布:unity3d五子棋源代码 编辑:程序博客网 时间:2024/04/29 21:57
本文为博主原创文章,未经博主允许不得转载。
Java 以跨平台深受大家喜欢,而由于它跨平台的目的,需要运行在java虚拟机上工作,使得它和本地机器各种内部联系变得很少,约束了它直接掉本地API的功能。本例采用VB代码生成调用AutoCAD接口的DLL文件,使用Jacob技术用Java调用DLL文件来实现Java对AutoCAD接口的调用。
软件环境:VB6.0,Jacob1.16,Eclipse3.7.2,AutoCAD 2007,win7 64。
Jacob程序及本文源码:http://pan.baidu.com/s/1nvJATUL
1,使用VB6.0创建一个DLL项目(ActiveX DLL),取名为“JavaForCad”,
2,加入此工程对AutoCAD的引用:点击VB的工程菜单→引用,勾选AutoCAD 2007 Type Library点确定。
3,编写调用AutoCAD接口的代码,具体VB代码如下:
Dim acadApp As AcadApplicationDim acadDoc As AcadDocument' 连接AutoCAD的方法Sub ConnCad() On Error Resume Next ' 获取AutoCAD对象赋值给acadApp Set acadApp = GetObject(, "AutoCAD.Application") If Err Then Err.Clear Set acadApp = CreateObject("AutoCAD.Application") If Err Then MsgBox Err.Description Exit Sub End If End If ' 显示AutoCAD窗口 acadApp.Visible = TrueEnd Sub' 调用AutoCAD接口画圆的方法Sub DrawCircle() Set acadDoc = acadApp.ActiveDocument Dim circleObj As AcadCircle Dim centerPoint(0 To 2) As Double Dim radius As Double centerPoint(0) = 100#: centerPoint(1) = 100#: centerPoint(2) = 0# radius = 100# Set circleObj = acadDoc.ModelSpace.AddCircle(centerPoint, radius)End Sub
4,生成对应的DLL文件
点击VB菜单的文件→生成JavaForCad.dll
5,注册“JavaForCad.dll”文件,在cmd窗口里执行命令“Regsvr32 C:\JavaForCad.dll”
6,搭建Jacob运行环境,将“jacob-1.16-M1-x86.dll”和“jacob-1.16-M1-x64.dll”对应放入System32和SysWOW64文件夹下。(“jacob-1.16-M1.zip”里有DLL文件)
7,创建Java项目,引入Jacob的jar包“Jacob.jar”(“jacob-1.16-M1.zip”压缩包里有)
8,编写Java代码
ComThread.InitSTA();// 启动线程 // 以下两种方式都能取得DLL文件对象 // clsid值可通过在注册表中搜索"JavaForCad"取得 // ActiveXComponent com = new // ActiveXComponent("clsid:3E1A16AB-D456-48EB-A943-A8C8633BF78D") ; // "JavaForCad"对应DLL文件名,"Class1"对应VB项目中类模块名称 ActiveXComponent com = new ActiveXComponent("JavaForCad.Class1"); // Dispatch对象看成是对Activex控件的一个操作 Dispatch disp = com.getObject(); // 调用DLL文件中的连接AutoCAD方法 Dispatch.call(disp, "ConnCad"); // 调用DLL文件中的画圆方法 Dispatch.call(disp, "DrawCircle"); ComThread.Release();// 结束进程
9,先启动AutoCAD后运行Java代码即可间接通过Java代码调用AutoCAD接口进行画圆操作。
博主第一次写博客,缺漏之处,恳请指正!
- Java基于VB通过Jacob调用AutoCAD接口
- Java直接通过Jacob调用AutoCAD接口
- java通过jacob调用word
- java通过jacob调用word
- java中通过jacob调用word方法
- Java通过jacob调用ocx 转载2
- java 通过Jacob调用C#函数
- VB外部调用AutoCAD
- java 用jacob 调用vb写的dll
- java 用jacob 调用vb写的dll
- java中通过jacob调用dts进行数据导入导出
- java通过jacob实现对com组件的调用
- java+jacob实现word转pdf(通过调用模板文件)
- Java之Jacob调用COM接口DLL-----------------------------------dm。dll
- 基于java调用https接口
- 基于java调用https接口
- Java调用COM组件 JACOB
- VB通过http调用验证码短信接口源码
- 深度学习caffe的代码如何学习
- 微信扫描二维码跳转页面
- Android之逐帧动画
- [转]踢球装逼要诀!这个就厉害了!
- SVG学习(二)
- Java基于VB通过Jacob调用AutoCAD接口
- 什么是Java位运算符
- 一些融会贯通的知识点----持续更新
- k数和
- Android wakelock学习
- 关于IE8浏览器下,split()和replace()函数的不兼容问题
- 使用Python学习selenium测试工具-2:快速入门
- ubuntu--同时使用无线网卡和有线网卡
- 创业公司如何构建数据指标体系