AutoCAD 产品设计:图形单位

news2024/11/23 7:21:06

本文讲解 AutoCAD 产品的图形单位功能产品设计,没有任何代码实现。

使用的 AutoCAD 为 2020 版本

图形单位是什么?

图形单位是用于设置 一些属性数据应该用什么格式显示 的命令,命令标识为 un(units)。

举个例子。

某个圆的半径,在数据上是 12.3456,但我们给长度单位配置为 “科学计数法类型”,精度为 2(即保留两位小数),在特性面板或其他显示界面上,它需要显示为 1.23E+01

特性面板中的单位:

动态输入框的单位:

单位分为两类:

  • 线性单位(长度单位)
  • 角度单位

线性单位(长度单位)

线性单位(linear units)用于一些长度、坐标等线性数据

用于在 UI 层显示对应类型单位,数据层保持原来的十进制小数格式。另外,UI 层修改对应格式数据会转换回十进制小数,写回到数据层。

例子

比如设置线性单位的类型设置为科学计数法(对应值 1),精度为 2。

数据是十进制的 12.345678,在 UI 上会转换为 1.23E+01 进行显示。

如果在 UI 层的输入框将其改为 1.23E+02,在失焦时会将这个字符串转换为十进制小数格式的 123,保存回数据层。

需要实现格式两大类转换算法:

  1. 十进制小数转其他格式,需要考虑精度;
  2. 其他格式转小数,不需要考虑精度,但要做校验补正。

需要实现两类方法:

// 十进制转其他格式
convertDecimal(decimal, type, precision)
// 其他格式转小数
convertToDecimal(str, type)

长度单位的可选类型(linearUnits)

  • 1 :科学。1.2346E+02
  • 2: 小数。123.456
  • 3: 工程。123'-4.56"
  • 4: 建筑。123'-4 5/8"
  • 5: 分数。12 3/4

长度精度(linearPrecision)

0 到 8 的整数。

比如对小数来说,代表保留 0 位到保留 8 位小数。

具体不同类型对应那些格式,可以看去打开弹窗看看下拉选项。

角度单位

角度单位(angle units)用于显示像是旋转之类的角度相关的弧度数据。

中文为 “角度”,那只是给用户看到。angle 本意为度,不代表具体的格式。其实更准确的描述是 “度”,而不是 “角度”。

该配置用于在 UI 层显示对应类型角度单位,数据层保持原来的角度值,并且在 UI 层修改对应格式数据也会转回弧度,保存会数据层。

例子

假设角度单位的类型设置为弧度(对应值 3),精度为 2,旋转方向为 false(逆时针),基准角度为 0。

数据是十进制的 180,在 UI 上会转换为 3.14r 进行显示。

如果在 UI 层的输入框将其改为 3r,它会在 onChange 中将这个字符串转换为角度 171.88733853924697,保存回数据层。

同样需要实现两类方法,但相比长度单位多了 “角度方向” 和 “基准角度” 的参数。

// 弧度 -> 其他
convertRandian(radian, type, presicion, angleDir, angleBase)
// 其他 -> 弧度
getToDegreeParser(AngleUnitEnum.Radian)(str, type, angleDir, angleBase)

角度单位可选类型(angleUnits)

设定角度单位(AutoCAD 系统变量是 AUNITS)。

  • 0:十进制度数。1.2345
  • 1:度/分/秒。1d2'3.4
  • 2:百分度。1.2345g
  • 3:弧度。1.2345r
  • 4:勘测单位。N 88d53'20.2" E(表示以正北为起点,向东方向旋转 88d53'20.2" E

角度精度(anglePrecision)

0 到 8 之间的整数,不同类型对应的精度格式不同。

特别注意的是,“度/分/秒” 和 “勘探单位” 的精度 1 和 3 分别等价于 2 和 4。因为分和秒的整数部分是不补前导零的。这两个类型对应的下拉选项中也把 1 和 3 去掉了。

角度方向(angleDir)

角度旋转的正方向,默认为逆时针(false)。

false 表示逆时针, true 表示顺时针。

