因为在项目中需要从autoCAD 的dwg文件中提取标题框中的属性插入到数据库中实现图纸的批量入库.

一开始在网上搜索这方面的资料,其中有一些控件可以脱离autoCAD系统提取的,但都是要收费的.比如openDwg是用的比较多的.但是要交费成为会员才能使用.于是想自己分析DWG的文件格式,然后自己写个控件出来.找到了DWG文件格式说明.一看,吓一跳,如此的复杂,自己写是不现实的.

只好找其他的门路了.后来知道了ActiveX Automation,可以通过 ActiveX Automation操作AUTOCAD,进而提取DWG文件的信息.于是用VB写了个控件,在客户端调用.但在JavaScript中调用需要数字签名,自己用其他工具生成的证书问题多多,不能为ActiveX控件进行签名,只好放弃.

http://www.gaodaima.com/41017.html在java中实现 AutoCAD api

但是这种方式也不能脱离AUTOCAD Application.感觉这样的话怪怪的,整个系统都要被AUTOCAD Application牵绊,脱离不了ms的windows.后来经过分析,其实自己的思路被java牵绊着,老是排斥ms的东西.而客户他们使用的是AUTOCAD,他只能在ms的windows上运行,并且客户的服务器也是ms的.这样的话服务端的开发使用.net或java都可以,但客户选择了后者.这样的话就可以在服务器端同过java调用AUTOCAD的api控制AUTOCAD Application操作DWG了.

现在的设想是:系统中client将DWG文件上传至server,在server上取得DWG中的信息,然后返回给客户端.

于是在servlet中利用jacob调用ActiveX组件操作.问题出现了,每个client的请求都会打开一个Application,这样将占用大量的系统资源.受到数据库连接池的启发,可将AUTOCAD Application看作是一个数据库,在系统启动是打开,以后client的每个请求就是一个连接,用完后关闭.

这还只是初步的设想.具体的利用jacob进行调用.虽然在AUTOCAD的网站中搜索到可以用java进行二次开发,不过好象是针对ms的j++.所以只好通过jacob来调用ActionX了.由于利用jacob来实现调用需要输入大量的参数.所以对api还需要进一步的封装.

欢迎大家阅读《在java中实现 AutoCAD api》,跪求各位点评,若觉得好的话请收藏本文,by 搞代码

微信 赏一包辣条吧~

支付宝 赏一听可乐吧~

autocad java api_在java中实现 AutoCAD api相关推荐

  1. java 常用的api_Java中常用的API(一)——Object

    概述 如果要问Java为什么是用起来非常舒服的语言,那很大一部分的功劳就是JavaAPI的.API定义了许多封装好的类和方法供我们使用,来处理特定的问题,所以学习常用的API是非常重要的. 同时,面向 ...

  2. Java基于VB通过Jacob调用AutoCAD接口

    Java 以跨平台深受大家喜欢,而由于它跨平台的目的,需要运行在java虚拟机上工作,使得它和本地机器各种内部联系变得很少,约束了它直接掉本地API的功能.本例采用VB代码生成调用AutoCAD接口的 ...

  3. java string 占位符_驳《阿里「Java开发手册」中的1个bug》?

    前两天写了一篇关于<阿里Java开发手册中的 1 个bug>的文章,评论区有点炸锅了,基本分为两派,支持老王的和质疑老王的. 首先来说,无论是那一方,我都真诚的感谢你们.特别是「二师兄」, ...

  4. SearchHit转成java对象_Java开发中最常犯的10个错误,你中招了吗?

    http://www.programcreek.com/2014/05/top-10-mistakes-java-developers-make/ 阅读目录 Array转ArrayList 判断一个数 ...

  5. java mod %区别_Java中 % 与Math.floorMod() 区别详解

    %为取余(rem),Math.floorMod()为取模(mod) 取余取模有什么区别呢? 对于整型数a,b来说,取模运算或者取余运算的方法都是: 1.求 整数商: c = a/b; 2.计算模或者余 ...

  6. android java style_Android 在Java代码中设置style属性--使用代码创建ProgressBar对象

    强烈推荐: 在andriod开发中,很大一部分都要与资源打交道,比如说:图片,布局文件,字符串,样式等等.这给我们想要开发一些公共的组件带来很大的困难,因为公共的组件可能更愿意以jar包的形式出现.但 ...

  7. java string与integer_Java中Integer和String浅谈

    http://qxzxcjq-126-com.iteye.com/blog/883283 Java中的基本数据类型有八种:int.char.boolean.byte.long.double.float ...

  8. maven只打包java目录_ssm项目中maven对resources目录打包的路径_默认路径,自定义路径...

    博客引用处(以下内容在原有博客基础上进行补充或更改,谢谢这些大牛的博客指导): ssm项目打包后mybatis的mapper.xml文件没有放进去 问题出现的原因: ssm项目打包后mybatis的m ...

  9. JAVA坏境变量中的JAVA_HOME path classpath 的设置与作用。

    JAVA坏境变量中的JAVA_HOME path classpath 的设置与作用. 今天再次设置java的环境变量,突然发现每次设置都只是按照步骤一步步将其设置完,并不了解为啥要设置,于是上网找了找 ...

最新文章

  1. 教你加快Win7 的启动速度
  2. JAVA连接hbase伪分布失败_hbase伪分布安装配置
  3. 桥接路由器总是掉线_多路由的无线桥接步骤
  4. Hive SQL优化之 Count Distinct
  5. [js] 你是如何比较js函数的执行速度的?
  6. QT4.8.5 显示中文
  7. Linux 基本命令(三)--histroy 常用命令详解
  8. PHP图片水印右下角,php图片水印处理
  9. 《乔布斯传》阅读笔记
  10. 大唐杯题库(300道)(一)
  11. 第十四章 C语言头文件的编写_C语言模块化编程中的头文件
  12. DataPipeline王睿:业务异常实时自动化检测 — 基于人工智能的系统实战
  13. FMS直播和点播测试
  14. 解决联想笔记本 FN键不起作用的方法
  15. python的伪代码怎么写_如何写伪代码 - Take-it-and-apply-it - 博客园
  16. 软考高级 真题 2015年下半年 信息系统项目管理师 综合知识
  17. linux中su 与su-的区别
  18. 10.31周报-人体姿态估计CPN
  19. MAC文件图标自动排列+取消自动排列
  20. PHP对接企业微信审批回调

热门文章

  1. 手把手教你爬取任意日期全部股票分时数据~
  2. linux操作系统是什么,操作系统概述
  3. 机器学习 知识图谱常用术语
  4. Asynchronous FIFO with gray code(异步FIFO verilog设计理念)
  5. 儿童保温杯市场前景分析及行业研究报告
  6. 用Notepad++实现文本比较
  7. linux云计算工程师百度百科,广州学习linux云计算工程师
  8. Vue项目设置全屏背景图片上方有白边的问题
  9. JIRA实践系列-JIRA与teambition对接指南
  10. 使用Linux命令cURL实现文件定时上传到ftp服务器的程序