对于CAD开发,无疑较强大的方式是Lisp、AutoCAD二次开发,且学习资源丰富,依靠强大的AutoCAD的环境可以干很多事,省很多力。但若要脱离AutoCAD环境,那就当属Teigha了。

名称问题

Teigha(我读着"胎压",没有标准语音)是ODA的一个产品名称。ODA(Open Design Alliance),开放设计联盟,于1998年创建,一个致力于实现CAD数据格式交换和共享的非盈利国际组织,它的Teigha是一套面向对象的支持多平台、多版本、多格式的CAD文件的类库,可脱离AutoCAD环境实现读写操作、绘制渲染和转换输出等。

Teigha for .dwg(曾用名OpenDWG、DWGdirect)是Teigha的一个子集,除操作dwg文件外,它还有操作BIM(revit), Civil, Architecture, Mechanical等子集。也就是说对于Autodesk公司的产品,它基本都有相应的SDK。刚接触它很容易被它的名称搞晕。2010年,ODA将其所有的软件统一命名为" Teigha",而在2018年9月官方宣布将弃用"Teigha"这个产品名。这是他们的LOGO和标语,我不作评论。

在没改名前,它们的类库依赖关系是:

其中,Teigha.NET是我们接下来要讲的一套基于.NET读写CAD文件的类库。

收费问题

同名称一样,这是很多人都没搞清楚的问题。ODA是一个会员制的组织,会员由软件公司、软件开发人员以及使用者组成。所以我们非会员无法下载类库、查看帮助文档等(官网www.opendesign.com )。会员负责向联盟和其他会员提供ODA技术平台、创建图形化应用程序的工具等。在版权方面,对于非商业应用,可以自由使用ODA提供的工具和软件包;对于商业应用,需要交纳会员注册费用。ODA会员的会费为ODA平台软件研发提供资金支持,研发的成果供所有会员使用。基于ODA平台,会员可以集中精力解决业务方面的问题,不再为读写CAD文件而花费时间。

兼容性问题

本文使用的版本是Teigha.NET 4.00_10,与Autocad的兼容性也非常好。原因是它们有错综复杂、理还乱的关系:

由于CAD市场较好,有很多类似AutoCAD的软件要来分一杯羹,界面、命令、甚至二次开发都完全一样,兼容性也非常好,它们大部分基于IntelliCAD(ITC)和BricsCAD(比如中望CAD基于IntelliCAD,目前只有IntelliCAD和浩辰CAD能摆脱ITC内核),而开发BricsCAD的公司原来是ITC的成员,而IntelliCAD也是ODA的成员,现在IntelliCAD正用ODA的库重写IntelliCAD。ODA是由IntelliCAD的老东家Visio牵头成立的……我都说晕了,也不画图来解释了,这也不是重点。总之,由于这些公司和品牌由很多关联关系,所以出来的产品兼容性也很好!

