2007年7月26日星期四

唯美壁纸

http://www.cnbeta.com/articles/33913.htm

这里发了几个zol的壁纸,果然很漂亮

2007年7月12日星期四

在明经通道mjtd的几何版做的题目

几何作图一直是我的喜爱,大概在初中的时候就学的很有意思了,现在茶余饭后常去mjtd的几何作图区逛逛,做做题目,放松一下。
半年多来,做了如下一些题目,也记录一下

个人对明经通道的几个完成情况
(1)http://www.mjtd.com/BBS/dispbbs.asp?BoardID=37&ID=52643&replyID=42316&skin=1
Joseflin兄的挑战39
方法:旋转法构建三角形内比例长度的线段
(2)http://www.mjtd.com/BBS/dispbbs.asp?BoardID=37&ID=52163&replyID=42437&skin=1
tqr兄的画梯形
方法:外切圆的四边形对边和相等
(3)http://www.mjtd.com/BBS/dispbbs.asp?BoardID=37&ID=56222&replyID=42500&skin=1
tqr兄的圆周上的圆
方法:弧角和圆心角规律
(4)http://www.mjtd.com/BBS/dispbbs.asp?BoardID=37&ID=52733&replyID=42414&skin=1
http://www.mjtd.com/BBS/dispbbs.asp?BoardID=37&ID=52733&replyID=42553&skin=1
Joseflin兄的挑战44,ahlzl的经典题目
方法:比例三角形的方法
(5)http://www.mjtd.com/BBS/dispbbs.asp?BoardID=37&ID=55212&replyID=42574&skin=1
highflybird兄的题目,三角形内一点的三个角相等
方法:三角形的某角补角等于其两内角和
(6)http://www.mjtd.com/BBS/dispbbs.asp?BoardID=37&ID=55175&replyID=42675&skin=1
ahlzl的题目,世界名题
方法:看书
(7)http://www.mjtd.com/BBS/dispbbs.asp?BoardID=37&ID=56380&replyID=43034&skin=1
Joseflin的挑战103,两圆和切圆
方法:Maple计算
(8)http://www.mjtd.com/BBS/dispbbs.asp?BoardID=37&ID=52550&replyID=43176&skin=1
Joseflin的挑战34,矩形和多个外切圆
方法:挺弱的,计算法
(9)http://www.mjtd.com/BBS/dispbbs.asp?BoardID=37&ID=55608&replyID=43177&skin=1
highflybird兄的一元二次方程求解
方法:射影定理
(10)http://www.mjtd.com/BBS/dispbbs.asp?BoardID=37&ID=57082&replyID=43185&skin=1
原创:圆内弦长相等
(11)http://www.mjtd.com/BBS/dispbbs.asp?BoardID=37&ID=57103&replyID=43268&skin=1
题目:1,已知垂足点,求三角形
2,已知中线,角平分线,高线,画三角形
方法:来源自许莼舫的 几何画图
(12)http://www.mjtd.com/BBS/dispbbs.asp?BoardID=37&ID=57116&replyID=43329&skin=1
题目:1,平分四边形
2,平分三角形
方法:乱想
(13)http://www.mjtd.com/BBS/dispbbs.asp?BoardID=37&ID=55022&replyID=43559&skin=1
Joseflin兄的挑战86,梯形内画三切弧
方法:Maple硬算,觉得缺条件
(14)http://www.mjtd.com/BBS/dispbbs.asp?BoardID=37&ID=57307&replyID=44155&skin=1
http://www.mjtd.com/BBS/dispbbs.asp?BoardID=37&ID=57307&replyID=44505&skin=1
题目:1. 对三角形内找点分面积
2. 三角形内边找等边▲
方法:看书和乱想
(15)http://www.mjtd.com/BBS/dispbbs.asp?BoardID=37&ID=58054&replyID=47932&skin=1
Joseflin的挑战105,三角形计算
方法:射影定理
(16)http://www.mjtd.com/BBS/dispbbs.asp?BoardID=37&ID=58086&replyID=48030&skin=1
题目:1.光线反射问题
2.圆内三角形周长最短问题
(17)http://www.mjtd.com/BBS/dispbbs.asp?BoardID=37&ID=58134&replyID=48376&skin=1
highflybird的三角形分割问题
方法:有一定的证明原理
(18)http://www.mjtd.com/BBS/dispbbs.asp?BoardID=37&ID=59511&replyID=54711&skin=1
tqr的画正方形问题
方法:旋转和scale
(19)http://www.mjtd.com/BBS/dispbbs.asp?BoardID=37&ID=60105&replyID=57257&skin=1
tqr的画梯形
方法:第二次采用插值法,第一次在三角形内等边三角形处用到
(20)http://www.mjtd.com/BBS/dispbbs.asp?BoardID=37&ID=59990&replyID=57277&skin=1
Joseflin的挑战111,矩形内的切圆
方法:插值法,到两点的距离成比例的轨迹是圆
(21)http://www.mjtd.com/BBS/dispbbs.asp?BoardID=37&ID=55151&replyID=57324&skin=1
Joseflin的挑战91,方形内半圆,求点与顶点,切点的距离成比例
方法:插值法,了解到插值法的妙处和缺点
(22)http://www.mjtd.com/BBS/dispbbs.asp?BoardID=37&ID=60220&replyID=57808&skin=1
Joseflin的挑战114,两圆内多切圆
方法:缩放和一些几何性质
(23)http://www.mjtd.com/BBS/dispbbs.asp?BoardID=37&ID=53253&replyID=57822&skin=1
Joseflin的挑战63,三角形内直线+两切圆
方法:Python编程
(24)http://www.mjtd.com/BBS/dispbbs.asp?BoardID=37&ID=60256&replyID=57949&skin=1
题目:盒子内放棋子的问题
方法:《中学生数理化》
(25)http://www.mjtd.com/BBS/dispbbs.asp?BoardID=37&ID=52142&replyID=57966&skin=1
Joseflin的挑战25,梯形内切圆
方法:Maple,不得已
(26)http://www.mjtd.com/BBS/dispbbs.asp?BoardID=37&ID=60597&replyID=59539&skin=1
http://www.mjtd.com/BBS/dispbbs.asp?BoardID=37&ID=60597&replyID=59656&skin=1
Joseflin的挑战122,椭圆
方法:狂算丢人法
(27)http://www.mjtd.com/BBS/dispbbs.asp?BoardID=37&ID=60644&replyID=59729&skin=1
题目:定周长题及三圆相切题
方法:看书,椭圆求法
(28)http://www.mjtd.com/BBS/dispbbs.asp?BoardID=37&ID=60975&replyID=61417&skin=1
tqr的画椭圆题
方法:缩放法,缩放的过程中不影响长度比值,个人很自豪的一道解法
(29)http://www.mjtd.com/BBS/dispbbs.asp?BoardID=37&ID=61103&replyID=62005&skin=1
Joseflin的挑战132,内切圆题
方法:椭圆求法
(30)http://www.mjtd.com/BBS/dispbbs.asp?BoardID=37&ID=61098&replyID=62104&skin=1
Joseflin的挑战131,方形内切圆题
方法:构建法
(31)http://www.mjtd.com/BBS/dispbbs.asp?BoardID=37&ID=61136&replyID=62113&skin=1
题目:角平分线题
方法:来源《数学竞赛题》
(32)http://www.mjtd.com/BBS/dispbbs.asp?BoardID=37&ID=61148&replyID=62168&skin=1
题目:圆内线段相等题
方法:来自《几何变换》
(33)http://www.mjtd.com/BBS/dispbbs.asp?BoardID=37&ID=61204&replyID=62600&skin=1
Joseflin的挑战133,三角形题
方法:垂直平分线题
(34)http://www.mjtd.com/BBS/dispbbs.asp?BoardID=37&ID=61232&replyID=62727&skin=1
Joseflin的挑战137,求证题
方法:变画图为求证
(35)http://www.mjtd.com/BBS/dispbbs.asp?BoardID=37&ID=61493&replyID=64158&skin=1
Joseflin的挑战142,长度相等题
方法:几何变换的平移

