CAD中数据统计方法_第1页
CAD中数据统计方法_第2页
CAD中数据统计方法_第3页
CAD中数据统计方法_第4页
CAD中数据统计方法_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、CA D 中 统 计 数 字 的 方 法使用CAD中的快捷键TT,但是需要先进行加载,加载方法是:打开CAD选择菜单栏-工具-加载应用程序-选择窗口中全部文件-加载(即可)。然后就可以用这个快捷键了。在CAD中选择需要计算的数据,然后TT快捷键,点下空格后就会出现一个对话框了。在绘图过程中,经常会对数字文本进行四则运算,或者统计数字,在现有的CAD命令中没有直接命令与之相关,用计算器又麻烦。所以可以TJ。用一个小程序来解决。我觉得挺好的。快捷键 用法:1、先加载程序,首先会提示你如何用这个程序。2、然后你输入计算结果的精度,即小数点位数:这个只要在开始的时候输 入就可以了,以后的命令你不用输入

2、精度,如果你要调整精度,随时输入命令JD.3、下面为它的具体用法,你可以选择多个文字,如果是除法,劝你最好不 要选择 0 数字,否则会出错。而且命令可以连用,直到你空输入(没有选择或 者取点)为止。+ - * / 命令不用多说。. 命令为对所选文字同时加减乘除某个数。4、统计的命令为TJ。其速度是很快的,我曾对十万级的数字验证,求结果既快又准。5、这个程序适用于各个版本,我甚至觉得可以用于DOS的CAD版本。原程序: ; 说明 (alert " 提醒 :n 请首先设置好输精度 <小数点位数 >, 在绘图的过程中可随时用命令nJD设置精度。命令"+ - * /&q

3、uot; 分别代表对所选择的数字求和差积商。n其中"- /"则是以你第一个选到的数字文本为被减数和被除数。n命令"."(点点)代表对所选择的数字文本统一加减乘除某个数,默认为1。n命令"TJ"代表对所选择的数字文本进行数学统计。n所有生成的新文本均与第一个选到的数字文本的样式相同; 定义了一个全局变量为精度(defun C:JD (/ )(prompt "n请输入精度 , 直接回车则为系统精度 :")(initget 4)(if (setq PRECISION (getint)(princ)(setq PRECIS

4、ION (getvar "LUPREC")(C:JD) ; 加(while (common1)(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

5、)(common2)(princ); 除(while (common1)(defun C:+ (/ key sel ins first numlst result)(setq result (apply '+ (cadr numlst)(common2)(princ); 所有数字都加减乘除某个数 (defun C:. (/ key op sel ins first numlst result)(while (setq sel (ssget '(0 . "TEXT")(setq first (ssname sel 0)(setq Numlst (sel->

6、;list sel)(initget 1 "+ - * /")(setq key (getkword "n请输入加减乘除符号 <+ - * />:")(defun all-cal (result sym op / lst old new)(setq lst (entget n)(initget 2)(if (null (setq op (getreal "n请输入操作数 <默认为 1>:")(setq op 1.0)(all-cal numlst key op)(princ)(foreach n (car nu

7、mlst)(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 (subst new (assoc 1 lst) lst)(entmod lst); 选择和插入点 (defun common1 ()(and(setq sel (ssget '(0 . "TEXT")(null (initget 0 "Y

8、es No")(if (setq key (getkword "n是否保留原数字 Yes,Nov默认不保留:")(setq key "Yes")(setq key "No")(setq first (ssname sel 0)(setq Numlst (sel->list sel); 做文字或者更新文字 (defun common2 ()(setq result (rtos result (getvar "LUNITS") PRECISION)(if (= key "No")请输

9、入插入点 :")(if (setq ins (getpoint "n(make-text first result ins)(update-text first result); 选择集合转化成数字列表 (defun sel->list (sel / i ent lst num Els nls)(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)(se

10、tq Nls (cons num Nls)(setq i (1+ i)(list(reverse Els)(reverse Nls); 创建新文字 , 在指定点插入 (defun make-text (first string inspt / remove txtlst lst)(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 i

11、nspt) lst)(setq lst (cons (cons 11 inspt) lst)(setq lst (reverse lst)(cdr (assoc 40 (entmake lst); 保留文字 , 仅更新内容 (defun update-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

12、 first data len ang HIG j n m)(setq un (getvar "LUNITS")(while (and (setq sel (ssget '(0 . "TEXT")(princ "n统计正在进行")(setq ins (getpoint "n请输入插入点 :")差平方(setq tollst (sel->list sel)(setq numlst (cadr tollst)(setq first (caar tollst)(setq data (STAT numlst)

13、(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(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)方

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论