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

内容提要:
        今天又是周五,到了双休的日子,比较兴奋,看了一晚上的《最强大脑》,顿时赶脚智商成了硬伤。。。刚才躺下打算睡觉,觉得还是应该写写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语言实例解析精粹(第二版) 电子书及源代码 附清晰版电子书及源代码 第一部分 基础篇 实例1 第一个C程序 实例2 运行多个源文件 实例3 求整数实例4 比较实数大小 实例5 字符的输出 实例6 显示变量所占字节数 实例7 自增/自减运算 实例8 数列求和 实例9 乘法口诀表 实例10 猜数字游戏 实例11 模拟ATM(自动柜员机)界面 实例12 用一维数组统计学生成绩 实例13 用二维数组实现矩阵转置 实例14 求解二维数组的最大/最小元素 实例15 利用数组求前n个质数 实例16 编制万年历 实例17 对数组元素排序 实例18 任意进制数的转换 实例19 判断回文数 实例20 求数组前n个元素实例21 求解钢材切割的最佳订单 实例22 通过指针比较整数大小 实例23 指向数组的指针 实例24 寻找指定元素的指针 实例25 寻找相同元素的指针 实例26 阿拉伯数字转换为罗马数字 实例27 字符替换 实例28 从键盘读入实数 实例29 字符行排版 实例30 字符排列 实例31 判断字符串是否回文 实例32 通讯录的输入输出 实例33 扑克牌的结构表示 实例34 用“结构”统计学生成绩 实例35 报数游戏 实例36 模拟社会关系 实例37 统计文件的字符数 实例38 同时显示两个文件的内容 实例39 简单的文本编辑器 实例40 文件的字数统计程序 实例41 学生成绩管理程序 第二部分 数据结构篇 实例42 插入排序 实例43 希尔排序 实例44 冒泡排序 实例45 快速排序 实例46 选择排序 实例47 堆排序 实例48 归并排序 实例49 基数排序 实例50 二叉搜索树操作 实例51 二项式系数递归 实例52 背包问题 实例53 顺序表插入和除 实例54 链表操作(1) 实例55 链表操作(2) 实例56 单链表就地逆置 实例57 运动会分数统计 实例58 双链表 实例59 约瑟夫环 实例60 记录个人资料 实例61 二叉树遍历 实例62 浮点数转换为字符串 实例63 汉诺塔问题 实例64 哈夫曼编码 实例65 图的深度优先遍历 实例66 图的广度优先遍历 实例67 求解最优交通路径 实例68 八皇后问题 实例69 骑士巡游 实例70 用栈设置密码 实例71 魔王语言翻译 实例72 火车车厢重排 实例73 队列实例 实例74 K阶斐波那契序列 第三部分 数值计算与趣味数学篇 实例75 绘制余弦曲线和直线的叠加 实例76 计算高次方数的尾数 实例77 打鱼还是晒网 实例78 怎样存钱以获取最大利息 实例79 阿姆斯特朗数 实例80 亲密数 实例81 自守数 实例82 具有abcd=(ab+cd)2性质的数 实例83 验证歌德巴赫猜想 实例84 素数幻方 实例85 百钱百鸡问题 实例86 爱因斯坦的数学题 实例87 三色球问题 实例88 马克思手稿中的数学题 实例89 配对新郎和新娘 实例90 约瑟夫问题 实例91 邮票组合 实例92 分糖果 实例93 波瓦松的分酒趣题 实例94 求π的近似值 实例95 奇数平方的有趣性质 实例96 角谷猜想 实例97 四方定理 实例98 卡布列克常数 实例99 尼科彻斯定理 实例100 扑克牌自动发牌 实例101 常胜将军 实例102 搬山游戏 实例103 兔子产子 实例104 数字移动 实例105 多项式乘法 实例106 产生随机数 实例107 堆栈四则运算 实例108 递归整数四则运算 实例109 复平面作图 实例110 绘制彩色抛物线 实例111 绘制正态分布曲线 实例112 求解非线性方程 实例113 实矩阵乘法运算 实例114 求解线性方程 实例115 n阶方阵求逆 实例116 复矩阵乘法 实例117 求定积分 实例118 求满足特异条件的数列 实例119 超长正整数的加法 第四部分 图形篇 实例120 绘制直线 实例121 绘制圆 实例122 绘制圆弧 实例123 绘制椭圆 实例124 设置背景色和前景色 实例125 设置线条类型 实例126 设置填充类型和填充颜色 实例127 图形文本的输出 实例128 金刚石图案 实例129 飘带图案 实例130 圆环图案 实例131 肾形图案 实例132 心脏形图案 实例133 渔网图案 实例134 沙丘图案 实例135 设置图形方式下的文本类型 实例136 绘制正多边形 实例137 正六边形螺旋图案 实例138 正方形螺旋拼块图案 实例139 图形法绘制圆 实例140 递归法绘制三角形图案 实例141 图形法绘制椭圆 实例142 抛物样条曲线 实例143 Mandelbrot分形图案 实例144 绘制布朗运动曲线 实例145 艺术清屏 实例146 矩形区域的颜色填充 实例147 VGA256色模式编程 实例148 绘制蓝
©️2020 CSDN 皮肤主题: Age of Ai 设计师:meimeiellie 返回首页
实付 99.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值