1、问题的提出:

在使用CAD自动绘制一般的小原件时,圆角半径一般是2-10mm,远远小于设备的边界,很很少会遇到圆角半径过大的问题。
最近,在绘制钟型大小头的时候,为了让边界过度更加圆滑,最初选用大小头大头的外径D作为圆角半径:

在绘制小于DN100的大小头没有问题,后来试着绘制DN500*250大小头时,圆角命令没有完成,提示是“圆角半径太大”:

在百度上查,如何确认最大的圆角半径,没有人写清楚,只好自己进行以下思考和分析:

2、从最简单的模式开始:

需要进行圆角的两条边相互垂直的情况:

很直观,如果圆角半径大于短边L2,则相切的点会在OB的延长线上,是无法绘制出这个圆角的弧线。

3、加大一点点难度:

现在要进行圆角的两条边夹角是钝角,我有该如何确认这个最大的圆角半径是多少呢?因为,如果我直接选择用短边作为半径,倒出来的圆角太小,看起来跟没有进行圆角一样。要计算这个最大圆角半径,画个图来分析一下:

首先,画出两条边的一个相切圆:
用”T”选项:


很显然,这个半径还很小,切点离短边B点还很远。
那么,如果要计算最大圆角半径,就是相当于圆和短边的相切点刚刚好在B点。
在B点,画出OB的垂直线BC,而所有要和OA、OB线都相切的圆心都经过∠AOB的夹角中线上,画出中线OD:

OD和BC的交点O1是圆心,得出最大圆角半径是L。

4、下一个问题:如何计算?

在单个图里,可以画图然后标注出L的长度,但是,我自己的LISP程序里,不可能每次都是这样画图再输入程序。如何自动计算出L?
分析:在绘制大小头过程中,已经计算出点AOB的坐标,短边L2的长度是我自己定的,也是已知条件。

如果半夹角为C

tan C=L/L2=(sin C)/(cos C)

L= L2 * (sin C)/(cos C)

AUTOLISP没有TAN函数,我只好用(SIN C)/(COS C)来表示。

完整实验代码:

;;;最大圆角半径计算:
(defun c:yjbj()(SETQ A (GETPOINT "\n选择长边上一个点 A :"))(SETQ O (GETPOINT "\n选择交点 O :"))(SETQ B (GETPOINT "\n选择短边端点 点 B :"))(SETQ  OB  (ANGLE  O  B));OB相对于X轴的夹角(SETQ  OA  (ANGLE  O  A));OA相对于X轴的夹角(SETQ   C   (/   (-  OA  OB)  2));半角变量用C表示(SETQ L2 (DISTANCE O B));计算L2长度(SETQ L (* L2  (/ (SIN C) (COS C))));计算L长度(setq YX (POLAR B (+ OB (* PI 0.5)) L));计算最大相切的圆心点坐标(COMMAND "CIRCLE" YX L);画出那个最大的圆)

5 、其他:

可能有其他问题没有考虑到,希望有人给我补充一下。