opendcl的博客和论坛和highflybird兄的应用

在jtbworld里面看到的

http://www.opendcl.com/
http://www.opendcl.com/forum/

它的论坛和theswamp用的是同个架构软件,个人挺喜欢。

highflybird兄最近写了一个很高级的物体跟随反应器

发起时间 :2007年07月08日17点53分">[原创]:十年磨一剑--openDCL和反应器
http://www.xdcad.net/forum/showthread.php?s=&threadid=637122

写的很好,佩服佩服

2007年6月26日星期二

好久无法登录了,数码照片DVD

最近用照片做dvd
发现比较好的软件是数码故事和MemeryonTV。
前者有比较细腻的自定义功能,后者简单实用,不过计算2G的时间都得2个小时左右。

2007年6月10日星期日

Autocad图中字体边缘粗糙(字体毛边)的处理方法

Autocad图中字体边缘粗糙的处理方法

在Autocad中,经常会遇到Truetype字体毛边的情况。由于经常要拷贝到Word里面去,毛边会使得打出来的图不够清晰。

大概有如下原因。

1)绘制Text时,比如采用宋体或者Time New Roman等字体时,假如设置的Width宽度不为1时,常会出现这种情况,此时可修改此字体的Width即可。Mtext和Dimension没有Width可以选,此时,只能用style命令直接修改这种字体的Width因子。

