說明:NX中的所有對象都是通過唯一的tag_t值進行標識的,這些對象大致可以分為部件對象、UF對象、表達式、鏈表對象和屬性對象等。
部件對象的操作:
基本操作函數:
1. UF_PART_new() 新建部件
2. UF_PART_open() 打開部件
3. UF_PART_close_all() 關閉所有部件
4. UF_PART_save() 保存部件
5. UF_PART_close() 關閉部件
部件對象查詢函數:
1. UF_OBJ_cycle_objs_in_part() 在部件中查詢對象
2. UF_ATTR_ask_part_attrs() 訪問部件的屬性
3. UF_PART_reopen() 重新加載部件
4. UF_PART_ask_part_name() 獲取部件的文件名
5. UF_PART_ask_customer_area() 查詢用戶定義的數據
6. UF_PART_ask_description() 獲取部件文件的描述信息
7. UF_PART_ask_status() 查詢部件狀態信息
8. UF_PART_ask_compression_flags() 查詢部件文件的壓縮標記
9. UF_PART_set_compression_flags() 設置部件文件的壓縮標記
10. UF_PART_ask_part_history() 獲取部件歷史記錄
UF對象的操作
UF對象包含幾何對象和非幾何對象。
幾何對象包括:實體、點、線、面等; 非幾何對象包括坐標系、尺寸、顏色、線型等。
NXOpen利用類型和子類型來區別不同的對象。每個對象都有一種類型,在頭文件 UF_object_types.h中詳細定義了這些對象的類型(type)和子類型(subtype),不是所有的對象都有子類型。
基本操作函數:
1. UF_OBJ_set_name() 指定對象的名稱
2. UF_OBJ_ask_name() 查詢對象的名稱
3. UF_OBJ_delete_name() 刪除對象的名稱
4. UF_OBJ_cycle_objs_in_part() 查詢遍歷對象,可以在指定的部件中遍歷對象
5. UF_OBJ_cycle_all() 在當前工作部件中遍歷對象
6. UF_OBJ_cycle_by_name() 通過對象名稱查詢對象
7. UF_LAYER_cycle_by_layer() 通過圖層遍歷對象
8. UF_MODL_delete_exp() 刪除表達式
9. UF_MODL_delete_feature() 刪除特征
10. UF_OBJ_delete_object() 刪除單個對象
11. UF_OBJ_delete_array_of_objects() 刪除多個對象
12. UF_UI_select_single() 選擇單個對象
13. UF_UI_select_by_class() 選擇對象(后期版本淘汰)
14. UF_UI_select_with_class_dialog 選擇對象
15. UF_UI_select_feature() 選擇特征
1.5 UF_UI_select_sketch() 選擇草圖
對象狀態:
1. UF_OBJ_DELETED 被刪除狀態
2. UF_OBJ_TEMPORARY 臨時狀態,例如臨時坐標 UF_CSYS_creat_temp_csys()
3. UF_OBJ_CONDEMEND 不正常狀態
4. UF_OBJ_ALIVE 激活狀態
對象顯示的函數:
1. UF_OBJ_ask_display_properties() 獲取顯示屬性(層,顏色,隱藏狀態,線寬,線型)
2. UF_OBJ_set_layer() 設置對象的圖層
3. UF_OBJ_set_color() 設置顏色
4. UF_OBJ_set_blank_status() 隱藏對象、顯示對象
5. UF_OBJ_set_line_width() 設置線寬
6. UF_OBJ_set_font() 設置線型
7. UF_OBJ_set_highlight() 設置高亮、取消高亮
表達式的操作
1. UF_MODL_creat_exp() 創建表達式
2. UF_MODL_creat_exp_tag() 創建表達式,並返回表達式的標識
3. UF_MODL_import_exp() 導入表達式,操作后必須使用 UF_MODL_update()更新
4. UF_MODL_dissect_exp_string() 分解名字和值返回名字、值和表達式的標識
5. UF_MODL_eval_exp() 輸入表達式的名,獲取表達式的值
6. UF_MODL_edit_exp() 修改表達式的值,操作后必須使用 UF_MODL_update()更新
7. UF_MODL_rename_exp() 給已有的表達式賦新的名稱
8. UF_MODL_ask_exp() 返回表達式名和表達式完整字符串
9. UF_MODL_ask_exps_of_feature() 返回特征的表達式
10. UF_MODL_ask_exps_of_part() 返回部件的所有表達式
11. UF_MODL_ask_exp_tag_string() 輸入吊打式標識,返回表達式串
12. UF_MODL_ask_exp_tag_value() 通過表達式標識獲得表達式的值
鏈表對象的操作
1. UF_MODL_creat_list() 創建一個鏈表,並返回鏈表的頭指針
2. UF_MODL_put_list_item() 將元素插入到鏈表的尾部
3. UF_MODL_ask_list_count() 獲取鏈表的個數,從鏈表頭到第一個NULL_TAG節點之間的節點個數
4. UF_MODL_ask_list_item() 通過元素的位置獲取元素
5. UF_MODL_delete_list_item() 將指定的對象從鏈表中刪除
6. UF_MODL_delete_list() 刪除鏈表
屬性對象的操作
1. UF_ATTR_ask_part_attribute() 獲取工作部件的部件屬性對象表示
2. UF_ATTR_ask_part_attrs() 從加載到NX中的抽取屬性對象的屬性
3. UF_ATTR_part_attrs_in_file()
4. UF_ATTR_assign() 給指定的部件屬性或部件分派一個屬性
5. UF_ATTR_count_attributes() 指定類型的屬性的數量
6. UF_ATTR_cycle() 遍歷對象的所有屬性,返回下一個屬性標題及屬性值
7. UF_ATTR_delete() 刪除指定類型的屬性
8. UF_ATTR_delete_all() 刪除所有屬性
9. UF_ATTR_find_attribute() 查找某一屬性的類型
10. UF_ATTR_read_value() 讀取給定類型和標題的屬性的值
屬性類型:
UF_ATTR_bool
UF_ATTR_integer
UF_ATTR_real
UF_ATTR_time
UF_ATTR_null
UF_ATTR_string
UF_ATTR_any
UF_ATTR_reference