在以往的两个帖子中,已经提到了采用journal文件进行计算前的 模型 参数设置、连续计算以及批量后处理,想必大家在此基础上有一些别的想法,是的,本人结合自身经历,发现在一些计算中,需要大规模的创建点、线乃至于面,并且还需要将这些监控起来,假如按照我们手工去操作的话,那工作量还是很大的,说不定还容易出现错误。因此,为减少失误以及提高工作效率, 本次,将继续介绍journal的另外一些别的用途:多点、线、面的设定与监控。
1、点、线、面的设定
当N多的点,线,面需要你一个一个敲进去的话,想必你已经麻木了。不过有了下面的命令,相信一切都会变得简单。
开始的步骤见帖子” http://forums.caenet.cn/showtopic-532623.aspx “
(1)点:
(cx-gui-do cx-activate-item "MenuBar*SurfaceMenu*Point...")
(cx-gui-do cx-set-real-entry-list "Point Surface*Frame2(Coordinates)*Table1*RealEntry1(x0)" '( 0))
(cx-gui-do cx-set-real-entry-list "Point Surface*Frame2(Coordinates)*Table1*RealEntry2(y0)" '( 0))
(cx-gui-do cx-set-real-entry-list "Point Surface*Frame2(Coordinates)*Table1*RealEntry3(z0)" '( 0))
(cx-gui-do cx-activate-item "Point Surface*PanelButtons*PushButton1(OK)")
(cx-gui-do cx-set-real-entry-list "Point Surface*Frame2(Coordinates)*Table1*RealEntry1(x0)" '( 1))
(cx-gui-do cx-set-real-entry-list "Point Surface*Frame2(Coordinates)*Table1*RealEntry2(y0)" '( 0))
(cx-gui-do cx-set-real-entry-list "Point Surface*Frame2(Coordinates)*Table1*RealEntry3(z0)" '( 0))
(cx-gui-do cx-activate-item "Point Surface*PanelButtons*PushButton1(OK)")
(cx-gui-do cx-set-real-entry-list "Point Surface*Frame2(Coordinates)*Table1*RealEntry1(x0)" '( 2))
(cx-gui-do cx-set-real-entry-list "Point Surface*Frame2(Coordinates)*Table1*RealEntry2(y0)" '( 0))
(cx-gui-do cx-set-real-entry-list "Point Surface*Frame2(Coordinates)*Table1*RealEntry3(z0)" '( 0))
(cx-gui-do cx-activate-item "Point Surface*PanelButtons*PushButton1(OK)")
(cx-gui-do cx-activate-item "MenuBar*WriteSubMenu*Stop Journal")
将“(cx-gui-do cx-set-real-entry-list "Point Surface*Frame2(Coordinates)*Table1*RealEntry1(x0)" '( 2))
(cx-gui-do cx-set-real-entry-list "Point Surface*Frame2(Coordinates)*Table1*RealEntry2(y0)" '( 0))
(cx-gui-do cx-set-real-entry-list "Point Surface*Frame2(Coordinates)*Table1*RealEntry3(z0)" '( 0))
(cx-gui-do cx-activate-item "Point Surface*PanelButtons*PushButton1(OK)")”
这四行重复就行,注意更改里头的坐标值。
(2)线:
(cx-gui-do cx-activate-item "MenuBar*SurfaceMenu*Line/Rake...")
(cx-gui-do cx-set-real-entry-list "Line/Rake Surface*Frame4(End Points)*Table1*RealEntry1(x0)" '( 0))
(cx-gui-do cx-set-real-entry-list "Line/Rake Surface*Frame4(End Points)*Table1*RealEntry4(x1)" '( 20))
(cx-gui-do cx-set-real-entry-list "Line/Rake Surface*Frame4(End Points)*Table1*RealEntry2(y0)" '( 10))
(cx-gui-do cx-set-real-entry-list "Line/Rake Surface*Frame4(End Points)*Table1*RealEntry5(y1)" '( 10))
(cx-gui-do cx-set-real-entry-list "Line/Rake Surface*Frame4(End Points)*Table1*RealEntry3(z0)" '( 10))
(cx-gui-do cx-set-real-entry-list "Line/Rake Surface*Frame4(End Points)*Table1*RealEntry6(z1)" '( 10))
(cx-gui-do cx-activate-item "Line/Rake Surface*PanelButtons*PushButton1(OK)")
(cx-gui-do cx-set-real-entry-list "Line/Rake Surface*Frame4(End Points)*Table1*RealEntry1(x0)" '( 0))
(cx-gui-do cx-set-real-entry-list "Line/Rake Surface*Frame4(End Points)*Table1*RealEntry4(x1)" '( 20))
(cx-gui-do cx-set-real-entry-list "Line/Rake Surface*Frame4(End Points)*Table1*RealEntry2(y0)" '( 20))
(cx-gui-do cx-set-real-entry-list "Line/Rake Surface*Frame4(End Points)*Table1*RealEntry5(y1)" '( 20))
(cx-gui-do cx-set-real-entry-list "Line/Rake Surface*Frame4(End Points)*Table1*RealEntry3(z0)" '( 10))
(cx-gui-do cx-set-real-entry-list "Line/Rake Surface*Frame4(End Points)*Table1*RealEntry6(z1)" '( 10))
(cx-gui-do cx-activate-item "Line/Rake Surface*PanelButtons*PushButton1(OK)")
(cx-gui-do cx-activate-item "MenuBar*WriteSubMenu*Stop Journal")
同样重复上面坐标那几行命令就OK。
(3)面的话,同样的操作,这里就不再叙述了。
2、点、线、面的监控
前面已经把需要监控的点、线、面已经设定好了,现在就进行监控。
(1)点:
(cx-gui-do cx-activate-item "MenuBar*MonitorsSubMenu*Surface...")
(cx-gui-do cx-set-integer-entry "Surface Monitors*IntegerEntry1(Surface Monitors)" 1)
(cx-gui-do cx-activate-item "Surface Monitors*IntegerEntry1(Surface Monitors)")
(cx-gui-do cx-set-integer-entry "Surface Monitors*IntegerEntry1(Surface Monitors)" 2)
(cx-gui-do cx-activate-item "Surface Monitors*IntegerEntry1(Surface Monitors)")
(cx-gui-do cx-set-toggle-button "Surface Monitors*Frame2*Table2*CheckButton10" #f)
(cx-gui-do cx-activate-item "Surface Monitors*Frame2*Table2*CheckButton10")
(cx-gui-do cx-set-integer-entry "Surface Monitors*Frame2*Table2*IntegerEntry11" 2)
(cx-gui-do cx-activate-item "Surface Monitors*Frame2*Table2*IntegerEntry11")
(cx-gui-do cx-set-list-selections "Surface Monitors*Frame2*Table2*DropDownList12" '( 1))
(cx-gui-do cx-activate-item "Surface Monitors*Frame2*Table2*DropDownList12")
(cx-gui-do cx-activate-item "Surface Monitors*Frame2*Table2*PushButton13(Define)")
(cx-gui-do cx-set-list-selections "Define Surface Monitor*Frame1*Frame1*DropDownList2(Report Type)" '( 7))
(cx-gui-do cx-activate-item "Define Surface Monitor*Frame1*Frame1*DropDownList2(Report Type)")
(cx-gui-do cx-set-list-selections "Define Surface Monitor*Frame1*Frame1*DropDownList3(X Axis)" '( 2))
(cx-gui-do cx-activate-item "Define Surface Monitor*Frame1*Frame1*DropDownList3(X Axis)")
(cx-gui-do cx-set-list-selections "Define Surface Monitor*Frame1*Table2*DropDownList1(Report of)" '( 0))
(cx-gui-do cx-activate-item "Define Surface Monitor*Frame1*Table2*DropDownList1(Report of)")
(cx-gui-do cx-set-list-selections "Define Surface Monitor*Frame1*Table2*DropDownList2" '( 0))
(cx-gui-do cx-activate-item "Define Surface Monitor*Frame1*Table2*DropDownList2")
(cx-gui-do cx-set-list-selections "Define Surface Monitor*Frame1*Frame3*List3(Surfaces)" '( 7))
(cx-gui-do cx-activate-item "Define Surface Monitor*Frame1*Frame3*List3(Surfaces)")
(cx-gui-do cx-set-text-entry "Define Surface Monitor*TextEntry2(File Name)" "point-1")
(cx-gui-do cx-activate-item "Define Surface Monitor*PanelButtons*PushButton1(OK)")
(cx-gui-do cx-set-toggle-button "Surface Monitors*Frame2*Table2*CheckButton17" #f)
(cx-gui-do cx-activate-item "Surface Monitors*Frame2*Table2*CheckButton17")
(cx-gui-do cx-set-integer-entry "Surface Monitors*Frame2*Table2*IntegerEntry18" 2)
(cx-gui-do cx-activate-item "Surface Monitors*Frame2*Table2*IntegerEntry18")
(cx-gui-do cx-set-list-selections "Surface Monitors*Frame2*Table2*DropDownList19" '( 1))
(cx-gui-do cx-activate-item "Surface Monitors*Frame2*Table2*DropDownList19")
(cx-gui-do cx-activate-item "Surface Monitors*Frame2*Table2*PushButton20(Define)")
(cx-gui-do cx-set-list-selections "Define Surface Monitor*Frame1*Frame1*DropDownList2(Report Type)" '( 7))
(cx-gui-do cx-activate-item "Define Surface Monitor*Frame1*Frame1*DropDownList2(Report Type)")
(cx-gui-do cx-set-list-selections "Define Surface Monitor*Frame1*Frame1*DropDownList3(X Axis)" '( 2))
(cx-gui-do cx-activate-item "Define Surface Monitor*Frame1*Frame1*DropDownList3(X Axis)")
(cx-gui-do cx-set-list-selections "Define Surface Monitor*Frame1*Table2*DropDownList1(Report of)" '( 0))
(cx-gui-do cx-activate-item "Define Surface Monitor*Frame1*Table2*DropDownList1(Report of)")
(cx-gui-do cx-set-list-selections "Define Surface Monitor*Frame1*Table2*DropDownList2" '( 0))
(cx-gui-do cx-activate-item "Define Surface Monitor*Frame1*Table2*DropDownList2")
(cx-gui-do cx-set-list-selections "Define Surface Monitor*Frame1*Frame3*List3(Surfaces)" '())
(cx-gui-do cx-activate-item "Define Surface Monitor*Frame1*Frame3*List3(Surfaces)")
(cx-gui-do cx-set-list-selections "Define Surface Monitor*Frame1*Frame3*List3(Surfaces)" '( 8))
(cx-gui-do cx-activate-item "Define Surface Monitor*Frame1*Frame3*List3(Surfaces)")
(cx-gui-do cx-set-text-entry "Define Surface Monitor*TextEntry2(File Name)" "point-2")
(cx-gui-do cx-activate-item "Define Surface Monitor*PanelButtons*PushButton1(OK)")
(cx-gui-do cx-activate-item "Surface Monitors*PanelButtons*PushButton1(OK)")
(cx-gui-do cx-activate-item "MenuBar*WriteSubMenu*Stop Journal")
线和面的监控类似,就不再列出了。
这样的话,基本能保证所需要的点、线、面的设定与监控。
还是挺省事的。
这些是个人在应用中的一些经验和体会,期待与大家学习交流!