



版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、-CAD 中统计数字的方法:( 1) 使用 CAD 中的快捷键 TT,但是需要先进行加载,加载方法是:打开 CAD ,选择菜单栏 -工具 - 加载应用程序-选择窗口中全部文件 -加载(即可)。然后就可以用这个快捷键了。在 CAD 中选择需要计算的数据,然后 TT快捷键,点下空格后就会出现一个对话框了。( 2) 在绘图过程中, 经常会对数字文本进行四则运算, 或者统计数字,在现有的 CAD 命令中没有直接命令与之相关,用计算器又麻烦。所以可以用一个小程序来解决。我觉得挺好的。快捷键 TJ。用法:1、先加载程序,首先会提示你如何用这个程序。2、然后你输入计算结果的精度, 即小数点位数: 这个只要在
2、开始的时候输入就可以了, 以后的命令你不用输入精度, 如果你要调整精度,随时输入命令 JD.3、下面为它的具体用法, 你可以选择多个文字, 如果是除法,劝你最好不要选择 0 数字,否则会出错。 而且命令可以连用,直到你空输入(没有选择或者取点)为止。+ - * / 命令不用多说。. 命令为对所选文字同时加减乘除某个数。4、统计的命令为TJ。其速度是很快的,我曾对十万级的数字验证,求结果既快又准。5、这个程序适用于各个版本, 我甚至觉得可以用于DOS 的 CAD版本。原程序:;说明(alert " 提醒 :n 请首先设置好输精度 <小数点位数 >, 在绘图的过程中可随时用命
3、令 JD 设置精度。-n 命令 "+ - * /"分别代表对所选择的数字求和差积商。n 其中 "- /" 则是以你第一个选到的数字文本为被减数和被除数。n 命令 "."( 点点 ) 代表对所选择的数字文本统一加减乘除某个数,默认为 1。n 命令 "TJ" 代表对所选择的数字文本进行数学统计。n 所有生成的新文本均与第一个选到的数字文本的样式相同 (除角度外 )。");定义了一个全局变量为精度(defun C:JD (/ )(prompt "n请输入精度 ,直接回车则为系统精度:")(i
4、nitget 4)(if (setq PRECISION (getint)(princ)(setq PRECISION (getvar "LUPREC")-(C:JD);加(defun C:+ (/ key sel ins first numlst result)(while (common1)(setq result (apply '+ (cadr numlst)(common2)(princ);减(defun C:- (/ key sel ins first numlst result)(while (common1)(setq result (apply
5、39;- (cadr numlst)(common2)(princ)-);乘(defun C:* (/ key sel ins first numlst result)(while (common1)(setq result (apply '* (cadr numlst)(common2)(princ);除(defun C:/ (/ key sel ins first numlst result)(while (common1)(setq result (apply '/ (cadr numlst)(common2)(princ)-;所有数字都加减乘除某个数(defun C:.
6、 (/ key op sel ins first numlst result)(while (setq sel (ssget '(0 . "TEXT")(setq first(ssname sel 0)(setq Numlst (sel->list sel)(initget 1 "+ - * /")(setq key (getkword "n请输入加减乘除符号<+ - * />:")(initget 2)(if (null (setq op (getreal "n请输入操作数 <默认为1>
7、;:")(setq op 1.0)(all-cal numlst key op)(princ);-(defun all-cal (result sym op / lst old new)(foreach n (car numlst)(setq lst (entget n)(setq old (atof (cdr (assoc 1 lst)(setq new (eval (cons (read sym) (list old op)(setq new (cons 1 (rtos new (getvar "LUNITS")PRECISION)(setq lst (sub
8、st new (assoc 1 lst) lst)(entmod lst);选择和插入点(defun common1 ()(and(setq sel (ssget '(0 . "TEXT")(null (initget 0 "Yes No")-(if (setq key (getkword "n 是否保留原数字 Yes,No?< 默认不保留 >:")(setq key "Yes")(setq key "No")(setq first(ssname sel 0)(setq Nu
9、mlst (sel->list sel);做文字或者更新文字(defun common2 ()(setqresult (rtos result (getvar "LUNITS")PRECISION)(if (= key "No")(if (setq ins (getpoint "n请输入插入点 :")(make-text first result ins)-(update-text first result);选择集合转化成数字列表(defun sel->list (sel / i ent lst num Els nls)
10、(setq i 0)(repeat (sslength sel)(setq ent (ssname sel i)(setq lst (entget ent)(setq num (atof (cdr (assoc 1 lst)(setq Els (cons ent Els)(setq Nls (cons num Nls)(setq i (1+ i)(list(reverse Els)-(reverse Nls);创建新文字 ,在指定点插入(defun make-text (first string inspt / remove txtlst lst)(setq remove (list -1 3
11、30 5 1 10 11 50)(setq txtlst (entget first)(foreach n txtlst(if (not (member (car n) remove)(setq lst (cons n lst)(setq lst (cons (cons 1 string) lst)(setq lst (cons (cons 10 inspt) lst)(setq lst (cons (cons 11 inspt) lst)(setq lst (reverse lst)-(cdr (assoc 40 (entmake lst);保留文字 ,仅更新内容(defun update-
12、text (ent string / txtlst)(setq txtlst (entget ent)(setq txtlst (subst (cons 1 string) (assoc 1 txtlst) txtlst)(entmod txtlst);统计数字文本(defun C:tj (/ un sel ins tollst numlst first data len ang HIG j n m)(setq un (getvar "LUNITS")(while (and (setq sel (ssget '(0 . "TEXT")(setq
13、ins (getpoint "n请输入插入点 :")(princ "n统计正在进行 .")(setq tollst (sel->list sel)(setq numlst (cadr tollst)-(setq first(caar tollst)(setq data(STAT numlst)(setq len (strcat (caar data) (itoa (cdar data)(setq HIG (* (make-text first len ins) 1.5)(setq ang (* Pi -0.5)(setq j 1)(repeat 4
14、(setq n (nth j data)(setq m (strcat (car n) (rtos (cdr n) un PRECISION)(make-text first m (polar ins ang (* j HIG)(setq j (1+ j)(princ "n统计已经完成 !")(princ);统计函数-(defun STAT (numlst / len sum ave var sqr std)(setq len (length numlst);样本数目(setq sum (apply '+ numlst); 和(setq ave (/ sum len);均值(setq var (mapcar '(lambda (x) (* (- x ave) (- x ave)numlst);差平方(s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 乡镇农民互助合作社合作协议
- 教师教育教学反思的有效方法试题及答案
- 弘扬雷锋精神试题及答案
- 教学反思驱动学生问题解决能力提升试题及答案
- 商务英语行业标准试题及答案2025年
- 小学教师对话式教学实践试题及答案
- 汽车中级考试题及答案
- 幼教专业面试题及答案
- 建筑施工安全管理标准试题及答案
- 测试题及答案100分
- 幼儿园安全隐患举报奖励制度范文(二篇)
- 多边形的内角和的说课稿
- 生活垃圾焚烧发电厂掺烧一般工业固废和协同处置污泥项目环评资料环境影响
- DB11T 1615-2019 园林绿化科普标识设置规范
- DB34∕T 2922-2017 水利水电工程底横轴驱动翻板钢闸门制造、安装及验收规范
- SLT824-2024 水利工程建设项目文件收集与归档规范
- 2023年全国职业院校技能大赛-嵌入式系统应用开发赛项规程
- 胃酸监测技术的新进展
- 旋挖钻孔灌注桩施工技术交底记录(干作业)
- 2024年省职工职业技能大赛数控机床装调维修工竞赛理论考试题库(含答案)
- 《那个星期天》公开课一等奖创新教案
评论
0/150
提交评论