2)曾经多时困扰的是这个问题,Mtext的字体Width因子已经为1,而字体仍然毛边。今天总算知道,大概是Acad本身的Bug,因为此时开一新图,把那些毛边的一个Dimension或者Mtext拷贝到新图里面去,可以发现,其实其Width因子其实不为1。此时,回到旧图,把原来的Width=1先改为Width为2,出到图中,发现均已变胖,再回去,把Width修改为1,此时,毛边终于消失。

权当学习记录。

2007年6月4日星期一

批量lsp2html(命令test,默认目录c:\a)

原帖在此,七楼
http://www.xdcad.net/forum/showthread.php?postid=3232315#post3232315

(defun c:test (/ direc directree x y direcfile)
(setq direc (getstring "\nc:\\a:"))
(if (= direc "") (setq direc "c:\\a"))
(setq directree (@Folders direc))
(foreach x directree
(setq direcfile (qj-directory-only-files x))
(foreach y direcfile

(if (= (vl-filename-extension y) ".lsp")
(lsp->html y)
)
)
)
)


;*******************************************************************************************
;* Here is a simple lisp routine to convert a lisp file to html in Visual Lisp format *
;*******************************************************************************************
(defun html-format (str)
(vl-string-subst "&lt;" "<" (vl-string-subst "&amp;" "&" str))
)
(defun lsp->html (file / rf wf t1 str char i f argument)
;(setq file (getfiled "Select Lisp File" (getvar "dwgprefix") "lsp" 0)
(setq rf (open file "r")
wf (open (strcat (vl-filename-directory file) "/"
(vl-filename-base file) ".html"
) "w"
)
);s
(write-line (strcat "<title>" (vl-filename-base file) "</title>") wf)
(write-line "<pre><font face=Fixedsys color=black size=1>" wf)
(while (setq t1 (read-line rf))
(setq str ""
i 1
)
(while (<= i (strlen t1))
(setq word "")
(while (not (member (setq char (substr t1 i 1))
'("" " "
";" "("
")" "\""
)
)
)
(setq word (strcat word char)
i (1+ i)
)
);w
(if (= word "")
(setq word char
i (+ i (strlen char))
)
)
(if (= word ";")
(setq str (strcat str "<font color=purple><span style=\"background-color: #C0C0C0\">"
(html-format (substr t1 (1- i))) "</span></font>"
)
i (1+ (strlen t1))
);s
(cond
((member word '("(" ")"))
(setq str (strcat str "<font color=red>")
i (1- i)
)
(while (member (setq char (substr t1 i 1))
'("(" ")")
)
(setq str (strcat str char)
i (1+ i)
)
);w
(setq str (strcat str "</font>")
f (= (substr t1 (1- i) 1) "(")
)
)
((= word "\"")
(setq str (strcat str "<font color=#FF00FF>" word))
(while (and
(/= (setq char (substr t1 i 1))
""
)
(or
(/= char "\"")
(and
(> i 1)
(= (substr t1 (1- i) 1) "\\")
(or
(= i 2)
(/= (substr t1 (- i 2) 1) "\\")
)
)
)
)
(setq str (strcat str (html-format char))
i (1+ i)
)
);w
(setq str (strcat str char "</font>")
i (1+ i)
)
)
((= word "'")
(setq str (strcat str "<font color=#800000>'</font>"))
)
((= word "/")
(setq str (strcat str "<font color=blue>/</font>")
argument nil
f nil
)
)
((= word ".")
(setq str (strcat str word))
)
((numberp (read word))
(setq str (strcat str "<font color=green>" word "</font>")
f nil
)
)
(f (if argument
(setq str (strcat str (html-format word))
argument nil
f nil
)
(setq str (strcat str "<font color=blue>"
(html-format word) "</font>"
)
argument (= (strcase word) "DEFUN")
f nil
)
)
);f
(T
(setq str (strcat str (html-format word)))
)
);c
);i
);w
(write-line str wf)
);f
(write-line "</font></pre>" wf)
(close rf)
(close wf)
(princ)
)
;d
(prompt "\nType \"test\" at the command prompt to run routine.")
(princ)
;;; ========================================================================
;;; Some of the following code are writen by CHEN QING JUN ;
;;; Civil engineering Department, South China University of Technology ;
;;; Purpose: To get a file list of the currrent path ;
;;; The platform: Acad2000 and after ;
;;; 2006.07.12 ;
;;; Http://autolisper.googlepages.com ;
;;; Http://qjchen.googlepages.com ;
;;; ========================================================================
(defun qj-directory-only-files (path / lst res)
(setq lst (vl-directory-files path))
(setq lst (mapcar
'(lambda (x)
(strcat path "\\" x)
)
lst
)
)
(foreach x lst
(if (not (vl-file-directory-p x))
(setq res (append
res
(list x)
)
)
)
)
res
)
;;; ========================================================================
;; given the parent folder as a Path. ;
;; Note that using a path of "" or "." or "\\" will exclude ;
;; the drive letter. McNeel's DOSLIB has a DOS_FULLPATH function ;
;; that can return such folders with drive designations. ;
;; (c) John F. Uhden, Cadlantic ;
;;; ========================================================================
(defun @Folders (Path / Folders @Dirs)
(defun @Dirs (Path / Dir Dirs)
(and
(= (type Path) 'STR)
(or
(/= (type DOS_FULLPATH) 'EXRXSUBR)
(setq Path (DOS_FULLPATH Path))
)
(if (wcmatch Path ",*/,*\\")
(setq Dir Path)
(setq Dir (strcat Path "\\"))
)
(setq Dirs (vl-directory-files Dir "*.*" -1))
(setq Folders (cons Path Folders))
(setq Dirs (vl-remove-if '(lambda (x)
(vl-position x '("." ".."))
) Dirs
)
)
(mapcar
'@Dirs
(mapcar
'(lambda (x)
(strcat Dir x)
)
Dirs
)
)
)
)
(@Dirs Path)
(reverse Folders)
)

2007年5月25日星期五

一些办公小秘籍-(快捷键盘操作Autohotkey和快捷鼠标操作True X mouse)

一些办公小秘籍-(快捷键盘操作和快捷鼠标操作True X mouse)

qjchen@gmail.com

有用且有趣的鼠标拷贝粘贴软件

有时候总会做大量的拷贝粘贴工作,按ctrl+x和ctrl+v都会按到半死。虽然我也是键盘操作爱好者,我会如此来做。

首先,我安装了Autohotkey,那么我的操作就可以这样来。
打开一个文本,键入如下内容,存盘为abc.ahk
F1::^c
F2::^v

那么,以后的F1和F2就代表为拷贝粘贴了。

比如在word里面,经常会按照第一行存盘,可是我用的是Textpad,没有这个功能,怎么办,于是,我在abc.ahk中加入这么一句:
;按照选定的文本进行另存为;按键win+s
#s::send,^c!fa^v
那么,以后在存盘之前,我先选择一段文本,那么按Win+s,就会出现按选择文本命名的窗口了。

--------------------------------------------------------------------------
题外话(讲些有限元软件Diana的后处理操作)
在diana的后处理里面,经常需要键入不少内容,有时候常会忘记,得查询,于是我定了不少的快捷键在autohotkey里面,以后有空要根据我的需要来修正了。
::/c::PRESENT CONTOUR LEVELS{enter} ;得到等值线图
::/d::RESULTS NODAL TDTX...G RESTDT{enter} ;得到位移
::/dx::RESULTS NODAL TDTX...G TDTX{enter} ;得到位移
::/dy::RESULTS NODAL TDTX...G TDTY{enter} ;得到位移
::/dz::RESULTS NODAL TDTX...G TDTZ{enter} ;得到位移
::/vx::EYE ANGLE 0 0 1{enter} ;得到位移
::/cut::VIEW CUTAWAY CURSOR /CURSOR BOTTOM {enter}
::/unhide::view mesh{enter}
::/close::file close{enter}
::/von::RESULTS CALCULATE VONMISES{enter}
::/cra::PRESENT SYMBOL{enter}
::/g::PRESENT GRAPH RESULTS{enter}
::/+::PRESENT OPTIONS SYMBOL PLUS RANGE ALL{enter}
::/vd::VIEW OPTIONS DEFORM USING TDTX...G RESTDT 120{enter}
::/ur::UTILITY READ BATCH model.fgc{enter}
这些的应用是这样的,比如在Diana的命令行键入/c,就会等效键入其后的PRESENT CONTOUR LEVELS这句话了,非常好用。
----------------------------------------------------------------------------

虽然咱混过新软版,崇尚键盘操作,常做高深莫测状,但是下面的这个True X mouse软件还是让我眼前一亮,多好的软件啊。

在Win里面,要拷贝粘贴常得如此,选择,右键,复制,新位置,右键,粘贴。
其实我们为什么要选文本,大部分时候是为了拷贝(我是如此的)(当然格式,删除等等也常有)。为什么win不直接设置为选择后进入粘贴板呢,我猜大部分是怕每次这样拷入粘贴板太占内存么?比如有图片的时候,大量的拷贝可能不好。但是我还是衷心希望能够在鼠标选择文本的同时就拷贝了,省的去按ctrl+c

True X mouse 就是如此一个几十k的免费软件。
下载地址:
http://fy.chalmers.se/~appro/nt/TXMouse/TXMouse.exe

安装之后,在tray区。
作用:每次选择文本的时候,比平时多一个X的小标志,此时表示其在工作,选完松开则内容进入粘贴板。

使用:按鼠标中键实现粘贴。

测试:在记事本,excel,word里面使用,都能工作,word里面的选择会有些奇怪,需锻炼一下。

感受:可能在某些特殊按键的软件里面,会冲突,比如你用firefox时中键打开新标签的功能会被屏蔽。非常好的一个软件,推荐使用。

2007年5月18日星期五

Doslib 75 for AutoCAD 2008 chm中文帮助文档

之前翻译了一遍这个chm文件的第一层菜单,后来茶余饭后将整个文档翻译了一遍,大致学习了一下,一直没有仔细检查翻译内容,也有几个函数的含义弄不清楚,翻译的确实比较烂。大家将就看看吧,看的意思模糊的麻烦参考英文chm或者直接测试一下。本chm纯属个人学习拙作。看看就算。

下载地址,

http://qjchen.googlepages.com/DOSLib17.chm


范图

非线性结构分析软件Diana的文件体系及命令行分析学习备忘

Diana是一个不错的有限元分析软件,不过其前后处理功能并非特别强大。
在学习其中的一些体会。

1)快捷键的设置有点类似以前的Algor Dos版,假如记忆深刻的话,操作速度比较快,不过现在对于批处理命令,我总是写在一个如abc.fgc之类的文件里面,用u->r->b->此文件来调用,否则太长的命令也让人难以记忆
2)有类似ansys的log体系,以记录操作流程,通过整理这个流程,可以重复使用,重现建模过程。不过其缺点在于对变量和参数的设置并不好。比如我定义半径作为变量的时候,建模就无法进行,曾经给其公司发去咨询信,暂时未获回复。
3)混凝土本构模型比较多,但也不是包罗万象。比如普通版本里面Makawa模型就没有,W-W五参数也没有见到,或许是我尚未熟悉?对于约束混凝土的模型只提供了Collins的。虽然有usrmat,但是总归比较麻烦。
4)对于三维体的划分不算太好,其前处理采用的内核并不好,听说与Midas合作,希望可以做出比较喜人的界面,否则总是难以推广。Ansys自身界面虽丑,但是在坚持不变的情况下,仍有workbench来吸引新人。Abaqus显然界面要更好些,不过有些功能也隐藏的太深入了。

