2007年12月10日星期一

戒网半年

好好学习,一定做到,除发邮件

2007年12月3日星期一

关于在Autocad中输入上下标文字和输入公式

在acad12中输入公式是痛苦的,只能自己做了一套带上下标的shx字体。

acad14~2004中,用插入Mathtype Ole的方法来插入公式,总是有一个黑色的外框无法消除。在2004的Mtext中,假若输入的是symbol字体的话,会发现是无法使用斜体的。

输入上下标,在Mtext中,可以采用带^的符号与a/b这个图标相结合来完成,也可以采用在symbol菜单中调用\u+2082的方法来完成,后一种方法可以输入一些比较古怪的字符,但似乎还未能掌握其精髓。

在Autocad 2007中,输入公式总算得到不错的解决,Insert OLE object之后,可以选择修改属性的方法,让边框采用非常接近白色的truecolor来近似消除黑框的影响。大致如下图。



2007中也可以比较方便地使用symbol斜体了。看来有时候还是有必要升级的。其实2007是个很不错的版本,至少其三维功能强大了不少。

2007年11月27日星期二

用OPENDCL创建自定义工具条

对于CAD自身的DCL,总是无法做的很合心意。
OPENDCL有其特殊之处所在,因而利用其DOCK控件,制作了一些工具栏,自我使用方便一些。主要特点是为了按需加载,就是所有的程序,分为几个级别,第一种是常用的,随系统启动,用lisp或者autohook定义为左手键。第二种是这类DOCK工具,按需要进行加载。第三种是机器里成千上万个lisp程序,按类别分后,用lisplink的ctrl+a来调用。基本足矣。

USB设备删除软件- USB SAFELY REMOVE

总是对WIN自带的USB删除程序不大满意,近日找到一个代替的软件,USB SAFELY REMOVE,且使用一段时间,看看其是否合意。

2007年11月9日星期五

记录几个最近去过的网站

1. www.readfree.net
这个可是软件高手老马也推崇和发帖的地方,网易的玉玲珑兄也赞不绝口之处,前段时间无法注册,11.06刚开放注册。

2. http://forum.cnool.net/thesis.jsp?thesisid=494
东方热线数学论坛。
在当年数学竞赛之时,单墫老师就是我们的偶像,吴建平老师等人都说单墫老师做IMO题目如同喝白开水般容易。如今,单老师的知己叶中豪先生也经常到此发表引人深思的数学文章,令人大开眼界。

3. http://www.ebookee.com/
一个国外查电子书的地方,链接许多是在rapidshare或者deposite等地方。

4. http://drop.io/
xbeta推荐的国外存储地址,除了速度慢之外,也没有什么缺点了。

5. http://dfc77.spaces.live.com/blog/
冲令狐_结构工程师的太极人生,是okok的冲令狐么:)
是清华大学的同行,我要向他好好学习。

2007年11月8日星期四

[python] Numpy、scipy、Matplotlib的学习

今天,重新捡起几个月前用scipy编写的非线性分析程序(主要用他进行非线性方程求解),发现numpy升级了。下载一下,记录一下。

http://www.scipy.org/

现在的numpy是2007.11.7(昨天)更新的1.04版本,而scipy是0.600版本了。python的编程给人以轻松愉快的感觉,安装上numpy和scipy的python更是具有强大的数值计算功能。

国内介绍scipy的并不多,下面是一篇

支持Python系列:Matlab的Python实现Scipy和Matplotlib简介