AUTOCAD圆角半径过大问题的思考和计算相关推荐

  1. android icon 圆角半径,iOS和安卓APP启动图标的尺寸和圆角值详解

    今天在APP设计交流群里,又有不少的初学的APP设计小伙伴都在问ios端和安卓端的启动图标尺寸大小和圆角半径大小. 第一部分:我们先来看看iOS端的图标的尺寸和圆角大小详解 A.iOS6和之前版本,应 ...

  2. app图标圆角角度_[转载]iOS app 图标的圆角半径是多少?

    iOS app 图标的圆角半径是多少? 括弧里面是对应的半径大小 App store(Retina屏) ─────────────1024px(160px) iTunes Artwork icon ─ ...

  3. 【CSS】盒子模型圆角边框 ( 通过设置 border-radius 样式设置圆角矩形圆角半径 )

    文章目录 一.盒子模型圆角边框 二.代码示例 1.代码示例 - 正常矩形边框 2.代码示例 - 圆形边框 3.代码示例 - 圆角矩形边框 4.代码示例 - 综合对比示例 一.盒子模型圆角边框 在 CS ...

  4. 图片裁剪与圆角半径设置(将图片裁剪为圆形)

    如上: 需求:将左边图片改变为右边的图形 1.鼠标右键--用"裁剪图片",将图片裁剪为正方形 2.在"元件属性与样式"---样式---圆角半径,将圆角半径设置为 ...

  5. 机器的思考故事——计算机能学会牛顿第二定律吗?

    机器的思考故事--计算机能学会牛顿第二定律吗? 本项目从"牛顿第二定律"入手,介绍机器学习的思考过程,以及在过程中如何确定模型参数,模型三个关键部分(假设.评价.优化)该如何应用. ...

  6. 【问题描述】定义一个Circle类,有数据成员radius(半径),成员函数getArea()计算圆的面积。构造一个Circle的对象进行测试(注:圆周率取值3.14)。

    [问题描述] 定义一个Circle类,有数据成员radius(半径),成员函数getArea()计算圆的面积.构造一个Circle的对象进行测试(注:圆周率取值3.14). [输入形式] 程序参考的输 ...

  7. html圆角半径,CSS3 / 绘制四个角不同半径的圆角边框 - 汇智网

    绘制四个角不同半径的圆角边框 如果要绘制的圆角边框四个角半径各不相同,可以将border-top-left-radius属性.border-top-right-radius属性.border-bott ...

  8. android linearlayout 边框 圆角,如何将圆角半径应用于LinearLayout

    您可以在可绘制文件夹中创建一个XML文件.称呼它,例如,shape.xml 在shape.xml: xmlns:android="http://schemas.android.com/apk ...

  9. PTA 7-4 输入半径(大于0),计算圆面积-math库

    本题目要求输入半径(大于0),使用math库中的pi常量来计算圆面积. 注意:如果输入半径的数据不符合条件,则重复输入直到满足条件才进入后续的计算. 输入格式: 输入一个数. 输出格式: 半径为res ...

  10. ‘完成下面程序:取圆周率为3.14 ,从键盘中输入半径r和高h,计算并输出圆柱体的体积。‘

    #include<iostream> #include<iomanip> using namespace std; int main() {double pi=3.14; do ...

最新文章

  1. LeetCode 104. Maximum Depth of Binary Tree--二叉树高度--递归或迭代--C++,Python解法
  2. 《JAVA与模式》之命令模式
  3. CSS教你玩转背景background-position(1)
  4. 每秒处理请求数和并发的关系
  5. 更改计算机名引起的奇怪问题:“重新启动计算机之前控制台无法刷新”
  6. 创建一个CentOS 7的模板
  7. php模拟登录其他网站,PHP利用Curl模拟登录并获取数据例子
  8. micoolcoder 验证码 for php v1.0 全字符版,Micoolcoder 验证码 for PHP v1.0 全字符版
  9. 好书分享:TP311.561《深度学习入门:基于python的理论与实现》[日] 斋藤康毅 著
  10. 关于SPSS软件的使用
  11. android 高仿网易,Android项目实战教程之高仿网易云音乐启动页实例代码
  12. java考试座位号_怎么用java编写出座位号(1.0)这样格式?
  13. 金融大数据革命-eXtremeDB金融数据库-列数据库
  14. java线程中join方法的简单讲解
  15. 计算机报名照片最小像素高宽,网上报名照片如何确定大小
  16. 计算机毕业设计论文该怎么写?软件工程毕设选题推荐有哪些;计算机毕业设计不会做怎么办;怎么做什么简单;电子信息工程毕业设计要做到什么程度
  17. R语言实现SOM(自组织映射)模型(三个函数包+代码)
  18. 水星路由器wan口ip显示0_路由器WAN口获取不到IP地址怎么办?
  19. oracle amm和asmm,AMM与ASMM
  20. YOLOv1的loss函数

热门文章

  1. 图神经网络的实现,神经网络框架图
  2. ie7/8卸载工具 降级到IE6
  3. 安全漏洞防御(1)如何防止被拖库
  4. rapidminer decision tree(决策树)手册
  5. thinkphp 使用 kindEditor
  6. Winform/C#入门编程之第三部分容器(四:缩放控件SplitContainer)
  7. Unity插件——Odin 学习笔记(一)
  8. 0x800700b7 linux,0x800700b7解决方法
  9. “鬼影”浅析 - 反病毒,信息安全,网络安全,反木马,病毒资讯平台,安全解决方案,电脑使用技巧,杀毒软件交流,anti-virus,民间反病毒联盟
  10. 正版操作系统下载大全