暂时不说,为了能更快的进行操作,总结一下学习经验。
1)文件体系
只有明白了这个,才能够在后期的时候,有意识的去保留或者删除某些文件。
前处理阶段
①最基本的文件,.dat文件,这个是前处理得到的结果,内含几何,材料,荷载,边界等内容,相信所有的有限元软件计算前都要生成一个。
②.com文件,这个就是其帮助里面常谈的filo文件了,是控制分析和输出的,比如包括步长,收敛准则等。
有了这两个文件,就可以分析了。
图形界面的是dianaw,比较直观,常用。为了学习以后的批量处理,不谈这个。
那么最简单的方法,去到command box,进入这个dat和com所在目录
键入 如diana a.dat a.com的命令,就会开始分析和得到结果。
③fgc文件,这个可以是其他后缀名,主要是建模的命令流。
④his文件,是记录操作的文件,类似ansys的log
⑤g70文件,是模型的二进制文件。
在计算完之后,会得到几个文件。
①.out文件,是记录分析时候的一些信息
②.tb文件,节点和单元的数据输出文件。搞了许多page出来,让人颇不爽。
③m70和v70文件,假如想图形看后处理的话,就会生成这两个文件了。
④fvc文件,后处理时候命令流的默认后缀名。
⑤.ff文件,默认叫diana.ff,这个就是模型计算结果的保存文件了,二进制的。数据大的要命,有点类似ansys的db文件。假如结果真的很重要的话,得保存,否则的话,就不保留了,可以保留tb文件就算了,否则硬盘空间就会越来越小,非线性的时候这个文件可不是一般的大。

2)命令行操作程序
①先看看文件的大致内容,比如.com,filos文件,调用程序内部filos模块的一个控制。比如线性分析的,大致如下,看帮助可以得到其不同含义,在dianaw这个界面里可以可视化控制,不过不如直接写来的方便。
;;;-----------------------
*FILOS
INITIA
*INPUT
*LINSTA
BEGIN OUTPUT TABULA
DISPLA
STRESS LOCAL
END OUTPUT
*END
;;;------------------------
在做diana frame line.com之后得到的.out文件大致如下,不修改的话会得到相应文件名+后缀的结果。
.out记录了计算过程中的各种提示
1
/DIANA/AP/IN40 15:52:59 0.13-CPU 0.10-IO 92.-FA BEGIN
/DIANA/AP/LS41 15:52:59 0.15-CPU 0.13-IO 115.-FA BEGIN
ELEM. STIFFNESS STORED.
RHS-VECTORS INITIALIZED: ML= 1 ND= 33 SF.RHSIDE
EXTER. LOAD INITIALIZED: ML= 1 ND= 33 SF.EXTLOD
CONST.DISP. INITIALIZED: ML= 1 ND= 33 SF.DISCON
STRESS LOAD INITIALIZED: ML= 1 ND= 33 SF.SIGLOD
NODAL LOADS TO RHS-VECT: NV= 1 NL= 1 SF.RHSIDE
NODAL LOADS TO EXT.LOAD: NV= 1 NL= 1 SF.EXTLOD
ELEMENTLOAD TO RHS-VECT: NV= 1 SF.RHSIDE
ELEMENTLOAD TO EXT.LOAD: NV= 1 SF.EXTLOD
INC. INITIAL STRAIN/STRESS LOAD ADDED TO RHS-VECT: NV= 1 SF.RHSIDE
诸如此类