节选一些
" SciPy 是一个基于 Python 的项目,它旨在再现 MATLAB 的所有功能,优化其性能并简化与其它软件的集成,同时仍保持完全免费以及至少和 MATLAB 一样易于使用。" (http://www-128.ibm.com/developerworks/cn/linux/l-oslab/index.html) Scipy每年都有SciPy Conference,目前的版本还是04年的0.3.2,需要Python2.3 wxPython2.4 Numeric23等支持。Scipy的结构是scipy_core和scipy_lib两个部分,不过自己编译比较麻烦,要C和Fortran编译器。 如果你需要比较完整的Matlab功能支持,可以选择它。建议安装Enhanced Python (http://www.enthought.com/python/) ,一次安装,该有的都有了。…………

而要实现多一些绘图功能,则可以选用MATplotlib。
同样是上面的blog网址,给出了下面的介绍
“Matplotlib 是一个由 John Hunter 等开发的,用以绘制二维图形的 Python 模块。它利用了 Python 下的数值计算模块 Numeric 及 Numarray,克隆了许多 Matlab 中的函数, 用以帮助用户轻松地获得高质量的二维图形。Matplotlib 可以绘制多种形式的图形包括普通的线图,直方图,饼图,散点图以及误差线图等;可以比较方便的定制图形的各种属性比如图线的类型,颜色,粗细,字体的大小 等;它能够很好地支持一部分 TeX 排版命令,可以比较美观地显示图形中的数学公式。Matplotlib 掌握起来也很容易,由于 Matplotlib 使用的大部分函数都与 Matlab 中对应的函数同名,且各种参数的含义,使用方法也一致,这就使得熟悉 Matlab 的用户使用起来感到得心应手。对那些不熟悉的 Matlab 的用户而言,这些函数的意义往往也是一目了然的,因此只要花很少的时间就可以掌握。”

此处更有韦建明,蔡晓睿 (wei@uni-duisburg.de)给出的实例
http://www-128.ibm.com/developerworks/cn/linux/l-matplotlib/?ca=dwcn-newsletter-linux

还可以支持部分的latex,很不错。
转载贴图

2007年11月6日星期二

[autolisp] 增加Autolisp相关网站链接

1. http://www.cadesigner.com/Downloads.htm

2. http://paracadd.com/lisp.htm
http://paracadd.com/lisp/lisp_lst.htm
有一个叫http://paracadd.com/lisp/lsplst.lsp的程序挺好的,自动生成html页面
http://paracadd.com/lisp/

3.一个韩国的网站,收集了大量不错的lisp程序,可以发现,其不少程序是来自于theswamp。
http://www.acadvba.com/zero/zboard.php?id=codelisp

4. MP- Michael Puckett -一个国际知名autolisp高手的主页,有好些精彩的函数。他的主页做的非常精致,层次结构很好。
http://tiddlyspot.com/cadlabs/

2007年11月5日星期一

备份blogspot的文章

blogspot当然是非常好的博客网站,但是其不断的被封让人颇为沮丧。每年开放的时间比不开放还短。虽然可以通过一定的方法进来,但总是无趣。

前几天把blogspot备份到了http://qjchen.yo2.cn
做法和网上的介绍类似。

首先,到blogbackupOnline
https://www.blogbackuponline.com/techrigy/signup.aspx
注册一个账号,然后添加个人的blogspot,则其会把整个博客的文章导出为一个xml文件,这个文件很全,包括了文章和评论。
有了这个xml文件,就可以在某些其他网站中导入了,比如wordpress.com
就支持的最好,具体可见 http://qjchen.wordpress.com 。可惜这个站点也马上被封了。于是寻找国内可以导入xml文件的网站,发现yo2网站口碑不错,于是,在yo2里面导入了这个xml文件,可是评论导入不了。地址在: http://qjchen.yo2.cn。发现现在各个博客网站拼命的可以搬入各种其他网站的,但是在搬出方面还是很有点问题的。yo2还是很不错的,具有大量的插件,特别是代码高亮方面已经自己集成了,就比blogspot方便,唯一比较麻烦的是标签没有导入到,不如wordpress.com

不过还是会以blogspot为主,毕竟,google的声誉还是不错的。

2007年11月4日星期日

[autolisp] 将圆内的文字移动到圆中心处

[autolisp] 将圆内的文字移动到圆中心处


;;; -----------------------------------------------------------------;
;;; Purpose: move the text inside circle to the center of the circle ;
;;; write by qjchen ;
;;; http://qjchen.yo2.cn ;
;;; http://chenqj.blogspot.com ;
;;; -----------------------------------------------------------------;
(defun c:test (/ std-sslist movetocenter)
(command "_undo" "_be")
(setting)

(defun std-sslist (ss / n lst)
(if (eq 'pickset (type ss))
(repeat (setq n (fix (sslength ss))) ; fixed
(setq lst (cons (ssname ss (setq n (1- n))) lst))
)
)
)
(defun movetocenter (/ a x txtobj center_circle outline b bobject objss
res midpoint
)
(setq a (ssget '((0 . "circle"))))
(setq a (std-sslist a))
(foreach x a
(setq txtobj nil)
(setq pub x)
(setq center_circle (assoc 10 (entget x)))
(setq outline (objectpoint (entget x)))
(setq b (ssget "_cp" outline '((0 . "TEXT"))))
(setq bobject (ssname b 0))
(setq objss (vlax-ename->vla-object bobject))
(setq res (xyval1 objss))
(setq midpoint (midp (list (nth 0 res) (nth 1 res)) (list
(nth 2 res)
(nth 3 res)
)
)
)
(command "move" bobject "" midpoint (cdr center_circle))
)
)
(movetocenter)
(resetting)
(command "_undo" "_e")
)

;;; the subrountine is write by qjchen to get selection by circle
;;; and lwpolyline
(defun objectpoint (obj / name ori i r w_pl_lst wlist)
(setq name (cdr (assoc 0 obj)))
(cond
((= name "CIRCLE")
(setq ori (cdr (assoc 10 obj)))
(setq r (cdr (assoc 40 obj)))
(setq i 0)
(repeat 30
(setq wlist (append
wlist
(list (polar ori (* 2 pi (/ i 30.0)) r))
)
)
(setq i (1+ i))
)
)
((= name "LWPOLYLINE")
(defun w_pl_lst (ent / pt_list)
(foreach x ent
(if (= (car x) 10)
(setq pt_list (append
(list (cdr x))
pt_list
)
)
)
)
pt_list
)
(setq wlist (w_pl_lst obj))
)
)
wlist
)
;;; _ end of xyval
;;; ---The following codes are copy from Tony Hotchkiss at cadalyst
;;; Get the boundingbox of one object
(defun xyval1 (obj / minpt maxpt topy bottmy leftx rightx)
(vla-GetBoundingBox obj 'minpt 'maxpt)
(setq pt1 (vlax-safearray->list minpt)
pt2 (vlax-safearray->list maxpt)
topy (cadr pt2)
bottmy (cadr pt1)
leftx (car pt1)
rightx (car pt2)
) ; _ end of setq
(list leftx bottmy rightx topy)
)
;;; The error function
(defun err (s)
(if (= s "Function cancelled")
(princ "\nALIGNIT - cancelled: ")
(progn
(princ "\nALIGNIT - Error: ")
(princ s)
(terpri)
) ; _ end of progn
) ; _ end of if
(resetting)
(princ "SYSTEM VARIABLES have been reset\n")
(princ)
)
;;; err
;;; setting and resetting the system variables
(defun setv (systvar newval / x)
(setq x (read (strcat systvar "1")))
(set x (getvar systvar))
(setvar systvar newval)
)
;;; setv
(defun setting ()
(setq oerr *error*)
(setq *error* err)
(setv "BLIPMODE" 0)
(setv "CMDECHO" 0)
(setv "OSMODE" 0)
)
;;; setting
(defun rsetv (systvar)
(setq x (read (strcat systvar "1")))
(setvar systvar (eval x))
)
;;; rsetv
(defun resetting ()
(rsetv "BLIPMODE")
(rsetv "CMDECHO")
(rsetv "OSMODE")
(setq *error* oerr)
)
;;; -------------------------------------------------------
(defun midp (p1 p2)
(mapcar
'(lambda (x)
(/ x 2.)
)
(mapcar
'+
p1
p2
)
)
)
;;; The following code taken from Mr.Tony Hotchkiss at Cadalyst
(defun err (s)
(if (= s "Function cancelled")
(princ "\nregion clean - cancelled: ")
(progn
(princ "\nregion clean - Error: ")
(princ s)
(terpri)
) ; _ end of progn
) ; _ end of if
(resetting)
(princ "SYSTEM VARIABLES have been reset\n")
(princ)
)
;;; err
;;; setting and resetting the system variables
(defun setv (systvar newval / x)
(setq x (read (strcat systvar "1")))
(set x (getvar systvar))
(setvar systvar newval)
)
;;; setv
(defun setting ()
(setq oerr *error*)
(setq *error* err)
(setv "BLIPMODE" 0)
(setv "CMDECHO" 0)
(setv "OSMODE" 0)
)
;;; setting
(defun rsetv (systvar)
(setq x (read (strcat systvar "1")))
(setvar systvar (eval x))
)
;;; rsetv
(defun resetting ()
(rsetv "BLIPMODE")
(rsetv "CMDECHO")
(rsetv "OSMODE")
(setq *error* oerr)
)

2007年10月31日星期三

开车菜鸟的几个深刻记忆

我对开车一直没有很大的兴趣,买了半年多的车,还不到5000公里,水平也还是超低。

记录几个事件,提醒一下自己。

1) 买车前借哥的车出去,结果准备走的时候,倒车太早打方向盘转位,结果把旁边的车刮花了,对方车主又不在,等了足足半天,对方车主来把我臭骂一顿,说没有见过这么差的技术。

2) 搭怀孕的老婆、岳父岳母上街。平时由于只搭一人,上车时间固定,因此还没等人上齐关门就开车,结果轮胎把最后上的老婆的鞋压住了,还开始向前走,幸亏幸亏,接下来没有油门当刹车。被老婆臭骂一顿。

3)有两次倒车完没有即时换空挡或前档,接下来加油狂向后冲,差点出事。

4) 经常忘记放手刹。同下面的文盲事件2

5) 某天早上发现开不了车了,结果7点多把买车的老兄电话揪起来,把他郁闷死,同下面的文盲事件3