二者区别,其实就是角度转换成其他单位前,是否要把数据源先用 PI * 2 减一下,再标准化。

基准角度(angleBase)

基准度数,为弧度值。

其实就是在角度转换其他单位前,先把角度减一下这个 angleBase。

对于 AutoCAD,默认向东的度数为 0。

插入时的缩放单位(insertUnits)

传入时的缩放单位有相当多,范围也很广,小到毫米,大到光年。

首先作为图纸自己的单位。

当我们选中一个实体,创建块时,块有一个 “块单位” 属性。假设当前图纸单位为 “厘米”,块为 “毫米”,这个块就会缩小为原来的 1/10。

这里的缩放比例和数据源不相等,是有一层转换的:UI 层 scale = 数据层 scale * 单位因子

单位因子是一个计算属性,是块单位转图纸单位的转换比。比如块单位为 mm,图纸单位为 cm,那单位因子就是 0.1(1mm 等于 0.1 cm)。

如果设置的是比较特殊的单位 “无单位”,图纸的单位会使用客户端首选项设置的值,一般都是 “毫米”。

同时它作为外部参照插入其他图纸时的 “块单位”,效果同块,只是不能修改单位。

另外外部参照插入时这个块单位就写死了,此时修改外部参照图纸的单位,是不会影响的。

结尾

以上就是图形单位这个命令的主要逻辑了。其中的光源强度单位我不熟,用的也少,就不讲了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1057543.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

操作EXCEL计算3万条数据的NDVI并填入

Python操作EXCEL,计算3万条数据的NDVI并填入 问题描述 现在是有构建好了的查找表,不过构建了3万条数据,在excel中手动计算每行的NDVI值太麻烦了,也不会操作。 就试试python吧,毕竟python自动处理大型EXCEL数据很方便…

黑马头条项目环境搭建

