CAD中数据统计方法

上传人:su****e 文档编号:204572347 上传时间:2023-04-27 格式:DOC 页数:19 大小:66KB
收藏 版权申诉 举报 下载
CAD中数据统计方法_第1页
第1页 / 共19页
CAD中数据统计方法_第2页
第2页 / 共19页
CAD中数据统计方法_第3页
第3页 / 共19页
资源描述:

《CAD中数据统计方法》由会员分享,可在线阅读,更多相关《CAD中数据统计方法(19页珍藏版)》请在装配图网上搜索。

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

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

3、字文本为被减数和被除数。 n命令.(点点)代表对所选择的数字文本统一加减乘除某个数,默认为1。 n命令TJ代表对所选择的数字文本进行数学统计。 n所有生成的新文本均与第一个选到的数字文本的样式相同(除角度外)。);定义了一个全局变量为精度(defun C:JD (/ ) (prompt n请输入精度,直接回车则为系统精度:) (initget 4) (if (setq PRECISION (getint) (princ) (setq PRECISION (getvar LUPREC) ) )(C:JD) ;加(defun C:+ (/ key sel ins first numlst resu

4、lt) (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:* (/ key sel ins first numlst result) (while (common1) (setq result (apply * (cadr numlst) (

5、common2) ) (princ);除(defun C:/ (/ key sel ins first numlst result) (while (common1) (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-list sel) (initget

6、 1 + - * /) (setq key (getkword n请输入加减乘除符号:) (initget 2) (if (null (setq op (getreal n请输入操作数:) (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 sy

7、m) (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 Yes No) (if (setq key (getkword n是否保留原数字Yes,No?:) (setq key Yes) (setq key No) ) (setq first (ssnam

8、e sel 0) (setq Numlst (sel-list sel) );做文字或者更新文字(defun common2 () (setq result (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) (setq i 0) (rep

9、eat (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 33

10、0 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);保留文字,仅更新内容(def

11、un 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 first data len ang HIG j n m) (setq un (getvar LUNITS) (while (and (setq sel (ssget (0 . TEXT) (setq ins (getpoint

12、 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 (setq n (nth j data) (setq m (s

13、trcat (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) ;差平方 (setq sqr (/ (apply + var) len) ;方差 variance (setq std (sqrt sqr) ;标准差 (list (cons 样本数. len) (cons 总和. sum) (cons 平均值. ave) (cons 方差. sqr) (cons 标准差. std) )复制代码

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!