马上注册登录,享用更多网站功能!
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
我想写个程序.出UG的孔位表 .
只想出我选择的.UG 里有个命令,可以出全部的,但不适合
现在的问题是.假如,我想标注两条边之间的距离尺寸,我要手动选择的话,
用UG open c , 我无论如何都不能选择.肯定是我函数用错了.
目前我用的形式如下:
- tatic int init_proc_curve(UF_UI_selection_p_t select, void* user_data)
- {
- int num_triples = 5;
- UF_UI_mask_t mask_triples[] =
- {
- UF_line_type, 0, 0,
- UF_circle_type, 0, 0,
- UF_conic_type, 0, 0,
- UF_spline_type, 0, 0,
- UF_solid_type, 0, UF_UI_SEL_FEATURE_ANY_EDGE
- };
- // enable only solid body
- UF_UI_set_sel_mask(
- select,
- UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,
- num_triples,
- mask_triples
- );
- return (UF_UI_SEL_SUCCESS);
- }
- int select_draft(tag_t select[], int *body_no)
- {
- char cue[] = "选择所有曲线";
- char title[] = "选择所有曲线";
- int response, count, i;
- tag_p_t objects;
- UF_UI_select_with_class_dialog(cue,title,UF_UI_SEL_SCOPE_ANY_IN_ASSEMBLY,init_proc_curve,NULL,&response,&count,&objects);
- if (count > 0 && count < 100) //write out info & turn off highlight
- {
- *body_no = count;
- for(i = 0; i < count; i++)
- select = objects;
- response = 100;
- }
- if (count > 0)
- for(i = 0; i < count; i++)
- UF_DISP_set_highlight(objects, 0);
- UF_free(objects);
- return response;
- }
复制代码
|