注册中心网关配置 spring:cloud:gateway:globalcors:add-to-simple-url-handler-mapping: truecorsConfigurations:[/**]:allowedHeaders: "*"allowedOrigins: "*"allowedMethods:- GET- POST- DELETE- PUT- OPTIONroutes:# 平台管理- id: useruri: lb://…

51单片机可调幅度频率波形信号发生器( proteus仿真+程序+原理图+报告+讲解视频)

51单片机可调幅度频率信号发生器( proteus仿真程序原理图报告讲解视频) 讲解视频1.主要功能:2.仿真3. 程序代码4. 原理图4. 设计报告5. 设计资料内容清单&&下载链接***[资料下载链接](https://docs.qq.com/doc/DS1daV1BKRXZMeE9u)*** 51单片机可…

数据结构——计数与归并非递归

排序算法 前言一、归并的非递归实现二、计数排序三、序算法复杂度及稳定性分析总结 前言 重要的事说三遍! 学习!学习!学习! 努力!努力!努力! 一、归并的非递归实现 代码实现: void MergeSortNonR(int* a,…

3分钟在移动盘上安装Ubuntu系统和ROS2

目录 原视频准备烧录 一个usb移动固态硬盘可以干什么呢? 可以用移动盘解决电脑存储空间不足的问题,可以用移动盘存储数据,可以用移动盘装其他系统当做双系统来使用,可以在一个移动固态硬盘里装两个甚至更多的系统… 下面&#xf…

《C++ primer plus》精炼(OOP部分)——对象和类(8)

学习是一项持续的投资,永远不会白费——本杰明富兰克林 文章目录 第13章:类继承一个基类和派生类公有继承的逻辑关系:is-a多态公有继承 第13章:类继承 一个基类和派生类 从一个类派生出另一个类时,原始类称为基类&am…

SLAM简要介绍

过去二十年,计算机视觉和机器学习领域都取得了很多进步。这一切都归功于硬件的改进,这使得研究人员和工程师能够设计和训练更复杂和更准确的模型,同时以以前难以想象的规模处理和分析数据。随着硬件的这些改进,未知环境的映射已经…

基于Java的学校固定资产管理系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding)有保障的售后福利 代码参考源码获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作…

vue 使用 创建二维数组响应数据 渲染 echarts图标

目前我遇到的情况就是用动态的二维数组数据渲染echarts图标,我们从后端收到的接口一般是个一维数组,需要手动构建并且保证响应式。接下来我做了个案例 一、案例总逻辑 1. 先创建一个vue项目 2. 添加 echarts依赖 3. 模拟数据请求,构建二维数组…

支付宝2023年收单外包服务机构评级启动,截止11月15日

9月22日消息,支付宝近日发布公告称,已启动2023年收单外包服务机构评级工作。支付宝表示,收单外包服务机构评级工作是金融监管部门规范引导收单外包服务市场的重要举措,其结果将会向社会公示,直接关系到外包机构的业务开…

QT 之数据库 QSqlQuery CURD 实战

零、参考文档 https://doc.qt.io/archives/qt-6.0/qsqldatabase.html 一、开发环境 Ubuntu 20.04 QT6.0 Microsoft SQL Server 2022 Developer Edition (64-bit) 先修改 /etc/odbc.ini 的数据源配置,指定连接数据库 vdb, sudo vim /etc/odbc.ini[mss…

《发现的乐趣》作者费曼(读书笔记)

目录 一、书简介 二、作者理查德•费曼 费曼式思维 教育与传承 三、个人思考 四、笔记 科学家眼中的花之美 关于偏科 父亲教育我的方式 知道一个概念和真正懂得这个概念有很大区别 我没有义务去成全别人对我的期望 诺贝尔奖——够格吗? 探究世界的游戏规…

基于SpringBoot的商品物品产品众筹平台设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding)有保障的售后福利 代码参考源码获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作…

内网综合扫描工具-fscan的安装和使用

简介 一款内网综合扫描工具,方便一键自动化、全方位漏扫扫描。 支持主机存活探测、端口扫描、常见服务的爆破、ms17010、redis批量写公钥、计划任务反弹shell、读取win网卡信息、web指纹识别、web漏洞扫描、netbios探测、域控识别等功能。相当强大!&…

JavaSE | 初始Java(九) | 包的使用

包 包是对类、接口等的封装机制的体现,是一种对类或者接口等的很好的组织方式,比如:一个包中的类不想被其他包中的类使用。包还有一个重要的作用:在同一个工程中允许存在相同名称的类,只要处在不同的包中即可。 可以…

【Spring】Spring 创建和使用

Spring 创建和使用 一. 创建 Spring 项目1. 创建⼀个 Maven 项目2. 添加 Spring 框架⽀持3. 添加启动类 二. 存储 Bean 对象1. 创建 Bean2. 将 Bean 注册到容器 三. 获取并使⽤ Bean 对象1. 创建 Spring 上下文2. 获取指定的 Bean 对象3. 使用 Bean Spring 就是⼀个包含了众多⼯…

HDF5文件数据读取

1、HDF5文件说明 HDF 是用于存储和分发科学数据的一种自我描述、多对象文件格式。HDF 是由美国国家超级计算应用中心(NCSA)创建的,以满足不同群体的科学家在不同工程项目领域之需要。HDF 可以表示出科学数据存储和分布的许多必要条件。HDF 被设计为: 自述性:对于一个HDF …

Koa学习4:密码加密、验证登录、颁发token、用户认证

请求体 这里遇到了个问题,ctx.request.body 的值是一个字符串。明明已经使用了koa-body中间件 查了一下原因是: ctx.request.body的值可能是一个对象或一个字符串,取决于请求的Content-Type和请求体的格式。 当使用koa-body中间件时&#x…

专业PDF编辑阅读工具PDF Expert mac中文特点介绍

PDF Expert mac是一款专业的PDF编辑和阅读工具。它可以帮助用户在Mac、iPad和iPhone等设备上查看、注释、编辑、填写和签署PDF文档。 PDF Expert mac软件特点 PDF编辑:PDF Expert提供了丰富的PDF编辑功能,包括添加、删除、移动、旋转、缩放、裁剪等操作…

基于Java的老年人体检管理系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding)有保障的售后福利 代码参考源码获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作…