而.tb的文件里面有大概这些内容
frame Page 1
Analysis type LINSTA
Load case nr. 1
Result DISPLA TOTAL TRANSL
Axes GLOBAL

Nodnr DtX DtY DtZ
1 0.000E+00 0.000E+00 0.000E+00
2 -1.172E-02 -2.500E-05 0.000E+00
3 -1.953E-02 -5.000E-05 0.000E+00
4 -1.953E-02 -7.500E-05 0.000E+00

假如想在命令行直接得到可视化的后处理呢,可以在这个.com里面加上一段话,主要是FEMVIE这个词。
*FILOS
INITIA
*INPUT
*LINSTA
BEGIN OUTPUT TABULA
DISPLA
STRESS LOCAL
END OUTPUT
BEGIN OUTPUT FEMVIE
DISPLA
STRESS
STRAIN
END OUTPUT
*END
于是结果中会多出一个叫m70和v70的东西来。其实这段话不写一点问题都没有,因为在图形界面的diana中进行调用后处理的话仍然会产生m70和v70文件,不过会多一些提示而已,文件的大小也不一样。
②如何比较快的进行操作。
每次都操作dianaw其实是很无聊的一件事,因此命令行是必要的。但是command box之后还要不断的修改目录,那么可以这么来做。

1.bat (启动diana的运行环境)
set path=f:\progra~1\Diana 9
dialogin.bat
2.bat(直接默认运行)
Diana frame line.com
3.bat(把ff放在其他地方运行-硬盘空间不够,需要把.ff文件设置在其他盘)
set FF=g:\joseph.ff
diana frame line.com
4.bat(把结果改名-在不需要得到后处理图形文件的情况下得到不同的分析结果)
diana result frame.dat line.com