Teigha.NET开发入门1- Teigha介绍的更多相关文章

  1. Arduino可穿戴开发入门教程LilyPad介绍

    Arduino可穿戴开发入门教程LilyPad介绍 Arduino输出模块 LilyPad官方共提供了4种输出模块,他们分别是单色LED模块(图1.5).三色LED模块(图1.6).蜂鸣器模块(图1. ...

  2. mxgraph进阶(二)mxgraph的初步介绍与开发入门

    mxgraph的初步介绍与开发入门 前言 由于小论文实验需求,需要实现根据用户日志提取出行为序列,然后根据行为序列生成有向图的形式,并且连接相邻动作的弧上标有执行此次相邻动作的频次.为此,在大师兄徐凯 ...

  3. Arduino可穿戴开发入门教程Arduino开发环境介绍

    Arduino可穿戴开发入门教程Arduino开发环境介绍 Arduino开发环境介绍 Arduino不像我们使用的PC端操作系统一样,可以直接在操作系统中安装软件为操作系统编程.Arduino的软件 ...

  4. Arduino可穿戴开发入门教程LilyPad和LilyPad Simple的介绍

    Arduino可穿戴开发入门教程LilyPad和LilyPad Simple的介绍 LilyPad和LilyPad Simple的介绍 LilyPad和LilyPad Simple是LilyPad微控 ...

  5. 【转载】salesforce 零基础开发入门学习(五)异步进程介绍与数据批处理Batchable

    salesforce 零基础开发入门学习(五)异步进程介绍与数据批处理Batchable   本篇知识参考:https://developer.salesforce.com/trailhead/for ...

  6. 【转载】salesforce 零基础开发入门学习(三)sObject简单介绍以及简单DML操作(SOQL)

    salesforce 零基础开发入门学习(三)sObject简单介绍以及简单DML操作(SOQL)   salesforce中对于数据库操作和JAVA等语言对于数据库操作是有一定区别的.salesfo ...

  7. 【转载】salesforce 零基础开发入门学习(一)Salesforce功能介绍,IDE配置以及资源下载

    salesforce 零基础开发入门学习(一)Salesforce功能介绍,IDE配置以及资源下载   目前国内已经有很多公司做salesforce,但是国内相关的资料确是少之又少.上个月末跳槽去了新 ...

  8. openresty 前端开发入门五之Mysql篇

    openresty 前端开发入门五之Mysql篇 这章主要演示怎么通过lua连接mysql,并根据用户输入的name从mysql获取数据,并返回给用户 操作mysql主要用到了lua-resty-my ...

  9. [译]:Xamarin.Android开发入门——Hello,Android Multiscreen深入理解

    原文链接:Hello, Android Multiscreen_DeepDive. 译文链接:Xamarin.Android开发入门--Hello,Android Multiscreen深入理解. 本 ...

随机推荐

  1. C# 类的序列化和反序列化

    序列化 (Serialization)将对象的状态信息转换为可以存储或传输的形式的过程.在序列化期间,对象将其当前状态写入到临时或持久性存储区.以后,可以通过从存储区中读取或反序列化对象的状态,重新创 ...

  2. systemd创建自定义服务(Ubuntu)

    /lib/systemd/system下创建test.service文件 vim /lib/systemd/system/test.service [Unit] Description=test [S ...

  3. 055 kafka可靠性与高性能

    一:可靠性 1. 二:高性能 1.

  4. pythonclass,day1-day2.

    由于是小白,真的一点点的基础都没有,所以压力确实有点大的.全程都是在碰壁,没有明白的地方,装个软件都问题层出不穷,别人几秒钟搞定的,我需要几十分钟,甚至更久...真的是,太强烈的挫败感了,整个人被乌云 ...

  5. 在Idea中添加自定义补全代码设置(Main方法为例)

    一.打开File->setting->Editor->Live Templates 二.注意右边有“+”.“-”号,点击+号选择第二个Template Group...,并输入新组名 ...

  6. Codeforces 992C Nastya and a Wardrobe (思维)

    <题目链接> 题目大意: 你开始有X个裙子 你有K+1次增长机会 前K次会100%的增长一倍 但是增长后有50%的机会会减少一个 给你X,K(0<=X,K<=1e18), 问你 ...

  7. Python常用模块--re

    Python内部的re--传闻中的正则模块,是无数初学者心中的噩梦,几乎到了谈正则色变的地步. 1.正则是干什么的 正则表达式,又称规则表达式.(英语:Regular Expression,在代码中常 ...

  8. Windows下的Hadoop安装(本地模式)

    时隔许久的博客.. 系统为Windows 10,Hadoop版本2.8.3. 虽然之前已经在Linux虚拟机上成功运行了Hadoop,但我还是在Windows上编码更加习惯,所以尝试了在Window上 ...

  9. js和jquery获取当前元素的内容

    html代码 <div>测试文本</div>js:div.innerHTMLjQuery:div.html()

  10. IDEA安装使用Lombok插件

    项目中经常使用bean,entity等类,绝大部分数据类类中都需要get.set.toString.equals和hashCode方法,虽然IDEA开发环境下都有自动生成的快捷方式,但自动生成这些代码 ...