不过嘛,吃一堑长一智,每个事件都让我深刻记住,希望以后不会再出现了。

下面是PCAUTO论坛的一篇文章,转载学习一下:)

http://bbs.pcauto.com.cn/topic.jsp?tid=671752

文盲事件①文盲指数:★★★★★

陈 女士买了一辆POLO,第二天打火时钥匙却扭不动了。难道刚买的新车出问题了?她立马到路边店找了个修理工来检查,修理工检查后告诉她,只有把方向锁锯 了。费了好一翻功夫,方向锁被锯下来了,车也点燃火了。陈女士立刻将车开到4S店,要求换辆新车。4S店的维修员有些哭笑不得。因为现在的汽车基本上都配 置有方向锁,当你扭不动钥匙的时候,左右转动一下方向盘,就可以启动汽车了。

文盲事件②文盲指数:★★★★☆

王女士开车 去接孩子放学,一路上感觉车子没力,一直在震动,油门踩到底速度都提不起来。一好心车主追上她后,告诉她车后面在冒黑烟,王女士听后吓了一大跳,还以为汽 车要爆炸了,赶忙停车打电话叫老公过来看看。结果,仔细检查发现,开了10多公里路,她居然没将汽车的手刹松开。

文盲事件③文盲指数:★★★★☆

今年夏天,老李买了一辆307,有一次洗完车后坐在车里感觉屁股下面很热,把空调开到最低温度仍然不起作用。老李很纳闷,平时洗车后,车内都非常清凉,这次怎么觉得屁股上像有团火在烧呢?原来他在洗车的时候,洗车工人不小心把坐椅下面的电加热开关打开了。

文盲事件④文盲指数:★★★☆☆

李先生刚刚买了一辆豪车,迫不及待想试试爱车的动力,体验一回速度与激情。他以平均200公里/小时的速度在高速路上飞奔,还打电话向朋友炫耀,结果他的爱车磨合期没跑完,发动机就出问题了。原来新买的汽车都需要开磨合期,而磨合期内速度一般都不能超过80公里/小时。

文盲事件⑤文盲指数:★★★★

在一次旅途中,李小姐的爱车雨刮器里没水了,于是她打开引擎盖,将一瓶矿泉水直接加进了一个专门的水箱里,关上引擎盖,点燃火后正准备起步,她发现仪表盘上的刹车指示灯突然亮了,检查了半天也没找到原因,原来她将水误加到了刹车液里。

Opensees的学习

前段时间,把OPENSEES的钢材和混凝土的本构模型都做了一遍静力和滞回的测试,对其了解深入了一些。


同时,建立了一个中节点模型来对试验结果进行验证,里面主要涉及到这些:1.节点单元(需要输入滑移信息,有默认的bar-slip模型,也有别人添加的bar-slip01模型,这个模型它的算例里面比较麻烦的就是公制和英制,学了半天才大概有些清楚,似乎它的算例和说明文档对不起来,看来这种私人开发的模型还有许多技术文档没有完善的) 2. 直接采用混凝土和钢材的各种本构模型,此时,其实也可以算出很好的滞回曲线,不过在节点区有比较大滑移的情况下,应该还是不太适合。3.pinch4本构,这个其实和上述2结合之后,也可以做出不错的效果。

下面是一些结果图。

2007年10月22日星期一

不错的软件,conceptdraw和有道网络词典

绘制流程图的软件有许多
smartdraw以具有大量的图库而让人称道,visio是ms正统。
conceptdraw具有新时代软件的美观性,易于上手且图画精美。如下图

有道词典,确实的词汇量比较大,不少的专业名词都可以得到解答。

2007年10月20日星期六

一些不错的建筑结构专业词典工具

建筑结构的各类词组,在金山词霸中总是找不到。

因此,我经常上采用如下的几个方法。

1.雅信翻译软件。
在此软件的建筑词库中,有大量的专业名词,整句翻译也不错,但若作为简单的翻译软件,则稍显复杂。

2.早期的“网络词海”
现在网站已经不存在了,是清华大学的一个页面,大概是98,99年的。

3.现在的“有道海量词典”
http://dict.yodao.com/
这个非常好,刚才查了好些名词,都有。鉴于家里已经装了宽带包月,此时用此网络词典就不成问题了。

4.华建词典
很早就有的一个词典软件,不过词汇量似乎不是很大。

5.规范
建筑结构规范中有一本专业名词,当时我做过一个excel表,现在经常用之查询。

