内容提要:
        今天又是周五,到了双休的日子,比较兴奋,看了一晚上的《最强大脑》,顿时赶脚智商成了硬伤。。。刚才躺下打算睡觉,觉得还是应该写写CAD二次开发的相关一些内容,原因是最近搜网上对于这种实例原理分享的内容忒少了,毫无头绪,因此进行一个简单的分享,希望和我一样的寻求如何对CAD进行二次开发的,亦或是不知道怎么做的,可以参考一下一些拙见。
        最近由于公司业务逐渐的增多,而同事与cad相关的工作,有不少是重复性工作,而软件往往就是为了减少重复性的工作,增加创新性的工作,提高工作效率,减少差错率等~~说这么一句话,在CAD基础上开发插件,解决这些问题。。。只好硬着头皮上了
        个人是选择C#进行CAD的二次开发,原因使用起来相对来说容易上手,首先C#是高级语言,面向对象,本身自己从Java出身;C#还有一个优势,就是依然可以调用C++库,可以很好的托管一些现有的功能,由于自己在C#和cad的使用完全是菜鸟,因此在网上找了两本现有可以找到的书《NET_CAD深居浅出AutoCAD二次开发 C#版》
和《深入浅出cad二次开发》,废话不说了,下面说一下代码实现倒圆角的原理,由于涉及到软件著作权,就不贴代码了
        首先倒圆角从命令的使用时,选中命令,然后选择两条线,在给定的半径下进行画圆弧。介于以上的命令使用方式,因此开始考虑使用C#所支持sendstringtoexecute来调用fillet命令,如
        sendstringtoexecute("._fillet \n r\n 0.7\n");
当写到这个命令时间,必须要指定两条线才能回画出,然后进行了仿照Lisp语言的ObjectID的获取,Handle的获取,HighLight的设置调用,均无效~~彻底失望,想了一年愣是没想出来怎么才能成功的调用语言,也可能是由于自己对于二次开发的经常不足吧,可能还不熟悉正确的调用方法。
因此进行了转换角度思考,C#既然进行arx等类库的封装,那么可以理解,一些基本的常用的功能都会实现,不用进行托管c++,并且如果调用命令的话,往往比较难以控制,因此就用数学算法的形式进行代码的开发。。。
        两条线 l1和l2 可以获取两线的交点p,需要画的倒圆角的半径已知r,根据CAD的方法,Point3d中可以算出此两条线的夹角,因此可以使用数学函数sin,可以求出p点和圆心点的距离,进而根据Cure中的方法可以算出圆弧的圆心o,因此可以按照圆心o和半径r做圆,这样就会和l1、l2进行相切,这时间按照同样的思路可以获得两个切点,然后根据point2d的方法,获取切点和原型o的的角度,这样就可以获得起始角度和终点角度,加上o和半径r,这样就可以画圆弧了,最后这个圆弧就是倒圆角。
        这么一说是不是觉得简单了呢~~
        关于CAD二次开发的是资料挺少了,视频就更没有了,不知道是冷门,还是大家都不想分享,个人这么有一些资料,需要的留邮箱啊,好吧,随时进行cad二次开发的内容更新。。。碎觉,晚安
               

C#进行AutoCAD二次开发实例之倒角功能实现原理介绍相关推荐

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

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

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

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

  3. AUTOCAD 二次开发学习笔记

    图层处理: ​​​​​​(16条消息) C#之CAD二次开发实例 (13) 图层操作_yzk1062913581的博客-CSDN博客 (16条消息) .NET AutoCAD二次开发之路(二.直线篇) ...

  4. lisp 圆柱螺旋线_Auto LISP对AutoCAD2002进行二次开发实例——绘制二维函数曲线

    Auto LISP 对 AutoCAD 2002 进行二次开发实例 ---绘制二维函数曲线Ξ李旭荣 ,任奕玲 ,梁秀英 ,刘梅英 (华中农业大学 工程技术学院 ,湖南 武汉 430070) 摘 要:主 ...

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

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

  6. lisp二次开发 微盘_基于AutoLISP的AutoCAD二次开发研究_郭秀娟.pdf

    2008 年 12 月 Journal of Jilin Architectural and Civil Engineering Institute Dec.2008 基于 AutoLISP 的 Au ...

  7. objectarx用户交互_AutoCAD2010二次开发实例教程(附光盘ObjectARX)

    导语 AutoCAD软件二次开发牵涉的面非常广,不可能在一本书中将其完全论述.王文波和邹清源等编著的<AutoCAD2010二次开发实例教程>把AutoCAD软件二次开发的内容归为实体对象 ...

  8. solidworks api二次开发实例详解_Solidworks开发语言对比及分析

    很多初学Solidworks二次开发的同学,也许都会纠结使用何种语言进行二次开发.对于Solidworks二次开发的语言,官方有VBA,VB.NET,C#以及C++,四种语言. 用户通常会有如下疑问, ...

  9. 陈伯雄lisp_基于AutoLisp的AutoCAD二次开发自动生成系统图

    龙源期刊网 http://www.qikan.com.cn 基于 AutoLisp 的 AutoCAD 二次开发自动 生成系统图 作者:郎建山 金江 来源:<科技视界> 2013 年第 2 ...

最新文章

  1. 适配设备的简易新闻浏览器
  2. (原创)JAVA注解应用——实现属性的自动检测
  3. Django介绍和虚拟环境(django特点、MVC、MVT、Django学习资料)
  4. PNAS最新研究揭示大脑如何学习语言
  5. 华人打造二次元老婆生成器!尔康容嬷嬷成萌妹,图像视频都能变 | Demo可玩
  6. C语言经典例86-两个字符串连接
  7. Function接口练习之按照指定要求操作数据
  8. 怎样在html中实现图层重叠,javascript – 在HTML5画布中实现图层
  9. linux系统下 新建文件夹,使用ln命令在Linux系统中创建连接文件
  10. 【下载】深入oracle数据库专用虚拟机环境部署方案《VirtualBox+OELR5U7x86_64+Oracle11gR2》...
  11. EasyUI基础入门之Pagination(分页)
  12. 剑指offer面试题[7]-用两个栈实现队列
  13. 无模型自适应迭代学习控制原理和matlab代码仿真学习记录
  14. Windows下安装HDFView
  15. python王者荣耀
  16. 腾讯云文档数据库MongoDB怎么样?腾讯云文档数据库MongoDB有什么优点?
  17. 计算机光驱启动设置,bios设置光驱启动图文教程
  18. Ceph分布式存储的搭建(增加mon节点、模拟osd节点故障恢复)
  19. 用c语言绘制小猫图案,【科研猫·R】R语言从入门到精通:Day8
  20. 什么是泛域名?如何做泛域名解析?

热门文章

  1. 网络基础之OSI七层参考模型与TCP/IP五层模型
  2. android ART学习
  3. 自组网对讲机怎么轻松组网
  4. python的del方法_关于python:__ del__方法是什么,如何调用它?
  5. 查询其他系中比计算机科学某一学生年龄小的学生姓名和年龄.,带有ANY(SOME)或ALL谓词的子查询...
  6. c#购物车功能实现,用户登录及收藏功能实现
  7. word2003绘图工具在哪
  8. 【精益生产管理】如何培养新入职员工的6S管理意识
  9. 用Python 写一个机器人陪你聊天(文尾有彩蛋)
  10. android打开文件方法