@name "InfoWpos" @version 2.5 @warnings @script generic @define DESCRIPT "InfoWpos" var ItemNum, ItemWpos, ItemNames; var sx, sy, sz, l0; var InitB[1]; generic { var CurScene = Scene(); var CurItems = CurScene.getSelect(); if(CurItems == nil) return; ItemNum = CurItems.size(); InitB[1] = 1; var Wpos; var TmpStr[3]; var c = ItemNum; for(i = 1; i <= ItemNum; i++){ ItemNames[c] = CurItems[i].name; Wpos = CurItems[i].param(WPOSITION, CurScene.currenttime); if(Wpos.x >= 1.0 || Wpos.x <= -1.0) TmpStr[1] = string(Wpos.x, " m"); else TmpStr[1] = string(Wpos.x * 1000, " mm"); if(Wpos.y >= 1.0 || Wpos.y <= -1.0) TmpStr[2] = string(Wpos.y, " m"); else TmpStr[2] = string(Wpos.y * 1000, " mm"); if(Wpos.z >= 1.0 || Wpos.z <= -1.0) TmpStr[3] = string(Wpos.z, " m"); else TmpStr[3] = string(Wpos.z * 1000, " mm"); ItemWpos[c] = TmpStr; c--; } reqbegin(DESCRIPT); reqsize(275,135); l0 = ctllistbox("ITEMs", 140, 98, "lb_Count", "lb_Name", "lb_Event"); ctlposition(l0, 3, 3); sx = ctlstring("X", ""); ctlposition(sx,170,42,100); sy = ctlstring("Y", ""); ctlposition(sy,170,62,100); sz = ctlstring("Z", ""); ctlposition(sz,170,82,100); t0 = ctltext("", "View only."); ctlposition(t0,190, 4); s0 = ctlsep(0,100); ctlposition(s0,170,32); ctlactive(t0, "lb_InitVal", s0); reqpost(); } // ------------------------------ lb_Count { return(ItemNum); } lb_Name: Index { return(ItemNames[Index]); } lb_Event: Nums { if(Nums != nil){ setvalue(sx, ItemWpos[Nums[1]][1]); setvalue(sy, ItemWpos[Nums[1]][2]); setvalue(sz, ItemWpos[Nums[1]][3]); } } lb_InitVal: v { setvalue(l0, InitB); setvalue(sx, ItemWpos[1][1]); setvalue(sy, ItemWpos[1][2]); setvalue(sz, ItemWpos[1][3]); }