6. 21世纪 词典
这个待补上

2007年10月14日星期日

当老爸了

2007年10月10日晨5:54
小儿诞生,5斤8两
看着小生命睁开眼睛好奇的看着周围的世界,我很激动。
为了他,我必须做的更好。

2007年8月11日星期六

Autohotkey在TC中的应用—包括TrayIcon的Alt-Tab问题

Autohotkey在TC中的应用—包括TrayIcon的Alt-Tab问题

偶逛TC的wiki,才发现有脚本这一块,把喜欢的Autohotkey所有文章翻了一遍,找出几个自己喜欢的整理一下,可能是我孤陋寡闻,见笑了:)。也学习AHK是如何来控制TC的,以便以后DIY。

Autohotkey的应用请google一下,很简单的。

(http://chenqj.blogspot.com, qjchen)

1)让TC在trayicon的情况下ALT-TAB时不用再按enter,这个问题在TC论坛上也颇久了,G兄似乎也没有想去解决之。所以有如下ahk。
#Persistent
#SingleInstance force
#NoTrayIcon
SetTimer subTimer, 500
subTimer:
If WinActive( "ahk_class switchwin2" )
{
SendInput, {Enter}
}
Return

2)鼠标中键打开新的Tab(不一定很必要)
cm_OpenDirInNewTab := 3003
#IfWinActive ahk_class TTOTAL_CMD
$MButton::
MouseGetPos, , , , sControl
if (sControl != "TMyListBox1" and sControl != "TMyListBox2")
{
Send {MButton}
Return
}
Click
PostMessage 1075, %cm_OpenDirInNewTab%, 0
Return

3)通过热键调整splitter(就是用键盘调用窗口分隔条,可能是我愚笨,没有在TC的command中找到这个键盘快捷键)
http://www.ghisler.ch/wiki/index.php/AutoHotkey:_Popup_the_splitter_menu
; Win-G (Total Commander: splitter menu)
~#g::
if not WinActive( "ahk_class TTOTAL_CMD" )
Return

