在NX中有一些特殊场景,我们需要针对特定的环境在NX原生的功能上做一些附加处理,例如保存图档时做一些特殊的检查。
NX本身也开放了一些这样的回调入口,若当这些已开放的入口满足不了我们的需求时,我们就可以通过查找对应的事件ID来注册我们的回调,
相关的API也比较好找,都在libsyss.dll下,

以下是导出的所有的回调的名称,都可以通过 ask reason number 找到 id, 通过 callback_add_function 给它注册回调,然后在不需要时 remove_function 卸载这个注册
NX: Add User Attribute
NX: Pre Remove User Attribute
NX: Post Remove User Attribute
NX: Add Part Description Attr
NX: Rem Part Description Attr
EXP pre create exp
UGII: Using Convert Feature Groups To Modules Conversion functionality
UGII: bui session store before exit
UGUI: bui session quit
UGUI: bui session quit cancelled
UGUI: allow close parts
OM: delete tagged object reason
OM: can update object reason
OM: tag changed on resolve
UGII: Delete Root Object Group
UGII: begin retrieve part
UGII: end retrieve part
UGII: begin file execute
UGII: end file execute
Open file
UGII: expand view
UGII: MCS display
UGUI: WCS display
UGUI: popup zoom
UGUI: popup rotate
UGUI: change layout
UGUI: popup pan
UGII: popup navigate
UGUI: change layout pre cb
UGUI: view zoomio
UGUI: view fit
UGUI: view full regen
UGUI: view workview regen
UGUI: view new layout
UGUI: view replace view
UGUI: window change part
UGUI: view restore
UGUI: window resize
UGUI: blank object
UGUI: unblank object
UGUI: view pre full regen
UGUI: view display mode changed
UGUI: WCS changed
UGUI: view transform changed
UGUI: grid display changed
UGUI: dwg monochrome changed
UGUI: rename object
UGUI: view create undone
UGUI: view deleted
UGUI: edit object display
UGUI: drawing view update
UGUI: traceline update
UGUI: PMI Filter changed
UGUI: PMI Filter removed
UGUI: snap to grid reason
UGUI: Layout Changed in Motion
UGUI: perspective changed
UGUI: display refreshed
UGUI: base layer set states
UGUI: dss layer begin movelist
UGUI: dss layer add to movelist
UGUI: dss layer end movelist
UGUI: Change application
UGUI: delete from display
UGUI: start visibility operation
UGUI: end visibility operation
UGUI: visual tag visibility changed
UGUI: Generate Preview
UGUI: initialize application
UGUI: Change Sheet Revision
UGUI: default font changed
UGUI: drawing view post update
UGUI: Load Gadget
UGUI: edit object display only line font or width
UGII: view is being disconnected
UGII: view is removed from display
UGII: View Section Toggled
UGII: Need mirror update
UGII: Ray Traced Studio MGW size has updated
UGII: Save bookmark file
UGII: Set bookmark file description
UGII: Rename bookmark file
UGII: Delete boookmark file
UGII: Display a new part
UGII: terminate
Begin Task Environment
End Task Environment
Begin Application
End Application
APP_CHANGE_APPLICATION
At Undo Mark
UGII: change root part
UGII: pre change root part
UGII: change work part
UGII: pre change work part
UGII: change work occ
UGII: pre-notify rtprtchg
Update begin called
Update called
Log dependents starting
Applying events starting
Applying events performed
Update done
PERF: Start Dependency Logging
PERF: End Dependency Logging
Update exiting
Update really exiting
Update MCOE done
JAM start call
JAM end call
JAM on error
JAX_EXPRESSION edit
UGII: create part
UGII: start open part
UGII: open part
UGII: open part failed
UGII: open part complete
UGII: loading part
UGII: start open foreign part
UGII: open foreign part
UGII: open foreign part failed
UGII: foreign update status changed
UGII: import udf complete
UGII: start save part
UGII: save part
UGII: save part failed
UGII: start save as part
UGII: start post save as part
UGII: save as part
UGII: save as part failed
UGII: saving part
UGII: UI pre save as
UGII: UI post save as
UGII: start delete parts operation
UGII: end delete parts operation
UGII: start delete part
UGII: delete part
UGII: delete part later
UGII: delete part after update
UGII: start of close part
UGII: end of close part
UGII: set part modified
UGII: set part user-modified
UGII: merge instances
UGII: rename part
UGII: merge part
UGII: start save
UGII: end save
UGII: start save as
UGII: end save as
UGII: start save all
UGII: end save all
UGII: new family member
UGII: Load any part reason
UGII: part name style
UGII: change part description
UGII: hijack part stream
UGII: pre open as part
UGII: open as part
UGII: post copy part
UGII: post rename part
UGII: start replace part
UGII: end replace part
UGII: set read only
UGII: create part followup
UGII: open part followup
UGII: fem clone rename
UGII: fem clone rename complete
UGII: pre part close all
RM_displayable_entity: SetRawLayer
UGII: Replace Data
UGII: Pre-Replace Data
UGII: Post-Replace Data
UGII: default unit for measure changed
FIELD create field
FIELD update field
FIELD delete field
FIELD highlight field
FIELD unhighlight field
FIELD select field
FIELD unselect field
FIELD notify bridge changed
NX: Part Attribute Merge
UGII: pre delete rmdisp entity
UGII: create rmdisp entity
UGII: create coordinate system
UGII: highlight coordinate system
UGII: unhighlight coordinate system
UGII: modify rmdisp entity
UGII: set part transient
UGII: complete structure
UGII: import part
Start Conditional Formatting
Start Conditional Formatting UI Tool
End Conditional Formatting UI Tool
UGII: Session Delay Changed
UGII: DUC Delay Disabled
UGII: DUC Delay Enabled
UGII: Part out of date in DUC
UGII: Part updated from DUC
UGII: DUC Part status change
UGII: DUC Inter Module Delayed at load
UGII: DUC Object Delayed
UGII: DUC Object Undelayed
UGII: DUC Load Interpart Data Start Reason
UGII: DUC Load Interpart Data End Reason
UGII: DUC Load Interpart Data Error Reason
EXP post edit exp
Validation run after update
Checkmate data changed
Checkmate data cleared
Checkmate node update
Requirement data changed
Requirement HD3D Tool started
Requirement HD3D Tool ended
Requirement check created
Requirement check reparented
Requirement gadget UI check node update
Requirement created
External requirements loaded
Requirement ReqtNode or ContainerNode deleted
Requirement trace link updated
Ad Hoc requirement modified
Requirement part closed
Vehicle Packaging application check updated
Vehicle Packaging check visual tag updated
UGII: rename cset
UGII: ugopen cset edit
UGII: change display status
UGII: create component
UGII: delete component
UGII: substitute component
UGII: pre-substitute component
UGII: suppress component
UGII: unsuppress component
UGII: suppress part occurrence
UGII: unsuppress part occ
UGII: create part occurrence
UGII: delete part occurrence
UGII: finished deleting comp
UGII: delete shadow part occ
UGII: move component
UGII: move part occ
UGII: set component name
UGII: replace reference set
UGII: started structure update
UGII: finished structure update
UGII: mating conditions changed
UGII: part occ override changed
UGII: occ part flex changed
UGII: pre-set occ hidden
UGII: set occ hidden
UGII: representation change
UGII: show exact
UGII: set occ non geometric
UGII: set occ geometric
UGII: set occ quantity
UGII: set occ reference only
UGII: unset occ reference only
UGII: instance hide in nav state changed
UGII: component pattern created
UGII: component pattern deleted
UGII: component pattern rename
UGII: component pattern suppress
UGII: component pattern unsuppress
UGII: component pattern state changed
UGII: component array created
UGII: component array deleted
UGII: component array rename
UGII: component array suppress
UGII: component array unsuppressed
UGII: component array state changed
UGII: partition changed
UGII: 4GD partition created
UGII: 4GD partition saved
UGII: 4GD partition obsolete
UGII: clear obsolete 4GD partition
UGII: 4GD partition scheme created
UGII: 4GD partition scheme saved
UGII: 4GD collaborative design created
UGII: 4GD collaborative design saved
UGII: effectivity changed
UGII: subset viewed partition scheme changed
UGII: subset view style changed
UGII: start subset synchronization
UGII: subset synchronized
UGII: subset task created
UGII: delete subset task
UGII: subset positioning group created
UGII: delete positioning group
UGII: part occ promoted to subset member
UGII: design element obsolete
UGII: clear obsolete design element
UGII: design elements copied
UGII: collaborative instances created
UGII: design element category changed
UGII: design element excluded changed
UGII: subset display excluded design elements changed
UGII: design feature created
UGII: design feature loaded
UGII: design feature disconnected
UGII: design feature updated
UGII: design feature alert updated
UGII: augmented part created
UGII: augmented part deleted
UGII: design element supporting data changed
UGII: design element positioning status changed
UGII: create sequence
UGII: delete sequence
UGII: add sequence step
UGII: delete sequence step
UGII: active sequence changed
UGII: seq work part changed
UGII: seq root part changed
UGII: seq part delete
UGII: suppress sequence step
UGII: enter sequencing
UGII: exit sequencing
UGII: delete seq step element
UGII: seq step edited
UGII: Change Config
UGII: Pre Delete Configs
UGII: Delete Config
UGII: Rename Config
UGII: Create Config
UGII: All Deleted Configs
UGII: Update Config Control
UGII: Set Default Config
UGII: Set Arrangement Ignore All Constraints
UGII: Change Arrangement Specific Position State
UGMGR: New Parts Project Assignment
KF Debugger Break Point Reason
KF Debugger Watch Point Reason
KF Debugger parent Reason
KF Debugger save slot value
KF Debugger slot break
KF Debugger instance looged
KF Debugger instance unlooged
KF Debugger slot Error
KF Debugger start
KF Debugger stop
KF Expression update
UGII: SO Log Dependees
UGII: create linked mirror part
UGII: update linked mirror part
UGII: mass pr cache invalidated
UGII: mass pr cache updated
UGII: mass pr weight limits set
UGII: mass pr component group updated
UGII: GROUP notify_on_change
UGII: ProdInt count changed
EXP pre rename exp
EXP post create exp
Display: Exclude Datums From Fit change
Dynamic section active status changed
Dynamic section created
Dynamic section deleted
Filter view for dynamic sectioning
Dynamic section renamed
Dynamic section status changed
Dynamic section suppressed
Dynamic section unsuppressed
Dynamic section visibility
Dynamic section updated
Dynamic section target entities changed
Get Object To Knowledge Fusion Adoption for Section Line
Is Section Line Object Adoptable by Knowledge Fusion
Drawing marked as template
Is DraftingVDCurve Adoptable by Knowledge Fusion
UGII: nxpos constraint solved
UGII: nxpos apply to display
UGII: nxpos apply to model
UGII: nxpos disp constr created
UGII: nxpos disp constr deleted
UGII: nxpos disp constr status
UGII: nxpos constr is edited
UGII: nxpos constr redefined
UGII: nxpos constr in use
UGII: nxpos constr not in use
UGII: nxpos constraint renamed
UGII: nxpos constraint created
UGII: nxpos constraint changed
UGII: nxpos constr refs changed
UGII: nxpos constr user modified
UGII: nxpos constraint delete
UGII: nxpos constr exp value
UGII: nxpos constr direction to fixed
UGII: nxpos network changed
UGII: nxpos movable obj changed
UGII: nxpos movable obj deleted
UGII: nxpos ntwrk disp updated
UGII: nxpos ntwrk disp reset
PHYS_MAT__PRE_DELETE_REASON
Create Teamcenter Symbols Folder
Create Part Symbols Folder
Update References Of Associated Annotations With Custom Symbol Members
UGII: Update Feature Record
UGII: Update Feature Timestamp
UGII: Delete Feature Record
UGII: Delete UDF Feature Record
UGII: Undo Feature Record
UGII: Change Type Of FREC
UGII: Rename Feature
PERF: Start Feature Suppress
PERF: Stop Feature Suppress
PERF: Start Feature Unsuppress
PERF: Stop Feature Unsuppress
PERF: Start Partition Rollback
PERF:Stop Partition Rollback
PERF:Start Rollback Feature
PERF:Stop Rollback Feature
PERF: Start Feature Update
PERF: End Feature Update
PERF: Start Feature Reorder
PERF: End Feature Reorder
UGII: No History
UGII: Make Current Feature From Last
UGII: Attribute Feature
UGII: Layer Feature
FMI invoke highlight method on
FMI invoke highlight method off
SKET set active sketch
SKET active sketch or sketch view ui
UGII:Begin Undo Mark for Task Environment
UGII:End Undo Mark for Task Environment
PHYS_MAT get body from midsurf
QUILT: return tol achieved
BLEF: return error data
UGII: Feature edit delay update
UGII: AO Replace Reference
EXP found var
EXP pre edit exp
EXP post import exp
EXP validate expression
PART_MODULE_ACTIVE_STATUS_CHANGED
UGII: Assy Core Order Created
UGII: Assy Core Order Renamed
UGII: Assy Core Order Deleted
UGII: Assy Core Order Applied
UGII: Assy Core Order Saved
UGII: Assy Core Order Reverse State Changed
UGII: Assy Core Order Components Reordered
UGII: subset search result style changed
UGII: displayed pattern definition created
UGII: displayed pattern definition deleted
UGII: displayed pattern definition suppressed
UGII: displayed pattern definition unsuppressed
UGII: displayed pattern definition renamed
UGII: displayed pattern definition state changed
TABNOT_pre_update_reason
TABNOT_post_update_reason
TABNOT_add_row_reason
TABNOT_remove_row_reason
TABNOT_cell_pre_update_reason
TABNOT_cell_post_update_reason
TABNOT_cell_edit_text_reason
TABNOT_cell_post_log_reason
UGII: create parts list
UGII: add entity to plist
UGII: delete entity from plist
UGII: modify entity in plist
PLIST_post_create_reason
PLIST_add_member_reason
PLIST_remove_member_reason
PLIST_on_visit_part_reason
PLIST_callout_update_reason
PLIST_cell_auto_data_reason
PLIST_delete_reason
PLIST_pre_update_reason
PLIST_post_update_reason
PLIST_start_convert_reason
PLIST_end_convert_reason
PLIST_pre_remove_row_reason
PLIST_post_hide_reason
FilterCreatedOrDeleted
UGII: Create Clear Dataset
UGII: Delete Clear Dataset
UGII: Rename Clear Dataset
UGII: Update Clear Dataset
UGII: Delete Clear Interf
UGII: Modify Clear Interf
UGII: Modify Clear Dataset
UGII: Change Clear Dataset
Smart Model Created
UGII: COMPOS default changed
UGII: COMPOS conv status
UGII: COMPOS constraint load state
UGII: COMPOS constraint alerts state
UGII: COMPOS constraint name format changed
UGII: constraint group created
UGII: constraint group renamed
UGII: constraint group changed
UGII: constraint group deleted
SHIP_container_part_changed
DSS_VIEW_save_view_reason
UGCHECKMATE: pre-process
UGCHECKMATE: post-process
UGCHECKMATE: pre-checker
UGCHECKMATE: post-checker
NX_DRAFTING
UGII: Routing App View Changed
UGII: Routing Discipline Changed
UGII: Routing Specification Changed
UGII: Routing Connection Created
UGII: Routing Run Created
UGII: Routing Run Edited
UGII: Routing Run Deleted
UGII: Routing name edited
UGII: Run Routing Created
UGII: Run Routing Edited
UGII: Run Routing Deleted
UGII: Routing Stock Created
UGII: Routing Stock Edited
UGII: Routing Stock Deleted
UGII: Refresh Elec Navigators
UGII: Update Elec Navigators
UGII: SingleDevice Changed
UGII: RoutSingleDevice Deleted
UGII: segment subdivided
UGII: segments simplified
UGII: shaped segment
UGII: RUN NAV Highlight nodes and items
KRU:HIERARCHY_NODE_SELECTED
KRU:THUMBNAIL_NODE_SELECTED
KRU:THUBNAILL_NODE_DRAGGED
KRU:THUMBNAIL_ON_POPUP_MENU
KRU:MEMBER_ITEM_SELECTED
KRU:APPLICATION_CHANGED
KRU:REFRESH_HIERARCHY_NODE
KRU:THUMBNAIL_NODE_UPDATED
KRU:MEMBER_ITEM_UPDATED
KRU:MEMBER_ITEM_DELETED
KRU:OBJECT_DELETE_UPDATE
KRU:THUMBNAIL_NODE_DOUBLE_CLICK
KRU:THUMBNAIL_NODE_DESELECTED
UGMGR: Set uf clone log callback
SFEM: process new cae entity
SFEM: name cae part
UGII: user undo
UGII: post user undo
Solid Body Form Changed
UGII: Pre Redo
UGII: Post Redo
SH: Update Environment Cube
SH: Toggle Off Show Environment
SH: Dynamic Update Environment Cube
CGP entity change
GIT_sel_gesture_cb
GIT_sel_gesture_cb_exit
NX:bundle switch
NX:sticky bundle switch
DSS_UNDO: complete post-undo
UGII: Show Poles, Knots, End Points
DSS_VIEW__set_work_reason
VIEW_create_view_reason
DSS_VIEW_save_as_reason
SFEM create SIM and FEM
UIFWErrorCode
UGII: MGW
UGII: MGW-TOOLS-PRE
UGII: MGW-TOOLS-POST
UGII: MGW-OWNER-PRE-Close
UGUI: reset layout
AMX_LOAD_ROLE
AMX_SAVE_ROLE
AMX_UI_ENV_MODE_CHANGED
AMX_CUSTOMIZE_MODE_CHANGED
AMX_IMAGE_PREFERENCES_CHANGED
UGSKIN_WINSTYLE_CHANGED
UITHEME_TOUCH_MODE_CHANGED
UGII: MB pre rewind
SEL_STACK_GLOBAL_REASON
CALLBACK::PERSISTENT_CLOSURE
UGUI: begin file operation cb
UGUI: end file operation cb
UGUI: save window layout
UGUI: utility state change
UGII:gwif_vis_cb
UGII: PeekAndPump Start
UGII: PeekAndPump End
UI_JAM replay start
UI_JAM replay end
UI_JAM replay error
SEL_superhilite_cb
SEL_dlg_scope_changed_by_user
UGII: MB pre action
UGII: Insert Part Nav node
UGII: Remove Part Nav node
UGII: Part Nav created
UGII: Add/remove sup expression
UGII: Part Nav filter change
UGII: Part Nav unpack node
UGII: PartNav object created
UGII: PartNav object deleted
PVT User Cancel Preview
RedoJournal: Delete All Redo Marks
Navigator: add object
Navigator: remove object
Navigator: update object
DSS_UNDO: user post-undo
DSS_UNDO: user pre-undo
EXP delete exp
VIEW_drafting_component_reason
UGII: UpdateUtils Link change
NX_VELOCITY_CAM
UGII: sketch deactivated
update visual items
DS9_set_option_callback
AMX_LOAD_PROFILE
RM_displayable_entity: SetColor
UGII: Synchronize Active Sketch
UGII: Synchronize Auto-Dim Toggle