最近有人问我ObjectArx怎么学?有c++的底子,懂一点MFC,会CAD的操作,基本上就可以了。写一些适合自己绘图的arx插件,很容易,也很方便。如果是想更深入的研究下去,那就需要更多的知识储备,包括计算机图形学,包括其他专业知识等等。以下是我当时跟他讲的一些我自己认为的CAD开发的知识点。

一个人开发适合自己使用的工具集不难,难在做通用的大型插件集合。
大型软件,自己一个人搞,太痛苦了,也太封闭了,你认为难写的东西可能别人已经做的很成熟了,所以平时可以多去论坛沟通,多看看别人写的优秀的插件。
通用型就更不用说,就结构专业而言,你通过参数化绘图画出来的东西,可能和别人设计院的标准不一样,兴许连图层名称都不一样。
市面上流传的大型软件一般来说都是已经很成熟,所有的设计院都使用了它的标准或者基于它的标准再定制,以天正和探索者为例子。
我当初在设计院工作的时候,公司有一个人懂得lisp开发,然后他做了一套工具集,类似于结构专业的小伙工具箱。
它包含了结构需要的大部分功能,包括建模,计算书的插入归并,墙柱工具,基础,基本绘图-画墙梁板住,批量打印,审图标记,选择易,配筋助手,快速改筋还有大量的计算小软件等等,由于只在公司内部使用,所以它里面规定的图层,文字样式,线形,打印样式等都是独立的。
这个软件可能到其他设计院,就没有那么强的通用性了。
我记得有一次新版本演示的时候,当时结构老大说,这个工具经过公司结构部门的使用和反馈,如果没有问题,到时候公司20W的价格买下了。当然,软件的加密和后期的维护的价格肯定也算在这个价格里面,也不算多。我当时离开的时候,版本更新到了3.0,现在也不知道后面怎么样了。
我印象很深的是它里面有一个功能叫做文字替代,这个有啥用呢。假设有一个钢筋文字是2d20,2根20的钢筋,然后你想修改为2d10,那你怎么改,配筋助手倒是有这个功能,可以给个面板直接修改,但是也慢。
也有类似屏幕改字的功能,但是都写的不好。它这个功能就是你按下1的数字建,然后鼠标点击到钢筋文字的2上面,就改好了,速度很快。它唯一不好的地方在于牺牲了数字键改成快捷键的优势。有人喜欢把1,2,3等数字键改成修改实体颜色功能。。。
自己写插件,可以大大加快自己的画图效率,普通人用cad,学会使用样板文件,学会使用块,参照,学会cad的大部分功能,绘图效率就比大部分人强太多了。如果需要更快,那也只能从二次开发入手,lisp,c#,vba,c++都是合适的,c++算是里面难度较大的,但是效益也高。我本人不太喜欢lisp,感觉lisp编程有点反人类。但是lisp是可以和objectarx通信的,这一点倒是挺好,可以和别人合作。
关于写代码,一般来说搞画图的人学cad二次开发,代码质量一般都不是太好,这个就需要下功夫了,多看看别人好的代码是怎么写的。我记得有个网友给我看了他写的代码,一个工程里面写了好多通用类,比如CLineUtil,CArcUtil等等,但是他没有把这些封装到一个DLL里面,导致一个ARX的文件大小就5,6M,关键是这个ARX可能只有一个功能。还有就是一个cpp文件,里面的代码有1万多行。嗯,不多说了。。。