然后在TC里面,按CTRL+G调出dos面板,然后依次运行一下1,2
就可以得到结果了,个人感觉比dianaw要快一些。

2007年5月9日星期三

非常好的Excel免费工具包-Extool (全部功能介绍)

非常好的Excel免费工具包-Extool

下载地址:http://www.excel-extools.com/download.php?file=extools2.0.zip

安装,解压到一个目录,在excel的工具->加载宏->浏览,选xla文件,就会新增一个菜单项的。

安装后界面:



基本功能介绍:其实这就是一个加了菜单功能之后的宏包,不过内容可是加密的的。

部分基本功能介绍:

Favorite file:添加常用的excel文件到列表,便于打开
Favorite text:添加常用的输入文字,方便录入

Range:选区(这些功能我都很喜欢,每个函数都很好!,本都想编的,不过得花许多时间,有些还不会编)
Delete empty cells in column:删除选区内所有列中的空格项,后续项向上移动
Delete empty rows in selections: 选择一个区域,将其内的所有空行删除(注意,是整行删除)
Transpose:转置,其实这个excel本来就有,它的做法是:在执行菜单命令之前,要先有选区,然后点击需要转置到的左上角位置;
Reverse Order(Flip cells):逆向,选择一行或者一列选区,会得到逆序结果;
Check for duplicate:检查重复数据,结果可以是删除或者高亮;
Multi selection copy:多个选区的拷贝。excel中,多个选区的选择是按ctrl来完成的,但是非常奇怪的是无法粘贴,怪异,这个宏可以完成。
Save selection as files:选择一个区域,存为excel,csv,txt文件。虽说excel本身也可做到,但是对有大量此需要的朋友确非常实用。我就是在donation software的网站上看到朋友提问和回答这个问题才发现这个软件的。
Save selection as html: 选择区域,写出html的表格代码,好功能,也能写出格式,且代码是比较精简的。相比excel本身的输出html的大量冗余代码要好的多。
Save selection as picture:选择区域,输出图像(png,gif,jpeg),好。

看了半天才只是1/10的菜单,哇,看来得几次才介绍的完了,都是我很梦想得到的功能(虽然我一般用tecplot,origin或者sigmaplot来绘制图表,但是数据整理方面还是excel做的最方便,包括选择,删除,计算等),看来开发者确实是个对excel不足之处很有认识的高手啊,想到和许多没有想到的功能它都有。

其他的功能介绍待添加,包括工作表对比,删除所有空表,sheet排序,多sheets打印,自动尾数字变上下标,公式的绝对引用和相对引用转换等等好功能。

