|
NX Open C++ 参考指南 2406 v1.1
|
更新操作接口 更多...
#include <Update.hxx>
Public 类型 | |
| enum | FailureOption { FailureOptionNoOption , FailureOptionUndo , FailureOptionSuppress , FailureOptionSuppressAll , FailureOptionAccept , FailureOptionAcceptAll , FailureOptionDelete , FailureOptionDeleteDependents , FailureOptionInterrupt } |
| enum | Option { OptionNow , OptionLater } |
| 指定方法是否应执行更新。 选择不执行更新的方法,需要在后续调用 NXOpen::Update::DoUpdate 。通用API中的部分方法可能会执行更新。为提升性能, 这些方法会接收一个不执行更新的输入选项。例如,在循环中调用的方法可设置该选项为不更新, 待循环结束后再执行一次显式更新。 于NX5.0.1版本创建。 更多... | |
Public 成员函数 | |
| int | AddObjectsToDeleteList (const std::vector< NXOpen::TaggedObject * > &objects) |
| 将对象添加到全局删除列表。 全局删除列表中的对象将在下次更新时被删除。 可通过NXOpen::Update::DoUpdate 方法执行更新。 注意: 若要从草图中移除对象,应使用NXOpen::Sketch::DeleteObjects 替代此方法。 | |
| int | AddToDeleteList (NXOpen::TaggedObject *object) |
| 将对象添加至全局删除列表。 全局删除列表中的对象会在下次执行更新时被删除。 可通过 NXOpen::Update::DoUpdate 方法执行更新。 注意:若要从草图中移除对象,应使用 NXOpen::Sketch::DeleteObjects 替代此方法。 | |
| bool | AssemblyConstraintsDelay () |
| void | ClearDeleteList () |
| 清空全局删除列表的内容。 清空全局删除列表不会删除列表中的任何对象。 于NX3.0.0版本创建。 许可要求:无 | |
| void | ClearErrorList () |
| 清空更新错误列表。 有关更新错误列表的更多信息,请参见NXOpen::Update::ErrorList。 于NX3.0.0版本创建。 许可要求:无 | |
| void | DoAssemblyConstraintsUpdate (NXOpen::Session::UndoMarkId undoMarkId) |
| void | DoAssemblyConstraintsUpdateInPart (NXOpen::Part *partTag, NXOpen::Session::UndoMarkId undoMarkId) |
| void | DoInterpartUpdate (NXOpen::Session::UndoMarkId undoMark) |
| 执行部件间更新。 确保会话中的所有部件根据其他已加载部件的变更完成更新。注意,无论部件间更新延迟标志的状态如何,此更新都会执行。 参见 NXOpen::Update::InterpartDelay 创建于NX3.0.0。 许可要求:无 | |
| int | DoUpdate (NXOpen::Session::UndoMarkId undoMark) |
| void | EndLocalUpdate () |
| 结束本地更新会话,并清除该会话的更新标记。 有关本地更新会话的详细信息,请参见NXOpen::Update::StartLocalUpdate。 创建于NX7.5.1。 许可要求:无 | |
| NXOpen::ErrorList * | ErrorList () |
| NXOpen::Update::FailureOption | GetDefaultUpdateFailureAction () |
| 获取对象更新失败时的默认操作。 若对象更新失败,将执行默认的更新失败操作。即使该对象设置了特定的更新操作,默认更新失败操作仍会在更新失败的对象上执行。 | |
| std::vector< NXOpen::TaggedObject * > | GetObjectsOnDeleteList () |
| 获取全局删除列表中的对象。 | |
| bool | GetUpdateLock () |
| 获取更新锁状态。 另请参见NXOpen::Update::SetUpdateLock | |
| bool | InterpartDelay () |
| void | LogForUpdate (NXOpen::TaggedObject *objectToUpdate) |
| 记录待更新的对象。 创建于NX7.5.3。 许可要求:无 | |
| void | MakeUpToDate (const std::vector< NXOpen::NXObject * > &objects, NXOpen::Session::UndoMarkId undoMarkId) |
| NX_DEPRECATED ("Deprecated in NX1899.0.0. Use NXOpen::Preferences::SessionModeling::DelayModelUpdates and NXOpen::Preferences::SessionModeling::ModelDelayUpdateGranilarityinstead.") bool IntrapartPartModuleDelay() | |
| NX_DEPRECATED ("Deprecated in NX1899.0.0. Use NXOpen::Preferences::SessionModeling::SetDelayModelUpdateAndGranularity instead.") void SetIntrapartPartModuleDelay(bool delayed) | |
| bool | ProductInterfaceDelay () |
| void | RemoveObjectsFromDeleteList (const std::vector< NXOpen::TaggedObject * > &objects) |
| 从全局删除列表中移除对象。 注意: 若对象不在删除列表中,将被忽略,不会抛出异常。 创建于NX11.0.0。 许可要求 : 无 | |
| void | RemoveUpdateFailureAction (NXOpen::TaggedObject *object) |
| 移除指定对象的更新失败操作。 创建于NX7.5.0。 许可要求:无 | |
| void | SetAssemblyConstraintsDelay (bool delayed) |
| void | SetDefaultUpdateFailureAction (NXOpen::Update::FailureOption failureAction) |
| 设置对象更新失败时的默认操作。 若对象更新失败,将执行默认的更新失败操作。即使该对象设置了特定的更新操作,默认更新失败操作仍会在更新失败的对象上执行。 创建于NX9.0.0。 许可要求:无 | |
| void | SetInterpartDelay (bool delayed) |
| void | SetProductInterfaceDelay (bool delayed) |
| void | SetPropagateDelete (bool propagateToDelete) |
| 设置更新时的传播删除 创建于NX12.0.0。 许可要求:无 | |
| void | SetUpdateFailureAction (NXOpen::TaggedObject *object, NXOpen::Update::FailureOption failureAction) |
| 设置指定对象的更新失败操作。 若对象更新失败,将执行此更新失败操作。若已定义默认更新失败操作,该操作将覆盖为对象设置的任何特定更新失败操作。 创建于NX7.5.0。 许可要求:无 | |
| void | SetUpdateLock (bool lock) |
| 设置更新锁以锁定或解锁更新。 锁定更新后,模型更新将被锁定,直到解锁更新。请注意,锁定更新需格外谨慎, 因为在更新锁定状态下执行操作可能会产生非预期结果或导致意外失败。 如果选择锁定更新,必须确保在操作完成后恢复锁定前的更新锁状态。 可通过NXOpen::Update::GetUpdateLock 获取锁状态。 此外,恢复锁状态后必须调用NXOpen::Update::DoUpdate, 以确保更新锁定期间添加到更新列表中的实体被更新。 创建于NX7.5.5。 许可要求:无 | |
| void | StartLocalUpdate () |
| 启动本地更新会话,并为该会话设置更新标记。 这可确保在清除标记前执行下一次更新时,仅更新自设置标记以来添加到更新列表中的实体。 如需执行更新,请使用NXOpen::Update::DoUpdate。 如需清除标记,请使用NXOpen::Update::EndLocalUpdate。 注意: | |
| tag_t | Tag () const |
| void | UndelayObjectUpdate (NXOpen::TaggedObject *objectToUpdate) |
| void | UpdateAllLinkedPartModulesInPart (NXOpen::Part *partTag, NXOpen::Session::UndoMarkId undoMarkId) |
| void | UpdateAllProductInterfaceInPart (NXOpen::Part *partTag, NXOpen::Session::UndoMarkId undoMarkId) |
更新操作接口
提供更新和删除相关方法。
要获取此类实例,请参考 NXOpen::Session
于NX3.0.0版本创建。
指定对象更新失败时要执行的操作。
于NX7.5.0版本创建。
指定方法是否应执行更新。 选择不执行更新的方法,需要在后续调用 NXOpen::Update::DoUpdate 。通用API中的部分方法可能会执行更新。为提升性能, 这些方法会接收一个不执行更新的输入选项。例如,在循环中调用的方法可设置该选项为不更新, 待循环结束后再执行一次显式更新。
于NX5.0.1版本创建。
| 枚举值 | |
|---|---|
| OptionNow | 立即执行更新 |
| OptionLater | 不执行更新 |
| int NXOpen::Update::AddObjectsToDeleteList | ( | const std::vector< NXOpen::TaggedObject * > & | objects | ) |
将对象添加到全局删除列表。 全局删除列表中的对象将在下次更新时被删除。 可通过NXOpen::Update::DoUpdate 方法执行更新。
注意: 若要从草图中移除对象,应使用NXOpen::Sketch::DeleteObjects 替代此方法。
| objects | 要删除的对象 |
| int NXOpen::Update::AddToDeleteList | ( | NXOpen::TaggedObject * | object | ) |
将对象添加至全局删除列表。 全局删除列表中的对象会在下次执行更新时被删除。 可通过 NXOpen::Update::DoUpdate 方法执行更新。
注意:若要从草图中移除对象,应使用 NXOpen::Sketch::DeleteObjects 替代此方法。
待删除的对象
将对象添加到全局删除列表。 全局删除列表中的对象将在下次更新时被删除。 可通过NXOpen::Update::DoUpdate 方法执行更新。
注意:若要从草图中移除对象,请改用NXOpen::Sketch::DeleteObjects。
| object | 待删除的对象 |
| bool NXOpen::Update::AssemblyConstraintsDelay | ( | ) |
获取装配约束延迟标志的状态。若为true,会话中所有装配约束的更新将被延迟;若为false,更新将在会话中所有部件间生效。
创建于NX7.5.0。
许可要求:无
| void NXOpen::Update::ClearDeleteList | ( | ) |
清空全局删除列表的内容。 清空全局删除列表不会删除列表中的任何对象。
于NX3.0.0版本创建。
许可要求:无
从全局删除列表中移除对象。 注意:若对象不在删除列表中,将被忽略,不会抛出异常。
要从删除列表中移除的对象 获取全局删除列表
| void NXOpen::Update::DoAssemblyConstraintsUpdate | ( | NXOpen::Session::UndoMarkId | undoMarkId | ) |
执行装配约束更新。确保会话中所有包含过期装配约束的部件完成更新。
创建于NX7.5.0。
许可要求:无
| undoMarkId | 若更新出错,系统将回滚到此撤销标记。 |
| void NXOpen::Update::DoAssemblyConstraintsUpdateInPart | ( | NXOpen::Part * | partTag, |
| NXOpen::Session::UndoMarkId | undoMarkId ) |
执行装配约束更新。确保包含过期装配约束的指定部件完成更新。
创建于NX7.5.0。
许可要求:无
| partTag | 部件标识 |
| undoMarkId | 若更新出错,系统将回滚到此撤销标记。 |
| void NXOpen::Update::DoInterpartUpdate | ( | NXOpen::Session::UndoMarkId | undoMark | ) |
执行部件间更新。 确保会话中的所有部件根据其他已加载部件的变更完成更新。注意,无论部件间更新延迟标志的状态如何,此更新都会执行。 参见 NXOpen::Update::InterpartDelay
创建于NX3.0.0。
许可要求:无
| undoMark | 若更新出错,系统将回滚到此撤销标记。 |
| int NXOpen::Update::DoUpdate | ( | NXOpen::Session::UndoMarkId | undoMark | ) |
更新当前会话
| undoMark | 若发生更新错误,系统将回滚至此撤销标记并抛出异常。 |
| NXOpen::ErrorList * NXOpen::Update::ErrorList | ( | ) |
获取自上次清空以来更新模块遇到的所有错误列表。如需清空列表,请使用NXOpen::Update::ClearErrorList。
于NX3.0.0版本创建。
许可要求:无
| NXOpen::Update::FailureOption NXOpen::Update::GetDefaultUpdateFailureAction | ( | ) |
获取对象更新失败时的默认操作。 若对象更新失败,将执行默认的更新失败操作。即使该对象设置了特定的更新操作,默认更新失败操作仍会在更新失败的对象上执行。
| std::vector< NXOpen::TaggedObject * > NXOpen::Update::GetObjectsOnDeleteList | ( | ) |
获取全局删除列表中的对象。
| bool NXOpen::Update::GetUpdateLock | ( | ) |
获取更新锁状态。 另请参见NXOpen::Update::SetUpdateLock
| bool NXOpen::Update::InterpartDelay | ( | ) |
获取部件间延迟更新标志的状态。若开启部件间延迟更新,更新将不会传播至工作部件之外;若关闭,更新将应用于会话中的所有部件。
于NX3.0.0版本创建。
许可要求:无
| void NXOpen::Update::LogForUpdate | ( | NXOpen::TaggedObject * | objectToUpdate | ) |
记录待更新的对象。
创建于NX7.5.3。
许可要求:无
| objectToUpdate | 待更新的对象 |
| void NXOpen::Update::MakeUpToDate | ( | const std::vector< NXOpen::NXObject * > & | objects, |
| NXOpen::Session::UndoMarkId | undoMarkId ) |
更新所有过期的内部部件模块
部件标识 若发生更新错误,系统将回滚到此撤销标记。 更新所有指定的过期特征或表达式,使其变为最新状态
创建于NX9.0.0。
许可要求 : 无
| objects | 要更新为最新状态的对象 |
| undoMarkId | 若更新出错,系统将回滚到此撤销标记 |
| NXOpen::Update::NX_DEPRECATED | ( | "Deprecated in NX1899.0.0. Use NXOpen::Preferences::SessionModeling::DelayModelUpdates and NXOpen::Preferences::SessionModeling::ModelDelayUpdateGranilarityinstead." | ) |
获取内部部件模块的延迟更新状态
| NXOpen::Update::NX_DEPRECATED | ( | "Deprecated in NX1899.0.0. Use NXOpen::Preferences::SessionModeling::SetDelayModelUpdateAndGranularity instead." | ) |
设置内部部件模块的延迟更新状态
内部部件延迟标记的新状态。
| bool NXOpen::Update::ProductInterfaceDelay | ( | ) |
获取产品接口延迟的延迟状态
创建于NX11.0.1。
许可要求 : 无
| void NXOpen::Update::RemoveObjectsFromDeleteList | ( | const std::vector< NXOpen::TaggedObject * > & | objects | ) |
从全局删除列表中移除对象。 注意: 若对象不在删除列表中,将被忽略,不会抛出异常。
创建于NX11.0.0。
许可要求 : 无
| objects | 要从删除列表中移除的对象 |
| void NXOpen::Update::RemoveUpdateFailureAction | ( | NXOpen::TaggedObject * | object | ) |
移除指定对象的更新失败操作。
创建于NX7.5.0。
许可要求:无
| object | 更新失败的对象 |
| void NXOpen::Update::SetAssemblyConstraintsDelay | ( | bool | delayed | ) |
设置装配约束延迟标志的状态。若为true,会话中所有装配约束的更新将被延迟;若为false,更新将在会话中所有部件间生效。
创建于NX7.5.0。
许可要求:无
| delayed | 装配约束延迟标志的新状态。 |
| void NXOpen::Update::SetDefaultUpdateFailureAction | ( | NXOpen::Update::FailureOption | failureAction | ) |
设置对象更新失败时的默认操作。 若对象更新失败,将执行默认的更新失败操作。即使该对象设置了特定的更新操作,默认更新失败操作仍会在更新失败的对象上执行。
创建于NX9.0.0。
许可要求:无
| failureAction | 默认的更新失败操作 |
| void NXOpen::Update::SetInterpartDelay | ( | bool | delayed | ) |
设置部件间延迟更新标志的状态。若开启部件间延迟更新,更新将不会传播至工作部件之外;若关闭,更新将应用于会话中的所有部件。
于NX3.0.0版本创建。
许可要求:无
| delayed | 部件间延迟更新标志的新状态。 |
| void NXOpen::Update::SetProductInterfaceDelay | ( | bool | delayed | ) |
设置产品接口延迟的延迟状态
创建于NX11.0.1。
许可要求 : 无
| delayed | 产品接口延迟标志的新状态 |
| void NXOpen::Update::SetPropagateDelete | ( | bool | propagateToDelete | ) |
设置更新时的传播删除
创建于NX12.0.0。
许可要求:无
| propagateToDelete | 传播删除开关 |
| void NXOpen::Update::SetUpdateFailureAction | ( | NXOpen::TaggedObject * | object, |
| NXOpen::Update::FailureOption | failureAction ) |
设置指定对象的更新失败操作。 若对象更新失败,将执行此更新失败操作。若已定义默认更新失败操作,该操作将覆盖为对象设置的任何特定更新失败操作。
创建于NX7.5.0。
许可要求:无
| object | 更新失败的对象 |
| failureAction | 更新失败操作 |
| void NXOpen::Update::SetUpdateLock | ( | bool | lock | ) |
设置更新锁以锁定或解锁更新。 锁定更新后,模型更新将被锁定,直到解锁更新。请注意,锁定更新需格外谨慎, 因为在更新锁定状态下执行操作可能会产生非预期结果或导致意外失败。
如果选择锁定更新,必须确保在操作完成后恢复锁定前的更新锁状态。 可通过NXOpen::Update::GetUpdateLock 获取锁状态。 此外,恢复锁状态后必须调用NXOpen::Update::DoUpdate, 以确保更新锁定期间添加到更新列表中的实体被更新。
创建于NX7.5.5。
许可要求:无
| lock | 锁状态 |
| void NXOpen::Update::StartLocalUpdate | ( | ) |
启动本地更新会话,并为该会话设置更新标记。 这可确保在清除标记前执行下一次更新时,仅更新自设置标记以来添加到更新列表中的实体。 如需执行更新,请使用NXOpen::Update::DoUpdate。 如需清除标记,请使用NXOpen::Update::EndLocalUpdate。
注意:
创建于NX7.5.1。
许可要求:无
| tag_t NXOpen::Update::Tag | ( | ) | const |
返回此对象的标识。
| void NXOpen::Update::UndelayObjectUpdate | ( | NXOpen::TaggedObject * | objectToUpdate | ) |
取消对象的延迟更新
创建于NX7.5.3。
许可要求:无
| objectToUpdate | 要取消延迟更新的对象 |
| void NXOpen::Update::UpdateAllLinkedPartModulesInPart | ( | NXOpen::Part * | partTag, |
| NXOpen::Session::UndoMarkId | undoMarkId ) |
更新部件中所有关联部件模块
创建于NX10.0.0。
许可要求 : usr_defined_features ("用户自定义特征")
| partTag | 部件标识 |
| undoMarkId | 若更新出错,系统将回滚到此撤销标记 |
| void NXOpen::Update::UpdateAllProductInterfaceInPart | ( | NXOpen::Part * | partTag, |
| NXOpen::Session::UndoMarkId | undoMarkId ) |
更新所有过期的产品接口
创建于NX11.0.1。
许可要求 : 无
| partTag | 部件标识 |
| undoMarkId | 若更新出错,系统将回滚到此撤销标记 |