点击查看详细介绍

UFun UGopen二次开发对象操作的相关说明

mrtzhan 8年前 8537 71

购买与咨询 NX 二次开发视频教程,请联系微信号:13890821008  QQ号:85585969  


UF对象操作必要说明

uf_list_p_t 对象列表有自动判断相同功能
也就是说我们加入到对象列表里的对象都是唯一的,相同的TAG不可能加入2次,会自动过滤掉相同的TAG。

uf_list_p_t body_list; // 变量body_list为 对象列表
UF_MODL_create_list(&body_list); // 第一次使用必须写上初始化列表
UF_MODL_put_list_item(body_list, object_tag); // object_tag对象加入到body_list对象列表尾部
int b=0; UF_MODL_ask_list_count(face_list,&b); //获得一个实体列表的长度实体数量

●●●请先 登陆注册 后查看●●●

//有关对象的选择列表
UF_UI_add_to_sel_list 加入到对象选择列表
UF_UI_ask_sel_list_count 返回对象选择列表数量
UF_UI_remove_from_sel_list 从对象选择列表中删除
UF_UI_ask_sel_object_list 返回对象选择列表数量 和 tag_t
UF_UI_remove_all_from_sel_list 从选择列表中删除所有对象和选择

在与模型相关的操作函数中,一些查询函数以 UF_MODL_ask_xxxx 为前缀,
对于存在 标识的实体、特征、面和边,在使用形如 UF_MODL_xxxx 的函数进行操作时,
要特别注意在 函数的输入参数中使用正确的标识。在使用形如 UF_MODL_xxxx 的函数时,
一个容易犯的错 误与模型的创建层次有关,模型正确的层次关系是实体→特征→面→边,
按降序排列。当 创建了第一个基体时(如使用函数 UF_MODL_create_block1( )创建一个长方体),
不要认 为函数返回的是实体标识,要获得实体的标识必须调用函数 UF_MODL_ask_feat_body( )。

一个部件中包含不止一个实体时,
如果希望在其中某个实体上执行操作,如添加特征、 执行布尔运算,必须确定操作的目标实体。
如果部件中只有一个实体或目标实体是最后操作的实体则不需要指定。
extern int UF_MODL_ask_feat_body (tag_t feature_obj_id, tag_t * body_obj_id );

在UF函数中必须分清它是针对Body操作的,还是针对Feature
操作,还是针对Object操作的。

Feature、Body和Object之间相互转换的UF函数为:
//从特征feature 中取出body
extern int UF_MODL_ask_feat_body (tag_t feature_obj_id, tag_t *body_obj_id );

//从特征feature 中取出object
extern int UF_MODL_ask_feat_object (tag_t feature, int * n_eids, tag_t **eids );

//从body中取出特征链features
extern int UF_MODL_ask_body_feats (tag_t body, uf_list_p_t *feature_tag_list );

//从object 中取出特征feature
extern int UF_MODL_ask_object_feat (tag_t object_tag, tag_t *feature_tag );

//例子:创建方体并修改颜色
#include <uf_modl.h>
#include <uf_obj.h>

double corner_pt[3]={0,0,0}; //定位极点
char * edge_len[3]={"5","10","15"}; //大小(x,y,z)
tag_t blk_tag=NULL_TAG;
UF_MODL_create_block1(UF_NULLSIGN,corner_pt,edge_len,&blk_tag); //创建方体

UF_MODL_ask_feat_body (blk_tag,&blk_tag); //从特征中取出实体
UF_OBJ_set_color(body_obj_id,216); //改颜色

4

最新回复 (71)
  • wxwxwxwx 8年前
    1

    谢谢分享。。。。。。。。。

  • yccong 8年前
    2

    学习中,谢谢楼主分享!!!

  • ahqqqq22 8年前
    3

    学习中,谢谢楼主分享!!!

  • xyq407 8年前
    4

    学习中,谢谢楼主分享!!!

  • c1_wangyf 8年前
    5

    好东西一定要顶,加油!

  • leader_ld 8年前
    6

    学习,学习

  • habref 8年前
    7

    谢谢

  • qazqaz000 8年前
    8

    学习中,谢谢楼主分享!!!

  • peng1213 7年前
    9

    1111111111111111111111111111111111

  • Mister_xv 7年前
    10

    回复:楼主
    感谢分享……

  • q1355188058 7年前
    11

    来吧学习基础的好资料。。。。。。。。。。。。。。。。。。。

  • huyongde 7年前
    12

    学习中,谢谢楼主分享!!!

  • xbp08301666 7年前
    13

    学习中,谢谢楼主分享!!!

  • zhixiang 7年前
    14

    谢谢分享!!!!!!!!!!

  • wesley 7年前
    15

    好东西一定要顶,加油!谢谢楼主

请登录后发表新帖