WinGet sf_aControls, ControlList
Loop Parse, sf_aControls, `n
{
StringLeft sf_sTemp, A_LoopField, 6
if (sf_sTemp = "TPanel")
{
ControlGetPos Cx,Cy,Cw,Ch, %A_LoopField%
if (Cw < 16)
{
ControlClick %A_LoopField%, A,,RIGHT
Break
}
}
}
Return

4)TC Fav Menu
http://www.ghisler.ch/wiki/index.php/AutoHotkey:_TC_Fav_Menu
文件较大
这个可以把TC的收藏夹也作为可以为资源管理器所用,也可以作为Open和save时候所用

5)在TC的标题栏里面显示文件路径(这个是用来开心的吧:P,自己加点什么有趣的信息上去TITLE)
#Persistent
SetTimer subTimer, 250
subTimer:
if WinActive( "ahk_class TTOTAL_CMD" )
{
ControlGetText sPath, TMyPanel2
StringMid sPath, sPath, 1, StrLen(sPath) -1
WinGetTitle sWindowTitle
if ( sWindowTitle != sPath )
WinSetTitle %sPath%
}
Return

6)在进度条上显示进度的已用时间,剩余时间,总时间,和开始结束时间
http://www.ghisler.ch/wiki/index.php/AutoHotkey:_Show_elapsed_/_remaining_/_total_/_start_/_finish_times_in_title_bar_of_progress_dialogs
代码颇长。
在进度条激活的情况下,按shift键就可以了。

7)给工具栏图标Toolbar Icon增加弹出菜单,可以多项启动参数。
http://www.ghisler.ch/wiki/index.php/AutoHotkey:_Popup_menu_for_button_bar_or_F4

8)最大化窗口的情况下,双击窗口的最左边或者最右边将去到相应的根目录
RegRead, DoubleClickSpeed, HKEY_CURRENT_USER, Control Panel\Mouse, DoubleClickSpeed
If DoubleClickSpeed =
DoubleClickSpeed = 500

~LButton::
IfWinActive, ahk_class TTOTAL_CMD
{
If A_TimeSinceThisHotkey >= %DoubleClickSpeed%
ClickCount = 0
MouseGetPos, xcoordinate
If xcoordinate = 4
{
ClickCount++
PostMessage 1075, 4001, , , ahk_class TTOTAL_CMD
}
If (xcoordinate = A_ScreenWidth+3)
{
ClickCount++
PostMessage 1075, 4002, , , ahk_class TTOTAL_CMD
}
If ClickCount = 2
{
PostMessage 1075, 2002, , , ahk_class TTOTAL_CMD
ClickCount = 0
}
}
Return

有空把其他几个脚本的也翻一遍,看看有没有什么好的。

2007年8月3日星期五

关于制作多张图片的拼接图

关于制作多张图片的拼接图
问题提出:有100多张图片,想制作比较满意的索引图(大致可以看清,但不能太清晰以防被直接盗用)。
photoshop肯定是可以做到,有些麻烦,方法可能很多,我用了三种。
1)picasa的工具--创建--图片拼接
缺点:可选项太少,大小无法控制。


2)直接用图片浏览软件看,滚屏抓图
这个是我当时采用的方法,用Totalcmd看缩略图,可以控制图片预览大小,背景,行列数。其他软件均可做到。而后滚屏抓图。
3)Picture Merge Genius。
所谓术业有专攻,它的功能就是拼图,而且只是横竖拼图。容易用,也可以方便调整几个图片的相对位置,效果如下。

2007年8月1日星期三

Joseflin的100多道几何作图题目

在Mjtd的几何算法板块,Joseflin版主热心贡献的大量题目,无疑是该版的支柱,相信每一个对画图有浓厚兴趣的朋友都希望能全部尝试一遍,我完成了一小部分,还有不少没有完成,而且经常忘记题目是在挑战几之中。

贸贸然的将Joseflin版主的1~100号题目做成小图索引,并配上链接,在经过版主的允许之后,发在了Mjtd版,也在这里备份一下。


自我挑战1


自我挑战2


自我挑战3


自我挑战4


自我挑战5


自我挑战6


自我挑战7


自我挑战8


自我挑战9


自我挑战10


自我挑战11


自我挑战12


自我挑战13


自我挑战14


自我挑战15


自我挑战16


自我挑战17


自我挑战18


自我挑战19


自我挑战20


自我挑战21


自我挑战22


自我挑战23


自我挑战24


自我挑战25


自我挑战26


自我挑战27


自我挑战28


自我挑战29


自我挑战30


自我挑战31


自我挑战32


自我挑战33


自我挑战34


自我挑战35


自我挑战36


自我挑战37


自我挑战38


自我挑战39


自我挑战40


自我挑战41


自我挑战42


自我挑战43


自我挑战44


自我挑战45


自我挑战46


自我挑战47


自我挑战48


自我挑战49


自我挑战50


自我挑战51


自我挑战52


自我挑战53


自我挑战54


自我挑战55


自我挑战56


自我挑战57


自我挑战58


自我挑战59


自我挑战60


自我挑战61


自我挑战62


自我挑战63


自我挑战64


自我挑战65


自我挑战66


自我挑战67


自我挑战68


自我挑战69


自我挑战70


自我挑战71


自我挑战72


自我挑战73


自我挑战74


自我挑战75


自我挑战76


自我挑战77


自我挑战78


自我挑战79


自我挑战80


自我挑战81


自我挑战82


自我挑战83


自我挑战84


自我挑战85


自我挑战86


自我挑战87


自我挑战88


自我挑战89


自我挑战90


自我挑战91


自我挑战92


自我挑战93


自我挑战94


自我挑战95


自我挑战96


自我挑战97


自我挑战98


自我挑战99


自我挑战100


自我挑战101


自我挑战102


自我挑战103


自我挑战104


自我挑战105


自我挑战106


自我挑战107


自我挑战108


自我挑战109


自我挑战110


自我挑战111


自我挑战112


自我挑战113


自我挑战114


自我挑战115


自我挑战116


自我挑战117


自我挑战118


自我挑战119


自我挑战120


自我挑战121


自我挑战122

Artrage2.5 是个很好玩的绘图软件

似乎2.5多了一些特性。
Artrage除了细腻的笔触之外,它的stencil(镂空模板),tracing(底图模仿),ref(参考画)等都有着和实际绘画接近的概念。
唯美的界面也让人心怡。
小侄子经常用它乱涂乱画。

如何批量修改Acad中标注的字体高度

如何批量修改Acad中标注的字体高度

方法1:
用qselect命令选取所需要的标注
在properties(属性)窗口统一修改高度

方法2
打dim命令,键入ov,要求输入系统变量名称,键入dimtxt,给出新高度,选取标注。

方法2其实是更加古老的方法的,至少R14是可以用的。

看来Acad本身的命令还是很丰富的,至少像用circle的3p tan tan tan方法来画阿波罗尼斯圆的我就没有掌握的很好。

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: 把某天加上天数得到新一天

2007年5月7日星期一

不错的影片-《神奇遥控器》

5.1黄金周的最后一天,看了一部《神奇遥控器》,看着看着突然很是感动,真是一部好片。人生其实重视的是一个过程,而不是一个结果。上班族的我们,偶尔总会被这些深入心灵的影片所触动,一次次的告诫自己劳逸结合,多和家人相处,平凡的事情最伟大,不要等失去之后再去珍惜,但我们真的做到了吗?

看看这部片,会被感动的。

2007年5月6日星期日

软件综述集锦

网上很难得的一类文章,就是对某类软件非常熟悉的高手,对软件的综述。是不是我们应该叫他们——软件达人?:)

此处先记录几个,慢慢来添加,也请各位多告诉我一些

免费的图形、图像、影音相关软件—Metalslugx简评版

http://blender.bokee.com/536697.html

地址是在xbeta兄的文章中看到的,牡蛎兄几乎把这类软件横扫一空,让人看了赞叹不已。

点评“最好的300款免费软件”

http://blog.sina.com.cn/u/46dac66f010007b3

Xbeta兄的这篇文章传遍了大江南北,点评之处可见其用软件之多和精,很佩服。

常用CAE分析软件网址及短评

http://www.okok.org/cgi-bin/ut/topic_show.cgi?id=6167&amp;amp;amp;amp;amp;amp;amp;amp;h=1&bpg=1&age=-1

sjtu79是我很敬佩的okok的高手,这篇短评是以部分,后面的讨论更是精彩。不知道结构工程行业能用上多少的这类软件。

最爱非主流-----矢量软件一览

http://www.5d.cn/Tutorial/image/base/200309/1205.html

qin8500的作品,虽然软件不多,但其实难得的是原创和自己的观点,对吧

经典的古董级软件一览

http://www.pconline.com.cn/pcedu/teach/empolder/common/0405/370368.html

对我而言,虽然90年代初开始学电脑课,但一直到了97年才有自己的机器,对这些古董软件还是存在着崇高的敬意的,毕竟DOS命令曾经无数次打断我学习计算机的兴趣:)

文本编辑器评测

http://www.donationcoder.com/Reviews/Archive/TextEditor/index.html

这篇文章Xbeta兄翻译过。原文给出的评测虽然各花入各眼,但是毕竟做了一个庞大的横向评测,这种优秀的文章在国内确实不多(想想就想通了,现在的各类电脑报大做文章的评测硬件,其实无非就是做广告而已,软件评测有什么利益呢?就算有的少数软件、网站评测也是几乎都从皮毛上入手,许多的软件介绍照抄帮助,毫无帮助,没有自己的任何观点,挺无意义的),其实,就如同做科研一般,做一个课题之前,最好能够通读同类文章,先做一个综述,心中有数,究竟研究都去到了什么样的程度。所以个人觉得要是大型软件网站能做出一些有价值的评测就好了,毕竟这个需要的精力不少。

记得还有一篇CFD软件综述、一篇PDA软件综述和Mbira兄写过的洋洋洒洒的文章,没有找到,且待补上。

2007年4月28日星期六

一些Autohotkey程序的简介

一些Autohotkey程序的简介

Autohotkey无疑是个很好的软件,至少它降低了一些编程的门槛,通过内置的函数让用户可以用比较简单的语言来控制鼠标和键盘,当然还有与之配套的各种函数及系统函数。

它的入门是很容易的,而且在大部分时间内,我们也经常只是用它来进行批处理或者简化按键,但是对于高手而言,它还有着更多的用途。

如何学好它,个人觉得它的帮助和它的论坛一定是最好的地方。在它的论坛上,有许许多多的高手共享出各种代码。如果我们真的有心去学好它的话,花一段时间浏览一次论坛标题,或者找几个好帖子好好研究是必要的。或者可以针对自己喜欢的几个意向,搜索一下论坛。比如我个人希望能有如下一些做法,比如利用它增加对Autocad的控制,如何更好的控制批处理程序的排队等。

下载了一大堆论坛的代码,茶余饭后慢慢研究。下面先翻译一点别人的程序简介,先放在记忆中,说不定哪天就有用了。毕竟每个代码都是作者的心得体会,许多我们不知道怎么用的语法也得通过实践来学习。翻译不对之处请指教。


NiftyWindows -- by Enovatic-Solutions:
这个脚本让用户可以进行更加方便的窗口操作,比如拖放,缩放,最大化等,它的特点是用右键拖放。

Screen Magnifier -- by Holomind:
屏幕放大器,可以定义刷新间隔,缩放级别;防锯齿.

LiveWindows: Watch Dialog-boxes in Thumbnail -- by Holomind:
动态查看下载、文件拷贝和其他一些带进度条的脚本,它会用一个很小的“总在最前”的窗口来显示这些进度。
Mouse Gestures -- by deguix:
鼠标手势:此脚本检测你在鼠标右键按下后的鼠标移动情况。如果它觉得你画了一个内定的手势时,会启动一个程序或者执行一个你定义的操作。
(我有点想看懂来试试怎么在autocad中加速操作)。

Context Sensitive Help in Any Editor -- by Rajat: 这个脚本定义热键“ctrl+2”的操作为——显示所选择 AutoHotkey 命令的帮助。如无指定,自动查找句首单词。

Easy Window Dragging (requires XP/2k/NT): 正常情况下,只有点击标题栏才可以拖动窗口,此脚本使得一切皆有可能:),可以是程序内的任何位置,使用时,先按下CapsLock键或者鼠标中键,然后就可以拖动了.

Easy Window Dragging -- KDE style (requires XP/2k/NT) -- by Jonny: 脚本使得移动窗口或者重新定义窗口的大小变得容易
1) 按ALT 键,左击窗口内任何位置,可以拖放到新位置。 2) 按ALT 键,右击窗口内任何位置,可以重新定义窗口的大小 3) 按ALT 键,别放开。左击最小化窗口,右击最大化,中击关闭。

Easy Access to Favorite Folders -- by Savage:
在某些可以指定目录的情况下,中击鼠标,会显示一个你最喜欢目录的菜单以便选择。比如1)打开文件或者关闭文件的情况;2)资源管理器窗口;3)命令行格式下。还有一些其他场合。

IntelliSense -- by Rajat (requires XP/2k/NT): 此脚本在你编辑Autohotkey脚本的时候进行监控,当它发现你打了一个Autohotkey命令的时候,会自动提示所需参数,不需要时,按ESC退出。还可以通过按ctrl+f1得到键入命令的帮助。

Using a Joystick as a Mouse: 把手柄变成三键鼠标。

Joystick Test Script: 检测手柄的按键数目和其他属性。它还可以知道手柄是否需要校准了。

On-Screen Keyboard (requires XP/2k/NT) -- by Jon: 屏幕上的键盘,可以实时看到所按下的键,作者说只是为了学习盲打:).

Minimize Window to Tray Menu: 把窗口隐藏到托盘(tray)。可以通过菜单反隐藏。如果程序退出,所有窗口变成无隐藏。

Changing MsgBox's Button Names: 一个测试脚本。可以改动各种默认对话框按键的内容,但是不影响其实际操作。(莫非是愚人节的作品,screenshot的主页也有一个这样的ahk,可以把一些按键临时删除的,比如计算器上的各个数字键,看来也是娱人用的)

Using Keyboard Numpad as a Mouse -- by deguix: 小键盘当鼠标用,可以支持到5键鼠标,可以自定义速度等等.

Seek -- by Phi: 在start 菜单中,从几百个安装程序选到所需程序实在是个恶梦,本脚本让你指定一个字母,而后它会自动过滤出符合条件的结果,方便选择。

ToolTip Mouse Menu (requires XP/2k/NT) -- by Rajat: 按中键一段时间后,会跳出一个菜单。会根据程序的不同,比如Notepad或者 Word有不同提示。(感觉这也是一个很好的功能,可以自定义一些东西)

Volume On-Screen-Display (OSD) -- by Rajat: 热键定义音量,会在屏幕上用彩色条表示音量大小.

Window Shading (roll up a window to its title bar) -- by Rajat: 窗口搜索:把一个窗口卷到其标题栏而后又卷回来,程序退出时,所有窗口自动恢复.

1 Hour Software -- by skrommel: 一大堆脚本的收集,有简单的说明和有些屏幕抓图.

Titan's Scripts: Titan的脚本收集,比如以下内容:

1) XML Reader/Writer: 一个友好的xml文件的读取和写入界面,可以方便的提取和写入数值.

3) Functions: 一个函数包,每个是一个Autohotkey命令,带有输出变量.

4) Weather: 在一个gui或者托盘中显示当前天气.

Toralf's Scripts: Toralf'的代码收集,有许多有用的,比如:

1) AHK Window Info: 得到一些Windows的信息.

2) Electronic Program Guide: 浏览你所在区域的电视节目表 (支持几个国家).

3) Auto-Syntax-Tidy: 改变脚本中的缩进情况和大小写情况,让之更有可读性.(个人感觉是个好代码,是不是对其他语言也有用呢?)

Scripts & Functions Forum:
这个是个大宝库,有1000个可供使用的Autohotkey脚本代码. 由许多AutoHotkey的用户一起提供。(有需要记得搜索啊,你的问题许多时候已经有人问过了).