基于ObjectArx进行cad二次开发总结相关推荐

  1. 用ObjectArx进行CAD二次开发的准备工作

    用ObjectArx进行CAD二次开发的准备工作 1.CAD二次开发工具介绍: 2.本文主要介绍ObjectArx工具安装及下载,故此处不讲解VS和CAD的安装 3.有2中下载的资源,并且有安装好的V ...

  2. ObjectARX(C++)-CAD二次开发调试方法

    1.创建一个ObjectARX项目 2.在acrxEntryPoint.cpp中添加以下代码用于调试测试: static void AAAMyGroupMyCommand () {// Put you ...

  3. cad二次开发 java_基于.NET的CAD二次开发学习笔记一:CAD开发入门

    1.AutoCAD .NET API由不同的DLL文件组成,它们提供用于访问图形文件或AutoCAD应用程序的包含丰富的类.结构.方法和事件.每一个DLL文件都定义不同的使用基于功能的库组织组件的命名 ...

  4. CAD自控lisp_基于AutoLisp的AutoCAD二次开发自动生成系统图

    基于 AutoLisp 的 AutoCAD 二次开发自动生成系统图 [摘 要]本文主要阐述了应用 autolisp 语言二次开发 autocad 自动生成系统图的实现方案. [关键词] autocad ...

  5. 关于objectArx /CAD二次开发中“属性块”操作

    关于objectArx /CAD二次开发中"属性块"操作 属性块就是在图块上附加一些文字属性(Attribute),这些文字可以非常方便地修改.属性块被广泛应用在工程设计和机械设计 ...

  6. 基于C#的AutoCAD二次开发之获取用户输入信息、选择集、访问CAD内部命令

    基于C#的AutoCAD二次开发之获取用户输入信息.选择集.访问CAD内部命令 在CAD创建图形对象时,经常需要和用户进行交互,例如:直线创建时需要用户输入起点和终点(或长度)信息,复制对象时需要指定 ...

  7. 基于C#的中望CAD二次开发学习笔记(1)环境测试

    目录 前言 一.ZRXSDK的安装使用 二.创建项目 三.编写环境测试代码 四.在ZWCAD中测试 参考资料 总结 前言 作为一个设计院搬砖人,和各种CAD打交道是必不可少的.当然,其中最为正统的是A ...

  8. 引用:基于C#的中望CAD二次开发学习笔记

    目录 前言 一.ZRXSDK的安装使用 二.创建项目 三.编写环境测试代码 四.在ZWCAD中测试 参考资料 总结 前言 作为一个设计院搬砖人,和各种CAD打交道是必不可少的.当然,其中最为正统的是A ...

  9. 光伏自动化出图系统 基于C#的AutoCad二次开发

    CAD计算机软件的开发及应用,是工程公司提高设计工作效率,工程设计质量的重要手段.在光伏发电工程设计的过程中,需要进行一系列工程计算.目前在设计中设计的计算包括:高度角计算,最佳倾角计算,光伏阵列布置 ...

  10. 常用的CAD二次开发语言:AutoLISP, LISP是List Processor(表处理程序)的缩写,cad系统的第一代开发工具注意和eclipse(IDE编程环境,java实现的)

    常用的CAD二次开发语言: 1 AutoLISP 全名是LIST Processing Language,LISP是List Processor(表处理程序)的缩写,cad系统的第一代开发工具,是一种 ...

最新文章

  1. php错误提示如何查询,php-如何显示我的MySQLi查询错误?
  2. MySQL数据库排序order by(asc、desc)
  3. “为啥Kaggle奖金那么少?”一场25000美元的比赛,却因“抠门”引发激烈讨论...
  4. 人工智能助力资深内容营销人员
  5. JAVA零碎要点015---java BigDecimal常见操作_加减乘除操作_比较_取几位小数四舍五入_随时更新
  6. 【开学福利】13本python+AI书籍,快拿去
  7. python中bytes用法_Python中BytesIO的使用场景,什么时间应该使用BytesIO?
  8. Ubuntu 上搭建 TFTP 服务器
  9. 前端H5企业微信第三方应用开发浅谈(一)
  10. 将经纬度转换为以度为单位的xy坐标
  11. 中西文化交流互融:500年老字号隆庆祥“奏响”2022年
  12. C语言中符号表示什么意思?
  13. 解决 win10 桌面 资源管理器未响应
  14. 逻辑思维训练1200题-蓝桥杯计算思维参考
  15. win10希望计算机做什么取消,主编设置win10设置和取消定时关机的解决形式
  16. Java 知识点整理-7.StringBuffer类+冒泡排序+选择排序+二分法+Arrays类+基本数据类型的包装类
  17. AB测试-A/B Test
  18. ios6.0 siri语音识别
  19. 调试JS获得动态视频地址
  20. 关于emWin显示矢量字体TTF所踩的坑

热门文章

  1. JVisualVM监控
  2. cad放大_dwg文件怎么打开?CAD看图,360°精确识别CAD图块,细节见真章
  3. Mac上好用的MP4高清视频格式转化软件
  4. HenCoder Android 开发进阶:自定义 View 1-3 drawText() 文字的绘制
  5. 复变函数第一章第二章知识脑图
  6. CE教程第九关——处理共用代码
  7. 安卓网页离线保存_Android webView 缓存 Cache + HTML5离线功能 解决
  8. LVGL学习 lv_label
  9. Word 2019 更改默认模板的字体设置
  10. 联想java笔试题20190618