1. 创建组,并根据条件进组
//创建组,并根据条件进组
if (@P.y>0)
@group_up = 1;
//将ptnum为4的point从组中移除。
if (@ptnum==4)
@group_up = 0;
2.添加point到group中或把point从group中移除
语法中最后面的 1 表示加入,0表示移除
if (@P.y>0)
setpointgroup(0,'up',@ptnum,1);//(端口,组名,点号,加入或移除)
把指定point移出组(简单写法,不需要if)
setpointgroup(0,'up',5,0);
3.判断point是否在组内返回1或0
if(inpointgroup(0,'up',@ptnum))//判断point是否在组内,如果在返回1,否则返回0
@Cd = {0,1,0};
4.返回组中点数量
int npt = npointsgroup(0,'up');//返回组中点数量
5.返回组中点序号(数组形式)
int list[] = expandpointgroup(0,'up'); //以数组形式返回group中所有点的点序号
int list1[] = expandpointgroup(0,'2-4'); //这种写法也支持
int list2[] = expandpointgroup(0,''); //空组会返回所有点序号
4.反转组
//有“set”和“toggle”两个模式。
//"set"--设置。 设置point进组或移出组时一般省略set。
//"toggle"--切换状态(在组里的和不在组里的反转状态)。有toggle时会忽略语法中的值(优先toggle)。
setpointgroup(0,'up',@ptnum,1,"toggle");
if (@group_up==1)
@Cd={0,0,1};