发布于 2011-05-16 21:32:37
60楼
看了大侠们讲了很多,真是受益匪浅!画面的实用性、资源的合理利用、画面的布局、背景颜色、对象的静态颜色、动态颜色,对象的外形、对象的运动状态确实需要找到一个最佳的平衡点。激活后的画面,对人视觉、审美确实是很有学问的事情。这些年来,也在不断改进这些东西。WinCC的图形编辑器功能确实比较简单、有限,很难画出效果较好的对象,遇到这种情况我一般采用在ProE或者CAD里面把对象画好了转成*.emf的文件,然后在WinCC的图形编辑器中用insert/import导入到WinCC中来,然后稍加编辑,就能达到二维或者三维的效果。前些年做了风机风叶旋转的动态功能,由于图片帖不上来,只能把风叶旋转(Rotation Angle)的脚本帖上来供大家参考、分享一下。
Rotation Angle脚本如下:
#include "apdefap.h"
long _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
static int a=0;
if ((GetTagByte("风机变量")==10)&& (a<360-0)) {a+=30;}//可以bool变量
if (a>=360-0) {a=0;}//改变"360-0",可以控制起始角度和最终角度
return a;
}//根据自己的情况稍加修改,可以实现风叶的旋转功能。
上下运动对象的动态表达,可以通过视觉差加上一些小脚本。
Position Y的脚本如下:
#include "apdefap.h"
long _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
static int a=521;
if ((GetTagByte("变量")==10)&&(a<521+10)) {
//down
a+=2;
}//可以bool变量
if (a>=521+10) {
//back
a=521;
}
//return y postion
return a;
}//根据自己的情况稍加修改,可以实现对象的上下运动功能。
佛对我说:“你的痛苦来自于你的欲望,没有欲望也就没有痛苦!”