script_type FZ_UTIL_PROJ_EXTS_TYPE //script_debug FALSE //Takeharu Yabe //20:21 2012/11/28 double dval_v=0.0; long sign_v=2; void select_by_area(long windex,double dval){ fz_objt_ptr src_obj, objs[1]; fzrt_boolean is_in,is_Lock; double area=0.0; fz_layr_ptr layer; fz_tag_td lay_tag; fz_objt_model_type_enum model_type; fz_objt_topo_type_enum topo_type; fzrt_UUID_td cntl_uuid; fz_objt_get_next(windex, NULL, src_obj); while(src_obj != NULL) { fz_objt_attr_get_objt_layer(windex,src_obj,lay_tag); fz_layr_tag_to_ptr(windex,lay_tag,layer); fz_layr_get_parm_data(windex, layer, FZ_LAYR_PARM_LOCK, is_Lock); if(is_Lock==FALSE){ fz_objt_alys_get_objt_area(windex,src_obj,area); fz_objt_alys_get_objt_model_type(windex,src_obj,model_type); fz_objt_alys_get_objt_topo_type(windex,src_obj,topo_type,NULL); fz_objt_alys_get_objt_cntl_uuid(windex,src_obj,cntl_uuid); switch(sign_v){ case 0 : if(area==dval_v && topo_type==FZ_OBJT_TOPO_SURF){ objs[0] = src_obj; fz_model_pick_add_objts(windex, objs, 1); } break; case 1 : if(areadval_v && topo_type==FZ_OBJT_TOPO_SURF){ objs[0] = src_obj; fz_model_pick_add_objts(windex, objs, 1); } break; case 4 : if(area>=dval_v && topo_type==FZ_OBJT_TOPO_SURF){ objs[0] = src_obj; fz_model_pick_add_objts(windex, objs, 1); } break; case 5 : if(area!=dval_v && topo_type==FZ_OBJT_TOPO_SURF){ objs[0] = src_obj; fz_model_pick_add_objts(windex, objs, 1); } break; } } fz_objt_get_next(windex, src_obj, src_obj); } } long fz_util_cbak_proj_main(long windex) { long err = FZRT_NOERR; long i,cnt; fz_objt_ptr src_obj; fzrt_std_enum dlg; fz_string_td prmt_str,str; fz_model_pick_get_count(windex,cnt); if(cnt>0){ fz_model_pick_get_data(windex,0,NULL,NULL,src_obj,NULL); fz_objt_alys_get_objt_area(windex,src_obj,dval_v); } dlg = fz_fuim_script_run_dialog_windex(windex, "dialog"); if(dlg == FZRT_STD_OK){ fz_model_pick_clear(windex); select_by_area(windex,dval_v); } return(err); } long dialog(long windex, fz_fuim_tmpl_ptr fuim_tmpl) { long group[]; long dval_f; long search_str_f; long new_layer_check_f; long sign_f; fz_string_td sign[6]; long err = FZRT_NOERR; if((err = fz_fuim_script_tmpl_init(fuim_tmpl,"Search object",0,NULL,0)) == FZRT_NOERR ) { group[0] = fz_fuim_script_new_group (fuim_tmpl, FZ_FUIM_ROOT, FZ_FUIM_FLAG_NONE); /*area settings*/ group[1] = fz_fuim_script_new_group (fuim_tmpl, group[0], FZ_FUIM_FLAG_HORZ); dval_f = fz_fuim_script_new_text_edit(fuim_tmpl, group[1], FZ_FUIM_FLAG_HORZ, "Area : "); fz_fuim_script_item_range_double(fuim_tmpl, dval_f, dval_v, 0, 0, FZ_FUIM_FORMAT_FLOAT_AREA_SQMT, FZ_FUIM_RANGE_MIN | FZ_FUIM_RANGE_MIN_INCL); fz_std_strcpy(sign[0], " == "); fz_std_strcpy(sign[1], " > "); fz_std_strcpy(sign[2], " >= "); fz_std_strcpy(sign[3], " < "); fz_std_strcpy(sign[4], " <= "); fz_std_strcpy(sign[5], " != "); group[2] = fz_fuim_script_new_group (fuim_tmpl, group[1], FZ_FUIM_FLAG_HORZ); // fz_fuim_script_new_text_static(fuim_tmpl,group[2], FZ_FUIM_FLAG_NONE, ""); sign_f = fz_fuim_script_new_menu(fuim_tmpl, group[2], FZ_FUIM_FLAG_NONE, FALSE, NULL, sign, 6); fz_fuim_script_item_range_long(fuim_tmpl, sign_f, sign_v, 0, 0, FZ_FUIM_FORMAT_INT_DEFAULT, FZ_FUIM_RANGE_NONE); fz_fuim_script_new_text_static(fuim_tmpl,group[2], FZ_FUIM_FLAG_NONE, "Target"); } return (FZRT_NOERR); }