继续,
Worksheet目录:
View:视图控制,包括下列项的显示与否,网格线,行列的标题(就是A,B,C,1,2,3等),水平垂直滚动条,sheet标签,打印页显示,显示为公式,状态栏,工具栏等。
Compare WorkSheets:依次列出两个sheet中所有内容不同的格子的值的不同和公式的不同,很好
Create WorkSheet Map:给出一个表格中每个格子的内容情况,标明某个格子是文本,数字,公式,错误或者逻辑
Sort Sheets:将标签排序
Delete Empty Sheet:删除空sheet
Hide Blank Row / Column At end of Sheet:选右下角,隐藏掉A1到此右下角外的所有行列部分,(注意,和Hide不同,是真的隐藏,可以吓人一跳的哦)
UnHide ---:这两个是反隐藏——显示所有的sheets或者某个sheet
Remove HyperLinks in Worksheet——去掉所有页面内的超链接,好功能。MS自作主张加上的超链接,许多时候个人并不喜欢,要去掉还不是一般的麻烦,这个功能我很喜欢。
Reset Last Cell——似乎是回到左上角?

Workbook(这些功能我倒比较少用)
Save and Backup:文件存盘的同时做备份
close all saved workbook:关闭掉所有保存了的文件
close and delete current workbook: 关闭并删除本文件(可能在临时文件时有用)
close all workbooks without saving:关闭所有文件,不做保存(对于只是读取许多文件的时候有用)

Application:
List All Font:列出所有字体
Clear the Recently files list:清除最近的使用文件列表

Select:选择,也是一个很好的工具箱,有点类似AutoCAD里面的quickselect
Conditional Select cells(rows) by Value: 按数值过滤器选择单元格或者行,包括:介乎多少之间,大于,小于,等于,正则表达式等等。方便选取数值
Conditional Select cells by Format: 按格式过滤器选择单元格,包括,正体斜体,颜色,字体大小。可以选择一个单元格作为参照。
Select Cells With Max(Min) Value: 选择最大(最小)的数值所在的格,相同时选出第一个。Excel本身的Max只给出最大值而没有位置。
Select Cells With error:选中出错的单元格
Select last cell:选中最右列和最下行的相交单元格
Select used area:选中图表中最左上角和最右下角形成的区域
Select to right(bottom):将选区扩展到有内容的最右边或者最下边,似乎有些bug。
Select all sheets:选中所有的sheet
Select all empty sheets:选中所有的空Sheet


Text:不错的文本处理
包含
Case:改变大小写
Insert:在所有字符串前面,后面,或者从左偏移地 加入一个新的字符串
Trim:去掉左,或右,或全部 等空格,或者前后各剪切掉一定长度的字符
Remove: 去掉指定字符
Combine:横向进行字符串的合并,可以加空格

Formula and Numbers:
copy cells formula as is (extra copy): 精确拷贝公式内容。有时候,我们想拷贝单元格内的公式,但是一移位粘贴,excel非常聪明地就帮我们按照相对坐标对公式进行修改,现在有这个功能就有更多的选择了。
Convert Formula to Constant Value:将公式内容改成数值,这个不错,以前经常得拷贝,选择性粘贴-数值几步
Convert Between Absolute and Relative Reference:在绝对引用和相对引用中转换,很好,虽然$很让人喜欢,不过大量输入的时候可挺让人烦躁的。
Perform Math Calculation on Selection:对选择内容进行批量加减乘除,也挺好。
Unit Converter:将选择内容在两种单位制间转换,要是能帮忙加上一些强度、容重之间的转换就好了
round number: 真正的四舍五入
convert percent to number:百分制变数字
covert number to ordinal:把数字变成1st,2nd之类
Convert Number to text :把数字变成英文的one two ten hundred
Convert Between Arabic and Roman: 在阿拉伯数字和罗马数字间转换
Insert random number to selection: 在选区内插入随机数

Format:
Set x2:set subscript/superscript :将最后的一位文字或者数字变成下标或者上标(好功能)
Word Wrap On/off:自动换行开关
Center Verticall: 直接垂直居中


Print
Print multiple sheets:打印多个sheets
Set filepath as header /footer:把文件的路径打印在上方或者下方

Date:(似乎作用不大)
Number of days between two days: 计算两天之间的天数
add days to date: 把某天加上天数得到新一天