【NX二次開發】NX對象類型及基本操作


說明: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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM